我有一份关于核苷酸序列的FASTA文件。我需要把它们翻译成蛋白质,但要考虑到3个阅读框(即+1'ATG',+2'TG',+3'G')。如果阅读框是+1,这个使用BioPython的简单代码可以完美地完成任务。但对于剩下的两个,它给出了不同的翻译。有没有办法在BioPython中指定阅读框架?在
输入文件
>contig20
TGGATCGGCGAGACCGACTCCGAGCGCGCCGACGTCGCCAAGGGATGGGCGTCCCTCCAGGTAAACCAACCCT
CTTCCCATCAAATTCTTTTTACCATGCAATATAGTCGTCGGTGTCGATCACTGTCATGCATATGGATTGGATT
AAACATGTCGCGGTCTCGTCGTTGCACGTTTCTTTCTTGCTTAACCACCTACCAATAGCAGCTGGTTGTAGCT
AGGTCGCTGCTGGGGATTGAAATCTTCAGCTTTAAGATGACAGCGACGACGCCATGGTCGGTCGCCCGGTCGT
GATCACCTACTCCAATTTACTGGAAAAATGATGATTTGTAAACGTGCATGCATGTTCCTTCAACCTTTTGTTA
所需的输出文件
^{pr2}$脚本
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")
你就不能这么做吗
会产生
^{pr2}$相关问题 更多 >
编程相关推荐