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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
#!/usr/bin/python3
import sys
import os
import subprocess
from parse_read import *
from parse_alignment import *
from parse_qv import *
#filename = sys.argv[1]
#readarg = sys.argv[2]
def get_reads(filename, readlist):
stream = subprocess.Popen(["DBshow", filename] + list(map(str,readlist)),
stdout=subprocess.PIPE,bufsize=1)
reads = parse_read(stream.stdout) # generator
return reads
def get_QV(filename, readlist):
stream = subprocess.Popen(["DBdump", filename, '-i'] + list(map(str,readlist)),
stdout=subprocess.PIPE,bufsize=1)
qv = parse_qv(stream.stdout) # generator
return qv
def get_alignments(filename, readlist):
stream = subprocess.Popen(["LAshow", filename,filename]+ list(map(str,readlist)),
stdout=subprocess.PIPE,bufsize=1)
alignments = parse_alignment(stream.stdout) # generator
return alignments
def get_alignments2(filename, alignmentname, readlist):
stream = subprocess.Popen(["LA4Awesome", filename, filename, alignmentname]+ list(map(str,readlist)),
stdout=subprocess.PIPE,bufsize=1)
alignments = parse_alignment2(stream.stdout) # generator
return alignments
def get_alignments_mapping(filename, ref, alignmentname, readlist):
stream = subprocess.Popen(["LA4Awesome", filename, ref, alignmentname]+ list(map(str,readlist))+ ['-F'],
stdout=subprocess.PIPE,bufsize=1)
alignments = parse_alignment2(stream.stdout) # generator
return alignments
def get_alignments_mapping2(ref, filename, alignmentname):
print(ref,filename,alignmentname)
stream = subprocess.Popen(["LA4Awesome", ref, filename, alignmentname],
stdout=subprocess.PIPE,bufsize=1)
alignments = parse_alignment2(stream.stdout) # generator
return alignments
def get_alignments_mapping3(ref, filename, alignmentname, contig_no):
print(ref,filename,alignmentname)
stream = subprocess.Popen(["LA4Awesome", ref, filename, alignmentname, contig_no],
stdout=subprocess.PIPE,bufsize=1)
alignments = parse_alignment2(stream.stdout) # generator
return alignments
def get_all_reads(filename):
stream = subprocess.Popen(["DBshow", filename],
stdout=subprocess.PIPE,bufsize=1)
reads = parse_read(stream.stdout) # generator
return reads
def get_all_alignments(filename):
stream = subprocess.Popen(["LAshow", filename, filename ],
stdout=subprocess.PIPE,bufsize=1)
alignments = parse_alignment(stream.stdout) # generator
return alignments
def get_all_alignments2(filename, alignmentname):
stream = subprocess.Popen(["LA4Awesome", filename, filename, alignmentname ],
stdout=subprocess.PIPE,bufsize=1)
alignments = parse_alignment2(stream.stdout) # generator
return alignments
def get_all_reads_in_alignment_with_one(filename,read):
this_read = get_reads(filename,[read])
alignments = list(get_alignments(filename,[read]))
readlist = [x[2] for x in alignments]
print(readlist)
other_reads = get_reads(filename,readlist)
return [list(this_read), list(other_reads), alignments] # note that this is not a generator
# test
#for item in get_reads('G',[1]):
# print item
#for item in get_alignments('G',[1]):
# print item
#for item in get_alignments2('G','G.1.las',[1]):
# print item
#for item in get_all_reads_in_alignment_with_one('G',1):
# print item
#for item in get_reads('G', [1,2,3]):
# print item
|