Menu 

Introduction

The primary objectives of the MiST database are:

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 ParameterTypeDescription
per_pageintegernumber of primary records to return per page. Defaults to30 . Must be between1 and100.
pageintegerthe 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

post/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
}
get/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\"}"
  }
]
get/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\"}"
}
get/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"
  }
]
get/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"
}
get/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\"}"
  }
]
get/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\"}"
  }
]
post/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\"}"
}
get/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
get/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"
  }
]
get/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"
  }
]
post/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"
}
get/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\"}"
  }
]
get/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\"}"
  }
]
post/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
  }
]
get/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
  }
]
post/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
get/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
get/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"
  }
]
get/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
  }
]
get/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
get/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
get/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
get/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