1 / 20

Perl kalbos biblioteka BioPerl

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

Download Presentation

Perl kalbos biblioteka BioPerl

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Perl kalbos biblioteka BioPerl Prof. Robertas Damaševičius KTU Programų inžinerijos katedra, Studentų 50-409a Email: robertas.damasevicius(at)ktu.lt

  2. BioPerl Perl and BioPerl - Craig A. Struble Bioinformaciniams skaičiavimams skirtų Perl klasių biblioteka Naudota žmogaus genomo dekodavimo projekte Geriausiai išvystyta: bibliotekos kitoms kalboms (BioJava, BioPython) dar tik kuriamos http://www.bioperl.org

  3. BioPerl sprendžiamos problemos Bioinformatika (B110M100) Priėjimas prie vietinėse ir nutolusiose duomenų bazėse saugomų sekų duomenų Duomenų bazių ir failų įrašų formatų transformavimas Atskirų sekų apdorojimas Panašių sekų paieška Sekų sugretinimas Genų ir kitų DNR struktūrinių elementų paieška Kompiuterio skaitomų sekų anotacijų sukūrimas

  4. Pagrindiniai BioPerl moduliai (1) Bioinformatika (B110M100)

  5. Pagrindiniai BioPerl moduliai (2) Bioinformatika (B110M100) 5

  6. 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

  7. Sekos sukūrimas: objektinis Bioinformatika (B110M100) $seq = Bio::Seq->new(’-seq’=>’actgtggcgtcaact’, ’-desc’=>’Sample Bio::Seq object’, ’-display_id’ => ’something’, ’-accession_number’ => ’accnum’, ’-moltype’ => ’dna’ ); Sukuriamas Bio::Seq tipo objektas, kurio savybei –seq priskiriama eilutės tipo seka.

  8. 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)

  9. Priėjimas prie nutolusiose duomenų bazėse saugomų sekų Bioinformatika (B110M100) $gb = new Bio::DB::GenBank(); $seq1 = $gb->get_Seq_by_id(’MUSIGHBA1’); $seq2 = $gb->get_Seq_by_acc(’AF303112’)) • Objektinis priėjimas prie GenBank duomenų bazės • Duomenys gali būti paimami pagal • sekos prieigos numerį (get_Seq_by_acc) arba • kodą (get_Seq_by_id)

  10. Priėjimas prie nutolusiose DB saugomų sekų: funkcinis Bioinformatika (B110M100) 10 $seq = get_sequence('swiss', "ROA1_HUMAN"); • Funkcinis priėjimas prie GenBank duomenų bazės • Grąžinama reikšmė: Bio::Seq tipo objektas • Argumentai • Duomenų bazės pavadinimas (‘swissprot', 'genbank', 'genpept', 'embl', 'refseq') • Sekos pavadinimas

  11. Duomenų bazių ir failų įrašų formatų transformavimas Bioinformatika (B110M100) use Bio::SeqIO; $in = Bio::SeqIO->new(’-file’ => "infile", ’-format’ => ’Fasta’); $out = Bio::SeqIO->new(’-file’ => ">outfile", ’-format’ => ’EMBL’); while ( my $seq = $in->next_seq() ) { $out->write_seq($seq); } Objektinis sekos saugomos FASTA formatu transformavimas į EMBL formatą Formatui nurodyti naudojama Bio::SeqIO objekto savybė format Galimos formato reikšmės: ‘Fasta’, EMBL, ‘Genbank’

  12. DB ir failų įrašų formatų transformavimas: funkcinis Bioinformatika (B110M100) 12 write_sequence(">new_file.gb", 'genbank', $seq); • Įrašo seką nurodytu formatu į failą • Argumentai: • Failo pavadinimas • Formatas (‘Fasta’, EMBL, ‘Genbank’) • Bio:Seq tipo sekos objektas

  13. Sekų apdorojimas Bioinformatika (B110M100) • Nukleotidų sekos transliavimas: • Objektiškai: naudojamas Bio::Seq objekto metodas translate() $my_seq_object = new Bio::Seq(); $translation1 = new Bio::PreSeq(); $translation1 = $my_seq_object->translate; • Funkciškai: naudojama funkcija translate $seq2 = translate($seq2); • Argumentas: sekos tipo objektas • Grąžinama: skos tipo objektas

  14. 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";

  15. 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); }

  16. Sekos statistinė informacija Bioinformatika (B110M100) use SeqStats; $seq_stats = Bio::Tools::SeqStats->new($seqobj); $weight = $seq_stats->get_mol_wt(); # sekos molekulinis svoris $codon_ref = $seq_stats->count_codons(); # kodonu skaicius sekoje • Naudojami Bio::Tools::SeqStats objekto metodai.

  17. 3 pavyzdys use 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"; }

  18. Sekos sugretinimas su nutolusia duomenų baze naudojant BLAST Bioinformatika (B110M100) $input = Bio::Seq->new(’-id’=>"test query", ’-seq’=>"ACTAAGTGGGGG"); $blast_report = $factory->blastall($input); • Gražinamas blast_report objektas yra BPlite, BPpsilite, BPbl2seq arba Blast tipo priklausomai nuo paieškos tipo.

  19. Sekos sugretinimas su nutolusia DB naudojant BLAST: funkcinis Bioinformatika (B110M100) 19 $blast_result = blast_sequence($seq) • Argumentas: sekos tipo objektas arba seka (eilutė) • Grąžinama reikšmė: BLAST tipo objektas • BLAST ataskaitos įrašymas: write_blast($filename,$blast_result); • Argumentai: • Failo vardas • BLAST objekto vardas

  20. Šaltiniai Bioinformatika (B110M100) James Tisdall. Beginning Perl for Bioinformatics, O'Reilly (2001). Arthur W. Chou. Programming and Perl for Bioinformatics. http://cs.clarku.edu/~achou/binf101/index.htm Craig A. Struble. Perl and BioPerl. http://www.mscs.mu.edu/~cstruble/class/mscs230/fall2002/notes/PerlAndBioPerl.ppt Will Hsiao. An Introduction to Perl for bioinformatics. http://www.bioinformatics.ca/workshop_pages/bioinformatics2004_vancouver/talks/8.1_Lecture_Hsiao_2004_web.ppt

More Related