NAME

query-worms - CLI tool to query the World Register of Marine Species

SYNOPSIS

query-worms --help
query-worms --man
query-worms TASK PARAM [--format TEXT|CSV|SQL] [--debug]
query-worms find-id     'Abra truncata'
query-worms find-record 'Abra alba'
query-worms get-record   507245
query-worms get-children 138474

DESCRIPTION

The tool is Q&D solution to read and search datasets from the
taxonomic database WoRMS.  WoRMS is a register for marine
species. The aim of a World Register of Marine Species (WoRMS) is to
provide an authoritative and comprehensive list of names of marine
organisms, including information on synonymy. While highest priority
goes to valid names, other names in use are included so that this
register can serve as a guide to interpret taxonomic literature.

http://www.marinespecies.org/

TASKS

find-id NAME

Find a WoRMS taxon ID (called AphiaID) by an name.

find-record NAME

Find WoRMS taxon record by name.

get-children ID

Get sub sequent taxa of a certain level for a specific AphiaID. Please be careful, lists for some taxa could be be large.

get-record ID

Get the data record for a specific AphiaID.

PARAMETER

NAME

A NAME addresses a scientific name for a taxon. You can use taxa expression of different ranks like 'Animalia', 'Annelida', 'Abra' or 'Abra alba'.

ID

An ID is a numeric key in WoRMS called AphiaID. You can start an investigation on the top level using:

query-worms get-children 1 | grep ' NAME'

OPTIONEN

-h, --help

Show help advise.

-m, --man

Show manpage

-v, --version

Show version

-D, --debug

Debug queries.

-f --format TEXT|CSV|SQL

Output format

Output formats

The tool gives you different output structures for each operation mode (get-record, find-record, etc...).

find-id NAME

You will get the key (AphiaID) for the addressed taxon.

FORMAT TEXT

INT APHIA.ID 550560

FORMAT SQL

APHIA_ID = 550560

FORMAT CSV

550560

find-record, get-record NAME
Record for species datasets
FORMAT TEXT
WORMS ID 138474
     INT         APHIA.ID 138474
     STR             NAME 'Abra'
     STR           AUTHOR 'Lamarck, 1818'
     STR             RANK 'Genus'
     STR           STATUS 'accepted'
     INT   VALID.APHIA.ID 138474
     STR       VALID.NAME 'Abra'
     STR     VALID.AUTHOR 'Lamarck, 1818'
     STR          KINGDOM 'Animalia'
     STR           PHYLUM 'Mollusca'
     STR            CLASS 'Bivalvia'
     STR            ORDER 'Cardiida'
     STR           FAMILY 'Semelidae'
     STR            GENUS 'Abra'
     STR         CITATION 'MolluscaBase eds. (2026). MolluscaBase. Abra Lamarck, 1818. Accessed through: World Register of Marine Species at: https://www.marinespecies.org/aphia.php?p=taxdetails&id=138474 on 2026-07-28'
EOF
FORMAT SQL
INSERT INTO WORMS_TABLE \
(APHIA_ID,NAME,AUTHOR,RANK,STATUS,VALID_APHIA_ID,VALID_NAME,\
 VALID_AUTHOR,RNK_KINGDOM,RNK_PHYLUM,RNK_CLASS,RNK_ORDER,
 RNK_FAMILY,RNK_GENUS,CITATION) VALUES \

(138474,'Abra','Lamarck, 1818','Genus','accepted',138474,'Abra',\
'Lamarck, 1818','Animalia','Mollusca','Bivalvia','Cardiida', \
'Semelidae','Abra',\
'MolluscaBase eds. (2026). MolluscaBase. Abra Lamarck, 1818. Accessed through: World Register of Marine Species at: https://www.marinespecies.org/aphia.php?p=taxdetails&id=138474 on 2026-07-28');
FORMAT CSV
APHIA_ID,NAME,AUTHOR,RANK,STATUS,VALID_APHIA_ID,VALID_NAME,\
VALID_AUTHOR,RNK_KINGDOM,RNK_PHYLUM,RNK_CLASS,RNK_ORDER,\
RNK_FAMILY,RNK_GENUS,CITATION
138474,'Abra','Lamarck, 1818','Genus','accepted',138474,'Abra',\
'Lamarck, 1818','Animalia','Mollusca','Bivalvia','Cardiida',\
'Semelidae','Abra','MolluscaBase eds. (2026). MolluscaBase. Abra Lamarck, 1818. Accessed through: World Register of Marine Species at: https://www.marinespecies.org/aphia.php?p=taxdetails&id=138474 on 2026-07-28'
get-children ID

A list of secord for pattern search or species groups

FORMAT TEXT (Default config)

WORMS.CHILDREN ID XXXXX

WORMS ID 550560
   STRING  VALID.NAME     'Pontoporeia affinis'
   STRING  STATUS         'unaccepted'
 ...
 EOF
 ...
EOF
FORMAT SQL
INSERT INTO WORMS_TABLE

 (APHIA_ID, NAME, AUTHOR, STATUS, CITE, RANK,
  VALID_APHIA_ID, VALID_NAME, VALID_AUTHOR,
  RNK_KINGDOM, RNK_PHYLUM, RNK_CLASS,
  RNK_ORDER,  RNK_FAMILY,  RNK_GENUS)

VALUES

 (550560,'Pontoporeia affinis','Ekman, 1913',
  'unaccepted','Lowry, J. (2012). Pontoporeia ..',
  'Species',103078,'Pontoporeia affinis',
  'Lindstroem, 1855',
  'Animalia','Arthropoda','Amphipoda',
  'Malacostraca','Pontoporeiidae','Pontoporeia')

 (550561,'Pontoporeia ...'...),
 ...;
FORMAT CSV
LINE1: APHIA_ID,NAME,AUTHOR, ...
LINE2: 50560,'Pontoporeia affinis','Ekman, 1913',...
LINE3: 550560,'Pontoporeia ...',...,...
LINE4: ...

LICENSE

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.