在本章中,我们将讨论Biopython提供的一些高级序列特征.
补体和反向补体
核苷酸序列可以是反向补充以获得新的序列.此外,补充序列可以反向补充以获得原始序列. Biopython提供了两种方法来实现这一功能 : 补充和反向补充.这个代码在下面和下面给出;
>>> from Bio.Alphabet import IUPAC >>> nucleotide = Seq('TCGAAGTCAGTC', IUPAC.ambiguous_dna) >>> nucleotide.complement() Seq('AGCTTCAGTCAG', IUPACAmbiguousDNA()) >>>
这里,complement()方法允许补充DNA或RNA序列. reverse_complement()方法从左到右补充和反转结果序列.它显示在下面和下面;
>>> nucleotide.reverse_complement() Seq('GACTGACTTCGA',IUPACAmbiguousDNA())
Biopython使用Bio.Data.IUPACData提供的ambiguous_dna_complement变量来做补充操作.
>>> from Bio.Data import IUPACData >>> import pprint >>> pprint.pprint(IUPACData.ambiguous_dna_complement) { 'A': 'T', 'B': 'V', 'C': 'G', 'D': 'H', 'G': 'C', 'H': 'D', 'K': 'M', 'M': 'K', 'N': 'N', 'R': 'Y', 'S': 'S', 'T': 'A', 'V': 'B', 'W': 'W', 'X': 'X', 'Y': 'R'} >>>
GC含量
基因组DNA碱基组成(GC含量)预计会显着影响基因组功能和物种生态. GC含量是GC核苷酸的数量除以总核苷酸.
要获得GC核苷酸含量,请导入以下模块并执行以下步骤 :
>>> from Bio.SeqUtils import GC >>> nucleotide = Seq("GACTGACTTCGA",IUPAC.unambiguous_dna) >>> GC(nucleotide) 50.0
转录
转录是将DNA序列转换为RNA序列的过程.实际的生物转录过程是执行反向互补(TCAG→CUGA)以获得mRNA,将DNA视为模板链.然而,在Biopython中的生物信息学中,我们通常直接使用编码链,我们可以通过将字母T更改为U来获得mRNA序列.
以上的简单示例如下跟随 : 去;
>>> from Bio.Seq import Seq >>> from Bio.Seq import transcribe >>> from Bio.Alphabet import IUPAC >>> dna_seq = Seq("ATGCCGATCGTAT",IUPAC.unambiguous_dna) >>> transcribe(dna_seq) Seq('AUGCCGAUCGUAU', IUPACUnambiguousRNA()) >>>
要反转转录,T将更改为U,如下面的代码所示 :
>>> rna_seq = transcribe(dna_seq) >>> rna_seq.back_transcribe() Seq('ATGCCGATCGTAT', IUPACUnambiguousDNA())
要获得DNA模板链,将反转录的RNA反向补充为给出以下 :
>>> rna_seq.back_transcribe().reverse_complement() Seq('ATACGATCGGCAT',IUPACUnambiguousDNA())
翻译
翻译是将RNA序列翻译成蛋白质序列的过程.考虑如下所示的RNA序列 :
>>> rna_seq = Seq("AUGGCCAUUGUAAU",IUPAC.unambiguous_rna)>>> rna_seq Seq('AUGGCCAUUGUAAUGGGCCGCUGAAAGGGUGCCCGAUAG',IUPACUnambiguousRNA())
现在,将translate()函数应用于上面和下面的代码;
>>> rna_seq.translate() Seq('MAIV',IUPACProtein())
上述RNA序列很简单.考虑RNA序列,AUGGCCAUUGUAAUGGGCCGCUGAAAGGGUGCCCGA并应用translate() :
>>> rna = Seq('AUGGCCAUUGUAAUGGGCCGCUGAAAGGGUGCCCGA',IUPAC.unambiguous_rna)>>> rna.translate() Seq('MAIVMGR * KGAR',HasStopCodon(IUPACProtein(),'*'))
这里,停止密码子用星号'*'表示.
在translate()方法中可以在第一个终止密码子处停止.要执行此操作,您可以在translate()中指定to_stop = True,如下所示 :
>>> rna.translate(to_stop = True) Seq('MAIVMGR',IUPACProtein())
这里,终止密码子不包含在结果序列,因为它不包含一个.
翻译表
NCBI的遗传代码页面提供了Biopython使用的翻译表的完整列表.让我们看一下标准表的示例来可视化代码 :
>>> from Bio.Data import CodonTable >>> table = CodonTable.unambiguous_dna_by_name["Standard"] >>> print(table) Table 1 Standard, SGC0 | T | C | A | G | --+---------+---------+---------+---------+-- T | TTT F | TCT S | TAT Y | TGT C | T T | TTC F | TCC S | TAC Y | TGC C | C T | TTA L | TCA S | TAA Stop| TGA Stop| A T | TTG L(s)| TCG S | TAG Stop| TGG W | G --+---------+---------+---------+---------+-- C | CTT L | CCT P | CAT H | CGT R | T C | CTC L | CCC P | CAC H | CGC R | C C | CTA L | CCA P | CAA Q | CGA R | A C | CTG L(s)| CCG P | CAG Q | CGG R | G --+---------+---------+---------+---------+-- A | ATT I | ACT T | AAT N | AGT S | T A | ATC I | ACC T | AAC N | AGC S | C A | ATA I | ACA T | AAA K | AGA R | A A | ATG M(s)| ACG T | AAG K | AGG R | G --+---------+---------+---------+---------+-- G | GTT V | GCT A | GAT D | GGT G | T G | GTC V | GCC A | GAC D | GGC G | C G | GTA V | GCA A | GAA E | GGA G | A G | GTG V | GCG A | GAG E | GGG G | G --+---------+---------+---------+---------+-- >>>
Biopython使用此表将DNA转化为蛋白质以及找到终止密码子.