Bio-NEXUS
view release on metacpan or search on metacpan
doc/UserManual.pod view on Meta::CPAN
**Under Construction**
Genome analysis is increasingly dependent on comparative methods of
analysis. Even at the earliest stages of genome annotation, bits of a
new genome sequence are searched against known sequences to mine clues
useful in "functional" inferences (where does the gene start? where
are the introns? what does it do?). Often these inferences are based
on BLAST search results.
Though it is not widely appreciated, there already exists a
sophisticated methodological framework for comparative analysis,
developed over the past 40 years by systematists and evolutionary
biologists, in which differences are interpreted according to
probabilistic models of evolutionary divergence on a branching tree.
The basic methods and concepts of comparative evolutionary biology,
originally developed for morphological characters, can be applied
B<directly> to any kind of character (discrete or continuous,
so long as it fits the L</"2.1. The Character-State Data Model">).
In the ongoing quest to improve the accuracy and reliability of
functional inferences, it is B<inevitable> that the
bioinformatics/genomics community will come to rely on these more
sophisticated methods. This transition will require automatable tools
for phylogenetic analysis and character reconstruction (which
already exist to a large degree), portable and flexible formats for
data exchange, infrastructure to facilitate integration, and better
education about how to integrate probabilistic evolutionary
reasoning into genome interpretation.
=for comment the link is L<http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&db=PubMed&list_uids=11975335&dopt=Abstract>
The NEXUS file format of Maddison, Swofford & Maddison, 1997
(I<Systematic Biology> 46:590-621)
was developed to facilitate the communication and storage of data for comparative
analysis.
=head2 Bio::NEXUS: an Object-oriented Perl API for the NEXUS file format
**Under Construction**
Developing Perl support for NEXUS is a natural way to facilitate evolutionary analysis.
Because of its convenience, flexibility and power, Perl has become the glue language
of bioinformatics. NEXUS is a powerful and flexible format, used in dozens of
evolutionary analysis applications for which simplistic formats like FASTA are
unacceptable. Combining the two makes it easy to develop wrappers for existing
software and to glue together separate procedures into automated pipelines.
Several years of work in our research group led to the development of a NEXUS
applications programming interface or "API" in Perl which we call "Bio::NEXUS" for
"NEXUS Perl Library".
Along with the library modules in Bio::NEXUS, the Bio::NEXUS package described here
includes documentation as well as two demonstration applications,
B<nexplot.pl> and B<nextool.pl>. The Bio::NEXUS library is the middle
layer of the L<http://www.molevol.org/nexplorer> Nexplorer server,
which provides a graphical interface for browsing and manipulating sequence
family data, showcasing the methods in Bio::NEXUS. The graphical rendering
framework used in Nexplorer is the same as that used in nexplot.pl.
A beta version of the package was released in 2004. As of 2006, we are
uploading the package to CPAN.
In terms of the big picture, what is currently missing from this project is
data IO from other formats and streams. Our future plans include integrating
more fully with BioPerl and with the CIPRES services architecture, to provide
access to other file formats commonly used in bioinformatics, as well as to
online services and databases.
=head1 Chapter 2. NEXUS, Bio::NEXUS, and the Character-State Data Model
=head2 2.1. The Character-State Data Model
**Under Construction**
The NEXUS format conveys data organized according to the
B<character state data model>, in which the features of
B<operational taxonomic units (OTUs)> (e.g., species, individuals, genes, genomes, etc.)
are observable B<states> of underlying homologous
B<characters>. For instance, in a protein sequence alignment, proteins are the OTUs,
alignment columns are characters, and amino acids (or gaps) are states.
=begin html
<img src="http://www.molevol.org/camel/images/KOG0011_cdat.jpg" alt="character-state data model" width="100%" />
=end html
=head2 2.2 Evolutionary analysis
**Under Construction**
In evolutionary analysis, it is typical to consider differences as
the result of B<state transitions> by which common ancestral states diverge
along the branches of a B<tree>, according to some model of change. This is what makes evolutionary
analysis so potent. Without the tree-based connection between differences and
models of change, we can interpret similarities and differences
in the search for patterns, but the results are often difficult to relate
in a precise way to mechanistic hypotheses or to questions about causal factors.
With evolutionary analysis, we can turn questions about the significance of
similarities and differences into well posed questions about the rates or
probabilities of different types of changes over time.
=head2 2.3. The NEXUS File Format Standard
**Under Construction**
=head3 Syntax
The NEXUS file is, in a sense, a text representation of the character-state data model.
Thus it provides a means to represent a tree using the Newick standard (L<http://evolution.gs.washington.edu/phylip/newicktree.html>).
The syntactic structure of a NEXUS file is as follows:
=begin text
#NEXUS
begin < blockname >;
< command > [ < modifiers > ] < arguments >;
[ < another_command_with_args >; ]
end;
[ < another_block_with_commands > ]
( run in 1.662 second using v1.01-cache-2.11-cpan-b16cb0d3907 )