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.