<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>

CC BY-SA 4.0
2018-10-01T10:55:58.733Z
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.
llrs
CC BY-SA 4.0
2018-10-01T12:23:21.597Z
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?
kcm
CC BY-SA 4.0
2018-10-01T12:29:30.663Z
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.
llrs
CC BY-SA 4.0
2018-10-01T17:24:27.947Z
okay let me try to get around if i can do it myself ..
kcm
CC BY-SA 4.0
2018-10-01T18:17:16.513Z
That's the spirit! Don't hesitate to come back if you have problems, or meanwhile perhaps I manage to answer it.
llrs
CC BY-SA 4.0
2018-10-02T04:38:57.300Z
partially managed to do it through  a R library..i will update my question and you can see and suggest..
kcm
CC BY-SA 4.0
2018-10-02T07:04:32.633Z
How are you reading this file? It seems like tab separated, but you seem to relay on cSplit to split by columns
llrs
<r>
Circos plot issue
# 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
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

