BioPython-2

关于Seq对象的内容

# -*- coding: utf-8 -*-
"""
Created on Sun Jun 08 22:03:41 2014

@author: cpycpp
"""

"""
字母表用于定义序列的内容。如果序列用字符串来保存,就无法知道序列的种类。
BioPython引入Seq对象的原因。

Seq对象由序列本身和定义序列性质的字母表组成。
"""
from Bio.Seq import Seq
import Bio.Alphabet

seq = Seq('CCGGGTT', Bio.Alphabet.IUPAC.unambiguous_dna)

print seq
"""
Output:
CCGGGTT
"""

print seq.transcribe()
"""
Output:
CCGGGUU
"""

print seq.translate()

"""
Output:
PG
"""

"""
RNA序列不能转录,但能翻译
"""
rna_seq = Seq('CCGGGUU',Bio.Alphabet.IUPAC.unambiguous_rna)

print rna_seq

# error: rna_seq.transcribe()

print rna_seq.translate()
"""
Output:
PG
"""

"""
RNA --> DNA
"""
print rna_seq.back_transcribe()
"""
Output:
CCGGGTT
"""

"""
Tip: the transcribe function in BioPython
生物学中,转录的意思是将DNA的每个核苷酸用其互补的核苷酸代替,然后将结果字符串反转
transcribe函数按照如下的方式工作是因为所有的生物学文献都是显示的是模板链
BioPython就是假设你要按这种方式,所以才那样实现的
Bio.Seq模块中也有transcribe、back_transcribe、translate函数用于处理Seq对象和字符串
"""
from Bio.Seq import transcribe, translate, back_transcribe

dna_seq = "ATGGTATAA"

#输出转录后序列
rna_seq = transcribe( dna_seq )
print rna_seq
# Output: AUGGUAUAA

# 输出翻译序列
print translate( dna_seq )
# Output: MV*
print translate( rna_seq )
# Output: MV*

# 输出反转录序列
print back_transcribe( rna_seq )
# Output: ATGGTATAA
原文地址:https://www.cnblogs.com/tmmuyb/p/3777049.html