python通用序列操作_biopython1_序列操作

目录:

1.DNA---RNA---protein互相转换

# -*- coding: utf-8 -*-

'''

作者231469242@qq.com

python机器学习生物信息学,up主录制

腾讯课堂入口

https://ke.qq.com/course/package/31252?tuin=dcbf0ba

网页云课堂入口

https://study.163.com/series/1202871604.htm?share=2&shareId=400000000398149

实际的生物学上的转录过程是将模板链反向互补(TCAG → CUGA)生成mRNA。但是,

在Biopython和生物信息学领域,我们通常会直接利用编码链,因为我们可以通过 T → U的转换获得mRNA。

'''

from Bio.Seq import Seq

from Bio.Alphabet import IUPAC

from Bio.SeqUtils import GC

from Bio.Alphabet import generic_alphabet

#生成序列

my_seq = Seq("AGTACACTGGT")

'''

my_seq

Out[5]: Seq('AGTACACTGGT', Alphabet())

print my_seq

AGTACACTGGT

'''

my_seq.alphabet

'''

Out[7]: Alphabet()

'''

#互补

my_seq.complement()

'''

Out[8]: Seq('TCATGTGACCA', Alphabet())

'''

#反向互补

my_seq.reverse_complement()

'''

Out[9]: Seq('ACCAGTGTACT', Alphabet())

'''

my_seq = Seq('GATCGATGGGCCTATATAGGATCGAAAATCGC', IUPAC.unambiguous_dna)

#计算G和C的概率

GC(my_seq)

'''

Out[13]: 46.875

'''

str(my_seq)

'''

Out[14]: 'GATCGATGGGCCTATATAGGATCGAAAATCGC'

'''

protein_seq = Seq("EVRNAK", IUPAC.protein)

dna_seq = Seq("ACGT", IUPAC.unambiguous_dna)

#不同性质序列叠加会报错

#protein_seq + dna_seq

#转化为通用的字母表后,不同序列可以叠加

protein_seq.alphabet = generic_alphabet

dna_seq.alphabet = generic_alphabet

protein_seq + dna_seq

'''Out[27]: Seq('EVRNAKACGT', Alphabet())'''

#创建DNA序列的 编码链

coding_dna = Seq("ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG", IUPAC.unambiguous_dna)

#模板链(反向互补)

template_dna = coding_dna.reverse_complement()

'''template_dna

Seq('CTATCGGGCACCCTTTCAGCGGCCCATTACAATGGCCAT', IUPACUnambiguousDNA())'''

# transcribe 转录方法将编码链转录成对应的mRNA

messenger_rna = coding_dna.transcribe()

'''

Seq('AUGGCCAUUGUAAUGGGCCGCUGAAAGGGUGCCCGAUAG', IUPACUnambiguousRNA())

'''

#Seq 对象还包含了从mRNA逆向转录为DNA编码链的方法。同样,这仅仅是从U → T的替代并伴随着字母表的变化

messenger_rna.back_transcribe()

'''

Out[30]: Seq('ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG', IUPACUnambiguousDNA())

'''

#继续使用在转录那个小节中的例子,现在让我们将这个mRNA翻译成相对应的 蛋白质序列

#rna编码和DNA编码都可以翻译成对应蛋白质

protein_seq1=messenger_rna.translate()

'''

Seq('MAIVMGR*KGAR*', HasStopCodon(IUPACProtein(), '*'))

'''

#直接从DNA翻译为蛋白质

protein_seq2=coding_dna.translate()

#DNA重编程,使用mutable函数

my_seq = Seq("GCCATTGTAATGGGCCGCTGAAAGGGTGCCCGA", IUPAC.unambiguous_dna)

mutable_seq = my_seq.tomutable()

'''

Out[38]: MutableSeq('GCCATTGTAATGGGCCGCTGAAAGGGTGCCCGA', IUPACUnambiguousDNA())

'''

#更改DNA编码

mutable_seq[5] = "C"

'''

MutableSeq('GCCATCGTAATGGGCCGCTGAAAGGGTGCCCGA', IUPACUnambiguousDNA())

'''

mutable_seq.remove("T")

mutable_seq.reverse()

mutable_seq

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值