Skip to content

Marinvaders - example tutorial

Introduction

The Marine Invaders toolkit (Marinvaders) cross-references several marine databases to gather information on the native and alien distribution of marine species.

Marinvaders allows to assess the alien and native status of a specific species accross eco-regions and to list all alien and native species within a specific eco-region.

This is done by quering the OBIS data for distributions of species and linking this data to the native/alien assessment in the WoRMS, NatCon and GISD (optional) data bases. Marinvaders aims to facilitate the development of large-scale impact assessments of marine invasive species.

The Open Source code GNU GPL v3 of marinvaders can be found on Gitlab, where you can also read more about the data sources and data handling. Note that the data included and processed by marinvaders keep it original license - see the README.md License section for furter information.

The following tutorial consists of two parts. In

alien species within a specific eco-region

For both sections, we need the marinvaders library. See the README at the repository for the full installation instructions.

import marinvaders

For convenience, we are using itable heres to show interactive pandas DataFrames. This does only work in the classic Jupyter Notebook view (not in in JupyterLab). If you are running the latter, switch to the classic view in "Help - Launch Classic Notebook" or remove the next cell (itables adds interactive filtering and search to the pandas.DataFrames - the notebook can also used without that).

import itables.options as opt

opt.classes = ["display", "nowrap"]
opt.columnDefs = [{"width": "120px", "targets": "_all"}]
from itables import init_notebook_mode
init_notebook_mode(all_interactive=True)

# If you receive a read "Javascript Error" here, see explanation above.

With all the setup out of the way, we can start with the first analysis.

Species analysis

a striped barnacle

Here we analyse the native and invasive distribution of a certain species. As an example we use Amphibalanus amphitrite (Darwin, 1854), aka the striped barnacle.

Since species names can change as part of taxonomic restructuring, marinvaders uses the AphiaID to specify a certain species. We can obtain this id from the World Register of Marine Species, WORMS:

In the search field there, enter the species name and you get forwarded to the WORMS register of this barnacle..
The AphiaID is stated as first entry in the overview (which is the same as the id used in the url). You can either use the integer number or the full universal identifiers string ('urn:lsid:marinespecies.org:taxname:421137').

Thus (this command might take some time as it collects information from various web data-sources):

species_data = marinvaders.Species(aphia_id=107379)

We can now investigate all recorded observations of this this species:

species_data.all_occurrences
aphiaID species scientificName acceptedNameUsage ECOREGION ECO_CODE establishmentMeans dataset geometry
Loading... (need help?)
20051 in species_data.all_occurrences.ECO_CODE.values
True

By linking this data from the OBIS database to the information about alien species locations in WoRMS, NatCon and GISD (optiona) we can get all regions where this species is reported as alien/invasive:

species_data.reported_as_alien
aphiaID species scientificName acceptedNameUsage ECOREGION ECO_CODE establishmentMeans dataset geometry
Loading... (need help?)

In this table the data-source for the assessment as alien is reported in column "dataset".

Finally, we can also visualize these different perspectives with:

fig=species_data.plot()