Biopython - Basit Uygulama Oluşturma

Bir biyoinformatik dosyasını ayrıştırmak ve içeriği yazdırmak için basit bir Biopython uygulaması oluşturalım. Bu, Biopython'un genel konseptini ve biyoinformatik alanında nasıl yardımcı olduğunu anlamamıza yardımcı olacaktır.

Step 1 - Önce örnek bir sıra dosyası oluşturun, "example.fasta" ve aşağıdaki içeriği içine koyun.

>sp|P25730|FMS1_ECOLI CS1 fimbrial subunit A precursor (CS1 pilin) 
MKLKKTIGAMALATLFATMGASAVEKTISVTASVDPTVDLLQSDGSALPNSVALTYSPAV
NNFEAHTINTVVHTNDSDKGVVVKLSADPVLSNVLNPTLQIPVSVNFAGKPLSTTGITID 
SNDLNFASSGVNKVSSTQKLSIHADATRVTGGALTAGQYQGLVSIILTKSTTTTTTTKGT 

>sp|P15488|FMS3_ECOLI CS3 fimbrial subunit A precursor (CS3 pilin) 
MLKIKYLLIGLSLSAMSSYSLAAAGPTLTKELALNVLSPAALDATWAPQDNLTLSNTGVS 
NTLVGVLTLSNTSIDTVSIASTNVSDTSKNGTVTFAHETNNSASFATTISTDNANITLDK 
NAGNTIVKTTNGSQLPTNLPLKFITTEGNEHLVSGNYRANITITSTIKGGGTKKGTTDKK

Fasta uzantısı, sıra dosyasının dosya biçimini ifade eder. FAŞTA, biyoinformatik yazılımı olan FAŞTA'dan geliyor ve bu nedenle adını alıyor. FAŞTA formatı, tek tek düzenlenmiş birden fazla diziye sahiptir ve her dizinin kendi kimliği, adı, açıklaması ve gerçek dizi verileri olacaktır.

Step 2 - Yeni bir python komut dosyası, * simple_example.py "oluşturun ve aşağıdaki kodu girin ve kaydedin.

from Bio.SeqIO import parse 
from Bio.SeqRecord import SeqRecord 
from Bio.Seq import Seq 

file = open("example.fasta") 

records = parse(file, "fasta") for record in records:    
   print("Id: %s" % record.id) 
   print("Name: %s" % record.name) 
   print("Description: %s" % record.description) 
   print("Annotations: %s" % record.annotations) 
   print("Sequence Data: %s" % record.seq) 
   print("Sequence Alphabet: %s" % record.seq.alphabet)

Kodu biraz daha derinlemesine inceleyelim -

Line 1Bio.SeqIO modülünde bulunan ayrıştırma sınıfını içe aktarır. Bio.SeqIO modülü, sekans dosyasını farklı formatta okumak ve yazmak için kullanılır ve sekans dosyasının içeriğini ayrıştırmak için `` ayrıştırma '' sınıfı kullanılır.

Line 2Bio.SeqRecord modülünde bulunan SeqRecord sınıfını içe aktarır. Bu modül, sekans kayıtlarını işlemek için kullanılır ve SeqRecord sınıfı, sekans dosyasında bulunan belirli bir sekansı temsil etmek için kullanılır.

*Line 3"Bio.Seq modülünde bulunan Seq sınıfını içe aktarır. Bu modül, sekans verilerini işlemek için kullanılır ve Seq sınıfı, sekans dosyasında bulunan belirli bir sekans kaydının sekans verilerini temsil etmek için kullanılır.

Line 5 normal python işlevini kullanarak "example.fasta" dosyasını açar, açın.

Line 7 sıra dosyasının içeriğini ayrıştırır ve içeriği SeqRecord nesnesinin listesi olarak döndürür.

Line 9-15 python for döngüsü kullanarak kayıtlar üzerinde döngü oluşturur ve id, ad, açıklama, sıra verileri vb. gibi sıralama kaydının (SqlRecord) niteliklerini yazdırır.

Line 15 Alfabe sınıfını kullanarak dizinin türünü yazdırır.

Step 3 - Bir komut istemi açın ve "example.fasta" adlı sıra dosyasını içeren klasöre gidin ve aşağıdaki komutu çalıştırın -

> python simple_example.py

Step 4- Python, komut dosyasını çalıştırır ve örnek dosyada bulunan tüm sıra verilerini ("example.fasta") yazdırır. Çıktı aşağıdaki içeriğe benzer olacaktır.

Id: sp|P25730|FMS1_ECOLI 
Name: sp|P25730|FMS1_ECOLI 
Decription: sp|P25730|FMS1_ECOLI CS1 fimbrial subunit A precursor (CS1 pilin) 
Annotations: {} 
Sequence Data: MKLKKTIGAMALATLFATMGASAVEKTISVTASVDPTVDLLQSDGSALPNSVALTYSPAVNNFEAHTINTVVHTNDSD
KGVVVKLSADPVLSNVLNPTLQIPVSVNFAGKPLSTTGITIDSNDLNFASSGVNKVSSTQKLSIHADATRVTGGALTA
GQYQGLVSIILTKSTTTTTTTKGT 
Sequence Alphabet: SingleLetterAlphabet() 
Id: sp|P15488|FMS3_ECOLI 
Name: sp|P15488|FMS3_ECOLI 
Decription: sp|P15488|FMS3_ECOLI CS3 fimbrial subunit A precursor (CS3 pilin) 
Annotations: {} 
Sequence Data: MLKIKYLLIGLSLSAMSSYSLAAAGPTLTKELALNVLSPAALDATWAPQDNLTLSNTGVSNTLVGVLTLSNTSIDTVS
IASTNVSDTSKNGTVTFAHETNNSASFATTISTDNANITLDKNAGNTIVKTTNGSQLPTNLPLKFITTEGNEHLVSGN
YRANITITSTIKGGGTKKGTTDKK 
Sequence Alphabet: SingleLetterAlphabet()

Bu örnekte ayrıştırma, SeqRecord ve Seq olmak üzere üç sınıf gördük. Bu üç sınıf, işlevselliğin çoğunu sağlar ve bu sınıfları ilerleyen bölümde öğreneceğiz.