我试图创建一个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您的评论让我在问题上寻找[家庭作业]标签:) –