oracle biob,Biopython高级序列操作

在本章中,我们将讨论Biopython提供的一些高级序列功能。

1. 补码和反补码

核苷酸序列可以反向互补以获得新序列。而且互补序列可以反向互补以获得原始序列。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'}

>>>

2. GC内容

预测基因组DNA的碱基组成(GC含量)将显着影响基因组功能和物种生态。GC含量是GC核苷酸的数目除以总核苷酸。

要获取GC核苷酸含量,请导入以下模块并执行以下步骤:

>>> from Bio.SeqUtils import GC

>>> nucleotide = Seq("GACTGACTTCGA",IUPAC.unambiguous_dna)

>>> GC(nucleotide)

50.0

3. 转录

转录是将DNA序列转换为RNA序列的过程。实际的生物转录过程是执行反向补体(TCAG→CUGA)以将DNA作为模板链来获得mRNA。但是,在生物信息学以及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())

4. 转换

转换是将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转换为蛋白质,并找到终止码子。

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值