我試圖組織多個序列的文件。爲此,我試圖將名稱添加到列表中,並將序列添加到與名稱列表並行的單獨列表中。我想出瞭如何將名稱添加到列表中,但我無法弄清楚如何將隨後的序列添加到單獨的列表中。我嘗試將序列行附加到空字符串中,但它將所有序列的所有行附加到單個字符串中。從FASTA文件添加多個序列到Python中的列表
所有的名字開始與「>」
def Name_Organizer(FASTA,output):
import os
import re
in_file=open(FASTA,'r')
dir,file=os.path.split(FASTA)
temp = os.path.join(dir,output)
out_file=open(temp,'w')
data=''
name_list=[]
for line in in_file:
line=line.strip()
for i in line:
if i=='>':
name_list.append(line)
break
else:
line=line.upper()
if all([k==k.upper() for k in line]):
data=data+line
print data
我如何序列添加到列表中的一組字符串?
輸入文件看起來像這樣
它的工作原理組織吧!我只是困惑的線 「如果數據:」 字符串的名稱如何可以是一個if語句? – 2012-03-04 18:53:45
在Python中,空字符串是假值,非空字符串是真值。因此'如果數據:'相當於「如果數據不爲空」 – Amber 2012-03-04 18:56:37
@ draconisthe0ry,琥珀色,我覺得我應該提一下,像這樣遍歷每一行的每一個字符都有一些奇怪的東西。這不是沒有必要嗎?我錯過了什麼嗎? – senderle 2012-03-04 19:01:49