Mercurial > repos > iuc > circos
annotate gc_skew.py @ 3:fd59d783248a draft
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit f04fe62fb7dbad75e597da8cd674cfe36ed3d80a"
author | iuc |
---|---|
date | Mon, 02 Dec 2019 08:14:29 -0500 |
parents | 014a21767ac4 |
children |
rev | line source |
---|---|
2
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
1 import sys |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
2 |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
3 import pyBigWig |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
4 from Bio import SeqIO |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
5 from Bio import SeqUtils |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
6 |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
7 |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
8 span = int(sys.argv[2]) |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
9 bw = pyBigWig.open(sys.argv[3], "w") |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
10 |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
11 # Prepare header separately because ugh |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
12 data = [] |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
13 for rec in SeqIO.parse(sys.argv[1], "fasta"): |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
14 data.append((rec.id, len(rec))) |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
15 bw.addHeader(data) |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
16 |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
17 for rec in SeqIO.parse(sys.argv[1], "fasta"): |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
18 gc = SeqUtils.GC_skew(rec.seq, span) |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
19 |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
20 bw.addEntries(rec.id, 0, values=list(gc), span=span, step=span) |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
21 |
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
iuc
parents:
diff
changeset
|
22 bw.close() |