Mercurial > repos > davidvanzessen > sff_extract_demultiplex
comparison trim.py @ 0:cb08a27e5fc2 draft
Uploaded
author | davidvanzessen |
---|---|
date | Mon, 29 Aug 2016 05:44:57 -0400 |
parents | |
children | 423d320bc1ba |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:cb08a27e5fc2 |
---|---|
1 import argparse | |
2 | |
3 #docs.python.org/dev/library/argparse.html | |
4 parser = argparse.ArgumentParser() | |
5 parser.add_argument("--input", help="Input fasta") | |
6 parser.add_argument("--output", help="Output fasta") | |
7 parser.add_argument("--start", help="How many nucleotides to trim from the start", type=int) | |
8 parser.add_argument("--end", help="How many nucleotides to trim from the end", type=int) | |
9 | |
10 args = parser.parse_args() | |
11 start = int(args.start) | |
12 end = int(args.end) | |
13 | |
14 print args.input | |
15 print args.output | |
16 print start | |
17 print end | |
18 | |
19 if end <= 0 and start <= 0: | |
20 import shutil | |
21 shutil.copy(args.input, args.output) | |
22 import sys | |
23 sys.exit() | |
24 | |
25 | |
26 | |
27 currentSeq = "" | |
28 currentId = "" | |
29 | |
30 if end is 0: | |
31 with open(args.input, 'r') as i: | |
32 with open(args.output, 'w') as o: | |
33 for line in i.readlines(): | |
34 if line[0] is ">": | |
35 currentSeq = currentSeq[start:] | |
36 if currentSeq is not "" and currentId is not "": | |
37 o.write(currentId) | |
38 o.write(currentSeq + "\n") | |
39 currentId = line | |
40 currentSeq = "" | |
41 else: | |
42 currentSeq += line.rstrip() | |
43 o.write(currentId) | |
44 o.write(currentSeq[start:] + "\n") | |
45 else: | |
46 with open(args.input, 'r') as i: | |
47 with open(args.output, 'w') as o: | |
48 for line in i.readlines(): | |
49 if line[0] is ">": | |
50 currentSeq = currentSeq[start:-end] | |
51 if currentSeq is not "" and currentId is not "": | |
52 o.write(currentId) | |
53 o.write(currentSeq + "\n") | |
54 currentId = line | |
55 currentSeq = "" | |
56 else: | |
57 currentSeq += line.rstrip() | |
58 o.write(currentId) | |
59 o.write(currentSeq[start:-end] + "\n") |