Introduction
The primary objectives of the MiST database are:
- Identify and annotate the signal transduction properties encoded in microbial genomes (and environmental samples)
- Deliver this information to the scientific community
We have implemented a sophisticated database structure and distributed computational pipeline to support these efforts. This document explains the RESTful MiST API, and how to use it to effectively mine relevant information contained in the MiST database.
Partial Responses
Linked models
Like most data, genomic data is highly linked. For example, a genome contains many components, each of which contains many genes, etc. We have built the MiST API to make it possible to retrieve linked model data easily and quickly. This section shows how to do this.
Pagination
As of October 2016, public databases contain more than 60,000 microbial genomes and thousands of metagenomic samples. Each of these genomes has many thousands of genes. It is not tractable, nor efficient to return all the data for a given resource in a single request. For this purpose, any endpoint that returns an array of records (e.g. Fetch Many Genomes) returns up to 30 records per page. The following query parameters may be used to navigate to subsequent pages and adjust the number of records returned per page.
Query Parameter | Type | Description |
---|---|---|
per_page | integer | number of primary records to return per page. Defaults to30 . Must be between1 and100 . |
page | integer | the page of results to fetch. Defaults to1 . |
Examples
- /v1/genomes?per_page=5
- Returns up to 5 genome records on the first page
- /v1/genomes?page=2
- Returns up to 30 genome records skipping the first 30 genome records
- /v1/genomes?page=2&per_page=5
- Returns up to 5 genome records skipping the first 5 genome records
REST API
Aseqs
post /aseqs
Example Request
/aseqs
Fetch Aseq
Example Request
curl --request GET \
--url 'https://mib-jouline-db.asc.ohio-state.edu/v1/aseqs/$id'
const http = require("https");
const options = {
"method": "GET",
"hostname": "mib-jouline-db.asc.ohio-state.edu",
"port": null,
"path": "/v1/aseqs/$id",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const settings = {
"async": true,
"crossDomain": true,
"url": "https://mib-jouline-db.asc.ohio-state.edu/v1/aseqs/$id",
"method": "GET",
"headers": {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
import http.client
conn = http.client.HTTPSConnection("mib-jouline-db.asc.ohio-state.edu")
conn.request("GET", "/v1/aseqs/$id")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://mib-jouline-db.asc.ohio-state.edu/v1/aseqs/$id")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
Example Response
{
"id": 1,
"length": "393",
"sequence": null,
"pfam31": null,
"agfam2": null,
"segs": null,
"coils": null,
"tmhmm2": null,
"ecf1": null,
"stp": null
}
/aseqs/$id
Returns an Aseq record (including predicted results)
Biosamples
Fetch many BioSamples
Example Request
curl --request GET \
--url https://mib-jouline-db.asc.ohio-state.edu/v1/biosamples
const http = require("https");
const options = {
"method": "GET",
"hostname": "mib-jouline-db.asc.ohio-state.edu",
"port": null,
"path": "/v1/biosamples",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const settings = {
"async": true,
"crossDomain": true,
"url": "https://mib-jouline-db.asc.ohio-state.edu/v1/biosamples",
"method": "GET",
"headers": {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
import http.client
conn = http.client.HTTPSConnection("mib-jouline-db.asc.ohio-state.edu")
conn.request("GET", "/v1/biosamples")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://mib-jouline-db.asc.ohio-state.edu/v1/biosamples")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
Example Response
[
{
"id": 1,
"organism": "Homo Sapiens",
"description": "Non-tumor DNA sample from Blood of a human female participant in the dbGaP study",
"qualifiers": "{\"submitterHandle\": \"NCI_CIDR_SmokingTargetedGenomicRegions\"}"
}
]
/biosamples
Returns an array of NCBI biosample records
Fetch BioSample
Example Request
curl --request GET \
--url 'https://mib-jouline-db.asc.ohio-state.edu/v1/biosamples/$id'
const http = require("https");
const options = {
"method": "GET",
"hostname": "mib-jouline-db.asc.ohio-state.edu",
"port": null,
"path": "/v1/biosamples/$id",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const settings = {
"async": true,
"crossDomain": true,
"url": "https://mib-jouline-db.asc.ohio-state.edu/v1/biosamples/$id",
"method": "GET",
"headers": {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
import http.client
conn = http.client.HTTPSConnection("mib-jouline-db.asc.ohio-state.edu")
conn.request("GET", "/v1/biosamples/$id")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://mib-jouline-db.asc.ohio-state.edu/v1/biosamples/$id")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
Example Response
{
"id": 1,
"organism": "Homo Sapiens",
"description": "Non-tumor DNA sample from Blood of a human female participant in the dbGaP study",
"qualifiers": "{\"submitterHandle\": \"NCI_CIDR_SmokingTargetedGenomicRegions\"}"
}
/biosamples/$id
Returns a single NCBI BioSample record
Components
Fetch Many Components
Example Request
curl --request GET \
--url https://mib-jouline-db.asc.ohio-state.edu/v1/components
const http = require("https");
const options = {
"method": "GET",
"hostname": "mib-jouline-db.asc.ohio-state.edu",
"port": null,
"path": "/v1/components",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const settings = {
"async": true,
"crossDomain": true,
"url": "https://mib-jouline-db.asc.ohio-state.edu/v1/components",
"method": "GET",
"headers": {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
import http.client
conn = http.client.HTTPSConnection("mib-jouline-db.asc.ohio-state.edu")
conn.request("GET", "/v1/components")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://mib-jouline-db.asc.ohio-state.edu/v1/components")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
Example Response
[
{
"id": 1,
"genome_id": 1,
"accession": "NC_009634",
"version": "NC_009634.1",
"version_number": 1,
"genbank_accession": "CP000742",
"genbank_version": "CP000742.1",
"name": "ANONYMOUS",
"role": "assembled-molecule",
"assigned_molecule": "na or pGOX5",
"type": "Chromosome",
"genbank_refseq_relationship": "= or <>",
"definition": "Methanococcus vannielii SB, complete genome.",
"molecule_type": "DNA",
"is_circular": "true",
"annotation_date": "2015-08-17",
"comment": null,
"dna": null,
"length": 1720048,
"stats": null,
"created_at": "2020-09-20T20:40:36.098Z",
"updated_at": "2020-09-20T20:55:09.838Z"
}
]
/components
Returns an array of components (replicons / contigs). Note this does not include the associated DNA.
Fetch Component
Example Request
curl --request GET \
--url 'https://mib-jouline-db.asc.ohio-state.edu/v1/components/$accession'
const http = require("https");
const options = {
"method": "GET",
"hostname": "mib-jouline-db.asc.ohio-state.edu",
"port": null,
"path": "/v1/components/$accession",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const settings = {
"async": true,
"crossDomain": true,
"url": "https://mib-jouline-db.asc.ohio-state.edu/v1/components/$accession",
"method": "GET",
"headers": {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
import http.client
conn = http.client.HTTPSConnection("mib-jouline-db.asc.ohio-state.edu")
conn.request("GET", "/v1/components/$accession")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://mib-jouline-db.asc.ohio-state.edu/v1/components/$accession")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
Example Response
{
"id": 1,
"genome_id": 1,
"accession": "NC_009634",
"version": "NC_009634.1",
"version_number": 1,
"genbank_accession": "CP000742",
"genbank_version": "CP000742.1",
"name": "ANONYMOUS",
"role": "assembled-molecule",
"assigned_molecule": "na or pGOX5",
"type": "Chromosome",
"genbank_refseq_relationship": "= or <>",
"definition": "Methanococcus vannielii SB, complete genome.",
"molecule_type": "DNA",
"is_circular": "true",
"annotation_date": "2015-08-17",
"comment": null,
"dna": null,
"length": 1720048,
"stats": null,
"created_at": "2020-09-20T20:40:36.098Z",
"updated_at": "2020-09-20T20:55:09.838Z"
}
/components/$accession
Returns a single component (replicon / contig) without its associated DNA
Genes
Fetch Many Genes
Example Request
curl --request GET \
--url https://mib-jouline-db.asc.ohio-state.edu/v1/genes
const http = require("https");
const options = {
"method": "GET",
"hostname": "mib-jouline-db.asc.ohio-state.edu",
"port": null,
"path": "/v1/genes",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const settings = {
"async": true,
"crossDomain": true,
"url": "https://mib-jouline-db.asc.ohio-state.edu/v1/genes",
"method": "GET",
"headers": {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
import http.client
conn = http.client.HTTPSConnection("mib-jouline-db.asc.ohio-state.edu")
conn.request("GET", "/v1/genes")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://mib-jouline-db.asc.ohio-state.edu/v1/genes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
Example Response
[
{
"id": 1,
"stable_id": "GCF_000302455.1-A994_RS01985",
"component_id": 1,
"dseq_id": "YyhYrg42MICY95Yv4msKNA",
"aseq_id": "eALFsiVPvD8jtNe_9Qifig",
"accession": "WP_004029586",
"version": "WP_004029586.1",
"locus": "A994_RS01985",
"old_locus": "A994_01955",
"location": "complement(417270..417881)",
"strand": "-",
"start": 417270,
"stop": 417881,
"length": 612,
"names": [
"hisH"
],
"pseudo": "false",
"notes": null,
"product": "imidazole glycerol phosphate synthase, glutamine amidotransferase subunit",
"codon_start": 1,
"translation_table": 11,
"qualifiers": null,
"cds_location": "complement(417270..417881)",
"cds_qualifiers": "{\"inference\": \"EXISTENCE: similar to AA sequence:RefSeq:WP_004029586.1\"}"
}
]
/genes
Returns an array of genes
Fetch Many Genes
Example Request
Example Response
[
{
"id": 1,
"stable_id": "GCF_000302455.1-A994_RS01985",
"component_id": 1,
"dseq_id": "YyhYrg42MICY95Yv4msKNA",
"aseq_id": "eALFsiVPvD8jtNe_9Qifig",
"accession": "WP_004029586",
"version": "WP_004029586.1",
"locus": "A994_RS01985",
"old_locus": "A994_01955",
"location": "complement(417270..417881)",
"strand": "-",
"start": 417270,
"stop": 417881,
"length": 612,
"names": [
"hisH"
],
"pseudo": "false",
"notes": null,
"product": "imidazole glycerol phosphate synthase, glutamine amidotransferase subunit",
"codon_start": 1,
"translation_table": 11,
"qualifiers": null,
"cds_location": "complement(417270..417881)",
"cds_qualifiers": "{\"inference\": \"EXISTENCE: similar to AA sequence:RefSeq:WP_004029586.1\"}"
}
]
/genes
Returns an array of genes
Example
POST /genes
Fetch Gene
Example Request
curl --request GET \
--url 'https://mib-jouline-db.asc.ohio-state.edu/v1/genes/$stable_id'
const http = require("https");
const options = {
"method": "GET",
"hostname": "mib-jouline-db.asc.ohio-state.edu",
"port": null,
"path": "/v1/genes/$stable_id",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const settings = {
"async": true,
"crossDomain": true,
"url": "https://mib-jouline-db.asc.ohio-state.edu/v1/genes/$stable_id",
"method": "GET",
"headers": {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
import http.client
conn = http.client.HTTPSConnection("mib-jouline-db.asc.ohio-state.edu")
conn.request("GET", "/v1/genes/$stable_id")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://mib-jouline-db.asc.ohio-state.edu/v1/genes/$stable_id")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
Example Response
{
"id": 1,
"stable_id": "GCF_000302455.1-A994_RS01985",
"component_id": 1,
"dseq_id": "YyhYrg42MICY95Yv4msKNA",
"aseq_id": "eALFsiVPvD8jtNe_9Qifig",
"accession": "WP_004029586",
"version": "WP_004029586.1",
"locus": "A994_RS01985",
"old_locus": "A994_01955",
"location": "complement(417270..417881)",
"strand": "-",
"start": 417270,
"stop": 417881,
"length": 612,
"names": [
"hisH"
],
"pseudo": "false",
"notes": null,
"product": "imidazole glycerol phosphate synthase, glutamine amidotransferase subunit",
"codon_start": 1,
"translation_table": 11,
"qualifiers": null,
"cds_location": "complement(417270..417881)",
"cds_qualifiers": "{\"inference\": \"EXISTENCE: similar to AA sequence:RefSeq:WP_004029586.1\"}"
}
/genes/$stable_id
Returns a single gene
get /genes/$stable_id/neighbors
Example Request
curl --request GET \
--url 'https://mib-jouline-db.asc.ohio-state.edu/v1/genes/$stable_id/neighbors'
const http = require("https");
const options = {
"method": "GET",
"hostname": "mib-jouline-db.asc.ohio-state.edu",
"port": null,
"path": "/v1/genes/$stable_id/neighbors",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const settings = {
"async": true,
"crossDomain": true,
"url": "https://mib-jouline-db.asc.ohio-state.edu/v1/genes/$stable_id/neighbors",
"method": "GET",
"headers": {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
import http.client
conn = http.client.HTTPSConnection("mib-jouline-db.asc.ohio-state.edu")
conn.request("GET", "/v1/genes/$stable_id/neighbors")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://mib-jouline-db.asc.ohio-state.edu/v1/genes/$stable_id/neighbors")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
/genes/$stable_id/neighbors
Genomes
Fetch Many Genomes
Example Request
curl --request GET \
--url https://mib-jouline-db.asc.ohio-state.edu/v1/genomes
const http = require("https");
const options = {
"method": "GET",
"hostname": "mib-jouline-db.asc.ohio-state.edu",
"port": null,
"path": "/v1/genomes",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const settings = {
"async": true,
"crossDomain": true,
"url": "https://mib-jouline-db.asc.ohio-state.edu/v1/genomes",
"method": "GET",
"headers": {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
import http.client
conn = http.client.HTTPSConnection("mib-jouline-db.asc.ohio-state.edu")
conn.request("GET", "/v1/genomes")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://mib-jouline-db.asc.ohio-state.edu/v1/genomes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
Example Response
[
{
"id": 1,
"worker_id": 3,
"accession": "GCF_000302455",
"version": "GCF_000302455.1",
"version_number": 1,
"genbank_accession": "GCA_000302455",
"genbank_version": "GCA_000302455.1",
"taxonomy_id": 1204725,
"name": "Methanobacterium formicicum DSM 3637",
"refseq_category": "representative genome",
"bioproject": "PRJNA224116",
"biosample": "SAMN02471940",
"wgs_master": "AMPO00000000.1",
"isolate": null,
"version_status": "latest",
"assembly_level": "contig",
"release_type": "major",
"release_date": "2012-10-02",
"assembly_name": "ASM30245v1",
"submitter": "Department of Genetics, University of Seville, Spain",
"ftp_path": "ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF_000302455.1_ASM30245v1",
"superkingdom": "Archaea",
"phylum": "Euryarchaeota",
"class": "Methanobacteria",
"order": "Methanobacteriales",
"family": "Methanobacteriaceae",
"genus": "Methanobacterium",
"species": "Methanobacterium formicicum",
"strain": "DSM 3637",
"stats": null,
"meta": null,
"biosample_id": 3215740,
"created_at": "2020-09-20T20:40:36.098Z",
"updated_at": "2020-09-20T20:55:09.838Z"
}
]
/genomes
Returns an array of Genomes.
Fetch Many Genomes
Example Request
Example Response
[
{
"id": 1,
"worker_id": 3,
"accession": "GCF_000302455",
"version": "GCF_000302455.1",
"version_number": 1,
"genbank_accession": "GCA_000302455",
"genbank_version": "GCA_000302455.1",
"taxonomy_id": 1204725,
"name": "Methanobacterium formicicum DSM 3637",
"refseq_category": "representative genome",
"bioproject": "PRJNA224116",
"biosample": "SAMN02471940",
"wgs_master": "AMPO00000000.1",
"isolate": null,
"version_status": "latest",
"assembly_level": "contig",
"release_type": "major",
"release_date": "2012-10-02",
"assembly_name": "ASM30245v1",
"submitter": "Department of Genetics, University of Seville, Spain",
"ftp_path": "ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF_000302455.1_ASM30245v1",
"superkingdom": "Archaea",
"phylum": "Euryarchaeota",
"class": "Methanobacteria",
"order": "Methanobacteriales",
"family": "Methanobacteriaceae",
"genus": "Methanobacterium",
"species": "Methanobacterium formicicum",
"strain": "DSM 3637",
"stats": null,
"meta": null,
"biosample_id": 3215740,
"created_at": "2020-09-20T20:40:36.098Z",
"updated_at": "2020-09-20T20:55:09.838Z"
}
]
/genomes
Returns an array of Genomes.
Example
POST /genomes
Fetch Genome
Example Request
curl --request GET \
--url 'https://mib-jouline-db.asc.ohio-state.edu/v1/genomes/$accession'
const http = require("https");
const options = {
"method": "GET",
"hostname": "mib-jouline-db.asc.ohio-state.edu",
"port": null,
"path": "/v1/genomes/$accession",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const settings = {
"async": true,
"crossDomain": true,
"url": "https://mib-jouline-db.asc.ohio-state.edu/v1/genomes/$accession",
"method": "GET",
"headers": {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
import http.client
conn = http.client.HTTPSConnection("mib-jouline-db.asc.ohio-state.edu")
conn.request("GET", "/v1/genomes/$accession")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://mib-jouline-db.asc.ohio-state.edu/v1/genomes/$accession")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
Example Response
{
"id": 1,
"worker_id": 3,
"accession": "GCF_000302455",
"version": "GCF_000302455.1",
"version_number": 1,
"genbank_accession": "GCA_000302455",
"genbank_version": "GCA_000302455.1",
"taxonomy_id": 1204725,
"name": "Methanobacterium formicicum DSM 3637",
"refseq_category": "representative genome",
"bioproject": "PRJNA224116",
"biosample": "SAMN02471940",
"wgs_master": "AMPO00000000.1",
"isolate": null,
"version_status": "latest",
"assembly_level": "contig",
"release_type": "major",
"release_date": "2012-10-02",
"assembly_name": "ASM30245v1",
"submitter": "Department of Genetics, University of Seville, Spain",
"ftp_path": "ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF_000302455.1_ASM30245v1",
"superkingdom": "Archaea",
"phylum": "Euryarchaeota",
"class": "Methanobacteria",
"order": "Methanobacteriales",
"family": "Methanobacteriaceae",
"genus": "Methanobacterium",
"species": "Methanobacterium formicicum",
"strain": "DSM 3637",
"stats": null,
"meta": null,
"biosample_id": 3215740,
"created_at": "2020-09-20T20:40:36.098Z",
"updated_at": "2020-09-20T20:55:09.838Z"
}
/genomes/$accession
Returns a single genome
Fetch Member Genes
Example Request
curl --request GET \
--url 'https://mib-jouline-db.asc.ohio-state.edu/v1/genomes/$accession/genes'
const http = require("https");
const options = {
"method": "GET",
"hostname": "mib-jouline-db.asc.ohio-state.edu",
"port": null,
"path": "/v1/genomes/$accession/genes",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const settings = {
"async": true,
"crossDomain": true,
"url": "https://mib-jouline-db.asc.ohio-state.edu/v1/genomes/$accession/genes",
"method": "GET",
"headers": {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
import http.client
conn = http.client.HTTPSConnection("mib-jouline-db.asc.ohio-state.edu")
conn.request("GET", "/v1/genomes/$accession/genes")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://mib-jouline-db.asc.ohio-state.edu/v1/genomes/$accession/genes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
Example Response
[
{
"id": 1,
"stable_id": "GCF_000302455.1-A994_RS01985",
"component_id": 1,
"dseq_id": "YyhYrg42MICY95Yv4msKNA",
"aseq_id": "eALFsiVPvD8jtNe_9Qifig",
"accession": "WP_004029586",
"version": "WP_004029586.1",
"locus": "A994_RS01985",
"old_locus": "A994_01955",
"location": "complement(417270..417881)",
"strand": "-",
"start": 417270,
"stop": 417881,
"length": 612,
"names": [
"hisH"
],
"pseudo": "false",
"notes": null,
"product": "imidazole glycerol phosphate synthase, glutamine amidotransferase subunit",
"codon_start": 1,
"translation_table": 11,
"qualifiers": null,
"cds_location": "complement(417270..417881)",
"cds_qualifiers": "{\"inference\": \"EXISTENCE: similar to AA sequence:RefSeq:WP_004029586.1\"}"
}
]
/genomes/$accession/genes
Returns an array of Genes that belong to the genome identified by ${accession}.
Fetch Member Genes
Example Request
Example Response
[
{
"id": 1,
"stable_id": "GCF_000302455.1-A994_RS01985",
"component_id": 1,
"dseq_id": "YyhYrg42MICY95Yv4msKNA",
"aseq_id": "eALFsiVPvD8jtNe_9Qifig",
"accession": "WP_004029586",
"version": "WP_004029586.1",
"locus": "A994_RS01985",
"old_locus": "A994_01955",
"location": "complement(417270..417881)",
"strand": "-",
"start": 417270,
"stop": 417881,
"length": 612,
"names": [
"hisH"
],
"pseudo": "false",
"notes": null,
"product": "imidazole glycerol phosphate synthase, glutamine amidotransferase subunit",
"codon_start": 1,
"translation_table": 11,
"qualifiers": null,
"cds_location": "complement(417270..417881)",
"cds_qualifiers": "{\"inference\": \"EXISTENCE: similar to AA sequence:RefSeq:WP_004029586.1\"}"
}
]
/genomes/$accession/genes
Returns an array of Genes that belong to the genome identified by ${accession}.
Example
POST /genomes/GCF_000302455.1/genes
Fetch Member Signal Genes
Example Request
curl --request GET \
--url 'https://mib-jouline-db.asc.ohio-state.edu/v1/genomes/$accession/signal-genes'
const http = require("https");
const options = {
"method": "GET",
"hostname": "mib-jouline-db.asc.ohio-state.edu",
"port": null,
"path": "/v1/genomes/$accession/signal-genes",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const settings = {
"async": true,
"crossDomain": true,
"url": "https://mib-jouline-db.asc.ohio-state.edu/v1/genomes/$accession/signal-genes",
"method": "GET",
"headers": {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
import http.client
conn = http.client.HTTPSConnection("mib-jouline-db.asc.ohio-state.edu")
conn.request("GET", "/v1/genomes/$accession/signal-genes")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://mib-jouline-db.asc.ohio-state.edu/v1/genomes/$accession/signal-genes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
Example Response
[
{
"id": 1,
"gene_id": 3423521,
"component_id": 982,
"signal_domains_version": 1,
"ranks": [
"2cp",
"rr"
],
"counts": {
"RR": 1,
"HTH_1": 1
},
"inputs": [],
"outputs": [
"HTH_1"
],
"data": null
}
]
/genomes/$accession/signal-genes
Returns an array of Signal Genes that belong to the genome identified by ${accession}.
Fetch Member Signal Genes
Example Request
Example Response
[
{
"id": 1,
"gene_id": 3423521,
"component_id": 982,
"signal_domains_version": 1,
"ranks": [
"2cp",
"rr"
],
"counts": {
"RR": 1,
"HTH_1": 1
},
"inputs": [],
"outputs": [
"HTH_1"
],
"data": null
}
]
/genomes/$accession/signal-genes
Returns an array of Signal Genes that belong to the genome identified by ${accession}.
Example
POST /genomes/GCF_000302455.1/signal-genes
get /genomes/$accession/st-profile
Example Request
curl --request GET \
--url 'https://mib-jouline-db.asc.ohio-state.edu/v1/genomes/$accession/st-profile'
const http = require("https");
const options = {
"method": "GET",
"hostname": "mib-jouline-db.asc.ohio-state.edu",
"port": null,
"path": "/v1/genomes/$accession/st-profile",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const settings = {
"async": true,
"crossDomain": true,
"url": "https://mib-jouline-db.asc.ohio-state.edu/v1/genomes/$accession/st-profile",
"method": "GET",
"headers": {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
import http.client
conn = http.client.HTTPSConnection("mib-jouline-db.asc.ohio-state.edu")
conn.request("GET", "/v1/genomes/$accession/st-profile")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://mib-jouline-db.asc.ohio-state.edu/v1/genomes/$accession/st-profile")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
/genomes/$accession/st-profile
get /genomes/$accession/stp-matrix
Example Request
curl --request GET \
--url 'https://mib-jouline-db.asc.ohio-state.edu/v1/genomes/$accession/stp-matrix'
const http = require("https");
const options = {
"method": "GET",
"hostname": "mib-jouline-db.asc.ohio-state.edu",
"port": null,
"path": "/v1/genomes/$accession/stp-matrix",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const settings = {
"async": true,
"crossDomain": true,
"url": "https://mib-jouline-db.asc.ohio-state.edu/v1/genomes/$accession/stp-matrix",
"method": "GET",
"headers": {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
import http.client
conn = http.client.HTTPSConnection("mib-jouline-db.asc.ohio-state.edu")
conn.request("GET", "/v1/genomes/$accession/stp-matrix")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://mib-jouline-db.asc.ohio-state.edu/v1/genomes/$accession/stp-matrix")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
/genomes/$accession/stp-matrix
Signal_domains
Fetch Many Signal Domains
Example Request
curl --request GET \
--url https://mib-jouline-db.asc.ohio-state.edu/v1/signal_domains
const http = require("https");
const options = {
"method": "GET",
"hostname": "mib-jouline-db.asc.ohio-state.edu",
"port": null,
"path": "/v1/signal_domains",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const settings = {
"async": true,
"crossDomain": true,
"url": "https://mib-jouline-db.asc.ohio-state.edu/v1/signal_domains",
"method": "GET",
"headers": {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
import http.client
conn = http.client.HTTPSConnection("mib-jouline-db.asc.ohio-state.edu")
conn.request("GET", "/v1/signal_domains")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://mib-jouline-db.asc.ohio-state.edu/v1/signal_domains")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
Example Response
[
{
"id": 1,
"name": "PAS",
"version": 1,
"kind": "transmitter",
"function": "small molecule binding",
"created_at": "2020-09-20T20:40:36.098Z",
"updated_at": "2020-09-20T20:55:09.838Z"
}
]
/signal_domains
Returns an array of Signal Domains.
Taxonomy
Fetch Many Taxonomies
Example Request
curl --request GET \
--url https://mib-jouline-db.asc.ohio-state.edu/v1/taxonomy
const http = require("https");
const options = {
"method": "GET",
"hostname": "mib-jouline-db.asc.ohio-state.edu",
"port": null,
"path": "/v1/taxonomy",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const settings = {
"async": true,
"crossDomain": true,
"url": "https://mib-jouline-db.asc.ohio-state.edu/v1/taxonomy",
"method": "GET",
"headers": {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
import http.client
conn = http.client.HTTPSConnection("mib-jouline-db.asc.ohio-state.edu")
conn.request("GET", "/v1/taxonomy")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://mib-jouline-db.asc.ohio-state.edu/v1/taxonomy")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
Example Response
[
{
"id": 1,
"parent_taxonomy_id": null,
"name": null,
"rank": null
}
]
/taxonomy
Returns an array of taxonomic nodes
Fetch Taxonomy Node
Example Request
curl --request GET \
--url 'https://mib-jouline-db.asc.ohio-state.edu/v1/taxonomy/$id'
const http = require("https");
const options = {
"method": "GET",
"hostname": "mib-jouline-db.asc.ohio-state.edu",
"port": null,
"path": "/v1/taxonomy/$id",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const settings = {
"async": true,
"crossDomain": true,
"url": "https://mib-jouline-db.asc.ohio-state.edu/v1/taxonomy/$id",
"method": "GET",
"headers": {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
import http.client
conn = http.client.HTTPSConnection("mib-jouline-db.asc.ohio-state.edu")
conn.request("GET", "/v1/taxonomy/$id")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://mib-jouline-db.asc.ohio-state.edu/v1/taxonomy/$id")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
/taxonomy/$id
Returns the NCBI taxonomic record
Fetch Child Taxonomy
Example Request
curl --request GET \
--url 'https://mib-jouline-db.asc.ohio-state.edu/v1/taxonomy/$id/children'
const http = require("https");
const options = {
"method": "GET",
"hostname": "mib-jouline-db.asc.ohio-state.edu",
"port": null,
"path": "/v1/taxonomy/$id/children",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const settings = {
"async": true,
"crossDomain": true,
"url": "https://mib-jouline-db.asc.ohio-state.edu/v1/taxonomy/$id/children",
"method": "GET",
"headers": {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
import http.client
conn = http.client.HTTPSConnection("mib-jouline-db.asc.ohio-state.edu")
conn.request("GET", "/v1/taxonomy/$id/children")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://mib-jouline-db.asc.ohio-state.edu/v1/taxonomy/$id/children")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
/taxonomy/$id/children
Returns an array of child taxonomic nodes
Fetch Parent Taxonomy
Example Request
curl --request GET \
--url 'https://mib-jouline-db.asc.ohio-state.edu/v1/taxonomy/$id/parents'
const http = require("https");
const options = {
"method": "GET",
"hostname": "mib-jouline-db.asc.ohio-state.edu",
"port": null,
"path": "/v1/taxonomy/$id/parents",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const settings = {
"async": true,
"crossDomain": true,
"url": "https://mib-jouline-db.asc.ohio-state.edu/v1/taxonomy/$id/parents",
"method": "GET",
"headers": {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
import http.client
conn = http.client.HTTPSConnection("mib-jouline-db.asc.ohio-state.edu")
conn.request("GET", "/v1/taxonomy/$id/parents")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://mib-jouline-db.asc.ohio-state.edu/v1/taxonomy/$id/parents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
/taxonomy/$id/parents
Returns an array of parent taxonomic nodes
REST Errors
When using the above REST Endpoints, you will see one of the following error messages in the event an error occurs.
Model Structures
The MiST API predominantly utilizes "models" to interact with the underlying database and perform various application logic. In general, a model is a specialized data structure that closely parallels a database table, and contains multiple fields each with a specific data type and validation logic.
BioSample
{
"id": 1,
"organism": "Homo Sapiens",
"description": "Non-tumor DNA sample from Blood of a human female participant in the dbGaP study",
"qualifiers": "{\"submitterHandle\": \"NCI_CIDR_SmokingTargetedGenomicRegions\"}"
}
Field | Type | Description |
---|---|---|
id | integer | unique primary identifier |
organism | text | |
description | text | |
qualifiers | jsonb | JSON object of attributes further describing this sample |
Component
{
"id": 1,
"genome_id": 1,
"accession": "NC_009634",
"version": "NC_009634.1",
"version_number": 1,
"genbank_accession": "CP000742",
"genbank_version": "CP000742.1",
"name": "ANONYMOUS",
"role": "assembled-molecule",
"assigned_molecule": "na or pGOX5",
"type": "Chromosome",
"genbank_refseq_relationship": "= or <>",
"definition": "Methanococcus vannielii SB, complete genome.",
"molecule_type": "DNA",
"is_circular": "true",
"annotation_date": "2015-08-17",
"comment": null,
"dna": null,
"length": 1720048,
"stats": null,
"created_at": "2020-09-20T20:40:36.098Z",
"updated_at": "2020-09-20T20:55:09.838Z"
}
Field | Type | Description |
---|---|---|
id | integer | unique primary identifier |
genome_id | integer | foreign identifier to this component's associated genome |
accession | text | NCBI RefSeq replicon / contig accession number |
version | text | NCBI RefSeq replicon / contig accession number and version suffix |
version_number | integer | NCBI RefSeq replicon / contig version |
genbank_accession | text | cognate GenBank replicon / contig accession number |
genbank_version | text | cognate GenBank replicon /contig accession number and version suffix |
name | text | |
role | text | |
assigned_molecule | text | associated biomolecule |
type | text | |
genbank_refseq_relationship | text | relationship between the source GenBank record and the RefSeq annotation |
definition | text | brief description of this replicon / contig; sourced from the DEFINITION line(s) |
molecule_type | text | type of molecule that was sequenced; sourced from the LOCUS line |
is_circular | boolean | denotes if this replicon / contig is circular; sourced from the LOCUS line |
annotation_date | date | date of the last modification; sourced from the LOCUS line |
comment | text | free-form comments |
dna | text | ungapped, capitalized DNA sequence |
length | integer | length of dna sequence |
stats | jsonb | JSON object containing statistical data |
created_at | date | date/time record was created |
updated_at | date | date/time record was last updated |
ComponentFeature
{
"id": 1,
"component_id": null,
"gene_id": null,
"locus": null,
"key": null,
"location": null,
"strand": null,
"start": null,
"stop": null,
"length": null,
"qualifiers": null
}
Field | Type | Description |
---|---|---|
id | integer | unique primary identifier |
component_id | integer | |
gene_id | integer | |
locus | text | |
key | text | |
location | text | |
strand | text | |
start | integer | |
stop | integer | |
length | integer | |
qualifiers | jsonb |
Gene
{
"id": 1,
"stable_id": "GCF_000302455.1-A994_RS01985",
"component_id": 1,
"dseq_id": "YyhYrg42MICY95Yv4msKNA",
"aseq_id": "eALFsiVPvD8jtNe_9Qifig",
"accession": "WP_004029586",
"version": "WP_004029586.1",
"locus": "A994_RS01985",
"old_locus": "A994_01955",
"location": "complement(417270..417881)",
"strand": "-",
"start": 417270,
"stop": 417881,
"length": 612,
"names": [
"hisH"
],
"pseudo": "false",
"notes": null,
"product": "imidazole glycerol phosphate synthase, glutamine amidotransferase subunit",
"codon_start": 1,
"translation_table": 11,
"qualifiers": null,
"cds_location": "complement(417270..417881)",
"cds_qualifiers": "{\"inference\": \"EXISTENCE: similar to AA sequence:RefSeq:WP_004029586.1\"}"
}
Field | Type | Description |
---|---|---|
id | integer | unique primary identifier |
stable_id | text | permanent, universal gene identifier composed of the genome version and locus separated by a dash character |
component_id | integer | foreign identifier to this gene's component |
dseq_id | text | source agnostic, universal identifier derived from the DNA sequence; foreign identifier to the associated Dseq |
aseq_id | text | source agnostic, universal identifier derived from the amino acid sequence; foreign identifier to the associated Aseq |
accession | text | NCBI RefSeq protein accession number |
version | text | NCBI RefSeq protein accession number and version suffix |
locus | text | submitter-supplied, systematic, stable identifier for a gene and its associated features |
old_locus | text | previously annotated locus_tag; largely originated from RefSeq re-annotation project |
location | text | source region and operators encoding this gene |
strand | text | |
start | integer | 1-based; start position of gene regardless of the strand; always < stop unless gene spans origin |
stop | integer | 1-based; stop position of gene regardless of the strand; always > start unless gene spans origin |
length | integer | gene sequence length; typically equals stop - start + 1 except in cases where the gene spans the origin |
names | array(text) | array of symbols of the gene corresponding to a sequence region |
pseudo | boolean | if true, indicates this gene is a non-functional gene of sorts |
notes | text | |
product | text | |
codon_start | integer | 1-based offset at which the first complete codon may be found |
translation_table | integer | genetic code table used if other than universal genetic code table |
qualifiers | jsonb | JSON object of other qualifiers associated with this gene |
cds_location | text | represents the source region and operators encoding the gene sequence of any associated CDS; usually identical to location |
cds_qualifiers | jsonb | JSON object of CDS qualifiers associated with the CDS for this gene |
GeneCluster
{
"id": 1,
"component_id": null,
"strand": null,
"size": null
}
Field | Type | Description |
---|---|---|
id | integer | unique primary identifier |
component_id | integer | |
strand | text | |
size | integer |
GeneClusterMember
{
"genes_cluster_id": null,
"gene_id": null
}
Field | Type | Description |
---|---|---|
id | integer | unique primary identifier |
genes_cluster_id | integer | |
gene_id | integer |
Genome
Genome markdown goes here
{
"id": 1,
"worker_id": 3,
"accession": "GCF_000302455",
"version": "GCF_000302455.1",
"version_number": 1,
"genbank_accession": "GCA_000302455",
"genbank_version": "GCA_000302455.1",
"taxonomy_id": 1204725,
"name": "Methanobacterium formicicum DSM 3637",
"refseq_category": "representative genome",
"bioproject": "PRJNA224116",
"biosample": "SAMN02471940",
"wgs_master": "AMPO00000000.1",
"isolate": null,
"version_status": "latest",
"assembly_level": "contig",
"release_type": "major",
"release_date": "2012-10-02",
"assembly_name": "ASM30245v1",
"submitter": "Department of Genetics, University of Seville, Spain",
"ftp_path": "ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF_000302455.1_ASM30245v1",
"superkingdom": "Archaea",
"phylum": "Euryarchaeota",
"class": "Methanobacteria",
"order": "Methanobacteriales",
"family": "Methanobacteriaceae",
"genus": "Methanobacterium",
"species": "Methanobacterium formicicum",
"strain": "DSM 3637",
"stats": null,
"meta": null,
"biosample_id": 3215740,
"created_at": "2020-09-20T20:40:36.098Z",
"updated_at": "2020-09-20T20:55:09.838Z"
}
Field | Type | Description |
---|---|---|
id | integer | unique primary identifier |
worker_id | integer | foreign identifier to the current worker operating on this genome |
accession | text | NCBI RefSeq assembly accession number |
version | text | NCBI RefSeq assembly accession number and version suffix |
version_number | integer | NCBI RefSeq assembly version |
genbank_accession | text | cognate GenBank assembly accession number |
genbank_version | text | cognate GenBank assembly accession number and version suffix |
taxonomy_id | integer | NCBI taxonomy id |
name | text | |
refseq_category | text | RefSeq genome category |
bioproject | text | |
biosample | text | |
wgs_master | text | |
isolate | text | |
version_status | text | |
assembly_level | text | |
release_type | text | |
release_date | date | |
assembly_name | text | not necessarily different between genome versions |
submitter | text | |
ftp_path | text | |
superkingdom | text | |
phylum | text | |
class | text | |
order | text | |
family | text | |
genus | text | |
species | text | |
strain | text | |
stats | jsonb | |
meta | jsonb | |
biosample_id | integer | foreign identifier to any known biosample record |
created_at | date | date/time record was created |
updated_at | date | date/time record was last updated |
GenomeReference
{
"id": 1,
"genome_id": null,
"pubmed_id": null,
"medline_id": null,
"title": null,
"authors": null,
"consortium": null,
"journal": null,
"remark": null,
"notes": null,
"created_at": "2020-09-20T20:40:36.098Z",
"updated_at": "2020-09-20T20:55:09.838Z"
}
Field | Type | Description |
---|---|---|
id | integer | unique primary identifier |
genome_id | integer | |
pubmed_id | integer | |
medline_id | integer | |
title | text | |
authors | text | |
consortium | text | |
journal | text | |
remark | text | |
notes | text | |
created_at | date | date/time record was created |
updated_at | date | date/time record was last updated |
Gtdb
{
"release": "95.0",
"accession": "GB_GCA_000007185.1",
"representative_accession": "GB_GCA_000007185.1",
"is_representative": true,
"ncbi_assembly_name": "ASM718v1",
"ncbi_genbank_accession": "GCA_000007185.1",
"superkingdom": "Archaea",
"phylum": "Methanobacteriota",
"class": "Methanopyri",
"order": "Methanopyrales",
"family": "Methanopyraceae",
"genus": "Methanopyrus",
"species": "Methanopyrus kandleri",
"ani_circumscription_radius": 95,
"mean_intra_species_ani": 99.99,
"min_intra_species_ani": 99.99,
"mean_intra_species_af": 1,
"min_intra_species_af": 1,
"num_clustered_genomes": 2,
"checkm_completeness": 96.74,
"checkm_contamination": 1.6,
"checkm_marker_count": 188,
"checkm_marker_taxa_field": "phylum",
"checkm_marker_taxa_value": "Euryarchaeota",
"checkm_marker_uid": 3,
"checkm_marker_set_count": 125,
"checkm_strain_heterogeneity": null
}
Field | Type | Description |
---|---|---|
release | text | |
accession | text | GTDB assigned accession |
representative_accession | text | the representative GTDB accession for this entry; same as accession if representative |
is_representative | boolean | true if this entry denotes a representative genome |
ncbi_assembly_name | text | |
ncbi_genbank_accession | text | NCBI accession number with version |
superkingdom | text | |
phylum | text | |
class | text | |
order | text | |
family | text | |
genus | text | |
species | text | |
ani_circumscription_radius | float | |
mean_intra_species_ani | float | |
min_intra_species_ani | float | |
mean_intra_species_af | float | |
min_intra_species_af | float | |
num_clustered_genomes | integer | |
checkm_completeness | float | |
checkm_contamination | float | |
checkm_marker_count | integer | |
checkm_marker_taxa_field | text | |
checkm_marker_taxa_value | float | |
checkm_marker_uid | integer | |
checkm_marker_set_count | integer | |
checkm_strain_heterogeneity | float |
IdSequence
{
"id": 1,
"name": "components",
"last_value": "1000"
}
Field | Type | Description |
---|---|---|
id | integer | unique primary identifier |
name | text | unique name that also identifies this sequence |
last_value | integer | most recently allocated value for this sequence |
SignalDomain
{
"id": 1,
"name": "PAS",
"version": 1,
"kind": "transmitter",
"function": "small molecule binding",
"created_at": "2020-09-20T20:40:36.098Z",
"updated_at": "2020-09-20T20:55:09.838Z"
}
Field | Type | Description |
---|---|---|
id | integer | unique primary identifier |
name | text | unique human friendly identifier that is source independent (e.g. may relate to domain models across pfam and agfam) |
version | integer | prediction algorithm version |
kind | text | kind of signal domain: input, transmitter, receiver, output, chemoataxis, ecf, etc. |
function | text | general purpose function |
created_at | date | date/time record was created |
updated_at | date | date/time record was last updated |
SignalDomainMember
{
"id": 1,
"signal_domain_id": 1,
"accession": "PF00989",
"name": "PAS",
"superfamily": "PAS",
"description": "PAS small molecule binding domain",
"specific": true,
"source": "pfam",
"pubmed_ids": [
9301332,
9382818
],
"pdb_ids": []
}
Field | Type | Description |
---|---|---|
id | integer | unique primary identifier |
signal_domain_id | integer | foreign identifier to this members associated signal domain |
accession | text | source specific accession number (optional) |
name | text | name of the source domain model |
superfamily | text | superfamily or clan this domain model belongs to |
description | text | domain model details |
specific | boolean | boolean value indicating if this domain is specific to signal transduction; if true, may be used to putatively identify signal transduction proteins |
source | text | database or other source where this model originated from (e.g. pfam, agfam, etc.) |
pubmed_ids | array(text) | array of relevant PubMed identifiers |
pdb_ids | array(text) | array of relevant PDB identifiers |
SignalGene
{
"id": 1,
"gene_id": 3423521,
"component_id": 982,
"signal_domains_version": 1,
"ranks": [
"2cp",
"rr"
],
"counts": {
"RR": 1,
"HTH_1": 1
},
"inputs": [],
"outputs": [
"HTH_1"
],
"data": null
}
Field | Type | Description |
---|---|---|
id | integer | unique primary identifier |
gene_id | integer | foreign identifier to the source gene |
component_id | integer | foreign identifier to the source component for this gene |
signal_domains_version | integer | signal transduction prediction algorithm version used to identify this gene |
ranks | array(text) | array of assigned signal transduction ranks (e.g. [2cp, rr]) |
counts | jsonb | key-value structure denoting the number of signal domains in this protein |
inputs | array(text) | array of input signal transduction domains (signal domain names) |
outputs | array(text) | array of output signal transduction domains (signal domain names) |
data | jsonb | supporting data such as top chemotaxis classification hits |
Taxonomy
{
"id": 1,
"parent_taxonomy_id": null,
"name": null,
"rank": null
}
Field | Type | Description |
---|---|---|
id | integer | unique primary identifier |
parent_taxonomy_id | integer | |
name | text | |
rank | text |
Worker
{
"id": 1,
"hostname": null,
"process_id": null,
"public_ip": null,
"active": null,
"normal_exit": null,
"message": null,
"error_message": null,
"job": null,
"created_at": "2020-09-20T20:40:36.098Z",
"updated_at": "2020-09-20T20:55:09.838Z"
}
Field | Type | Description |
---|---|---|
id | integer | unique primary identifier |
hostname | text | |
process_id | integer | |
public_ip | text | |
active | boolean | |
normal_exit | boolean | |
message | text | |
error_message | text | |
job | jsonb | |
created_at | date | date/time record was created |
updated_at | date | date/time record was last updated |
WorkerModule
{
"id": 1,
"genome_id": null,
"worker_id": null,
"module": null,
"state": null,
"redo": null,
"started_at": null,
"finished_at": null,
"created_at": "2020-09-20T20:40:36.098Z",
"updated_at": "2020-09-20T20:55:09.838Z"
}
Field | Type | Description |
---|---|---|
id | integer | unique primary identifier |
genome_id | integer | |
worker_id | integer | |
module | text | |
state | text | |
redo | boolean | |
started_at | date | |
finished_at | date | |
created_at | date | date/time record was created |
updated_at | date | date/time record was last updated |
Xref
{
"id": 1,
"gene_id": null,
"database": null,
"database_id": null
}
Field | Type | Description |
---|---|---|
id | integer | unique primary identifier |
gene_id | integer | |
database | text | |
database_id | text |
Aseq
{
"id": 1,
"length": "393",
"sequence": null,
"pfam31": null,
"agfam2": null,
"segs": null,
"coils": null,
"tmhmm2": null,
"ecf1": null,
"stp": null
}
Field | Type | Description |
---|---|---|
id | integer | unique primary identifier |
length | integer | length of amino acid sequence |
sequence | text | normalized, amino acid sequence |
pfam31 | jsonb | array of pfam31 predictions |
agfam2 | jsonb | array of agfam2 predictions |
segs | jsonb | array of ranges denoting low-complexity regions |
coils | jsonb | array of ranges denoting coiled-coil regions |
tmhmm2 | jsonb | object containing two items: topology - array of arrays classifying all regions of the sequence, and tms - array of ranges denoting regions predicted to have transmembrane regions |
ecf1 | jsonb | array of extra cytoplasmic factor predictions |
stp | jsonb | signal transduction prediction data; the version field indicates the spec file version used for these predictions |
Dseq
{
"id": 1,
"length": null,
"gc_percent": null,
"sequence": null
}
Field | Type | Description |
---|---|---|
id | integer | unique primary identifier |
length | integer | |
gc_percent | real | |
sequence | text |