view gc_skew.py @ 5:a64dc31ab7f2 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 39a0176dab234a07118a79ac44ca7d79469d3b91"
author iuc
date Thu, 23 Jan 2020 07:27:22 -0500
parents 014a21767ac4
children
line wrap: on
line source

import sys

import pyBigWig
from Bio import SeqIO
from Bio import SeqUtils


span = int(sys.argv[2])
bw = pyBigWig.open(sys.argv[3], "w")

# Prepare header separately because ugh
data = []
for rec in SeqIO.parse(sys.argv[1], "fasta"):
    data.append((rec.id, len(rec)))
bw.addHeader(data)

for rec in SeqIO.parse(sys.argv[1], "fasta"):
    gc = SeqUtils.GC_skew(rec.seq, span)

    bw.addEntries(rec.id, 0, values=list(gc), span=span, step=span)

bw.close()