使用Biopython翻译核酸为蛋白序列
在plob论坛学习到不少知识,其中看到很多关于bioperl的文章,但是没有见到人们用biopython的。
所以在此分享一个简单代码,用来翻译核酸为蛋白序列。
注:需要Biopython库支持。
以下是脚本,可保存为TransNuc.py
#!/usr/bin/python
from argparse import ArgumentParser
from Bio.Seq import Seq
from Bio import SeqIO
parser = ArgumentParser(description='This Script is to convert nucleotide to amino acid')
parser.add_argument('-i', action='store', dest='sequence', help='Input is direct sequence')
parser.add_argument('-f', action='store', dest='inputfile', help='Input is a fasta file')
parser.add_argument('-r', action='store', dest='reverse_complement', help='Input is file, Reverse Complement the seq')
parser.add_argument('-t', action='store', dest='set_table', default=11, type=int, help='Translation table, default=11')
result = parser.parse_args()
set_table = result.set_tableif result.sequence:
seq = Seq(result.sequence)
print seq.translate(table=set_table)
if result.inputfile:
fastas = SeqIO.parse(result.inputfile, 'fasta')
for fasta in fastas:
print '>' + fasta.id
print fasta.seq.translate(table=set_table)
if result.reverse_complement:
fastas = SeqIO.parse(result.reverse_complement, 'fasta')
for fasta in fastas:
print '>' + fasta.id
print fasta.seq.reverse_complement()
使用TransNuc.py -h可显示帮助。
optional arguments:
-h, --help show this help message and exit
-i SEQUENCE Input is direct sequence
-f INPUTFILE Input is a fasta file
-r REVERSE_COMPLEMENT Input is file, Reverse Complement the seq
-t SET_TABLE Translation table, default=11
相关推荐:
最新创建圈子
-
原料药研发及国内外注册申报
2019-01-25 10:41圈主:caolianhui 帖子:33 -
制药工程交流
2019-01-25 10:40圈主:polysciences 帖子:30 -
健康管理
2019-01-25 10:40圈主:neuromics 帖子:20 -
发酵技术
2019-01-25 10:39圈主:fitzgerald 帖子:17 -
医学肿瘤学临床试验
2019-01-25 10:39圈主:bma 帖子:58
argparse是python内置的,我用的2.7版本的。或者你用optparse也行。不过argparse功能更好些。