【发布时间】:2022-10-01 08:37:30
【问题描述】:
对 Python 和一般编码非常陌生,所以请随意大笑。我想使用以下格式的txt文件(dict),第一列中的基因和序列区域(起始位置结束位置)
ORFB 21563 25384
ORF3a 25393 26220
ORF2a 26245 26472
ORF10 29558 29674
S 21563 25384
E 26245 26472
从 Genbank (GENE.fasta.txt) 读取一个 FASTA DNA 文件,这样输出将是基因名称,然后是每个基因的开始和停止之间的序列。
我尝试了以下...没有运气。我真的很想学习,而不仅仅是获得代码。任何帮助是极大的赞赏。
with open(\'dict.txt\') as f:
ranges = {ID: (int(start), int(stop)) for ID, start, stop in map(lambda s: s.strip().split(), f)}
from Bio import SeqIO
with open (\'GENE.fasta.txt\') as handle:
out = [r[slice(*ranges[r.id])] for r in SeqIO.parse(handle, \'fasta\')]
with open(\'output.fasta\', \'w\') as handle:
SeqIO.write(out, handle, \'fasta\')
-
“没有运气”是什么意思?乍一看,您的代码看起来应该可以正常工作
-
对于那个很抱歉。我一直收到 KeyError: \'MN908947.3\' FASTA 文件是 MN908947.3 严重急性呼吸综合征冠状病毒 2 分离株武汉-Hu-1,全基因组
标签: python bioinformatics fasta dna-sequence