Mercurial > repos > xuebing > sharplab_seq_motif
comparison mytools/seqshuffle.py @ 0:39217fa39ff2
Uploaded
author | xuebing |
---|---|
date | Tue, 13 Mar 2012 23:34:52 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:39217fa39ff2 |
---|---|
1 import sys | |
2 | |
3 from altschulEriksonDinuclShuffle import * | |
4 | |
5 def readFastaFile(infile,outfile): | |
6 | |
7 fin = open(infile) | |
8 out = open(outfile,'w') | |
9 | |
10 currSeq='' | |
11 currSeqname=None | |
12 for line in fin: | |
13 if '>' in line: | |
14 if currSeqname !=None: | |
15 out.write(currSeqname+dinuclShuffle(currSeq)+'\n') | |
16 currSeqname=None | |
17 currSeq='' | |
18 currSeqname=line | |
19 else: | |
20 currSeq=currSeq+line.strip().upper() | |
21 | |
22 if currSeqname!=None: | |
23 out.write(currSeqname+dinuclShuffle(currSeq)+'\n') | |
24 | |
25 fin.close() | |
26 out.close() | |
27 | |
28 def readrawseq(infile,outfile): | |
29 ''' | |
30 each line is a sequence | |
31 ''' | |
32 fin = open(infile) | |
33 out = open(outfile,'w') | |
34 for line in fin: | |
35 out.write(dinuclShuffle(line.strip().upper())+'\n') | |
36 fin.close() | |
37 out.close() | |
38 | |
39 def main(): | |
40 seqfile = sys.argv[1] | |
41 outfile = sys.argv[2] | |
42 fasta = sys.argv[3] | |
43 | |
44 if fasta == 'fasta': | |
45 readFastaFile(seqfile,outfile) | |
46 else: | |
47 readrawseq(seqfile,outfile) | |
48 | |
49 main() |