Bio::Phylo::Parsers::Dwca - Parser used by Bio::Phylo::IO, no serviceable parts
inside
This module parses standard Darwin Core Archive files as produced by GBIF (see:
<http://www.gbif.org/resource/80639>). The end result is a
Bio::Phylo::Taxa object that has as many taxon objects in it as there are
distinct "dwc:scientificName"s in the
archive. For example, if the archive is for a single species there will thus
be only one taxon object in the produced result. Each taxon object is
annotated with as many "dwc:Occurrence"
records, instantiated as Bio::Phylo::NeXML::Meta annotations, as there are
occurrences for that species in the archive. In turn, nested in each of these
annotations are the predicates and objects for that record.
Using this module, the contents of a Darwin Core Archive can be
easily accessed and, for example, prepared as input for MAXENT. Here is an
example to show how this is done:
use Bio::Phylo::IO 'parse';
use Bio::Phylo::Util::CONSTANT ':objecttypes';
# a set of fossil occurrences of th feral horse, Equus ferus Boddaert, 1785
# this corresponds with data set doi:10.15468/dl.yyyhyn
my $url = 'http://api.gbif.org/v1/occurrence/download/request/0074675-160910150852091.zip';
# like every Bio::Phylo::IO module, we can parse directly from a web location
my $proj = parse(
'-format' => 'dwca',
'-url' => $url,
'-as_project' => 1,
);
# write a CSV file with MAXENT header
print "Species,Latitude,Longitude\n";
for my $t ( @{ $proj->get_items(_TAXON_) } ) {
my $name = $t->get_name;
for my $m ( @{ $t->get_meta } ) {
my $lat = $m->get_meta_object('dwc:decimalLatitude');
my $lon = $m->get_meta_object('dwc:decimalLongitude');
print "\"$name\",$lat,$lon\n";
}
}
There is a mailing list at
<https://groups.google.com/forum/#!forum/bio-phylo> for any user or
developer questions and discussions.
- Bio::Phylo::IO
- The dwca parser is called by the Bio::Phylo::IO object. Look there to
learn how to parse data in general
- Bio::Phylo::Manual
- Also see the manual: Bio::Phylo::Manual and
<http://rutgervos.blogspot.com>
If you use Bio::Phylo in published research, please cite it:
Rutger A Vos, Jason Caravas, Klaas Hartmann,
Mark A Jensen and Chase Miller, 2011. Bio::Phylo -
phyloinformatic analysis using Perl. BMC Bioinformatics 12:63.
<http://dx.doi.org/10.1186/1471-2105-12-63>