1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
#!/usr/bin/python3
"""
Read a maf and print the text as a fasta file.
usage: %prog < maf > fasta
"""
import sys
from bx.align import maf
def __main__():
maf_reader = maf.Reader(sys.stdin)
# Confusing since maf_to_concat_fasta takes names.
# if len( sys.argv ) > 1:
# comps = map( int, sys.argv[1:] )
# else:
# comps = None
comps = None
for i, m in enumerate(maf_reader):
if comps:
l = [m.components[i] for i in comps]
else:
l = m.components
for c in l:
print(">%s:%d-%d" % (c.src, c.start, c.end))
print(c.text)
def print_n(s, n, f=sys.stdout):
p = 0
while p < len(s):
print(s[p : min(p + n, len(s))], file=f)
p += n
if __name__ == "__main__":
__main__()
|