1 / 16

Introducing Bioperl

Toward the Bioinformatics Perl programmer's nirvana. Introducing Bioperl. What Is Bioperl?. http://www.bioperl.org. Bioperl's Relationship To Project Ensembl. http://www.ensembl.org. Installing Bioperl. $ tar -zxvf current_core_stable.tar.gz $ tar -zxvf current_run_stable.tar.gz

yaholo
Download Presentation

Introducing 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. Toward the Bioinformatics Perl programmer's nirvana Introducing Bioperl

  2. What Is Bioperl? http://www.bioperl.org

  3. Bioperl's Relationship To Project Ensembl http://www.ensembl.org

  4. Installing Bioperl $ tar -zxvf current_core_stable.tar.gz $ tar -zxvf current_run_stable.tar.gz $ perl Makefile.PL $ make $ make test $ su $ make install $ <Ctrl-D> $ su $ perl -MCPAN -e "shell" $ cpan> install Bundle::BioPerl $ cpan> quit $ <Ctrl-D>

  5. Using Bioperl: Fetching Sequences #! /usr/bin/perl -w # simple_get_sequence.pl - a simple Bioperl example program, which # downloads SWISS-PROT sequences. use strict; use Bio::Perl; my $ID = shift; my $Sequence = get_sequence( 'swiss', $ID ); write_sequence( ">./seqs/$ID.swp", 'swiss', $Sequence ); write_sequence( ">./seqs/$ID.fsa", 'fasta', $Sequence );

  6. Results of Fetching Sequences ... $ mkdir seqs $ chmod +x simple_get_sequence.pl $ ./simple_get_sequence.pl P00392 $ ./simple_get_sequence.pl P00392 $ ./simple_get_sequence.pl MERA_PSEAE $ diff seqs/P00392.fsa seqs/MERA_PSEAE.fsa $ diff seqs/P00392.swp seqs/MERA_PSEAE.swp $ perldoc Bio/Perl.pm

  7. The Multi_Seq_Get.pl program #! /usr/bin/perl -w # Multi_Seq_Get.pl - when provided with a list of IDs, download them. use strict; use Bio::Perl; while ( my $ID = <> ) { chomp( $ID ); print "Fetching Sequence: $ID.\n"; my $Sequence = get_sequence( 'swiss', $ID ); write_sequence( ">./seqs/$ID.swp", 'swiss', $Sequence ); write_sequence( ">./seqs/$ID.fsa", 'fasta', $Sequence ); }

  8. Fetching multiple sequences $ ./Multi_Seq_Get.pl Merp_IDs.lst $ ./Multi_Seq_Get.pl Mera_IDs.lst

  9. Don't reinvent the wheel. Use Bioperl whenever possible. Maxim 20.1

  10. Remote BLAST Searches $blast_result = blast_sequence( $seq ); write_blast( $filename, $blast_result );

  11. Combine Bioperl with other tools to get your work done Maxim 20.2

  12. A quick aside: the blastcl3 NetBlast client $ blastcl3 -i ./seqs/P00392.fsa -d swissprot -p blastp \ > Swiss-Prot.NetBlast_P00392.res

  13. The Blast_parse.pl program #! /usr/bin/perl -w # Blast_parse.pl - post-process/parse BLAST output. use strict; use Bio::SearchIO; my $bls_report = shift; my $in = new Bio::SearchIO( -format => 'blast', -file => $bls_report ); while ( my $result = $in->next_result ) { while( my $hit = $result->next_hit ) { print "Hit = ", $hit->name, "\n"; } }

  14. Parsing BLAST outputs $ ./Blast_parse.pl Swiss-Prot.NetBlast_P00392.res

  15. Results from Blast_parse.pl ... Hit = sp|P00392|MERA_PSEAE Hit = sp|P94702|MERA_ENTAG Hit = sp|Q52109|MERA_ACICA Hit = sp|P94188|MERA_ALCSP Hit = sp|P08332|MERA_SHIFL Hit = sp|Q51772|MERA_PSEFL Hit = sp|P17239|MERA_THIFE Hit = sp|Q54465|MERA_SHEPU Hit = sp||P08662_1 Hit = sp|P30341|MERA_STRLI

  16. Where To From Here

More Related