perl kalbos biblioteka bioperl
DESCRIPTION
Perl kalbos biblioteka BioPerl. Prof . Robertas Damaševičius KTU Programų inžinerijos katedra, Studentų 50- 409a Email: robertas.damasevicius(at)ktu.lt. BioPerl. Bioinformaciniams skaičiavimams skirtų Perl klasių biblioteka Naudota žmogaus genomo dekodavimo projekte - PowerPoint PPT PresentationTRANSCRIPT
Perl kalbos bibliotekaPerl kalbos biblioteka BioPerlBioPerl
ProfProf. Robertas Damaševičius. Robertas DamaševičiusKTU Programų inžinerijos katedra, KTU Programų inžinerijos katedra,
Studentų 50-Studentų 50-409a409aEmail: Email: robertas.damasevicius(at)ktu.ltrobertas.damasevicius(at)ktu.lt
BioPerlBioPerl
Bioinformaciniams skaičiavimams Bioinformaciniams skaičiavimams skirtų Perl klasių bibliotekaskirtų Perl klasių biblioteka
Naudota žmogaus genomo Naudota žmogaus genomo dekodavimo projektedekodavimo projekte
Geriausiai išvystyta: bibliotekos Geriausiai išvystyta: bibliotekos kitoms kalboms (BioJava, BioPython) kitoms kalboms (BioJava, BioPython) dar tik kuriamosdar tik kuriamos
http://www.bioperl.orghttp://www.bioperl.org
2Perl and BioPerl - Craig A. Struble
BioPerl sprendžiamos BioPerl sprendžiamos problemosproblemos
Priėjimas prie vietinėse ir nutolusiose Priėjimas prie vietinėse ir nutolusiose duomenų bazėse saugomų sekų duomenųduomenų bazėse saugomų sekų duomenų
Duomenų bazių ir failų įrašų formatų Duomenų bazių ir failų įrašų formatų transformavimastransformavimas
Atskirų sekų apdorojimasAtskirų sekų apdorojimas Panašių sekų paieškaPanašių sekų paieška Sekų sugretinimasSekų sugretinimas Genų ir kitų DNR struktūrinių elementų Genų ir kitų DNR struktūrinių elementų
paieškapaieška Kompiuterio skaitomų sekų anotacijų Kompiuterio skaitomų sekų anotacijų
sukūrimassukūrimas
3Bioinformatika (B110M100)
Pagrindiniai BioPerl Pagrindiniai BioPerl moduliai (1)moduliai (1)
BioPerl modulis PaskirtisBio::Seq Sekos objektasBio::SimpleAlign Daugybinis sekų sugretinimasBio::DB::GenBank Duomenų bazės objekto sąsaja su
GenBank duomenų bazeBio::DB::NCBIHelper NCBI duom. bazės užklausų procedūrosBio::Index::Fasta FASTA formato failų indeksavimasBio::Index::GenBank GenBank formato failų indeksavimasBio::Tools::Blast BioPerl BLAST sekos analizės objektas
4Bioinformatika (B110M100)
Pagrindiniai BioPerl Pagrindiniai BioPerl moduliai (2)moduliai (2)
BioPerl modulis PaskirtisBio::Tools::CodonTable BioPerl kodonų lentelės objektasBio::Tools::SeqPattern BioPerl sekos šablono arba motyvo
objektas Bio::Tools::SeqStats Tam tikros sekos statistinę informaciją
saugantis objektasBio::Tools::Blast::Run::LocalBlast
BioPerl modulis skirtas lokaliai BLAST analizei atlikti
Bio::Tools::Blast::Run::Webblast
BioPerl modulis skirtas BLAST analizei atlikti naudojant HTTP sąsają
5Bioinformatika (B110M100)
Funkcijos darbui su sekomis get_sequence - seka parsiunčiama internetu
iš standartinių nutolusių duomenų bazių read_sequence - seka skaitima iš failo read_all_sequences – visos sekos skaitomos
iš failo new_sequence - seka sukūriama iš eilutės write_sequence - seka įrašoma į failą translate - atliekamas sekos transliavimas blast_sequence - atliekamas sekos
sugretinimas su nutolusiose DB saugomomis sekomis naudojant BLAST algoritmą
write_blast - BLAST ataskaita išsaugoma faile
Sekos sukūrimas: Sekos sukūrimas: objektinisobjektinis
$seq = Bio::Seq->new($seq = Bio::Seq->new(’-’-seq’=>’actgtggcgtcaact’, seq’=>’actgtggcgtcaact’,
’’-desc’=>’Sample Bio::Seq object’, -desc’=>’Sample Bio::Seq object’,
’’-display_id’ => ’something’, -display_id’ => ’something’,
’’-accession_number’ => ’accnum’, -accession_number’ => ’accnum’,
’’-moltype’ => ’dna’ );-moltype’ => ’dna’ );
Sukuriamas Sukuriamas Bio::SeqBio::Seq tipo objektas, tipo objektas, kurio savybei kurio savybei –seq–seq priskiriama eilutės priskiriama eilutės tipo seka.tipo seka.
7Bioinformatika (B110M100)
Sekos sukūrimas: funkcinis
$seq = new_sequence("GATTACA", "enzyme“, “X1”);
Grąžinama reikšmė: Bio::Seq tipo objektas
Argumentai: Seka Sekos pavadinimas (galima nenurodyti) Sekos numeris (galima nenurodyti)
Priėjimas prie Priėjimas prie nutolusiose duomenų nutolusiose duomenų bazėse saugomų sekųbazėse saugomų sekų
$gb = new Bio::DB::GenBank();$gb = new Bio::DB::GenBank();
$seq1 = $gb->$seq1 = $gb->get_Seq_by_idget_Seq_by_id(’MUSIGHBA1’);(’MUSIGHBA1’);
$seq2 = $gb->$seq2 = $gb->get_Seq_by_accget_Seq_by_acc(’AF303112’))(’AF303112’))
Objektinis priėjimas prie GenBank Objektinis priėjimas prie GenBank duomenų bazėsduomenų bazės
Duomenys gali būti paimami pagal Duomenys gali būti paimami pagal sekos prieigos numerį (sekos prieigos numerį (get_Seq_by_accget_Seq_by_acc) arba ) arba kodą (kodą (get_Seq_by_idget_Seq_by_id))
9Bioinformatika (B110M100)
Priėjimas prie Priėjimas prie nutolusiose DB saugomų nutolusiose DB saugomų
sekų: funkcinissekų: funkcinis$seq = $seq = get_sequenceget_sequence('swiss', ('swiss',
"ROA1_HUMAN");"ROA1_HUMAN");
Funkcinis priėjimas prie GenBank Funkcinis priėjimas prie GenBank duomenų bazės duomenų bazės
Grąžinama reikšmė: Bio::Seq tipo objektas ArgumentaiArgumentai
Duomenų bazės pavadinimas (‘Duomenų bazės pavadinimas (‘swissprot', swissprot', 'genbank', 'genpept', 'embl', 'refseq''genbank', 'genpept', 'embl', 'refseq') )
Sekos pavadinimasSekos pavadinimas
10Bioinformatika (B110M100)
Duomenų bazių ir failų Duomenų bazių ir failų įrašų formatų įrašų formatų
transformavimastransformavimasuse Bio::SeqIO;use Bio::SeqIO;
$in = Bio::SeqIO->new(’-file’ => "infile", $in = Bio::SeqIO->new(’-file’ => "infile", ’-format’ => ’-format’ => ’Fasta’Fasta’);’);
$out = Bio::SeqIO->new(’-file’ => ">outfile", $out = Bio::SeqIO->new(’-file’ => ">outfile", ’-format’ => ’-format’ => ’EMBL’EMBL’);’);
while ( my $seq = $in->next_seq() ) { $out-while ( my $seq = $in->next_seq() ) { $out->write_seq($seq); }>write_seq($seq); }
Objektinis sekos saugomos FASTA formatu Objektinis sekos saugomos FASTA formatu transformavimas į EMBL formatą transformavimas į EMBL formatą
Formatui nurodyti naudojama Formatui nurodyti naudojama Bio::SeqIOBio::SeqIO objekto objekto savybė savybė formatformat
Galimos formato reikšmės: ‘Fasta’, EMBL, ‘Genbank’Galimos formato reikšmės: ‘Fasta’, EMBL, ‘Genbank’
11Bioinformatika (B110M100)
DB ir failų įrašų formatų DB ir failų įrašų formatų transformavimas: transformavimas:
funkcinisfunkciniswrite_sequencewrite_sequence(">new_file.gb", (">new_file.gb",
'genbank', $seq)'genbank', $seq);;
Įrašo seką nurodytu formatu į failąĮrašo seką nurodytu formatu į failą Argumentai:Argumentai:
Failo pavadinimasFailo pavadinimas Formatas (‘Fasta’, EMBL, ‘Genbank’)Formatas (‘Fasta’, EMBL, ‘Genbank’) Bio:SeqBio:Seq tipo sekos objektas tipo sekos objektas
12Bioinformatika (B110M100)
Sekų apdorojimasSekų apdorojimas
Nukleotidų sekos transliavimas:Nukleotidų sekos transliavimas: Objektiškai: naudojamas Objektiškai: naudojamas Bio::SeqBio::Seq objekto objekto
metodas metodas translatetranslate()()$my_seq_object = new Bio::Seq();$my_seq_object = new Bio::Seq();
$translation1 = new Bio::PreSeq();$translation1 = new Bio::PreSeq();
$translation1 = $my_seq_object->$translation1 = $my_seq_object->translate;translate; Funkciškai: naudojama funkcija translateFunkciškai: naudojama funkcija translate
$seq2 = $seq2 = translatetranslate($seq2);($seq2); Argumentas: sekos tipo objektasArgumentas: sekos tipo objektas Grąžinama: skos tipo objektasGrąžinama: skos tipo objektas
13Bioinformatika (B110M100)
1 pavyzdys: darbas su funkcijomis
use Bio::Perl;$seq_object = get_sequence('swiss', "ROA1_HUMAN");print "Sekos pavadinimas: ", $seq_object->display_id, "\
n";print "Sekos numeris: ", $seq_object->accession_number,
"\n";print "Seka: ", $seq_object->seq(), "\n";write_sequence(">roa1.fasta", 'fasta', $seq_object);$nseq = read_sequence("roa1.fasta");$seq2 =
new_sequence("ATTGGTTTGGGGACCCAATTTGTGTGTTATATGTA", "MANO_SEKA", "AL12232");
print "Sekos pavadinimas: ", $seq2>display_id, "\n";print "Sekos numeris: ", $seq2->accession_number, "\n";print "Seka: ", $seq2->seq(), "\n";$seq3 = translate($seq2);print "Amino rugsciu seka: ", $seq3->seq(), "\n";
2 pavyzdys: darbas su objektais
use Bio::Perl;$gb = new Bio::DB::GenBank; $seqio = $gb->get_Stream_by_id(["J00522", "AF303112",
"2981014"]);print "Sekos: \n";while (my $seq = $seqio->next_seq) { print "Sekos numeris: ", $seq->accession_number, "\n"; print "Sekos ilgis: ", $seq->length, "\n"; print "Seka:", $seq->seq(), "\n"; }$seqio = $gb->get_Stream_by_id(["J00522", "AF303112",
"2981014"]);my $seq_out = Bio::SeqIO->new('-file' => ">gb_sekos.fa", '-
format' => 'Fasta');while (my $seq = $seqio->next_seq()) { $seq_out->write_seq($seq); }
Sekos statistinė Sekos statistinė informacijainformacija
use SeqStats;use SeqStats;
$seq_stats = Bio::Tools::SeqStats-$seq_stats = Bio::Tools::SeqStats->new($seqobj);>new($seqobj);
$weight = $seq_stats->$weight = $seq_stats->get_mol_wtget_mol_wt();();
# sekos molekulinis svoris# sekos molekulinis svoris
$codon_ref = $seq_stats->$codon_ref = $seq_stats->count_codonscount_codons();();
# kodonu skaicius sekoje# kodonu skaicius sekoje
Naudojami Bio::Tools::SeqStats objekto Naudojami Bio::Tools::SeqStats objekto metodai.metodai.
16Bioinformatika (B110M100)
3 pavyzdysuse Bio::Perl;use Bio::Tools::SeqStats;$seqobj = get_sequence('genbank',"AF303112");$seq_stats = Bio::Tools::SeqStats->new($seqobj);$weight = $seq_stats->get_mol_wt();print "Mol svoris:", $$weight[0], "-", $$weight[1],"\n";$monomer = $seq_stats->count_monomers();print "Nukleotidu skaicius: \n";foreach $base (sort keys %$monomer) {
print $base, "= ", %$monomer->{$base},"\n";}
$codon = $seq_stats->count_codons(); print "Kodonu skaicius: \n";foreach $base (sort keys %$codon) {
print $base, "= ", %$codon->{$base},"\n";}
Sekos sugretinimas su Sekos sugretinimas su nutolusia duomenų baze nutolusia duomenų baze
naudojant BLASTnaudojant BLAST$input = Bio::Seq->new(’-id’=>"test query", $input = Bio::Seq->new(’-id’=>"test query",
’-seq’=>"ACTAAGTGGGGG"); ’-seq’=>"ACTAAGTGGGGG");
$blast_report = $factory->blastall($input);$blast_report = $factory->blastall($input);
Gražinamas Gražinamas blast_reportblast_report objektas yra objektas yra BPlite, BPpsilite, BPbl2seq BPlite, BPpsilite, BPbl2seq arbaarba Blast Blast tipo priklausomai nuo paieškos tipo.tipo priklausomai nuo paieškos tipo.
18Bioinformatika (B110M100)
Sekos sugretinimas su Sekos sugretinimas su nutolusia DB naudojant nutolusia DB naudojant
BLAST: funkcinisBLAST: funkcinis$blast_result = $blast_result = blast_sequenceblast_sequence($seq)($seq)
Argumentas: sekos tipo objektas arba seka Argumentas: sekos tipo objektas arba seka (eilutė)(eilutė)
Grąžinama reikšmė: BLAST tipo objektasGrąžinama reikšmė: BLAST tipo objektas
BLAST ataskaitos įrašymas:BLAST ataskaitos įrašymas:
write_blastwrite_blast($filename,$blast_result);($filename,$blast_result); Argumentai:Argumentai:
Failo vardasFailo vardas BLAST objekto vardasBLAST objekto vardas
19Bioinformatika (B110M100)
ŠaltiniaiŠaltiniai James TisdallJames Tisdall. . Beginning Perl for Beginning Perl for
Bioinformatics, O'Reilly (2001).Bioinformatics, O'Reilly (2001). Arthur W. ChouArthur W. Chou. Programming and Perl for . Programming and Perl for
Bioinformatics. Bioinformatics. http://cs.clarku.edu/~achou/binf101/index.htm
Craig A. StrubleCraig A. Struble. . Perl and BioPerlPerl and BioPerl. . http://www.mscs.mu.edu/~cstruble/class/mscs230/fall2002/notes/PerlAndBioPerl.ppt
Will Hsiao. AWill Hsiao. An Introduction to Perl for n Introduction to Perl for bioinformaticsbioinformatics. . http://www.bioinformatics.ca/workshop_pages/bioinformatics2004_vancouver/talks/8.1_Lecture_Hsiao_2004_web.ppt
20Bioinformatika (B110M100)