biopython1_序列操作

目录:

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

# -*- coding: utf-8 -*-
 原创公众号pythonEducation
'''
实际的生物学上的转录过程是将模板链反向互补(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

欢迎各位同学学习python机器学习生物信息学,链接地址为https://edu.csdn.net/combo/detail/1930

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

python机器学习建模

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值