annotate trim.py @ 4:8e3d95d7f342 draft

Uploaded
author davidvanzessen
date Mon, 07 Jul 2014 05:49:20 -0400
parents 79be0752711d
children 35b55f1c0c59
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
79be0752711d Uploaded
davidvanzessen
parents:
diff changeset
1 import argparse
79be0752711d Uploaded
davidvanzessen
parents:
diff changeset
2
79be0752711d Uploaded
davidvanzessen
parents:
diff changeset
3 #docs.python.org/dev/library/argparse.html
79be0752711d Uploaded
davidvanzessen
parents:
diff changeset
4 parser = argparse.ArgumentParser()
4
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
5 parser.add_argument("--input", help="Input fasta")
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
6 parser.add_argument("--output", help="Output fasta")
3
79be0752711d Uploaded
davidvanzessen
parents:
diff changeset
7 parser.add_argument("--start", help="How many nucleotides to trim from the start", type=int)
79be0752711d Uploaded
davidvanzessen
parents:
diff changeset
8 parser.add_argument("--end", help="How many nucleotides to trim from the end", type=int)
79be0752711d Uploaded
davidvanzessen
parents:
diff changeset
9
79be0752711d Uploaded
davidvanzessen
parents:
diff changeset
10 args = parser.parse_args()
79be0752711d Uploaded
davidvanzessen
parents:
diff changeset
11 start = int(args.start)
79be0752711d Uploaded
davidvanzessen
parents:
diff changeset
12 end = int(args.end)
79be0752711d Uploaded
davidvanzessen
parents:
diff changeset
13
4
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
14 if end <= 0 and start <= 0:
3
79be0752711d Uploaded
davidvanzessen
parents:
diff changeset
15 import shutil
79be0752711d Uploaded
davidvanzessen
parents:
diff changeset
16 shutil.copy(args.input, args.output)
79be0752711d Uploaded
davidvanzessen
parents:
diff changeset
17 import sys
79be0752711d Uploaded
davidvanzessen
parents:
diff changeset
18 sys.exit()
4
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
19
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
20
3
79be0752711d Uploaded
davidvanzessen
parents:
diff changeset
21
79be0752711d Uploaded
davidvanzessen
parents:
diff changeset
22 currentSeq = ""
79be0752711d Uploaded
davidvanzessen
parents:
diff changeset
23 currentId = ""
79be0752711d Uploaded
davidvanzessen
parents:
diff changeset
24
4
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
25 if end is 0:
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
26 with open(args.input, 'r') as i:
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
27 with open(args.output, 'w') as o:
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
28 for line in i.readlines():
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
29 if line[0] is ">":
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
30 currentSeq = currentSeq[start:]
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
31 if currentSeq is not "" and currentId is not "":
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
32 o.write(currentId)
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
33 o.write(currentSeq + "\n")
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
34 currentId = line
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
35 currentSeq = ""
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
36 else:
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
37 currentSeq += line.rstrip()
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
38 o.write(currentId)
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
39 o.write(currentSeq[start:] + "\n")
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
40 else:
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
41 with open(args.input, 'r') as i:
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
42 with open(args.output, 'w') as o:
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
43 for line in i.readlines():
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
44 if line[0] is ">":
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
45 currentSeq = currentSeq[start:-end]
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
46 if currentSeq is not "" and currentId is not "":
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
47 o.write(currentId)
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
48 o.write(currentSeq + "\n")
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
49 currentId = line
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
50 currentSeq = ""
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
51 else:
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
52 currentSeq += line.rstrip()
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
53 o.write(currentId)
8e3d95d7f342 Uploaded
davidvanzessen
parents: 3
diff changeset
54 o.write(currentSeq[start:-end] + "\n")