gpt4 book ai didi

python - 考虑开放阅读框将 CDS 的 FASTA 文件翻译为蛋白质

转载 作者:太空宇宙 更新时间:2023-11-03 18:32:25 27 4
gpt4 key购买 nike

我有一个包含核苷酸序列的 FASTA 文件。我需要将它们翻译成蛋白质,但要考虑到3个阅读框(即+1'ATG',+2'TG',+3'G')。如果阅读框架为 +1,这个使用 BioPython 的简单代码就可以完美完成工作。但对于其余两个,它给出了不同的翻译。有没有办法在 BioPython 中指定阅读框架?

输入文件

>contig20
TGGATCGGCGAGACCGACTCCGAGCGCGCCGACGTCGCCAAGGGATGGGCGTCCCTCCAGGTAAACCAACCCT
CTTCCCATCAAATTCTTTTTACCATGCAATATAGTCGTCGGTGTCGATCACTGTCATGCATATGGATTGGATT
AAACATGTCGCGGTCTCGTCGTTGCACGTTTCTTTCTTGCTTAACCACCTACCAATAGCAGCTGGTTGTAGCT
AGGTCGCTGCTGGGGATTGAAATCTTCAGCTTTAAGATGACAGCGACGACGCCATGGTCGGTCGCCCGGTCGT
GATCACCTACTCCAATTTACTGGAAAAATGATGATTTGTAAACGTGCATGCATGTTCCTTCAACCTTTTGTTA

所需的输出文件

>contig20 Translated - Frame 3
DRRDRLRARRRRQGMGVPPGKPTLFPSNSFYHAI*SSVSITVMHMDWIKHVAVSSLHVSFLLNHLPIAAG
CS*VAAGD*NLQL*DDSDDAMVGRPVVITYSNLLEK**FVNVHACSFNLLL

脚本

from Bio.SeqRecord import SeqRecord
def make_protein_record(nuc_record):
"""Returns a new SeqRecord with the translated sequence (default table)."""
return SeqRecord(seq = nuc_record.seq.translate(), \
id = "trans_" + nuc_record.id, \
description = "translation of CDS, using default table")

from Bio import SeqIO
proteins = (make_protein_record(nuc_rec) for nuc_rec in \
SeqIO.parse("file.fasta", "fasta"))
SeqIO.write(proteins, "translations.fasta", "fasta")

最佳答案

你不能简单地做

from Bio.Seq import translate

contig = 'TGGATCGGCGAGACCGACTCCGAGCGCGCCGACGTCGCCAAGGGATGGGCGTCCCTCCAGGTAAACCAACCCT'
print 'ORF 1'
print translate(contig)
print 'ORF 2'
print translate(contig[1:])
print 'ORF 3'
print translate(contig[2:])

这会产生

'ORF 1'
'WIGETDSERADVAKGWASLQVNQP'
'ORF 2'
'GSARPTPSAPTSPRDGRPSR*TNP'
'ORF 3'
'DRRDRLRARRRRQGMGVPPGKPT'

关于python - 考虑开放阅读框将 CDS 的 FASTA 文件翻译为蛋白质,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22180101/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com