楼主 | 收藏 | 举报 2018-03-07 00:00   浏览:144   回复:1

使用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_table

if 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

打赏
沙发 | 回复 | 举报 2013-03-08 11:01
argparse是python内置的,我用的2.7版本的。或者你用optparse也行。不过argparse功能更好些。
网站首页 | 关于我们 | 联系方式 | 使用协议 | 版权隐私 | 网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
 
免责声明:本站有部分内容来自互联网,如无意中侵犯了某个媒体 、公司 、企业或个人等的知识产权,请来电或致函告之,本网站将在规定时间内给予删除等相关处理。