声明:本人纯计算机背景,没有生物背景,要是什么名词翻译不好请指正
1、安装Biopython
pip install biopython
2、创建自己的序列
from Bio.Seq import Seq
my_seq = Seq("AGTACACTGGT")
print(my_seq)
>>>AGTACACTGGT
3、简单的序列文件解析
这里是两个FASTA和Genbank格式的文件,可以用记事本打开看https://raw.githubusercontent.com/biopython/biopython/master/Doc/examples/ls_orchid.fastaraw.githubusercontent.comhttps://raw.githubusercontent.com/biopython/biopython/master/Doc/examples/ls_orchid.gbkraw.githubusercontent.com
3.1 读FASTA文件
from Bio import SeqIO
for seq_record in SeqIO.parse("ls_orchid.fasta", "fasta"):
print(seq_record.id)#查看ID
print(repr(seq_record.seq))#查看序列
print(len(seq_record))#查看序列长度
3.2 读GenBank文件
from Bio import SeqIO
for seq_record in SeqIO.parse("ls_orchid.gbk", "genbank"):
print(seq_record.id)
print(repr(seq_record.seq))
print(len(seq_record))
4、对序列的一些简单操作
像操作字符串一样
from Bio.Seq import Seq
my_seq = Seq("GATCG")
for index, letter in enumerate(my_seq):
print("%i %s" % (index, letter))
输出:
0 G
1 A
2 T
3 C
4 G
print(my_seq[0]) #first letter
print(my_seq[2]) #third letter
print(my_seq[-1]) #last letter
输出:
G
T
G
觉得下面这个挺有用的。
from Bio.Seq import Seq
>>> "AAAA".count("AA")
2
>>> Seq("AAAA").count("AA")
2
5、序列对比
from Bio.Seq import Seq
seq1 = Seq("ACGT")
seq2 = Seq("ACGT")
print(str(seq1) == str(seq2))
print(str(seq1) == str(seq1))
print(seq1 == "ACGT")
输出:
True
True
True