From 2d396a44417f877060ece72973cc8a695b41dae2 Mon Sep 17 00:00:00 2001 From: yosefdroth Date: Wed, 11 Mar 2020 04:34:56 -0400 Subject: [PATCH 01/17] pull --- .circleci/config.yml | 118 ++++++++++++++++++++++++++++++++++++------- public/_redirects | 1 + 2 files changed, 100 insertions(+), 19 deletions(-) create mode 100644 public/_redirects diff --git a/.circleci/config.yml b/.circleci/config.yml index 62327188..15d99f6a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,19 +1,15 @@ # CircleCI 2.1 configuration file version: 2.1 -workflows: - React: - jobs: - - build -jobs: - build: +executors: + node-executor: docker: - image: circleci/node:12.6 environment: TERM: xterm # this enables colors in the Cypress output - working_directory: ~/project - +commands: + netlify-build: steps: # Clone repo - checkout @@ -41,6 +37,9 @@ jobs: chmod +x cc-test-reporter sudo mv cc-test-reporter /usr/local/bin/cc-test-reporter + # install netlify-cli + sudo npm install netlify-cli -g + # Restore dependencies from cache - restore_cache: keys: @@ -68,13 +67,17 @@ jobs: command: | set +e error=0 + error_msgs=() # Add node programs to path export PATH=$PATH:node_modules/.bin # Run unit tests npm run test-unit-coverage - if [[ $? -ne 0 ]]; then error=1; fi + if [[ $? -ne 0 ]]; then + error=1; + error_msgs+=("Unit tests failed") + fi # Run integration tests cp package.json package.json.default @@ -82,48 +85,84 @@ jobs: npm start & wait-on http://localhost:3000 npm run test-integration-run - if [[ $? -ne 0 ]]; then error=1; fi + if [[ $? -ne 0 ]]; then + error=1; + error_msgs+=("Integration tests failed") + fi npm stop mv package.json.default package.json npm run test-integration-results-report - if [[ $? -ne 0 ]]; then error=1; fi + if [[ $? -ne 0 ]]; then + error=1; + error_msgs+=("Generation of integration test report failed") + fi rm -rf test-results/integration-tests/specs npm run test-integration-coverage-report - if [[ $? -ne 0 ]]; then error=1; fi + if [[ $? -ne 0 ]]; then + error=1; + error_msgs+=("Generation of integration test coverage report failed") + fi # check for missing and unused dependencies depcheck . - if [[ $? -ne 0 ]]; then error=1; fi + if [[ $? -ne 0 ]]; then + error=1; + error_msgs+=("Test for missing and unused dependencies failed") + fi # Lint JavaScript npm run lint-js - if [[ $? -ne 0 ]]; then error=1; fi + if [[ $? -ne 0 ]]; then + error=1; + error_msgs+=("JavaScript linting failed") + fi # Lint CSS npm run lint-style - if [[ $? -ne 0 ]]; then error=1; fi + if [[ $? -ne 0 ]]; then + error=1; + error_msgs+=("CSS linting failed") + fi # Lint JSON npm run lint-json - if [[ $? -ne 0 ]]; then error=1; fi + if [[ $? -ne 0 ]]; then + error=1; + error_msgs+=("JSON linting failed") + fi - # Lint svg + # Lint SVG npm run lint-svg - if [[ $? -ne 0 ]]; then error=1; fi + if [[ $? -ne 0 ]]; then + error=1; + error_msgs+=("SVG linting failed") + fi # Build production package NODE_ENV=production npm run build - if [[ $? -ne 0 ]]; then error=1; fi + if [[ $? -ne 0 ]]; then + error=1; + error_msgs+=("Production build failed") + fi # Generate report of licenses of dependencies npm run build-third-party-license-report + if [[ $? -ne 0 ]]; then + error=1; + error_msgs+=("Generation of license report failed") + fi # Return error status if [[ $error -eq 0 ]]; then exit 0; else + NEWLINE=$'\n' + error_msg=$(printf "${NEWLINE}- %s" "${error_msgs[@]}") + error_msg=${error_msg:1} + >&2 echo "Build failed:" + >&2 echo "${error_msg}" exit 1; fi @@ -162,3 +201,44 @@ jobs: - store_artifacts: path: ~/project/LICENSE-THIRD-PARTY destination: LICENSE-THIRD-PARTY + +workflows: + version: 2 + build-deploy: + jobs: + - build: # anything that's not master branch + filters: + branches: + ignore: + - master + - release: # only master branch + filters: + branches: + only: + - master + +jobs: + build: + executor: node-executor + working_directory: ~/project + steps: + - netlify-build + - run: + name: Netlify Deploy Non-master Branch + command: | + export PATH=$PATH:node_modules/.bin + + # deploy + netlify deploy --site $NETLIFY_SITE_ID --auth $NETLIFY_ACCESS_TOKEN --dir=build + release: + executor: node-executor + working_directory: ~/project + steps: + - netlify-build + - run: + name: Netlify Deploy Master + command: | + export PATH=$PATH:node_modules/.bin + + # deploy + netlify deploy --site $NETLIFY_SITE_ID --auth $NETLIFY_ACCESS_TOKEN --prod --dir=build diff --git a/public/_redirects b/public/_redirects new file mode 100644 index 00000000..4aa7faf0 --- /dev/null +++ b/public/_redirects @@ -0,0 +1 @@ +/* /index.html 200 From 36dd755fe9d6f1f7583437178e4d5944ba9a16d3 Mon Sep 17 00:00:00 2001 From: yosefdroth Date: Wed, 11 Mar 2020 05:14:35 -0400 Subject: [PATCH 02/17] tooltip --- .../ColumnsToolPanel/TooltipDescriptions.js | 5 +++++ .../Metabolite/ConcentrationDataTable.js | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 src/scenes/BiochemicalEntityDetails/ColumnsToolPanel/TooltipDescriptions.js diff --git a/src/scenes/BiochemicalEntityDetails/ColumnsToolPanel/TooltipDescriptions.js b/src/scenes/BiochemicalEntityDetails/ColumnsToolPanel/TooltipDescriptions.js new file mode 100644 index 00000000..c06d949b --- /dev/null +++ b/src/scenes/BiochemicalEntityDetails/ColumnsToolPanel/TooltipDescriptions.js @@ -0,0 +1,5 @@ +const TAXONOMIC_PROXIMITY_TOOLTIP = "Filter measurements according to their distance along the NCBI Taxonomy tree." +const CHEMICAL_SIMILARITY_TOOLTIP = "Identify measurements of similar metabolites according to the Tanimoto distance of their structures." + + +export {TAXONOMIC_PROXIMITY_TOOLTIP, CHEMICAL_SIMILARITY_TOOLTIP} \ No newline at end of file diff --git a/src/scenes/BiochemicalEntityDetails/Metabolite/ConcentrationDataTable.js b/src/scenes/BiochemicalEntityDetails/Metabolite/ConcentrationDataTable.js index 4c124544..2826cdea 100644 --- a/src/scenes/BiochemicalEntityDetails/Metabolite/ConcentrationDataTable.js +++ b/src/scenes/BiochemicalEntityDetails/Metabolite/ConcentrationDataTable.js @@ -1,6 +1,9 @@ import React, { Component } from "react"; import { dictOfArraysToArrayOfDicts } from "~/utils/utils"; import DataTable from "../DataTable/DataTable"; +import Tooltip from "@material-ui/core/Tooltip"; +import { HtmlColumnHeader } from "../HtmlColumnHeader"; +import {TAXONOMIC_PROXIMITY_TOOLTIP, CHEMICAL_SIMILARITY_TOOLTIP} from '../ColumnsToolPanel/TooltipDescriptions'; class ConcentrationDataTable extends Component { static getUrl(query, organism, abstract = true) { @@ -131,6 +134,14 @@ class ConcentrationDataTable extends Component { }, { headerName: "Chemical similarity", + headerComponentFramework: HtmlColumnHeader, + headerComponentParams: { + name: ( + + Chemical similarity + + ) + }, field: "tanimotoSimilarity", cellRenderer: "numericCellRenderer", type: "numericColumn", @@ -150,6 +161,14 @@ class ConcentrationDataTable extends Component { }, { headerName: "Taxonomic similarity", + headerComponentFramework: HtmlColumnHeader, + headerComponentParams: { + name: ( + + Taxonomic similarity + + ) + }, field: "taxonomicProximity", hide: true, filter: "taxonomyFilter", From f75983ff16ee31863c4586608b05938b88197efe Mon Sep 17 00:00:00 2001 From: yosefdroth Date: Wed, 11 Mar 2020 08:49:42 -0400 Subject: [PATCH 03/17] protein metadata --- .../Protein/MetadataSection.js | 134 ++++++++++++++++-- 1 file changed, 120 insertions(+), 14 deletions(-) diff --git a/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js b/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js index 2b20844d..02ea215d 100644 --- a/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js +++ b/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js @@ -2,6 +2,8 @@ import React, { Component } from "react"; import PropTypes from "prop-types"; import { upperCaseFirstLetter, removeDuplicates } from "~/utils/utils"; import BaseMetadataSection from "../MetadataSection"; +//import axios from "axios"; +//import { getDataFromExternalApi, genApiErrorHandler } from "~/services/RestApi"; class MetadataSection extends Component { static propTypes = { @@ -15,19 +17,17 @@ class MetadataSection extends Component { static getMetadataUrl(query, organism) { return ( - "proteins/proximity_abundance/proximity_abundance_kegg/" + - "?kegg_id=" + - query + - (organism ? "&anchor=" + organism : "") + - "&distance=40" + - "&depth=40" + "kegg/get_meta/?kegg_ids=" + query ); } static processMetadata(rawData) { + let processedData = {}; let koNumber; let koName; const uniprotIdToTaxonDist = {}; + + /* for (const rawDatum of rawData) { for (const doc of rawDatum.documents) { if ("ko_number" in doc) { @@ -41,16 +41,41 @@ class MetadataSection extends Component { } } } + */ const uniprotIds = removeDuplicates(Object.keys(uniprotIdToTaxonDist)); uniprotIds.sort(); - return { - koNumber: koNumber, - koName: koName, - uniprotIds: uniprotIds, - other: { uniprotIdToTaxonDist: uniprotIdToTaxonDist } - }; + processedData.koName = rawData[0].definition.name[0] + processedData.koNumber = "blue" + processedData.other = { uniprotIdToTaxonDist: uniprotIdToTaxonDist } + processedData.description = null; + processedData.ec_code = rawData[0].definition.ec_code[0] + processedData.pathways = rawData[0].kegg_pathway + + const url = "https://www.ebi.ac.uk/proteins/api/proteins?offset=0&size=1&gene=pfkA" + let description = "" + //let description_woo = getDataFromExternalApi([url], { headers: { 'Content-Type': 'application/json' }}) + // .then(response => { + // processedData.description = response.data + // console.log(response.data) + // }) + + //let the_data = axios.get(url, { headers: { 'Content-Type': 'application/json' }}).then(response => { + // return(response.data)}) + //console.log(processedData.description ) + + + //console.log(axios.get("https://www.ebi.ac.uk/proteins/api/proteins?offset=0&size=1&gene=pfkA", { headers: { 'Content-Type': 'application/json' }})) + + + return processedData + //processedData: processedData, + //koNumber: processedData.koNumber, + //koName: processedData.koName, + //uniprotIds: uniprotIds, + //other: { uniprotIdToTaxonDist: uniprotIdToTaxonDist } + } static formatTitle(processedData) { @@ -62,6 +87,7 @@ class MetadataSection extends Component { // description const descriptions = []; + //console.log(processedData.processedData.description) descriptions.push({ key: "Name", @@ -69,7 +95,7 @@ class MetadataSection extends Component { }); descriptions.push({ - key: "KEGG Orthology id", + key: "KEGG Orthology ID", value: ( ) }); + descriptions.push({ + key: "EC Code", + value: processedData.ec_code + }); if (processedData.uniprotIds) { const uniprotLinks = []; @@ -107,7 +137,38 @@ class MetadataSection extends Component { } sections.push({ - id: "description", + id: "description", + title: "Description", + content: ( +
+ {/* + {structure && ( +
+ + Chemical structure + +
+ )} + */} + +
{ + "processedData.processedData.description[0].comments[0].text[0].value"}
+
+ ) + }); + + sections.push({ + id: "description2", title: "Description", content: (
    @@ -122,6 +183,51 @@ class MetadataSection extends Component { ) }); + if (processedData.pathways.length > 0) { + sections.push({ + id: "pathways", + title: "Pathways", + content: ( + + ) + }); + } + // return sections return sections; } From e63e63a20c34554fd9c7b620052bb2fc520e3952 Mon Sep 17 00:00:00 2001 From: yosefdroth Date: Wed, 11 Mar 2020 13:01:40 -0400 Subject: [PATCH 04/17] seperating protein metadata from observations --- .../Protein/AbundanceDataTable.js | 58 ++++++++++++------- .../Protein/MetadataSection.js | 6 +- .../Protein/Protein.js | 2 + 3 files changed, 43 insertions(+), 23 deletions(-) diff --git a/src/scenes/BiochemicalEntityDetails/Protein/AbundanceDataTable.js b/src/scenes/BiochemicalEntityDetails/Protein/AbundanceDataTable.js index 2994d786..f1a48ed7 100644 --- a/src/scenes/BiochemicalEntityDetails/Protein/AbundanceDataTable.js +++ b/src/scenes/BiochemicalEntityDetails/Protein/AbundanceDataTable.js @@ -2,6 +2,10 @@ import React, { Component } from "react"; import PropTypes from "prop-types"; import { getNumProperties } from "~/utils/utils"; import DataTable from "../DataTable/DataTable"; +import { HtmlColumnHeader } from "../HtmlColumnHeader"; +import Tooltip from "@material-ui/core/Tooltip"; + +import {TAXONOMIC_PROXIMITY_TOOLTIP, CHEMICAL_SIMILARITY_TOOLTIP} from '../ColumnsToolPanel/TooltipDescriptions'; class AbundanceDataTable extends Component { static propTypes = { @@ -12,42 +16,48 @@ class AbundanceDataTable extends Component { "uniprot-id-to-taxon-dist": null }; - getUrl() { + getUrl(query, organism) { const queryArgs = Object.keys(this.props["uniprot-id-to-taxon-dist"]) .map(el => "uniprot_id=" + el) .join("&"); - return "proteins/meta/meta_combo/?" + queryArgs; + return "proteins/proximity_abundance/proximity_abundance_kegg/?kegg_id=" + this.props["kegg_id"] + "&distance=100&depth=100" + "&anchor=" + + organism } formatData(rawData) { + console.log(rawData) let start = 0; if (getNumProperties(rawData[0]) === 1) { start = 1; } const formattedData = []; - for (const rawDatum of rawData.slice(start)) { - if (rawDatum.abundances !== undefined) { - for (const measurement of rawDatum.abundances) { - let proteinName = rawDatum.protein_name; - if (proteinName.includes("(")) { - proteinName = proteinName.substring(0, proteinName.indexOf("(")); - } + for (let i = 0; i < rawData.slice(start).length; i++){ + const docs = rawData.slice(start)[i] + console.log(docs.documents) + + for (const rawDatum of docs.documents) { + if (rawDatum.abundances !== undefined) { + for (const measurement of rawDatum.abundances) { + let proteinName = rawDatum.protein_name; + if (proteinName.includes("(")) { + proteinName = proteinName.substring(0, proteinName.indexOf("(")); + } - formattedData.push({ - abundance: parseFloat(measurement.abundance), - proteinName: proteinName, - uniprotId: rawDatum.uniprot_id, - geneSymbol: rawDatum.gene_name, - organism: rawDatum.species_name, - taxonomicProximity: this.props["uniprot-id-to-taxon-dist"][ - rawDatum.uniprot_id - ], - organ: measurement.organ.replace("_", " ").toLowerCase() - }); + formattedData.push({ + abundance: parseFloat(measurement.abundance), + proteinName: proteinName, + uniprotId: rawDatum.uniprot_id, + geneSymbol: rawDatum.gene_name, + organism: rawDatum.species_name, + taxonomicProximity: i, + organ: measurement.organ.replace("_", " ").toLowerCase() + }); + } } } } + console.log(formattedData) return formattedData; } @@ -128,6 +138,14 @@ class AbundanceDataTable extends Component { }, { headerName: "Taxonomic similarity", + headerComponentFramework: HtmlColumnHeader, + headerComponentParams: { + name: ( + + Taxonomic similarity + + ) + }, field: "taxonomicProximity", hide: true, filter: "taxonomyFilter", diff --git a/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js b/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js index 02ea215d..92b816e6 100644 --- a/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js +++ b/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js @@ -47,7 +47,7 @@ class MetadataSection extends Component { uniprotIds.sort(); processedData.koName = rawData[0].definition.name[0] - processedData.koNumber = "blue" + processedData.koNumber = "Kegg ID" processedData.other = { uniprotIdToTaxonDist: uniprotIdToTaxonDist } processedData.description = null; processedData.ec_code = rawData[0].definition.ec_code[0] @@ -162,14 +162,14 @@ class MetadataSection extends Component { */}
    { - "processedData.processedData.description[0].comments[0].text[0].value"}
    + "Description from Uniprot"} ) }); sections.push({ id: "description2", - title: "Description", + title: "Names", content: (
      {descriptions.map(desc => { diff --git a/src/scenes/BiochemicalEntityDetails/Protein/Protein.js b/src/scenes/BiochemicalEntityDetails/Protein/Protein.js index 29a8c42d..b71dbc02 100644 --- a/src/scenes/BiochemicalEntityDetails/Protein/Protein.js +++ b/src/scenes/BiochemicalEntityDetails/Protein/Protein.js @@ -3,6 +3,7 @@ import { HashLink } from "react-router-hash-link"; import { scrollTo } from "~/utils/utils"; import { MetadataSection } from "./MetadataSection"; import { AbundanceDataTable } from "./AbundanceDataTable"; +import { parseHistoryLocationPathname } from "~/utils/utils"; import "../BiochemicalEntityDetails.scss"; @@ -77,6 +78,7 @@ class Protein extends Component { set-scene-metadata={this.setMetadata.bind(this)} /> Date: Thu, 12 Mar 2020 14:00:19 -0400 Subject: [PATCH 05/17] uniprot description and updates --- .../LoadExternalData.js | 29 ++++ .../Protein/AbundanceDataTable.js | 60 ++++---- .../Protein/MetadataSection.js | 141 ++++-------------- .../Protein/Protein.js | 9 +- .../Reaction/RateConstantsDataTable.js | 35 ++++- 5 files changed, 120 insertions(+), 154 deletions(-) create mode 100644 src/scenes/BiochemicalEntityDetails/LoadExternalData.js diff --git a/src/scenes/BiochemicalEntityDetails/LoadExternalData.js b/src/scenes/BiochemicalEntityDetails/LoadExternalData.js new file mode 100644 index 00000000..6094f514 --- /dev/null +++ b/src/scenes/BiochemicalEntityDetails/LoadExternalData.js @@ -0,0 +1,29 @@ +import React, { Component } from "react"; +import PropTypes from "prop-types"; +import axios from "axios"; + +class LoadData extends Component { + static propTypes = { + url: PropTypes.string.isRequired, + processor: PropTypes.func.isRequired + }; + constructor(props) { + super(props); + this.state = { text: "" }; + } + componentDidMount() { + axios + .get(this.props.url, { headers: { "Content-Type": "application/json" } }) + .then(response => { + console.log(response.data); + const processed_data = this.props.processor(response.data); + this.setState({ text: processed_data }); + }); + } + + render() { + return
      {this.state.text}
      ; + } +} + +export { LoadData }; diff --git a/src/scenes/BiochemicalEntityDetails/Protein/AbundanceDataTable.js b/src/scenes/BiochemicalEntityDetails/Protein/AbundanceDataTable.js index f1a48ed7..eaa77258 100644 --- a/src/scenes/BiochemicalEntityDetails/Protein/AbundanceDataTable.js +++ b/src/scenes/BiochemicalEntityDetails/Protein/AbundanceDataTable.js @@ -4,8 +4,7 @@ import { getNumProperties } from "~/utils/utils"; import DataTable from "../DataTable/DataTable"; import { HtmlColumnHeader } from "../HtmlColumnHeader"; import Tooltip from "@material-ui/core/Tooltip"; - -import {TAXONOMIC_PROXIMITY_TOOLTIP, CHEMICAL_SIMILARITY_TOOLTIP} from '../ColumnsToolPanel/TooltipDescriptions'; +import { TAXONOMIC_PROXIMITY_TOOLTIP } from "../ColumnsToolPanel/TooltipDescriptions"; class AbundanceDataTable extends Component { static propTypes = { @@ -17,25 +16,23 @@ class AbundanceDataTable extends Component { }; getUrl(query, organism) { - const queryArgs = Object.keys(this.props["uniprot-id-to-taxon-dist"]) - .map(el => "uniprot_id=" + el) - .join("&"); - return "proteins/proximity_abundance/proximity_abundance_kegg/?kegg_id=" + this.props["kegg_id"] + "&distance=100&depth=100" + "&anchor=" - + organism + return ( + "proteins/proximity_abundance/proximity_abundance_kegg/?kegg_id=" + + query + + "&distance=100&depth=100" + + (organism ? "&anchor=" + organism : "") + ); } formatData(rawData) { - console.log(rawData) let start = 0; if (getNumProperties(rawData[0]) === 1) { start = 1; } const formattedData = []; - for (let i = 0; i < rawData.slice(start).length; i++){ - const docs = rawData.slice(start)[i] - console.log(docs.documents) - + for (let i = 0; i < rawData.slice(start).length; i++) { + const docs = rawData.slice(start)[i]; for (const rawDatum of docs.documents) { if (rawDatum.abundances !== undefined) { for (const measurement of rawDatum.abundances) { @@ -57,7 +54,6 @@ class AbundanceDataTable extends Component { } } } - console.log(formattedData) return formattedData; } @@ -95,8 +91,8 @@ class AbundanceDataTable extends Component { }; } - static getColDefs() { - return [ + static getColDefs(organism) { + const colDefs = [ { headerName: "Abundance", field: "abundance", @@ -176,25 +172,27 @@ class AbundanceDataTable extends Component { filter: "textFilter" } ]; + + if (!organism) { + colDefs.splice(-3, 1); + } + + return colDefs; } render() { - if (this.props["uniprot-id-to-taxon-dist"] == null) { - return
      ; - } else { - return ( - - ); - } + return ( + + ); } } export { AbundanceDataTable }; diff --git a/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js b/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js index 92b816e6..1abfded4 100644 --- a/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js +++ b/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js @@ -2,8 +2,10 @@ import React, { Component } from "react"; import PropTypes from "prop-types"; import { upperCaseFirstLetter, removeDuplicates } from "~/utils/utils"; import BaseMetadataSection from "../MetadataSection"; -//import axios from "axios"; -//import { getDataFromExternalApi, genApiErrorHandler } from "~/services/RestApi"; +import { LoadData } from "../LoadExternalData"; +import axios from "axios"; +import { getDataFromExternalApi, genApiErrorHandler } from "~/services/RestApi"; +import LazyLoad from "react-lazyload"; class MetadataSection extends Component { static propTypes = { @@ -15,67 +17,27 @@ class MetadataSection extends Component { this.state = { metadata: null }; } + static processUniprotAPI(uniprot_data) { + return uniprot_data[0].comments[0].text[0].value; + } + static getMetadataUrl(query, organism) { - return ( - "kegg/get_meta/?kegg_ids=" + query - ); + return "kegg/get_meta/?kegg_ids=" + query; } static processMetadata(rawData) { let processedData = {}; - let koNumber; - let koName; - const uniprotIdToTaxonDist = {}; - - /* - for (const rawDatum of rawData) { - for (const doc of rawDatum.documents) { - if ("ko_number" in doc) { - koNumber = doc.ko_number; - } - if ("ko_name" in doc && doc.ko_name.length > 0) { - koName = doc.ko_name[0]; - } - if (doc.abundances !== undefined) { - uniprotIdToTaxonDist[doc.uniprot_id] = rawDatum.distance; - } - } - } - */ - - const uniprotIds = removeDuplicates(Object.keys(uniprotIdToTaxonDist)); - uniprotIds.sort(); - processedData.koName = rawData[0].definition.name[0] - processedData.koNumber = "Kegg ID" - processedData.other = { uniprotIdToTaxonDist: uniprotIdToTaxonDist } + processedData.koName = rawData[0].definition.name[0]; + processedData.koNumber = rawData[0].kegg_orthology_id; processedData.description = null; - processedData.ec_code = rawData[0].definition.ec_code[0] - processedData.pathways = rawData[0].kegg_pathway - - const url = "https://www.ebi.ac.uk/proteins/api/proteins?offset=0&size=1&gene=pfkA" - let description = "" - //let description_woo = getDataFromExternalApi([url], { headers: { 'Content-Type': 'application/json' }}) - // .then(response => { - // processedData.description = response.data - // console.log(response.data) - // }) - - //let the_data = axios.get(url, { headers: { 'Content-Type': 'application/json' }}).then(response => { - // return(response.data)}) - //console.log(processedData.description ) - - - //console.log(axios.get("https://www.ebi.ac.uk/proteins/api/proteins?offset=0&size=1&gene=pfkA", { headers: { 'Content-Type': 'application/json' }})) - - - return processedData - //processedData: processedData, - //koNumber: processedData.koNumber, - //koName: processedData.koName, - //uniprotIds: uniprotIds, - //other: { uniprotIdToTaxonDist: uniprotIdToTaxonDist } + processedData.ec_code = rawData[0].definition.ec_code[0]; + processedData.pathways = rawData[0].kegg_pathway; + processedData.description_url = + "https://www.ebi.ac.uk/proteins/api/proteins?offset=0&size=1&gene=" + + rawData[0].gene_name[0]; + return processedData; } static formatTitle(processedData) { @@ -85,9 +47,7 @@ class MetadataSection extends Component { static formatMetadata(processedData) { const sections = []; - // description const descriptions = []; - //console.log(processedData.processedData.description) descriptions.push({ key: "Name", @@ -115,60 +75,23 @@ class MetadataSection extends Component { value: processedData.ec_code }); - if (processedData.uniprotIds) { - const uniprotLinks = []; - for (const uniprotId of processedData.uniprotIds) { - uniprotLinks.push( -
    • - - {uniprotId} - -
    • - ); - } - descriptions.push({ - key: "Proteins", - value:
        {uniprotLinks}
      - }); - } - sections.push({ - id: "description", - title: "Description", - content: ( -
      - {/* - {structure && ( -
      - - Chemical structure - -
      - )} - */} - -
      { - "Description from Uniprot"}
      -
      - ) - }); + id: "description", + title: "Description", + content: ( +
      + + + +
      + ) + }); sections.push({ - id: "description2", + id: "names", title: "Names", content: (
        @@ -227,8 +150,6 @@ class MetadataSection extends Component { ) }); } - - // return sections return sections; } diff --git a/src/scenes/BiochemicalEntityDetails/Protein/Protein.js b/src/scenes/BiochemicalEntityDetails/Protein/Protein.js index b71dbc02..b3cfcd28 100644 --- a/src/scenes/BiochemicalEntityDetails/Protein/Protein.js +++ b/src/scenes/BiochemicalEntityDetails/Protein/Protein.js @@ -77,14 +77,7 @@ class Protein extends Component { - + diff --git a/src/scenes/BiochemicalEntityDetails/Reaction/RateConstantsDataTable.js b/src/scenes/BiochemicalEntityDetails/Reaction/RateConstantsDataTable.js index 4504021e..0c15ce05 100644 --- a/src/scenes/BiochemicalEntityDetails/Reaction/RateConstantsDataTable.js +++ b/src/scenes/BiochemicalEntityDetails/Reaction/RateConstantsDataTable.js @@ -1,9 +1,11 @@ import React, { Component } from "react"; import DataTable from "../DataTable/DataTable"; import { HtmlColumnHeader } from "../HtmlColumnHeader"; +import Tooltip from "@material-ui/core/Tooltip"; +import { TAXONOMIC_PROXIMITY_TOOLTIP } from "../ColumnsToolPanel/TooltipDescriptions"; class RateConstantsDataTable extends Component { - static getUrl(query) { + static getUrl(query, organism) { const substratesProducts = query.split("-->"); const substrates = substratesProducts[0].trim(); const products = substratesProducts[1].trim(); @@ -15,7 +17,8 @@ class RateConstantsDataTable extends Component { products + "&_from=0" + "&size=1000" + - "&bound=tight" + "&bound=tight" + + (organism ? "&taxon_distance=true&species=" + organism : "") ); } @@ -30,10 +33,22 @@ class RateConstantsDataTable extends Component { wildtypeMutant = "mutant"; } + let rank = ""; + for (var key in datum.taxon_distance) { + if (!Array.isArray(datum.taxon_distance[key])) { + rank = ""; + } + } + //if (datum.taxon_distance !== null){ + // rank = datum.taxon_distance[1][0] + //} + //rank = datum.taxon_distance[1][0] + const formattedDatum = { kcat: RateConstantsDataTable.getKcatValues(datum.parameter), km: RateConstantsDataTable.getKmValues(datum.parameter), organism: datum.taxon_name, + taxonomicProximity: rank, wildtypeMutant: wildtypeMutant, temperature: datum.temperature, ph: datum.ph, @@ -215,9 +230,16 @@ class RateConstantsDataTable extends Component { filter: "textFilter" }); - /* colDefs.push({ headerName: "Taxonomic similarity", + headerComponentFramework: HtmlColumnHeader, + headerComponentParams: { + name: ( + + Taxonomic similarity + + ) + }, field: "taxonomicProximity", hide: true, filter: "taxonomyFilter", @@ -225,8 +247,7 @@ class RateConstantsDataTable extends Component { const value = params.value; return value; } - }) - */ + }); colDefs.push({ headerName: "Temperature (C)", @@ -260,6 +281,10 @@ class RateConstantsDataTable extends Component { filter: "textFilter" }); + if (!organism) { + colDefs.splice(-4, 1); + } + // return column definitions return colDefs; } From 1ad0284d6bce1dcc98d969c6531426be803dc967 Mon Sep 17 00:00:00 2001 From: yosefdroth Date: Thu, 12 Mar 2020 14:11:20 -0400 Subject: [PATCH 06/17] linting --- .../BiochemicalEntityDetails/Protein/MetadataSection.js | 6 ++---- src/scenes/BiochemicalEntityDetails/Protein/Protein.js | 1 - 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js b/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js index 1abfded4..14a7c36e 100644 --- a/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js +++ b/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js @@ -1,10 +1,8 @@ import React, { Component } from "react"; import PropTypes from "prop-types"; -import { upperCaseFirstLetter, removeDuplicates } from "~/utils/utils"; +import { upperCaseFirstLetter } from "~/utils/utils"; import BaseMetadataSection from "../MetadataSection"; import { LoadData } from "../LoadExternalData"; -import axios from "axios"; -import { getDataFromExternalApi, genApiErrorHandler } from "~/services/RestApi"; import LazyLoad from "react-lazyload"; class MetadataSection extends Component { @@ -21,7 +19,7 @@ class MetadataSection extends Component { return uniprot_data[0].comments[0].text[0].value; } - static getMetadataUrl(query, organism) { + static getMetadataUrl(query) { return "kegg/get_meta/?kegg_ids=" + query; } diff --git a/src/scenes/BiochemicalEntityDetails/Protein/Protein.js b/src/scenes/BiochemicalEntityDetails/Protein/Protein.js index b3cfcd28..f8069410 100644 --- a/src/scenes/BiochemicalEntityDetails/Protein/Protein.js +++ b/src/scenes/BiochemicalEntityDetails/Protein/Protein.js @@ -3,7 +3,6 @@ import { HashLink } from "react-router-hash-link"; import { scrollTo } from "~/utils/utils"; import { MetadataSection } from "./MetadataSection"; import { AbundanceDataTable } from "./AbundanceDataTable"; -import { parseHistoryLocationPathname } from "~/utils/utils"; import "../BiochemicalEntityDetails.scss"; From 3f4e70f0fa1a50b5ea426e234e267c908c99b904 Mon Sep 17 00:00:00 2001 From: yosefdroth Date: Thu, 12 Mar 2020 15:58:43 -0400 Subject: [PATCH 07/17] updating protein tests --- .../BiochemicalEntityDetails/Protein.test.js | 106 +++++++----------- .../Protein/AbundanceDataTable.js | 2 +- 2 files changed, 40 insertions(+), 68 deletions(-) diff --git a/src/__tests__/scenes/BiochemicalEntityDetails/Protein.test.js b/src/__tests__/scenes/BiochemicalEntityDetails/Protein.test.js index 2450355f..8c726501 100644 --- a/src/__tests__/scenes/BiochemicalEntityDetails/Protein.test.js +++ b/src/__tests__/scenes/BiochemicalEntityDetails/Protein.test.js @@ -8,25 +8,23 @@ import { get_list_DOM_elements } from "~/utils/testing_utils"; /* global describe, it, expect */ describe("Protein data page", () => { it("Gets correct concentration data url", () => { - const entity = "K00900"; - const uniprot_to_taxon = { Q9UTE1: 6, Q8TFH0: 6, Q12471: 6, P40433: 6 }; + const entity = "K00850"; + const organism = "Escherichia coli"; // instantiate data table - const dataTable = new AbundanceDataTable({ - "uniprot-id-to-taxon-dist": uniprot_to_taxon - }); + const dataTable = new AbundanceDataTable(); // assert URL correct expect(dataTable.getUrl(entity)).toEqual( - "proteins/meta/meta_combo/?uniprot_id=Q9UTE1&uniprot_id=Q8TFH0&uniprot_id=Q12471&uniprot_id=P40433" + "proteins/proximity_abundance/proximity_abundance_kegg/?kegg_id=K00850&distance=40&depth=40" + ); + expect(dataTable.getUrl(entity, organism)).toEqual( + "proteins/proximity_abundance/proximity_abundance_kegg/?kegg_id=K00850&distance=40&depth=40&anchor=Escherichia coli" ); }); it("Formats concentration data correctly", () => { - const uniprot_to_taxon = { Q9UTE1: 6, Q8TFH0: 6, Q12471: 6, P40433: 6 }; // instantiate data table - const dataTable = new AbundanceDataTable({ - "uniprot-id-to-taxon-dist": uniprot_to_taxon - }); + const dataTable = new AbundanceDataTable(); // format raw data const formattedData = dataTable.formatData(testRawData); @@ -34,7 +32,7 @@ describe("Protein data page", () => { // test formatted data expect(formattedData).toHaveLength(30); - let formatedDatum = formattedData[0]; + let formatedDatum = formattedData[17]; expect(formatedDatum).toEqual({ abundance: 2.04, proteinName: "6-phosphofructo-2-kinase 1 ", @@ -45,18 +43,16 @@ describe("Protein data page", () => { organ: "whole organism" }); - expect(formattedData[7].organism).toEqual("Saccharomyces cerevisiae S288C"); - expect(formattedData[20].geneSymbol).toEqual(null); + expect(formattedData[7].organism).toEqual( + "Schizosaccharomyces pombe 972h-" + ); + expect(formattedData[8].geneSymbol).toEqual(null); }); it("Gets correct metadata url ", () => { const query = "K00850"; expect(MetadataSection.getMetadataUrl(query)).toEqual( - "proteins/proximity_abundance/proximity_abundance_kegg/?kegg_id=K00850&distance=40&depth=40" - ); - const organism = "Saccharomyces cerevisiae S288C"; - expect(MetadataSection.getMetadataUrl(query, organism)).toEqual( - "proteins/proximity_abundance/proximity_abundance_kegg/?kegg_id=K00850&anchor=Saccharomyces cerevisiae S288C&distance=40&depth=40" + "kegg/get_meta/?kegg_ids=K00850" ); }); @@ -66,47 +62,6 @@ describe("Protein data page", () => { //console.log(processedMetadata) expect(processedMetadata.koNumber).toEqual("K00850"); expect(processedMetadata.koName).toEqual("6-phosphofructokinase 1"); - expect(processedMetadata.other.uniprotIdToTaxonDist["A1A4J1"]).toEqual(6); - expect(processedMetadata.other.uniprotIdToTaxonDist["Q8A624"]).toEqual(5); - expect(processedMetadata.uniprotIds).toEqual([ - "A1A4J1", - "O34529", - "O42938", - "P08237", - "P0A796", - "P12382", - "P16861", - "P16862", - "P17858", - "P30835", - "P47857", - "P47858", - "P47860", - "P52034", - "P52784", - "P65692", - "P65694", - "Q01813", - "Q0IIG5", - "Q27483", - "Q2HYU2", - "Q4E657", - "Q867C9", - "Q8A624", - "Q8A8R5", - "Q8VYN6", - "Q8Y6W0", - "Q8ZJL6", - "Q94AA4", - "Q99ZD0", - "Q9C5J7", - "Q9FIK0", - "Q9FKG3", - "Q9M076", - "Q9M0F9", - "Q9TZL8", - "Q9WUA3" - ]); }); it("Formats metadata data correctly", () => { @@ -122,22 +77,39 @@ describe("Protein data page", () => { expect(formattedMetadata[0].id).toEqual("description"); expect(formattedMetadata[0].title).toEqual("Description"); - const formattedMetadataWrapper = shallow(formattedMetadata[0].content); + const descriptionMetadataWrapper = shallow(formattedMetadata[0].content); + console.log("hi"); + + const description = get_list_DOM_elements( + descriptionMetadataWrapper, + "div", + "html" + ); + + expect(description).toEqual([ + '
        ' + ]); + + expect(formattedMetadata[1].id).toEqual("names"); + expect(formattedMetadata[1].title).toEqual("Names"); + + const namesMetadataWrapper = shallow(formattedMetadata[1].content); + console.log("hi"); - const correct_list_of_metadata = [ + const correct_list_of_names = [ "Name: 6-phosphofructokinase 1", - "KEGG Orthology id: K00850", - "Proteins: A1A4J1O34529O42938P08237P0A796P12382P16861P16862P17858P30835P47857P47858P47860P52034P52784P65692P65694Q01813Q0IIG5Q27483Q2HYU2Q4E657Q867C9Q8A624Q8A8R5Q8VYN6Q8Y6W0Q8ZJL6Q94AA4Q99ZD0Q9C5J7Q9FIK0Q9FKG3Q9M076Q9M0F9Q9TZL8Q9WUA3" + "KEGG Orthology ID: K00850", + "EC Code: 2.7.1.11" ]; - const actual_list_of_metadata = get_list_DOM_elements( - formattedMetadataWrapper, + const actual_list_of_names = get_list_DOM_elements( + namesMetadataWrapper, ".key-value-list li", "text" ); - expect(actual_list_of_metadata).toEqual( - expect.arrayContaining(correct_list_of_metadata) + expect(actual_list_of_names).toEqual( + expect.arrayContaining(correct_list_of_names) ); }); }); diff --git a/src/scenes/BiochemicalEntityDetails/Protein/AbundanceDataTable.js b/src/scenes/BiochemicalEntityDetails/Protein/AbundanceDataTable.js index eaa77258..590dc7f8 100644 --- a/src/scenes/BiochemicalEntityDetails/Protein/AbundanceDataTable.js +++ b/src/scenes/BiochemicalEntityDetails/Protein/AbundanceDataTable.js @@ -19,7 +19,7 @@ class AbundanceDataTable extends Component { return ( "proteins/proximity_abundance/proximity_abundance_kegg/?kegg_id=" + query + - "&distance=100&depth=100" + + "&distance=40&depth=40" + (organism ? "&anchor=" + organism : "") ); } From d8393fe96b06f0cca25975fe0255e1ed4ef58c56 Mon Sep 17 00:00:00 2001 From: yosefdroth Date: Thu, 12 Mar 2020 16:19:29 -0400 Subject: [PATCH 08/17] updating tests --- .../scenes/BiochemicalEntityDetails/Reaction.test.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/__tests__/scenes/BiochemicalEntityDetails/Reaction.test.js b/src/__tests__/scenes/BiochemicalEntityDetails/Reaction.test.js index 1f2ee09b..0acddb1b 100644 --- a/src/__tests__/scenes/BiochemicalEntityDetails/Reaction.test.js +++ b/src/__tests__/scenes/BiochemicalEntityDetails/Reaction.test.js @@ -32,7 +32,8 @@ describe("Reaction data page", () => { ph: 8, source: 6051, temperature: 30, - wildtypeMutant: "wildtype" + wildtypeMutant: "wildtype", + taxonomicProximity: "" }, { kcat: 680, @@ -41,7 +42,8 @@ describe("Reaction data page", () => { wildtypeMutant: "mutant", temperature: 30, ph: 8, - source: 6052 + source: 6052, + taxonomicProximity: "" } ]) ); From 4c5026c2aaf7f7eb8d4ecd840072e84599b51dcd Mon Sep 17 00:00:00 2001 From: yosefdroth Date: Thu, 12 Mar 2020 17:04:11 -0400 Subject: [PATCH 09/17] updating test fixtures --- ...n-abundances-6-phosphofructo-2-kinase.json | 521 +- ...ein-metadata-6-phosphofructo-2-kinase.json | 5126 +---------------- 2 files changed, 402 insertions(+), 5245 deletions(-) diff --git a/src/__tests__/fixtures/protein-abundances-6-phosphofructo-2-kinase.json b/src/__tests__/fixtures/protein-abundances-6-phosphofructo-2-kinase.json index a8a10461..5fe99b7f 100644 --- a/src/__tests__/fixtures/protein-abundances-6-phosphofructo-2-kinase.json +++ b/src/__tests__/fixtures/protein-abundances-6-phosphofructo-2-kinase.json @@ -1,206 +1,339 @@ [ { - "abundances": [ - { - "abundance": "2.04", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "4.58", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "69.0", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "164", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "68.3", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "73.2", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "11.9", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "16.7", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "149", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "21.1", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "31.5", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "37.9", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "16.0", - "organ": "WHOLE_ORGANISM" - } - ], - "canonical_sequence": "MFKPVDFSETSPVPPDIDLAPTQSPHHVAPSQDSSYDLLSRSSDDKIDAEKGPHDELSKHLPLFQKRPLSDTPISSNWNSPGITEENTPSDSPENSATNLKSLHRLHINDETQLKNAKIPTNDTTDYMPPSDGANEVTRIDLKDIKSPTRHHKRRPTTIDVPGLTKSKTSPDGLISKEDSGSKLVIVMVGLPATGKSFITNKLSRFLNYSLYYCKVFNVGNTRRKFAKEHGLKDQDSKFFEPKNADSTRLRDKWAMDTLDELLDYLLEGSGSVGIFDATNTSRERRKNVLARIRKRSPHLKVLFLESVCSDHALVQKNIRLKLFGPDYKGKDPESSLKDFKSRLANYLKAYEPIEDDENLQYIKMIDVGKKVIAYNIQGFLASQTVYYLLNFNLADRQIWITRSGESEDNVSGRIGGNSHLTPRGLRFAKSLPKFIARQREIFYQNLMQQKKNNENTDGNIYNDFFVWTSMRARTIGTAQYFNEDDYPIKQMKMLDELSAGDYDGMTYPEIKNNFPEEFEKRQKDKLRYRYPGIGGESYMDVINRLRPVITELERIEDNVLIITHRVVARALLGYFMNLSMGIIANLDVPLHCVYCLEPKPYGITWSLWEYDEASDSFSKVPQTDLNTTRVKEVGLVYNERRYSVIPTAPPSARSSFASDFLSRKRSNPTSASSSQSELSEQPKNSVSAQTGSNNTTLIGSNFNIKNENGDSRIPLSAPLMATNTSNNILDGGGTSISIHRPRVVPNQNNVNPLLANNNKAASNVPNVKKSAATPRQIFEIDKVDEKLSMLKNKSFLLHGKDYPNNADNNDNEDIRAKTMNRSQSHV", - "ec_number": "2.7.1.105", - "entrez_id": "854699", - "entry_name": "6P21_YEAST", - "gene_name": "PFK26", - "gene_name_alt": null, - "gene_name_oln": "YIL107C", - "gene_name_orf": null, - "ko_name": ["6-phosphofructo-2-kinase"], - "ko_number": "K00900", - "length": 827, - "mass": "93417", - "ncbi_taxonomy_id": 559292, - "protein_name": "6-phosphofructo-2-kinase 1 (6PF-2-K 1) (EC 2.7.1.105) (Phosphofructokinase 2 I)", - "species_name": "Saccharomyces cerevisiae S288C", - "status": "reviewed", - "uniprot_id": "P40433" - }, - { - "abundances": [ - { - "abundance": "30.0", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "108", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "3.09", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "154", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "1.2", - "organ": "WHOLE_ORGANISM" - } - ], - "canonical_sequence": "MGGSSDSDSHDGYLTSEYNSSNSLFSLNTGNSYSSASLDRATLDCQDSVFFDNHKSSLLSTEVPRFISNDPLHLPITLNYKRDNADPTYTNGKVNKFMIVLIGLPATGKSTISSHLIQCLKNNPLTNSLRCKVFNAGKIRRQISCATISKPLLLSNTSSEDLFNPKNNDKKETYARITLQKLFHEINNDECDVGIFDATNSTIERRRFIFEEVCSFNTDELSSFNLVPIILQVSCFNRSFIKYNIHNKSFNEDYLDKPYELAIKDFAKRLKHYYSQFTPFSLDEFNQIHRYISQHEEIDTSLFFFNVINAGVVEPHSLNQSHYPSTCGKQIRDTIMVIENFINHYSQMFGFEYIEAVKLFFESFGNSSEETLTTLDSVVNDKFFDDLQSLIESNGFA", - "ec_number": "2.7.1.105", - "entrez_id": "853984", - "entry_name": "6P22_YEAST", - "gene_name": "PFK27", - "gene_name_alt": null, - "gene_name_oln": "YOL136C", - "gene_name_orf": null, - "ko_name": ["6-phosphofructo-2-kinase"], - "ko_number": "K00900", - "length": 397, - "mass": "45318", - "ncbi_taxonomy_id": 559292, - "protein_name": "6-phosphofructo-2-kinase 2 (6PF-2-K 2) (EC 2.7.1.105) (Phosphofructokinase 2 II)", - "species_name": "Saccharomyces cerevisiae S288C", - "status": "reviewed", - "uniprot_id": "Q12471" - }, - { - "abundances": [ - { - "abundance": "252", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "144", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "133", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "24.9", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "59.5", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "241", - "organ": "WHOLE_ORGANISM" - } - ], - "canonical_sequence": "MSNNNNKDDSELQSRTHYYNPDRTAIPVKDDVDQLDKFGSPKLSANDHSFTNTDSVTSEDRPFSSPVSTLTSNSANFSDSSLQNSPVHPIPSPALSPTLNLGSRPDVKRVSSGGYFALPKQLTSIRQTHRPMSQQHRVPSFHPASDTAPPSPIPFHHHLRKKGSSMSIPGQTSIVSSNNGSEATNPPEEKLAIIMVGLPARGKSYIVNKLVRYYNWLQYNCKAFNVGNFRRKHASHSHDDASFFDPSNEEASKLRESFAMDTLDALLQWFEEEDGVVGIFDATNSTSKRRKAIVDHLSKVPYVTTLFIESICNDEQLIAANMRMKLVGPDYKDLNPEQSLRDFQERVRMYERKYEPLGKSEEDLNLRYIKVINVGKKVVAFNIRGFLAGQAVFFLLNFNLSPRQIWVTRHGESVDNVRGRIGGNAELTPLGRQFSEDLALFIDEKRDEFQERLYNDYSKESHLLQHGSHSFNGKQFETSFNCLTPSENTVNDPQVLDPEDEERLEKPYSVWTSMMQRSIQTAAYFDEEQYDIKAMRMLNEICSGICDGLTYEEIKSIYPKEYEARKLDKLNYRYPGSGGESYLDVIYRLQSVIVEIERMKHHVLVIGHRVITRIIIAYFLGCRREDIAYLNVPLHTVYCIEPQPYGTDFYQYNYDPNTRKFSRVPFSL", - "ec_number": "2.7.1.105", - "entrez_id": "3361378", - "entry_name": "YIKE_SCHPO", - "gene_name": null, - "gene_name_alt": null, - "gene_name_oln": null, - "gene_name_orf": "SPAPB17E12.14c", - "ko_name": ["6-phosphofructo-2-kinase"], - "ko_number": "K00900", - "length": 668, - "mass": "76393", - "ncbi_taxonomy_id": 284812, - "protein_name": "Probable 6-phosphofructo-2-kinase PB17E12.14c (EC 2.7.1.105)", - "species_name": "Schizosaccharomyces pombe 972h-", - "status": "reviewed", - "uniprot_id": "Q8TFH0" - }, - { - "abundances": [ - { - "abundance": "14.5", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "9.67", - "organ": "WHOLE_ORGANISM" - }, + "distance": 0, + "documents": [] + }, + { + "distance": 1, + "documents": [] + }, + { + "distance": 2, + "documents": [] + }, + { + "distance": 3, + "documents": [] + }, + { + "distance": 4, + "documents": [] + }, + { + "distance": 5, + "documents": [] + }, + { + "distance": 6, + "documents": [ { - "abundance": "11.1", - "organ": "WHOLE_ORGANISM" + "abundances": [ + { + "abundance": "14.5", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "9.67", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "11.1", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "24.8", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "23.8", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "8.52", + "organ": "WHOLE_ORGANISM" + } + ], + "depth": 12, + "gene_name": null, + "ko_name": [ + "6-phosphofructo-2-kinase" + ], + "ko_number": "K00900", + "ncbi_taxonomy_id": 284812, + "protein_name": "Probable 6-phosphofructo-2-kinase C222.13c (EC 2.7.1.105)", + "species_name": "Schizosaccharomyces pombe 972h-", + "uniprot_id": "Q9UTE1" }, { - "abundance": "24.8", - "organ": "WHOLE_ORGANISM" + "abundances": [ + { + "abundance": "252", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "144", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "133", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "24.9", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "59.5", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "241", + "organ": "WHOLE_ORGANISM" + } + ], + "depth": 12, + "gene_name": null, + "ko_name": [ + "6-phosphofructo-2-kinase" + ], + "ko_number": "K00900", + "ncbi_taxonomy_id": 284812, + "protein_name": "Probable 6-phosphofructo-2-kinase PB17E12.14c (EC 2.7.1.105)", + "species_name": "Schizosaccharomyces pombe 972h-", + "uniprot_id": "Q8TFH0" }, { - "abundance": "23.8", - "organ": "WHOLE_ORGANISM" + "abundances": [ + { + "abundance": "30.0", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "108", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "3.09", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "154", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "1.2", + "organ": "WHOLE_ORGANISM" + } + ], + "depth": 13, + "gene_name": "PFK27", + "ko_name": [ + "6-phosphofructo-2-kinase" + ], + "ko_number": "K00900", + "ncbi_taxonomy_id": 559292, + "protein_name": "6-phosphofructo-2-kinase 2 (6PF-2-K 2) (EC 2.7.1.105) (Phosphofructokinase 2 II)", + "species_name": "Saccharomyces cerevisiae S288C", + "uniprot_id": "Q12471" }, { - "abundance": "8.52", - "organ": "WHOLE_ORGANISM" + "abundances": [ + { + "abundance": "2.04", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "4.58", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "69.0", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "164", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "68.3", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "73.2", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "11.9", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "16.7", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "149", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "21.1", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "31.5", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "37.9", + "organ": "WHOLE_ORGANISM" + }, + { + "abundance": "16.0", + "organ": "WHOLE_ORGANISM" + } + ], + "depth": 13, + "gene_name": "PFK26", + "ko_name": [ + "6-phosphofructo-2-kinase" + ], + "ko_number": "K00900", + "ncbi_taxonomy_id": 559292, + "protein_name": "6-phosphofructo-2-kinase 1 (6PF-2-K 1) (EC 2.7.1.105) (Phosphofructokinase 2 I)", + "species_name": "Saccharomyces cerevisiae S288C", + "uniprot_id": "P40433" } - ], - "canonical_sequence": "MSNTGSARTEEFTKGTGYEATKPNNDTDDDAKQNYPSKEPHMKLGDYTEETSFVDDSIFKREELTPDRNSPANDVEKMEVPKPTPQWMKLKDEGKLGKHRKNRLRRPGRFPVRQESTIDIPGLTVSKRTENDSNNASYGIREKLIIILVGIPATGKSYIGSKLSRYYNWLKYNCRFFSVGDKRREEGASTYSMSADFFDIKNEETFKFRENVALETLEDLLHWMIHENGVIGILDATNSTHERRKHLYDRISKEADIGIMFLESLCTDDILFEENIKLKIKGPDYEGYDTESALKDLRERVDLYKKYYEPLDERDEQLPFLQYVKVINVGIKVVTHNIEGFLAGQAVYFMLNLNIQKRQIWLTRPGESLDTVAGRIGGDASLTPIGKQYAQDLANFMDRQRVLWQLRYTNDLASTNKRFSLSEASSFNVWSSVRKRAIETIEFFNPDSYNVKKIRLLNDLNLGSREGLTLREFSEKYPDEFDVIKRKDYAYRFSGQGGESYLDVIHRLQPLIVEIERSSGNILVVSHRIVSNILMTYFLNYHPEDIIDVGLPLHTLFCIESDRYGTTCMAYRYDAANRQFIKDPMFDLRKRT", - "ec_number": "2.7.1.105", - "entrez_id": "2541948", - "entry_name": "YFMD_SCHPO", - "gene_name": null, - "gene_name_alt": null, - "gene_name_oln": null, - "gene_name_orf": "SPAC222.13c", - "ko_name": ["6-phosphofructo-2-kinase"], - "ko_number": "K00900", - "length": 592, - "mass": "68640", - "ncbi_taxonomy_id": 284812, - "protein_name": "Probable 6-phosphofructo-2-kinase C222.13c (EC 2.7.1.105)", - "species_name": "Schizosaccharomyces pombe 972h-", - "status": "reviewed", - "uniprot_id": "Q9UTE1" + ] + }, + { + "distance": 7, + "documents": [] + }, + { + "distance": 8, + "documents": [] + }, + { + "distance": 9, + "documents": [] + }, + { + "distance": 10, + "documents": [] + }, + { + "distance": 11, + "documents": [] + }, + { + "distance": 12, + "documents": [] + }, + { + "distance": 13, + "documents": [] + }, + { + "distance": 14, + "documents": [] + }, + { + "distance": 15, + "documents": [] + }, + { + "distance": 16, + "documents": [] + }, + { + "distance": 17, + "documents": [] + }, + { + "distance": 18, + "documents": [] + }, + { + "distance": 19, + "documents": [] + }, + { + "distance": 20, + "documents": [] + }, + { + "distance": 21, + "documents": [] + }, + { + "distance": 22, + "documents": [] + }, + { + "distance": 23, + "documents": [] + }, + { + "distance": 24, + "documents": [] + }, + { + "distance": 25, + "documents": [] + }, + { + "distance": 26, + "documents": [] + }, + { + "distance": 27, + "documents": [] + }, + { + "distance": 28, + "documents": [] + }, + { + "distance": 29, + "documents": [] + }, + { + "distance": 30, + "documents": [] + }, + { + "distance": 31, + "documents": [] + }, + { + "distance": 32, + "documents": [] + }, + { + "distance": 33, + "documents": [] + }, + { + "distance": 34, + "documents": [] + }, + { + "distance": 35, + "documents": [] + }, + { + "distance": 36, + "documents": [] + }, + { + "distance": 37, + "documents": [] + }, + { + "distance": 38, + "documents": [] + }, + { + "distance": 39, + "documents": [] } ] diff --git a/src/__tests__/fixtures/protein-metadata-6-phosphofructo-2-kinase.json b/src/__tests__/fixtures/protein-metadata-6-phosphofructo-2-kinase.json index a208b92e..c056103a 100644 --- a/src/__tests__/fixtures/protein-metadata-6-phosphofructo-2-kinase.json +++ b/src/__tests__/fixtures/protein-metadata-6-phosphofructo-2-kinase.json @@ -1,5097 +1,121 @@ [ { - "distance": 0, - "documents": [ - { - "abundances": [ - { - "abundance": "1086", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "67.7", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "431", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "1328", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "1769", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "954", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "194", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "537", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "59.1", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "676", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "1230", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "726", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "592", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "1953", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "1332", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "804", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "665", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "970", - "organ": "WHOLE_ORGANISM" - } - ], - "ancestor_name": [ - "cellular organisms", - "Bacteria", - "Proteobacteria", - "Gammaproteobacteria", - "Enterobacterales", - "Enterobacteriaceae", - "Escherichia", - "Escherichia coli" - ], - "ancestor_taxon_id": [ - 131567, - 2, - 1224, - 1236, - 91347, - 543, - 561, - 562 - ], - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 83333, - "protein_name": "ATP-dependent 6-phosphofructokinase isozyme 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (6-phosphofructokinase isozyme I) (Phosphohexokinase 1)", - "species_name": "Escherichia coli K-12", - "uniprot_id": "P0A796" - }, - { - "ancestor_name": [ - "cellular organisms", - "Bacteria", - "Proteobacteria", - "Gammaproteobacteria", - "Enterobacterales", - "Enterobacteriaceae", - "Escherichia", - "Escherichia coli" - ], - "ancestor_taxon_id": [ - 131567, - 2, - 1224, - 1236, - 91347, - 543, - 561, - 562 - ], - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 83333, - "protein_name": "ATP-dependent 6-phosphofructokinase isozyme 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (6-phosphofructokinase isozyme I) (Phosphohexokinase 1)", - "species_name": "Escherichia coli K-12", - "uniprot_id": "P0A796" - }, - { - "ancestor_name": [ - "cellular organisms", - "Bacteria", - "Proteobacteria", - "Gammaproteobacteria", - "Enterobacterales", - "Enterobacteriaceae", - "Escherichia", - "Escherichia coli" - ], - "ancestor_taxon_id": [ - 131567, - 2, - 1224, - 1236, - 91347, - 543, - 561, - 562 - ], - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 83334, - "protein_name": "ATP-dependent 6-phosphofructokinase isozyme 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (6-phosphofructokinase isozyme I) (Phosphohexokinase 1)", - "species_name": "Escherichia coli O157:H7", - "uniprot_id": "P0A797" - }, - { - "ancestor_name": [ - "cellular organisms", - "Bacteria", - "Proteobacteria", - "Gammaproteobacteria", - "Enterobacterales", - "Enterobacteriaceae", - "Escherichia", - "Escherichia coli" - ], - "ancestor_taxon_id": [ - 131567, - 2, - 1224, - 1236, - 91347, - 543, - 561, - 562 - ], - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 199310, - "protein_name": "ATP-dependent 6-phosphofructokinase isozyme 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (6-phosphofructokinase isozyme I)", - "species_name": "Escherichia coli CFT073", - "uniprot_id": "Q8FBD0" - }, - { - "ancestor_name": [ - "cellular organisms", - "Bacteria", - "Proteobacteria", - "Gammaproteobacteria", - "Enterobacterales", - "Enterobacteriaceae", - "Escherichia", - "Escherichia coli", - "Escherichia coli K-12" - ], - "ancestor_taxon_id": [ - 131567, - 2, - 1224, - 1236, - 91347, - 543, - 561, - 562, - 83333 - ], - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 316385, - "protein_name": "ATP-dependent 6-phosphofructokinase isozyme 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (6-phosphofructokinase isozyme I) (Phosphohexokinase 1)", - "species_name": "Escherichia coli str. K-12 substr. DH10B", - "uniprot_id": "B1XB82" - }, - { - "ancestor_name": [ - "cellular organisms", - "Bacteria", - "Proteobacteria", - "Gammaproteobacteria", - "Enterobacterales", - "Enterobacteriaceae", - "Escherichia", - "Escherichia coli", - "Escherichia coli O139:H28" - ], - "ancestor_taxon_id": [ - 131567, - 2, - 1224, - 1236, - 91347, - 543, - 561, - 562, - 1603259 - ], - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 331111, - "protein_name": "ATP-dependent 6-phosphofructokinase isozyme 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (6-phosphofructokinase isozyme I) (Phosphohexokinase 1)", - "species_name": "Escherichia coli O139:H28 str. E24377A", - "uniprot_id": "A7ZUC9" - }, - { - "ancestor_name": [ - "cellular organisms", - "Bacteria", - "Proteobacteria", - "Gammaproteobacteria", - "Enterobacterales", - "Enterobacteriaceae", - "Escherichia", - "Escherichia coli" - ], - "ancestor_taxon_id": [ - 131567, - 2, - 1224, - 1236, - 91347, - 543, - 561, - 562 - ], - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 331112, - "protein_name": "ATP-dependent 6-phosphofructokinase isozyme 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (6-phosphofructokinase isozyme I) (Phosphohexokinase 1)", - "species_name": "Escherichia coli HS", - "uniprot_id": "A8A720" - }, - { - "ancestor_name": [ - "cellular organisms", - "Bacteria", - "Proteobacteria", - "Gammaproteobacteria", - "Enterobacterales", - "Enterobacteriaceae", - "Escherichia", - "Escherichia coli" - ], - "ancestor_taxon_id": [ - 131567, - 2, - 1224, - 1236, - 91347, - 543, - 561, - 562 - ], - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 362663, - "protein_name": "ATP-dependent 6-phosphofructokinase isozyme 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (6-phosphofructokinase isozyme I) (Phosphohexokinase 1)", - "species_name": "Escherichia coli 536", - "uniprot_id": "Q0TAE8" - }, - { - "ancestor_name": [ - "cellular organisms", - "Bacteria", - "Proteobacteria", - "Gammaproteobacteria", - "Enterobacterales", - "Enterobacteriaceae", - "Escherichia", - "Escherichia coli" - ], - "ancestor_taxon_id": [ - 131567, - 2, - 1224, - 1236, - 91347, - 543, - 561, - 562 - ], - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 409438, - "protein_name": "ATP-dependent 6-phosphofructokinase isozyme 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (6-phosphofructokinase isozyme I) (Phosphohexokinase 1)", - "species_name": "Escherichia coli SE11", - "uniprot_id": "B6I4Q8" - }, - { - "ancestor_name": [ - "cellular organisms", - "Bacteria", - "Proteobacteria", - "Gammaproteobacteria", - "Enterobacterales", - "Enterobacteriaceae", - "Escherichia", - "Escherichia coli" - ], - "ancestor_taxon_id": [ - 131567, - 2, - 1224, - 1236, - 91347, - 543, - 561, - 562 - ], - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 439855, - "protein_name": "ATP-dependent 6-phosphofructokinase isozyme 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (6-phosphofructokinase isozyme I) (Phosphohexokinase 1)", - "species_name": "Escherichia coli SMS-3-5", - "uniprot_id": "B1LNL9" - }, - { - "ancestor_name": [ - "cellular organisms", - "Bacteria", - "Proteobacteria", - "Gammaproteobacteria", - "Enterobacterales", - "Enterobacteriaceae", - "Escherichia", - "Escherichia coli", - "Escherichia coli O157:H7" - ], - "ancestor_taxon_id": [ - 131567, - 2, - 1224, - 1236, - 91347, - 543, - 561, - 562, - 83334 - ], - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 444450, - "protein_name": "ATP-dependent 6-phosphofructokinase isozyme 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (6-phosphofructokinase isozyme I) (Phosphohexokinase 1)", - "species_name": "Escherichia coli O157:H7 str. EC4115", - "uniprot_id": "B5YZ53" - }, - { - "ancestor_name": [ - "cellular organisms", - "Bacteria", - "Proteobacteria", - "Gammaproteobacteria", - "Enterobacterales", - "Enterobacteriaceae", - "Escherichia", - "Escherichia coli", - "Escherichia coli C" - ], - "ancestor_taxon_id": [ - 131567, - 2, - 1224, - 1236, - 91347, - 543, - 561, - 562, - 498388 - ], - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 481805, - "protein_name": "ATP-dependent 6-phosphofructokinase isozyme 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (6-phosphofructokinase isozyme I) (Phosphohexokinase 1)", - "species_name": "Escherichia coli ATCC 8739", - "uniprot_id": "B1IVG3" - }, - { - "ancestor_name": [ - "cellular organisms", - "Bacteria", - "Proteobacteria", - "Gammaproteobacteria", - "Enterobacterales", - "Enterobacteriaceae", - "Escherichia", - "Escherichia coli", - "Escherichia coli O127:H6" - ], - "ancestor_taxon_id": [ - 131567, - 2, - 1224, - 1236, - 91347, - 543, - 561, - 562, - 168807 - ], - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 574521, - "protein_name": "ATP-dependent 6-phosphofructokinase isozyme 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (6-phosphofructokinase isozyme I)", - "species_name": "Escherichia coli O127:H6 str. E2348/69", - "uniprot_id": "B7UNN6" - }, - { - "ancestor_name": [ - "cellular organisms", - "Bacteria", - "Proteobacteria", - "Gammaproteobacteria", - "Enterobacterales", - "Enterobacteriaceae", - "Escherichia", - "Escherichia coli" - ], - "ancestor_taxon_id": [ - 131567, - 2, - 1224, - 1236, - 91347, - 543, - 561, - 562 - ], - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 585034, - "protein_name": "ATP-dependent 6-phosphofructokinase isozyme 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (6-phosphofructokinase isozyme I) (Phosphohexokinase 1)", - "species_name": "Escherichia coli IAI1", - "uniprot_id": "B7M6W7" - }, - { - "ancestor_name": [ - "cellular organisms", - "Bacteria", - "Proteobacteria", - "Gammaproteobacteria", - "Enterobacterales", - "Enterobacteriaceae", - "Escherichia", - "Escherichia coli" - ], - "ancestor_taxon_id": [ - 131567, - 2, - 1224, - 1236, - 91347, - 543, - 561, - 562 - ], - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 585035, - "protein_name": "ATP-dependent 6-phosphofructokinase isozyme 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (6-phosphofructokinase isozyme I) (Phosphohexokinase 1)", - "species_name": "Escherichia coli S88", - "uniprot_id": "B7MI48" - }, - { - "ancestor_name": [ - "cellular organisms", - "Bacteria", - "Proteobacteria", - "Gammaproteobacteria", - "Enterobacterales", - "Enterobacteriaceae", - "Escherichia", - "Escherichia coli" - ], - "ancestor_taxon_id": [ - 131567, - 2, - 1224, - 1236, - 91347, - 543, - 561, - 562 - ], - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 585055, - "protein_name": "ATP-dependent 6-phosphofructokinase isozyme 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (6-phosphofructokinase isozyme I) (Phosphohexokinase 1)", - "species_name": "Escherichia coli 55989", - "uniprot_id": "B7LA13" - }, - { - "ancestor_name": [ - "cellular organisms", - "Bacteria", - "Proteobacteria", - "Gammaproteobacteria", - "Enterobacterales", - "Enterobacteriaceae", - "Escherichia", - "Escherichia coli" - ], - "ancestor_taxon_id": [ - 131567, - 2, - 1224, - 1236, - 91347, - 543, - 561, - 562 - ], - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 585056, - "protein_name": "ATP-dependent 6-phosphofructokinase isozyme 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (6-phosphofructokinase isozyme I) (Phosphohexokinase 1)", - "species_name": "Escherichia coli UMN026", - "uniprot_id": "B7NFL3" - }, - { - "ancestor_name": [ - "cellular organisms", - "Bacteria", - "Proteobacteria", - "Gammaproteobacteria", - "Enterobacterales", - "Enterobacteriaceae", - "Escherichia", - "Escherichia coli" - ], - "ancestor_taxon_id": [ - 131567, - 2, - 1224, - 1236, - 91347, - 543, - 561, - 562 - ], - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 585057, - "protein_name": "ATP-dependent 6-phosphofructokinase isozyme 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (6-phosphofructokinase isozyme I) (Phosphohexokinase 1)", - "species_name": "Escherichia coli IAI39", - "uniprot_id": "B7NU91" - }, - { - "ancestor_name": [ - "cellular organisms", - "Bacteria", - "Proteobacteria", - "Gammaproteobacteria", - "Enterobacterales", - "Enterobacteriaceae", - "Escherichia", - "Escherichia coli" - ], - "ancestor_taxon_id": [ - 131567, - 2, - 1224, - 1236, - 91347, - 543, - 561, - 562 - ], - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 585397, - "protein_name": "ATP-dependent 6-phosphofructokinase isozyme 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (6-phosphofructokinase isozyme I) (Phosphohexokinase 1)", - "species_name": "Escherichia coli ED1a", - "uniprot_id": "B7N2Q7" - }, - { - "ancestor_name": [ - "cellular organisms", - "Bacteria", - "Proteobacteria", - "Gammaproteobacteria", - "Enterobacterales", - "Enterobacteriaceae", - "Escherichia", - "Escherichia coli", - "Escherichia coli K-12" - ], - "ancestor_taxon_id": [ - 131567, - 2, - 1224, - 1236, - 91347, - 543, - 561, - 562, - 83333 - ], - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 595496, - "protein_name": "ATP-dependent 6-phosphofructokinase isozyme 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (6-phosphofructokinase isozyme I) (Phosphohexokinase 1)", - "species_name": "Escherichia coli BW2952", - "uniprot_id": "C5A083" - } - ] - }, - { - "distance": 1, - "documents": [ - { - "abundances": [ - { - "abundance": "305", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "496", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "515", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 5, - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 99287, - "protein_name": "ATP-dependent 6-phosphofructokinase (ATP-PFK) (Phosphofructokinase) (EC 2.7.1.11) (Phosphohexokinase)", - "species_name": "Salmonella enterica subsp. enterica serovar Typhimurium str. LT2", - "uniprot_id": "P65692" + "definition": { + "ec_code": [ + "2.7.1.11" + ], + "name": [ + "6-phosphofructokinase 1" + ] + }, + "gene_name": [ + "pfkA", + "PFK" + ], + "kegg_disease": [ + { + "kegg_disease_code": "H00069", + "kegg_disease_name": "Glycogen storage disease" + }, + { + "kegg_disease_code": "H01762", + "kegg_disease_name": "Muscle glycogen storage disease" + }, + { + "kegg_disease_code": "H01945", + "kegg_disease_name": "Glycogen storage disease type VII" } - ] - }, - { - "distance": 2, - "documents": [ - { - "abundances": [ - { - "abundance": "1340", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 4, - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 632, - "protein_name": "ATP-dependent 6-phosphofructokinase (ATP-PFK) (Phosphofructokinase) (EC 2.7.1.11) (Phosphohexokinase)", - "species_name": "Yersinia pestis", - "uniprot_id": "Q8ZJL6" - } - ] - }, - { - "distance": 3, - "documents": [] - }, - { - "distance": 4, - "documents": [] - }, - { - "distance": 5, - "documents": [ - { - "abundances": [ - { - "abundance": "596", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "594", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "570", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 10, - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 224308, - "protein_name": "ATP-dependent 6-phosphofructokinase (ATP-PFK) (Phosphofructokinase) (EC 2.7.1.11) (Phosphohexokinase)", - "species_name": "Bacillus subtilis subsp. subtilis str. 168", - "uniprot_id": "O34529" - }, - { - "abundances": [ - { - "abundance": "7237", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "3674", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "5637", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "4142", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "7237", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 8, - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 301447, - "protein_name": "ATP-dependent 6-phosphofructokinase (ATP-PFK) (Phosphofructokinase) (EC 2.7.1.11) (Phosphohexokinase)", - "species_name": "Streptococcus pyogenes serotype M1", - "uniprot_id": "Q99ZD0" - }, - { - "abundances": [ - { - "abundance": "1192", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 8, - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 169963, - "protein_name": "ATP-dependent 6-phosphofructokinase (ATP-PFK) (Phosphofructokinase) (EC 2.7.1.11) (Phosphohexokinase)", - "species_name": "Listeria monocytogenes EGD-e", - "uniprot_id": "Q8Y6W0" - }, + ], + "kegg_module": [ { - "abundances": [ - { - "abundance": "1429", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 9, - "gene_name": "pfkA1", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 226186, - "protein_name": "ATP-dependent 6-phosphofructokinase 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (Phosphohexokinase 1)", - "species_name": "Bacteroides thetaiotaomicron VPI-5482", - "uniprot_id": "Q8A8R5" + "kegg_module_code": "M00001", + "kegg_module_name": "Glycolysis (Embden-Meyerhof pathway), glucose => pyruvate" }, { - "abundances": [ - { - "abundance": "854", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 9, - "gene_name": "pfkA", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 158878, - "protein_name": "ATP-dependent 6-phosphofructokinase (ATP-PFK) (Phosphofructokinase) (EC 2.7.1.11) (Phosphohexokinase)", - "species_name": "Staphylococcus aureus subsp. aureus Mu50", - "uniprot_id": "P65694" - }, - { - "abundances": [ - { - "abundance": "620", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 9, - "gene_name": "pfkA2", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 226186, - "protein_name": "ATP-dependent 6-phosphofructokinase 2 (ATP-PFK 2) (Phosphofructokinase 2) (EC 2.7.1.11) (Phosphohexokinase 2)", - "species_name": "Bacteroides thetaiotaomicron VPI-5482", - "uniprot_id": "Q8A624" + "kegg_module_code": "M00345", + "kegg_module_name": "Formaldehyde assimilation, ribulose monophosphate pathway" } - ] - }, - { - "distance": 6, - "documents": [ - { - "abundances": [ - { - "abundance": "4.32", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 27, - "gene_name": "PFKM", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 9615, - "protein_name": "ATP-dependent 6-phosphofructokinase, muscle type (ATP-PFK) (PFK-M) (EC 2.7.1.11) (6-phosphofructokinase type A) (Phosphofructo-1-kinase isozyme A) (PFK-A) (Phosphohexokinase)", - "species_name": "Canis lupus familiaris", - "uniprot_id": "P52784" - }, - { - "abundances": [ - { - "abundance": "27.2", - "organ": "SILIQUE" - }, - { - "abundance": "73.1", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "55.1", - "organ": "ROOT" - }, - { - "abundance": "34.8", - "organ": "ROOT" - }, - { - "abundance": "15.6", - "organ": "CARPEL" - }, - { - "abundance": "19.0", - "organ": "SILIQUE" - }, - { - "abundance": "17.8", - "organ": "CARPEL" - }, - { - "abundance": "19.4", - "organ": "SEED" - }, - { - "abundance": "20.5", - "organ": "SEED" - }, - { - "abundance": "21.3", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "16.7", - "organ": "CARPEL" - }, - { - "abundance": "18.2", - "organ": "SEED" - }, - { - "abundance": "14.6", - "organ": "ROOT" - }, - { - "abundance": "10.8", - "organ": "SILIQUE" - }, - { - "abundance": "10.7", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "33.2", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 20, - "gene_name": "PFK6", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 3702, - "protein_name": "ATP-dependent 6-phosphofructokinase 6 (ATP-PFK 6) (Phosphofructokinase 6) (EC 2.7.1.11) (Phosphohexokinase 6)", - "species_name": "Arabidopsis thaliana", - "uniprot_id": "Q9M076" - }, + ], + "kegg_orthology_id": "K00850", + "kegg_pathway": [ { - "abundances": [ - { - "abundance": "44.5", - "organ": "SILIQUE" - }, - { - "abundance": "45.3", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "9.19", - "organ": "ROOT" - }, - { - "abundance": "5.15", - "organ": "ROOT" - }, - { - "abundance": "13.1", - "organ": "POLLEN" - }, - { - "abundance": "30.9", - "organ": "SILIQUE" - }, - { - "abundance": "257", - "organ": "SEED" - }, - { - "abundance": "264", - "organ": "SEED" - }, - { - "abundance": "11.2", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "249", - "organ": "SEED" - }, - { - "abundance": "1.1", - "organ": "ROOT" - }, - { - "abundance": "6.55", - "organ": "POLLEN" - }, - { - "abundance": "17.2", - "organ": "SILIQUE" - }, - { - "abundance": "3.38", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "0.548", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 20, - "gene_name": "PFK2", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 3702, - "protein_name": "ATP-dependent 6-phosphofructokinase 2 (ATP-PFK 2) (Phosphofructokinase 2) (EC 2.7.1.11) (Phosphohexokinase 2)", - "species_name": "Arabidopsis thaliana", - "uniprot_id": "Q9FIK0" + "kegg_pathway_code": "ko00010", + "pathway_description": "Glycolysis / Gluconeogenesis" }, { - "abundances": [ - { - "abundance": "390", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "332", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "212", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "346", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "434", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "458", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 8, - "gene_name": "pfk", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 353153, - "protein_name": "ATP-dependent 6-phosphofructokinase (ATP-PFK) (Phosphofructokinase) (EC 2.7.1.11) (Phosphohexokinase)", - "species_name": "Trypanosoma cruzi strain CL Brener", - "uniprot_id": "Q4E657" + "kegg_pathway_code": "ko00030", + "pathway_description": "Pentose phosphate pathway" }, { - "abundances": [ - { - "abundance": "575", - "organ": "MEDULLA_OBLONGATA" - }, - { - "abundance": "86.7", - "organ": "KIDNEY" - }, - { - "abundance": "45.7", - "organ": "DUODENUM" - }, - { - "abundance": "49.6", - "organ": "COLON" - }, - { - "abundance": "176", - "organ": "SPLEEN" - }, - { - "abundance": "54.8", - "organ": "LUNG" - }, - { - "abundance": "12.4", - "organ": "ILEUM" - }, - { - "abundance": "57.1", - "organ": "PANCREAS" - }, - { - "abundance": "4.55", - "organ": "KIDNEY" - }, - { - "abundance": "10.2", - "organ": "JEJUNUM" - }, - { - "abundance": "342", - "organ": "KIDNEY" - }, - { - "abundance": "48.7", - "organ": "CORTEX_OF_KIDNEY" - }, - { - "abundance": "41.8", - "organ": "THYMUS" - }, - { - "abundance": "3.49", - "organ": "SALIVA" - }, - { - "abundance": "139", - "organ": "EMBRYONIC_TISSUE" - }, - { - "abundance": "91.0", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "19.1", - "organ": "UTERUS" - }, - { - "abundance": "880", - "organ": "BRAIN" - }, - { - "abundance": "113", - "organ": "SALIVA_SECRETING_GLAND" - }, - { - "abundance": "43.7", - "organ": "LIVER" - }, - { - "abundance": "2778", - "organ": "HEART" - }, - { - "abundance": "2995", - "organ": "HEART" - }, - { - "abundance": "16.5", - "organ": "SPLEEN" - }, - { - "abundance": "3521", - "organ": "HEART" - }, - { - "abundance": "98.6", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "159", - "organ": "LUNG" - }, - { - "abundance": "652", - "organ": "MUSCLE" - }, - { - "abundance": "4567", - "organ": "ERYTHROCYTE" - }, - { - "abundance": "2129", - "organ": "BRAIN" - }, - { - "abundance": "1178", - "organ": "BRAIN" - }, - { - "abundance": "72.5", - "organ": "CEREBRAL_CORTEX" - }, - { - "abundance": "445", - "organ": "BROWN_ADIPOSE_TISSUE" - }, - { - "abundance": "34.3", - "organ": "CELL_LINE" - }, - { - "abundance": "628", - "organ": "CEREBELLUM" - }, - { - "abundance": "48.1", - "organ": "SPLEEN" - }, - { - "abundance": "69.9", - "organ": "HEART" - }, - { - "abundance": "9.43", - "organ": "BRAIN" - }, - { - "abundance": "56.3", - "organ": "WHITE_ADIPOSE_TISSUE" - }, - { - "abundance": "51.9", - "organ": "LUNG" - }, - { - "abundance": "180", - "organ": "BRAIN" - }, - { - "abundance": "3131", - "organ": "HEART" - }, - { - "abundance": "67.4", - "organ": "FEMALE_GONAD" - }, - { - "abundance": "101", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "5.24", - "organ": "PANCREAS" - }, - { - "abundance": "855", - "organ": "DIAPHRAGM" - }, - { - "abundance": "52.1", - "organ": "ADRENAL_GLAND" - }, - { - "abundance": "20.2", - "organ": "RENAL_MEDULLA" - }, - { - "abundance": "182", - "organ": "MIDBRAIN" - }, - { - "abundance": "118", - "organ": "BROWN_ADIPOSE_TISSUE" - }, - { - "abundance": "2.9", - "organ": "LIVER" - }, - { - "abundance": "18.7", - "organ": "PANCREAS" - }, - { - "abundance": "49.0", - "organ": "LIVER" - }, - { - "abundance": "287", - "organ": "TESTIS" - }, - { - "abundance": "164", - "organ": "EYE" - }, - { - "abundance": "17.3", - "organ": "STOMACH" - }, - { - "abundance": "36.1", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "479", - "organ": "LUNG" - }, - { - "abundance": "256", - "organ": "SPERM" - }, - { - "abundance": "772", - "organ": "BROWN_ADIPOSE_TISSUE" - }, - { - "abundance": "787", - "organ": "OLFACTORY_BULB" - }, - { - "abundance": "8.57", - "organ": "CELL_LINE" - }, - { - "abundance": "78.3", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "24.9", - "organ": "PANCREAS" - } - ], - "depth": 30, - "gene_name": "Pfkm", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 10090, - "protein_name": "ATP-dependent 6-phosphofructokinase, muscle type (ATP-PFK) (PFK-M) (EC 2.7.1.11) (6-phosphofructokinase type A) (Phosphofructo-1-kinase isozyme A) (PFK-A) (Phosphohexokinase)", - "species_name": "Mus musculus", - "uniprot_id": "P47857" + "kegg_pathway_code": "ko00051", + "pathway_description": "Fructose and mannose metabolism" }, { - "abundances": [ - { - "abundance": "38.2", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "21.3", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "12.6", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "12.6", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "24.8", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 28, - "gene_name": "PFKL", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 9913, - "protein_name": "ATP-dependent 6-phosphofructokinase, liver type (ATP-PFK) (PFK-L) (EC 2.7.1.11) (6-phosphofructokinase type B) (Phosphofructo-1-kinase isozyme B) (PFK-B) (Phosphohexokinase)", - "species_name": "Bos taurus", - "uniprot_id": "A1A4J1" + "kegg_pathway_code": "ko00052", + "pathway_description": "Galactose metabolism" }, { - "abundances": [ - { - "abundance": "43.4", - "organ": "LIVER" - }, - { - "abundance": "71.7", - "organ": "B_CELL" - }, - { - "abundance": "256", - "organ": "COLON" - }, - { - "abundance": "99.4", - "organ": "PANCREAS" - }, - { - "abundance": "8.55", - "organ": "CELL_LINE" - }, - { - "abundance": "301", - "organ": "BRAIN" - }, - { - "abundance": "255", - "organ": "COLON" - }, - { - "abundance": "168", - "organ": "CELL_LINE" - }, - { - "abundance": "278", - "organ": "CELL_LINE" - }, - { - "abundance": "136", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "394", - "organ": "UTERUS" - }, - { - "abundance": "25.1", - "organ": "KIDNEY" - }, - { - "abundance": "248", - "organ": "TESTIS" - }, - { - "abundance": "2.1", - "organ": "LIVER" - }, - { - "abundance": "17.1", - "organ": "GALL_BLADDER" - }, - { - "abundance": "67.9", - "organ": "LYMPH_NODE" - }, - { - "abundance": "46.4", - "organ": "LUNG" - }, - { - "abundance": "187", - "organ": "PROSTATE_GLAND" - }, - { - "abundance": "3.6", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "9.7", - "organ": "LIVER" - }, - { - "abundance": "342", - "organ": "URINARY_BLADDER" - }, - { - "abundance": "7.75", - "organ": "CELL_LINE" - }, - { - "abundance": "35.1", - "organ": "CELL_LINE" - }, - { - "abundance": "298", - "organ": "CELL_LINE" - }, - { - "abundance": "579", - "organ": "SPINAL_CORD" - }, - { - "abundance": "146", - "organ": "PANCREAS" - }, - { - "abundance": "199", - "organ": "CELL_LINE" - }, - { - "abundance": "90.3", - "organ": "CELL_LINE" - }, - { - "abundance": "759", - "organ": "SEMINAL_VESICLE" - }, - { - "abundance": "139", - "organ": "SALIVA_SECRETING_GLAND" - }, - { - "abundance": "99.3", - "organ": "CELL_LINE" - }, - { - "abundance": "37.9", - "organ": "KIDNEY" - }, - { - "abundance": "104", - "organ": "CELL_LINE" - }, - { - "abundance": "33.8", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "236", - "organ": "ESOPHAGUS" - }, - { - "abundance": "144", - "organ": "FEMALE_GONAD" - }, - { - "abundance": "968", - "organ": "RETINA" - }, - { - "abundance": "58.2", - "organ": "CELL_LINE" - }, - { - "abundance": "182", - "organ": "CELL_LINE" - }, - { - "abundance": "323", - "organ": "UTERINE_CERVIX" - }, - { - "abundance": "151", - "organ": "FALLOPIAN_TUBE" - }, - { - "abundance": "199", - "organ": "CELL_LINE" - }, - { - "abundance": "8.36", - "organ": "CELL_LINE" - }, - { - "abundance": "26.2", - "organ": "PLATELET" - }, - { - "abundance": "192", - "organ": "ORAL_CAVITY" - }, - { - "abundance": "608", - "organ": "HEART" - }, - { - "abundance": "50.9", - "organ": "CELL_LINE" - }, - { - "abundance": "20.3", - "organ": "KIDNEY" - }, - { - "abundance": "56.1", - "organ": "HEART" - }, - { - "abundance": "104", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "150", - "organ": "HAIR_FOLLICLE" - }, - { - "abundance": "7.65", - "organ": "CELL_LINE" - }, - { - "abundance": "147", - "organ": "CELL_LINE" - }, - { - "abundance": "107", - "organ": "PLACENTA" - }, - { - "abundance": "17.8", - "organ": "LIVER" - }, - { - "abundance": "174", - "organ": "CELL_LINE" - }, - { - "abundance": "181", - "organ": "PLACENTA" - }, - { - "abundance": "52.4", - "organ": "PLATELET" - }, - { - "abundance": "183", - "organ": "BRAIN" - }, - { - "abundance": "309", - "organ": "BRAIN" - }, - { - "abundance": "275", - "organ": "FEMALE_GONAD" - }, - { - "abundance": "140", - "organ": "CELL_LINE" - }, - { - "abundance": "2.52", - "organ": "LIVER" - }, - { - "abundance": "107", - "organ": "GALL_BLADDER" - }, - { - "abundance": "299", - "organ": "RECTUM" - }, - { - "abundance": "6.57", - "organ": "SALIVA" - }, - { - "abundance": "167", - "organ": "TESTIS" - }, - { - "abundance": "36.5", - "organ": "VULVA" - }, - { - "abundance": "338", - "organ": "FEMALE_GONAD" - }, - { - "abundance": "121", - "organ": "GUT" - }, - { - "abundance": "173", - "organ": "CELL_LINE" - }, - { - "abundance": "25.6", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "9.8", - "organ": "MILK" - }, - { - "abundance": "171", - "organ": "CELL_LINE" - }, - { - "abundance": "8.21", - "organ": "LUNG" - }, - { - "abundance": "1.45", - "organ": "CELL_LINE" - }, - { - "abundance": "32.4", - "organ": "PLACENTA" - }, - { - "abundance": "9.71", - "organ": "CELL_LINE" - }, - { - "abundance": "333", - "organ": "BRAIN" - }, - { - "abundance": "199", - "organ": "RECTUM" - }, - { - "abundance": "147", - "organ": "STOMACH" - }, - { - "abundance": "168", - "organ": "CELL_LINE" - }, - { - "abundance": "42.2", - "organ": "CELL_LINE" - }, - { - "abundance": "69.1", - "organ": "SPLEEN" - }, - { - "abundance": "95.8", - "organ": "SKIN" - }, - { - "abundance": "133", - "organ": "LIVER" - }, - { - "abundance": "36.1", - "organ": "CELL_LINE" - }, - { - "abundance": "1438", - "organ": "HEART" - }, - { - "abundance": "0.067", - "organ": "LIVER" - }, - { - "abundance": "168", - "organ": "CELL_LINE" - }, - { - "abundance": "38.6", - "organ": "CELL_LINE" - }, - { - "abundance": "8.0", - "organ": "CELL_LINE" - }, - { - "abundance": "25.1", - "organ": "MONOCYTE" - }, - { - "abundance": "2105", - "organ": "HEART" - }, - { - "abundance": "18.5", - "organ": "CELL_LINE" - }, - { - "abundance": "795", - "organ": "FRONTAL_CORTEX" - }, - { - "abundance": "479", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "218", - "organ": "CELL_LINE" - }, - { - "abundance": "645", - "organ": "HEART" - }, - { - "abundance": "66.0", - "organ": "CELL_LINE" - }, - { - "abundance": "281", - "organ": "ADRENAL_GLAND" - }, - { - "abundance": "364", - "organ": "TESTIS" - }, - { - "abundance": "231", - "organ": "UTERUS" - }, - { - "abundance": "41.0", - "organ": "CELL_LINE" - }, - { - "abundance": "53.3", - "organ": "PANCREAS" - }, - { - "abundance": "312", - "organ": "UTERUS" - }, - { - "abundance": "269", - "organ": "PROSTATE_GLAND" - }, - { - "abundance": "138", - "organ": "CELL_LINE" - }, - { - "abundance": "228", - "organ": "PROSTATE_GLAND" - }, - { - "abundance": "192", - "organ": "SKIN" - }, - { - "abundance": "196", - "organ": "GALL_BLADDER" - }, - { - "abundance": "196", - "organ": "GALL_BLADDER" - }, - { - "abundance": "294", - "organ": "TESTIS" - }, - { - "abundance": "321", - "organ": "BRAIN" - }, - { - "abundance": "268", - "organ": "CELL_LINE" - }, - { - "abundance": "302", - "organ": "ESOPHAGUS" - }, - { - "abundance": "34.0", - "organ": "CELL_LINE" - }, - { - "abundance": "24.9", - "organ": "CELL_LINE" - }, - { - "abundance": "1192", - "organ": "HEART" - }, - { - "abundance": "72.8", - "organ": "CELL_LINE" - }, - { - "abundance": "72.8", - "organ": "CELL_LINE" - }, - { - "abundance": "79.9", - "organ": "CELL_LINE" - }, - { - "abundance": "3.28", - "organ": "SALIVA" - }, - { - "abundance": "249", - "organ": "RECTUM" - }, - { - "abundance": "178", - "organ": "THYROID_GLAND" - }, - { - "abundance": "157", - "organ": "CELL_LINE" - }, - { - "abundance": "86.0", - "organ": "KIDNEY" - }, - { - "abundance": "415", - "organ": "CELL_LINE" - }, - { - "abundance": "9.56", - "organ": "CELL_LINE" - }, - { - "abundance": "176", - "organ": "CELL_LINE" - }, - { - "abundance": "10.2", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "0.201", - "organ": "CELL_LINE" - }, - { - "abundance": "24.8", - "organ": "EARWAX" - }, - { - "abundance": "934", - "organ": "HEART" - }, - { - "abundance": "308", - "organ": "FEMALE_GONAD" - }, - { - "abundance": "74.3", - "organ": "CELL_LINE" - }, - { - "abundance": "7.72", - "organ": "CELL_LINE" - }, - { - "abundance": "369", - "organ": "ESOPHAGUS" - }, - { - "abundance": "7.87", - "organ": "CELL_LINE" - }, - { - "abundance": "170", - "organ": "CARDIA_OF_STOMACH" - }, - { - "abundance": "6.84", - "organ": "CELL_LINE" - }, - { - "abundance": "89.5", - "organ": "CEREBRAL_CORTEX" - }, - { - "abundance": "145", - "organ": "CELL_LINE" - }, - { - "abundance": "1373", - "organ": "TONSIL" - }, - { - "abundance": "691", - "organ": "CELL_LINE" - }, - { - "abundance": "47.5", - "organ": "CELL_LINE" - }, - { - "abundance": "256", - "organ": "COLON" - }, - { - "abundance": "44.5", - "organ": "CELL_LINE" - }, - { - "abundance": "194", - "organ": "CELL_LINE" - }, - { - "abundance": "177", - "organ": "CELL_LINE" - }, - { - "abundance": "19.3", - "organ": "LUNG" - }, - { - "abundance": "75.2", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "36.7", - "organ": "CELL_LINE" - } - ], - "depth": 30, - "gene_name": "PFKM", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 9606, - "protein_name": "ATP-dependent 6-phosphofructokinase, muscle type (ATP-PFK) (PFK-M) (EC 2.7.1.11) (6-phosphofructokinase type A) (Phosphofructo-1-kinase isozyme A) (PFK-A) (Phosphohexokinase)", - "species_name": "Homo sapiens", - "uniprot_id": "P08237" + "kegg_pathway_code": "ko00680", + "pathway_description": "Methane metabolism" }, { - "abundances": [ - { - "abundance": "13.9", - "organ": "LEAF" - }, - { - "abundance": "12.6", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "15.6", - "organ": "ROOT" - }, - { - "abundance": "10.9", - "organ": "ROOT" - }, - { - "abundance": "10.5", - "organ": "POLLEN" - }, - { - "abundance": "4.93", - "organ": "FLOWERBUD" - }, - { - "abundance": "22.3", - "organ": "JUVENILE_LEAF" - }, - { - "abundance": "6.56", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "29.2", - "organ": "JUVENILE_LEAF" - }, - { - "abundance": "1.74", - "organ": "LEAF" - }, - { - "abundance": "6.18", - "organ": "ROOT" - }, - { - "abundance": "5.25", - "organ": "POLLEN" - }, - { - "abundance": "15.5", - "organ": "JUVENILE_LEAF" - }, - { - "abundance": "9.85", - "organ": "FLOWERBUD" - }, - { - "abundance": "9.27", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "4.72", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 20, - "gene_name": "PFK1", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 3702, - "protein_name": "ATP-dependent 6-phosphofructokinase 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (Phosphohexokinase 1)", - "species_name": "Arabidopsis thaliana", - "uniprot_id": "Q9M0F9" + "kegg_pathway_code": "ko01100", + "pathway_description": "Metabolic pathways" }, { - "abundances": [ - { - "abundance": "52.2", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "23.1", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "9.31", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "9.31", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "6.69", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 28, - "gene_name": "PFKM", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 9913, - "protein_name": "ATP-dependent 6-phosphofructokinase, muscle type (ATP-PFK) (PFK-M) (EC 2.7.1.11) (6-phosphofructokinase type A) (Phosphofructo-1-kinase isozyme A) (PFK-A) (Phosphohexokinase)", - "species_name": "Bos taurus", - "uniprot_id": "Q0IIG5" + "kegg_pathway_code": "ko01110", + "pathway_description": "Biosynthesis of secondary metabolites" }, { - "abundances": [ - { - "abundance": "62.9", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "34.7", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "91.9", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "50.5", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "217", - "organ": "MICROGLIAL_CELL" - } - ], - "depth": 29, - "gene_name": "Pfkl", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 10116, - "protein_name": "ATP-dependent 6-phosphofructokinase, liver type (ATP-PFK) (PFK-L) (EC 2.7.1.11) (6-phosphofructokinase type B) (Phosphofructo-1-kinase isozyme B) (PFK-B) (Phosphohexokinase)", - "species_name": "Rattus norvegicus", - "uniprot_id": "P30835" + "kegg_pathway_code": "ko01120", + "pathway_description": "Microbial metabolism in diverse environments" }, { - "abundances": [ - { - "abundance": "3.78", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "56.1", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "94.5", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "40.0", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "392", - "organ": "MICROGLIAL_CELL" - } - ], - "depth": 29, - "gene_name": "Pfkp", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 10116, - "protein_name": "ATP-dependent 6-phosphofructokinase, platelet type (ATP-PFK) (PFK-P) (EC 2.7.1.11) (6-phosphofructokinase type C) (Phosphofructo-1-kinase isozyme C) (PFK-C) (Phosphohexokinase)", - "species_name": "Rattus norvegicus", - "uniprot_id": "P47860" + "kegg_pathway_code": "ko01130", + "pathway_description": "Biosynthesis of antibiotics" }, { - "abundances": [ - { - "abundance": "1727", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 26, - "gene_name": "PFKM", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 9823, - "protein_name": "ATP-dependent 6-phosphofructokinase, muscle type (ATP-PFK) (PFK-M) (EC 2.7.1.11) (6-phosphofructokinase type A) (Phosphofructo-1-kinase isozyme A) (PFK-A) (Phosphohexokinase)", - "species_name": "Sus scrofa", - "uniprot_id": "Q2HYU2" + "kegg_pathway_code": "ko01200", + "pathway_description": "Carbon metabolism" }, { - "abundances": [ - { - "abundance": "1562", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "2476", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "1317", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "3328", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "2289", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "879", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "1955", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "4061", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 12, - "gene_name": "pfk1", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 284812, - "protein_name": "ATP-dependent 6-phosphofructokinase (ATP-PFK) (Phosphofructokinase) (EC 2.7.1.11) (Phosphohexokinase)", - "species_name": "Schizosaccharomyces pombe 972h-", - "uniprot_id": "O42938" + "kegg_pathway_code": "ko01230", + "pathway_description": "Biosynthesis of amino acids" }, { - "abundances": [ - { - "abundance": "150", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 26, - "gene_name": "PFKM", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 9796, - "protein_name": "ATP-dependent 6-phosphofructokinase, muscle type (ATP-PFK) (PFK-M) (EC 2.7.1.11) (6-phosphofructokinase type A) (Phosphofructo-1-kinase isozyme A) (PFK-A) (Phosphohexokinase)", - "species_name": "Equus caballus", - "uniprot_id": "Q867C9" + "kegg_pathway_code": "ko03018", + "pathway_description": "RNA degradation" }, { - "abundances": [ - { - "abundance": "569", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "3124", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "1257", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "953", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "837", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "2827", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "80.3", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "968", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "896", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "1239", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "1600", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "1495", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "606", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "883", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "1994", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "3076", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "1229", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 13, - "gene_name": "PFK1", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 559292, - "protein_name": "ATP-dependent 6-phosphofructokinase subunit alpha (EC 2.7.1.11) (ATP-dependent 6-phosphofructokinase) (ATP-PFK) (Phosphofructokinase 1) (Phosphohexokinase)", - "species_name": "Saccharomyces cerevisiae S288C", - "uniprot_id": "P16861" + "kegg_pathway_code": "ko04066", + "pathway_description": "HIF-1 signaling pathway" }, { - "abundances": [ - { - "abundance": "7.94", - "organ": "SILIQUE" - }, - { - "abundance": "1.82", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "0.392", - "organ": "ROOT" - }, - { - "abundance": "19.6", - "organ": "POLLEN" - }, - { - "abundance": "16.3", - "organ": "POLLEN" - }, - { - "abundance": "5.53", - "organ": "SILIQUE" - }, - { - "abundance": "4.67", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "0.784", - "organ": "ROOT" - }, - { - "abundance": "17.9", - "organ": "POLLEN" - }, - { - "abundance": "3.13", - "organ": "SILIQUE" - }, - { - "abundance": "10.2", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "6.35", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 20, - "gene_name": "PFK3", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 3702, - "protein_name": "ATP-dependent 6-phosphofructokinase 3 (ATP-PFK 3) (Phosphofructokinase 3) (EC 2.7.1.11) (Phosphohexokinase 3)", - "species_name": "Arabidopsis thaliana", - "uniprot_id": "Q94AA4" + "kegg_pathway_code": "ko04152", + "pathway_description": "AMPK signaling pathway" }, { - "abundances": [ - { - "abundance": "725", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "3463", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "1154", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "909", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "851", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "3542", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "2861", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "816", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "817", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "1764", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "1697", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "1338", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "733", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "343", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "2002", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "1689", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "355", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 13, - "gene_name": "PFK2", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 559292, - "protein_name": "ATP-dependent 6-phosphofructokinase subunit beta (EC 2.7.1.11) (ATP-dependent 6-phosphofructokinase) (ATP-PFK) (Phosphofructokinase 2) (Phosphohexokinase)", - "species_name": "Saccharomyces cerevisiae S288C", - "uniprot_id": "P16862" + "kegg_pathway_code": "ko04922", + "pathway_description": "Glucagon signaling pathway" }, { - "abundances": [ - { - "abundance": "0.041", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "0.234", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "0.836", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "0.234", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 17, - "gene_name": "pfk-1.2", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 6239, - "protein_name": "ATP-dependent 6-phosphofructokinase 2 (ATP-PFK 2) (Phosphofructokinase 2) (EC 2.7.1.11) (Phosphohexokinase 2)", - "species_name": "Caenorhabditis elegans", - "uniprot_id": "Q27483" - }, - { - "abundances": [ - { - "abundance": "256", - "organ": "LIVER" - }, - { - "abundance": "0.14", - "organ": "PLASMA" - }, - { - "abundance": "535", - "organ": "B_CELL" - }, - { - "abundance": "266", - "organ": "COLON" - }, - { - "abundance": "220", - "organ": "PANCREAS" - }, - { - "abundance": "40.1", - "organ": "ASCITIC_FLUID" - }, - { - "abundance": "2.61", - "organ": "CELL_LINE" - }, - { - "abundance": "205", - "organ": "BRAIN" - }, - { - "abundance": "308", - "organ": "COLON" - }, - { - "abundance": "169", - "organ": "CELL_LINE" - }, - { - "abundance": "154", - "organ": "CELL_LINE" - }, - { - "abundance": "202", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "37.3", - "organ": "URINE" - }, - { - "abundance": "147", - "organ": "UTERUS" - }, - { - "abundance": "497", - "organ": "KIDNEY" - }, - { - "abundance": "316", - "organ": "TESTIS" - }, - { - "abundance": "140", - "organ": "LIVER" - }, - { - "abundance": "553", - "organ": "GALL_BLADDER" - }, - { - "abundance": "288", - "organ": "LYMPH_NODE" - }, - { - "abundance": "195", - "organ": "LUNG" - }, - { - "abundance": "125", - "organ": "PROSTATE_GLAND" - }, - { - "abundance": "153", - "organ": "PLASMA" - }, - { - "abundance": "24.2", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "83.9", - "organ": "LIVER" - }, - { - "abundance": "290", - "organ": "URINARY_BLADDER" - }, - { - "abundance": "2.09", - "organ": "CELL_LINE" - }, - { - "abundance": "132", - "organ": "CELL_LINE" - }, - { - "abundance": "237", - "organ": "CELL_LINE" - }, - { - "abundance": "541", - "organ": "SPINAL_CORD" - }, - { - "abundance": "275", - "organ": "PANCREAS" - }, - { - "abundance": "185", - "organ": "CELL_LINE" - }, - { - "abundance": "18.1", - "organ": "CELL_LINE" - }, - { - "abundance": "46.8", - "organ": "SEMINAL_VESICLE" - }, - { - "abundance": "248", - "organ": "SALIVA_SECRETING_GLAND" - }, - { - "abundance": "243", - "organ": "CELL_LINE" - }, - { - "abundance": "313", - "organ": "KIDNEY" - }, - { - "abundance": "212", - "organ": "CELL_LINE" - }, - { - "abundance": "41.1", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "248", - "organ": "ESOPHAGUS" - }, - { - "abundance": "243", - "organ": "FEMALE_GONAD" - }, - { - "abundance": "797", - "organ": "RETINA" - }, - { - "abundance": "23.7", - "organ": "CELL_LINE" - }, - { - "abundance": "240", - "organ": "CELL_LINE" - }, - { - "abundance": "224", - "organ": "UTERINE_CERVIX" - }, - { - "abundance": "124", - "organ": "FALLOPIAN_TUBE" - }, - { - "abundance": "209", - "organ": "CELL_LINE" - }, - { - "abundance": "8.92", - "organ": "CELL_LINE" - }, - { - "abundance": "37.7", - "organ": "URINE" - }, - { - "abundance": "453", - "organ": "PLATELET" - }, - { - "abundance": "66.1", - "organ": "ORAL_CAVITY" - }, - { - "abundance": "252", - "organ": "HEART" - }, - { - "abundance": "49.1", - "organ": "CELL_LINE" - }, - { - "abundance": "118", - "organ": "KIDNEY" - }, - { - "abundance": "50.8", - "organ": "HEART" - }, - { - "abundance": "63.3", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "615", - "organ": "HAIR_FOLLICLE" - }, - { - "abundance": "2.68", - "organ": "CELL_LINE" - }, - { - "abundance": "14.9", - "organ": "CELL_LINE" - }, - { - "abundance": "258", - "organ": "PLACENTA" - }, - { - "abundance": "358", - "organ": "LIVER" - }, - { - "abundance": "347", - "organ": "CELL_LINE" - }, - { - "abundance": "312", - "organ": "PLACENTA" - }, - { - "abundance": "462", - "organ": "PLATELET" - }, - { - "abundance": "159", - "organ": "BRAIN" - }, - { - "abundance": "185", - "organ": "BRAIN" - }, - { - "abundance": "360", - "organ": "FEMALE_GONAD" - }, - { - "abundance": "137", - "organ": "CELL_LINE" - }, - { - "abundance": "84.4", - "organ": "LIVER" - }, - { - "abundance": "386", - "organ": "GALL_BLADDER" - }, - { - "abundance": "236", - "organ": "RECTUM" - }, - { - "abundance": "125", - "organ": "SALIVA" - }, - { - "abundance": "133", - "organ": "TESTIS" - }, - { - "abundance": "282", - "organ": "VULVA" - }, - { - "abundance": "433", - "organ": "FEMALE_GONAD" - }, - { - "abundance": "390", - "organ": "GUT" - }, - { - "abundance": "18.4", - "organ": "CELL_LINE" - }, - { - "abundance": "28.6", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "85.9", - "organ": "MILK" - }, - { - "abundance": "181", - "organ": "CELL_LINE" - }, - { - "abundance": "76.6", - "organ": "PLASMA" - }, - { - "abundance": "75.4", - "organ": "LUNG" - }, - { - "abundance": "25.0", - "organ": "NASOPHARYNX" - }, - { - "abundance": "153", - "organ": "CELL_LINE" - }, - { - "abundance": "205", - "organ": "PLACENTA" - }, - { - "abundance": "46.2", - "organ": "CELL_LINE" - }, - { - "abundance": "223", - "organ": "BRAIN" - }, - { - "abundance": "240", - "organ": "RECTUM" - }, - { - "abundance": "336", - "organ": "STOMACH" - }, - { - "abundance": "171", - "organ": "CELL_LINE" - }, - { - "abundance": "152", - "organ": "CELL_LINE" - }, - { - "abundance": "282", - "organ": "SPLEEN" - }, - { - "abundance": "110", - "organ": "SKIN" - }, - { - "abundance": "213", - "organ": "LIVER" - }, - { - "abundance": "345", - "organ": "CELL_LINE" - }, - { - "abundance": "123", - "organ": "HEART" - }, - { - "abundance": "45.9", - "organ": "LIVER" - }, - { - "abundance": "175", - "organ": "CELL_LINE" - }, - { - "abundance": "566", - "organ": "CELL_LINE" - }, - { - "abundance": "2.75", - "organ": "CELL_LINE" - }, - { - "abundance": "27.4", - "organ": "CELL_LINE" - }, - { - "abundance": "570", - "organ": "MONOCYTE" - }, - { - "abundance": "245", - "organ": "HEART" - }, - { - "abundance": "324", - "organ": "CELL_LINE" - }, - { - "abundance": "555", - "organ": "FRONTAL_CORTEX" - }, - { - "abundance": "726", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "192", - "organ": "CELL_LINE" - }, - { - "abundance": "203", - "organ": "HEART" - }, - { - "abundance": "54.8", - "organ": "CELL_LINE" - }, - { - "abundance": "169", - "organ": "ADRENAL_GLAND" - }, - { - "abundance": "551", - "organ": "TESTIS" - }, - { - "abundance": "211", - "organ": "UTERUS" - }, - { - "abundance": "217", - "organ": "CELL_LINE" - }, - { - "abundance": "165", - "organ": "PANCREAS" - }, - { - "abundance": "179", - "organ": "UTERUS" - }, - { - "abundance": "241", - "organ": "PROSTATE_GLAND" - }, - { - "abundance": "4.33", - "organ": "CELL_LINE" - }, - { - "abundance": "93.6", - "organ": "CELL_LINE" - }, - { - "abundance": "183", - "organ": "PROSTATE_GLAND" - }, - { - "abundance": "220", - "organ": "SKIN" - }, - { - "abundance": "220", - "organ": "GALL_BLADDER" - }, - { - "abundance": "220", - "organ": "GALL_BLADDER" - }, - { - "abundance": "448", - "organ": "TESTIS" - }, - { - "abundance": "299", - "organ": "BRAIN" - }, - { - "abundance": "225", - "organ": "CELL_LINE" - }, - { - "abundance": "236", - "organ": "ESOPHAGUS" - }, - { - "abundance": "26.2", - "organ": "CELL_LINE" - }, - { - "abundance": "108", - "organ": "CELL_LINE" - }, - { - "abundance": "202", - "organ": "HEART" - }, - { - "abundance": "41.8", - "organ": "CELL_LINE" - }, - { - "abundance": "41.8", - "organ": "CELL_LINE" - }, - { - "abundance": "504", - "organ": "CELL_LINE" - }, - { - "abundance": "62.7", - "organ": "SALIVA" - }, - { - "abundance": "238", - "organ": "RECTUM" - }, - { - "abundance": "220", - "organ": "THYROID_GLAND" - }, - { - "abundance": "206", - "organ": "CELL_LINE" - }, - { - "abundance": "520", - "organ": "KIDNEY" - }, - { - "abundance": "216", - "organ": "CELL_LINE" - }, - { - "abundance": "33.5", - "organ": "CELL_LINE" - }, - { - "abundance": "2.66", - "organ": "CELL_LINE" - }, - { - "abundance": "173", - "organ": "CELL_LINE" - }, - { - "abundance": "49.9", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "127", - "organ": "CELL_LINE" - }, - { - "abundance": "82.6", - "organ": "EARWAX" - }, - { - "abundance": "486", - "organ": "HEART" - }, - { - "abundance": "381", - "organ": "FEMALE_GONAD" - }, - { - "abundance": "75.0", - "organ": "CELL_LINE" - }, - { - "abundance": "2.82", - "organ": "CELL_LINE" - }, - { - "abundance": "224", - "organ": "ESOPHAGUS" - }, - { - "abundance": "2.19", - "organ": "CELL_LINE" - }, - { - "abundance": "89.4", - "organ": "CARDIA_OF_STOMACH" - }, - { - "abundance": "2.11", - "organ": "CELL_LINE" - }, - { - "abundance": "92.5", - "organ": "CEREBRAL_CORTEX" - }, - { - "abundance": "53.0", - "organ": "LIVER" - }, - { - "abundance": "79.5", - "organ": "CELL_LINE" - }, - { - "abundance": "252", - "organ": "TONSIL" - }, - { - "abundance": "235", - "organ": "CELL_LINE" - }, - { - "abundance": "13.0", - "organ": "CELL_LINE" - }, - { - "abundance": "287", - "organ": "COLON" - }, - { - "abundance": "167", - "organ": "CELL_LINE" - }, - { - "abundance": "190", - "organ": "CELL_LINE" - }, - { - "abundance": "188", - "organ": "CELL_LINE" - }, - { - "abundance": "37.5", - "organ": "URINE" - }, - { - "abundance": "409", - "organ": "LUNG" - }, - { - "abundance": "122", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "443", - "organ": "PLATELET" - }, - { - "abundance": "115", - "organ": "CELL_LINE" - } - ], - "depth": 30, - "gene_name": "PFKL", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 9606, - "protein_name": "ATP-dependent 6-phosphofructokinase, liver type (ATP-PFK) (PFK-L) (EC 2.7.1.11) (6-phosphofructokinase type B) (Phosphofructo-1-kinase isozyme B) (PFK-B) (Phosphohexokinase)", - "species_name": "Homo sapiens", - "uniprot_id": "P17858" - }, - { - "abundances": [ - { - "abundance": "25.9", - "organ": "LEAF" - }, - { - "abundance": "10.9", - "organ": "LEAF" - }, - { - "abundance": "6.66", - "organ": "SILIQUE" - }, - { - "abundance": "34.7", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "82.9", - "organ": "ROOT" - }, - { - "abundance": "90.1", - "organ": "ROOT" - }, - { - "abundance": "134", - "organ": "POLLEN" - }, - { - "abundance": "39.3", - "organ": "CARPEL" - }, - { - "abundance": "159", - "organ": "POLLEN" - }, - { - "abundance": "10.6", - "organ": "SILIQUE" - }, - { - "abundance": "45.8", - "organ": "CARPEL" - }, - { - "abundance": "16.1", - "organ": "FLOWERBUD" - }, - { - "abundance": "19.8", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "3.58", - "organ": "LEAF" - }, - { - "abundance": "42.5", - "organ": "CARPEL" - }, - { - "abundance": "6.1", - "organ": "FLOWER" - }, - { - "abundance": "97.2", - "organ": "ROOT" - }, - { - "abundance": "147", - "organ": "POLLEN" - }, - { - "abundance": "21.0", - "organ": "FLOWERBUD" - }, - { - "abundance": "12.2", - "organ": "FLOWER" - }, - { - "abundance": "9.93", - "organ": "SHOOT" - }, - { - "abundance": "0", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "11.1", - "organ": "FLOWERBUD" - }, - { - "abundance": "14.6", - "organ": "SILIQUE" - }, - { - "abundance": "19.9", - "organ": "SHOOT" - }, - { - "abundance": "23.4", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "77.5", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 20, - "gene_name": "PFK7", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 3702, - "protein_name": "ATP-dependent 6-phosphofructokinase 7 (ATP-PFK 7) (Phosphofructokinase 7) (EC 2.7.1.11) (Phosphohexokinase 7)", - "species_name": "Arabidopsis thaliana", - "uniprot_id": "Q9C5J7" - }, - { - "abundances": [ - { - "abundance": "1071", - "organ": "MEDULLA_OBLONGATA" - }, - { - "abundance": "112", - "organ": "KIDNEY" - }, - { - "abundance": "228", - "organ": "DUODENUM" - }, - { - "abundance": "553", - "organ": "COLON" - }, - { - "abundance": "360", - "organ": "SPLEEN" - }, - { - "abundance": "184", - "organ": "LUNG" - }, - { - "abundance": "795", - "organ": "ILEUM" - }, - { - "abundance": "260", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "1265", - "organ": "JEJUNUM" - }, - { - "abundance": "330", - "organ": "KIDNEY" - }, - { - "abundance": "156", - "organ": "CORTEX_OF_KIDNEY" - }, - { - "abundance": "201", - "organ": "THYMUS" - }, - { - "abundance": "96.4", - "organ": "PLACENTA" - }, - { - "abundance": "92.1", - "organ": "EMBRYONIC_TISSUE" - }, - { - "abundance": "83.7", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "91.4", - "organ": "UTERUS" - }, - { - "abundance": "823", - "organ": "BRAIN" - }, - { - "abundance": "240", - "organ": "SALIVA_SECRETING_GLAND" - }, - { - "abundance": "0.535", - "organ": "LIVER" - }, - { - "abundance": "285", - "organ": "HEART" - }, - { - "abundance": "250", - "organ": "HEART" - }, - { - "abundance": "214", - "organ": "SPLEEN" - }, - { - "abundance": "57.7", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "154", - "organ": "LUNG" - }, - { - "abundance": "42.4", - "organ": "MUSCLE" - }, - { - "abundance": "1521", - "organ": "BRAIN" - }, - { - "abundance": "1244", - "organ": "BRAIN" - }, - { - "abundance": "99.3", - "organ": "CEREBRAL_CORTEX" - }, - { - "abundance": "387", - "organ": "BROWN_ADIPOSE_TISSUE" - }, - { - "abundance": "280", - "organ": "CELL_LINE" - }, - { - "abundance": "728", - "organ": "CEREBELLUM" - }, - { - "abundance": "143", - "organ": "SPLEEN" - }, - { - "abundance": "122", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "23.1", - "organ": "HEART" - }, - { - "abundance": "268", - "organ": "WHITE_ADIPOSE_TISSUE" - }, - { - "abundance": "90.8", - "organ": "LUNG" - }, - { - "abundance": "92.3", - "organ": "BRAIN" - }, - { - "abundance": "1257", - "organ": "HEART" - }, - { - "abundance": "154", - "organ": "FEMALE_GONAD" - }, - { - "abundance": "59.4", - "organ": "KIDNEY" - }, - { - "abundance": "74.4", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "0.218", - "organ": "PANCREAS" - }, - { - "abundance": "13.7", - "organ": "DIAPHRAGM" - }, - { - "abundance": "97.1", - "organ": "ADRENAL_GLAND" - }, - { - "abundance": "98.8", - "organ": "RENAL_MEDULLA" - }, - { - "abundance": "359", - "organ": "MIDBRAIN" - }, - { - "abundance": "226", - "organ": "BROWN_ADIPOSE_TISSUE" - }, - { - "abundance": "0.417", - "organ": "LIVER" - }, - { - "abundance": "397", - "organ": "PANCREAS" - }, - { - "abundance": "4.98", - "organ": "LIVER" - }, - { - "abundance": "634", - "organ": "TESTIS" - }, - { - "abundance": "212", - "organ": "EYE" - }, - { - "abundance": "158", - "organ": "STOMACH" - }, - { - "abundance": "151", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "249", - "organ": "LUNG" - }, - { - "abundance": "3358", - "organ": "GUT_EPITHELIUM" - }, - { - "abundance": "765", - "organ": "SPERM" - }, - { - "abundance": "548", - "organ": "BROWN_ADIPOSE_TISSUE" - }, - { - "abundance": "1253", - "organ": "OLFACTORY_BULB" - }, - { - "abundance": "3.91", - "organ": "LIVER" - }, - { - "abundance": "231", - "organ": "CELL_LINE" - }, - { - "abundance": "90.8", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "199", - "organ": "PANCREAS" - } - ], - "depth": 30, - "gene_name": "Pfkp", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 10090, - "protein_name": "ATP-dependent 6-phosphofructokinase, platelet type (ATP-PFK) (PFK-P) (EC 2.7.1.11) (6-phosphofructokinase type C) (Phosphofructo-1-kinase isozyme C) (PFK-C) (Phosphohexokinase)", - "species_name": "Mus musculus", - "uniprot_id": "Q9WUA3" - }, - { - "abundances": [ - { - "abundance": "1153", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "131", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "144", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "71.8", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "211", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "208", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "224", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "246", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "597", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "147", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 33, - "gene_name": "Pfk", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 7227, - "protein_name": "ATP-dependent 6-phosphofructokinase (ATP-PFK) (Phosphofructokinase) (EC 2.7.1.11) (Phosphohexokinase)", - "species_name": "Drosophila melanogaster", - "uniprot_id": "P52034" - }, - { - "abundances": [ - { - "abundance": "24.6", - "organ": "LIVER" - }, - { - "abundance": "156", - "organ": "B_CELL" - }, - { - "abundance": "481", - "organ": "COLON" - }, - { - "abundance": "158", - "organ": "PANCREAS" - }, - { - "abundance": "26.6", - "organ": "CELL_LINE" - }, - { - "abundance": "520", - "organ": "BRAIN" - }, - { - "abundance": "388", - "organ": "COLON" - }, - { - "abundance": "217", - "organ": "CELL_LINE" - }, - { - "abundance": "676", - "organ": "CELL_LINE" - }, - { - "abundance": "329", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "2.96", - "organ": "URINE" - }, - { - "abundance": "297", - "organ": "UTERUS" - }, - { - "abundance": "27.0", - "organ": "KIDNEY" - }, - { - "abundance": "112", - "organ": "TESTIS" - }, - { - "abundance": "12.4", - "organ": "LIVER" - }, - { - "abundance": "18.0", - "organ": "GALL_BLADDER" - }, - { - "abundance": "290", - "organ": "LYMPH_NODE" - }, - { - "abundance": "80.2", - "organ": "LUNG" - }, - { - "abundance": "527", - "organ": "PROSTATE_GLAND" - }, - { - "abundance": "30.1", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "26.3", - "organ": "LIVER" - }, - { - "abundance": "794", - "organ": "URINARY_BLADDER" - }, - { - "abundance": "27.4", - "organ": "CELL_LINE" - }, - { - "abundance": "598", - "organ": "CELL_LINE" - }, - { - "abundance": "534", - "organ": "CELL_LINE" - }, - { - "abundance": "663", - "organ": "SPINAL_CORD" - }, - { - "abundance": "162", - "organ": "PANCREAS" - }, - { - "abundance": "207", - "organ": "CELL_LINE" - }, - { - "abundance": "365", - "organ": "CELL_LINE" - }, - { - "abundance": "337", - "organ": "SEMINAL_VESICLE" - }, - { - "abundance": "141", - "organ": "SALIVA_SECRETING_GLAND" - }, - { - "abundance": "924", - "organ": "CELL_LINE" - }, - { - "abundance": "27.2", - "organ": "KIDNEY" - }, - { - "abundance": "178", - "organ": "CELL_LINE" - }, - { - "abundance": "180", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "597", - "organ": "ESOPHAGUS" - }, - { - "abundance": "42.5", - "organ": "FEMALE_GONAD" - }, - { - "abundance": "838", - "organ": "RETINA" - }, - { - "abundance": "217", - "organ": "CELL_LINE" - }, - { - "abundance": "1281", - "organ": "CELL_LINE" - }, - { - "abundance": "383", - "organ": "UTERINE_CERVIX" - }, - { - "abundance": "303", - "organ": "FALLOPIAN_TUBE" - }, - { - "abundance": "208", - "organ": "CELL_LINE" - }, - { - "abundance": "302", - "organ": "CELL_LINE" - }, - { - "abundance": "16.3", - "organ": "URINE" - }, - { - "abundance": "729", - "organ": "PLATELET" - }, - { - "abundance": "62.9", - "organ": "ORAL_CAVITY" - }, - { - "abundance": "1317", - "organ": "HEART" - }, - { - "abundance": "324", - "organ": "CELL_LINE" - }, - { - "abundance": "7.33", - "organ": "KIDNEY" - }, - { - "abundance": "356", - "organ": "HEART" - }, - { - "abundance": "167", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "20.4", - "organ": "CELL_LINE" - }, - { - "abundance": "607", - "organ": "CELL_LINE" - }, - { - "abundance": "239", - "organ": "PLACENTA" - }, - { - "abundance": "21.8", - "organ": "LIVER" - }, - { - "abundance": "1197", - "organ": "CELL_LINE" - }, - { - "abundance": "391", - "organ": "PLACENTA" - }, - { - "abundance": "1014", - "organ": "PLATELET" - }, - { - "abundance": "195", - "organ": "BRAIN" - }, - { - "abundance": "656", - "organ": "BRAIN" - }, - { - "abundance": "133", - "organ": "FEMALE_GONAD" - }, - { - "abundance": "151", - "organ": "CELL_LINE" - }, - { - "abundance": "4.28", - "organ": "LIVER" - }, - { - "abundance": "52.6", - "organ": "GALL_BLADDER" - }, - { - "abundance": "286", - "organ": "RECTUM" - }, - { - "abundance": "74.7", - "organ": "SALIVA" - }, - { - "abundance": "39.1", - "organ": "TESTIS" - }, - { - "abundance": "159", - "organ": "VULVA" - }, - { - "abundance": "224", - "organ": "FEMALE_GONAD" - }, - { - "abundance": "83.0", - "organ": "GUT" - }, - { - "abundance": "95.6", - "organ": "CELL_LINE" - }, - { - "abundance": "52.0", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "201", - "organ": "CELL_LINE" - }, - { - "abundance": "13.2", - "organ": "LUNG" - }, - { - "abundance": "87.6", - "organ": "PLACENTA" - }, - { - "abundance": "13.5", - "organ": "CELL_LINE" - }, - { - "abundance": "583", - "organ": "BRAIN" - }, - { - "abundance": "222", - "organ": "RECTUM" - }, - { - "abundance": "393", - "organ": "STOMACH" - }, - { - "abundance": "177", - "organ": "CELL_LINE" - }, - { - "abundance": "900", - "organ": "CELL_LINE" - }, - { - "abundance": "303", - "organ": "SPLEEN" - }, - { - "abundance": "59.2", - "organ": "SKIN" - }, - { - "abundance": "374", - "organ": "LIVER" - }, - { - "abundance": "204", - "organ": "CELL_LINE" - }, - { - "abundance": "463", - "organ": "HEART" - }, - { - "abundance": "0.88", - "organ": "LIVER" - }, - { - "abundance": "226", - "organ": "CELL_LINE" - }, - { - "abundance": "258", - "organ": "CELL_LINE" - }, - { - "abundance": "22.8", - "organ": "CELL_LINE" - }, - { - "abundance": "197", - "organ": "CELL_LINE" - }, - { - "abundance": "106", - "organ": "MONOCYTE" - }, - { - "abundance": "799", - "organ": "HEART" - }, - { - "abundance": "227", - "organ": "CELL_LINE" - }, - { - "abundance": "911", - "organ": "FRONTAL_CORTEX" - }, - { - "abundance": "1014", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "218", - "organ": "CELL_LINE" - }, - { - "abundance": "610", - "organ": "HEART" - }, - { - "abundance": "59.5", - "organ": "CELL_LINE" - }, - { - "abundance": "91.1", - "organ": "ADRENAL_GLAND" - }, - { - "abundance": "159", - "organ": "TESTIS" - }, - { - "abundance": "417", - "organ": "UTERUS" - }, - { - "abundance": "740", - "organ": "CELL_LINE" - }, - { - "abundance": "154", - "organ": "PANCREAS" - }, - { - "abundance": "357", - "organ": "UTERUS" - }, - { - "abundance": "567", - "organ": "PROSTATE_GLAND" - }, - { - "abundance": "215", - "organ": "CELL_LINE" - }, - { - "abundance": "547", - "organ": "PROSTATE_GLAND" - }, - { - "abundance": "118", - "organ": "SKIN" - }, - { - "abundance": "87.2", - "organ": "GALL_BLADDER" - }, - { - "abundance": "209", - "organ": "TESTIS" - }, - { - "abundance": "87.2", - "organ": "GALL_BLADDER" - }, - { - "abundance": "209", - "organ": "TESTIS" - }, - { - "abundance": "173", - "organ": "BRAIN" - }, - { - "abundance": "695", - "organ": "CELL_LINE" - }, - { - "abundance": "406", - "organ": "ESOPHAGUS" - }, - { - "abundance": "115", - "organ": "CELL_LINE" - }, - { - "abundance": "561", - "organ": "CELL_LINE" - }, - { - "abundance": "1021", - "organ": "HEART" - }, - { - "abundance": "103", - "organ": "CELL_LINE" - }, - { - "abundance": "103", - "organ": "CELL_LINE" - }, - { - "abundance": "594", - "organ": "CELL_LINE" - }, - { - "abundance": "37.3", - "organ": "SALIVA" - }, - { - "abundance": "254", - "organ": "RECTUM" - }, - { - "abundance": "290", - "organ": "THYROID_GLAND" - }, - { - "abundance": "225", - "organ": "CELL_LINE" - }, - { - "abundance": "67.1", - "organ": "KIDNEY" - }, - { - "abundance": "502", - "organ": "CELL_LINE" - }, - { - "abundance": "152", - "organ": "CELL_LINE" - }, - { - "abundance": "22.6", - "organ": "CELL_LINE" - }, - { - "abundance": "184", - "organ": "CELL_LINE" - }, - { - "abundance": "72.2", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "245", - "organ": "CELL_LINE" - }, - { - "abundance": "25.7", - "organ": "EARWAX" - }, - { - "abundance": "814", - "organ": "HEART" - }, - { - "abundance": "132", - "organ": "FEMALE_GONAD" - }, - { - "abundance": "150", - "organ": "CELL_LINE" - }, - { - "abundance": "22.4", - "organ": "CELL_LINE" - }, - { - "abundance": "216", - "organ": "ESOPHAGUS" - }, - { - "abundance": "26.5", - "organ": "CELL_LINE" - }, - { - "abundance": "141", - "organ": "CARDIA_OF_STOMACH" - }, - { - "abundance": "23.5", - "organ": "CELL_LINE" - }, - { - "abundance": "120", - "organ": "CEREBRAL_CORTEX" - }, - { - "abundance": "144", - "organ": "CELL_LINE" - }, - { - "abundance": "216", - "organ": "TONSIL" - }, - { - "abundance": "1075", - "organ": "CELL_LINE" - }, - { - "abundance": "434", - "organ": "COLON" - }, - { - "abundance": "1076", - "organ": "CELL_LINE" - }, - { - "abundance": "198", - "organ": "CELL_LINE" - }, - { - "abundance": "205", - "organ": "CELL_LINE" - }, - { - "abundance": "9.62", - "organ": "URINE" - }, - { - "abundance": "25.1", - "organ": "LUNG" - }, - { - "abundance": "187", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "443", - "organ": "PLATELET" - }, - { - "abundance": "39.0", - "organ": "CELL_LINE" - } - ], - "depth": 30, - "gene_name": "PFKP", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 9606, - "protein_name": "ATP-dependent 6-phosphofructokinase, platelet type (ATP-PFK) (PFK-P) (EC 2.7.1.11) (6-phosphofructokinase type C) (Phosphofructo-1-kinase isozyme C) (PFK-C) (Phosphohexokinase)", - "species_name": "Homo sapiens", - "uniprot_id": "Q01813" - }, - { - "abundances": [ - { - "abundance": "79.4", - "organ": "MEDULLA_OBLONGATA" - }, - { - "abundance": "121", - "organ": "KIDNEY" - }, - { - "abundance": "51.1", - "organ": "DUODENUM" - }, - { - "abundance": "343", - "organ": "COLON" - }, - { - "abundance": "464", - "organ": "SPLEEN" - }, - { - "abundance": "91.8", - "organ": "LUNG" - }, - { - "abundance": "50.3", - "organ": "ILEUM" - }, - { - "abundance": "82.7", - "organ": "JEJUNUM" - }, - { - "abundance": "285", - "organ": "KIDNEY" - }, - { - "abundance": "60.9", - "organ": "CORTEX_OF_KIDNEY" - }, - { - "abundance": "95.8", - "organ": "THYMUS" - }, - { - "abundance": "72.3", - "organ": "SALIVA" - }, - { - "abundance": "24.1", - "organ": "PLACENTA" - }, - { - "abundance": "64.0", - "organ": "EMBRYONIC_TISSUE" - }, - { - "abundance": "103", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "21.2", - "organ": "UTERUS" - }, - { - "abundance": "387", - "organ": "BRAIN" - }, - { - "abundance": "47.5", - "organ": "SALIVA_SECRETING_GLAND" - }, - { - "abundance": "157", - "organ": "LIVER" - }, - { - "abundance": "644", - "organ": "HEART" - }, - { - "abundance": "455", - "organ": "HEART" - }, - { - "abundance": "88.6", - "organ": "SPLEEN" - }, - { - "abundance": "1477", - "organ": "HEART" - }, - { - "abundance": "34.4", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "181", - "organ": "LUNG" - }, - { - "abundance": "5.04", - "organ": "MUSCLE" - }, - { - "abundance": "1230", - "organ": "ERYTHROCYTE" - }, - { - "abundance": "625", - "organ": "BRAIN" - }, - { - "abundance": "589", - "organ": "BRAIN" - }, - { - "abundance": "34.1", - "organ": "CEREBRAL_CORTEX" - }, - { - "abundance": "1060", - "organ": "BROWN_ADIPOSE_TISSUE" - }, - { - "abundance": "52.3", - "organ": "CELL_LINE" - }, - { - "abundance": "147", - "organ": "CEREBELLUM" - }, - { - "abundance": "138", - "organ": "SPLEEN" - }, - { - "abundance": "8.97", - "organ": "HEART" - }, - { - "abundance": "34.1", - "organ": "BRAIN" - }, - { - "abundance": "185", - "organ": "WHITE_ADIPOSE_TISSUE" - }, - { - "abundance": "143", - "organ": "LUNG" - }, - { - "abundance": "49.1", - "organ": "BRAIN" - }, - { - "abundance": "365", - "organ": "HEART" - }, - { - "abundance": "94.6", - "organ": "FEMALE_GONAD" - }, - { - "abundance": "99.0", - "organ": "KIDNEY" - }, - { - "abundance": "47.6", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "22.0", - "organ": "PANCREAS" - }, - { - "abundance": "3.8", - "organ": "DIAPHRAGM" - }, - { - "abundance": "125", - "organ": "ADRENAL_GLAND" - }, - { - "abundance": "36.7", - "organ": "RENAL_MEDULLA" - }, - { - "abundance": "153", - "organ": "MIDBRAIN" - }, - { - "abundance": "577", - "organ": "BROWN_ADIPOSE_TISSUE" - }, - { - "abundance": "7.33", - "organ": "LIVER" - }, - { - "abundance": "5.48", - "organ": "PANCREAS" - }, - { - "abundance": "54.1", - "organ": "LIVER" - }, - { - "abundance": "284", - "organ": "TESTIS" - }, - { - "abundance": "395", - "organ": "EYE" - }, - { - "abundance": "11.2", - "organ": "STOMACH" - }, - { - "abundance": "24.3", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "346", - "organ": "LUNG" - }, - { - "abundance": "283", - "organ": "GUT_EPITHELIUM" - }, - { - "abundance": "129", - "organ": "SPERM" - }, - { - "abundance": "1543", - "organ": "BROWN_ADIPOSE_TISSUE" - }, - { - "abundance": "198", - "organ": "OLFACTORY_BULB" - }, - { - "abundance": "11.6", - "organ": "LIVER" - }, - { - "abundance": "13.1", - "organ": "CELL_LINE" - }, - { - "abundance": "47.6", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "8.25", - "organ": "PANCREAS" - } - ], - "depth": 30, - "gene_name": "Pfkl", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 10090, - "protein_name": "ATP-dependent 6-phosphofructokinase, liver type (ATP-PFK) (PFK-L) (EC 2.7.1.11) (6-phosphofructokinase type B) (Phosphofructo-1-kinase isozyme B) (PFK-B) (Phosphohexokinase)", - "species_name": "Mus musculus", - "uniprot_id": "P12382" - }, - { - "abundances": [ - { - "abundance": "9.42", - "organ": "LEAF" - }, - { - "abundance": "61.3", - "organ": "LEAF" - }, - { - "abundance": "16.0", - "organ": "ROSETTE" - }, - { - "abundance": "62.6", - "organ": "SILIQUE" - }, - { - "abundance": "308", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "126", - "organ": "ROOT" - }, - { - "abundance": "94.5", - "organ": "ROOT" - }, - { - "abundance": "40.6", - "organ": "FLOWER" - }, - { - "abundance": "30.0", - "organ": "COTYLEDON" - }, - { - "abundance": "12.5", - "organ": "POLLEN" - }, - { - "abundance": "12.5", - "organ": "CARPEL" - }, - { - "abundance": "10.9", - "organ": "POLLEN" - }, - { - "abundance": "25.6", - "organ": "COTYLEDON" - }, - { - "abundance": "29.5", - "organ": "LEAF" - }, - { - "abundance": "41.4", - "organ": "SILIQUE" - }, - { - "abundance": "14.4", - "organ": "CARPEL" - }, - { - "abundance": "32.5", - "organ": "FLOWERBUD" - }, - { - "abundance": "18.2", - "organ": "JUVENILE_LEAF" - }, - { - "abundance": "80.5", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "7.98", - "organ": "ROSETTE" - }, - { - "abundance": "25.2", - "organ": "JUVENILE_LEAF" - }, - { - "abundance": "4.93", - "organ": "LEAF" - }, - { - "abundance": "13.4", - "organ": "CARPEL" - }, - { - "abundance": "24.4", - "organ": "FLOWER" - }, - { - "abundance": "63.4", - "organ": "ROOT" - }, - { - "abundance": "11.7", - "organ": "POLLEN" - }, - { - "abundance": "27.8", - "organ": "COTYLEDON" - }, - { - "abundance": "11.3", - "organ": "JUVENILE_LEAF" - }, - { - "abundance": "42.6", - "organ": "FLOWERBUD" - }, - { - "abundance": "8.12", - "organ": "FLOWER" - }, - { - "abundance": "19.9", - "organ": "SHOOT" - }, - { - "abundance": "0", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "22.4", - "organ": "FLOWERBUD" - }, - { - "abundance": "20.2", - "organ": "SILIQUE" - }, - { - "abundance": "5.16", - "organ": "SHOOT" - }, - { - "abundance": "30.8", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "42.8", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "34.6", - "organ": "SHOOT" - } - ], - "depth": 20, - "gene_name": "PFK5", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 3702, - "protein_name": "ATP-dependent 6-phosphofructokinase 5, chloroplastic (ATP-PFK 5) (Phosphofructokinase 5) (EC 2.7.1.11) (Phosphohexokinase 5)", - "species_name": "Arabidopsis thaliana", - "uniprot_id": "Q8VYN6" - }, + "kegg_pathway_code": "ko05230", + "pathway_description": "Central carbon metabolism in cancer" + } + ], + "reference": [ { - "abundances": [ - { - "abundance": "1.11", - "organ": "LEAF" - }, - { - "abundance": "5.67", - "organ": "SILIQUE" - }, - { - "abundance": "5.92", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "5.33", - "organ": "ROOT" - }, - { - "abundance": "4.14", - "organ": "ROOT" - }, - { - "abundance": "12.9", - "organ": "FLOWER" - }, - { - "abundance": "14.3", - "organ": "CARPEL" - }, - { - "abundance": "6.1", - "organ": "COTYLEDON" - }, - { - "abundance": "3.89", - "organ": "SILIQUE" - }, - { - "abundance": "16.6", - "organ": "CARPEL" - }, - { - "abundance": "10.2", - "organ": "FLOWERBUD" - }, - { - "abundance": "5.83", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "0.138", - "organ": "LEAF" - }, - { - "abundance": "15.4", - "organ": "CARPEL" - }, - { - "abundance": "7.27", - "organ": "FLOWER" - }, - { - "abundance": "2.95", - "organ": "ROOT" - }, - { - "abundance": "3.05", - "organ": "COTYLEDON" - }, - { - "abundance": "13.5", - "organ": "FLOWERBUD" - }, - { - "abundance": "1.6", - "organ": "FLOWER" - }, - { - "abundance": "0", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "6.99", - "organ": "FLOWERBUD" - }, - { - "abundance": "2.11", - "organ": "SILIQUE" - }, - { - "abundance": "11.3", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "2.62", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 20, - "gene_name": "PFK4", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 3702, - "protein_name": "ATP-dependent 6-phosphofructokinase 4, chloroplastic (ATP-PFK 4) (Phosphofructokinase 4) (EC 2.7.1.11) (Phosphohexokinase 4)", - "species_name": "Arabidopsis thaliana", - "uniprot_id": "Q9FKG3" + "id": "2931076", + "namespace": "PMID" }, { - "abundances": [ - { - "abundance": "201", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "75.2", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "502", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "200", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "315", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "144", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "325", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "315", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "263", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "76.5", - "organ": "WHOLE_ORGANISM" - } - ], - "depth": 17, - "gene_name": "pfk-1.1", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 6239, - "protein_name": "ATP-dependent 6-phosphofructokinase 1 (ATP-PFK 1) (Phosphofructokinase 1) (EC 2.7.1.11) (Phosphohexokinase 1)", - "species_name": "Caenorhabditis elegans", - "uniprot_id": "Q9TZL8" + "id": "8931492", + "namespace": "PMID" }, { - "abundances": [ - { - "abundance": "9.44", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "66.2", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "124", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "50.2", - "organ": "WHOLE_ORGANISM" - }, - { - "abundance": "32.8", - "organ": "MICROGLIAL_CELL" - } - ], - "depth": 29, - "gene_name": "Pfkm", - "ko_name": [ - "6-phosphofructokinase 1" - ], - "ko_number": "K00850", - "ncbi_taxonomy_id": 10116, - "protein_name": "ATP-dependent 6-phosphofructokinase, muscle type (ATP-PFK) (PFK-M) (EC 2.7.1.11) (6-phosphofructokinase type A) (Phosphofructo-1-kinase isozyme A) (PFK-A) (Phosphohexokinase)", - "species_name": "Rattus norvegicus", - "uniprot_id": "P47858" + "id": "3158524", + "namespace": "PMID" } ] - }, - { - "distance": 7, - "documents": [] - }, - { - "distance": 8, - "documents": [] - }, - { - "distance": 9, - "documents": [] - }, - { - "distance": 10, - "documents": [] - }, - { - "distance": 11, - "documents": [] - }, - { - "distance": 12, - "documents": [] - }, - { - "distance": 13, - "documents": [] - }, - { - "distance": 14, - "documents": [] - }, - { - "distance": 15, - "documents": [] - }, - { - "distance": 16, - "documents": [] - }, - { - "distance": 17, - "documents": [] - }, - { - "distance": 18, - "documents": [] - }, - { - "distance": 19, - "documents": [] - }, - { - "distance": 20, - "documents": [] - }, - { - "distance": 21, - "documents": [] - }, - { - "distance": 22, - "documents": [] - }, - { - "distance": 23, - "documents": [] - }, - { - "distance": 24, - "documents": [] - }, - { - "distance": 25, - "documents": [] - }, - { - "distance": 26, - "documents": [] - }, - { - "distance": 27, - "documents": [] - }, - { - "distance": 28, - "documents": [] - }, - { - "distance": 29, - "documents": [] - }, - { - "distance": 30, - "documents": [] - }, - { - "distance": 31, - "documents": [] - }, - { - "distance": 32, - "documents": [] - }, - { - "distance": 33, - "documents": [] - }, - { - "distance": 34, - "documents": [] - }, - { - "distance": 35, - "documents": [] - }, - { - "distance": 36, - "documents": [] - }, - { - "distance": 37, - "documents": [] - }, - { - "distance": 38, - "documents": [] - }, - { - "distance": 39, - "documents": [] } -] \ No newline at end of file +] From 0ac6d31bc66d9ac7e298cb0716b7e8e725ba0416 Mon Sep 17 00:00:00 2001 From: yosefdroth Date: Mon, 16 Mar 2020 16:03:51 -0400 Subject: [PATCH 10/17] rank names in column --- .../DataTable/DataTable.js | 50 ++++++++++++++++--- .../Protein/AbundanceDataTable.js | 13 +++-- 2 files changed, 50 insertions(+), 13 deletions(-) diff --git a/src/scenes/BiochemicalEntityDetails/DataTable/DataTable.js b/src/scenes/BiochemicalEntityDetails/DataTable/DataTable.js index 104d6384..92f94138 100644 --- a/src/scenes/BiochemicalEntityDetails/DataTable/DataTable.js +++ b/src/scenes/BiochemicalEntityDetails/DataTable/DataTable.js @@ -75,7 +75,9 @@ class DataTable extends Component { this.state = { sideBarDef: this.sideBarDef, colDefs: this.colDefs, - data: null + data: null, + taxonLineage: null, + taxonRankings: null }; this.fitCols = this.fitCols.bind(this); @@ -121,17 +123,30 @@ class DataTable extends Component { const query = route.query; const organism = route.organism; - // cancel earlier query if (this.cancelTokenSource) { this.cancelTokenSource.cancel(); } const url = this.props["get-data-url"](query, organism); this.cancelTokenSource = axios.CancelToken.source(); - getDataFromApi([url], { cancelToken: this.cancelTokenSource.token }) - .then(response => { - this.formatData(response.data); - }) + axios + .all([ + getDataFromApi([url], { cancelToken: this.cancelTokenSource.token }), + organism + ? getDataFromApi( + ["taxon", "canon_rank_distance_by_name/?name=" + organism], + { cancelToken: this.cancelTokenSource.token } + ) + : null + ]) + .then( + axios.spread((...responses) => { + this.formatData( + responses[0].data, + organism ? responses[1].data : null + ); + }) + ) .catch( genApiErrorHandler( [url], @@ -149,11 +164,30 @@ class DataTable extends Component { }); } - formatData(rawData) { + static setRankings(organismData) { + const rankings = []; + if (organismData[1]["rank"] === "species") { + rankings.push("strain"); + } else if (organismData[1]["rank"] === "genus") { + rankings.push("species"); + } + for (let iLineage = 1; iLineage < organismData.length - 1; iLineage++) { + const rank = organismData[iLineage]["rank"]; + rankings.push(rank); + } + rankings.push("cellular life"); + return rankings; + } + + formatData(rawData, organismData) { + let rankings = null; + if (organismData) { + rankings = DataTable.setRankings(organismData); + } const route = parseHistoryLocationPathname(this.props.history); const organism = route.organism; - const formattedData = this.props["format-data"](rawData); + const formattedData = this.props["format-data"](rawData, rankings); this.sideBarDef = this.props["get-side-bar-def"](formattedData); this.colDefs = this.props["get-col-defs"](organism, formattedData); diff --git a/src/scenes/BiochemicalEntityDetails/Protein/AbundanceDataTable.js b/src/scenes/BiochemicalEntityDetails/Protein/AbundanceDataTable.js index 590dc7f8..3918fe11 100644 --- a/src/scenes/BiochemicalEntityDetails/Protein/AbundanceDataTable.js +++ b/src/scenes/BiochemicalEntityDetails/Protein/AbundanceDataTable.js @@ -19,12 +19,12 @@ class AbundanceDataTable extends Component { return ( "proteins/proximity_abundance/proximity_abundance_kegg/?kegg_id=" + query + - "&distance=40&depth=40" + + "&distance=40" + (organism ? "&anchor=" + organism : "") ); } - formatData(rawData) { + formatData(rawData, rankings) { let start = 0; if (getNumProperties(rawData[0]) === 1) { start = 1; @@ -41,15 +41,18 @@ class AbundanceDataTable extends Component { proteinName = proteinName.substring(0, proteinName.indexOf("(")); } - formattedData.push({ + const row = { abundance: parseFloat(measurement.abundance), proteinName: proteinName, uniprotId: rawDatum.uniprot_id, geneSymbol: rawDatum.gene_name, organism: rawDatum.species_name, - taxonomicProximity: i, organ: measurement.organ.replace("_", " ").toLowerCase() - }); + }; + if (rankings !== null) { + row["taxonomicProximity"] = rankings[i]; + } + formattedData.push(row); } } } From e07008149f669359028e8e73a9c733ebbe7bd5a0 Mon Sep 17 00:00:00 2001 From: yosefdroth Date: Mon, 16 Mar 2020 16:41:39 -0400 Subject: [PATCH 11/17] updating taxonomy filter --- .../TaxonomyFilter.js | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/src/scenes/BiochemicalEntityDetails/TaxonomyFilter.js b/src/scenes/BiochemicalEntityDetails/TaxonomyFilter.js index 6427a20b..924eb246 100644 --- a/src/scenes/BiochemicalEntityDetails/TaxonomyFilter.js +++ b/src/scenes/BiochemicalEntityDetails/TaxonomyFilter.js @@ -34,6 +34,7 @@ class TaxonomyFilter extends Component { }; this.markValueToDistance = null; + this.rankNameToDistance = null; this.onChange = this.onChange.bind(this); } @@ -110,9 +111,25 @@ class TaxonomyFilter extends Component { markValueToDistance.push(distance); } + const rankNameToDistance = {}; + if (lineage[1]["rank"] === "species") { + rankNameToDistance["strain"] = 0; + } else if (lineage[1]["rank"] === "genus") { + rankNameToDistance["species"] = 0; + } + for (let iLineage = 1; iLineage < lineage.length - 1; iLineage++) { + const rank = lineage[iLineage]["rank"]; + rankNameToDistance[rank] = iLineage; + } + rankNameToDistance["cellular life"] = Object.keys( + rankNameToDistance + ).length; + console.log(rankNameToDistance); + this.selectedMarkValue = Math.max(marks.length - 1); this.maxDistance = markValueToDistance[this.selectedMarkValue]; this.markValueToDistance = markValueToDistance; + this.rankNameToDistance = rankNameToDistance; this.setState({ marks: marks, @@ -123,13 +140,26 @@ class TaxonomyFilter extends Component { doesFilterPass(params) { const maxDistance = this.maxDistance; - const distance = this.props.valueGetter(params.node); + const distance = this.rankNameToDistance[ + this.props.valueGetter(params.node) + ]; return distance <= maxDistance; } + doesFilterPass2(params) { + const maxDistance = this.maxDistance; + const distance = this.props.valueGetter(params.node); + const list_ranks = []; + for (const entry in this.taxonLineage.slice(0, maxDistance + 1)) { + list_ranks.push(Object.keys(this.taxonLineage[entry])[0]); + } + return list_ranks.includes(distance); // <= maxDistance; + } + getModel() { return { markValueToDistance: this.markValueToDistance, + rankNameToDistance: this.rankNameToDistance, selectedMarkValue: this.selectedMarkValue }; } @@ -137,6 +167,7 @@ class TaxonomyFilter extends Component { setModel(model) { if (model && "markValueToDistance" in model) { this.markValueToDistance = model.markValueToDistance; + this.rankNameToDistance = model.rankNameToDistance; } let selectedMarkValue; From bfc9a18ee868dd6cafadcf7b529c700ebedca2ac Mon Sep 17 00:00:00 2001 From: yosefdroth Date: Mon, 16 Mar 2020 17:42:59 -0400 Subject: [PATCH 12/17] reaction taxonomy --- .../DataTable/DataTable.js | 7 ++++++- .../Reaction/RateConstantsDataTable.js | 17 ++++++++--------- .../BiochemicalEntityDetails/TaxonomyFilter.js | 9 --------- 3 files changed, 14 insertions(+), 19 deletions(-) diff --git a/src/scenes/BiochemicalEntityDetails/DataTable/DataTable.js b/src/scenes/BiochemicalEntityDetails/DataTable/DataTable.js index 92f94138..60bbdffa 100644 --- a/src/scenes/BiochemicalEntityDetails/DataTable/DataTable.js +++ b/src/scenes/BiochemicalEntityDetails/DataTable/DataTable.js @@ -176,6 +176,7 @@ class DataTable extends Component { rankings.push(rank); } rankings.push("cellular life"); + console.log(rankings); return rankings; } @@ -187,7 +188,11 @@ class DataTable extends Component { const route = parseHistoryLocationPathname(this.props.history); const organism = route.organism; - const formattedData = this.props["format-data"](rawData, rankings); + const formattedData = this.props["format-data"]( + rawData, + rankings, + organism + ); this.sideBarDef = this.props["get-side-bar-def"](formattedData); this.colDefs = this.props["get-col-defs"](organism, formattedData); diff --git a/src/scenes/BiochemicalEntityDetails/Reaction/RateConstantsDataTable.js b/src/scenes/BiochemicalEntityDetails/Reaction/RateConstantsDataTable.js index 0c15ce05..ee987f1b 100644 --- a/src/scenes/BiochemicalEntityDetails/Reaction/RateConstantsDataTable.js +++ b/src/scenes/BiochemicalEntityDetails/Reaction/RateConstantsDataTable.js @@ -22,7 +22,7 @@ class RateConstantsDataTable extends Component { ); } - static formatData(rawData) { + static formatData(rawData, rankings, organism) { const formattedData = []; for (const datum of rawData) { @@ -34,15 +34,14 @@ class RateConstantsDataTable extends Component { } let rank = ""; - for (var key in datum.taxon_distance) { - if (!Array.isArray(datum.taxon_distance[key])) { - rank = ""; - } + console.log(Object.keys(datum.taxon_distance)); + const keys = Object.keys(datum.taxon_distance); + if (keys.length === 4) { + const distance = datum.taxon_distance[organism]; + rank = rankings[distance]; + } else { + rank = "cellular life"; } - //if (datum.taxon_distance !== null){ - // rank = datum.taxon_distance[1][0] - //} - //rank = datum.taxon_distance[1][0] const formattedDatum = { kcat: RateConstantsDataTable.getKcatValues(datum.parameter), diff --git a/src/scenes/BiochemicalEntityDetails/TaxonomyFilter.js b/src/scenes/BiochemicalEntityDetails/TaxonomyFilter.js index 924eb246..4b56497a 100644 --- a/src/scenes/BiochemicalEntityDetails/TaxonomyFilter.js +++ b/src/scenes/BiochemicalEntityDetails/TaxonomyFilter.js @@ -146,15 +146,6 @@ class TaxonomyFilter extends Component { return distance <= maxDistance; } - doesFilterPass2(params) { - const maxDistance = this.maxDistance; - const distance = this.props.valueGetter(params.node); - const list_ranks = []; - for (const entry in this.taxonLineage.slice(0, maxDistance + 1)) { - list_ranks.push(Object.keys(this.taxonLineage[entry])[0]); - } - return list_ranks.includes(distance); // <= maxDistance; - } getModel() { return { From 84f62c47b3296c8321918bec78c3a52b8a0c995b Mon Sep 17 00:00:00 2001 From: yosefdroth Date: Tue, 17 Mar 2020 17:21:48 -0400 Subject: [PATCH 13/17] updates --- .../Metabolite.test.js | 17 ++++++- .../BiochemicalEntityDetails/Protein.test.js | 46 +++++++++++++------ .../BiochemicalEntityDetails/Reaction.test.js | 8 ++-- .../ColumnsToolPanel/TooltipDescriptions.js | 9 ++-- .../DataTable/DataTable.js | 1 - .../LoadExternalData.js | 28 +++++++++-- .../Metabolite/ConcentrationDataTable.js | 11 +++-- .../Protein/MetadataSection.js | 42 ++++++++++------- .../Reaction/RateConstantsDataTable.js | 23 +++++----- .../TaxonomyFilter.js | 2 - 10 files changed, 126 insertions(+), 61 deletions(-) diff --git a/src/__tests__/scenes/BiochemicalEntityDetails/Metabolite.test.js b/src/__tests__/scenes/BiochemicalEntityDetails/Metabolite.test.js index ea4cc210..3e57bdf6 100644 --- a/src/__tests__/scenes/BiochemicalEntityDetails/Metabolite.test.js +++ b/src/__tests__/scenes/BiochemicalEntityDetails/Metabolite.test.js @@ -28,7 +28,20 @@ describe("Metabolite data page", () => { it("Formats concentration data correct", () => { // format raw data - const formattedData = ConcentrationDataTable.formatData(testRawData); + const rankings = [ + "species", + "genus", + "family", + "order", + "class", + "phylum", + "superkingdom", + "cellular life" + ]; + const formattedData = ConcentrationDataTable.formatData( + testRawData, + rankings + ); // test formatted data expect(formattedData).toHaveLength(10); @@ -41,7 +54,7 @@ describe("Metabolite data page", () => { uncertainty: null, units: "uM", organism: "Escherichia coli K12 NCM3722", - taxonomicProximity: 1, + taxonomicProximity: "genus", growthPhase: "Mid-Log", growthMedia: "Gutnick minimal complete medium (4.7 g/L KH2PO4; 13.5 g/L K2HPO4; 1 g/L K2SO4; 0.1 g/L MgSO4-7H2O; 10 mM NH4Cl) with 4 g/L glucose", diff --git a/src/__tests__/scenes/BiochemicalEntityDetails/Protein.test.js b/src/__tests__/scenes/BiochemicalEntityDetails/Protein.test.js index 8c726501..f8e1c831 100644 --- a/src/__tests__/scenes/BiochemicalEntityDetails/Protein.test.js +++ b/src/__tests__/scenes/BiochemicalEntityDetails/Protein.test.js @@ -15,10 +15,10 @@ describe("Protein data page", () => { // assert URL correct expect(dataTable.getUrl(entity)).toEqual( - "proteins/proximity_abundance/proximity_abundance_kegg/?kegg_id=K00850&distance=40&depth=40" + "proteins/proximity_abundance/proximity_abundance_kegg/?kegg_id=K00850&distance=40" ); expect(dataTable.getUrl(entity, organism)).toEqual( - "proteins/proximity_abundance/proximity_abundance_kegg/?kegg_id=K00850&distance=40&depth=40&anchor=Escherichia coli" + "proteins/proximity_abundance/proximity_abundance_kegg/?kegg_id=K00850&distance=40&anchor=Escherichia coli" ); }); @@ -27,7 +27,17 @@ describe("Protein data page", () => { const dataTable = new AbundanceDataTable(); // format raw data - const formattedData = dataTable.formatData(testRawData); + const rankings = [ + "species", + "genus", + "family", + "order", + "class", + "phylum", + "superkingdom", + "cellular life" + ]; + const formattedData = dataTable.formatData(testRawData, rankings); // test formatted data expect(formattedData).toHaveLength(30); @@ -39,7 +49,7 @@ describe("Protein data page", () => { uniprotId: "P40433", geneSymbol: "PFK26", organism: "Saccharomyces cerevisiae S288C", - taxonomicProximity: 6, + taxonomicProximity: "cellular life", organ: "whole organism" }); @@ -47,6 +57,22 @@ describe("Protein data page", () => { "Schizosaccharomyces pombe 972h-" ); expect(formattedData[8].geneSymbol).toEqual(null); + + const formattedDataWithoutTaxonomicData = dataTable.formatData( + testRawData, + null + ); + + let formatedDatumWithoutTaxonomicData = + formattedDataWithoutTaxonomicData[17]; + expect(formatedDatumWithoutTaxonomicData).toEqual({ + abundance: 2.04, + proteinName: "6-phosphofructo-2-kinase 1 ", + uniprotId: "P40433", + geneSymbol: "PFK26", + organism: "Saccharomyces cerevisiae S288C", + organ: "whole organism" + }); }); it("Gets correct metadata url ", () => { @@ -78,7 +104,6 @@ describe("Protein data page", () => { expect(formattedMetadata[0].title).toEqual("Description"); const descriptionMetadataWrapper = shallow(formattedMetadata[0].content); - console.log("hi"); const description = get_list_DOM_elements( descriptionMetadataWrapper, @@ -90,17 +115,12 @@ describe("Protein data page", () => { '
        ' ]); - expect(formattedMetadata[1].id).toEqual("names"); - expect(formattedMetadata[1].title).toEqual("Names"); + expect(formattedMetadata[1].id).toEqual("cross_references"); + expect(formattedMetadata[1].title).toEqual("Cross references"); const namesMetadataWrapper = shallow(formattedMetadata[1].content); - console.log("hi"); - const correct_list_of_names = [ - "Name: 6-phosphofructokinase 1", - "KEGG Orthology ID: K00850", - "EC Code: 2.7.1.11" - ]; + const correct_list_of_names = ["KEGG: K00850", "EC code: 2.7.1.11"]; const actual_list_of_names = get_list_DOM_elements( namesMetadataWrapper, diff --git a/src/__tests__/scenes/BiochemicalEntityDetails/Reaction.test.js b/src/__tests__/scenes/BiochemicalEntityDetails/Reaction.test.js index 0acddb1b..96e293e1 100644 --- a/src/__tests__/scenes/BiochemicalEntityDetails/Reaction.test.js +++ b/src/__tests__/scenes/BiochemicalEntityDetails/Reaction.test.js @@ -17,7 +17,7 @@ describe("Reaction data page", () => { it("Formats concentration data correctly", () => { // format raw data - const formattedData = RateConstantsDataTable.formatData(testRawData); + const formattedData = RateConstantsDataTable.formatData(testRawData, null); //console.log(formattedData) // test formatted data @@ -32,8 +32,7 @@ describe("Reaction data page", () => { ph: 8, source: 6051, temperature: 30, - wildtypeMutant: "wildtype", - taxonomicProximity: "" + wildtypeMutant: "wildtype" }, { kcat: 680, @@ -42,8 +41,7 @@ describe("Reaction data page", () => { wildtypeMutant: "mutant", temperature: 30, ph: 8, - source: 6052, - taxonomicProximity: "" + source: 6052 } ]) ); diff --git a/src/scenes/BiochemicalEntityDetails/ColumnsToolPanel/TooltipDescriptions.js b/src/scenes/BiochemicalEntityDetails/ColumnsToolPanel/TooltipDescriptions.js index c06d949b..2d3e75ad 100644 --- a/src/scenes/BiochemicalEntityDetails/ColumnsToolPanel/TooltipDescriptions.js +++ b/src/scenes/BiochemicalEntityDetails/ColumnsToolPanel/TooltipDescriptions.js @@ -1,5 +1,6 @@ -const TAXONOMIC_PROXIMITY_TOOLTIP = "Filter measurements according to their distance along the NCBI Taxonomy tree." -const CHEMICAL_SIMILARITY_TOOLTIP = "Identify measurements of similar metabolites according to the Tanimoto distance of their structures." +const TAXONOMIC_PROXIMITY_TOOLTIP = + "Taxonomic distance between the queried organism and the observed organism."; +const CHEMICAL_SIMILARITY_TOOLTIP = + "Tanimoto distance between the structure of the queried metabolite and the structure of each observed metabolite."; - -export {TAXONOMIC_PROXIMITY_TOOLTIP, CHEMICAL_SIMILARITY_TOOLTIP} \ No newline at end of file +export { TAXONOMIC_PROXIMITY_TOOLTIP, CHEMICAL_SIMILARITY_TOOLTIP }; diff --git a/src/scenes/BiochemicalEntityDetails/DataTable/DataTable.js b/src/scenes/BiochemicalEntityDetails/DataTable/DataTable.js index 60bbdffa..b71e5ad6 100644 --- a/src/scenes/BiochemicalEntityDetails/DataTable/DataTable.js +++ b/src/scenes/BiochemicalEntityDetails/DataTable/DataTable.js @@ -176,7 +176,6 @@ class DataTable extends Component { rankings.push(rank); } rankings.push("cellular life"); - console.log(rankings); return rankings; } diff --git a/src/scenes/BiochemicalEntityDetails/LoadExternalData.js b/src/scenes/BiochemicalEntityDetails/LoadExternalData.js index 6094f514..3d6a5e86 100644 --- a/src/scenes/BiochemicalEntityDetails/LoadExternalData.js +++ b/src/scenes/BiochemicalEntityDetails/LoadExternalData.js @@ -1,23 +1,43 @@ import React, { Component } from "react"; import PropTypes from "prop-types"; import axios from "axios"; +import { genApiErrorHandler } from "~/services/RestApi"; -class LoadData extends Component { +class LoadExternalData extends Component { static propTypes = { url: PropTypes.string.isRequired, processor: PropTypes.func.isRequired }; + constructor(props) { super(props); this.state = { text: "" }; + this.cancelTokenSource = null; + } + + componentWillUnmount() { + if (this.cancelTokenSource) { + this.cancelTokenSource.cancel(); + } } + componentDidMount() { + if (this.cancelTokenSource) { + this.cancelTokenSource.cancel(); + } + this.cancelTokenSource = axios.CancelToken.source(); axios - .get(this.props.url, { headers: { "Content-Type": "application/json" } }) + .get(this.props.url, { + headers: { "Content-Type": "application/json" }, + cancelToken: this.cancelTokenSource.token + }) .then(response => { - console.log(response.data); const processed_data = this.props.processor(response.data); this.setState({ text: processed_data }); + }) + .catch(genApiErrorHandler([this.props.url], "Unable to load metadata.")) + .finally(() => { + this.cancelTokenSource = null; }); } @@ -26,4 +46,4 @@ class LoadData extends Component { } } -export { LoadData }; +export { LoadExternalData }; diff --git a/src/scenes/BiochemicalEntityDetails/Metabolite/ConcentrationDataTable.js b/src/scenes/BiochemicalEntityDetails/Metabolite/ConcentrationDataTable.js index 2826cdea..d930228b 100644 --- a/src/scenes/BiochemicalEntityDetails/Metabolite/ConcentrationDataTable.js +++ b/src/scenes/BiochemicalEntityDetails/Metabolite/ConcentrationDataTable.js @@ -3,7 +3,10 @@ import { dictOfArraysToArrayOfDicts } from "~/utils/utils"; import DataTable from "../DataTable/DataTable"; import Tooltip from "@material-ui/core/Tooltip"; import { HtmlColumnHeader } from "../HtmlColumnHeader"; -import {TAXONOMIC_PROXIMITY_TOOLTIP, CHEMICAL_SIMILARITY_TOOLTIP} from '../ColumnsToolPanel/TooltipDescriptions'; +import { + TAXONOMIC_PROXIMITY_TOOLTIP, + CHEMICAL_SIMILARITY_TOOLTIP +} from "../ColumnsToolPanel/TooltipDescriptions"; class ConcentrationDataTable extends Component { static getUrl(query, organism, abstract = true) { @@ -17,7 +20,7 @@ class ConcentrationDataTable extends Component { ); } - static formatData(rawData) { + static formatData(rawData, rankings) { const formattedData = []; for (const rawDatum of rawData) { for (const met of rawDatum) { @@ -41,7 +44,6 @@ class ConcentrationDataTable extends Component { metConc.strain ? species + " " + metConc.strain : species, - taxonomicProximity: met.taxon_distance, growthPhase: "growth_status" in metConc ? metConc.growth_status : null, growthMedia: @@ -53,6 +55,9 @@ class ConcentrationDataTable extends Component { ? { source: "ecmdb", id: met.m2m_id } : { source: "ymdb", id: met.ymdb_id } }; + if (rankings !== null) { + conc["taxonomicProximity"] = rankings[met.taxon_distance]; + } if (conc.growthPhase && conc.growthPhase.indexOf(" phase") >= 0) { conc.growthPhase = conc.growthPhase.split(" phase")[0]; } diff --git a/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js b/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js index 14a7c36e..670db470 100644 --- a/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js +++ b/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js @@ -2,7 +2,7 @@ import React, { Component } from "react"; import PropTypes from "prop-types"; import { upperCaseFirstLetter } from "~/utils/utils"; import BaseMetadataSection from "../MetadataSection"; -import { LoadData } from "../LoadExternalData"; +import { LoadExternalData } from "../LoadExternalData"; import LazyLoad from "react-lazyload"; class MetadataSection extends Component { @@ -15,8 +15,14 @@ class MetadataSection extends Component { this.state = { metadata: null }; } - static processUniprotAPI(uniprot_data) { - return uniprot_data[0].comments[0].text[0].value; + static processUniprotApi(uniprot_data) { + let response = ""; + if (uniprot_data.length > 0) { + response = uniprot_data[0].comments[0].text[0].value; + } else { + response = "No description found"; + } + return response; } static getMetadataUrl(query) { @@ -29,7 +35,7 @@ class MetadataSection extends Component { processedData.koName = rawData[0].definition.name[0]; processedData.koNumber = rawData[0].kegg_orthology_id; processedData.description = null; - processedData.ec_code = rawData[0].definition.ec_code[0]; + processedData.ecCode = rawData[0].definition.ec_code[0]; processedData.pathways = rawData[0].kegg_pathway; processedData.description_url = "https://www.ebi.ac.uk/proteins/api/proteins?offset=0&size=1&gene=" + @@ -48,12 +54,7 @@ class MetadataSection extends Component { const descriptions = []; descriptions.push({ - key: "Name", - value: processedData.koName - }); - - descriptions.push({ - key: "KEGG Orthology ID", + key: "KEGG", value: ( + {" "} + {processedData.ecCode} + + ) }); sections.push({ @@ -79,9 +89,9 @@ class MetadataSection extends Component { content: (
        -
        @@ -89,8 +99,8 @@ class MetadataSection extends Component { }); sections.push({ - id: "names", - title: "Names", + id: "cross_references", + title: "Cross references", content: (
          {descriptions.map(desc => { diff --git a/src/scenes/BiochemicalEntityDetails/Reaction/RateConstantsDataTable.js b/src/scenes/BiochemicalEntityDetails/Reaction/RateConstantsDataTable.js index ee987f1b..43583d24 100644 --- a/src/scenes/BiochemicalEntityDetails/Reaction/RateConstantsDataTable.js +++ b/src/scenes/BiochemicalEntityDetails/Reaction/RateConstantsDataTable.js @@ -33,27 +33,28 @@ class RateConstantsDataTable extends Component { wildtypeMutant = "mutant"; } - let rank = ""; - console.log(Object.keys(datum.taxon_distance)); - const keys = Object.keys(datum.taxon_distance); - if (keys.length === 4) { - const distance = datum.taxon_distance[organism]; - rank = rankings[distance]; - } else { - rank = "cellular life"; - } - const formattedDatum = { kcat: RateConstantsDataTable.getKcatValues(datum.parameter), km: RateConstantsDataTable.getKmValues(datum.parameter), organism: datum.taxon_name, - taxonomicProximity: rank, wildtypeMutant: wildtypeMutant, temperature: datum.temperature, ph: datum.ph, source: datum["kinlaw_id"] }; + if (rankings !== null) { + let rank = ""; + const keys = Object.keys(datum.taxon_distance); + if (keys.length === 4) { + const distance = datum.taxon_distance[organism]; + rank = rankings[distance]; + } else { + rank = "cellular life"; + } + formattedDatum["taxonomicProximity"] = rank; + } + if ( formattedDatum.kcat != null || Object.keys(formattedDatum.km).length > 0 diff --git a/src/scenes/BiochemicalEntityDetails/TaxonomyFilter.js b/src/scenes/BiochemicalEntityDetails/TaxonomyFilter.js index 4b56497a..2e141348 100644 --- a/src/scenes/BiochemicalEntityDetails/TaxonomyFilter.js +++ b/src/scenes/BiochemicalEntityDetails/TaxonomyFilter.js @@ -124,7 +124,6 @@ class TaxonomyFilter extends Component { rankNameToDistance["cellular life"] = Object.keys( rankNameToDistance ).length; - console.log(rankNameToDistance); this.selectedMarkValue = Math.max(marks.length - 1); this.maxDistance = markValueToDistance[this.selectedMarkValue]; @@ -146,7 +145,6 @@ class TaxonomyFilter extends Component { return distance <= maxDistance; } - getModel() { return { markValueToDistance: this.markValueToDistance, From 3d435ba951add883269d94c20d02b30fc311df62 Mon Sep 17 00:00:00 2001 From: yosefdroth Date: Tue, 17 Mar 2020 17:32:00 -0400 Subject: [PATCH 14/17] updating fixtures --- ...n-abundances-6-phosphofructo-2-kinase.json | 180 ++++++++++++++++-- 1 file changed, 168 insertions(+), 12 deletions(-) diff --git a/src/__tests__/fixtures/protein-abundances-6-phosphofructo-2-kinase.json b/src/__tests__/fixtures/protein-abundances-6-phosphofructo-2-kinase.json index 5fe99b7f..3cf89651 100644 --- a/src/__tests__/fixtures/protein-abundances-6-phosphofructo-2-kinase.json +++ b/src/__tests__/fixtures/protein-abundances-6-phosphofructo-2-kinase.json @@ -1,8 +1,4 @@ [ - { - "distance": 0, - "documents": [] - }, { "distance": 1, "documents": [] @@ -25,6 +21,14 @@ }, { "distance": 6, + "documents": [] + }, + { + "distance": 7, + "documents": [] + }, + { + "distance": 8, "documents": [ { "abundances": [ @@ -53,7 +57,44 @@ "organ": "WHOLE_ORGANISM" } ], - "depth": 12, + "ancestor_name": [ + "cellular organisms", + "Eukaryota", + "Opisthokonta", + "Fungi", + "Dikarya", + "Ascomycota", + "Taphrinomycotina", + "Schizosaccharomycetes", + "Schizosaccharomycetales", + "Schizosaccharomycetaceae", + "Schizosaccharomyces", + "Schizosaccharomyces pombe" + ], + "ancestor_taxon_id": [ + 131567, + 2759, + 33154, + 4751, + 451864, + 4890, + 451866, + 147554, + 34346, + 4894, + 4895, + 4896 + ], + "canon_ancestors": [ + "Eukaryota", + "Fungi", + "Ascomycota", + "Schizosaccharomycetes", + "Schizosaccharomycetales", + "Schizosaccharomycetaceae", + "Schizosaccharomyces", + "Schizosaccharomyces pombe" + ], "gene_name": null, "ko_name": [ "6-phosphofructo-2-kinase" @@ -91,7 +132,44 @@ "organ": "WHOLE_ORGANISM" } ], - "depth": 12, + "ancestor_name": [ + "cellular organisms", + "Eukaryota", + "Opisthokonta", + "Fungi", + "Dikarya", + "Ascomycota", + "Taphrinomycotina", + "Schizosaccharomycetes", + "Schizosaccharomycetales", + "Schizosaccharomycetaceae", + "Schizosaccharomyces", + "Schizosaccharomyces pombe" + ], + "ancestor_taxon_id": [ + 131567, + 2759, + 33154, + 4751, + 451864, + 4890, + 451866, + 147554, + 34346, + 4894, + 4895, + 4896 + ], + "canon_ancestors": [ + "Eukaryota", + "Fungi", + "Ascomycota", + "Schizosaccharomycetes", + "Schizosaccharomycetales", + "Schizosaccharomycetaceae", + "Schizosaccharomyces", + "Schizosaccharomyces pombe" + ], "gene_name": null, "ko_name": [ "6-phosphofructo-2-kinase" @@ -125,7 +203,46 @@ "organ": "WHOLE_ORGANISM" } ], - "depth": 13, + "ancestor_name": [ + "cellular organisms", + "Eukaryota", + "Opisthokonta", + "Fungi", + "Dikarya", + "Ascomycota", + "saccharomyceta", + "Saccharomycotina", + "Saccharomycetes", + "Saccharomycetales", + "Saccharomycetaceae", + "Saccharomyces", + "Saccharomyces cerevisiae" + ], + "ancestor_taxon_id": [ + 131567, + 2759, + 33154, + 4751, + 451864, + 4890, + 716545, + 147537, + 4891, + 4892, + 4893, + 4930, + 4932 + ], + "canon_ancestors": [ + "Eukaryota", + "Fungi", + "Ascomycota", + "Saccharomycetes", + "Saccharomycetales", + "Saccharomycetaceae", + "Saccharomyces", + "Saccharomyces cerevisiae" + ], "gene_name": "PFK27", "ko_name": [ "6-phosphofructo-2-kinase" @@ -191,7 +308,46 @@ "organ": "WHOLE_ORGANISM" } ], - "depth": 13, + "ancestor_name": [ + "cellular organisms", + "Eukaryota", + "Opisthokonta", + "Fungi", + "Dikarya", + "Ascomycota", + "saccharomyceta", + "Saccharomycotina", + "Saccharomycetes", + "Saccharomycetales", + "Saccharomycetaceae", + "Saccharomyces", + "Saccharomyces cerevisiae" + ], + "ancestor_taxon_id": [ + 131567, + 2759, + 33154, + 4751, + 451864, + 4890, + 716545, + 147537, + 4891, + 4892, + 4893, + 4930, + 4932 + ], + "canon_ancestors": [ + "Eukaryota", + "Fungi", + "Ascomycota", + "Saccharomycetes", + "Saccharomycetales", + "Saccharomycetaceae", + "Saccharomyces", + "Saccharomyces cerevisiae" + ], "gene_name": "PFK26", "ko_name": [ "6-phosphofructo-2-kinase" @@ -204,10 +360,6 @@ } ] }, - { - "distance": 7, - "documents": [] - }, { "distance": 8, "documents": [] @@ -335,5 +487,9 @@ { "distance": 39, "documents": [] + }, + { + "distance": 40, + "documents": [] } ] From 264d9610a6201375d9ac5d6e6b25aff161420d40 Mon Sep 17 00:00:00 2001 From: Jonathan Karr Date: Wed, 18 Mar 2020 22:14:22 -0400 Subject: [PATCH 15/17] linting, adding more information to tooltips, polishing language --- .../ColumnsToolPanel/TooltipDescriptions.js | 4 ++-- .../Metabolite/ConcentrationDataTable.js | 4 ++-- .../BiochemicalEntityDetails/Protein/MetadataSection.js | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/scenes/BiochemicalEntityDetails/ColumnsToolPanel/TooltipDescriptions.js b/src/scenes/BiochemicalEntityDetails/ColumnsToolPanel/TooltipDescriptions.js index 2d3e75ad..b86498d3 100644 --- a/src/scenes/BiochemicalEntityDetails/ColumnsToolPanel/TooltipDescriptions.js +++ b/src/scenes/BiochemicalEntityDetails/ColumnsToolPanel/TooltipDescriptions.js @@ -1,6 +1,6 @@ const TAXONOMIC_PROXIMITY_TOOLTIP = - "Taxonomic distance between the queried organism and the observed organism."; + "Number of ranks in the NCBI Taxonomy tree between the queried organism and its latest common ancestor with each measured organism."; const CHEMICAL_SIMILARITY_TOOLTIP = - "Tanimoto distance between the structure of the queried metabolite and the structure of each observed metabolite."; + "Tanimoto coefficient between the molecular structure of the queried metabolite and the structure of each measured metabolite. Identical molecules have coefficients of 1. Completely dissimilar molecules have coefficients of 0. Molecules with coefficients > 0.85 are often considered to be similar."; export { TAXONOMIC_PROXIMITY_TOOLTIP, CHEMICAL_SIMILARITY_TOOLTIP }; diff --git a/src/scenes/BiochemicalEntityDetails/Metabolite/ConcentrationDataTable.js b/src/scenes/BiochemicalEntityDetails/Metabolite/ConcentrationDataTable.js index d930228b..b31531b5 100644 --- a/src/scenes/BiochemicalEntityDetails/Metabolite/ConcentrationDataTable.js +++ b/src/scenes/BiochemicalEntityDetails/Metabolite/ConcentrationDataTable.js @@ -56,8 +56,8 @@ class ConcentrationDataTable extends Component { : { source: "ymdb", id: met.ymdb_id } }; if (rankings !== null) { - conc["taxonomicProximity"] = rankings[met.taxon_distance]; - } + conc["taxonomicProximity"] = rankings[met.taxon_distance]; + } if (conc.growthPhase && conc.growthPhase.indexOf(" phase") >= 0) { conc.growthPhase = conc.growthPhase.split(" phase")[0]; } diff --git a/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js b/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js index 670db470..d18929c0 100644 --- a/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js +++ b/src/scenes/BiochemicalEntityDetails/Protein/MetadataSection.js @@ -20,7 +20,7 @@ class MetadataSection extends Component { if (uniprot_data.length > 0) { response = uniprot_data[0].comments[0].text[0].value; } else { - response = "No description found"; + response = "No description available."; } return response; } From 71ffb78e993b20b79b11209c0ab87adf141db626 Mon Sep 17 00:00:00 2001 From: Jonathan Karr Date: Wed, 18 Mar 2020 22:36:34 -0400 Subject: [PATCH 16/17] updating integration test for changes to model of the taxonomy filter --- .../BiochemicalEntityDetails/TaxonomyFilter.test.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/integration-tests/tests/scenes/BiochemicalEntityDetails/TaxonomyFilter.test.js b/integration-tests/tests/scenes/BiochemicalEntityDetails/TaxonomyFilter.test.js index 17855297..299f3778 100644 --- a/integration-tests/tests/scenes/BiochemicalEntityDetails/TaxonomyFilter.test.js +++ b/integration-tests/tests/scenes/BiochemicalEntityDetails/TaxonomyFilter.test.js @@ -91,7 +91,17 @@ describe("TaxonomyFilter", function() { selectedMarkValue: 0, markValueToDistance: Array(7) .fill() - .map((x, i) => i) + .map((x, i) => i), + rankNameToDistance: { + species: 0, + genus: 1, + family: 2, + order: 3, + class: 4, + phylum: 5, + superkingdom: 6, + "cellular life": 7 + } } }); }); From 540d1568c540fd005717068023ddc7293c751ae7 Mon Sep 17 00:00:00 2001 From: Jonathan Karr Date: Wed, 18 Mar 2020 23:02:29 -0400 Subject: [PATCH 17/17] upper casing first letters of taxoomic distance labels in data tables --- .../Metabolite/ConcentrationDataTable.js | 7 +++++-- .../BiochemicalEntityDetails/Protein/AbundanceDataTable.js | 4 ++-- .../Reaction/RateConstantsDataTable.js | 3 ++- .../BiochemicalEntityDetails/Rna/HalfLifeDataTable.js | 3 ++- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/scenes/BiochemicalEntityDetails/Metabolite/ConcentrationDataTable.js b/src/scenes/BiochemicalEntityDetails/Metabolite/ConcentrationDataTable.js index b31531b5..82dd6d94 100644 --- a/src/scenes/BiochemicalEntityDetails/Metabolite/ConcentrationDataTable.js +++ b/src/scenes/BiochemicalEntityDetails/Metabolite/ConcentrationDataTable.js @@ -1,5 +1,8 @@ import React, { Component } from "react"; -import { dictOfArraysToArrayOfDicts } from "~/utils/utils"; +import { + dictOfArraysToArrayOfDicts, + upperCaseFirstLetter +} from "~/utils/utils"; import DataTable from "../DataTable/DataTable"; import Tooltip from "@material-ui/core/Tooltip"; import { HtmlColumnHeader } from "../HtmlColumnHeader"; @@ -179,7 +182,7 @@ class ConcentrationDataTable extends Component { filter: "taxonomyFilter", valueFormatter: params => { const value = params.value; - return value; + return upperCaseFirstLetter(value); } }, { diff --git a/src/scenes/BiochemicalEntityDetails/Protein/AbundanceDataTable.js b/src/scenes/BiochemicalEntityDetails/Protein/AbundanceDataTable.js index 3918fe11..3d013225 100644 --- a/src/scenes/BiochemicalEntityDetails/Protein/AbundanceDataTable.js +++ b/src/scenes/BiochemicalEntityDetails/Protein/AbundanceDataTable.js @@ -1,6 +1,6 @@ import React, { Component } from "react"; import PropTypes from "prop-types"; -import { getNumProperties } from "~/utils/utils"; +import { getNumProperties, upperCaseFirstLetter } from "~/utils/utils"; import DataTable from "../DataTable/DataTable"; import { HtmlColumnHeader } from "../HtmlColumnHeader"; import Tooltip from "@material-ui/core/Tooltip"; @@ -150,7 +150,7 @@ class AbundanceDataTable extends Component { filter: "taxonomyFilter", valueFormatter: params => { const value = params.value; - return value; + return upperCaseFirstLetter(value); } }, { diff --git a/src/scenes/BiochemicalEntityDetails/Reaction/RateConstantsDataTable.js b/src/scenes/BiochemicalEntityDetails/Reaction/RateConstantsDataTable.js index 43583d24..d2212f69 100644 --- a/src/scenes/BiochemicalEntityDetails/Reaction/RateConstantsDataTable.js +++ b/src/scenes/BiochemicalEntityDetails/Reaction/RateConstantsDataTable.js @@ -1,4 +1,5 @@ import React, { Component } from "react"; +import { upperCaseFirstLetter } from "~/utils/utils"; import DataTable from "../DataTable/DataTable"; import { HtmlColumnHeader } from "../HtmlColumnHeader"; import Tooltip from "@material-ui/core/Tooltip"; @@ -245,7 +246,7 @@ class RateConstantsDataTable extends Component { filter: "taxonomyFilter", valueFormatter: params => { const value = params.value; - return value; + return upperCaseFirstLetter(value); } }); diff --git a/src/scenes/BiochemicalEntityDetails/Rna/HalfLifeDataTable.js b/src/scenes/BiochemicalEntityDetails/Rna/HalfLifeDataTable.js index a9233799..c256be47 100644 --- a/src/scenes/BiochemicalEntityDetails/Rna/HalfLifeDataTable.js +++ b/src/scenes/BiochemicalEntityDetails/Rna/HalfLifeDataTable.js @@ -1,4 +1,5 @@ import React, { Component } from "react"; +// import { upperCaseFirstLetter } from "~/utils/utils"; import DataTable from "../DataTable/DataTable"; import { HtmlColumnHeader } from "../HtmlColumnHeader"; @@ -94,7 +95,7 @@ class HalfLifeDataTable extends Component { filter: "taxonomyFilter", valueFormatter: params => { const value = params.value; - return value; + return upperCaseFirstLetter(value); } }, */