我試圖創建一個python程序,它讀取fasta文件「seqs.fa」 ,並讓程序按名稱排列順序。按照FASTA文件的順序排序,按python程序
的FASTA文件看起來是這樣的:
>seqA - human
GCTGACGTGGTGAAGTCAC
>seqC - gorilla
GATGACAA
GATGAAGTCAG
>seqB - chimp
GATGACATGGTGAAGTAAC
我的計劃是這樣的:
import sys
inFile = open(sys.argv[1], 'r')
a = inFile.readlines()
a.sort()
seq = ''.join(a[0:])
seq = seq.replace('\n', "\n")
print seq
預期的結果:
>seqA - human
GCTGACGTGGTGAAGTCAC
>seqB - chimp
GATGACATGGTGAAGTAAC
>seqC - gorilla
GATGACAAGATGAAGTCAG
我的結果:
>seqA - human
>seqB - chimp
>seqC - gorilla
GATGACAA
GATGAAGTCAG
GATGACATGGTGAAGTAAC
GCTGACGTGGTGAAGTCAC
最後四行是大猩猩,黑猩猩和人類序列,大猩猩序列分成前兩行。
任何人都可以給我一些關於如何排序或解決問題的方法?
我有一些提示。首先,使用複製和粘貼,而不是張貼屏幕截圖。其次,打開一個交互式的Python解釋器 - 如果你不知道如何,[見這裏](http://docs.python.org/tutorial/interpreter.html)。現在依次執行這些行中的每一行。通過輸入「print a」,「a.sort()」,「打印a」等來查看每個結果。第三,想想爲什麼'sort'正在做它正在做的事情。然後考慮一下這個文件提供的信息,使你能夠做出不同的事情。 – senderle
@senderle您的評論讓我在問題上尋找[家庭作業]標籤:) –