perl kalbos biblioteka bioperl

Post on 03-Jan-2016

75 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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 Presentation

TRANSCRIPT

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)

top related