本篇内容主要讲解“怎么用biopython将cds序列翻译成蛋白序列”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用biopython将cds序列翻译成蛋白序列”吧!
将cds序列翻译成蛋白序列 , 由于不同的物种或者特殊的细胞器(线粒体等)的密码子存在差异,我们不能随便默认的进行翻译,这里的biopython可以根据我们的需要使用不同的密码子进行蛋白翻译,密码子见:
1.普通的密码子翻译,rna翻译成蛋白质
>>> from Bio.Seq import Seq
>>> from Bio.Alphabet import IUPAC
>>> messenger_rna = Seq("AUGGCCAUUGUAAUGGGCCGCUGAAAGGGUGCCCGAUAG", IUPAC.unambiguous_rna)
>>> messenger_rna
Seq('AUGGCCAUUGUAAUGGGCCGCUGAAAGGGUGCCCGAUAG', IUPACUnambiguousRNA())
>>> messenger_rna.translate()
Seq('MAIVMGR*KGAR*', HasStopCodon(IUPACProtein(), '*'))
2. cds序列翻译成蛋白序列
>>> from Bio.Seq import Seq
>>> from Bio.Alphabet import IUPAC
>>> coding_dna = Seq("ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG", IUPAC.unambiguous_dna)
>>> coding_dna
Seq('ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG', IUPACUnambiguousDNA())
>>> coding_dna.translate()
Seq('MAIVMGR*KGAR*', HasStopCodon(IUPACProtein(), '*'))
3.指定密码子翻译成蛋白序列
>>> coding_dna.translate(table="Vertebrate Mitochondrial")
Seq('MAIVMGRWKGAR*', HasStopCodon(IUPACProtein(), '*'))
或者用序号
>>> coding_dna.translate(table=2)
Seq('MAIVMGRWKGAR*', HasStopCodon(IUPACProtein(), '*'))
批量运行示例代码:
from Bio.Seq import Seq
from Bio import SeqIO
from Bio.Alphabet import IUPAC
from Bio.SeqRecord import SeqRecord
import sys, os, argparse, os.path,re,math,time
parser = argparse.ArgumentParser(description='This script is used to translate cds to pep')
#parser.add_argument('-m','--map',help='Please input ref mapped id file',required=True)
parser.add_argument('-f','--fasta',help='Please fasta file',required=True)
parser.add_argument('-o','--out_dir',help='Please input complete out_put directory path',default = os.getcwd(),required=False)
parser.add_argument('-t','--table',type=int,default=1,help=' genetic code :https://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi, default table id 1',required=False)
parser.add_argument('-n','--name',default ='pep',required=False,help='Please specify the output, pep')
################################################################################
args = parser.parse_args()
dout=''
if os.path.exists(args.out_dir):
dout=os.path.abspath(args.out_dir)
else:
os.mkdir(args.out_dir)
dout=os.path.abspath(args.out_dir)
output_handle = open(dout+'/'+args.name+'.fa', "w")
for rec in SeqIO.parse(args.fasta, "fasta"):
rec.seq=rec.seq.translate(table=args.table)
SeqIO.write(rec, output_handle, "fasta")
output_handle.close()
到此,相信大家对“怎么用biopython将cds序列翻译成蛋白序列”有了更深的了解,不妨来实际操作一番吧!这里是天达云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!