comparison UMI_riboseq_processing/UMI.py @ 7:be394fb47250 draft

Uploaded
author triasteran
date Tue, 21 Jun 2022 09:50:49 +0000
parents 1ce4b52212c4
children 701804f5ad4b
comparison
equal deleted inserted replaced
6:1ce4b52212c4 7:be394fb47250
25 #lines = record.format('fastq').split('\n') # list of each record: id, seq, '+', quality 25 #lines = record.format('fastq').split('\n') # list of each record: id, seq, '+', quality
26 header = lines[0] 26 header = lines[0]
27 seq = lines[1] 27 seq = lines[1]
28 sep = lines[2] 28 sep = lines[2]
29 qual = lines[3] 29 qual = lines[3]
30 trimmed_seq = seq[2:-6]+"\n" # fooprint + barcode 30 # check if header is OK
31 UMI = seq[0:2]+seq.rstrip()[-5:] #7nt in total; 5'NN and last 3'NNNNN 31 if (header.startswith('@')):
32 split_header = header.split(" ") 32 trimmed_seq = seq[2:-6]+"\n" # fooprint + barcode
33 new_header = split_header[0]+"_"+UMI+" "+split_header[1] 33 UMI = seq[0:2]+seq.rstrip()[-5:] #7nt in total; 5'NN and last 3'NNNNN
34 if qual[-1:] == "\n": 34 split_header = header.split(" ")
35 new_qual = qual[2:-6]+"\n" 35 print (split_header)
36 else: 36 new_header = split_header[0]+"_"+UMI+" "+split_header[1]
37 new_qual = qual[2:-6] 37 if qual[-1:] == "\n":
38 output.write(new_header) 38 new_qual = qual[2:-6]+"\n"
39 output.write(trimmed_seq) 39 else:
40 output.write(sep) 40 new_qual = qual[2:-6]
41 output.write(new_qual) 41 output.write(new_header)
42 output.write(trimmed_seq)
43 output.write(sep)
44 output.write(new_qual)
42 45
43 output.close() 46 output.close()
44 47
45 48
46 def main(): 49 def main():