diff mytools/seqshuffle.py @ 7:f0dc65e7f6c0

Uploaded
author xuebing
date Fri, 09 Mar 2012 19:59:07 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mytools/seqshuffle.py	Fri Mar 09 19:59:07 2012 -0500
@@ -0,0 +1,49 @@
+import sys
+
+from altschulEriksonDinuclShuffle import *
+            
+def readFastaFile(infile,outfile):
+
+    fin = open(infile)
+    out = open(outfile,'w')
+    
+    currSeq=''
+    currSeqname=None
+    for line in fin:
+        if '>' in line:
+            if  currSeqname !=None:
+                out.write(currSeqname+dinuclShuffle(currSeq)+'\n')
+                currSeqname=None
+                currSeq=''
+            currSeqname=line
+        else:
+            currSeq=currSeq+line.strip().upper()
+
+    if currSeqname!=None:
+        out.write(currSeqname+dinuclShuffle(currSeq)+'\n')
+    
+    fin.close()
+    out.close()
+
+def readrawseq(infile,outfile):
+    '''
+    each line is a sequence
+    '''
+    fin = open(infile)
+    out = open(outfile,'w')
+    for line in fin:
+        out.write(dinuclShuffle(line.strip().upper())+'\n')
+    fin.close()
+    out.close()
+    
+def main():
+    seqfile = sys.argv[1]
+    outfile = sys.argv[2]
+    fasta = sys.argv[3]
+
+    if fasta == 'fasta':
+        readFastaFile(seqfile,outfile)
+    else:
+        readrawseq(seqfile,outfile)
+
+main()