API Usage Guide
Attention
guidelines for the bio.tools API
to make suggestions about these guidelines please add comments via GitHub
see also the API Reference
bio.tools implements the model of software information defined in biotoolsScheme v3.0.0 . This page summarises the structure and syntax of an XML / JSON file that describes a tool for submission to bio.tools via the API.
Payload formats
To submit a tool via the bio.tools API you’ll need to POST a tool description to the tool endpoint. The API supports XML and JSON format uploads and downloads comatible with biotoolsSchema.
Note
Support for YAML (and other) formats can be added if required. If you want this, please tell us via GitHub.
XML
See the sample XML document.
Important
When working in XML, please first read the biotoolsSchema docs. It is essential to stick to the element order (including nested elements) in the sample XML documents and as shown below.
JSON
A sample JSON document may look like this:
{
"name": "SignalP",
"description": "Prediction of the presence and location of signal peptide cleavage sites in amino acid sequences from different organisms.",
"homepage": "http://cbs.dtu.dk/services/SignalP/",
"biotoolsID": "signalp",
"biotoolsCURIE": "biotools:signalp",
"version":
[
"6.4.0.0",
"1.1 - 1.4, 2.0-alpha, 2.0-beta-01 - 2.0-beta-04, 2.0.0"
]
"otherID":
[
{
"value": "RRID:SCR_015644",
"type": "rrid",
"version": "4.1"
},
{
"value": "doi:10.1007/978-1-4939-7015-5_6",
"type": "doi"
"version": "4.1"
}
]
"function":
[
{
"operation":
[
{
"uri": "http://edamontology.org/operation_0418",
"term": "Protein signal peptide detection"
},
{
"uri": "http://edamontology.org/operation_0422",
"term": "Protein cleavage site prediction"
}
],
"input":
[
{
"data":
{
"uri": "http://edamontology.org/data_2044",
"term": "Sequence"
},
"format":
[
{
"uri": "http://edamontology.org/format_1929",
"term": "FASTA"
},
{
"uri": "http://edamontology.org/format_3008",
"term": "MAF"
}
]
}
],
"output":
[
{
"data":
{
"uri": "http://edamontology.org/data_1277",
"term": "Protein features"
},
"format":
[
{
"uri": "http://edamontology.org/format_2305",
"term": "GFF"
},
{
"uri": "http://edamontology.org/format_3164",
"term": "GTrack"
},
]
},
{
"data":
{
"uri": "http://edamontology.org/data_2955",
"term": "Sequence report"
},
"format":
[
{
"uri": "http://edamontology.org/format_2331",
"term": "HTML"
}
]
}
]
"note": "Predicts the presence and location of signal peptide cleavage sites in amino acid sequences from different organisms.",
"cmd": "--someOption",
}
],
"toolType":
[
"Command-line tool",
"Web application"
],
"topic":
[
{
"uri": "http://edamontology.org/topic_0080",
"term": "Sequence analysis"
},
{
"uri": "http://edamontology.org/topic_0078",
"term": "Proteins"
}
],
"operatingSystem":
[
"Linux",
"Mac"
],
"language":
[
"ActionScript",
"C"
],
"license": "Proprietary",
"collectionID":
[
"CBS",
"mytools"
],
"maturity": "Mature",
"cost": "Free of charge (with restrictions)",
"accessibility":
[
"Open access",
],
"link":
[
{
"url": "http://www.cbs.dtu.dk/cgi-bin/sw_request?signalp",
"type": "Repository",
"note": "A comment goes here"
},
{
"url": "http://www.cbs.dtu.dk/helpdesk",
"type": "Helpdesk",
"type": "Issue tracker",
"note": "A comment goes here"
}
],
"download":
[
{
"url": "http://www.cbs.dtu.dk/cgi-bin/sw_request?signalp",
"type": "Source code",
"note": "A comment goes here"
"version": "1.4"
},
{
"url": "http://www.cbs.dtu.dk/cgi-bin/sw_request?signalp",
"type": "Binaries",
"note": "A comment goes here"
"version": "1.4"
}
],
"documentation":
[
{
"url": "http://www.cbs.dtu.dk/services/SignalP",
"type": "General",
"type": "Code of conduct",
"note": "A comment goes here"
},
{
"url": "http://www.cbs.dtu.dk/services/SignalP",
"type": "Citation instructions",
"note": "A comment goes here"
}
],
"relation":
[
{
"biotoolsID": "needle",
"type": "isNewVersionOf",
},
{
"biotoolsID": "emboss",
"type": "includedIn"
}
],
"publication":
[
{
"doi": "10.1038/nmeth.1701",
"pmid": "21959131",
"pmcid": "21959131",
"type": "Primary",
"note": "A comment goes here",
"version": "1.4"
},
{
"doi": "10.1038/nmeth.1701",
"pmid": "21959131",
"pmcid": "21959131",
"type": "Other",
"note": "A comment goes here",
"version": "1.4"
}
],
"credit":
[
{
"name": "TN Petersen",
"email": "test@email.com",
"url": "http://someurl.org",
"orcidid": "test",
"gridid": "test",
"rorid": "test",
"fundrefid": "test",
"typeEntity": "Person",
"typeRole": "Developer",
"note": "A comment goes here"
},
{
"elixirPlatform", "Tools",
},
{
"elixirNode", "Denmark"
}
],
}
Tool attributes
Name
Canonical software name assigned by the software developer or service provider, e.g. “needle”
- Attribute name
name
- Required
Yes
- Cardinality
1 only
- Type
String
- Restrictions
Min length: 1
Max length: 100
Pattern:
[\p{Zs}A-Za-z0-9+\.,\-_:;()]*
Example
# XML
<name>needle</name>
# JSON
"name": "needle"
Note
name may only contain space, uppercase and lowercase letters, decimal digits, plus symbol, period, comma, dash, underscore, colon, semicolon and parentheses.
line feeds, carriage returns, tabs, leading and trailing spaces, and multiple spaces are not allowed / will be removed.
see the curation guidelines.
Description
Textual description of the software, e.g. “needle reads two input sequences and writes their optimal global sequence alignment to file. It uses the Needleman-Wunsch alignment algorithm to find the optimum alignment (including gaps) of two sequences along their entire length. The algorithm uses a dynamic programming method to ensure the alignment is optimum, by exploring all possible alignments and choosing the best.”
- Attribute name
description
- Required
Yes
- Cardinality
1 only
- Type
String
- Restrictions
Min length: 10
Max length: 1000
Example
# XML
<description>needle reads two input sequences and writes their optimal global sequence alignment to file. It uses the Needleman-Wunsch alignment algorithm to find the optimum alignment (including gaps) of two sequences along their entire length. The algorithm uses a dynamic programming method to ensure the alignment is optimum, by exploring all possible alignments and choosing the best.</description>
# JSON
"description": "needle reads two input sequences and writes their optimal global sequence alignment to file. It uses the Needleman-Wunsch alignment algorithm to find the optimum alignment (including gaps) of two sequences along their entire length. The algorithm uses a dynamic programming method to ensure the alignment is optimum, by exploring all possible alignments and choosing the best."
Note
minimum 10 and maximum 1000 characters.
line feeds, carriage returns, tabs, leading and trailing spaces, and multiple spaces are not allowed / will be removed.
see the curation guidelines.
Homepage
Homepage of the software, or some URL that best serves this purpose, e.g. “http://emboss.open-bio.org/rel/rel6/apps/needle.html”
- Attribute name
homepage
- Required
Yes
- Cardinality
1
- Type
URL
- Restrictions
Pattern:
http(s?)://[^\s/$.?#].[^\s]*
Example
# XML
<homepage>http://emboss.open-bio.org/rel/rel6/apps/needle.html</homepage>
# JSON
"homepage": "http://emboss.open-bio.org/rel/rel6/apps/needle.html"
Note
a single valid URL is specified.
see the curation guidelines.
biotoolsID
Unique ID (case insensitive) of the tool that is assigned upon registration of the software in bio.tools, normally identical to tool name, e.g. “needle”.
- Attribute name
biotoolsID
- Required
No
- Cardinality
0 or 1
- Type
String
- Restrictions
Pattern:
[_\-.0-9a-zA-Z]*
Example
# XML
<biotoolsID>needle</biotoolsID>
# JSON
"biotoolsID": "needle"
Attention
a biotoolsID is set (and can only be changed) by bio.tools admin. It can be retrieved by API, but if specified in the payload to a
PUTorPOSTrequest will be disregarded.
Note
the biotoolssID is a URL-safe and Linked-Data-safe derivative of (often identical to) the tool name. Allowed characters are uppercase and lowercase English letters (case insensitive!), decimal digits, hyphen, period, and underscore. Spaces can be preserved as underscore (“_”).
see the curation guidelines.
biotoolsCURIE
bio.tools CURIE (compact URI) based on the unique bio.tools ID of the tool, e.g. “biotools:needle”
- Attribute name
biotoolsCURIE
- Required
No
- Cardinality
0 or 1
- Type
String
- Restrictions
Pattern:
biotools:[_\-.0-9a-zA-Z]*
Example
# XML
<biotoolsCURIE>needle</biotoolsCURIE>
# JSON
"biotoolsCURIE": "needle"
Attention
a biotoolsCURIE is set (and can only be changed) by bio.tools admin. It can be retrieved by API, but if specified in the payload to a
PUTorPOSTrequest will be disregarded.
Note
the bio.tools CURIE is simply the bio.tools tool ID with the prefix “biotools:”.
see the curation guidelines.
Version
Version information (typically a version number) of the software applicable to this bio.tools entry, e.g. “6.4.0.0”
- Attribute name
version
- Required
No
- Cardinality
0 to many
- Type
String array
- Restrictions
Min length: 1
Max length: 100
Pattern:
[\p{Zs}A-Za-z0-9+\.,\-_:;()]*
Example
# XML
<version>6.4.0.0</version>
<version>1.1 - 1.4, 2.0-alpha, 2.0-beta-01 - 2.0-beta-04, 2.0.0</version>
# JSON
"version":
[
"6.4.0.0",
"1.1 - 1.4, 2.0-alpha, 2.0-beta-01 - 2.0-beta-04, 2.0.0"
]
Note
name may only contain space, uppercase and lowercase English letters, decimal digits, plus symbol, period, comma, dash, colon, semicolon and parentheses.
line feeds, carriage returns, tabs, leading and trailing spaces, and multiple spaces are not allowed / will be removed.
see the curation guidelines.
Other IDs
A unique identifier of the software, typically assigned by an ID-assignment authority other than bio.tools, e.g. “RRID:SCR_015644”
- Attribute name
otherID
- Required
No
- Cardinality
0 to many
- Type
List of otherID objects
- otherID object definition
- value
Required: Yes
Cardinality: 1 only
Type: String
Pattern:
(doi|DOI):?10.[0-9]{4,9}[A-Za-z0-9:;\)\(_/.-]+Pattern:
(rrid|RRID):.+Pattern:
(cpe|CPE):.+Pattern:
(biotools|BIOTOOLS):[_\-.0-9a-zA-Z]*
- type
Required: No
Cardinality: 0 or 1
Type: ENUM (list)
Allowed values (see Curators Guide)
doirridcpebiotoolsCURIE
- version
Required: No
Cardinality: 0 or 1
Type: String
Restrictions: Min length: 1, Max length: 100
Pattern:
[\p{Zs}A-Za-z0-9+\.,\-_:;()]*
Example
# XML
<otherID>
<value>RRID:SCR_015644</value>
<type>rrid</type>
<version>4.1</version>
</otherID>
<otherID>
<value>doi:10.1007/978-1-4939-7015-5_6</value>
<type>doi</type>
<version>4.1</version>
</otherID>
# JSON
"otherID":
[
{
"value": "RRID:SCR_015644",
"type:" "rrid",
"version": "4.1"
},
{
"value": "doi:10.1007/978-1-4939-7015-5_6",
"type": "doi"
"version": "4.1"
}
]
Note
type can normally be inferred from the value but should be specified otherwise. In the example it was not actually necessary to specify “type”.
see the curation guidelines.
Function
Details of a function (i.e. mode of operation) the software provides, expressed in terms from the EDAM ontology.
- Attribute name
function
- Required
No
- Cardinality
0 to many
- Type
List of function objects
- Function object definition
- Content
- Operation
Required: Yes
Cardinality: 1 to many
Type: List of EDAM objects
- Input
Required: No
Cardinality: 0 to many
Type: List of input objects
- Output
Required: No
Cardinality: 0 to many
Type: List of output objects
- note
Required: No
Cardinality: 0 or 1
Type: String
Restrictions: min length: 10, max length: 1000
- cmd
Required: No
Cardinality: 0 or 1
Type: String
Restrictions: min length: 1, max length: 1000
Note
note and cmd: line feeds, carriage returns, tabs, leading and trailing spaces, and multiple spaces are not allowed / will be removed.
see the curation guidelines for the function group, note and command.
Example
# XML
<function>
<operation>
<uri>http://edamontology.org/operation_0418</uri>
<term>Protein signal peptide detection</term>
</operation>
<operation>
<uri>http://edamontology.org/operation_0422</uri>
<term>Protein cleavage site prediction</term>
</operation>
<input>
<data>
<uri>http://edamontology.org/data_2044</uri>
<term>Sequence</term>
</data>
<format>
<uri>http://edamontology.org/format_1929</uri>
<term>FASTA</term>
</format>
<output>
<data>
<uri>http://edamontology.org/data_1277</uri>
<term>Protein features</term>
</data>
<format>
<uri>http://edamontology.org/format_2305</uri>
<term>GFF</term>
</format>
<data>
<uri>http://edamontology.org/data_2955</uri>
<term>Sequence report</term>
</data>
<format>
<uri>http://edamontology.org/format_1929</uri>
<term>FASTA</term>
</format>
</output>
<note>Predicts the presence and location of signal peptide cleavage sites in amino acid sequences from different organisms.</note>
<cmd>-s best</cmd>
</function>
# JSON
"function":
[
{
"operation":
[
{
"uri": "http://edamontology.org/operation_0418",
"term": "Protein signal peptide detection"
},
{
"uri": "http://edamontology.org/operation_0422",
"term": "Protein cleavage site prediction"
}
],
"input":
[
{
"data":
{
"uri": "http://edamontology.org/data_2044",
"term": "Sequence"
},
"format":
[
{
"uri": "http://edamontology.org/format_1929",
"term": "FASTA"
}
]
}
],
"output":
[
{
"data":
{
"uri": "http://edamontology.org/data_1277",
"term": "Protein features"
},
"format":
[
{
"uri": "http://edamontology.org/format_2305",
"term": "GFF"
}
]
},
{
"data":
{
"uri": "http://edamontology.org/data_2955",
"term": "Sequence report"
},
"format":
[
{
"uri": "http://edamontology.org/format_1929",
"term": "FASTA"
}
]
}
]
"note": "Predicts the presence and location of signal peptide cleavage sites in amino acid sequences from different organisms.",
"cmd": "-s best",
}
]
Operation
The basic operation(s) performed by this software function (EDAM Operation), e.g. “‘Protein signal peptide detection’ (http://edamontology.org/operation_0418)”
- Attribute name
operation
- Required
Yes
- Cardinality
1 to many
- Child of
- Type
List of EDAM objects
- EDAM object definition
- Content
- uri
Required: No (if term present), Yes (otherwise)
Cardinality: 0 or 1
Type: URL
- term
Required: No (if URI present), Yes (otherwise)
Cardinality: 0 or 1
Type: String
Note
an EDAM ontology Operation concept URL and / or term are specified, e.g. “Multiple sequence alignment”, http://edamontology.org/operation_0492.
URI and term are validated against EDAM ontology; if term and URI do not match, an error will be returned.
synonyms of terms (as defined in EDAM) are accepted
see the curation guidelines.
Example
# XML
<operation>
<uri>http://edamontology.org/operation_0418</uri>
<term>Protein signal peptide detection</term>
</operation>
<operation>
<uri>http://edamontology.org/operation_0422</uri>
<term>Protein cleavage site prediction</term>
</operation>
# JSON
"operation":
[
{
"uri": "http://edamontology.org/operation_0418",
"term": "Protein signal peptide detection"
},
{
"uri": "http://edamontology.org/operation_0422",
"term": "Protein cleavage site prediction"
}
]
Input
Primary input data (if any)
- Attribute name
input
- Required
No
- Cardinality
0 to many
- Child of
- Type
List of input objects
- Input object definition
- Content
- data
Required: Yes
Cardinality: 1 only
Type: EDAM object
- format
Required: No
Cardinality: 0 to many
Type: List of EDAM objects
Example
# XML
<data>
<uri>http://edamontology.org/data_2044</uri>
<term>Sequence</term>
</data>
<format>
<uri>http://edamontology.org/format_1929</uri>
<term>FASTA</term>
</format>
# JSON
"input":
[
{
"data":
{
"uri": "http://edamontology.org/data_2044",
"term": "Sequence"
},
"format":
[
{
"uri": "http://edamontology.org/format_1929",
"term": "FASTA"
}
]
}
]
Output
Primary output data (if any)
- Attribute name
output
- Required
No
- Cardinality
0 to many
- Child of
- Type
List of output objects
- Output object definition
- Content
- data
Required: Yes
Cardinality: 1 only
Type: EDAM object
- format
Required: No
Cardinality: 0 to many
Type: List of EDAM objects
Example
# XML
"output":
<data>
<uri>http://edamontology.org/data_2044</uri>
<term>Sequence</term>
</data>
<format>
<uri>http://edamontology.org/format_1929</uri>
<term>FASTA</term>
</format>
# JSON
"output":
[
{
"data":
{
"uri": "http://edamontology.org/data_2044",
"term": "Sequence"
},
"format":
[
{
"uri": "http://edamontology.org/format_1929",
"term": "FASTA"
}
]
}
]
Data
EDAM Data concept, e.g. “‘Sequence’ (http://edamontology.org/data_2044)” Attribute name
data
- Required
Yes
- Cardinality
1 only
- Child of
- Type
EDAM object
- EDAM object definition
- Content
- uri
Required: No (if term present), Yes (otherwise)
Cardinality: 0 or 1
Type: URL
- term
Required: No (if URI present), Yes (otherwise)
Cardinality: 0 or 1
Type: String
Note
an EDAM ontology Data concept URL and / or term are specified, e.g. “Protein sequences”, http://edamontology.org/data_2976.
URI and term are validated against EDAM ontology; if term and URI do not match, an error will be returned.
synonyms of terms (as defined in EDAM) are accepted, however, the synonym will be replaced with main term.
see the curation guidelines.
Example
# XML
<data>
<uri>http://edamontology.org/data_2044</uri>
<term>Sequence</term>
</data>
# JSON
"data":
{
"uri": "http://edamontology.org/data_2044",
"term": "Sequence"
}
Format
EDAM Format concept, e.g. “‘FASTA’ (http://edamontology.org/format_1929)”
- Attribute name
format
- Required
No
- Cardinality
0 to many
- Child of
- Type
List of EDAM objects
- EDAM object definition
- Content
- uri
Required: No (if term present), Yes (otherwise)
Cardinality: 0 or 1
Type: URL
- term
Required: No (if URI present), Yes (otherwise)
Cardinality: 0 or 1
Type: String
Note
an EDAM ontology Format concept URL and / or term are specified, e.g. “FASTA”, http://edamontology.org/format_1929.
URI and term are validated against EDAM ontology; if term and URI do not match, an error will be returned.
synonyms of terms (as defined in EDAM) are accepted, however, the synonym will be replaced with main term.
see the curation guidelines.
Example
# XML
<format>
<uri>http://edamontology.org/format_1929</uri>
<term>FASTA</term>
</format>
# JSON
"format":
[
{
"uri": "http://edamontology.org/format_1929",
"term": "FASTA"
}
]
Tool type
The type of application software: a discrete software entity can have more than one type, e.g. “Command-line tool, Web application”
- Attribute name
toolType
- Required
No
- Cardinality
0 to many
- Type
ENUM (list)
- Allowed values (see Curators Guide)
Bioinformatics portalCommand-line toolDatabase portalDesktop applicationLibraryOntologyPlug-inScriptSPARQL endpointSuiteWeb applicationWeb APIWeb serviceWorkbenchWorkflow
Example
# XML
<toolType>Command-line tool</toolType>
<toolType>Web application</toolType>
# JSON
"toolType":
[
"Command-line tool",
"Web application"
]
Note
see the curation guidelines.
Topic
General scientific domain the software serves or other general category (EDAM Topic), e.g. “‘Protein sites, features and motifs’ (http://edamontology.org/topic_3510)”
- Attribute name
topic
- Required
No
- Cardinality
0 to many
- Type
List of EDAM objects
- EDAM object definition
- Content
- uri
Required: No (if term present), Yes (otherwise)
Cardinality: 0 or 1
Type: URL
- term
Required: No (if URI present), Yes (otherwise)
Cardinality: 0 or 1
Type: String
Example
# XML
<topic>
<uri>http://edamontology.org/topic_0605</uri>
<term>Informatics</term>
</topic>
<topic>
<uri>http://edamontology.org/topic_3303</uri>
<term>Medicine</term>
</topic>
# JSON
"topic":
[
{
"uri": "http://edamontology.org/topic_0605",
"term": "Informatics"
},
{
"uri": "http://edamontology.org/topic_3303",
"term": "Medicine"
}
]
Note
an EDAM ontology Topic concept URL and / or term are specified, e.g. “Proteomics”, http://edamontology.org/topic_0121.
URI and term are validated against EDAM ontology; if term and URI do not match, an error will be returned.
synonyms of terms (as defined in EDAM) are accepted, however, the synonym will be replaced with main term.
see the curation guidelines.
Operating system
The operating system supported by a downloadable software package, e.g. “Linux”
- Attribute name
operatingSystem
- Required
No
- Cardinality
0 to many
- Type
ENUM (list)
- Allowed values (see Curators Guide)
LinuxWindowsMac
Example
# XML
<operatingSystem>Linux</operatingSystem>
<operatingSystem>Mac</operatingSystem>
# JSON
"operatingSystem":
[
"Linux",
"Mac"
]
Note
see the curation guidelines.
Programming language
Name of programming language the software source code was written in, e.g. “C”
- Attribute name
language
- Required
No
- Cardinality
0 to many
- Type
ENUM (list)
- Allowed values (see Curators Guide)
ActionScript,Ada,AppleScript,Assembly language,AWK,Bash,C,C#,C++,COBOL,ColdFusion,CWL,D,Delphi,Dylan,Eiffel,Forth,Fortran,Groovy,Haskell,Icarus,Java,JavaScript,Julia,JSP,LabVIEW,Lisp,Lua,Maple,Mathematica,MATLAB,MLXTRAN,NMTRAN,OCaml,Pascal,Perl,PHP,Prolog,PyMOL,Python,R,Racket,REXX,Ruby,SAS,Scala,Scheme,Shell,Smalltalk,SQL,Turing,Verilog,VHDL,Visual Basic,XAML,Other
Example
# XML
<language>Python</language>
<language>C</language>
# JSON
"language":
[
"Python",
"C"
]
Note
see the curation guidelines.
License
Software or data usage license, e.g. “GPL-3.0”
- Attribute name
license
- Required
No
- Cardinality
0 or 1
- Type
ENUM
- Allowed values (see Curators Guide)
0BSD,AAL,ADSL,AFL-1.1,AFL-1.2,AFL-2.0,AFL-2.1,AFL-3.0,AGPL-1.0,AGPL-3.0,AMDPLPA,AML,AMPAS,ANTLR-PD,APAFML,APL-1.0,APSL-1.0,APSL-1.1,APSL-1.2,APSL-2.0,Abstyles,Adobe-2006,Adobe-Glyph,Afmparse,Aladdin,Apache-1.0,Apache-1.1,Apache-2.0,Artistic-1.0,Artistic-1.0-Perl,Artistic-1.0-cl8,Artistic-2.0,BSD-2-Clause,BSD-2-Clause-FreeBSD,BSD-2-Clause-NetBSD,BSD-3-Clause,BSD-3-Clause-Attribution,BSD-3-Clause-Clear,BSD-3-Clause-LBNL,BSD-3-Clause-No-Nuclear-License,BSD-3-Clause-No-Nuclear-License-2014,BSD-3-Clause-No-Nuclear-Warranty,BSD-4-Clause,BSD-4-Clause-UC,BSD-Protection,BSD-Source-Code,BSL-1.0,Bahyph,Barr,Beerware,BitTorrent-1.0,BitTorrent-1.1,Borceux,CATOSL-1.1,CC-BY-1.0,CC-BY-2.0,CC-BY-2.5,CC-BY-3.0,CC-BY-4.0,CC-BY-NC-1.0,CC-BY-NC-2.0,CC-BY-NC-2.5,CC-BY-NC-3.0,CC-BY-NC-4.0,CC-BY-NC-ND-1.0,CC-BY-NC-ND-2.0,CC-BY-NC-ND-2.5,CC-BY-NC-ND-3.0,CC-BY-NC-ND-4.0,CC-BY-NC-SA-1.0,CC-BY-NC-SA-2.0,CC-BY-NC-SA-2.5,CC-BY-NC-SA-3.0,CC-BY-NC-SA-4.0,CC-BY-ND-1.0,CC-BY-ND-2.0,CC-BY-ND-2.5,CC-BY-ND-3.0,CC-BY-ND-4.0,CC-BY-SA-1.0,CC-BY-SA-2.0,CC-BY-SA-2.5,CC-BY-SA-3.0,CC-BY-SA-4.0,CC0-1.0,CDDL-1.0,CDDL-1.1,CECILL-1.0,CECILL-1.1,CECILL-2.0,CECILL-2.1,CECILL-B,CECILL-C,CNRI-Jython,CNRI-Python,CNRI-Python-GPL-Compatible,CPAL-1.0,CPL-1.0,CPOL-1.02,CUA-OPL-1.0,Caldera,ClArtistic,Condor-1.1,Crossword,CrystalStacker,Cube,D-FSL-1.0,DOC,DSDP,Dotseqn,ECL-1.0,ECL-2.0,EFL-1.0,EFL-2.0,EPL-1.0,EUDatagrid,EUPL-1.0,EUPL-1.1,Entessa,ErlPL-1.1,Eurosym,FSFAP,FSFUL,FSFULLR,FTL,Fair,Frameworx-1.0,FreeImage,GFDL-1.1,GFDL-1.2,GFDL-1.3,GL2PS,GPL-1.0,GPL-2.0,GPL-3.0,Giftware,Glide,Glulxe,HPND,HaskellReport,IBM-pibs,ICU,IJG,IPA,IPL-1.0,ISC,ImageMagick,Imlib2,Info-ZIP,Intel,Intel-ACPI,Interbase-1.0,JSON,JasPer-2.0,LAL-1.2,LAL-1.3,LGPL-2.0,LGPL-2.1,LGPL-3.0,LGPLLR,LPL-1.0,LPL-1.02,LPPL-1.0,LPPL-1.1,LPPL-1.2,LPPL-1.3a,LPPL-1.3c,Latex2e,Leptonica,LiLiQ-P-1.1,LiLiQ-R-1.1,LiLiQ-Rplus-1.1,Libpng,MIT,MIT-CMU,MIT-advertising,MIT-enna,MIT-feh,MITNFA,MPL-1.0,MPL-1.1,MPL-2.0,MPL-2.0-no-copyleft-exception,MS-PL,MS-RL,MTLL,MakeIndex,MirOS,Motosoto,Multics,Mup,NASA-1.3,NBPL-1.0,NCSA,NGPL,NLOD-1.0,NLPL,NOSL,NPL-1.0,NPL-1.1,NPOSL-3.0,NRL,NTP,Naumen,NetCDF,Newsletr,Nokia,Noweb,Nunit,OCCT-PL,OCLC-2.0,ODbL-1.0,OFL-1.0,OFL-1.1,OGTSL,OLDAP-1.1,OLDAP-1.2,OLDAP-1.3,OLDAP-1.4,OLDAP-2.0,OLDAP-2.0.1,OLDAP-2.1,OLDAP-2.2,OLDAP-2.2.1,OLDAP-2.2.2,OLDAP-2.3,OLDAP-2.4,OLDAP-2.5,OLDAP-2.6,OLDAP-2.7,OLDAP-2.8,OML,OPL-1.0,OSET-PL-2.1,OSL-1.0,OSL-1.1,OSL-2.0,OSL-2.1,OSL-3.0,OpenSSL,PDDL-1.0,PHP-3.0,PHP-3.01,Plexus,PostgreSQL,Python-2.0,QPL-1.0,Qhull,RHeCos-1.1,RPL-1.1,RPL-1.5,RPSL-1.0,RSA-MD,RSCPL,Rdisc,Ruby,SAX-PD,SCEA,SGI-B-1.0,SGI-B-1.1,SGI-B-2.0,SISSL,SISSL-1.2,SMLNJ,SMPPL,SNIA,SPL-1.0,SWL,Saxpath,Sendmail,SimPL-2.0,Sleepycat,Spencer-86,Spencer-94,Spencer-99,SugarCRM-1.1.3,TCL,TMate,TORQUE-1.1,TOSL,UPL-1.0,Unicode-TOU,Unlicense,VOSTROM,VSL-1.0,Vim,W3C,W3C-19980720,WTFPL,Watcom-1.0,Wsuipa,X11,XFree86-1.1,XSkat,Xerox,Xnet,YPL-1.0,YPL-1.1,ZPL-1.1,ZPL-2.0,ZPL-2.1,Zed,Zend-2.0,Zimbra-1.3,Zimbra-1.4,Zlib,bzip2-1.0.5,bzip2-1.0.6,curl,diffmark,dvipdfm,eGenix,gSOAP-1.3b,gnuplot,iMatix,libtiff,mpich2,psfrag,psutils,xinetd,xpp,zlib-acknowledgement,Proprietary,Freeware,Other,Not licensed
Example
# XML
<license>Proprietary</license>
# JSON
"license": "Proprietary"
Note
see the curation guidelines.
Collection
Unique ID of a collection that the software has been assigned to within bio.tools, e.g. “CBS
- Attribute name
collectionID
- Required
No
- Cardinality
0 to many
- Type
List of strings
- Restrictions
Min length: 1
Max length: 100
Pattern:
[\p{Zs}A-Za-z0-9+\.,\-_:;()]*
Example
# XML
<collectionID>CBS</collectionID>
<collectionID>NorduGrid</collectionID>
# JSON
"collectionID":
[
"CBS",
"NorduGrid"
]
Note
collection may only contain space, uppercase and lowercase letters, decimal digits, plus symbol, period, comma, dash, underscore, colon, semicolon and parentheses.
line feeds, carriage returns, tabs, leading and trailing spaces, and multiple spaces are not allowed / will be removed.
see the curation guidelines.
Maturity
How mature the software product is, e.g. “Mature”
- Attribute name
maturity
- Required
No
- Cardinality
0 or 1
- Type
ENUM
- Allowed valuse (see Curators Guide)
EmergingMatureLegacy
Example
# XML
<maturity>Mature</maturity>
# JSON
"maturity": "Mature"
Note
see the curation guidelines.
Cost
Monetary cost of acquiring the software, e.g. “Free of charge (with retritions)”
- Attribute name
cost
- Required
No
- Cardinality
0 or 1
- Type
ENUM
- Allowed values (see Curators Guide)
Free of chargeFree of charge (with restrictions)Commercial
Example
# XML
<cost>Free of charge (with restrictions)</cost>
# JSON
"cost": "Free of charge (with restrictions)"
Note
see the curation guidelines.
Accessibility
Whether there are non-monetary restrictions on accessing an online service, e.g. “Open access”
- Attribute name
accessibility
- Required
No
- Cardinality
0 or 1
- Type
ENUM (list)
- Allowed values (see Curators Guide)
Open accessOpen access (with restrictions)Restricted access
Example
# XML
<accessibility>Open access</accessibility>
# JSON
"accessibility":
[
"Open access",
]
Note
see the curation guidelines.
ELIXIR platform
ELIXIR platform credited for developing or providing the software.
- Attribute name
elixirPlatform
- Required
No
- Cardinality
0 to many
- Type
ENUM (list)
Allowed values (see Curators Guide)
Data
Tools
Compute
Interoperability
Training
Example
# XML
<elixirPlatform>Open access</elixirPlatform>
<elixirPlatform>Freeware</elixirPlatform>
# JSON
"elixirPlatform":
[
"Tools",
"Compute"
]
Note
see the curation guidelines.
ELIXIR node
ELIXIR node credited for developing or providing the software - the software is in Node Service Delivery Plan.
- Attribute name
elixirNode
- Required
No
- Cardinality
0 to many
- Type
ENUM (list)
Allowed values (see Curators Guide)
Belgium
Czech Republic
Denmark
EMBL
Estonia
Finland
France
Germany
Greece
Hungary
Ireland
Israel
Italy
Luxembourg
Netherlands
Norway
Portugal
Slovenia
Spain
Sweden
Switzerland
UK
Example
# XML
<elixirNode>Denmark</elixirNode>
<elixirNode>France</elixirNode>
# JSON
"elixirNode":
[
"Denmark",
"France"
]
Note
see the curation guidelines.
ELIXIR community
ELIXIR (or associated) community to which the software is relevant.
- Attribute name
elixirCommunity
- Required
No
- Cardinality
0 to many
- Type
ENUM (list)
Allowed values (see Curators Guide)
3D-BioInfo
Federated Human Data
Galaxy
Human Copy Number Variation
Intrinsically Disordered Proteins
Marine Metagenomics
Metabolomics
Microbial Biotechnology
Plant Sciences
Proteomics
Rare Diseases
Example
# XML
<elixirCommunity>Galaxy</elixirCommunity>
<elixirCommunity>Metabolomics</elixirCommunity>
# JSON
"elixirCommunity":
[
"Galaxy",
"Metabolomics"
]
Note
see the curation guidelines.
Link
Miscellaneous links for the software e.g. repository, issue tracker or mailing list.
- Attribute name
link
- Required
No
- Cardinality
0 to many
- Type
List of link objects
- Link object definition
- Content
- url
Required: Yes
Cardinality: 1 only
Type: URL
Pattern:
http(s?)://[^\s/$.?#].[^\s]*
- type
Required: Yes
Cardinality: 1 or more
Type: ENUM
Allowed values: (see Curators Guide)
Discussion forumGalaxy serviceHelpdeskIssue trackerMailing listMirrorSoftware catalogueRepositoryServiceSocial mediaTechnical monitoringOther
- note
Required: No
Cardinality: 0 or 1
Type: String
Restrictions: min length: 10, max length: 1000
Example
# XML
<link>
<url>http://www.cbs.dtu.dk/cgi-bin/sw_request?signalp</url>
<type>Helpdesk</type>
<type>Issue tracker</type>
<note>A comment goes here.</note>
</link>
# JSON
"link":
[
{
"url": "http://www.cbs.dtu.dk/cgi-bin/sw_request?signalp",
"type": "Helpdesk",
"type": "Issue tracker",
"note": "A comment goes here."
}
]
Note
the note is minimum 10 and maximum 1000 characters. Line feeds, carriage returns, tabs, leading and trailing spaces, and multiple spaces are not allowed / will be removed.
see the curation guidelines.
Download
Links to downloads for the software, e.g. source code, virtual machine image or container.
- Attribute name
download
- Required
No
- Cardinality
0 to many
- Type
List of download objects
- Download object definition
- Content
- url
Required: Yes
Cardinality: 1 only
Type: URL
Pattern:
http(s?)://[^\s/$.?#].[^\s]*
- type
Required: Yes
Cardinality: 1 only
Type: ENUM
Allowed values: (see Curators Guide)
API specificationBiological dataBinariesCommand-line specificationContainer fileIconScreenshotSource codeSoftware packageTest dataTest scriptTool wrapper (CWL)Tool wrapper (galaxy)Tool wrapper (taverna)Tool wrapper (other)VM imageDownloads pageOther
- note
Required: No
Cardinality: 0 or 1
Type: String
Restrictions: min length: 10, max length: 1000
- version
Required: No
Cardinality: 0 or 1
Type: String
Restrictions: Min length: 1, Max length: 100
Pattern:
[\p{Zs}A-Za-z0-9+\.,\-_:;()]*
Example
# XML
<download>
<url>http://www.cbs.dtu.dk/cgi-bin/sw_request?signalp</url>
<type>Source code</url>
<note>Complete distibution</note>
<version>1.4</version>
</download>
# JSON
"download":
[
{
"url": "http://www.cbs.dtu.dk/cgi-bin/sw_request?signalp",
"type": "Source code",
"note": "Complete distibution",
"version": "1.4"
}
]
Note
the note is minimum 10 and maximum 1000 characters. Line feeds, carriage returns, tabs, leading and trailing spaces, and multiple spaces are not allowed / will be removed.
see the curation guidelines.
Documentation
Links to documentation about the software e.g. user manual, API documentation or training material.
- Attribute name
documentation
- Required
No
- Cardinality
0 to many
- Type
List of documentation objects
- Documentation object definition
- Content
- url
Required: Yes
Cardinality: 1 only
Type: URL
Pattern:
http(s?)://[^\s/$.?#].[^\s]*
- type
Required: Yes
Cardinality: 1 or more
Type: ENUM
Allowed values: (see Curators Guide)
API documentationCitation instructionsCode of conductCommand-line optionsContributions policyFAQGeneralGovernanceInstallation instructionsUser manualTerms of useRelease notesTraining materialOther
- note
Required: No
Cardinality: 0 or 1
Type: String
Restrictions: min legth:10, max length: 1000
Example
# XML
<documentation>
<url>http://www.cbs.dtu.dk/services/SignalP</url>
<type>General</type>
<type>Code of conduct</type>
<note>Comprehensive usage instructions.</note>
</documentation>
# JSON
"documentation":
[
{
"url": "http://www.cbs.dtu.dk/services/SignalP",
"type": "General",
"type": "Code of conduct",
"note": "Comprehensive usage instructions"
}
]
Note
the note is minimum 10 and maximum 1000 characters. Line feeds, carriage returns, tabs, leading and trailing spaces, and multiple spaces are not allowed / will be removed.
see the curation guidelines.
Relation
Details of a relationship this software shares with other software registered in bio.tools.
- Attribute name
relation
- Required
No
- Cardinality
0 to many
- Type
List of relation objects
- Relation object definition
- Content
- biotoolsID
Required: Yes
Cardinality: 1 only
Type: String
Pattern:
[_\-.0-9a-zA-Z]*
- type
Required: Yes
Cardinality: 1 only
Type: ENUM
Allowed values: (see Curators Guide)
isNewVersionOfhasNewVersionusesusedByincludesincludedIn
Example
# XML
<relation>
<biotoolsID>needle</biotoolsID>
<type>isNewVersionOf</type>
</relation>
# JSON
"relation":
[
{
"biotoolsID": "needle",
"type": "isNewVersionOf",
},
{
"biotoolsID": "emboss",
"type": "includedIn",
},
]
Note
see the curation guidelines.
Publication
Publications about the software
- Attribute name
publication
- Required
Yes
- Cardinality
0 to many
- Type
List of publication objects
- Publication object definition
- Content
- pmcid
Required: One of doi, pmid or pmcid must be specified.
Cardinality: 0 or 1
Type: PMCID
Pattern:
(PMC)[1-9][0-9]{0,8}
- pmid
Required: One of doi, pmid or pmcid must be specified.
Cardinality: 0 or 1
Type: PMID
Pattern:
[1-9][0-9]{0,8}
- doi
Required: One of doi, pmid or pmcid must be specified.
Cardinality: 0 or 1
Type: DOI
Pattern:
10.[0-9]{4,9}[A-Za-z0-9:;\)\(_/.-]+
- type
Required: No
Cardinality: 0 to many
Type: ENUM
Allowed values: (see Curators Guide) -
Primary-Method-Usage-Benchmarking study-Review-Other
- note
Required: No
Cardinality: 0 or 1
Type: String
Restrictions: min length: 10, max length: 1000
- version
Required: No
Cardinality: 0 or 1
Type: String
Restrictions: Min length: 1, Max length: 100
Pattern:
[\p{Zs}A-Za-z0-9+\.,\-_:;()]*
Example
# XML
<publication>
<pmcid>21959131</pmcid>
<pmid>21959131</pmid>
<doi>10.1038/nmeth.1701</doi>
<type>Primary</type>
<type>Method</type>
<note>A comment goes here</type>
<version>4.0</version>
</publication>
# JSON
"publication":
[
{
"pmcid": "21959131",
"pmid": "21959131",
"doi": "10.1038/nmeth.1701",
"type": "Primary",
"type": "Method",
"note": "A comment goes here",
"version": "4.0"
}
]
Note
see the curation guidelines.
Credit
Individuals or organisations that should be credited, or may be contacted about the software.
- Attribute name
credit
- Required
No
- Cardinality
0 to many
- Type
List of credit objects
- Credit object definition
- Content
- name
Required: Yes
Cardinality: 0 or 1
Type: String
Restrictions: min length: 1, max length: 100
- orcidid
Required: No
Cardinality: 0 or 1
Type: String
Restrictions: pattern: http://orcid.org/[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}
Restrictions: pattern: https://orcid.org/[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}
- gridid
Required: No
Cardinality: 0 or 1
Type: String
Restrictions: pattern: grid.[0-9]{4,}.[a-f0-9]{1,2}
- rorid
Required: No
Cardinality: 0 or 1
Type: String
- fundrefid
Required: No
Cardinality: 0 or 1
Type: String
Required: No
Cardinality: 0 or 1
Type: Email
Restrictions: pattern: [A-Za-z0-9_]+([-+.’][A-Za-z0-9_]+)*@[A-Za-z0-9_]+([-.][A-Za-z0-9_]+)*.[A-Za-z0-9_]+([-.][A-Za-z0-9_]+)*
- url
Required: No
Cardinality: 0 or 1
Type: URL
Restrictions: pattern: http(s?)://[^s/$.?#].[^s]*
- typeEntity
Required: No
Cardinality: 0 or 1
Type: ENUM
Allowed values: (see Curators Guide)
PersonProjectDivisionInstituteConsortiumFunding agency
- typeRole
Required: No
Cardinality: 0 to many
Type: ENUM (list)
Allowed values: (see Curators Guide)
DeveloperMaintainerProviderDocumentorContributorSupportPrimary contact
- note
Required: No
Cardinality: 0 or 1
Type: String
Restrictions: min length: 10, max length: 1000
Example
# XML
<credit>
<name>TN Petersen</name>
<orcidid>http://orcid.org/0000-0002-1825-0097</orcidid>
<gridid>grid.5170.3</orcidid>
<rorid>03yrm5c26</rorid>
<fundrefid>10.13039/100009273</fundrefid>
<email>test@cbs.dtu.dk</email>
<url>http://cbs.dtu.dk</url>
<typeEntity>Person</typeEntity>
<typeRole>Developer</typeRole>
<typeRole>Documentor</typeRole>
<note>Lead developer</note>
</credit>
# JSON
"credit":
[
{
"name": "TN Petersen",
"orcidid":"http://orcid.org/0000-0002-1825-0097",
"gridid":"grid.5170.3",
"rorid":"03yrm5c26",
"fundrefid":"10.13039/100009273",
"url": "http://cbs.dtu.dk",
"email": "test@cbs.dtu.dk",
"typeEntity": "Person",
"typeRole":
[
"Developer",
"Documentor"
]
"note": "Lead developer"
}
]
Example
# XML
<credit>
<elixirPlatform>Tools</elixirPlatform>
</credit>
# JSON
"credit":
[
{
"elixirPlatform": "Norway"
}
]
Note
one of
<name>,<email>or<url>must be specified.the credit name may only contain space, uppercase and lowercase letters, decimal digits, plus symbol, period, comma, dash, underscore, colon, semicolon and parentheses.
line feeds, carriage returns, tabs, leading and trailing spaces, and multiple spaces are not allowed / will be removed.
see the curation guidelines.
Entry management attributes
Permissions
- Attribute name
editPermission
- Required
No
- Cardinality
todo
- Type
Permission object
- Permission object definition
- Content
- type
Required: Yes
Cardinality: todo
Type: ENUM
Allowed values: -
private-public-group
- authors
Required: No
Cardinality: todo
Type: List of usernames
- Notes
‘authors’ only need to be provided when type is set to
group.
Example
# XML
# JSON
"editPermission":
{
"type": "group",
"authors":
[
"ekry",
"lukbe"
]
}