BioPerl
Initial release | 11 June 2002 |
---|---|
Stable release | 1.7.2[1]
/ 11 September 2017; 7 December 2019 |
Repository | |
Written in | GPL |
Website | bioperl |
BioPerl[2][3] is a collection of Perl modules that facilitate the development of Perl scripts for bioinformatics applications. It has played an integral role in the Human Genome Project.[4]
Background
BioPerl is an active
The first stable release was on 11 June 2002; the most recent stable (in terms of API) release is 1.7.2 from 7 September 2017. There are also developer releases produced periodically. Version series 1.7.x is considered to be the most stable (in terms of bugs) version of BioPerl and is recommended for everyday use.
In order to take advantage of BioPerl, the user needs a basic understanding of the Perl programming language including an understanding of how to use Perl references, modules, objects and methods.
Features and examples
BioPerl provides software modules for many of the typical tasks of bioinformatics programming. These include:
- Accessing peptide sequence data from local and remote databases
Example of accessing GenBank to retrieve a sequence:
use Bio::DB::GenBank; $db_obj = Bio::DB::GenBank->new; $seq_obj = $db_obj->get_Seq_by_acc( # Insert Accession Number );
- Transforming formats of database/ file records
Example code for transforming formats
use Bio::SeqIO; my $usage = "all2y.pl informat outfile outfileformat"; my $informat = shift or die $usage; my $outfile = shift or die $usage; my $outformat = shift or die $usage; my $seqin = Bio::SeqIO->new( -fh => *STDIN, -format => $informat, ); my $seqout = Bio::SeqIO->new( -file => ">$outfile", -format => $outformat, ); while (my $inseq = $seqin->next_seq) { $seqout->write_seq($inseq); }
- Manipulating individual sequences
Example of gathering statistics for a given sequence
use Bio::Tools::SeqStats; $seq_stats = Bio::Tools::SeqStats->new($seqobj); $weight = $seq_stats->get_mol_wt(); $monomer_ref = $seq_stats->count_monomers(); # for nucleic acid sequence $codon_ref = $seq_stats->count_codons();
- Searching for similar sequences
- Creating and manipulating sequence alignments
- Searching for genes and other structures on genomic DNA
- Developing machine readable sequence annotations
Usage
In addition to being used directly by end-users,[5] BioPerl has also provided the base for a wide variety of bioinformatic tools, including amongst others:
- SynBrowse[6]
- GeneComber[7]
- TFBS[8]
- MIMOX[9]
- BioParser[10]
- Degenerate primer design[11]
- Querying the public databases[12]
- Current Comparative Table[13]
New tools and algorithms from external developers are often integrated directly into BioPerl itself:
Advantages
BioPerl was one of the first biological module repositories that increased its usability. It has very easy to install modules, along with a flexible global repository. BioPerl uses good test modules for a large variety of processes.
Disadvantages
There are many ways to use BioPerl, from simple scripting to very complex object programming. This makes the language not clear and sometimes hard to understand. For as many modules that BioPerl has, some do not always work the way they are intended.[citation needed]
Related libraries in other programming languages
Several related bioinformatics libraries implemented in other programming languages exist as part of the Open Bioinformatics Foundation, including:
References
- ^ Error: Unable to display the reference properly. See the documentation for details.
- PMID 12368254.
- ^ "BioPerl publications - BioPerl". Archived from the original on 2007-02-02. Retrieved 2007-01-21. A complete, up-to-date list of BioPerl references
- ^ Lincoln Stein (1996). "How Perl saved the human genome project". The Perl Journal. 1 (2). Archived from the original on 2007-02-02. Retrieved 2009-02-25.
- PMID 16888347.
- PMID 15994196.
- PMID 12835277.
- PMID 12176838.
- PMID 17038191.
- PMID 16539538.
- PMID 16452781.
- PMID 16441875.
- PMID 15980582.
- S2CID 1704494.
- PMID 15888684.