Biopython——生信人必备的科研工具,你值得拥有
公众号后台回复“111”
领取本篇代码、基因集或示例数据等文件
文件编号:240304
from Bio.Seq import Seq#导入Biopython中序列处理模块
from random import choices#导入random中的选择函数
import matplotlib.pylab as plt#导入matplotlib中的绘图模块
seq = Seq("ATCGCTTGTACT")#创建序列
print(seq)
#输出:
#ATCGCTTGTACT
print(type(seq))
#输出:
#
BASE_PAIR='ATCG'#A、T、C、G碱基对
string=''.join(choices(BASE_PAIR, k=15))
dna=Seq(string)#随机生成序列
print(dna)
#输出(不唯一,下同):ATTACTATGGGGTCC
print(len(dna))#长度
#输出:15
print(dna[1:5])#查看序列中的第2到5位置上的核苷酸
#输出:TTAC
print(dna.count('A'))#统计A的数量
#输出:3
print(dna.count('TA'))#统计TA的数量
#输出:2
#定义函数来显示柱子上的数值
def add_label(cols,x_bias=-0.03,y_bias=0.04):
for col in cols:
height = col.get_height()
plt.text(col.get_x()+col.get_width()/2+x_bias,height+y_bias,
'%s'%height,size=11,family="Times New Roman")
plt.rcParams['font.sans-serif'] = 'SimHei' #设置字体为黑体,使图形中的中文正常编码显示
data=[dna.count('A'),dna.count('T'),dna.count('C'),dna.count('G')]#碱基对的统计
item=['A','T','C','G']
bar=plt.bar(item,data,color=['r','g','b','y'])#生成柱状图
add_label(bar)#添加数值
#添加标题和标签
plt.title('碱基对的统计柱状图',size=15)
plt.xlabel('名称',size=12)
plt.ylabel('数量(个)',size=12)
plt.show()
print(dna.complement())#互补序列
#输出:TAATGATACCCCAGG
print(dna.reverse_complement())#序列的反向互补序列
#输出:GGACCCCATAGTAAT
print(dna.transcribe())#DNA转录为RNA
#输出:AUUACUAUGGGGUCC
print(dna.translate())#翻译成的氨基酸序列
#输出:ITMGS
小果还提供思路设计、定制生信分析、文献思路复现;有需要的小伙伴欢迎直接扫码咨询小果,竭诚为您的科研助力!
定制生信分析
服务器租赁
扫码咨询小果
往期回顾
01 |
02 |
03 |
04 |