Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
BioPerl
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Collection of Perl modules for bioinformatics}} {{Infobox software | name = BioPerl | logo = BioPerlLogo.png | released = {{Start date and age|2002|06|11|df=yes}} | latest release version = {{wikidata|property|edit|P548=Q2804309|P348}} | latest release date = {{start date and age|{{wikidata|qualifier|P548=Q2804309|P348|P577}}}} | programming language = [[Perl]] | genre = [[Bioinformatics]] | license = [[Artistic License]] and [[GPL]] | website = {{URL|bioperl.org}} }} '''BioPerl'''<ref>{{Cite journal | last1 = Stajich | first1 = J. E. | last2 = Block | first2 = D. | last3 = Boulez | first3 = K. | last4 = Brenner | first4 = S.| author-link4 = Steven E. Brenner | last5 = Chervitz | first5 = S. | last6 = Dagdigian | first6 = C. | last7 = Fuellen | first7 = G. | last8 = Gilbert | first8 = J. | last9 = Korf | first9 = I. | last10 = Lapp | first10 = H. | last11 = Lehväslaiho | first11 = H. | last12 = Matsalla | first12 = C. | last13 = Mungall | first13 = C. J. | last14 = Osborne | first14 = B. I. | last15 = Pocock | first15 = M. R. | last16 = Schattner | first16 = P. | last17 = Senger | first17 = M. | last18 = Stein | first18 = L. D. | author-link18 = Lincoln Stein| last19 = Stupka | first19 = E. | last20 = Wilkinson | first20 = M. D. | last21 = Birney | first21 = E. | author-link21 = Ewan Birney| title = The BioPerl Toolkit: Perl Modules for the Life Sciences | doi = 10.1101/gr.361602 | journal = Genome Research | volume = 12 | issue = 10 | pages = 1611–1618 | year = 2002 | pmid = 12368254 | pmc =187536 }}</ref><ref>{{cite web |url=http://www.bioperl.org/wiki/BioPerl_publications |title=BioPerl publications - BioPerl |access-date=2007-01-21 |url-status=dead |archive-url=https://web.archive.org/web/20070202113842/http://www.bioperl.org/wiki/BioPerl_publications |archive-date=2007-02-02 }} A complete, up-to-date list of BioPerl references</ref> 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]].<ref>{{cite journal | url=http://www.bioperl.org/wiki/How_Perl_saved_human_genome | title=How Perl saved the human genome project | author=Lincoln Stein | year=1996 | volume=1 | issue=2 | journal=The Perl Journal | access-date=2009-02-25 | url-status=dead | archive-url=https://web.archive.org/web/20070202101624/http://www.bioperl.org/wiki/How_Perl_saved_human_genome | archive-date=2007-02-02 | author-link=Lincoln Stein }}</ref> ==Background== BioPerl is an active [[Open-source software|open source]] software project supported by the [[Open Bioinformatics Foundation]]. The first set of Perl codes of BioPerl was created by [[Tim Hubbard]] and Jong Bhak{{citation needed|date=February 2014}} at [[Medical Research Council (United Kingdom)|MRC]] Centre Cambridge, where the first genome sequencing was carried out by [[Fred Sanger]]. MRC Centre was one of the hubs and birthplaces of modern bioinformatics as it had a large quantity of DNA sequences and 3D protein structures. Hubbard was using the <code>th_lib.pl</code> Perl library, which contained many useful Perl subroutines for bioinformatics. Bhak, Hubbard's first PhD student, created <code>jong_lib.pl</code>. Bhak merged the two Perl subroutine libraries into <code>Bio.pl</code>. The name BioPerl was coined jointly by Bhak and [[Steven E. Brenner|Steven Brenner]] at the [[Centre for Protein Engineering]] (CPE). In 1995, Brenner organized a BioPerl session at the [[Intelligent Systems for Molecular Biology]] conference, held in Cambridge. BioPerl had some users in coming months including Georg Fuellen who organized a training course in Germany. Fuellen's colleagues and students greatly extended BioPerl; this was further expanded by others, including Steve Chervitz who was actively developing Perl codes for his yeast genome database. The major expansion came when Cambridge student [[Ewan Birney]] joined the development team.{{citation needed|date=December 2013}} 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 [[Nucleotide sequence|nucleotide]] and [[Peptide sequence|peptide]] sequence data from local and remote [[Biological database|databases]] '''Example of accessing GenBank to retrieve a sequence:''' {{sxhl|2=perl|1= use Bio::DB::GenBank; $db_obj = Bio::DB::GenBank->new; $seq_obj = $db_obj->get_Seq_by_acc( # Insert Accession Number ); }} * Transforming [[List of file formats#Biology|formats]] of database/ file records '''Example code for transforming formats''' {{sxhl|2=perl|1= 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''' {{sxhl|2=perl|1= 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 alignment]]s * Searching for [[gene]]s and other structures on [[Genome|genomic]] DNA * Developing machine-readable sequence [[Genome project#Genome annotation|annotations]] ==Usage== In addition to being used directly by end-users,<ref>{{cite book |vauthors=Khaja R, MacDonald J, Zhang J, Scherer S |chapter=Methods for identifying and mapping recent segmental and gene duplications in eukaryotic genomes |series=Methods Mol Biol |volume=338 |pages=9–20 |year=2006 |pmid=16888347 |doi=10.1385/1-59745-097-9:9 |isbn=978-1-59745-097-3 |chapter-url-access=registration |chapter-url=https://archive.org/details/genemappingdisco00mino |title=Gene Mapping, Discovery, and Expression |publisher=Totowa, N.J. : Humana Press |url=https://archive.org/details/genemappingdisco00mino/page/9 }}</ref> BioPerl has also provided the base for a wide variety of bioinformatic tools, including [https://web.archive.org/web/20070202113842/http://www.bioperl.org/wiki/BioPerl_publications amongst others]: * SynBrowse<ref>{{Cite journal | last1 = Pan | first1 = X. | last2 = Stein | first2 = L. | author-link2 = Lincoln Stein| last3 = Brendel | first3 = V. | doi = 10.1093/bioinformatics/bti555 | title = SynBrowse: A synteny browser for comparative sequence analysis | journal = Bioinformatics | volume = 21 | issue = 17 | pages = 3461–3468 | year = 2005 | pmid = 15994196| doi-access = free }}</ref> * GeneComber<ref>{{Cite journal | last1 = Shah | first1 = S. P. | last2 = McVicker | first2 = G. P. | last3 = MacKworth | first3 = A. K. | last4 = Rogic | first4 = S. | last5 = Ouellette | first5 = B. F. F. | title = GeneComber: Combining outputs of gene prediction programs for improved results | doi = 10.1093/bioinformatics/btg139 | journal = Bioinformatics | volume = 19 | issue = 10 | pages = 1296–1297 | year = 2003 | pmid = 12835277| doi-access = free }}</ref> * TFBS<ref>{{Cite journal | last1 = Lenhard | first1 = B. | last2 = Wasserman | first2 = W. W. | doi = 10.1093/bioinformatics/18.8.1135 | title = TFBS: Computational framework for transcription factor binding site analysis | journal = Bioinformatics | volume = 18 | issue = 8 | pages = 1135–1136 | year = 2002 | pmid = 12176838| doi-access = free }}</ref> * MIMOX<ref>{{Cite journal | last1 = Huang | first1 = J. | last2 = Gutteridge | first2 = A. | last3 = Honda | first3 = W. | last4 = Kanehisa | first4 = M. | title = MIMOX: A web tool for phage display based epitope mapping | journal = BMC Bioinformatics | volume = 7 | pages = 451 | doi = 10.1186/1471-2105-7-451 | year = 2006 | pmid = 17038191| pmc =1618411 | doi-access = free }}</ref> * BioParser<ref>{{Cite journal | last1 = Catanho | first1 = M. | last2 = Mascarenhas | first2 = D. | last3 = Degrave | first3 = W. | last4 = De Miranda | first4 = A. B. ?L. | title = BioParser | doi = 10.2165/00822942-200605010-00007 | journal = Applied Bioinformatics | volume = 5 | issue = 1 | pages = 49–53 | year = 2006 | pmid = 16539538| doi-access = free }}</ref> * Degenerate primer design<ref>{{Cite journal | last1 = Wei | first1 = X. | last2 = Kuhn | first2 = D. N. | last3 = Narasimhan | first3 = G. | title = Degenerate primer design via clustering | journal = Proceedings. IEEE Computer Society Bioinformatics Conference | volume = 2 | pages = 75–83 | year = 2003 | pmid = 16452781 }}</ref> * Querying the public databases<ref>{{Cite journal | last1 = Croce | first1 = O. | last2 = Lamarre | first2 = M. L. | last3 = Christen | first3 = R. | title = Querying the public databases for sequences using complex keywords contained in the feature lines | journal = BMC Bioinformatics | volume = 7 | pages = 45 | year = 2006 | doi = 10.1186/1471-2105-7-45 | pmid = 16441875| pmc =1403806 | doi-access = free }}</ref> * Current Comparative Table<ref>{{Cite journal | last1 = Landsteiner | first1 = B. R. | last2 = Olson | first2 = M. R. | last3 = Rutherford | first3 = R. | doi = 10.1093/nar/gki432 | title = Current Comparative Table (CCT) automates customized searches of dynamic biological databases | journal = Nucleic Acids Research | volume = 33 | issue = Web Server issue | pages = W770–W773 | year = 2005 | pmid = 15980582| pmc =1160193 }}</ref> New tools and algorithms from external developers are often integrated directly into BioPerl itself: * Dealing with phylogenetic trees and nested taxa<ref>{{Cite journal | last1 = Llabrés | first1 = M. | last2 = Rocha | first2 = J. | last3 = Rosselló | first3 = F. | last4 = Valiente | first4 = G. | title = On the Ancestral Compatibility of Two Phylogenetic Trees with Nested Taxa | doi = 10.1007/s00285-006-0011-4 | journal = Journal of Mathematical Biology | volume = 53 | issue = 3 | pages = 340–364 | year = 2006 | pmid = 16823581| arxiv = cs/0505086 | s2cid = 1704494 }}</ref> * FPC Web tools<ref>{{Cite journal | last1 = Pampanwar | first1 = V. | last2 = Engler | first2 = F. | last3 = Hatfield | first3 = J. | last4 = Blundy | first4 = S. | last5 = Gupta | first5 = G. | last6 = Soderlund | first6 = C. | title = FPC Web Tools for Rice, Maize, and Distribution | doi = 10.1104/pp.104.056291 | journal = Plant Physiology | volume = 138 | issue = 1 | pages = 116–126 | year = 2005 | pmid = 15888684| pmc =1104167 }}</ref> ==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|date=August 2021}} ==Related libraries in other programming languages== Several related bioinformatics libraries implemented in other programming languages exist as part of the [[Open Bioinformatics Foundation]], including: * [[Biopython]] * [[BioJava]] * [[BioRuby]] * [[BioPHP]] * [[BioJS]] * [[Bioconductor]] ==See also== * [[Earth BioGenome Project]] ==References== {{Reflist|2}} {{Perl}} [[Category:Perl software]] [[Category:Free bioinformatics software]] [[Category:Bioinformatics software]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Citation needed
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite web
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main other
(
edit
)
Template:Perl
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Sxhl
(
edit
)
Template:Template other
(
edit
)