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.

..see also L<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 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'.

Example: query-worms find-record 'Abra alba' | grep ' NAME'

ID

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

Example: 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

Handle records 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 record for pattern search or species groups

FORMAT TEXT (Default configuration)
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: ...

AUTHOR

Alexander Weidauer <alex.weidauer@huckfinn.de>

COPYRIGHT AND LICENSE

Copyright (C) 2012 by Alexander Weidauer

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/>.