Mercurial > repos > triasteran > ribogalaxy_umi_processing
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(): |