📅  最后修改于: 2023-12-03 15:13:39.456000             🧑  作者: Mango
Biopython是一个专门用于生物信息学的Python函数库,提供了方便的序列解析、序列比较和其他生物信息分析工具。其中序列操作是其最重要的功能之一。
在命令行中输入以下命令即可安装Biopython:
pip install biopython
Biopython可以直接读取FASTA(.txt或者.fasta),GenBank(.gbk或者.gb),以及其他格式的序列。
from Bio import SeqIO
seq_record = SeqIO.read("sequence.fasta", "fasta")
print(seq_record.id)
print(seq_record.seq)
输出结果:
gi|2765658|emb|Z78533.1|CIZ78533
AGTGGCACCGCGGTGATGATTTGGAACTGC
Biopython可以对DNA、RNA、蛋白质等不同类型的序列进行各种操作。
可以将DNA/RNA序列翻译成蛋白质序列。
from Bio.Seq import Seq
dna_seq = Seq("ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG")
protein_seq = dna_seq.translate()
print(protein_seq)
输出结果:
MAIVMGR*KGAR*
可以通过DNA序列计算其互补链或反向互补链,
from Bio.Seq import Seq
dna_seq = Seq("ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG")
complement = dna_seq.complement()
reverse_complement = dna_seq.reverse_complement()
print(complement)
print(reverse_complement)
输出结果:
TACCGGTAACATTACCCGGCGACTTCCCACGGGCTATC
CTATCGGGCACCCCTTTCAGCGGCCCATTACAATGGCCAT
可以截取序列的片段。
from Bio.Seq import Seq
dna_seq = Seq("ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG")
sub_seq = dna_seq[3:8]
print(sub_seq)
输出结果:
GCCAT
可以使用Biopython的pairwise2模块进行序列比对。
from Bio import pairwise2
from Bio.Seq import Seq
seq1 = Seq("ATCGTACGATCG")
seq2 = Seq("ATCGTACGCGTT")
alignments = pairwise2.align.globalxx(seq1, seq2)
for alignment in alignments:
print(pairwise2.format_alignment(*alignment))
输出结果:
ATCGTACGATCG
||||||||||.
ATCGTACG-CGTT
Score=11
Biopython提供了方便的序列解析、序列比较和其他生物信息分析工具,针对生物科研工作者尤为有用。从简单的序列读取、翻译和互补链到复杂的序列比对等,Biopython都给出了许多方便的接口和工具供开发者使用。