Body: <p>I have taken out the data like chromosome number, start, and end coordinate then gene name but the circos need the data in a specific format as given in their tutorial <a href="http://circos.ca/documentation/tutorials/quick_guide/histograms/" rel="nofollow noreferrer">circos</a></p>
  <p>So far I have my data I have collected is as such
  Symbol  Chr Start   End</p>
  <pre><code>RBM11   hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21 14216130;14216145;14216153;14216154;14216178;14219553;14219553;14219563;14219563;14221097;14221097;14221097;14221097;14221097;14224375;14224438;14224438;14224438;14224438;14226859;14226880;14226880;14226880;14226880 14216282;14216282;14216282;14216282;14216282;14219725;14219725;14219725;14219725;14221453;14221169;14221169;14221169;14221169;14224537;14224537;14224537;14224537;14224537;14227054;14228372;14227384;14228173;14228372
  ELAVL4  hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1 50048014;50103910;50105690;50106292;50108933;50108966;50109626;50109706;50109816;50141772;50144953;50144957;50144957;50144957;50144957;50144957;50144957;50144957;50144957;50144957;50177089;50177089;50177089;50177089;50177089;50177089;50177089;50177089;50177130;50179544;50193765;50193765;50193765;50193765;50193765;50193765;50193765;50193765;50195561;50195561;50195561;50195561;50195561;50195561;50195561;50195561;50197429;50197429;50197429;50197429;50197429;50197429;50197429;50197429;50200809;50200809;50200851;50200851;50200851;50200851;50200851    50048182;50104000;50105950;50106393;50109198;50109198;50109964;50109964;50109964;50141858;50145197;50145178;50145197;50145197;50145197;50145197;50145197;50145184;50145197;50145197;50177192;50177192;50177192;50177192;50177192;50177192;50177192;50177192;50177192;50181300;50193918;50193918;50193918;50193918;50193918;50193918;50193918;50193918;50195786;50195786;50195786;50195786;50195786;50195786;50195786;50195786;50197585;50197467;50197467;50197467;50197467;50197467;50197467;50197467;50203054;50201402;50202294;50203786;50201399;50203770;50201868
  PTRF    hs17;hs17   42402452;42422627   42405388;42423517
  </code></pre>
  <p>So i have to make the the data as such</p>
  <h1>chr start end value [options]</h1>
  <pre><code>...
  hs3 196000000 197999999 71.0000
  hs3 198000000 199999999 57.0000
  hs4 0 1999999 28.0000
  hs4 2000000 3999999 40.0000
  hs4 4000000 5999999 59.0000
  </code></pre>
  <p>As of now i have multiple</p>
  <pre><code>RBM11   hs21;hs21;hs21;hs21;hs21;hs21
  </code></pre>
  <p>in for a single gene so how do i make it one ?or</p>
  <pre><code>RBM11   hs21
  </code></pre>
  <p>Any help or suggestion would be highly appreciated</p>
  <p>I tried:</p>
  <pre><code> sed -r ':a; s/\b([[:alnum:]]+)\b(.*)\b\1\b/\1\2/g; ta; s/(, )+/, /g; s/, *$//'
  </code></pre>
  <p>Updated answer so far</p>
  <pre><code>  library(splitstackshape)
  df &lt;- LEUKEMIA_CIRCOS_gene
  Chr &lt;-unique(cSplit(df, &quot;Chr&quot;, sep = ';', direction = &quot;long&quot;))
  </code></pre>
  <p>this gives me this output</p>
  <pre><code>RBM11
  hs21
  14216130;14216145;14216153;14216154;14216178;14219553;14219553;14219563;14219563;14221097;14221097;14221097;14221097;14221097;14224375;14224438;14224438;14224438;14224438;14226859;14226880;14226880;14226880;14226880
  14216282;14216282;14216282;14216282;14216282;14219725;14219725;14219725;14219725;14221453;14221169;14221169;14221169;14221169;14224537;14224537;14224537;14224537;14224537;14227054;14228372;14227384;14228173;14228372
  2
  ELAVL4
  hs1
  50048014;50103910;50105690;50106292;50108933;50108966;50109626;50109706;50109816;50141772;50144953;50144957;50144957;50144957;50144957;50144957;50144957;50144957;50144957;50144957;50177089;50177089;50177089;50177089;50177089;50177089;50177089;50177089;50177130;50179544;50193765;50193765;50193765;50193765;50193765;50193765;50193765;50193765;50195561;50195561;50195561;50195561;50195561;50195561;50195561;50195561;50197429;50197429;50197429;50197429;50197429;50197429;50197429;50197429;50200809;50200809;50200851;50200851;50200851;50200851;50200851
  50048182;50104000;50105950;50106393;50109198;50109198;50109964;50109964;50109964;50141858;50145197;50145178;50145197;50145197;50145197;50145197;50145197;50145184;50145197;50145197;50177192;50177192;50177192;50177192;50177192;50177192;50177192;50177192;50177192;50181300;50193918;50193918;50193918;50193918;50193918;50193918;50193918;50193918;50195786;50195786;50195786;50195786;50195786;50195786;50195786;50195786;50197585;50197467;50197467;50197467;50197467;50197467;50197467;50197467;50203054;50201402;50202294;50203786;50201399;50203770;50201868
  </code></pre>
  <p>my chromosome name are sorted out but the start and end remains because if I make concatenate the column I want to separate I get a really long list</p>
  <pre><code>    Start &lt;- unique(cSplit(df,c(&quot;Chr&quot;,&quot;Start&quot;,&quot;End&quot;),sep = ';', direction = &quot;long&quot;))
  
  RBM11
  hs21
  14216130
  14216282
  2
  RBM11
  hs21
  14216145
  14216282
  3
  RBM11
  hs21
  14216153
  14216282
  4
  RBM11
  hs21
  14216154
  14216282
  5
  RBM11
  hs21
  14216178
  14216282
  6
  RBM11
  hs21
  14219553
  14219725
  7
  RBM11
  hs21
  14219563
  14219725
  8
  RBM11
  hs21
  14221097
  14221453
  </code></pre>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-10-01T10:55:58.733Z
Comments.Text: Thanks for providing a nice set of data to test with. However, could you tell what have you tried ans why it didn't satisfy it? We can then avoid suggesting the same route or improve your existing path.
Comments.UserDisplayName: llrs
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-10-01T12:23:21.597Z
Comments.Text: I tried something like this from a solution in stack  sed -r ':a; s/\b([[:alnum:]]+)\b(.*)\b\1\b/\1\2/g; ta; s/(, )+/, /g; s/, *$//'  but i see trails of hs20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;, after the hs20 as an example how to resolve that?
Comments.UserDisplayName: kcm
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-10-01T12:29:30.663Z
Comments.Text: Well you seem to try to use a single regexp to solve a problem that needs to divide a line into several ones. I would count the ; and then pair each value of each column into a new line.
Comments.UserDisplayName: llrs
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-10-01T17:24:27.947Z
Comments.Text: okay let me try to get around if i can do it myself ..
Comments.UserDisplayName: kcm
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-10-01T18:17:16.513Z
Comments.Text: That's the spirit! Don't hesitate to come back if you have problems, or meanwhile perhaps I manage to answer it.
Comments.UserDisplayName: llrs
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-10-02T04:38:57.300Z
Comments.Text: partially managed to do it through  a R library..i will update my question and you can see and suggest..
Comments.UserDisplayName: kcm
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-10-02T07:04:32.633Z
Comments.Text: How are you reading this file? It seems like tab separated, but you seem to relay on cSplit to split by columns
Comments.UserDisplayName: llrs
Tags: <r>
Title: Circos plot issue
ThreadText: # Circos plot issue
  
  (Asked by: username_0 on 2018-10-01)
  
  I have taken out the data like chromosome number, start, and end coordinate then gene name but the circos need the data in a specific format as given in their tutorial [circos](http://circos.ca/documentation/tutorials/quick_guide/histograms/)
  
  So far I have my data I have collected is as such
  Symbol Chr Start End
  
  ```
  RBM11   hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21;hs21 14216130;14216145;14216153;14216154;14216178;14219553;14219553;14219563;14219563;14221097;14221097;14221097;14221097;14221097;14224375;14224438;14224438;14224438;14224438;14226859;14226880;14226880;14226880;14226880 14216282;14216282;14216282;14216282;14216282;14219725;14219725;14219725;14219725;14221453;14221169;14221169;14221169;14221169;14224537;14224537;14224537;14224537;14224537;14227054;14228372;14227384;14228173;14228372
  ELAVL4  hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1;hs1 50048014;50103910;50105690;50106292;50108933;50108966;50109626;50109706;50109816;50141772;50144953;50144957;50144957;50144957;50144957;50144957;50144957;50144957;50144957;50144957;50177089;50177089;50177089;50177089;50177089;50177089;50177089;50177089;50177130;50179544;50193765;50193765;50193765;50193765;50193765;50193765;50193765;50193765;50195561;50195561;50195561;50195561;50195561;50195561;50195561;50195561;50197429;50197429;50197429;50197429;50197429;50197429;50197429;50197429;50200809;50200809;50200851;50200851;50200851;50200851;50200851    50048182;50104000;50105950;50106393;50109198;50109198;50109964;50109964;50109964;50141858;50145197;50145178;50145197;50145197;50145197;50145197;50145197;50145184;50145197;50145197;50177192;50177192;50177192;50177192;50177192;50177192;50177192;50177192;50177192;50181300;50193918;50193918;50193918;50193918;50193918;50193918;50193918;50193918;50195786;50195786;50195786;50195786;50195786;50195786;50195786;50195786;50197585;50197467;50197467;50197467;50197467;50197467;50197467;50197467;50203054;50201402;50202294;50203786;50201399;50203770;50201868
  PTRF    hs17;hs17   42402452;42422627   42405388;42423517
  
  ```
  
  So i have to make the the data as such
  
  # chr start end value [options]
  
  ```
  ...
  hs3 196000000 197999999 71.0000
  hs3 198000000 199999999 57.0000
  hs4 0 1999999 28.0000
  hs4 2000000 3999999 40.0000
  hs4 4000000 5999999 59.0000
  
  ```
  
  As of now i have multiple
  
  ```
  RBM11   hs21;hs21;hs21;hs21;hs21;hs21
  
  ```
  
  in for a single gene so how do i make it one ?or
  
  ```
  RBM11   hs21
  
  ```
  
  Any help or suggestion would be highly appreciated
  
  I tried:
  
  ```
   sed -r ':a; s/\b([[:alnum:]]+)\b(.*)\b\1\b/\1\2/g; ta; s/(, )+/, /g; s/, *$//'
  
  ```
  
  Updated answer so far
  
  ```
    library(splitstackshape)
  df <- LEUKEMIA_CIRCOS_gene
  Chr <-unique(cSplit(df, "Chr", sep = ';', direction = "long"))
  
  ```
  
  this gives me this output
  
  ```
  RBM11
  hs21
  14216130;14216145;14216153;14216154;14216178;14219553;14219553;14219563;14219563;14221097;14221097;14221097;14221097;14221097;14224375;14224438;14224438;14224438;14224438;14226859;14226880;14226880;14226880;14226880
  14216282;14216282;14216282;14216282;14216282;14219725;14219725;14219725;14219725;14221453;14221169;14221169;14221169;14221169;14224537;14224537;14224537;14224537;14224537;14227054;14228372;14227384;14228173;14228372
  2
  ELAVL4
  hs1
  50048014;50103910;50105690;50106292;50108933;50108966;50109626;50109706;50109816;50141772;50144953;50144957;50144957;50144957;50144957;50144957;50144957;50144957;50144957;50144957;50177089;50177089;50177089;50177089;50177089;50177089;50177089;50177089;50177130;50179544;50193765;50193765;50193765;50193765;50193765;50193765;50193765;50193765;50195561;50195561;50195561;50195561;50195561;50195561;50195561;50195561;50197429;50197429;50197429;50197429;50197429;50197429;50197429;50197429;50200809;50200809;50200851;50200851;50200851;50200851;50200851
  50048182;50104000;50105950;50106393;50109198;50109198;50109964;50109964;50109964;50141858;50145197;50145178;50145197;50145197;50145197;50145197;50145197;50145184;50145197;50145197;50177192;50177192;50177192;50177192;50177192;50177192;50177192;50177192;50177192;50181300;50193918;50193918;50193918;50193918;50193918;50193918;50193918;50193918;50195786;50195786;50195786;50195786;50195786;50195786;50195786;50195786;50197585;50197467;50197467;50197467;50197467;50197467;50197467;50197467;50203054;50201402;50202294;50203786;50201399;50203770;50201868
  
  ```
  
  my chromosome name are sorted out but the start and end remains because if I make concatenate the column I want to separate I get a really long list
  
  ```
      Start <- unique(cSplit(df,c("Chr","Start","End"),sep = ';', direction = "long"))
  
  RBM11
  hs21
  14216130
  14216282
  2
  RBM11
  hs21
  14216145
  14216282
  3
  RBM11
  hs21
  14216153
  14216282
  4
  RBM11
  hs21
  14216154
  14216282
  5
  RBM11
  hs21
  14216178
  14216282
  6
  RBM11
  hs21
  14219553
  14219725
  7
  RBM11
  hs21
  14219563
  14219725
  8
  RBM11
  hs21
  14221097
  14221453
  
  ```
  
  **Tags:** r
  
  > **Comments:**
  > **username_1**: Thanks for providing a nice set of data to test with. However, could you tell what have you tried ans why it didn't satisfy it? We can then avoid suggesting the same route or improve your existing path.  
  > **username_0**: I tried something like this from a solution in stack  sed -r ':a; s/\b([[:alnum:]]+)\b(.*)\b\1\b/\1\2/g; ta; s/(, )+/, /g; s/, *$//'  but i see trails of hs20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;, after the hs20 as an example how to resolve that?  
  > **username_1**: Well you seem to try to use a single regexp to solve a problem that needs to divide a line into several ones. I would count the ; and then pair each value of each column into a new line.  
  > **username_0**: okay let me try to get around if i can do it myself ..  
  > **username_1**: That's the spirit! Don't hesitate to come back if you have problems, or meanwhile perhaps I manage to answer it.  
  > **username_0**: partially managed to do it through  a R library..i will update my question and you can see and suggest..  
  > **username_1**: How are you reading this file? It seems like tab separated, but you seem to relay on cSplit to split by columns  
  
  ---
  
  ## 0 answers
  
  