diff --git a/.gitignore b/.gitignore index c6a839b9..c5f4920e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,19 +1,24 @@ +*.class +*.dump +.classpath .gradle/ .idea/ -.settings/ -.classpath .project -/build/ -/target/ -src/main/resources/edu/ucsd/sbrg/miriam/IdentifiersOrg-Registry.json -/src/scripts/ModelPolisherTemplate.* -ModelPolisher.iml -jsbml.log +.settings/ /.DS_Store +/.vscode/ +/bin +/build/ /minimalSysBio.xml /model_polisher.log /out /src/main/resources/edu/ucsd/sbrg/example_models/output +/src/scripts/ModelPolisherTemplate.* /src/test/resources/edu/ucsd/sbrg/bigg/e_coli_core.zip -*.class -/bin \ No newline at end of file +/target/ +ModelPolisher.iml +jsbml.log +src/main/resources/edu/ucsd/sbrg/identifiersOrgRegistry/IdentifiersOrg-Registry.json +/input/ +/app/build/ +/lib/build/ diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 5d90fb56..00000000 --- a/.travis.yml +++ /dev/null @@ -1,36 +0,0 @@ -dist: bionic -language: java -sudo: required -env: -- COMPOSE_FILE=docker-compose.devel.yml MODELS=$TRAVIS_BUILD_DIR/bigg_models_data/models -jdk: -- openjdk11 -services: -- docker -notifications: - slack: - secure: CfOon5xVIVFiUQYeE9kC7GUOwPr+igeWSemL0NcpcEmzxC/4CkFC5ediR3znosufNxsexSXuC3mzy+UTzIstpcsxVWXdYwvlsrZjw0KVYEKpMcWl6MiWj0UUrggZDoV2xjKvcd4gxDgG/criOfJGxJEEjjWw0r+ZNRSDUHdNR7u13v0M4Sw6UOgdkyWP9mumiPWeH4ShF6Q5aRdLnPzeHLZQ/pKg4RgvlW08Km1Hb7W+UW/mXSSrvfeZUP8L4UF4znI+iekvI/1fslt5uc9lLaFlMqreZj6IzFrJLYG9EF29HcO7g/g7SkyldYLAlma36DxwdzfxSLgdqI0V3uTFlxic9QoElLAWlGZ6Q7lw8rxy61yMWdFoGEbrg3VPWqd72v7BQ4SyOuXMNSgoPKQvnkuAHAf4MDlb5wZutXKoO069ruMQ7zDrOcPe3fhreJM7Jz9VupvmWiwpE0q5067FtEeUYTo0LdifjjLAnar9NypvAnQhMJv9KxvWq3+Qs0lSf5NY3+dpoIJsUN5zIrAqj01mDER8J6MIMMU0zR+68sqD1T9wQgYexNqczLmbrPQNCwF/nz/vulIBiow2AM+mXG5XIHwcySbW9X2xSyXGxBeWTb3vvfczrnnmGY931i52ElIz2GN9xrg5sfSz91AAZRHeiUtmdIqXE4hZlkREqa4= - email: false - -before_install: -- git clone https://github.com/SBRG/bigg_models_data -install: -# use current build artifact instead of published version -- printf "FROM openjdk:11-slim\n\nCOPY ModelPolisher-2.1-beta.jar /\nCMD \"/bin/sh\"" > docker/java_docker/Dockerfile -- gradle devel -- docker-compose up -d -- docker ps -a -before_script: -# wait for both databases to accept connections -- echo "Waiting for databases" -- while ! pg_isready -h 0.0.0.0 -p 1310 > /dev/null; do sleep 1; done -- while ! pg_isready -h 0.0.0.0 -p 1013 > /dev/null; do sleep 1; done -- echo "Databases are up" -script: -- travis_wait docker-compose run -v $MODELS:/models polisher sh -c "java -jar /ModelPolisher-2.1-beta.jar --input=/models/ecoli_core_model.xml --output=/models/out/ecoli_core_model.xml --annotate-with-bigg=true --add-adb-annotations=true --output-combine=true && ls -lish models/out" -- travis_wait docker-compose run -v $MODELS:/models polisher sh -c "java -jar /ModelPolisher-2.1-beta.jar --input=/models/yeast_7.00.xml --output=/models/out/yeast_7.00.xml --annotate-with-bigg=true --add-adb-annotations=true --output-combine=true && ls -lish models/out" -- travis_wait docker-compose run -v $MODELS:/models polisher sh -c "java -jar /ModelPolisher-2.1-beta.jar --input=/models/RECON1.xml --output=/models/out/RECON1.xml --annotate-with-bigg=true --add-adb-annotations=true --output-combine=true && ls -lish models/out" -after_script: -- docker-compose down -git: - depth: 1 diff --git a/BuildSBMLFix.xml b/BuildSBMLFix.xml deleted file mode 100644 index ace7b3f8..00000000 --- a/BuildSBMLFix.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - -
- - - -
- - -
- - - - - - - - - - - -
-
-
\ No newline at end of file diff --git a/Notes for contributors.md b/Notes for contributors.md deleted file mode 100644 index 332e6cff..00000000 --- a/Notes for contributors.md +++ /dev/null @@ -1,16 +0,0 @@ -### Configuring SQLite DB - -Before running ModelPolisher for the first time from source or building with maven, please run configurSQLiteDB.sh, which is located in the scripts directory. \ -This will extract the provided db and create the Indices. Packing of the db into the jar is then done by Maven. \ -Zip and Python are required for this to work. - -### Converting DB - -If you want to convert your running instance of a PostgreSQL BiGGDB into a SQLite db usable with Modelpolisher, \ -run convertToSQLite.sh from the scripts folder. The finished bigg.sqlite db will be placed in resources/edu/ucsd/sbrg/bigg, \ -where ModelPolisher can find and use it. This will overwrite the db present at this location (from configureSQLiteDB.sh). \ -Python and sqlite3 are required for this to work. - -##### Caveats - -As the paths in those scripts are relative, they only work correctly if run from the scripts folder. diff --git a/README.md b/README.md index c7d4611b..5886c361 100644 --- a/README.md +++ b/README.md @@ -1,143 +1,111 @@ # ModelPolisher **Annotating Systems Biology Models** - + -*Authors:* [Andreas Dräger](https://github.com/draeger/), [Thomas J. Zajac](https://github.com/mephenor/), [Matthias König](https://github.com/matthiaskoenig), [Kaustubh Trivedi](https://github.com/codekaust) - -[![Build Status](https://travis-ci.org/draeger-lab/ModelPolisher.svg?branch=master?style=plastic)](https://travis-ci.org/draeger-lab/ModelPolisher) -[![Stable version](https://img.shields.io/badge/Stable_version-2.0-brightgreen.svg?style=plastic)](https://github.com/draeger-lab/ModelPolisher/releases/) +[![Stable version](https://img.shields.io/badge/Stable_version-2.1-brightgreen.svg?style=plastic)](https://github.com/draeger-lab/ModelPolisher/releases/) [![DOI](http://img.shields.io/badge/DOI-10.1371%20%2F%20journal.pone.0149263-blue.svg?style=plastic)](https://doi.org/10.1371/journal.pone.0149263) [![License (MIT)](https://img.shields.io/badge/license-MIT-blue.svg?style=plastic)](http://opensource.org/licenses/MIT) -ModelPolisher accesses the [BiGG Models knowledgebase](http://bigg.ucsd.edu) to annotate and autocomplete [SBML](http://sbml.org) models. -Thereby, the program mainly relies on [BiGG identifiers](https://github.com/SBRG/bigg_models/wiki/BiGG-Models-ID-Specification-and-Guidelines) for model components. -Moreover, it fixes some apparent errors in the models and uses mappings from [AnnotateDB](https://github.com/matthiaskoenig/annotatedb) to further add annotations. +ModelPolisher is a simple single-purpose automated curation tool for SBML models. -ModelPolisher is primarily a command-line based tool. You can run ModelPolisher locally [using `Docker`](#using-docker) or using your installation of BiGG Models database (see https://github.com/SBRG/bigg_models). +- improve the adherence to [FAIR]((https://doi.org/10.1038%2FSDATA.2016.18)) data standards as practiced in the SBML modelling community +- implement non-binding best practices as defined by the [SBML specification](https://sbml.org/documents/specifications/) documents +- add [MIRIAM]((https://doi.org/10.1038%2Fnbt1156))-style semantic annotations to models, using the [BiGG Models knowledgebase](http://bigg.ucsd.edu) and [AnnotateDB](https://github.com/matthiaskoenig/annotatedb) -Note: If you run into trouble with larger files, especially `_java.lang.OutOfMemoryError: GC overhead limit exceeded_`, please use the JVM `Xmx` flag (e.g., `java -Xmx4G -jar ModelPolisher-VERSION.jar` ). +You can find documentation on what ModelPolisher does in [our Wiki](https://github.com/draeger-lab/ModelPolisher/wiki). -# Table of Contents +Furthermore, it can, on a best effort basis, attempt to perform minimal fixes on a model to make it valid with regards to the [SBMLValidator](https://sbml.org/jsbml/files/doc/api/1.6.1/org/sbml/jsbml/validator/SBMLValidator.html). -* [How to cite ModelPolisher?](#cite-ModelPolisher) -* [How to build?](#build-instructions) -* [How to run ModelPolisher?](#run-ModelPolisher) - * [Using Docker](#using-docker) - * [Using ModelPolisher jar](#using-jar) -* [Licenses](#licenses) +Currently supported versions of the SBML standard are: -# How to cite ModelPolisher? +- Version 3 Level 1 + - FBC Version 2 -The online version of ModelPolisher is described in this article: http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0149263 +You can use ModelPolisher as a tool via its [Python API client](https://github.com/draeger-lab/MPClient) to our HTTP server, using Docker, or as a Standalone JAR. -The article ["BiGG Models: A platform for integrating, standardizing and sharing genome-scale models"](https://nar.oxfordjournals.org/content/44/D1/D515) describes BiGG Models knowledge-base including ModelPolisher. +ModelPolisher can also be used as a Java library, building on the [JSBML](https://sbml.org/software/jsbml/) project. -# How to build? +# Table of Contents -NOTE: You may run ModelPolisher, without building, using Docker (preferred). See [here](#using-docker). +* [Performance](#performance) +* [Using ModelPolisher as a Tool](#using-modelpolisher-as-a-tool) + * [Parameters](#parameters) + * [Using the Python API package](#using-the-python-api-client-package) + * [Using Docker](#using-docker) + * [Using ModelPolisher Jar](#using-modepolisher-jar) +* [Using ModelPolisher as a Java library](#using-modelpolisher-as-a-java-library) +* [How to cite ModelPolisher](#how-to-cite-ModelPolisher) +* [Licenses](#licenses) -ModelPolisher uses `gradle` to build. Make sure you have `gradle (version >= 5.0)` installed in your system before following the procedure below. +# Performance +An evaluation of running ModelPolisher on all models in the BiGG Database, on 3000 models available on Biomodels and on newly generated models using [CarveMe](https://github.com/cdanielmachado/carveme) with regards to [MEMOTE](https://memote.readthedocs.io/en/latest/) scores will be published shortly. -First clone this github project and go to directory `/ModelPolisher/`. Then, ModelPolisher can be built using Gradle. Gradle runs task `fatJar` by default which produces `jar` file, with dependencies, for ModelPolisher in `/ModelPolisher/target/` directory. So, in order to build ModelPolisher run any of following command under `ModelPolisher/` directory: +# Using ModelPolisher as a Tool +We recommend users to either use the [Python API client package](#using-the-python-api-client-package) or run ModelPolisher [using `docker`](#using-docker). -`gradle fatJar` or `gradle` -Additionally `gradle devel` is provided to easily run a non-release version with [Docker](#non-release). +However, ModelPolisher can also be run [from the ModelPolisher `Jar`](#using-jar). -NOTE: `fatJar` requires `postgresql` database(s) to be set-up to run ModelPolisher. +## Using the Python API client package +If you don't want to process large numbers of models and have an internet connection available, this is the recommended usage. -# How to run ModelPolisher? : Polish Models -We recommend users to run ModelPolisher [using `docker`](#using-docker), though ModelPolisher can be run [from ModelPolisher `jar`](#using-jar), which is preferred for developers. +ModelPolisher is hosted as an HTTP server at [biodata.informatik.uni-halle.de/modelling/polisher](https://biodata.informatik.uni-halle.de/modelling/polisher). -NOTE: ModelPolisher provides various command line options which can be seen using: -``` -java -jar /ModelPolisher/target/ModelPolisher-2.1-beta.jar -? -``` +We provide a [Python API client package](https://github.com/draeger-lab/MPClient) (available on PyPI) for interaction with the server. All documentation regarding usage of the API client can be found in that repository. -In the example commands below few options are taken by default. See list of mostly used options [here](https://github.com/draeger-lab/ModelPolisher/wiki/Command-Line-Arguments). +## Using ModelPolisher Locally +ModelPolisher can also be run locally. -## Using Docker -ModelPolisher can be run in docker containers. This allows user to skip the build process, and database setup required to run ModelPolisher. Please install `docker` and `docker-compose`, if not installed already. +If you want to process a large number of models, or you don't feel comfortable using the Python API client package, this is the recommendend usage. -Clone ModelPolisher and change directory to ModelPolisher/: -``` -git clone https://github.com/draeger-lab/ModelPolisher/ -cd /ModelPolisher -``` -Now, bring up docker containers required for ModelPolisher(NOTE: You must be in `ModelPolisher/` directory): -``` -docker-compose up -``` +### Parameters +Parameters can be passed via a [json file](app/examples/config.json) or as command line arguments. -We recommend using docker-compose in non-detached mode when building containers for first time. If you have previously built ModelPolisher containers use `docker-compose up --detach`. +See [the Wiki](https://github.com/draeger-lab/ModelPolisher/wiki/Parameters) for more information. -NOTE: Once database backend is set-up by `docker-compose`, the databases are also available at following ports for `localhost`: -- AnnotateDB: `1013` -- BiGGDB: `1310` +### Using Docker +ModelPolisher is provided as a Docker image. -On running these commands, databases will be restored in respective containers. After databases are successfully set up, use the following command (in `ModelPolisher/` directory) to run ModelPolisher: -``` -docker-compose run -v :/models/ polisher java -jar /ModelPolisher-2.1-beta.jar --input=/models/ --output=/models/output/ --annotate-with-bigg=true --add-adb-annotations=true --output-combine=true -``` +This repository contains a [`docker-compose.yml`](app/docker-compose.yml) which also sets up BiGG DB and AnnotateDB as Docker containers, to support the [annotation functionality](https://github.com/draeger-lab/ModelPolisher/wiki/Annotation). -Note: You must pass *absolute path for host directory*. This command will mount volume `` to `/models/` in container. Thus, outputs will be produced in directory `/output`. +For a single model file, you can use +``` shell +docker-compose run \ + -v :/models/ \ + -v :/config.json \ + polisher \ + --input=/models/ \ + --output=/models/output/ \ + --config-file /config.json +``` -User may use `-u ` with `docker-compose run` in above command to generate output with correct ownership. Preferably use uid (obtained by `id -u `) due to some existing bugs in docker. +Output will be produced in directory `/output`. -To bring down the containers, you can run `docker-compose stop`. This will only stop the containers but won't delete them. Otherwise, you can use `docker-compose down -v` to stop and remove all containers and related volumes. +### Using ModelPolisher Jar +You can run ModelPolisher using its `Jar `. +See [Releases](https://github.com/draeger-lab/ModelPolisher/releases/latest) for downloads of stable versions of standalone Jars and the [Parameters](https://github.com/draeger-lab/ModelPolisher/wiki/Parameters) Wiki page for documentation of the input parameters. -Note: `docker-compose down -v` will cause all databases to be restored again on running `docker-compose up`, as restored databases exist in containers not in images. +If the [annotation functionality](https://github.com/draeger-lab/ModelPolisher/wiki/Annotation) is required, users need to provide connections to the [BiGG](https://github.com/SBRG/bigg_models) Database and/or [AnnotateDB](https://github.com/matthiaskoenig/annotatedb) as `PostgreSQL` databases. -Using `docker` might cause system space to be filled up, and `docker-compose up` may fail due to insufficient space. Use the following commands if there is need to empty space used by ModelPolisher_docker: +This can be achieved like this: ``` -docker stop modelpolisher_biggdb modelpolisher_adb modelpolisher_java -docker rm modelpolisher_biggdb modelpolisher_adb modelpolisher_java -docker rmi modelpolisher_java:latest modelpolisher_adb:latest modelpolisher_biggdb:latest postgres:11.4 openjdk:11-slim -docker volume prune +java -jar "/ModelPolisher/target/ModelPolisher-2.1.jar" --config-file config.json ``` -#### Using a non-release jar with Docker +Note: ModelPolisher requires Java `version >= 17`. -Building using `gradle devel` builds a container with the local ModelPolisher jar. -This container can be used analogously to the release version, though either `-f docker-compose.devel.yml` needs to be -passed to each invocation of `docker-compose` or the `COMPOSE_FILE` environment variable needs to be set so it points -to `docker-compose.devel.yml`, e.g. using `export COMPOSE_FILE=docker-compose.devel.yml` for sh or bash. +# Using ModelPolisher as a Java library +ModelPolisher and some of its dependencies are currently hosted in a [Maven repository](https://biodata.informatik.uni-halle.de/maven/#/releases/edu/ucsd/sbrg/ModelPolisher) by the BioDatA working group of the University of Halle. We intend to move this to Maven Central in due time. -## Using ModelPolisher jar -For polishing models, you essentially need to run ModelPolisher using `jar` produced from [build instructions](#build-instructions). +You can see our [GitHub Pages](http://draeger-lab.github.io/ModelPolisher/) for its Javadocs. -User needs to host the [BiGG](https://github.com/SBRG/bigg_models) Database & [AnnotateDB](https://github.com/matthiaskoenig/annotatedb) on `PostgreSQL` on your local system. - -Now, you can run the following command in general: -``` -java -jar "/ModelPolisher/target/ModelPolisher-2.1-beta.jar" \ - --input= \ - --output= \ - --output-combine=true \ - --annotate-with-bigg=true \ - --bigg-host= \ - --bigg-port= \ - --bigg-dbname= \ - --bigg-user= \ - --bigg-passwd= \ - --add-adb-annotations=true \ - --adb-host= \ - --adb-port= \ - --adb-dbname= \ - --adb-user= \ - --adb-passwd= -``` +# How to cite ModelPolisher +The online version of ModelPolisher is described in this article: http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0149263 -We understand problems in setting-up database backend and that a developer would need to build ModelPolisher multiple times and making required changes in `java` Dockerfile will be a tedious task. -We recommend the following practice for developers: -1. Set up required databases by running `docker-compose up`. -2. After making required changes in codebase build `jar` by `gradle fatJar`. -3. Run the newly build jar using: -``` -java -jar ./target/ModelPolisher-2.1-beta.jar --input= --output= --output-combine=true --annotate-with-bigg=true --bigg-host=0.0.0.0 --bigg-port=1310 --add-adb-annotations=true --adb-host=0.0.0.0 --adb-port=1013 -``` -Note: All above commands must be run in `/ModelPolisher/` directory and you must have installed Java `version >= 8` and Gradle `version >= 5.0`. -# Licenses +The article ["BiGG Models: A platform for integrating, standardizing and sharing genome-scale models"](https://nar.oxfordjournals.org/content/44/D1/D515) describes BiGG Models knowledge-base including ModelPolisher. +# Licenses ModelPolisher is distributed under the MIT License (see LICENSE). -An Overview of all dependencies is provided in [THIRD-PARTY.txt](https://github.com/draeger-lab/ModelPolisher/blob/master/THIRD-PARTY.txt), their respective licenses can be found in the licenses folder. +An Overview of all dependencies is provided in [THIRD-PARTY.txt](https://github.com/draeger-lab/ModelPolisher/blob/master/THIRD-PARTY.txt), their respective licenses can be found in the [licenses](./licenses) folder. + + diff --git a/app/Dockerfile b/app/Dockerfile new file mode 100644 index 00000000..d27f4fe4 --- /dev/null +++ b/app/Dockerfile @@ -0,0 +1,13 @@ +FROM openjdk:17-slim + +# Set the maintainer email for the image +LABEL maintainer="dario.eltzner@student.uni-tuebingen.de" + +# Copy the ModelPolisher jar file into the root directory of the image +COPY ../target/ModelPolisher-2.1-STANDALONE.jar / + +# Set the container to run the ModelPolisher jar file as the default executable +ENTRYPOINT ["java", "-jar", "/ModelPolisher-2.1-STANDALONE.jar"] + +# Set the default command to display the help message of ModelPolisher +CMD ["--help"] diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 00000000..61d3ece0 --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,126 @@ +import com.github.jk1.license.filter.ExcludeTransitiveDependenciesFilter +import com.github.jk1.license.filter.LicenseBundleNormalizer + +plugins { + id 'com.github.jk1.dependency-license-report' version '2.0' + id "java" + id "application" + id "maven-publish" +} + +group = "de.uni-halle.informatik.biodata" +version = "2.1" + + +application { + mainClass.set('de.uni_halle.informatik.biodata.mp.ModelPolisherCLILauncher') +} + + +sourceSets { + main { + java { + srcDirs = ["src/main/java"] + } + resources { + srcDirs = ["src/main/resources"] + } + } +} + +dependencies { + implementation(libs.sysbio) + implementation(libs.jsbml) { + exclude group: "org.apache.logging.log4j", module: "log4j-core" + exclude group: "org.apache.logging.log4j", module: "log4j-slf4j-impl" + exclude group: "org.apache.commons", module: "logging" + } + + implementation(libs.biojavaOntology) { + exclude group: "org.apache.logging.log4j", module: "log4j-core" + exclude group: "org.apache.logging.log4j", module: "log4j-slf4j-impl" + } + + implementation(libs.jacksonDatabinding) + + implementation(libs.commonsIO) + implementation(libs.commonsLang) + + implementation(libs.slf4j) + implementation(libs.julToSlf4j) + implementation(libs.jclOverSlf4j) + implementation(libs.log4jOverSlf4j) + implementation(libs.osgiOverSlf4j) + + implementation(libs.logback) + + implementation project(':lib') +} + +// config for all jar tasks +tasks.withType(Jar).configureEach { + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + destinationDirectory = file("$rootDir/target") + manifest { + attributes("Version": project.version, + "Implementation-Title": "ModelPolisher", + "Implementation-Version": project.version, + "Specification-Vendor": "Martin-Luther-Universität Halle-Wittenberg, BioDatA Arbeitsgruppe", + "Specification-Title": "ModelPolisher", + "Implementation-Vendor-Id": "de.uni-halle.informatik.biodata", + "Implementation-Vendor": "Martin-Luther-Universität Halle-Wittenberg, BioDatA Arbeitsgruppe", + "Main-Class": "de.uni_halle.informatik.biodata.mp.ModelPolisherCLILauncher") + } + + into("META-INF/maven/${project.group}/${rootProject.name}") { + from { generatePomFileForModelPolisherStandalonePublication } + rename { it.replace('pom-default.xml', 'pom.xml') } + } + + archiveFileName = "${rootProject.name}-${project.version}-STANDALONE.jar" + + from sourceSets.main.output + + dependsOn configurations.runtimeClasspath + from { + configurations.runtimeClasspath.findAll { it.name.endsWith('jar') }.collect { zipTree(it) } + } +} + + +publishing { + publications { + modelPolisherStandalone(MavenPublication) { + from components.java + + artifactId = 'ModelPolisher' + version = "2.1-STANDALONE" + } + } + // https://reposilite.com/guide/gradle + repositories { + maven { + name = "reposilite" + url = "https://biodata.informatik.uni-halle.de/maven/releases" + credentials(PasswordCredentials) + authentication { + basic(BasicAuthentication) + } + } + } +} + + +licenseReport { + filters = [new LicenseBundleNormalizer(), + new ExcludeTransitiveDependenciesFilter()] +} + +tasks.withType(Javadoc).configureEach { + enabled = false +} + +clean.doFirst { + file(".gradle").deleteDir() + file("target").deleteDir() +} diff --git a/app/development/docker-compose.databases.yml b/app/development/docker-compose.databases.yml new file mode 100644 index 00000000..2a8ed464 --- /dev/null +++ b/app/development/docker-compose.databases.yml @@ -0,0 +1,44 @@ +networks: + modelpolisher: + +volumes: + pgadmin-data: + +configs: + pgadmin-server-config: + file: pgadmin-servers.json + +services: + + biggdb: + image: schmirgel/bigg_db:1.6 + container_name: modelpolisher_pgadmin_biggdb + networks: + - modelpolisher + + adb: + image: schmirgel/annotatedb:0.1.1 + container_name: modelpolisher_pgadmin_adb + networks: + - modelpolisher + + pgadmin: + image: dpage/pgadmin4 + container_name: modelpolisher_pgadmin + depends_on: + - biggdb + - adb + environment: + DEFAULT_SERVER_PORT: 80 + PGADMIN_DEFAULT_EMAIL: admin@example.com + PGADMIN_DEFAULT_PASSWORD: admin + PGADMIN_SERVER_JSON_FILE: /pgadmin4/servers.json + volumes: + - pgadmin-data:/var/lib/pgadmin + configs: + - source: pgadmin-server-config + target: /pgadmin4/servers.json + ports: + - "127.0.0.1:5050:80" + networks: + - modelpolisher diff --git a/app/development/docker-compose.local-jar.yml b/app/development/docker-compose.local-jar.yml new file mode 100644 index 00000000..7940287a --- /dev/null +++ b/app/development/docker-compose.local-jar.yml @@ -0,0 +1,22 @@ +services: + + biggdb: + image: schmirgel/bigg_db:1.6 + container_name: modelpolisher_biggdb + ports: + - 127.0.0.1:1310:5432 + + adb: + image: schmirgel/annotatedb:0.1.1 + container_name: modelpolisher_adb + ports: + - 127.0.0.1:1013:5432 + + polisher: + build: ../Dockerfile + container_name: modelpolisher_java + depends_on: + - biggdb + - adb + stdin_open: true + tty: true diff --git a/app/development/pgadmin-servers.json b/app/development/pgadmin-servers.json new file mode 100644 index 00000000..fd65712a --- /dev/null +++ b/app/development/pgadmin-servers.json @@ -0,0 +1,22 @@ +{ + "Servers": { + "1": { + "Name": "BiGG DB", + "Group": "Servers", + "Port": 5432, + "Username": "postgres", + "Host": "modelpolisher_pgadmin_biggdb", + "SSLMode": "prefer", + "MaintenanceDB": "postgres" + }, + "2": { + "Name": "Annotate DB", + "Group": "Servers", + "Host": "modelpolisher_pgadmin_adb", + "Port": 5432, + "MaintenanceDB": "postgres", + "Username": "postgres", + "SSLMode": "prefer" + } + } +} \ No newline at end of file diff --git a/app/docker-compose.yml b/app/docker-compose.yml new file mode 100644 index 00000000..ed06e3f0 --- /dev/null +++ b/app/docker-compose.yml @@ -0,0 +1,30 @@ +services: + + biggdb: + image: schmirgel/bigg_db:1.6 + hostname: bigg + ports: + - "127.0.0.1:1001:5432" + + adb: + image: schmirgel/annotatedb:0.1.1 + hostname: adb + ports: + - "127.0.0.1:1002:5432" + + + validator: + restart: unless-stopped + # port 8000 + image: schmirgel/sbmlvalidator:1.0.0 + hostname: sbmlvalidator + ports: + - "127.0.0.1:8000:8000" + configs: + - source: validator-server-config + target: /app/gunicorn.conf.py + + +configs: + validator-server-config: + file: validator-server-config.py diff --git a/app/examples/compose-config.json b/app/examples/compose-config.json new file mode 100644 index 00000000..31eb13f4 --- /dev/null +++ b/app/examples/compose-config.json @@ -0,0 +1,53 @@ +{ + "input": "/input-dir", + "output": "/output-dir", + "output-type": "xml", + + "fixing": { + "dont-fix": false, + "fix-flux-objectives": { + "flux-coefficients": [], + "flux-objectives": [] + } + }, + + "polishing": { + "polish-even-if-model-invalid": false + }, + + "annotation": { + "bigg": { + "annotate-with-bigg": true, + "include-any-uri": true, + "document-title-pattern": "[biggId] - [organism]", + "notes": { + "no-model-notes": true, + "model-notes-file": null, + "document-notes-file": null + }, + "db-config": { + "db-name": "bigg", + "host": "bigg", + "password": "postgres", + "user": "postgres", + "port": 5432 + } + }, + "annotatedb": { + "annotate-with-adb": true, + "db-config": { + "db-name": "adb", + "host": "adb", + "password": "postgres", + "user": "postgres", + "port": 5432 + } + } + }, + + "sbo-terms": { + "add-generic-terms": false + }, + + "sbml-validation": false +} diff --git a/app/examples/config.json b/app/examples/config.json new file mode 100644 index 00000000..f82a4273 --- /dev/null +++ b/app/examples/config.json @@ -0,0 +1,53 @@ +{ + "input": "examples/input", + "output": "examples/output", + "output-type": "xml", + + "fixing": { + "dont-fix": false, + "fix-flux-objectives": { + "flux-coefficients": [], + "flux-objectives": [] + } + }, + + "polishing": { + "polish-even-if-model-invalid": false + }, + + "annotation": { + "bigg": { + "annotate-with-bigg": true, + "include-any-uri": true, + "document-title-pattern": "[biggId] - [organism]", + "notes": { + "no-model-notes": true, + "model-notes-file": null, + "document-notes-file": null + }, + "db-config": { + "db-name": "bigg", + "host": "localhost", + "password": "postgres", + "user": "postgres", + "port": 1310 + } + }, + "annotatedb": { + "annotate-with-adb": true, + "db-config": { + "db-name": "adb", + "host": "localhost", + "password": "postgres", + "user": "postgres", + "port": 1013 + } + } + }, + + "sbo-terms": { + "add-generic-terms": false + }, + + "sbml-validation": false +} diff --git a/app/src/main/java/de/uni_halle/informatik/biodata/mp/CommandLineIOOptions.java b/app/src/main/java/de/uni_halle/informatik/biodata/mp/CommandLineIOOptions.java new file mode 100644 index 00000000..56d321f6 --- /dev/null +++ b/app/src/main/java/de/uni_halle/informatik/biodata/mp/CommandLineIOOptions.java @@ -0,0 +1,54 @@ +/* + * + */ +package de.uni_halle.informatik.biodata.mp; + +import de.zbit.io.filefilter.MultipleFileFilter; +import de.zbit.io.filefilter.SBFileFilter; +import de.zbit.util.ResourceManager; +import de.zbit.util.prefs.KeyProvider; +import de.zbit.util.prefs.Option; +import de.zbit.util.prefs.Range; +import de.uni_halle.informatik.biodata.mp.io.IOOptions; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; + +import java.io.File; +import java.util.ResourceBundle; + +/** + * @author Andreas Dräger + */ +public interface CommandLineIOOptions extends IOOptions { + + /** + * Bundle for ModelPolisher logger messages + */ + ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.CLI_MESSAGES); + + /** + * Specifies the SBML or MAT input file. If a directory is given, the + * conversion + * will be recursively performed. MAT files will be converted to SBML prior to + * polishing. + */ + Option INPUT = new Option<>("INPUT", File.class, "Input SBML file", + new Range<>(File.class, + new MultipleFileFilter(MESSAGES.getString("INPUT_FILE_DESCRIPTION"), + SBFileFilter.createSBMLFileFilter(), + SBFileFilter.createMATFileFilter(), + SBFileFilter.createJSONFileFilter(), + SBFileFilter.createDirectoryFilter()))); + + /** + * The path to the file into which the output should be written. If the + * input is a directory, this must also be a directory in order to perform a + * recursive conversion. + */ + Option OUTPUT = new Option<>("OUTPUT", File.class, MESSAGES.getString("OUTPUT_FILE_DESCRIPTION"), + new Range<>(File.class, + new MultipleFileFilter("SBML", + SBFileFilter.createSBMLFileFilter(), + SBFileFilter.createDirectoryFilter()))); + + +} diff --git a/app/src/main/java/de/uni_halle/informatik/biodata/mp/CommandLineParameters.java b/app/src/main/java/de/uni_halle/informatik/biodata/mp/CommandLineParameters.java new file mode 100644 index 00000000..a1a7fd0e --- /dev/null +++ b/app/src/main/java/de/uni_halle/informatik/biodata/mp/CommandLineParameters.java @@ -0,0 +1,48 @@ +package de.uni_halle.informatik.biodata.mp; + +import com.fasterxml.jackson.annotation.JsonProperty; +import de.zbit.util.ResourceManager; +import de.zbit.util.prefs.SBProperties; +import de.uni_halle.informatik.biodata.mp.CommandLineIOOptions; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import de.uni_halle.informatik.biodata.mp.parameters.Parameters; + +import java.io.File; +import java.util.*; + +public class CommandLineParameters extends Parameters { + + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.CLI_MESSAGES); + + @JsonProperty("input") + private File input; + @JsonProperty("output") + private File output; + + public CommandLineParameters() {} + + public CommandLineParameters(SBProperties args) throws IllegalArgumentException { + super(args); + String inPath = args.getProperty(CommandLineIOOptions.INPUT); + if (inPath == null) { + throw new IllegalArgumentException(MESSAGES.getString("PARAM_INPUT_MISSING")); + } + + String outPath = args.getProperty(CommandLineIOOptions.OUTPUT); + if (outPath == null) { + throw new IllegalArgumentException(MESSAGES.getString("PARAM_OUTPUT_MISSING")); + } + output = new File(outPath); + input = new File(inPath); + } + + public File input() { + return input; + } + + public File output() { + return output; + } + + +} diff --git a/app/src/main/java/de/uni_halle/informatik/biodata/mp/CommandLineParametersParser.java b/app/src/main/java/de/uni_halle/informatik/biodata/mp/CommandLineParametersParser.java new file mode 100644 index 00000000..c52910f5 --- /dev/null +++ b/app/src/main/java/de/uni_halle/informatik/biodata/mp/CommandLineParametersParser.java @@ -0,0 +1,22 @@ +package de.uni_halle.informatik.biodata.mp; + + +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; + +import java.io.File; +import java.io.IOException; + +public class CommandLineParametersParser { + + + public CommandLineParameters parseCLIParameters(File parametersJson) throws IOException { + + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + + return mapper.readValue(parametersJson, CommandLineParameters.class); + } + + +} diff --git a/app/src/main/java/de/uni_halle/informatik/biodata/mp/ConfigOptions.java b/app/src/main/java/de/uni_halle/informatik/biodata/mp/ConfigOptions.java new file mode 100644 index 00000000..ee015550 --- /dev/null +++ b/app/src/main/java/de/uni_halle/informatik/biodata/mp/ConfigOptions.java @@ -0,0 +1,11 @@ +package de.uni_halle.informatik.biodata.mp; + +import de.zbit.util.prefs.KeyProvider; +import de.zbit.util.prefs.Option; + +import java.io.File; + +public interface ConfigOptions extends KeyProvider { + + Option CONFIG = new Option<>("CONFIG_FILE", File.class, "Config file."); +} diff --git a/src/main/java/edu/ucsd/sbrg/eco/ECOparser.java b/app/src/main/java/de/uni_halle/informatik/biodata/mp/ECOParserCLILauncher.java similarity index 76% rename from src/main/java/edu/ucsd/sbrg/eco/ECOparser.java rename to app/src/main/java/de/uni_halle/informatik/biodata/mp/ECOParserCLILauncher.java index a92b6f0c..e4b1dc61 100644 --- a/src/main/java/edu/ucsd/sbrg/eco/ECOparser.java +++ b/app/src/main/java/de/uni_halle/informatik/biodata/mp/ECOParserCLILauncher.java @@ -1,4 +1,4 @@ -package edu.ucsd.sbrg.eco; +package de.uni_halle.informatik.biodata.mp; import java.io.BufferedReader; import java.io.IOException; @@ -7,15 +7,19 @@ import java.text.ParseException; import java.util.Set; +import de.uni_halle.informatik.biodata.mp.eco.DAG; +import de.uni_halle.informatik.biodata.mp.eco.Node; import org.biojava.nbio.ontology.Ontology; import org.biojava.nbio.ontology.Term; import org.biojava.nbio.ontology.Triple; import org.biojava.nbio.ontology.io.OboParser; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; -public class ECOparser { +public class ECOParserCLILauncher { private static Ontology ontology; - private static DAG ontologyDAG; + private static final Logger logger = LoggerFactory.getLogger(ECOParserCLILauncher.class); /** * @see Issue 5 @@ -27,8 +31,8 @@ enum ConfidenceScoreTerm { PHYSIOLOGICAL("ECO:0005551", 3), MODELING("0000001", 4); - private String ECOTerm; - private int confidenceScore; + private final String ECOTerm; + private final int confidenceScore; ConfidenceScoreTerm(String ECOTerm, int confidenceScore) { @@ -58,8 +62,8 @@ public static String getECOTermFromScore(int confidenceScore) { } - public static void main(String[] args) { - ECOparser.parseECO(); + public static void main(String[] args) throws IOException, ParseException { + ECOParserCLILauncher.parseECO(); } @@ -83,18 +87,16 @@ public static int getConfidenceScoreForTerm(String query) { } - public static void parseECO() { + public static void parseECO() throws IOException, ParseException { String ecoName = "Evidence and Conclusion Ontology"; String ecoDesc = "TODO"; OboParser parser = new OboParser(); - try (InputStream inputStream = ECOparser.class.getResourceAsStream("eco.obo"); - BufferedReader oboReader = new BufferedReader(new InputStreamReader(inputStream))) { + try (InputStream inputStream = ECOParserCLILauncher.class.getResourceAsStream("eco.obo"); + BufferedReader oboReader = new BufferedReader(new InputStreamReader(inputStream))) { ontology = parser.parseOBO(oboReader, ecoName, ecoDesc); Term rootTerm = ontology.getTerm("ECO:0000000"); - ontologyDAG = new DAG(rootTerm); + DAG ontologyDAG = new DAG(rootTerm); traverse(ontologyDAG.getRoot()); - } catch (IOException | ParseException e) { - e.printStackTrace(); } } @@ -106,8 +108,7 @@ public static String getResourceURL(String term) { /** * Traverse top-down from root and build the DAG - * - * @param node + * */ private static void traverse(Node node) { Set triples = ontology.getTriples(null, node.getTerm(), null); diff --git a/app/src/main/java/de/uni_halle/informatik/biodata/mp/ModelPolisherCLILauncher.java b/app/src/main/java/de/uni_halle/informatik/biodata/mp/ModelPolisherCLILauncher.java new file mode 100644 index 00000000..776449cd --- /dev/null +++ b/app/src/main/java/de/uni_halle/informatik/biodata/mp/ModelPolisherCLILauncher.java @@ -0,0 +1,533 @@ +package de.uni_halle.informatik.biodata.mp; + +import static java.text.MessageFormat.format; + +import java.awt.*; +import java.io.*; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import java.sql.SQLException; +import java.text.MessageFormat; +import java.util.*; +import java.util.List; +import java.util.concurrent.TimeUnit; + +import de.zbit.util.prefs.SBProperties; +import de.uni_halle.informatik.biodata.mp.annotation.AnnotationException; +import de.uni_halle.informatik.biodata.mp.annotation.AnnotationOptions; +import de.uni_halle.informatik.biodata.mp.annotation.adb.ADBSBMLAnnotator; +import de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGSBMLAnnotator; +import de.uni_halle.informatik.biodata.mp.fixing.FixingOptions; +import de.uni_halle.informatik.biodata.mp.fixing.SBMLFixer; +import de.uni_halle.informatik.biodata.mp.io.*; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDB; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB; +import de.uni_halle.informatik.biodata.mp.parameters.GeneralOptions; +import de.uni_halle.informatik.biodata.mp.parameters.ParametersException; +import de.uni_halle.informatik.biodata.mp.polishing.PolishingOptions; +import de.uni_halle.informatik.biodata.mp.polishing.SBMLPolisher; +import de.uni_halle.informatik.biodata.mp.reporting.PolisherProgressBar; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressFinalization; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressInitialization; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg; +import de.uni_halle.informatik.biodata.mp.validation.ModelValidator; +import de.uni_halle.informatik.biodata.mp.validation.ModelValidatorException; +import org.apache.commons.io.FileUtils; +import org.apache.commons.lang3.tuple.Pair; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.SBMLDocument; + +import de.zbit.AppConf; +import de.zbit.Launcher; +import de.zbit.util.ResourceManager; +import de.zbit.util.prefs.KeyProvider; +import de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBOptions; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBOptions; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.sbml.jsbml.ext.fbc.FBCModelPlugin; +import org.sbml.jsbml.xml.parsers.ParserManager; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The ModelPolisher class is the entry point of this application. + * It extends the Launcher class and provides functionality to polish SBML models. + * It handles command-line arguments to configure the polishing process, manages file input and output, + * and integrates various utilities for processing SBML, JSON, and MatLab files. The class supports + * operations such as reading, validating, and writing SBML documents, converting JSON and MatLab files + * to SBML, and annotating models with data from BiGG. + *

+ * The main functionalities include: + * - Command-line argument parsing and processing. + * - Batch processing of files and directories for model polishing. + * - File type detection and appropriate handling of SBML, JSON, and MatLab files. + * - HTML tag correction in SBML files. + * - SBML document validation and conversion. + * - Annotation of models using external databases. + * - Output management including file writing, COMBINE archive creation, and outputType. + *

+ * This class also handles error logging and provides detailed logging of the processing steps. + * + * @author Andreas Dräger + */ +public class ModelPolisherCLILauncher extends Launcher { + + private static final ResourceBundle baseBundle = ResourceManager.getBundle(BundleNames.BASE_MESSAGES); + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.CLI_MESSAGES); + private static final Logger logger = LoggerFactory.getLogger(ModelPolisherCLILauncher.class); + + private CommandLineParameters parameters; + private Registry registry; + + /** + * Entry point + * + * @param args + * Commandline arguments passed, use help flag to obtain usage information + */ + public static void main(String[] args) { + // Workaround for docker container + String home = System.getenv("HOME"); + // / should only be home if system user has no corresponding home folder + if ("/".equals(home)) { + System.setProperty("java.util.prefs.systemRoot", ".java"); + System.setProperty("java.util.prefs.userRoot", ".java/.userPrefs"); + System.setProperty("slf4j.internal.verbosity", "WARN"); + + } + new ModelPolisherCLILauncher(args); + } + + + /** + * Initializes super class with Commandline arguments, which are converted into {@link AppConf} and passed to + * {@link ModelPolisherCLILauncher#commandLineMode(AppConf)}, which runs the rest of the program + * + * @param args + * Commandline arguments + */ + public ModelPolisherCLILauncher(String... args) { + super(args); + } + + + /** + * @param appConf + * from super class initialization, holds commandline arguments + * @see de.zbit.Launcher#commandLineMode(de.zbit.AppConf) + */ + @Override + public void commandLineMode(AppConf appConf) { + SBProperties args = appConf.getCmdArgs(); + + if (args.containsKey(ConfigOptions.CONFIG)) { + try { + parameters = new CommandLineParametersParser().parseCLIParameters(new File(args.getProperty(ConfigOptions.CONFIG))); + } catch (IOException e) { + logger.error("Could not read config file: {}", e.getMessage()); + System.exit(1); + } + } else { + parameters = new CommandLineParameters(args); + } + + registry = new IdentifiersOrg(); + + try { + validateIOParameters(); + + if (parameters.annotation().biggAnnotationParameters().annotateWithBiGG()) { + BiGGDB.init(parameters.annotation().biggAnnotationParameters().dbParameters()); + } + + if (parameters.annotation().adbAnnotationParameters().annotateWithAdb()) { + AnnotateDB.init(parameters.annotation().adbAnnotationParameters().dbParameters()); + } + + // Multi-file mode + if (parameters.input().isDirectory()) { + logger.info("Multi-file mode for directory {}.", parameters.input()); + + // DO NOT REMOVE - this is initializing the class, because it turned out to be not threadsafe, + // and it is used by the SBMLReader + ParserManager.getManager(); + + var inputFiles = FileUtils.listFiles(parameters.input(), + new String[]{"xml", "sbml", "json", "mat"}, true); + logger.info("Processing input files: {}", inputFiles.toString()); + + List> inputOutputPairs = new ArrayList<>(); + + for (var input : inputFiles) { + inputOutputPairs.add(Pair.of(input, SBMLFileUtils.getOutputFileName(input, parameters.output()))); + } + + logger.debug(inputOutputPairs.toString()); + + inputOutputPairs.parallelStream().forEach(pair -> { + try { + processFile(pair.getLeft(), pair.getRight()); + } catch (ModelReaderException e) { + logger.info(MessageFormat.format("Skipping unreadable file \"{0}\".", pair.getLeft())); + } catch (SQLException | ModelWriterException | ModelValidatorException | AnnotationException e) { + throw new RuntimeException(e); + } + }); + + // Single-file mode + } else { + logger.info("Single-file mode."); + long startTime = System.currentTimeMillis(); + + processFile(parameters.input(), parameters.output()); + + // Log the time taken to process the file + long timeTaken = TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis() - startTime); + logger.info(String.format(MESSAGES.getString("FINISHED_TIME"), (timeTaken / 60), (timeTaken % 60))); + } + + } catch (ModelValidatorException | ModelWriterException | + AnnotationException e) { + // TODO: produce some user-friendly output and log to a file that can be provided for trouble-shooting + throw new RuntimeException(e); + } catch (SQLException e) { + logger.error("There was an error while connecting to the database: {}", e.getMessage()); + System.exit(1); + } catch (ModelReaderException e) { + logger.error("There was an error while reading the model: {}", e.getMessage()); + System.exit(1); + } catch (ParametersException e) { + logger.error("The parameters you have entered are invalid: {}", e.getMessage()); + System.exit(1); + } + } + + private void validateIOParameters() throws ParametersException { + var input = parameters.input(); + var output = parameters.output(); + + // Check if the input exists, throw an exception if it does not + if (!input.exists()) { + throw new ParametersException(format(MESSAGES.getString("READ_FILE_ERROR"), input), parameters); + } + + // Ensure the output directory or file's parent directory exists + SBMLFileUtils.checkCreateOutDir(output); + + // If the input is a directory but the output is not, exit with error + if (input.isDirectory() && !output.isDirectory()) { + throw new ParametersException(format(MESSAGES.getString("WRITE_DIR_TO_FILE_ERROR"), + input.getAbsolutePath(), + output.getAbsolutePath()), + parameters); + } + + // If the output is a directory but the input is not, exit with error + if (output.isDirectory() && !input.isDirectory()) { + throw new ParametersException(format("Output \"{0}\" is a directory, but Input \"{1}\" is not", + output.getAbsolutePath(), + input.getAbsolutePath()), + parameters); + } + + } + + + private void processFile(File input, File output) throws ModelReaderException, ModelWriterException, ModelValidatorException, AnnotationException, SQLException { + SBMLDocument doc = new ModelReader(parameters.sboParameters(), registry).read(input); + + Model model = doc.getModel(); + int count = getPolishingTaskCount(model); + + + + if (!parameters.fixing().dontFix()) { + // TODO: das sollte sich durch JSBML UpdateListener ersetzen lassen + List fixingObservers = List.of(new PolisherProgressBar()); + for (var o : fixingObservers) { + o.initialize(new ProgressInitialization(count)); + } + + new SBMLFixer(parameters.fixing(), fixingObservers).fix(doc, 0); + + for (var o : fixingObservers) { + o.finish(new ProgressFinalization("Fixing Done.")); + } + } + + // TODO: das sollte sich durch JSBML UpdateListener ersetzen lassen + List polishingObservers = List.of(new PolisherProgressBar()); + for (var o : polishingObservers) { + o.initialize(new ProgressInitialization(count)); + } + + // TODO: dispatch abhängig von level und version + new SBMLPolisher( + parameters.polishing(), + parameters.sboParameters(), + registry, polishingObservers).polish(doc); + + for (var o : polishingObservers) { + o.finish(new ProgressFinalization("Polishing Done.")); + } + + if (parameters.annotation().biggAnnotationParameters().annotateWithBiGG() + || parameters.annotation().adbAnnotationParameters().annotateWithAdb()) { + + // TODO: das sollte sich durch JSBML UpdateListener ersetzen lassen + List annotationObservers = List.of(new PolisherProgressBar()); + int annotationTaskCount = getAnnotationTaskCount(model); + for (var o : annotationObservers) { + o.initialize(new ProgressInitialization(annotationTaskCount)); + } + + // TODO: dispatch abhängig von level und version + if (parameters.annotation().biggAnnotationParameters().annotateWithBiGG()) { + new BiGGSBMLAnnotator(new BiGGDB(), parameters.annotation().biggAnnotationParameters(), parameters.sboParameters(), + registry, annotationObservers).annotate(doc); + } + + // TODO: dispatch abhängig von level und version + if (parameters.annotation().adbAnnotationParameters().annotateWithAdb()) { + new ADBSBMLAnnotator(new AnnotateDB(), parameters.annotation().adbAnnotationParameters()).annotate(doc); + } + + for (var o : annotationObservers) { + o.finish(new ProgressFinalization("Annotation Done.")); + } + } + + + output = new ModelWriter(parameters.outputType()).write(doc, output); + + // TODO: das ist keine anständige Validierung! + if (parameters.sbmlValidation()) { + var mv = new ModelValidator(); + // use offline validation + mv.validate(output); + } + } + + private int getPolishingTaskCount(Model model) { + // Calculate the total number of tasks to initialize the progress bar. + int count = 1 // Account for model properties + // + model.getUnitDefinitionCount() + // TODO: see UnitPolisher TODO for why UnitDefinitionCount is replaced by 1 + + 1 + + model.getCompartmentCount() + + model.getParameterCount() + + model.getReactionCount() + + model.getSpeciesCount() + + model.getInitialAssignmentCount(); + + // Include tasks from FBC plugin if present. + if (model.isSetPlugin(FBCConstants.shortLabel)) { + FBCModelPlugin fbcModelPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + count += fbcModelPlug.getObjectiveCount() + fbcModelPlug.getGeneProductCount(); + } + return count; + } + + private int getAnnotationTaskCount(Model model) { + int annotationTaskCount = model.getCompartmentCount() + model.getSpeciesCount() + model.getReactionCount() + 50; + if (model.isSetPlugin(FBCConstants.shortLabel)) { + FBCModelPlugin fbcModelPlugin = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + annotationTaskCount += fbcModelPlugin.getGeneProductCount(); + } + return annotationTaskCount; + } + + + /* + * (non-Javadoc) + * @see de.zbit.Launcher#getCitation(boolean) + */ + @Override + public String getCitation(boolean HTMLstyle) { + if (HTMLstyle) { + return MESSAGES.getString("CITATION_HTML"); + } + return MESSAGES.getString("CITATION"); + } + + + /* + * (non-Javadoc) + * @see de.zbit.Launcher#getCmdLineOptions() + */ + @Override + public List> getCmdLineOptions() { + List> options = new LinkedList<>(); + options.add(AnnotateDBOptions.class); + options.add(BiGGDBOptions.class); + options.add(GeneralOptions.class); + options.add(AnnotationOptions.class); + options.add(PolishingOptions.class); + options.add(FixingOptions.class); + options.add(CommandLineIOOptions.class); + options.add(ConfigOptions.class); + return options; + } + + + /* + * (non-Javadoc) + * @see de.zbit.Launcher#getInstitute() + */ + @Override + public String getInstitute() { + return baseBundle.getString("INSTITUTE"); + } + + + /* + * (non-Javadoc) + * @see de.zbit.Launcher#getInteractiveOptions() + */ + @Override + public List> getInteractiveOptions() { + List> options = new LinkedList<>(); + options.add(BiGGDBOptions.class); + options.add(AnnotateDBOptions.class); + options.add(GeneralOptions.class); + return options; + } + + + /* + * (non-Javadoc) + * @see de.zbit.Launcher#getLogPackages() + */ + @Override + public String[] getLogPackages() { + return new String[] {"edu.ucsd", "de.zbit"}; + } + + + /* + * (non-Javadoc) + * @see de.zbit.Launcher#getOrganization() + */ + @Override + public String getOrganization() { + return baseBundle.getString("ORGANIZATION"); + } + + + /* + * (non-Javadoc) + * @see de.zbit.Launcher#getProvider() + */ + @Override + public String getProvider() { + return baseBundle.getString("PROVIDER"); + } + + + /* + * (non-Javadoc) + * @see de.zbit.Launcher#getURLlicenseFile() + */ + @Override + public URL getURLlicenseFile() { + try { + return new URI(baseBundle.getString("LICENSE")).toURL(); + } catch (MalformedURLException | URISyntaxException exc) { + return null; + } + } + + + /* + * (non-Javadoc) + * @see de.zbit.Launcher#getURLOnlineUpdate() + */ + @Override + public URL getURLOnlineUpdate() { + return null; + } + + + /* + * (non-Javadoc) + * @see de.zbit.Launcher#getVersionNumber() + */ + @Override + public String getVersionNumber() { + String version = getClass().getPackage().getImplementationVersion(); + return version == null ? "?" : version; + } + + + /* + * (non-Javadoc) + * @see de.zbit.Launcher#getYearOfProgramRelease() + */ + @Override + public short getYearOfProgramRelease() { + try { + return Short.parseShort(baseBundle.getString("YEAR")); + } catch (NumberFormatException exc) { + return (short) Calendar.getInstance().get(Calendar.YEAR); + } + } + + + /* + * (non-Javadoc) + * @see de.zbit.Launcher#getYearWhenProjectWasStarted() + */ + @Override + public short getYearWhenProjectWasStarted() { + try { + return Short.parseShort(baseBundle.getString("INCEPTION_YEAR")); + } catch (Throwable t) { + return (short) 2014; + } + } + + + /* + * This method is inherited from the base class and is not utilized in this CLI application. + * The ModelPolisher application does not implement a graphical user interface. + * + * @return Always returns false as no GUI is created. + * @see de.zbit.Launcher#addCopyrightToSplashScreen() + */ + @Override + protected boolean addCopyrightToSplashScreen() { + return false; + } + + + /* + * This method is inherited from the base class and is not utilized in this CLI application. + * The ModelPolisher application does not implement a graphical user interface. + * + * @return Always returns false as no GUI is created. + * @see de.zbit.Launcher#addVersionNumberToSplashScreen() + */ + @Override + protected boolean addVersionNumberToSplashScreen() { + return false; + } + + + /** + * This method is inherited from the base class and is not utilized in this CLI application. + * The ModelPolisher application does not implement a graphical user interface. + * + * @param appConf The application configuration settings, not used in this context. + * @return Always returns null as no GUI is created. + * @see de.zbit.Launcher#initGUI(de.zbit.AppConf) + */ + @Override + public Window initGUI(AppConf appConf) { + return null; + } +} diff --git a/app/src/main/resources/logback.xml b/app/src/main/resources/logback.xml new file mode 100644 index 00000000..d22daf8f --- /dev/null +++ b/app/src/main/resources/logback.xml @@ -0,0 +1,20 @@ + + + + + + %d [%thread] %X{run.id} %-5level %logger{36} - %msg%n + + + + + + + + + + + + + + diff --git a/app/validator-server-config.py b/app/validator-server-config.py new file mode 100644 index 00000000..779826d8 --- /dev/null +++ b/app/validator-server-config.py @@ -0,0 +1,5 @@ +import multiprocessing + +loglevel = 'info' +bind = "0.0.0.0:8000" +workers = multiprocessing.cpu_count() * 2 + 1 diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 4aa131d6..00000000 --- a/build.gradle +++ /dev/null @@ -1,181 +0,0 @@ -plugins { - id "java" - id "application" - id 'com.github.jk1.dependency-license-report' version '2.0' -} - -// Java versions for compilation and output -java { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 -} - -defaultTasks "clean", "fatJar" -archivesBaseName = "ModelPolisher" -mainClassName = "ModelPolisher" -version = "2.1-beta" - -sourceSets { - main { - java { - srcDirs = ["src/main/java"] - } - resources { - srcDirs = ["src/main/resources"] - } - } - test { - java { - srcDirs = ["src/test/java"] - } - } -} - -test { - useJUnitPlatform() - testLogging { - events "passed", "skipped", "failed" - } -} - -repositories { - mavenCentral() - maven { url "https://oss.sonatype.org/content/repositories/snapshots" } - // local dependencies - flatDir { - dirs "lib/de/zbit/SysBio/1390" - } -} - -dependencies { - implementation "org.sbml.jsbml:jsbml:1.4" - implementation "de.zbit:SysBio:1390" - implementation "org.postgresql:postgresql:42.2.13" - implementation "org.biojava:biojava-ontology:5.0.0" - implementation 'us.hebi.matlab.mat:mfl-core:0.5.3' - implementation "com.fasterxml.jackson.core:jackson-core:2.14.1" - implementation "com.fasterxml.jackson.core:jackson-databind:2.14.1" - implementation "net.sf.jtidy:jtidy:r938" - implementation "de.uni-rostock.sbi:CombineArchive:1.4.0" - implementation "com.zaxxer:HikariCP:3.4.2" - testImplementation "org.junit.jupiter:junit-jupiter-api:5.5.2" - testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.5.2" -} - -test { - testLogging { - showStandardStreams = true - } -} - -// get latest version of MIRIAM registry -task downloadMIRIAM() { - doFirst { - String registry = new URL("https://registry.api.identifiers.org/resolutionApi/getResolverDataset").getText() - File parentDir = new File("src/main/resources/edu/ucsd/sbrg/miriam/"); - if (!parentDir.exists()) { - mkdir(parentDir) - } - File registryFile = new File(parentDir.toString() + "/IdentifiersOrg-Registry.json") - BufferedWriter writer = new BufferedWriter(new FileWriter(registryFile)) - writer.write(registry) - writer.close() - } - processResources.dependsOn downloadMIRIAM -} - -// config for all jar tasks -tasks.withType(Jar) { - dependsOn test - destinationDirectory = file("$rootDir/target") - manifest { - attributes( - "Version": project.version, - "Implementation-Title": "ModelPolisher", - "Implementation-Version": project.version, - "Specification-Vendor": "University of California, San Diego", - "Specification-Title": "ModelPolisher", - "Implementation-Vendor-Id": "edu.ucsd.sbrg", - "Implementation-Vendor": "University of California, San Diego", - "Main-Class": "edu.ucsd.sbrg.bigg.ModelPolisher" - ) - } -} - -//with dependencies -task fatJar(type: Jar) { - duplicatesStrategy = DuplicatesStrategy.EXCLUDE - - from sourceSets.main.output - dependsOn configurations.runtimeClasspath - from { - configurations.runtimeClasspath.findAll { it.name.endsWith('jar') }.collect { zipTree(it) } - } -} - -//build docker container -task devel(type: Exec) { - commandLine "sh", "-c", "cp target/ModelPolisher-" + project.version + ".jar docker/java_docker && " + - "export COMPOSE_FILE=docker-compose.devel.yml && " + - "docker-compose pull && " + - "docker-compose build && " + - "rm docker/java_docker/ModelPolisher-" + project.version + ".jar" - dependsOn fatJar -} - -// zip lib folder for release -task zipLibs(type: Zip) { - from "lib" - into "lib" - include "**/**" - archiveFileName = "lib.zip" - destinationDirectory = file("target/") -} - -// zip script files for release -task zipScripts(type: Zip) { - from "src/scripts" - into "scripts" - include "**/**" - archiveFileName = "scripts.zip" - destinationDirectory = file("target/") -} - -// create lightJar for release -task release() { - dependsOn fatJar - dependsOn tasks["zipLibs"] - dependsOn tasks["zipScripts"] -} - -// clean up target directory -clean.doFirst { - file(".gradle").deleteDir() - file("target").deleteDir() -} - -// bump jar version in ModelPolisher.sh -if (project.file( "src/scripts/ModelPolisher.sh").exists()) { - task bumpVersionMP() { - replaceVersion(rootProject.projectDir.toString() + "/docker/java_docker/Dockerfile") - replaceVersion(rootProject.projectDir.toString() + "/.travis.yml") - replaceVersion(rootProject.projectDir.toString() + "/README.md") - replaceVersion(rootProject.projectDir.toString() + "/src/scripts/ModelPolisher.sh") - } - processResources.dependsOn bumpVersionMP -} - -def replaceVersion(path) { - ArrayList content = new ArrayList<>() - File travisFile = new File(path) - String MPVersion = /ModelPolisher-(.*?)\d{1,2}(.\d{1,2}){1,2}.jar/ - travisFile.eachLine { - line -> - content.add(line.replaceAll(MPVersion, "ModelPolisher-" + "${version}.jar")) - } - BufferedWriter writer = new BufferedWriter(new FileWriter(travisFile)) - content.each { - line -> writer.writeLine(line) - } - writer.close() -} diff --git a/dev/SBML_Project_Java_style.xml b/dev/SBML_Project_Java_style.xml deleted file mode 100644 index aa81e20f..00000000 --- a/dev/SBML_Project_Java_style.xml +++ /dev/null @@ -1,315 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/usage.txt b/dev/usage.txt deleted file mode 100644 index 4d2193a9..00000000 --- a/dev/usage.txt +++ /dev/null @@ -1,2 +0,0 @@ -The supplied style file is a modified version of the one found in the JSBML dev folder. -This version is adjusted to work with the "Eclipse Code Formatter" plugin for IntelliJ IDEA. diff --git a/doc/img/FlowDiagram.graphml b/doc/img/FlowDiagram.graphml deleted file mode 100644 index 1e666751..00000000 --- a/doc/img/FlowDiagram.graphml +++ /dev/null @@ -1,567 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - MAT - - - - - - - - - - - - - - - - - - - - JSON - - - - - - - - - - - - - - - - - - - - SBML - - - - - - - - - - - - - - - - - - - - Start - - - - - - - - - - - - - - - - - - - - COBRA -Parser - - - - - - - - - - - - - - - - - - - - - - - - - - - - JSBML - - - - - - - - - - - - - - - - - - - - JSON -Parser - - - - - - - - - - - - - - - - - - - - - - - - - - - - SBML -Reader - - - - - - - - - - - - - - - - - - - - - - - - - - - - SBML - - - - - - - - - - - - - - - - - - - - - BiGG - - - - - - - - - - - - - - - - - - - - Annotate? - - - - - - - - - - - - - - - - - - - - Stop - - - - - - - - - - - - - - - - - - - - XHTML -template - - - - - - - - - - - - - - - - - Auto -Complete - - - - - - - - - - - - - - - - - - - - Annotate - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - no - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - yes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/img/FlowDiagram.pdf b/doc/img/FlowDiagram.pdf deleted file mode 100644 index 8d729c37..00000000 Binary files a/doc/img/FlowDiagram.pdf and /dev/null differ diff --git a/docker-compose.devel.yml b/docker-compose.devel.yml deleted file mode 100644 index 24876758..00000000 --- a/docker-compose.devel.yml +++ /dev/null @@ -1,24 +0,0 @@ -# ------------------------------------------------ -# docker-compose for ModelPolisher development -# run gradle devel first and then docker-compose -f docker-compose.devel.yml run ... or export COMPOSE_FILE and run normally -# ------------------------------------------------ -version: '3' -services: - biggdb: - image: mephenor/bigg_docker:1.6 - container_name: modelpolisher_biggdb - ports: - - 1310:5432 - adb: - image: mephenor/adb_docker:0.1.1 - container_name: modelpolisher_adb - ports: - - 1013:5432 - polisher: - build: ./docker/java_docker - container_name: modelpolisher_java - depends_on: - - biggdb - - adb - stdin_open: true - tty: true diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 0131f539..00000000 --- a/docker-compose.yml +++ /dev/null @@ -1,24 +0,0 @@ -# ------------------------------------------------ -# docker-compose for ModelPolisher release version -# update docker hub images for new releases and change image accordingly -# ------------------------------------------------ -version: '3' -services: - biggdb: - image: mephenor/bigg_docker:1.6 - container_name: modelpolisher_biggdb - ports: - - 1310:5432 - adb: - image: mephenor/adb_docker:0.1.1 - container_name: modelpolisher_adb - ports: - - 1013:5432 - polisher: - image: mephenor/modelpolisher:2.1-beta - depends_on: - - biggdb - - adb - container_name: modelpolisher_java - stdin_open: true - tty: true diff --git a/docker/adb_docker/Dockerfile b/docker/adb_docker/Dockerfile deleted file mode 100644 index e93c19ce..00000000 --- a/docker/adb_docker/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM postgres:11.4 -MAINTAINER ktrivedi@cs.iitr.ac.in - -RUN adduser --disabled-password --gecos '' adb - -RUN apt-get update && \ - apt-get install curl -y && \ - # Create directory '/adb_dump/' and download adb-v0.1.1 dump as 'adb-v0.1.1.dump' - mkdir /adb_dump && \ - curl -Lo /adb_dump/adb-v0.1.1.dump https://www.dropbox.com/s/qjiey8y88gt4h0l/adb-v0.1.1.dump?dl=0 && \ - rm -rf /var/lib/apt/lists/* - -COPY ./scripts/restore_adb.sh /docker-entrypoint-initdb.d/restore_adb.sh - -EXPOSE 5432 diff --git a/docker/adb_docker/scripts/restore_adb.sh b/docker/adb_docker/scripts/restore_adb.sh deleted file mode 100644 index 1adc70f6..00000000 --- a/docker/adb_docker/scripts/restore_adb.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -psql -c "DROP DATABASE IF EXISTS adb"; -psql -c "CREATE DATABASE adb"; -psql -c "CREATE USER adb with ENCRYPTED PASSWORD 'adb'"; -psql -c "GRANT ALL PRIVILEGES ON DATABASE adb TO adb"; -bash -c "pg_restore -d adb -U adb --verbose /adb_dump/adb-v0.1.1.dump"; - diff --git a/docker/bigg_docker/Dockerfile b/docker/bigg_docker/Dockerfile deleted file mode 100644 index ba6e02b0..00000000 --- a/docker/bigg_docker/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM postgres:9.6.2 -MAINTAINER zajac.thomas1992@gmail.com - -RUN apt-get update && \ - apt-get install curl -y && \ - # Create directory '/bigg_database_dump/' and download bigg_database dump as 'database.dump' - mkdir /bigg_database_dump && \ - curl -Lo /bigg_database_dump/database.dump https://www.dropbox.com/sh/ye05djxrpxy37da/AAB-rhgcEv9p8gcMpkYuowu8a/v1.6/database.dump?dl=0 && \ - rm -rf /var/lib/apt/lists/* - -COPY ./scripts/restore_biggdb.sh /docker-entrypoint-initdb.d/restore_biggdb.sh - -EXPOSE 5432 diff --git a/docker/bigg_docker/scripts/restore_biggdb.sh b/docker/bigg_docker/scripts/restore_biggdb.sh deleted file mode 100644 index 46f40aa6..00000000 --- a/docker/bigg_docker/scripts/restore_biggdb.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -psql -c 'DROP DATABASE IF EXISTS bigg' -psql -c 'CREATE DATABASE bigg' -bash -c 'pg_restore -O -d bigg --verbose /bigg_database_dump/bigg_database.dump' \ No newline at end of file diff --git a/docker/java_docker/Dockerfile b/docker/java_docker/Dockerfile deleted file mode 100644 index 7b0c87ad..00000000 --- a/docker/java_docker/Dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM openjdk:11-slim -MAINTAINER zajac.thomas1992@gmail.com - -RUN mkdir -p /.java/.systemPrefs && mkdir /.java/.userPrefs && chmod -R 755 /.java -COPY ModelPolisher-2.1-beta.jar / -CMD "/bin/sh" diff --git a/docs/allclasses-index.html b/docs/allclasses-index.html new file mode 100644 index 00000000..d15fbf08 --- /dev/null +++ b/docs/allclasses-index.html @@ -0,0 +1,410 @@ + + + + +All Classes and Interfaces (lib 2.1 API) + + + + + + + + + + + + + +

JavaScript is disabled on your browser.
+ +
+ +
+
+
+

All Classes and Interfaces

+
+
+
+
+
+
Class
+
Description
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
This interface provides options for connecting to the ADB database.
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
This class is responsible for annotating a specific compartment within an SBML model using data from the BiGG database.
+
+
BiGGCVTermAnnotator<T extends org.sbml.jsbml.SBase>
+
+
Abstract class providing a framework for annotating SBML elements with Controlled Vocabulary (CV) Terms.
+
+ +
+
This class provides a connection to the BiGG database.
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
Provides functionality to annotate gene products in an SBML model using data from the BiGG database.
+
+ +
 
+ +
+
Represents a BiGG identifier used to uniquely identify various biological entities + such as reactions, metabolites, and genes within the BiGG database.
+
+ +
+
This class is responsible for annotating an SBML Model with relevant metadata and references.
+
+ +
 
+ +
 
+ +
+
This class provides functionality to annotate a reaction in an SBML model using BiGG database identifiers.
+
+ +
+
This class is responsible for annotating SBML models using data from the BiGG database.
+
+ +
+
This class provides functionality to annotate a species in an SBML model using BiGG database identifiers.
+
+ +
 
+ +
 
+ +
+
The CombineArchive class provides functionality to create a COMBINE archive from an SBML document.
+
+ +
 
+ +
+
This class is responsible for polishing the properties of a compartment in an SBML model to ensure + compliance with standards and completeness.
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
A collection of helpful functions for dealing with SBML data structures.
+
+
IAnnotateSBases<SBMLElement extends org.sbml.jsbml.SBase>
+
 
+ +
+
The IdentifiersOrg class serves as a central hub for managing and processing identifiers related to the MIRIAM registry.
+
+ +
+
The IdentifiersOrgRegistryParser class is a singleton that provides functionality to parse the MIRIAM registry + from a JSON file and convert it into a Miriam object.
+
+ +
 
+ +
 
+
IFixSBases<SBMLElement extends org.sbml.jsbml.SBase>
+
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+
IPolishSBases<SBMLElement extends org.sbml.jsbml.SBase>
+
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
For more information about COBRA model fields, see the following + Supplementary + Material.
+
+ +
 
+ +
+
This class provides functionality to polish an SBML (Systems Biology Markup Language) document.
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
Defines an enumeration for regex patterns that are used to categorize reactions based on their ID strings.
+
+ +
 
+ +
+
This class provides methods to polish and validate SBML reactions according to specific rules and patterns.
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
Possible FileTypes of input file
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
From ...:
+
+ +
+
This class is responsible for ensuring that all necessary UnitDefinitions and Units are correctly + defined and present in the SBML model.
+
+ +
+
The UpdateListener class implements the TreeNodeChangeListener to monitor and respond to changes + within an SBML model's structure.
+
+
+
+
+
+
+
+ + diff --git a/docs/allpackages-index.html b/docs/allpackages-index.html new file mode 100644 index 00000000..bc0b0939 --- /dev/null +++ b/docs/allpackages-index.html @@ -0,0 +1,115 @@ + + + + +All Packages (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

All Packages

+
+
Package Summary
+ +
+
+
+ + diff --git a/docs/constant-values.html b/docs/constant-values.html new file mode 100644 index 00000000..31da2cbd --- /dev/null +++ b/docs/constant-values.html @@ -0,0 +1,221 @@ + + + + +Constant Field Values (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Constant Field Values

+
+

Contents

+ +
+
+
+

de.uni_halle.*

+ +
    +
  • +
    de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc.BiGGGeneProductAnnotator
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    public static final String
    + +
    "^(G_)?([a-zA-Z][a-zA-Z0-9_]+)(?:_([a-z][a-z0-9]?))?(?:_([A-Z][A-Z0-9]?))?$"
    +
    +
  • +
+ + +
    +
  • +
    de.uni_halle.informatik.biodata.mp.io.CombineArchive
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    public static final String
    + +
    "https://identifiers.org/combine.specifications/sbml"
    +
    public static final String
    + +
    "https://purl.org/NET/mediatypes/application/rdf+xml"
    +
    +
  • +
+
    +
  • +
    de.uni_halle.informatik.biodata.mp.logging.BundleNames
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    public static final String
    + +
    "de.uni_halle.informatik.biodata.mp.annotation.Messages"
    +
    public static final String
    + +
    "de.uni_halle.informatik.biodata.mp.Messages"
    +
    public static final String
    + +
    "de.uni_halle.informatik.biodata.mp.annotation.bigg.Messages"
    +
    public static final String
    + +
    "de.uni_halle.informatik.biodata.mp.cli.Messages"
    +
    public static final String
    + +
    "de.uni_halle.informatik.biodata.mp.db.Messages"
    +
    public static final String
    + +
    "de.uni_halle.informatik.biodata.mp.fixing.Messages"
    +
    public static final String
    + +
    "de.uni_halle.informatik.biodata.mp.io.Messages"
    +
    public static final String
    + +
    "de.uni_halle.informatik.biodata.mp.polishing.Messages"
    +
    +
  • +
+
    +
  • +
    de.uni_halle.informatik.biodata.mp.polishing.UnitPolisher
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    public static final String
    + +
    "mmol_per_gDW_per_hr"
    +
    public static final String
    + +
    "Millimoles per gram (dry weight) per hour"
    +
    +
  • +
+
    +
  • +
    de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    public static final String
    + +
    "(https?://)?(www\\.)?identifiers\\.org/(?<prefix>.*?)/(?<id>.*)"
    +
    +
  • +
+
    +
  • +
    de.uni_halle.informatik.biodata.mp.util.ext.groups.GroupsUtils
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    public static final String
    + +
    "SUBSYSTEM_LINK"
    +
    +
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/AbstractAnnotator.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/AbstractAnnotator.html new file mode 100644 index 00000000..edefb208 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/AbstractAnnotator.html @@ -0,0 +1,206 @@ + + + + +AbstractAnnotator (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AbstractAnnotator

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.annotation.AbstractAnnotator
+
+
+
+
All Implemented Interfaces:
+
IReportDiffs, IReportStatus
+
+
+
Direct Known Subclasses:
+
AbstractBiGGAnnotator
+
+
+
public abstract class AbstractAnnotator +extends Object +implements IReportStatus, IReportDiffs
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      AbstractAnnotator

      +
      public AbstractAnnotator()
      +
      +
    • +
    • +
      +

      AbstractAnnotator

      +
      public AbstractAnnotator(List<ProgressObserver> observers)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/AnnotationException.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/AnnotationException.html new file mode 100644 index 00000000..7ee7055c --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/AnnotationException.html @@ -0,0 +1,151 @@ + + + + +AnnotationException (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AnnotationException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
de.uni_halle.informatik.biodata.mp.annotation.AnnotationException
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
Direct Known Subclasses:
+
BiGGAnnotationException
+
+
+
public class AnnotationException +extends Exception
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      AnnotationException

      +
      public AnnotationException(String msg, + Exception e)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/AnnotationOptions.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/AnnotationOptions.html new file mode 100644 index 00000000..8fc5338b --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/AnnotationOptions.html @@ -0,0 +1,231 @@ + + + + +AnnotationOptions (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface AnnotationOptions

+
+
+
+
All Superinterfaces:
+
de.zbit.util.prefs.KeyProvider
+
+
+
public interface AnnotationOptions +extends de.zbit.util.prefs.KeyProvider
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from interface de.zbit.util.prefs.KeyProvider

    +de.zbit.util.prefs.KeyProvider.Entry<T extends Object>, de.zbit.util.prefs.KeyProvider.Tools
    +
    +
  • + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final de.zbit.util.prefs.Option<Boolean>
    + +
    +
    If set to true, annotations will be added to species and reactions from AnnotateDB also.
    +
    +
    static final de.zbit.util.prefs.Option<Boolean>
    + +
    +
    If set to true, the model will be annotated with data from BiGG Models + database.
    +
    +
    static final de.zbit.util.prefs.Option<File>
    + +
    +
    This XHTML file defines alternative document notes and makes them + exchangeable.
    +
    +
    static final de.zbit.util.prefs.Option<String>
    + +
    +
    This option allows you to define the title of the SBML document's + description and hence the headline when the file is displayed in a web + browser.
    +
    +
    static final de.zbit.util.prefs.Option<Boolean>
    + +
    +
    This switch allows users to specify if also those database cross-links + should be extracted from BiGG Models database for which currently no entry + in the MIRIAM exists.
    +
    +
    static final ResourceBundle
    + +
     
    +
    static final de.zbit.util.prefs.Option<File>
    + +
    +
    This XHTML file defines alternative model notes and makes them + exchangeable.
    +
    +
    static final de.zbit.util.prefs.Option<Boolean>
    + +
    +
    If set to true, no web content will be inserted in the SBML container nor + into the model within the SBML file.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      MESSAGES

      +
      static final ResourceBundle MESSAGES
      +
      +
    • +
    • +
      +

      ADD_ADB_ANNOTATIONS

      +
      static final de.zbit.util.prefs.Option<Boolean> ADD_ADB_ANNOTATIONS
      +
      If set to true, annotations will be added to species and reactions from AnnotateDB also.
      +
      +
    • +
    • +
      +

      ANNOTATE_WITH_BIGG

      +
      static final de.zbit.util.prefs.Option<Boolean> ANNOTATE_WITH_BIGG
      +
      If set to true, the model will be annotated with data from BiGG Models + database. If set to false, the resulting model will not receive annotation + or correction from BiGG Models database
      +
      +
    • +
    • +
      +

      MODEL_NOTES_FILE

      +
      static final de.zbit.util.prefs.Option<File> MODEL_NOTES_FILE
      +
      This XHTML file defines alternative model notes and makes them + exchangeable.
      +
      +
    • +
    • +
      +

      NO_MODEL_NOTES

      +
      static final de.zbit.util.prefs.Option<Boolean> NO_MODEL_NOTES
      +
      If set to true, no web content will be inserted in the SBML container nor + into the model within the SBML file.
      +
      +
    • +
    • +
      +

      INCLUDE_ANY_URI

      +
      static final de.zbit.util.prefs.Option<Boolean> INCLUDE_ANY_URI
      +
      This switch allows users to specify if also those database cross-links + should be extracted from BiGG Models database for which currently no entry + in the MIRIAM exists. If set to true, ModelPolisher also includes URIs that + do not contain the pattern identifiers.org.
      +
      +
    • +
    • +
      +

      DOCUMENT_NOTES_FILE

      +
      static final de.zbit.util.prefs.Option<File> DOCUMENT_NOTES_FILE
      +
      This XHTML file defines alternative document notes and makes them + exchangeable.
      +
      +
    • +
    • +
      +

      DOCUMENT_TITLE_PATTERN

      +
      static final de.zbit.util.prefs.Option<String> DOCUMENT_TITLE_PATTERN
      +
      This option allows you to define the title of the SBML document's + description and hence the headline when the file is displayed in a web + browser.
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/AnnotationsSorter.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/AnnotationsSorter.html new file mode 100644 index 00000000..88f0ebe6 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/AnnotationsSorter.html @@ -0,0 +1,168 @@ + + + + +AnnotationsSorter (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AnnotationsSorter

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.annotation.AnnotationsSorter
+
+
+
+
public class AnnotationsSorter +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      AnnotationsSorter

      +
      public AnnotationsSorter()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      groupAndSortAnnotations

      +
      public void groupAndSortAnnotations(org.sbml.jsbml.SBase sbase)
      +
      Recursively goes through all annotations in the given SBase and + alphabetically sort annotations after grouping them by CVTerm.Qualifier.
      +
      +
      Parameters:
      +
      sbase - : + SBase to start the merging process at, corresponding to an instance of SBMLDocument here, + though also used to pass current SBase during recursion
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/IAnnotateSBases.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/IAnnotateSBases.html new file mode 100644 index 00000000..f7383c82 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/IAnnotateSBases.html @@ -0,0 +1,150 @@ + + + + +IAnnotateSBases (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface IAnnotateSBases<SBMLElement extends org.sbml.jsbml.SBase>

+
+
+
+
All Known Implementing Classes:
+
ADBReactionsAnnotator, ADBSBMLAnnotator, ADBSpeciesAnnotator, BiGGCompartmentsAnnotator, BiGGFBCAnnotator, BiGGFBCSpeciesAnnotator, BiGGGeneProductAnnotator, BiGGModelAnnotator, BiGGPublicationsAnnotator, BiGGReactionsAnnotator, BiGGSBMLAnnotator, BiGGSpeciesAnnotator
+
+
+
public interface IAnnotateSBases<SBMLElement extends org.sbml.jsbml.SBase>
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    default void
    +
    annotate(List<SBMLElement> elementsToAnnotate)
    +
     
    +
    void
    +
    annotate(SBMLElement elementToAnnotate)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/IProcessNotes.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/IProcessNotes.html new file mode 100644 index 00000000..4cbd3517 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/IProcessNotes.html @@ -0,0 +1,78 @@ + + + + +IProcessNotes (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface IProcessNotes

+
+
+
+
public interface IProcessNotes
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBReactionsAnnotator.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBReactionsAnnotator.html new file mode 100644 index 00000000..a1deaf86 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBReactionsAnnotator.html @@ -0,0 +1,201 @@ + + + + +ADBReactionsAnnotator (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ADBReactionsAnnotator

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.annotation.adb.AbstractADBAnnotator +
de.uni_halle.informatik.biodata.mp.annotation.adb.ADBReactionsAnnotator
+
+
+
+
+
All Implemented Interfaces:
+
IAnnotateSBases<org.sbml.jsbml.Reaction>
+
+
+
public class ADBReactionsAnnotator +extends AbstractADBAnnotator +implements IAnnotateSBases<org.sbml.jsbml.Reaction>
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBSBMLAnnotator.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBSBMLAnnotator.html new file mode 100644 index 00000000..495d77a0 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBSBMLAnnotator.html @@ -0,0 +1,188 @@ + + + + +ADBSBMLAnnotator (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ADBSBMLAnnotator

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.annotation.adb.AbstractADBAnnotator +
de.uni_halle.informatik.biodata.mp.annotation.adb.ADBSBMLAnnotator
+
+
+
+
+
All Implemented Interfaces:
+
IAnnotateSBases<org.sbml.jsbml.SBMLDocument>
+
+
+
public class ADBSBMLAnnotator +extends AbstractADBAnnotator +implements IAnnotateSBases<org.sbml.jsbml.SBMLDocument>
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBSpeciesAnnotator.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBSpeciesAnnotator.html new file mode 100644 index 00000000..013a66e0 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBSpeciesAnnotator.html @@ -0,0 +1,201 @@ + + + + +ADBSpeciesAnnotator (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ADBSpeciesAnnotator

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.annotation.adb.AbstractADBAnnotator +
de.uni_halle.informatik.biodata.mp.annotation.adb.ADBSpeciesAnnotator
+
+
+
+
+
All Implemented Interfaces:
+
IAnnotateSBases<org.sbml.jsbml.Species>
+
+
+
public class ADBSpeciesAnnotator +extends AbstractADBAnnotator +implements IAnnotateSBases<org.sbml.jsbml.Species>
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/adb/AbstractADBAnnotator.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/adb/AbstractADBAnnotator.html new file mode 100644 index 00000000..55e8818a --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/adb/AbstractADBAnnotator.html @@ -0,0 +1,210 @@ + + + + +AbstractADBAnnotator (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AbstractADBAnnotator

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.annotation.adb.AbstractADBAnnotator
+
+
+
+
Direct Known Subclasses:
+
ADBReactionsAnnotator, ADBSBMLAnnotator, ADBSpeciesAnnotator
+
+
+
public abstract class AbstractADBAnnotator +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    + +
    +
  • + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      addBQB_IS_AnnotationsFromADB

      +
      protected void addBQB_IS_AnnotationsFromADB(org.sbml.jsbml.Annotation annotation, + String type, + BiGGId biggId) + throws SQLException
      +
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/adb/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/adb/package-summary.html new file mode 100644 index 00000000..0d9fd7f5 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/adb/package-summary.html @@ -0,0 +1,100 @@ + + + + +de.uni_halle.informatik.biodata.mp.annotation.adb (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.annotation.adb

+
+
+
package de.uni_halle.informatik.biodata.mp.annotation.adb
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/adb/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/adb/package-tree.html new file mode 100644 index 00000000..e2e69c7c --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/adb/package-tree.html @@ -0,0 +1,76 @@ + + + + +de.uni_halle.informatik.biodata.mp.annotation.adb Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.annotation.adb

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/AbstractBiGGAnnotator.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/AbstractBiGGAnnotator.html new file mode 100644 index 00000000..a395c04c --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/AbstractBiGGAnnotator.html @@ -0,0 +1,254 @@ + + + + +AbstractBiGGAnnotator (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AbstractBiGGAnnotator

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.annotation.AbstractAnnotator +
de.uni_halle.informatik.biodata.mp.annotation.bigg.AbstractBiGGAnnotator
+
+
+
+
+
All Implemented Interfaces:
+
IReportDiffs, IReportStatus
+
+
+
Direct Known Subclasses:
+
BiGGCompartmentsAnnotator, BiGGCVTermAnnotator, BiGGFBCAnnotator, BiGGFBCSpeciesAnnotator, BiGGModelAnnotator, BiGGPublicationsAnnotator, BiGGSBMLAnnotator
+
+
+
public abstract class AbstractBiGGAnnotator +extends AbstractAnnotator
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGAnnotationException.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGAnnotationException.html new file mode 100644 index 00000000..42e518c6 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGAnnotationException.html @@ -0,0 +1,182 @@ + + + + +BiGGAnnotationException (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BiGGAnnotationException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
de.uni_halle.informatik.biodata.mp.annotation.AnnotationException +
de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGAnnotationException
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class BiGGAnnotationException +extends AnnotationException
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BiGGAnnotationException

      +
      public BiGGAnnotationException(String msg, + Exception e, + Object o)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      data

      +
      public Object data()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGCVTermAnnotator.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGCVTermAnnotator.html new file mode 100644 index 00000000..934079d8 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGCVTermAnnotator.html @@ -0,0 +1,217 @@ + + + + +BiGGCVTermAnnotator (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BiGGCVTermAnnotator<T extends org.sbml.jsbml.SBase>

+
+ +
+
+
All Implemented Interfaces:
+
IReportDiffs, IReportStatus
+
+
+
Direct Known Subclasses:
+
BiGGGeneProductAnnotator, BiGGReactionsAnnotator, BiGGSpeciesAnnotator
+
+
+
public abstract class BiGGCVTermAnnotator<T extends org.sbml.jsbml.SBase> +extends AbstractBiGGAnnotator
+
Abstract class providing a framework for annotating SBML elements with Controlled Vocabulary (CV) Terms. + This class defines the basic structure and operations for adding annotations to SBML elements based on BiGG IDs. + It includes methods to check the validity of BiGG IDs, add annotations to SBML elements, and specifically handle + annotations for Species and Reactions using data from BiGG and other databases.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      findBiGGId

      +
      protected abstract BiGGId findBiGGId(T element) + throws SQLException
      +
      Abstract method to check the validity of a BiGG ID. Implementations should return an Optional containing + the BiGG ID if it is valid, or an empty Optional if not.
      +
      +
      Returns:
      +
      Optional containing the valid BiGG ID or empty if the ID is invalid.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGCompartmentsAnnotator.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGCompartmentsAnnotator.html new file mode 100644 index 00000000..5ced7faa --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGCompartmentsAnnotator.html @@ -0,0 +1,230 @@ + + + + +BiGGCompartmentsAnnotator (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BiGGCompartmentsAnnotator

+
+ +
+
+
All Implemented Interfaces:
+
IAnnotateSBases<org.sbml.jsbml.Compartment>, IReportDiffs, IReportStatus
+
+
+
public class BiGGCompartmentsAnnotator +extends AbstractBiGGAnnotator +implements IAnnotateSBases<org.sbml.jsbml.Compartment>
+
This class is responsible for annotating a specific compartment within an SBML model using data from the BiGG database. + It allows for the addition of both BiGG and SBO annotations to a compartment, and can also set the compartment's name + based on information retrieved from the BiGG database.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      annotate

      +
      public void annotate(List<org.sbml.jsbml.Compartment> compartments) + throws SQLException
      +
      +
      Specified by:
      +
      annotate in interface IAnnotateSBases<org.sbml.jsbml.Compartment>
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      annotate

      +
      public void annotate(org.sbml.jsbml.Compartment compartment) + throws SQLException
      +
      Annotates the compartment with BiGG and SBO terms. If the compartment's name is not set or is set to "default", + it updates the name based on the BiGG database. This method only processes compartments that are recognized + within the BiGG Knowledgebase.
      +
      +
      Specified by:
      +
      annotate in interface IAnnotateSBases<org.sbml.jsbml.Compartment>
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGDocumentNotesProcessor.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGDocumentNotesProcessor.html new file mode 100644 index 00000000..0a1bd169 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGDocumentNotesProcessor.html @@ -0,0 +1,166 @@ + + + + +BiGGDocumentNotesProcessor (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BiGGDocumentNotesProcessor

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGDocumentNotesProcessor
+
+
+
+
public class BiGGDocumentNotesProcessor +extends Object
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGModelAnnotator.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGModelAnnotator.html new file mode 100644 index 00000000..007b7456 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGModelAnnotator.html @@ -0,0 +1,271 @@ + + + + +BiGGModelAnnotator (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BiGGModelAnnotator

+
+ +
+
+
All Implemented Interfaces:
+
IAnnotateSBases<org.sbml.jsbml.Model>, IReportDiffs, IReportStatus
+
+
+
public class BiGGModelAnnotator +extends AbstractBiGGAnnotator +implements IAnnotateSBases<org.sbml.jsbml.Model>
+
This class is responsible for annotating an SBML Model with relevant metadata and references. + It handles the annotation of the model itself and delegates the annotation of contained elements such as + Compartment, Species, Reaction, and GeneProduct. + The annotations can include taxonomy information, database references, and meta identifiers.
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      REF_SEQ_ACCESSION_NUMBER_PATTERN

      +
      public static final String REF_SEQ_ACCESSION_NUMBER_PATTERN
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      GENOME_ASSEMBLY_ID_PATTERN

      +
      public static final String GENOME_ASSEMBLY_ID_PATTERN
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      annotate

      +
      public void annotate(org.sbml.jsbml.Model model) + throws SQLException
      +
      Annotates the Model with relevant metadata and delegates the annotation of contained elements such as + Compartment, Species, Reaction, and GeneProduct. +

      + Steps: + 1. Retrieves the model's ID and uses it to fetch and add a taxonomy annotation if available. + 2. Checks if the model exists in the database and adds specific BiGG database annotations. + 3. Sets the model's MetaId to its ID if MetaId is not already set and the model has at least one CVTerm.

      +
      +
      Specified by:
      +
      annotate in interface IAnnotateSBases<org.sbml.jsbml.Model>
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGPublicationsAnnotator.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGPublicationsAnnotator.html new file mode 100644 index 00000000..1064ac22 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGPublicationsAnnotator.html @@ -0,0 +1,197 @@ + + + + +BiGGPublicationsAnnotator (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BiGGPublicationsAnnotator

+
+ +
+
+
All Implemented Interfaces:
+
IAnnotateSBases<org.sbml.jsbml.Model>, IReportDiffs, IReportStatus
+
+
+
public class BiGGPublicationsAnnotator +extends AbstractBiGGAnnotator +implements IAnnotateSBases<org.sbml.jsbml.Model>
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGReactionsAnnotator.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGReactionsAnnotator.html new file mode 100644 index 00000000..3eab01ad --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGReactionsAnnotator.html @@ -0,0 +1,343 @@ + + + + +BiGGReactionsAnnotator (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BiGGReactionsAnnotator

+
+ +
+
+
All Implemented Interfaces:
+
IAnnotateSBases<org.sbml.jsbml.Reaction>, IReportDiffs, IReportStatus
+
+
+
public class BiGGReactionsAnnotator +extends BiGGCVTermAnnotator<org.sbml.jsbml.Reaction> +implements IAnnotateSBases<org.sbml.jsbml.Reaction>
+
This class provides functionality to annotate a reaction in an SBML model using BiGG database identifiers. + It extends the BiGGCVTermAnnotator class, allowing it to manage controlled vocabulary (CV) terms + associated with the reaction. The class handles various aspects of reaction annotation including setting + the reaction's name, SBO term, and additional annotations. It also processes gene reaction rules and + subsystem information associated with the reaction.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      annotate

      +
      public void annotate(List<org.sbml.jsbml.Reaction> reactions) + throws SQLException
      +
      Delegates the annotation process for each reaction in the given SBML model. + This method iterates over all reactions in the model, updates the progress display, + and invokes the annotation for each reaction.
      +
      +
      Specified by:
      +
      annotate in interface IAnnotateSBases<org.sbml.jsbml.Reaction>
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      annotate

      +
      public void annotate(org.sbml.jsbml.Reaction reaction) + throws SQLException
      +
      Annotates a reaction by setting its name, SBO term, and additional annotations. It also processes gene reaction rules + and subsystem information associated with the reaction. This method retrieves a BiGG ID for the reaction, either from + the reaction's ID directly or through associated annotations. If a valid BiGG ID is found, it proceeds with the + annotation and parsing processes.
      +
      +
      Specified by:
      +
      annotate in interface IAnnotateSBases<org.sbml.jsbml.Reaction>
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      findBiGGId

      +
      public BiGGId findBiGGId(org.sbml.jsbml.Reaction reaction) + throws SQLException
      +
      This method checks if the ID of the reaction is a valid BiGG ID and attempts to retrieve a corresponding + BiGG ID based on existing annotations. It first checks if the reaction ID matches the expected BiGG ID format + and verifies its existence in the database. If the ID does not match or is not found, it then attempts to + extract a BiGG ID from the reaction's annotations. This involves parsing the CVTerms associated with the reaction, + extracting URLs, validating them, and then querying the BiGG database for corresponding reaction IDs that match + the reaction's compartment.
      +
      +
      Specified by:
      +
      findBiGGId in class BiGGCVTermAnnotator<org.sbml.jsbml.Reaction>
      +
      Returns:
      +
      An Optional containing the BiGG ID if found or created successfully, otherwise Optional.empty()
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      setName

      +
      public void setName(org.sbml.jsbml.Reaction reaction, + BiGGId biggId) + throws SQLException
      +
      Sets the name of the reaction based on the provided BiGGId. It retrieves the reaction name + using the abbreviation from the BiGGId, polishes the name, and updates the reaction's name + if the new name is different from the current name.
      +
      +
      Parameters:
      +
      biggId - The BiGGId object containing the abbreviation used to fetch and potentially update the reaction's name.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      setSBOTerm

      +
      public void setSBOTerm(org.sbml.jsbml.Reaction reaction, + BiGGId biggId) + throws SQLException
      +
      Sets the SBO term for a reaction based on the given BiGGId. + If the reaction does not already have an SBO term set, it determines the appropriate SBO term + based on whether the reaction is a pseudoreaction or a generic process. Pseudoreactions are assigned + an SBO term of 631, while generic processes are assigned an SBO term of 375 unless the configuration + specifies to omit generic terms.
      +
      +
      Parameters:
      +
      biggId - The BiGGId object containing the abbreviation used to check if the reaction is a pseudoreaction.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      parseGeneReactionRules

      +
      public void parseGeneReactionRules(org.sbml.jsbml.Reaction reaction, + BiGGId biggId) + throws SQLException
      +
      Parses gene reaction rules for a given reaction based on the BiGG database identifier. + This method retrieves gene reaction rules associated with the reaction's abbreviation + from the BiGG database and applies gene-protein-reaction (GPR) parsing to the reaction. + It considers whether generic terms should be omitted based on the current parameters.
      +
      +
      Parameters:
      +
      biggId - The BiGG database identifier for the reaction, used to fetch and parse gene reaction rules.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGSBMLAnnotator.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGSBMLAnnotator.html new file mode 100644 index 00000000..2222bd72 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGSBMLAnnotator.html @@ -0,0 +1,224 @@ + + + + +BiGGSBMLAnnotator (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BiGGSBMLAnnotator

+
+ +
+
+
All Implemented Interfaces:
+
IAnnotateSBases<org.sbml.jsbml.SBMLDocument>, IReportDiffs, IReportStatus
+
+
+
public class BiGGSBMLAnnotator +extends AbstractBiGGAnnotator +implements IAnnotateSBases<org.sbml.jsbml.SBMLDocument>
+
This class is responsible for annotating SBML models using data from the BiGG database. + It handles the addition of annotations related to compartments, species, reactions, and gene products.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      annotate

      +
      public void annotate(org.sbml.jsbml.SBMLDocument doc) + throws SQLException, +AnnotationException
      +
      Annotates an SBMLDocument using data from the BiGG Knowledgebase. This method processes various components of the + SBML model such as compartments, species, reactions, and gene products by adding relevant annotations from BiGG. + It also handles the addition of publications and notes related to the model.
      +
      +
      Specified by:
      +
      annotate in interface IAnnotateSBases<org.sbml.jsbml.SBMLDocument>
      +
      Parameters:
      +
      doc - The SBMLDocument that contains the model to be annotated.
      +
      Throws:
      +
      SQLException
      +
      AnnotationException
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGSpeciesAnnotator.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGSpeciesAnnotator.html new file mode 100644 index 00000000..73303d00 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGSpeciesAnnotator.html @@ -0,0 +1,295 @@ + + + + +BiGGSpeciesAnnotator (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BiGGSpeciesAnnotator

+
+ +
+
+
All Implemented Interfaces:
+
IAnnotateSBases<org.sbml.jsbml.Species>, IReportDiffs, IReportStatus
+
+
+
public class BiGGSpeciesAnnotator +extends BiGGCVTermAnnotator<org.sbml.jsbml.Species> +implements IAnnotateSBases<org.sbml.jsbml.Species>
+
This class provides functionality to annotate a species in an SBML model using BiGG database identifiers. + It extends the BiGGCVTermAnnotator class, allowing it to manage controlled vocabulary (CV) terms + associated with the species. The class handles various aspects of species annotation including setting + the species' name, SBO term, and additional annotations. It also sets the chemical formula and charge + for the species using FBC (Flux Balance Constraints) extensions.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      annotate

      +
      public void annotate(List<org.sbml.jsbml.Species> species) + throws SQLException
      +
      Delegates annotation processing for all chemical species contained in the Model. + This method iterates over each species in the model and applies specific annotations.
      +
      +
      Specified by:
      +
      annotate in interface IAnnotateSBases<org.sbml.jsbml.Species>
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      annotate

      +
      public void annotate(org.sbml.jsbml.Species species) + throws SQLException
      +
      This method annotates a species with various details fetched from the BiGG Knowledgebase. It performs the following: + 1. Sets the species name based on the BiGGId. If the species does not have a name, it uses the BiGGId as the name. + 2. Assigns an SBO (Systems Biology Ontology) term to the species based on the BiGGId. + 3. Adds additional annotations to the species, such as database cross-references. +

      + The BiGGId used for these operations is either derived from the species' URI list or directly from its ID if available.

      +
      +
      Specified by:
      +
      annotate in interface IAnnotateSBases<org.sbml.jsbml.Species>
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      findBiGGId

      +
      public BiGGId findBiGGId(org.sbml.jsbml.Species species) + throws SQLException
      +
      Validates the species ID and attempts to retrieve a corresponding BiGGId based on existing annotations. + This method first tries to create a BiGGId from the species ID. If the species ID does not correspond to a known + BiGGId in the database, it then searches through the species' annotations to find a valid BiGGId.
      +
      +
      Specified by:
      +
      findBiGGId in class BiGGCVTermAnnotator<org.sbml.jsbml.Species>
      +
      Returns:
      +
      An Optional containing the BiGGId if a valid one is found or created, otherwise Optional.empty()
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      setName

      +
      public void setName(org.sbml.jsbml.Species species, + BiGGId biggId) + throws SQLException
      +
      Updates the name of the species based on data retrieved from the BiGG Knowledgebase. + The species name is set only if it has not been previously set or if the current name + follows a default format that combines the BiGGId abbreviation and + compartment code. This method relies on the availability of a valid BiGGId for the species.
      +
      +
      Parameters:
      +
      biggId - The BiGGId associated with the species, used to fetch the component name from the BiGG database.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGFBCAnnotator.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGFBCAnnotator.html new file mode 100644 index 00000000..79777d3e --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGFBCAnnotator.html @@ -0,0 +1,199 @@ + + + + +BiGGFBCAnnotator (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + + +
+
+
All Implemented Interfaces:
+
IAnnotateSBases<org.sbml.jsbml.Model>, IReportDiffs, IReportStatus
+
+
+
public class BiGGFBCAnnotator +extends AbstractBiGGAnnotator +implements IAnnotateSBases<org.sbml.jsbml.Model>
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGFBCSpeciesAnnotator.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGFBCSpeciesAnnotator.html new file mode 100644 index 00000000..970f72e0 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGFBCSpeciesAnnotator.html @@ -0,0 +1,209 @@ + + + + +BiGGFBCSpeciesAnnotator (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BiGGFBCSpeciesAnnotator

+
+ +
+
+
All Implemented Interfaces:
+
IAnnotateSBases<org.sbml.jsbml.Species>, IReportDiffs, IReportStatus
+
+
+
public class BiGGFBCSpeciesAnnotator +extends AbstractBiGGAnnotator +implements IAnnotateSBases<org.sbml.jsbml.Species>
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGGeneProductAnnotator.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGGeneProductAnnotator.html new file mode 100644 index 00000000..2b4f5fb9 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGGeneProductAnnotator.html @@ -0,0 +1,358 @@ + + + + +BiGGGeneProductAnnotator (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BiGGGeneProductAnnotator

+
+ +
+
+
All Implemented Interfaces:
+
IAnnotateSBases<org.sbml.jsbml.ext.fbc.GeneProduct>, IReportDiffs, IReportStatus
+
+
+
public class BiGGGeneProductAnnotator +extends BiGGCVTermAnnotator<org.sbml.jsbml.ext.fbc.GeneProduct> +implements IAnnotateSBases<org.sbml.jsbml.ext.fbc.GeneProduct>
+
Provides functionality to annotate gene products in an SBML model using data from the BiGG database. + This class extends BiGGCVTermAnnotator and specifically handles the annotation of GeneProduct instances. + It includes methods to validate gene product IDs, retrieve and set labels, and add annotations based on BiGG IDs.
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    + +
    +
  • + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      annotate

      +
      public void annotate(List<org.sbml.jsbml.ext.fbc.GeneProduct> geneProducts) + throws SQLException
      +
      This method handles the annotation of gene products in a given SBML model. It checks if the model has the FBC plugin + set and then proceeds to annotate each gene product found within the model. The progress bar is updated to reflect + the number of gene products being annotated.
      +
      +
      Specified by:
      +
      annotate in interface IAnnotateSBases<org.sbml.jsbml.ext.fbc.GeneProduct>
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      annotate

      +
      public void annotate(org.sbml.jsbml.ext.fbc.GeneProduct geneProduct) + throws SQLException
      +
      Annotates a gene product by adding relevant metadata and references. + This method first checks the gene product's ID for validity and retrieves a corresponding BiGGId if available. + It then attempts to get a label for the gene product. If no label is found, the method returns early. + If a label is present, it updates the gene product reference in the association, adds annotations using the BiGGId, + and sets the gene product's metaId if it has any CV terms. Finally, it sets the gene product's label name.
      +
      +
      Specified by:
      +
      annotate in interface IAnnotateSBases<org.sbml.jsbml.ext.fbc.GeneProduct>
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      findBiGGId

      +
      public BiGGId findBiGGId(org.sbml.jsbml.ext.fbc.GeneProduct geneProduct) + throws SQLException
      +
      Validates the ID of a GeneProduct against the expected BiGG ID format and attempts to retrieve a + corresponding BiGGId from existing annotations if the initial ID does not conform to the BiGG format. + The method first checks if the gene product's ID matches the BiGG ID pattern. If it does not match, it then + tries to find a valid BiGG ID from the gene product's annotations. If a valid BiGG ID is found among the annotations, + it updates the ID; otherwise, it retains the original ID.
      +
      +
      Specified by:
      +
      findBiGGId in class BiGGCVTermAnnotator<org.sbml.jsbml.ext.fbc.GeneProduct>
      +
      Returns:
      +
      An Optional<BiGGId> containing the validated or retrieved BiGG ID, or an empty Optional if no valid ID is found.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getLabel

      +
      public String getLabel(org.sbml.jsbml.ext.fbc.GeneProduct geneProduct, + BiGGId biggId)
      +
      Retrieves the label for a gene product based on the provided BiGGId. If the gene product has a label set and it is not "None", + that label is returned. If no label is set but the gene product has an ID, the BiGGId is converted to a string and returned. + If neither condition is met, an empty string is returned.
      +
      +
      Parameters:
      +
      biggId - An Optional containing the BiGGId of the gene product, which may be used to generate a label if the gene product's own label is not set.
      +
      Returns:
      +
      An Optional<String> containing the label of the gene product, or an empty string if no appropriate label is found.
      +
      +
      +
    • +
    • +
      +

      setGPLabelName

      +
      public void setGPLabelName(org.sbml.jsbml.ext.fbc.GeneProduct geneProduct, + String label) + throws SQLException
      +
      Updates the label of a gene product and sets its name based on the retrieved gene name from the BiGG database. + If the current label is set to "None", it updates the label to the provided one. It then attempts to fetch + the gene name corresponding to this label from the BiGG database. If a gene name is found, it checks if the + current gene product name is different from the fetched name. If they differ, it logs a warning and updates + the gene product name. If no gene name is found, it logs this as a fine-level message.
      +
      +
      Parameters:
      +
      label - The label to set or use for fetching the gene name. This label should correspond to a BiGGId + or be derived from AbstractSBase.getId().
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      addAnnotations

      +
      public void addAnnotations(org.sbml.jsbml.ext.fbc.GeneProduct geneProduct, + BiGGId biggId) + throws SQLException
      +
      Adds annotations to a gene product based on a given BiGGId. This method differentiates between + annotations that specify what the gene product 'is' and what it 'is encoded by'. Resources are fetched + from the BiGG database using the abbreviation from the provided BiGGId. Each resource URL is checked and + parsed to determine the appropriate category ('is' or 'is encoded by') based on predefined prefixes.
      +
      +
      Parameters:
      +
      biggId - The BiGGId associated with the gene product, typically derived from a species ID.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGGeneProductReferencesAnnotator.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGGeneProductReferencesAnnotator.html new file mode 100644 index 00000000..ea203b43 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGGeneProductReferencesAnnotator.html @@ -0,0 +1,166 @@ + + + + +BiGGGeneProductReferencesAnnotator (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BiGGGeneProductReferencesAnnotator

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc.BiGGGeneProductReferencesAnnotator
+
+
+
+
public class BiGGGeneProductReferencesAnnotator +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BiGGGeneProductReferencesAnnotator

      +
      public BiGGGeneProductReferencesAnnotator()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      update

      +
      public void update(org.sbml.jsbml.ext.fbc.GeneProduct gp)
      +
      Updates the reference of a gene product in the geneProductReferences map using the gene product's ID. + If the gene product ID starts with "G_", it strips this prefix before updating. + If the map is initially empty, it initializes the map with the current model's reactions.
      +
      +
      Parameters:
      +
      gp - The GeneProduct whose reference needs to be updated.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/package-summary.html new file mode 100644 index 00000000..d3bbba7b --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/package-summary.html @@ -0,0 +1,89 @@ + + + + +de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc

+
+
+
package de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/package-tree.html new file mode 100644 index 00000000..2f6d9653 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/package-tree.html @@ -0,0 +1,85 @@ + + + + +de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/package-summary.html new file mode 100644 index 00000000..7537834c --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/package-summary.html @@ -0,0 +1,130 @@ + + + + +de.uni_halle.informatik.biodata.mp.annotation.bigg (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.annotation.bigg

+
+
+
package de.uni_halle.informatik.biodata.mp.annotation.bigg
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/package-tree.html new file mode 100644 index 00000000..fea54bdb --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/bigg/package-tree.html @@ -0,0 +1,101 @@ + + + + +de.uni_halle.informatik.biodata.mp.annotation.bigg Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.annotation.bigg

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/package-summary.html new file mode 100644 index 00000000..c9e665e3 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/package-summary.html @@ -0,0 +1,110 @@ + + + + +de.uni_halle.informatik.biodata.mp.annotation (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.annotation

+
+
+
package de.uni_halle.informatik.biodata.mp.annotation
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/annotation/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/annotation/package-tree.html new file mode 100644 index 00000000..c9e672cc --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/annotation/package-tree.html @@ -0,0 +1,92 @@ + + + + +de.uni_halle.informatik.biodata.mp.annotation Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.annotation

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+
    +
  • de.uni_halle.informatik.biodata.mp.annotation.IAnnotateSBases<SBMLElement>
  • +
  • de.uni_halle.informatik.biodata.mp.annotation.IProcessNotes
  • +
  • de.zbit.util.prefs.KeyProvider + +
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/PostgresConnectionPool.html b/docs/de/uni_halle/informatik/biodata/mp/db/PostgresConnectionPool.html new file mode 100644 index 00000000..70f3b7ec --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/PostgresConnectionPool.html @@ -0,0 +1,179 @@ + + + + +PostgresConnectionPool (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class PostgresConnectionPool

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.db.PostgresConnectionPool
+
+
+
+
public class PostgresConnectionPool +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      PostgresConnectionPool

      +
      public PostgresConnectionPool(String host, + int port, + String user, + String password, + String dbName)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDB.html b/docs/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDB.html new file mode 100644 index 00000000..a810a03d --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDB.html @@ -0,0 +1,201 @@ + + + + +AnnotateDB (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AnnotateDB

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDB
+
+
+
+
public class AnnotateDB +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      AnnotateDB

      +
      public AnnotateDB()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      init

      +
      public static void init(DBParameters parameters)
      +
      +
    • +
    • +
      +

      init

      +
      public static void init(String host, + Integer port, + String user, + String passwd, + String dbName)
      +
      +
    • +
    • +
      +

      getAnnotations

      +
      public Set<String> getAnnotations(String type, + String biggId) + throws SQLException
      +
      Retrieves a set of annotated URLs based on the type and BiGG ID provided. + This method queries the database to find matching annotations and constructs URLs using the retrieved data.
      +
      +
      Parameters:
      +
      type - The type of the BiGG ID, which can be either a metabolite or a reaction.
      +
      biggId - The BiGG ID for which annotations are to be retrieved. The ID may be modified if it starts + with specific prefixes or ends with an underscore.
      +
      Returns:
      +
      A sorted set of URLs that are annotations for the given BiGG ID. If the type is neither metabolite + nor reaction, or if an SQL exception occurs, an empty set is returned.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBContract.Constants.Column.html b/docs/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBContract.Constants.Column.html new file mode 100644 index 00000000..824ee2a1 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBContract.Constants.Column.html @@ -0,0 +1,130 @@ + + + + +AnnotateDBContract.Constants.Column (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AnnotateDBContract.Constants.Column

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants.Column
+
+
+
+
Enclosing class:
+
AnnotateDBContract.Constants
+
+
+
public static class AnnotateDBContract.Constants.Column +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Column

      +
      public Column()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBContract.Constants.Table.html b/docs/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBContract.Constants.Table.html new file mode 100644 index 00000000..43aba39a --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBContract.Constants.Table.html @@ -0,0 +1,130 @@ + + + + +AnnotateDBContract.Constants.Table (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AnnotateDBContract.Constants.Table

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants.Table
+
+
+
+
Enclosing class:
+
AnnotateDBContract.Constants
+
+
+
public static class AnnotateDBContract.Constants.Table +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Table

      +
      public Table()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBContract.Constants.html b/docs/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBContract.Constants.html new file mode 100644 index 00000000..8d7061c5 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBContract.Constants.html @@ -0,0 +1,202 @@ + + + + +AnnotateDBContract.Constants (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AnnotateDBContract.Constants

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants
+
+
+
+
Enclosing class:
+
AnnotateDBContract
+
+
+
public abstract static class AnnotateDBContract.Constants +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    + +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Constants

      +
      public Constants()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBContract.html b/docs/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBContract.html new file mode 100644 index 00000000..6e63f5f9 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBContract.html @@ -0,0 +1,141 @@ + + + + +AnnotateDBContract (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AnnotateDBContract

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract
+
+
+
+
public final class AnnotateDBContract +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      AnnotateDBContract

      +
      public AnnotateDBContract()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBOptions.html b/docs/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBOptions.html new file mode 100644 index 00000000..aab4cdc0 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBOptions.html @@ -0,0 +1,166 @@ + + + + +AnnotateDBOptions (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface AnnotateDBOptions

+
+
+
+
All Superinterfaces:
+
de.zbit.util.prefs.KeyProvider
+
+
+
public interface AnnotateDBOptions +extends de.zbit.util.prefs.KeyProvider
+
This interface provides options for connecting to the ADB database.
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from interface de.zbit.util.prefs.KeyProvider

    +de.zbit.util.prefs.KeyProvider.Entry<T extends Object>, de.zbit.util.prefs.KeyProvider.Tools
    +
    +
  • + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final de.zbit.util.prefs.Option<String>
    + +
     
    +
    static final de.zbit.util.prefs.Option<String>
    + +
     
    +
    static final de.zbit.util.prefs.Option<String>
    + +
     
    +
    static final de.zbit.util.prefs.Option<Integer>
    + +
     
    +
    static final de.zbit.util.prefs.Option<String>
    + +
     
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      HOST

      +
      static final de.zbit.util.prefs.Option<String> HOST
      +
      +
    • +
    • +
      +

      PORT

      +
      static final de.zbit.util.prefs.Option<Integer> PORT
      +
      +
    • +
    • +
      +

      USER

      +
      static final de.zbit.util.prefs.Option<String> USER
      +
      +
    • +
    • +
      +

      PASSWD

      +
      static final de.zbit.util.prefs.Option<String> PASSWD
      +
      +
    • +
    • +
      +

      DBNAME

      +
      static final de.zbit.util.prefs.Option<String> DBNAME
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/adb/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/db/adb/package-summary.html new file mode 100644 index 00000000..2a4ca79f --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/adb/package-summary.html @@ -0,0 +1,112 @@ + + + + +de.uni_halle.informatik.biodata.mp.db.adb (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.db.adb

+
+
+
package de.uni_halle.informatik.biodata.mp.db.adb
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/adb/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/db/adb/package-tree.html new file mode 100644 index 00000000..cf5db72c --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/adb/package-tree.html @@ -0,0 +1,84 @@ + + + + +de.uni_halle.informatik.biodata.mp.db.adb Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.db.adb

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+
    +
  • de.zbit.util.prefs.KeyProvider + +
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDB.ForeignReaction.html b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDB.ForeignReaction.html new file mode 100644 index 00000000..c845d80c --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDB.ForeignReaction.html @@ -0,0 +1,193 @@ + + + + +BiGGDB.ForeignReaction (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BiGGDB.ForeignReaction

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB.ForeignReaction
+
+
+
+
Enclosing class:
+
BiGGDB
+
+
+
public class BiGGDB.ForeignReaction +extends Object
+
Represents a reaction from an external data source mapped to the BiGG database, including its compartment details. + "Foreign" in this context refers to the origin of the reaction data from a source outside of the primary BiGG database schema, + typically involving cross-referencing with external databases or data sources.
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      reactionId

      +
      public final String reactionId
      +
      +
    • +
    • +
      +

      compartmentId

      +
      public final String compartmentId
      +
      +
    • +
    • +
      +

      compartmentName

      +
      public final String compartmentName
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ForeignReaction

      +
      public ForeignReaction(String reactionId, + String compartmentId, + String compartmentName)
      +
      Constructs a new ForeignReaction instance.
      +
      +
      Parameters:
      +
      reactionId - The BiGG ID of the reaction.
      +
      compartmentId - The BiGG ID of the compartment.
      +
      compartmentName - The name of the compartment.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDB.html b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDB.html new file mode 100644 index 00000000..5e2abc9c --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDB.html @@ -0,0 +1,882 @@ + + + + +BiGGDB (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
+
+
public class BiGGDB +extends Object
+
This class provides a connection to the BiGG database.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BiGGDB

      +
      public BiGGDB()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      init

      +
      public static void init(DBParameters parameters)
      +
      +
    • +
    • +
      +

      init

      +
      public static void init(String host, + Integer port, + String user, + String passwd, + String dbName)
      +
      +
    • +
    • +
      +

      getBiGGVersion

      +
      public Optional<Date> getBiGGVersion() + throws SQLException
      +
      Retrieves the version date of the BiGG database. + + This method queries the database to fetch the date and time of the last update + from the DATABASE_VERSION table. It returns an Optional containing the + date if the query is successful and the date exists, otherwise it returns an empty Optional.
      +
      +
      Returns:
      +
      Optional<Date> The date of the last database update, or an empty Optional if not available.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getSubsystems

      +
      public List<String> getSubsystems(String modelBiGGid, + String reactionBiGGid) + throws SQLException
      +
      Retrieves a list of distinct subsystems associated with a specific model and reaction BiGG IDs. + This method executes a SQL query to fetch subsystems from the database where both the model and reaction + match the provided BiGG IDs. Only subsystems with a non-zero length are considered.
      +
      +
      Parameters:
      +
      modelBiGGid - The BiGG ID of the model.
      +
      reactionBiGGid - The BiGG ID of the reaction.
      +
      Returns:
      +
      A List of subsystem names as strings. Returns an empty list if no subsystems are found or if an error occurs.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getSubsystemsForReaction

      +
      public List<String> getSubsystemsForReaction(String reactionBiGGid) + throws SQLException
      +
      Retrieves a list of distinct subsystems associated with a specific reaction BiGG ID. + This method executes a SQL query to fetch subsystems from the database where the reaction + matches the provided BiGG ID. Only subsystems with a non-zero length are considered.
      +
      +
      Parameters:
      +
      reactionBiGGid - The BiGG ID of the reaction for which subsystems are to be retrieved.
      +
      Returns:
      +
      A List of subsystem names as strings. Returns an empty list if no subsystems are found or if an error occurs.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getChemicalFormulaByCompartment

      +
      public Optional<String> getChemicalFormulaByCompartment(String componentId, + String compartmentId) + throws SQLException
      +
      Retrieves the unique chemical formula for a given component within a specific compartment. + This method queries the database to find the distinct chemical formula associated with the specified + component and compartment IDs. It ensures that the formula is unique for the given parameters. + If multiple distinct formulas are found, it logs a warning indicating ambiguity.
      +
      +
      Parameters:
      +
      componentId - The BiGG ID of the component for which the chemical formula is to be retrieved.
      +
      compartmentId - The BiGG ID of the compartment where the component is located.
      +
      Returns:
      +
      An Optional containing the chemical formula if exactly one unique formula is found, + otherwise an empty Optional if none or multiple formulas are found.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getChemicalFormula

      +
      public Optional<String> getChemicalFormula(String componentId, + String modelId) + throws SQLException
      +
      Retrieves the chemical formula for a given component within a specific model in the BiGG database. + This method executes a SQL query to find distinct chemical formulas associated with the component and model IDs provided. + If exactly one unique formula is found, it is returned. If none or multiple formulas are found, an empty Optional is returned. + In case of multiple formulas, a log entry is made indicating the ambiguity.
      +
      +
      Parameters:
      +
      componentId - The BiGG ID of the component for which the formula is being retrieved.
      +
      modelId - The BiGG ID of the model in which the component is present.
      +
      Returns:
      +
      An Optional<String> containing the chemical formula if exactly one is found, otherwise empty.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getCompartmentName

      +
      public Optional<String> getCompartmentName(BiGGId biggId) + throws SQLException
      +
      Retrieves the name of the compartment associated with the given BiGG ID from the database. + This method constructs a SQL query to select the compartment name where the BiGG ID matches + and the name is not an empty string.
      +
      +
      Parameters:
      +
      biggId - The BiGGId object containing the abbreviation of the compartment.
      +
      Returns:
      +
      An Optional<String> containing the name of the compartment if found, otherwise empty.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      singleParamStatement

      +
      public Optional<String> singleParamStatement(String query, + String param) + throws SQLException
      +
      Executes a SQL query with a single parameter and returns the result as an Optional. + This method is designed to handle queries that are expected to return a single result. + If multiple results are found, a severe log is recorded indicating the issue.
      +
      +
      Parameters:
      +
      query - The SQL query to be executed. It should contain exactly one placeholder for the parameter.
      +
      param - The parameter value to be used in the SQL query.
      +
      Returns:
      +
      An Optional<String> containing the result if exactly one result is found, otherwise empty.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getComponentName

      +
      public Optional<String> getComponentName(BiGGId biggId) + throws SQLException
      +
      Retrieves the name of the component associated with the given BiGG ID from the database. + This method constructs a SQL query to select the component name where the BiGG ID matches + and the name is not an empty string.
      +
      +
      Parameters:
      +
      biggId - The BiGGId object containing the abbreviation of the component.
      +
      Returns:
      +
      An Optional<String> containing the name of the component if found, otherwise empty.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getComponentType

      +
      public Optional<String> getComponentType(BiGGId biggId) + throws SQLException
      +
      Retrieves the type of the component associated with the given BiGG ID from the database. + This method constructs a SQL query to select the component type where the BiGG ID matches + and the name field is not an empty string.
      +
      +
      Parameters:
      +
      biggId - The BiGGId object containing the abbreviation of the component.
      +
      Returns:
      +
      An Optional<String> containing the type of the component if found, otherwise empty.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getGeneIds

      +
      public TreeSet<IdentifiersOrgURI> getGeneIds(String label) + throws SQLException
      +
      Retrieves all possible MIRIAM-compliant gene identifiers from the database based on a given label. + This method queries the database for gene identifiers that match the provided label and are compliant + with MIRIAM standards. Non-compliant entries are ignored.
      +
      +
      Parameters:
      +
      label - The label used to query gene identifiers.
      +
      Returns:
      +
      A TreeSet containing unique, sorted MIRIAM-compliant gene identifiers.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getGeneName

      +
      public Optional<String> getGeneName(String label) + throws SQLException
      +
      Retrieves the gene name from the database based on a given label. + This method constructs a SQL query to fetch the synonym of a gene that matches the given label, + ensuring that the gene is associated with a valid data source and genome region, and that the + synonym is not empty. The query specifically looks for entries where the data source's BIGG ID + matches the REFSEQ naming convention.
      +
      +
      Parameters:
      +
      label - The label used to query the gene name, typically a BIGG ID.
      +
      Returns:
      +
      An Optional containing the gene name if found, otherwise an empty Optional.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getGeneReactionRule

      +
      public List<String> getGeneReactionRule(String reactionId, + String modelId) + throws SQLException
      +
      Retrieves formatted gene reaction rules for a specific reaction and model from the database. + This method constructs a SQL query to fetch and format the gene reaction rules associated with + the given reaction ID and model ID. The formatting includes replacing logical operators 'or' and 'and' + with || and &&, respectively, and substituting certain characters to comply with SBML standards.
      +
      +
      Parameters:
      +
      reactionId - The ID of the reaction for which gene reaction rules are to be retrieved.
      +
      modelId - The ID of the model associated with the reaction.
      +
      Returns:
      +
      A list of formatted gene reaction rules as strings.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getReactionRules

      +
      public List<String> getReactionRules(String query, + String reactionId, + String modelId) + throws SQLException
      +
      Executes a provided SQL query to retrieve gene reaction rules from the database. + This method prepares a statement with the given query, setting the specified reactionId and modelId as parameters. + It then executes the query and collects the results into a list of strings.
      +
      +
      Parameters:
      +
      query - The SQL query string that retrieves gene reaction rules, expecting two placeholders for parameters.
      +
      reactionId - The ID of the reaction to be used as the first parameter in the SQL query.
      +
      modelId - The ID of the model to be used as the second parameter in the SQL query.
      +
      Returns:
      +
      A list of strings where each string is a gene reaction rule retrieved based on the given IDs.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getOrganism

      +
      public Optional<String> getOrganism(String abbreviation) + throws SQLException
      +
      Retrieves the organism associated with a given BiGG model abbreviation from the database. + This method constructs and executes a SQL query that joins the GENOME and MODEL tables to find the organism + corresponding to the specified model abbreviation.
      +
      +
      Parameters:
      +
      abbreviation - The abbreviation of the model for which the organism is to be retrieved.
      +
      Returns:
      +
      An Optional containing the organism name if found, otherwise an empty Optional.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getPublications

      +
      public List<Publication> getPublications(String abbreviation) + throws SQLException
      +
      Retrieves a list of publications associated with a given BiGG model abbreviation from the database. + This method constructs and executes a SQL query that joins the PUBLICATION, PUBLICATION_MODEL, and MODEL tables + to find the publications related to the specified model abbreviation.
      +
      +
      Parameters:
      +
      abbreviation - The abbreviation of the model for which the publications are to be retrieved.
      +
      Returns:
      +
      A list of pairs where each pair consists of a publication type and its corresponding ID.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getReactionName

      +
      public Optional<String> getReactionName(String abbreviation) + throws SQLException
      +
      Retrieves the name of a reaction based on its BiGG ID abbreviation, ensuring the name is not empty. + This method constructs and executes a SQL query that selects the reaction name from the REACTION table + where the BIGG_ID matches the specified abbreviation and the name is not an empty string.
      +
      +
      Parameters:
      +
      abbreviation - The abbreviation of the reaction for which the name is to be retrieved.
      +
      Returns:
      +
      An Optional containing the reaction name if found and not empty, otherwise an empty Optional.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getResources

      +
      public Set<IdentifiersOrgURI> getResources(BiGGId biggId, + boolean includeAnyURI, + boolean isReaction) + throws SQLException
      +
      Retrieves a set of resource URLs for a given BiGG ID, optionally filtering to include only those containing 'identifiers.org'. + This method constructs and executes a SQL query to fetch URLs from the database based on the type of BiGG ID (reaction or component). + It then filters these URLs based on the 'includeAnyURI' parameter.
      +
      +
      Parameters:
      +
      biggId - The BiGG ID object containing the abbreviation of the model component or reaction.
      +
      includeAnyURI - If true, all URLs are included; if false, only URLs containing 'identifiers.org' are included.
      +
      isReaction - If true, the BiGG ID is treated as a reaction; if false, it is treated as a component.
      +
      Returns:
      +
      A sorted set of URLs as strings, potentially filtered by the 'identifiers.org' domain.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getTaxonId

      +
      public Optional<Integer> getTaxonId(String abbreviation) + throws SQLException
      +
      Retrieves the taxonomic identifier (taxon ID) for a given model based on its abbreviation. + This method queries the database to find the taxon ID associated with the model's abbreviation. + If multiple taxon IDs are found for the same abbreviation, a severe log message is generated.
      +
      +
      Parameters:
      +
      abbreviation - The abbreviation of the model for which the taxon ID is being queried.
      +
      Returns:
      +
      An Optional containing the taxon ID if found; otherwise, an empty Optional.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getGenomeAccesion

      +
      public String getGenomeAccesion(String id) + throws SQLException
      +
      Retrieves the genome accession for a given model ID from the BiGG database. + The accession can be used to construct URLs for accessing genomic data from various sources. + The URLs can be formed using the accession ID with the following patterns: + - https://identifiers.org/refseq:{$id} + - https://www.ncbi.nlm.nih.gov/nuccore/{$id} + - https://www.ncbi.nlm.nih.gov/assembly/{$id}
      +
      +
      Parameters:
      +
      id - The model ID present in BiGG.
      +
      Returns:
      +
      The accession string which can be appended to the base URLs mentioned above. + If the query fails or no accession is found, an empty string is returned.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getAllBiggIds

      +
      public Set<String> getAllBiggIds(String table) + throws SQLException
      +
      Retrieves a set of unique BiGG IDs from a specified table in the database. + This method queries the database for all unique BiGG IDs in the specified table and returns them as a set. + The IDs are ordered by their natural ordering in the database.
      +
      +
      Parameters:
      +
      table - The name of the database table from which to retrieve BiGG IDs.
      +
      Returns:
      +
      A Set of strings containing unique BiGG IDs from the specified table. If an SQL error occurs, + the returned set will be empty.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getChargeByCompartment

      +
      public Optional<Integer> getChargeByCompartment(String componentId, + String compartmentId) + throws SQLException
      +
      Retrieves the charge associated with a specific component in a given compartment when the model ID is unknown. + This method executes a SQL query to find a distinct charge value for a component based on its BiGG ID and + the compartment's BiGG ID. The method ensures that the charge value is not empty and returns it if it is unique.
      +
      +
      Parameters:
      +
      componentId - The BiGG ID of the component.
      +
      compartmentId - The BiGG ID of the compartment.
      +
      Returns:
      +
      An Optional containing the charge if it is unique and present; otherwise, an empty Optional. + If multiple unique charge values are found, a warning is logged.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getCharge

      +
      public Optional<Integer> getCharge(String componentId, + String modelId) + throws SQLException
      +
      Retrieves the charge for a given component and model from the database. + This method executes a SQL query to select distinct charge values associated with the specified component ID + and model ID. It ensures that the charge value is not null.
      +
      +
      Parameters:
      +
      componentId - The BiGG ID of the component.
      +
      modelId - The BiGG ID of the model.
      +
      Returns:
      +
      An Optional containing the charge if exactly one distinct charge is found, otherwise an empty Optional. + If multiple distinct charges are found, a warning is logged.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      isPseudoreaction

      +
      public boolean isPseudoreaction(String reactionId) + throws SQLException
      +
      Determines if a given reaction ID corresponds to a pseudoreaction in the database. + A pseudoreaction is typically used to represent non-biochemical data flows such as biomass accumulation, + demand reactions, or exchange reactions.
      +
      +
      Parameters:
      +
      reactionId - The BiGG ID of the reaction to be checked.
      +
      Returns:
      +
      true if the reaction is a pseudoreaction, false otherwise.
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      getBiggIdFromSynonym

      +
      public Optional<BiGGId> getBiggIdFromSynonym(String dataSourceId, + String synonym, + String type)
      +
      Retrieves the BiGG ID associated with a given synonym and type from the specified data source. + This method constructs a SQL query based on the type of biological entity (species, reaction, or gene product) + and executes it to fetch the corresponding BiGG ID from the database.
      +
      +
      Parameters:
      +
      dataSourceId - The ID of the data source where the synonym is registered.
      +
      synonym - The synonym used to identify the entity in the data source.
      +
      type - The type of the entity, which can be species, reaction, or gene product.
      +
      Returns:
      +
      An Optional containing the BiGG ID if exactly one unique ID is found, otherwise an empty Optional.
      +
      +
      +
    • +
    • +
      +

      getBiggIdsForReactionForeignId

      +
      public Collection<BiGGDB.ForeignReaction> getBiggIdsForReactionForeignId(RegistryURI uri)
      +
      Retrieves a collection of ForeignReaction objects for a given synonym and data source ID. + This method queries the database to find reactions and their associated compartment details + based on the provided synonym and data source ID. The term "foreign" indicates that the reactions + are identified using external data sources, which are then mapped to corresponding entities in the BiGG database.
      +
      +
      Returns:
      +
      A collection of ForeignReaction objects containing the reaction and compartment details.
      +
      +
      +
    • +
    • +
      +

      isCompartment

      +
      public boolean isCompartment(String id) + throws SQLException
      +
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      isDataSource

      +
      public boolean isDataSource(String id) + throws SQLException
      +
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      isMetabolite

      +
      public boolean isMetabolite(String id) + throws SQLException
      +
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      isModel

      +
      public boolean isModel(String id) + throws SQLException
      +
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    • +
      +

      isReaction

      +
      public boolean isReaction(String id) + throws SQLException
      +
      +
      Throws:
      +
      SQLException
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBContract.Constants.Column.html b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBContract.Constants.Column.html new file mode 100644 index 00000000..2bc6a6d0 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBContract.Constants.Column.html @@ -0,0 +1,130 @@ + + + + +BiGGDBContract.Constants.Column (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BiGGDBContract.Constants.Column

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBContract.Constants.Column
+
+
+
+
Enclosing class:
+
BiGGDBContract.Constants
+
+
+
public static class BiGGDBContract.Constants.Column +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Column

      +
      public Column()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBContract.Constants.Table.html b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBContract.Constants.Table.html new file mode 100644 index 00000000..fd19e2c1 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBContract.Constants.Table.html @@ -0,0 +1,130 @@ + + + + +BiGGDBContract.Constants.Table (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BiGGDBContract.Constants.Table

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBContract.Constants.Table
+
+
+
+
Enclosing class:
+
BiGGDBContract.Constants
+
+
+
public static class BiGGDBContract.Constants.Table +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Table

      +
      public Table()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBContract.Constants.html b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBContract.Constants.html new file mode 100644 index 00000000..0209ccbe --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBContract.Constants.html @@ -0,0 +1,219 @@ + + + + +BiGGDBContract.Constants (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BiGGDBContract.Constants

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBContract.Constants
+
+
+
+
Enclosing class:
+
BiGGDBContract
+
+
+
public abstract static class BiGGDBContract.Constants +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    + +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Constants

      +
      public Constants()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBContract.html b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBContract.html new file mode 100644 index 00000000..9af9c531 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBContract.html @@ -0,0 +1,110 @@ + + + + +BiGGDBContract (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BiGGDBContract

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBContract
+
+
+
+
public final class BiGGDBContract +extends Object
+
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBOptions.html b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBOptions.html new file mode 100644 index 00000000..524744fb --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBOptions.html @@ -0,0 +1,165 @@ + + + + +BiGGDBOptions (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface BiGGDBOptions

+
+
+
+
All Superinterfaces:
+
de.zbit.util.prefs.KeyProvider
+
+
+
public interface BiGGDBOptions +extends de.zbit.util.prefs.KeyProvider
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from interface de.zbit.util.prefs.KeyProvider

    +de.zbit.util.prefs.KeyProvider.Entry<T extends Object>, de.zbit.util.prefs.KeyProvider.Tools
    +
    +
  • + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final de.zbit.util.prefs.Option<String>
    + +
     
    +
    static final de.zbit.util.prefs.Option<String>
    + +
     
    +
    static final de.zbit.util.prefs.Option<String>
    + +
     
    +
    static final de.zbit.util.prefs.Option<Integer>
    + +
     
    +
    static final de.zbit.util.prefs.Option<String>
    + +
     
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      HOST

      +
      static final de.zbit.util.prefs.Option<String> HOST
      +
      +
    • +
    • +
      +

      PORT

      +
      static final de.zbit.util.prefs.Option<Integer> PORT
      +
      +
    • +
    • +
      +

      USER

      +
      static final de.zbit.util.prefs.Option<String> USER
      +
      +
    • +
    • +
      +

      PASSWD

      +
      static final de.zbit.util.prefs.Option<String> PASSWD
      +
      +
    • +
    • +
      +

      DBNAME

      +
      static final de.zbit.util.prefs.Option<String> DBNAME
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGId.html b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGId.html new file mode 100644 index 00000000..1dd2ad21 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGId.html @@ -0,0 +1,519 @@ + + + + +BiGGId (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
+
+
+
public class BiGGId +extends Object
+
Represents a BiGG identifier used to uniquely identify various biological entities + such as reactions, metabolites, and genes within the BiGG database. This class provides methods to parse, validate, + and manipulate BiGG IDs according to the standards specified in the BiGG database. +

+ The BiGG ID typically consists of several parts: + - A prefix indicating the type of entity (e.g., 'R' for reaction, 'M' for metabolite, 'G' for gene). + - An abbreviation which is the main identifier part. + - A compartment code that specifies the cellular location of the metabolite. + - A tissue code that indicates the tissue specificity of the identifier, applicable in multicellular organisms. +

+ This class also includes methods to create BiGG IDs from strings, validate them against known patterns, and + extract specific parts like the compartment code. It supports handling special cases and correcting common + formatting issues in BiGG IDs. +

+ For a formal description of the structure of BiGG ids see the proposed + + BiGG ID specification.

+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BiGGId

      +
      public BiGGId()
      +
      +
    • +
    • +
      +

      BiGGId

      +
      public BiGGId(String id)
      +
      +
    • +
    • +
      +

      BiGGId

      +
      public BiGGId(String prefix, + String abbreviation, + String compartmentCode, + String tissueCode)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      createMetaboliteId

      +
      public static BiGGId createMetaboliteId(String id)
      +
      +
    • +
    • +
      +

      createGeneId

      +
      public static BiGGId createGeneId(String id)
      +
      +
    • +
    • +
      +

      createReactionId

      +
      public static BiGGId createReactionId(String id)
      +
      +
    • +
    • +
      +

      createReactionId

      +
      public static BiGGId createReactionId(String id, + boolean isPseudo)
      +
      Creates a BiGG ID for a reaction based on the provided string identifier. + The method can correct the ID to conform to BiGG standards and adjust the prefix based on whether it is a pseudo-reaction.
      +
      +
      Parameters:
      +
      id - The raw reaction ID string.
      +
      isPseudo - If true, the ID is treated as a pseudo-reaction, affecting the prefix handling.
      +
      Returns:
      +
      An Optional containing the BiGGId if the ID is non-empty, or an empty Optional if the ID is empty.
      +
      +
      +
    • +
    • +
      +

      isValid

      +
      public static boolean isValid(String queryId)
      +
      +
    • +
    • +
      +

      extractCompartmentCode

      +
      public static Optional<String> extractCompartmentCode(String id)
      +
      Extracts the compartment code from a given identifier if it matches the expected pattern. + The expected pattern allows an optional prefix "C_" followed by one or two lowercase letters, + optionally followed by a digit. If the identifier does not match this pattern, an empty + Optional is returned. If the identifier starts with "C_", this prefix is removed + before returning the compartment code.
      +
      +
      Parameters:
      +
      id - The identifier from which to extract the compartment code.
      +
      Returns:
      +
      An Optional containing the compartment code if the identifier matches the pattern, + otherwise an empty Optional.
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object obj)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
    • +
    • +
      +

      getAbbreviation

      +
      public String getAbbreviation()
      +
      +
    • +
    • +
      +

      setAbbreviation

      +
      public void setAbbreviation(String abbreviation)
      +
        +
      • Only contain upper and lower case letters, numbers, and underscores +
      • /[0-9a-zA-Z][a-zA-Z0-9_]+/, only ASCII and don't start with numbers +
      • When converting old BIGG IDs to BIGG2 IDs, replace a dash with two + underscores. For example, ala-L becomes ala__L. +
      • Reactions should be all upper case. Metabolites should be primarily + lower case, but upper case letters are allowed (ala__L is preferred to + ALA__L). +
      +
      +
      Parameters:
      +
      abbreviation - the abbreviation to set
      +
      +
      +
    • +
    • +
      +

      getCompartmentCode

      +
      public String getCompartmentCode()
      +
      +
    • +
    • +
      +

      setCompartmentCode

      +
      public void setCompartmentCode(String compartmentCode)
      +
      One or two characters in length, and contain only lower case letters and + numbers, and must begin with a lower case letter. /[a-z][a-z0-9]?/
      +
      +
      Parameters:
      +
      compartmentCode - the compartmentCode to set
      +
      +
      +
    • +
    • +
      +

      getPrefix

      +
      public String getPrefix()
      +
      +
    • +
    • +
      +

      setPrefix

      +
      public void setPrefix(String prefix)
      +
        +
      • R: reaction +
      • M: metabolite /[RM]/ +
      • NOTE: Do we want to have the id entity use R and M, and just remove + them when constructing the model, or have them just as + [abbreviation]_[compartment code] and add the prefix when they are put + into SBML models? Also SBML id's use capital letters (/[RM]/). +
      +
      +
      Parameters:
      +
      prefix - the prefix to set
      +
      +
      +
    • +
    • +
      +

      getTissueCode

      +
      public String getTissueCode()
      +
      +
    • +
    • +
      +

      setTissueCode

      +
      public void setTissueCode(String tissueCode)
      +
      One or two characters in length, and contain only upper case letters and + numbers, and must begin with an upper case letter. /[A-Z][A-Z0-9]?/
      +
      +
      Parameters:
      +
      tissueCode - the tissueCode to set
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
    • +
    • +
      +

      isSetAbbreviation

      +
      public boolean isSetAbbreviation()
      +
      +
    • +
    • +
      +

      isSetCompartmentCode

      +
      public boolean isSetCompartmentCode()
      +
      +
    • +
    • +
      +

      isSetPrefix

      +
      public boolean isSetPrefix()
      +
      +
    • +
    • +
      +

      isSetTissueCode

      +
      public boolean isSetTissueCode()
      +
      +
    • +
    • +
      +

      toBiGGId

      +
      public String toBiGGId()
      +
      Generates a BiGG ID for this object based on its properties. The BiGG ID is constructed by concatenating + the available properties (prefix, abbreviation, compartment code, and tissue code) in that order, each separated + by an underscore. Each property is included only if it is set (i.e., not null).
      +
      +
      Returns:
      +
      A string representing the BiGG ID, constructed by concatenating the set properties with underscores. + If none of the properties are set, returns an empty string.
      +
      +
      +
    • +
    • +
      +

      toBiGGId

      +
      public String toBiGGId(String prefix, + String abbreviation, + String compartmentCode, + String tissueCode)
      +
      Constructs a BiGG ID using the provided components. Each component is separated by an underscore. + If a component is null or empty, it is omitted from the final ID.
      +
      +
      Parameters:
      +
      prefix - The first part of the BiGG ID, typically representing the type of entity (e.g., 'R', 'M', 'G').
      +
      abbreviation - The main identifier, usually an alphanumeric string that uniquely describes the entity.
      +
      compartmentCode - A code indicating the compartmentalization, relevant for compartmentalized entities.
      +
      tissueCode - A code representing the tissue specificity, applicable to certain biological models.
      +
      Returns:
      +
      A string representing the constructed BiGG ID, formed by concatenating the provided components with underscores.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/bigg/Publication.html b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/Publication.html new file mode 100644 index 00000000..ad1150fd --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/Publication.html @@ -0,0 +1,248 @@ + + + + +Publication (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Record Class Publication

+
+
java.lang.Object +
java.lang.Record +
de.uni_halle.informatik.biodata.mp.db.bigg.Publication
+
+
+
+
+
public record Publication(String referenceType, String referenceId) +extends Record
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    Publication(String referenceType, + String referenceId)
    +
    +
    Creates an instance of a Publication record class.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    final boolean
    + +
    +
    Indicates whether some other object is "equal to" this one.
    +
    +
    final int
    + +
    +
    Returns a hash code value for this object.
    +
    + + +
    +
    Returns the value of the referenceId record component.
    +
    + + +
    +
    Returns the value of the referenceType record component.
    +
    +
    final String
    + +
    +
    Returns a string representation of this record class.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Publication

      +
      public Publication(String referenceType, + String referenceId)
      +
      Creates an instance of a Publication record class.
      +
      +
      Parameters:
      +
      referenceType - the value for the referenceType record component
      +
      referenceId - the value for the referenceId record component
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      toString

      +
      public final String toString()
      +
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      +
      +
      Specified by:
      +
      toString in class Record
      +
      Returns:
      +
      a string representation of this object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public final int hashCode()
      +
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      +
      +
      Specified by:
      +
      hashCode in class Record
      +
      Returns:
      +
      a hash code value for this object
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public final boolean equals(Object o)
      +
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      +
      +
      Specified by:
      +
      equals in class Record
      +
      Parameters:
      +
      o - the object with which to compare
      +
      Returns:
      +
      true if this object is the same as the o argument; false otherwise.
      +
      +
      +
    • +
    • +
      +

      referenceType

      +
      public String referenceType()
      +
      Returns the value of the referenceType record component.
      +
      +
      Returns:
      +
      the value of the referenceType record component
      +
      +
      +
    • +
    • +
      +

      referenceId

      +
      public String referenceId()
      +
      Returns the value of the referenceId record component.
      +
      +
      Returns:
      +
      the value of the referenceId record component
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/bigg/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/package-summary.html new file mode 100644 index 00000000..1e583bf0 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/package-summary.html @@ -0,0 +1,119 @@ + + + + +de.uni_halle.informatik.biodata.mp.db.bigg (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.db.bigg

+
+
+
package de.uni_halle.informatik.biodata.mp.db.bigg
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/bigg/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/package-tree.html new file mode 100644 index 00000000..dfaabe2f --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/bigg/package-tree.html @@ -0,0 +1,91 @@ + + + + +de.uni_halle.informatik.biodata.mp.db.bigg Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.db.bigg

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+
    +
  • de.zbit.util.prefs.KeyProvider + +
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/db/package-summary.html new file mode 100644 index 00000000..9112962d --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/package-summary.html @@ -0,0 +1,94 @@ + + + + +de.uni_halle.informatik.biodata.mp.db (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.db

+
+
+
package de.uni_halle.informatik.biodata.mp.db
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/db/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/db/package-tree.html new file mode 100644 index 00000000..bd6bb5e5 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/db/package-tree.html @@ -0,0 +1,70 @@ + + + + +de.uni_halle.informatik.biodata.mp.db Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.db

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/eco/DAG.html b/docs/de/uni_halle/informatik/biodata/mp/eco/DAG.html new file mode 100644 index 00000000..18ada444 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/eco/DAG.html @@ -0,0 +1,183 @@ + + + + +DAG (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.eco.DAG
+
+
+
+
public class DAG +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DAG

      +
      public DAG(org.biojava.nbio.ontology.Term term)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getRoot

      +
      public Node getRoot()
      +
      +
    • +
    • +
      +

      traverse

      +
      public void traverse(Node node, + int counter, + StringBuilder sb)
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/eco/Node.html b/docs/de/uni_halle/informatik/biodata/mp/eco/Node.html new file mode 100644 index 00000000..f4029deb --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/eco/Node.html @@ -0,0 +1,309 @@ + + + + +Node (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.eco.Node
+
+
+
+
public class Node +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Node

      +
      public Node(org.biojava.nbio.ontology.Term term)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      addChild

      +
      public void addChild(Node child)
      +
      +
    • +
    • +
      +

      addChild

      +
      public void addChild(org.biojava.nbio.ontology.Term child)
      +
      +
    • +
    • +
      +

      addParent

      +
      public void addParent(Node parent)
      +
      +
    • +
    • +
      +

      addParent

      +
      public void addParent(org.biojava.nbio.ontology.Term parent)
      +
      +
    • +
    • +
      +

      linkNodes

      +
      public static void linkNodes(Node parent, + Node child)
      +
      +
    • +
    • +
      +

      setChildren

      +
      public void setChildren(List<Node> children)
      +
      +
    • +
    • +
      +

      setParents

      +
      public void setParents(List<Node> parents)
      +
      +
    • +
    • +
      +

      setTerm

      +
      public void setTerm(org.biojava.nbio.ontology.Term term)
      +
      +
    • +
    • +
      +

      getChildren

      +
      public List<Node> getChildren()
      +
      +
    • +
    • +
      +

      getParents

      +
      public List<Node> getParents()
      +
      +
    • +
    • +
      +

      findTerm

      +
      public Node findTerm(org.biojava.nbio.ontology.Term term)
      +
      Returns the Node containing the specified Term or null, if not present
      +
      +
    • +
    • +
      +

      findParent

      +
      public Node findParent(Node node, + org.biojava.nbio.ontology.Term term)
      +
      +
    • +
    • +
      +

      findChild

      +
      public Node findChild(Node node, + org.biojava.nbio.ontology.Term term)
      +
      +
    • +
    • +
      +

      getTerm

      +
      public org.biojava.nbio.ontology.Term getTerm()
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object o)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/eco/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/eco/package-summary.html new file mode 100644 index 00000000..c9a2f0e6 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/eco/package-summary.html @@ -0,0 +1,83 @@ + + + + +de.uni_halle.informatik.biodata.mp.eco (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.eco

+
+
+
package de.uni_halle.informatik.biodata.mp.eco
+
+
    +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
     
    + +
     
    +
    +
    +
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/eco/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/eco/package-tree.html new file mode 100644 index 00000000..6e887276 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/eco/package-tree.html @@ -0,0 +1,71 @@ + + + + +de.uni_halle.informatik.biodata.mp.eco Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.eco

+Package Hierarchies: + +
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • de.uni_halle.informatik.biodata.mp.eco.DAG
    • +
    • de.uni_halle.informatik.biodata.mp.eco.Node
    • +
    +
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/fixing/AbstractFixer.html b/docs/de/uni_halle/informatik/biodata/mp/fixing/AbstractFixer.html new file mode 100644 index 00000000..98013111 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/fixing/AbstractFixer.html @@ -0,0 +1,192 @@ + + + + +AbstractFixer (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AbstractFixer

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.fixing.AbstractFixer
+
+
+
+
All Implemented Interfaces:
+
IReportStatus
+
+
+
Direct Known Subclasses:
+
CompartmentFixer, FBCSpeciesFixer, GroupsFixer, ListOfObjectivesFixer, ModelFixer, ReactionFixer, SBMLFixer, SpeciesFixer
+
+
+
public abstract class AbstractFixer +extends Object +implements IReportStatus
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      AbstractFixer

      +
      protected AbstractFixer(List<ProgressObserver> observers)
      +
      +
    • +
    • +
      +

      AbstractFixer

      +
      public AbstractFixer()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/fixing/CompartmentFixer.html b/docs/de/uni_halle/informatik/biodata/mp/fixing/CompartmentFixer.html new file mode 100644 index 00000000..8da96ecf --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/fixing/CompartmentFixer.html @@ -0,0 +1,188 @@ + + + + +CompartmentFixer (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CompartmentFixer

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.fixing.AbstractFixer +
de.uni_halle.informatik.biodata.mp.fixing.CompartmentFixer
+
+
+
+
+
All Implemented Interfaces:
+
IFixSBases<org.sbml.jsbml.Compartment>, IReportStatus
+
+
+
public class CompartmentFixer +extends AbstractFixer +implements IFixSBases<org.sbml.jsbml.Compartment>
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      fix

      +
      public void fix(List<org.sbml.jsbml.Compartment> rs)
      +
      +
      Specified by:
      +
      fix in interface IFixSBases<org.sbml.jsbml.Compartment>
      +
      +
      +
    • +
    • +
      +

      fix

      +
      public void fix(org.sbml.jsbml.Compartment compartment, + int index)
      +
      +
      Specified by:
      +
      fix in interface IFixSBases<org.sbml.jsbml.Compartment>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/fixing/FixingOptions.html b/docs/de/uni_halle/informatik/biodata/mp/fixing/FixingOptions.html new file mode 100644 index 00000000..a76bdf52 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/fixing/FixingOptions.html @@ -0,0 +1,156 @@ + + + + +FixingOptions (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface FixingOptions

+
+
+
+
All Superinterfaces:
+
de.zbit.util.prefs.KeyProvider
+
+
+
public interface FixingOptions +extends de.zbit.util.prefs.KeyProvider
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from interface de.zbit.util.prefs.KeyProvider

    +de.zbit.util.prefs.KeyProvider.Entry<T extends Object>, de.zbit.util.prefs.KeyProvider.Tools
    +
    +
  • + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final de.zbit.util.prefs.Option<Boolean>
    + +
     
    +
    static final de.zbit.util.prefs.Option<Double[]>
    + +
     
    +
    static final de.zbit.util.prefs.Option<String[]>
    + +
     
    +
    static final ResourceBundle
    + +
     
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      MESSAGES

      +
      static final ResourceBundle MESSAGES
      +
      +
    • +
    • +
      +

      DONT_FIX

      +
      static final de.zbit.util.prefs.Option<Boolean> DONT_FIX
      +
      +
    • +
    • +
      +

      FLUX_COEFFICIENTS

      +
      static final de.zbit.util.prefs.Option<Double[]> FLUX_COEFFICIENTS
      +
      +
    • +
    • +
      +

      FLUX_OBJECTIVES

      +
      static final de.zbit.util.prefs.Option<String[]> FLUX_OBJECTIVES
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/fixing/IFixSBases.html b/docs/de/uni_halle/informatik/biodata/mp/fixing/IFixSBases.html new file mode 100644 index 00000000..e847f017 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/fixing/IFixSBases.html @@ -0,0 +1,138 @@ + + + + +IFixSBases (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface IFixSBases<SBMLElement extends org.sbml.jsbml.SBase>

+
+
+
+
All Known Implementing Classes:
+
CompartmentFixer, FBCSpeciesFixer, GroupsFixer, ListOfObjectivesFixer, ModelFixer, ReactionFixer, SBMLFixer, SpeciesFixer
+
+
+
public interface IFixSBases<SBMLElement extends org.sbml.jsbml.SBase>
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    default void
    +
    fix(List<SBMLElement> elements)
    +
     
    +
    void
    +
    fix(SBMLElement element, + int index)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/fixing/IFixSpeciesReferences.html b/docs/de/uni_halle/informatik/biodata/mp/fixing/IFixSpeciesReferences.html new file mode 100644 index 00000000..c9d3e811 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/fixing/IFixSpeciesReferences.html @@ -0,0 +1,136 @@ + + + + +IFixSpeciesReferences (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface IFixSpeciesReferences

+
+
+
+
All Known Implementing Classes:
+
SpeciesReferenceFixer
+
+
+
public interface IFixSpeciesReferences
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    default void
    +
    fix(List<org.sbml.jsbml.SpeciesReference> elements)
    +
     
    +
    void
    +
    fix(org.sbml.jsbml.SpeciesReference element)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      fix

      +
      default void fix(List<org.sbml.jsbml.SpeciesReference> elements)
      +
      +
    • +
    • +
      +

      fix

      +
      void fix(org.sbml.jsbml.SpeciesReference element)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/fixing/ModelFixer.html b/docs/de/uni_halle/informatik/biodata/mp/fixing/ModelFixer.html new file mode 100644 index 00000000..b3ed342a --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/fixing/ModelFixer.html @@ -0,0 +1,178 @@ + + + + +ModelFixer (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ModelFixer

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.fixing.AbstractFixer +
de.uni_halle.informatik.biodata.mp.fixing.ModelFixer
+
+
+
+
+
All Implemented Interfaces:
+
IFixSBases<org.sbml.jsbml.Model>, IReportStatus
+
+
+
public class ModelFixer +extends AbstractFixer +implements IFixSBases<org.sbml.jsbml.Model>
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      fix

      +
      public void fix(org.sbml.jsbml.Model model, + int index)
      +
      +
      Specified by:
      +
      fix in interface IFixSBases<org.sbml.jsbml.Model>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/fixing/ReactionFixer.html b/docs/de/uni_halle/informatik/biodata/mp/fixing/ReactionFixer.html new file mode 100644 index 00000000..11aaa37c --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/fixing/ReactionFixer.html @@ -0,0 +1,188 @@ + + + + +ReactionFixer (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ReactionFixer

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.fixing.AbstractFixer +
de.uni_halle.informatik.biodata.mp.fixing.ReactionFixer
+
+
+
+
+
All Implemented Interfaces:
+
IFixSBases<org.sbml.jsbml.Reaction>, IReportStatus
+
+
+
public class ReactionFixer +extends AbstractFixer +implements IFixSBases<org.sbml.jsbml.Reaction>
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      fix

      +
      public void fix(List<org.sbml.jsbml.Reaction> rs)
      +
      +
      Specified by:
      +
      fix in interface IFixSBases<org.sbml.jsbml.Reaction>
      +
      +
      +
    • +
    • +
      +

      fix

      +
      public void fix(org.sbml.jsbml.Reaction reaction, + int index)
      +
      +
      Specified by:
      +
      fix in interface IFixSBases<org.sbml.jsbml.Reaction>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/fixing/SBMLFixer.html b/docs/de/uni_halle/informatik/biodata/mp/fixing/SBMLFixer.html new file mode 100644 index 00000000..44f5aa2c --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/fixing/SBMLFixer.html @@ -0,0 +1,186 @@ + + + + +SBMLFixer (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SBMLFixer

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.fixing.AbstractFixer +
de.uni_halle.informatik.biodata.mp.fixing.SBMLFixer
+
+
+
+
+
All Implemented Interfaces:
+
IFixSBases<org.sbml.jsbml.SBMLDocument>, IReportStatus
+
+
+
public class SBMLFixer +extends AbstractFixer +implements IFixSBases<org.sbml.jsbml.SBMLDocument>
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      fix

      +
      public void fix(org.sbml.jsbml.SBMLDocument sbmlDocument, + int index)
      +
      +
      Specified by:
      +
      fix in interface IFixSBases<org.sbml.jsbml.SBMLDocument>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/fixing/SpeciesFixer.html b/docs/de/uni_halle/informatik/biodata/mp/fixing/SpeciesFixer.html new file mode 100644 index 00000000..8f66f3f5 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/fixing/SpeciesFixer.html @@ -0,0 +1,188 @@ + + + + +SpeciesFixer (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SpeciesFixer

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.fixing.AbstractFixer +
de.uni_halle.informatik.biodata.mp.fixing.SpeciesFixer
+
+
+
+
+
All Implemented Interfaces:
+
IFixSBases<org.sbml.jsbml.Species>, IReportStatus
+
+
+
public class SpeciesFixer +extends AbstractFixer +implements IFixSBases<org.sbml.jsbml.Species>
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      fix

      +
      public void fix(List<org.sbml.jsbml.Species> rs)
      +
      +
      Specified by:
      +
      fix in interface IFixSBases<org.sbml.jsbml.Species>
      +
      +
      +
    • +
    • +
      +

      fix

      +
      public void fix(org.sbml.jsbml.Species species, + int index)
      +
      +
      Specified by:
      +
      fix in interface IFixSBases<org.sbml.jsbml.Species>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/fixing/SpeciesReferenceFixer.html b/docs/de/uni_halle/informatik/biodata/mp/fixing/SpeciesReferenceFixer.html new file mode 100644 index 00000000..2dc4315d --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/fixing/SpeciesReferenceFixer.html @@ -0,0 +1,169 @@ + + + + +SpeciesReferenceFixer (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SpeciesReferenceFixer

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.fixing.SpeciesReferenceFixer
+
+
+
+
All Implemented Interfaces:
+
IFixSpeciesReferences
+
+
+
public class SpeciesReferenceFixer +extends Object +implements IFixSpeciesReferences
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SpeciesReferenceFixer

      +
      public SpeciesReferenceFixer()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      fix

      +
      public void fix(org.sbml.jsbml.SpeciesReference sr)
      +
      +
      Specified by:
      +
      fix in interface IFixSpeciesReferences
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/fbc/FBCSpeciesFixer.html b/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/fbc/FBCSpeciesFixer.html new file mode 100644 index 00000000..14257e6f --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/fbc/FBCSpeciesFixer.html @@ -0,0 +1,176 @@ + + + + +FBCSpeciesFixer (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class FBCSpeciesFixer

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.fixing.AbstractFixer +
de.uni_halle.informatik.biodata.mp.fixing.ext.fbc.FBCSpeciesFixer
+
+
+
+
+
All Implemented Interfaces:
+
IFixSBases<org.sbml.jsbml.Species>, IReportStatus
+
+
+
public class FBCSpeciesFixer +extends AbstractFixer +implements IFixSBases<org.sbml.jsbml.Species>
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      FBCSpeciesFixer

      +
      public FBCSpeciesFixer()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      fix

      +
      public void fix(org.sbml.jsbml.Species species, + int index)
      +
      +
      Specified by:
      +
      fix in interface IFixSBases<org.sbml.jsbml.Species>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/fbc/ListOfObjectivesFixer.html b/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/fbc/ListOfObjectivesFixer.html new file mode 100644 index 00000000..e21dbcef --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/fbc/ListOfObjectivesFixer.html @@ -0,0 +1,180 @@ + + + + +ListOfObjectivesFixer (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ListOfObjectivesFixer

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.fixing.AbstractFixer +
de.uni_halle.informatik.biodata.mp.fixing.ext.fbc.ListOfObjectivesFixer
+
+
+
+
+
All Implemented Interfaces:
+
IFixSBases<org.sbml.jsbml.ext.fbc.ListOfObjectives>, IReportStatus
+
+
+
public class ListOfObjectivesFixer +extends AbstractFixer +implements IFixSBases<org.sbml.jsbml.ext.fbc.ListOfObjectives>
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ListOfObjectivesFixer

      +
      public ListOfObjectivesFixer(FixingParameters fixingParameters, + org.sbml.jsbml.ext.fbc.FBCModelPlugin modelPlug, + List<ProgressObserver> observers)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      fix

      +
      public void fix(org.sbml.jsbml.ext.fbc.ListOfObjectives objectives, + int index)
      +
      +
      Specified by:
      +
      fix in interface IFixSBases<org.sbml.jsbml.ext.fbc.ListOfObjectives>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/fbc/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/fbc/package-summary.html new file mode 100644 index 00000000..183e2eba --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/fbc/package-summary.html @@ -0,0 +1,83 @@ + + + + +de.uni_halle.informatik.biodata.mp.fixing.ext.fbc (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.fixing.ext.fbc

+
+
+
package de.uni_halle.informatik.biodata.mp.fixing.ext.fbc
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/fbc/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/fbc/package-tree.html new file mode 100644 index 00000000..b9701299 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/fbc/package-tree.html @@ -0,0 +1,75 @@ + + + + +de.uni_halle.informatik.biodata.mp.fixing.ext.fbc Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.fixing.ext.fbc

+Package Hierarchies: + +
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • de.uni_halle.informatik.biodata.mp.fixing.AbstractFixer (implements de.uni_halle.informatik.biodata.mp.reporting.IReportStatus) +
        +
      • de.uni_halle.informatik.biodata.mp.fixing.ext.fbc.FBCSpeciesFixer (implements de.uni_halle.informatik.biodata.mp.fixing.IFixSBases<SBMLElement>)
      • +
      • de.uni_halle.informatik.biodata.mp.fixing.ext.fbc.ListOfObjectivesFixer (implements de.uni_halle.informatik.biodata.mp.fixing.IFixSBases<SBMLElement>)
      • +
      +
    • +
    +
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/groups/GroupsFixer.html b/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/groups/GroupsFixer.html new file mode 100644 index 00000000..8e8f74b6 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/groups/GroupsFixer.html @@ -0,0 +1,186 @@ + + + + +GroupsFixer (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.fixing.AbstractFixer +
de.uni_halle.informatik.biodata.mp.fixing.ext.groups.GroupsFixer
+
+
+
+
+
All Implemented Interfaces:
+
IFixSBases<org.sbml.jsbml.ext.groups.Group>, IReportStatus
+
+
+
public class GroupsFixer +extends AbstractFixer +implements IFixSBases<org.sbml.jsbml.ext.groups.Group>
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      fix

      +
      public void fix(List<org.sbml.jsbml.ext.groups.Group> rs)
      +
      +
      Specified by:
      +
      fix in interface IFixSBases<org.sbml.jsbml.ext.groups.Group>
      +
      +
      +
    • +
    • +
      +

      fix

      +
      public void fix(org.sbml.jsbml.ext.groups.Group group, + int index)
      +
      +
      Specified by:
      +
      fix in interface IFixSBases<org.sbml.jsbml.ext.groups.Group>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/groups/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/groups/package-summary.html new file mode 100644 index 00000000..a747c805 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/groups/package-summary.html @@ -0,0 +1,81 @@ + + + + +de.uni_halle.informatik.biodata.mp.fixing.ext.groups (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.fixing.ext.groups

+
+
+
package de.uni_halle.informatik.biodata.mp.fixing.ext.groups
+
+
    +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
     
    +
    +
    +
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/groups/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/groups/package-tree.html new file mode 100644 index 00000000..e374b241 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/fixing/ext/groups/package-tree.html @@ -0,0 +1,74 @@ + + + + +de.uni_halle.informatik.biodata.mp.fixing.ext.groups Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.fixing.ext.groups

+Package Hierarchies: + +
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • de.uni_halle.informatik.biodata.mp.fixing.AbstractFixer (implements de.uni_halle.informatik.biodata.mp.reporting.IReportStatus) +
        +
      • de.uni_halle.informatik.biodata.mp.fixing.ext.groups.GroupsFixer (implements de.uni_halle.informatik.biodata.mp.fixing.IFixSBases<SBMLElement>)
      • +
      +
    • +
    +
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/fixing/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/fixing/package-summary.html new file mode 100644 index 00000000..8880a5ad --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/fixing/package-summary.html @@ -0,0 +1,105 @@ + + + + +de.uni_halle.informatik.biodata.mp.fixing (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.fixing

+
+
+
package de.uni_halle.informatik.biodata.mp.fixing
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/fixing/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/fixing/package-tree.html new file mode 100644 index 00000000..f18c800b --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/fixing/package-tree.html @@ -0,0 +1,91 @@ + + + + +de.uni_halle.informatik.biodata.mp.fixing Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.fixing

+Package Hierarchies: + +
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • de.uni_halle.informatik.biodata.mp.fixing.AbstractFixer (implements de.uni_halle.informatik.biodata.mp.reporting.IReportStatus) +
        +
      • de.uni_halle.informatik.biodata.mp.fixing.CompartmentFixer (implements de.uni_halle.informatik.biodata.mp.fixing.IFixSBases<SBMLElement>)
      • +
      • de.uni_halle.informatik.biodata.mp.fixing.ModelFixer (implements de.uni_halle.informatik.biodata.mp.fixing.IFixSBases<SBMLElement>)
      • +
      • de.uni_halle.informatik.biodata.mp.fixing.ReactionFixer (implements de.uni_halle.informatik.biodata.mp.fixing.IFixSBases<SBMLElement>)
      • +
      • de.uni_halle.informatik.biodata.mp.fixing.SBMLFixer (implements de.uni_halle.informatik.biodata.mp.fixing.IFixSBases<SBMLElement>)
      • +
      • de.uni_halle.informatik.biodata.mp.fixing.SpeciesFixer (implements de.uni_halle.informatik.biodata.mp.fixing.IFixSBases<SBMLElement>)
      • +
      +
    • +
    • de.uni_halle.informatik.biodata.mp.fixing.SpeciesReferenceFixer (implements de.uni_halle.informatik.biodata.mp.fixing.IFixSpeciesReferences)
    • +
    +
  • +
+
+
+

Interface Hierarchy

+
    +
  • de.uni_halle.informatik.biodata.mp.fixing.IFixSBases<SBMLElement>
  • +
  • de.uni_halle.informatik.biodata.mp.fixing.IFixSpeciesReferences
  • +
  • de.zbit.util.prefs.KeyProvider + +
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/CombineArchive.html b/docs/de/uni_halle/informatik/biodata/mp/io/CombineArchive.html new file mode 100644 index 00000000..f2a2481f --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/CombineArchive.html @@ -0,0 +1,245 @@ + + + + +CombineArchive (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CombineArchive

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.io.CombineArchive
+
+
+
+
public class CombineArchive +extends Object
+
The CombineArchive class provides functionality to create a COMBINE archive from an SBML document. + It supports writing an RDF glossary derived from the SBML document and packaging both the SBML file and its + RDF glossary into a single COMBINE archive file. This class handles the creation, formatting, and management + of files necessary for the archive, ensuring they adhere to the COMBINE specification. + +

Key functionalities include:

+
    +
  • Generating RDF glossary from the SBML document annotations.
  • +
  • Writing the RDF glossary to a file with proper formatting using JTidy.
  • +
  • Creating a COMBINE archive that includes the SBML file and the RDF glossary.
  • +
  • Handling file operations such as checking for existing files, deleting, and writing new files.
  • +
+ +

This class is essential for users looking to export SBML models and their annotations in a standardized + archive format that can be easily shared and processed by various bioinformatics tools.

+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/DeleteOnCloseFileInputStream.html b/docs/de/uni_halle/informatik/biodata/mp/io/DeleteOnCloseFileInputStream.html new file mode 100644 index 00000000..0cdd0c57 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/DeleteOnCloseFileInputStream.html @@ -0,0 +1,200 @@ + + + + +DeleteOnCloseFileInputStream (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DeleteOnCloseFileInputStream

+
+
java.lang.Object +
java.io.InputStream +
java.io.FileInputStream +
de.uni_halle.informatik.biodata.mp.io.DeleteOnCloseFileInputStream
+
+
+
+
+
+
All Implemented Interfaces:
+
Closeable, AutoCloseable
+
+
+
public class DeleteOnCloseFileInputStream +extends FileInputStream
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/IOOptions.OutputType.html b/docs/de/uni_halle/informatik/biodata/mp/io/IOOptions.OutputType.html new file mode 100644 index 00000000..58016260 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/IOOptions.OutputType.html @@ -0,0 +1,237 @@ + + + + +IOOptions.OutputType (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class IOOptions.OutputType

+
+
java.lang.Object +
java.lang.Enum<IOOptions.OutputType> +
de.uni_halle.informatik.biodata.mp.io.IOOptions.OutputType
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<IOOptions.OutputType>, Constable
+
+
+
Enclosing interface:
+
IOOptions
+
+
+
public static enum IOOptions.OutputType +extends Enum<IOOptions.OutputType>
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static IOOptions.OutputType[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static IOOptions.OutputType valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    • +
      +

      getFileExtension

      +
      public String getFileExtension()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/IOOptions.html b/docs/de/uni_halle/informatik/biodata/mp/io/IOOptions.html new file mode 100644 index 00000000..bde3a30b --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/IOOptions.html @@ -0,0 +1,152 @@ + + + + +IOOptions (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface IOOptions

+
+
+
+
All Superinterfaces:
+
de.zbit.util.prefs.KeyProvider
+
+
+
public interface IOOptions +extends de.zbit.util.prefs.KeyProvider
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    Nested Classes
    +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    static enum 
    + +
     
    +
    +
    +

    Nested classes/interfaces inherited from interface de.zbit.util.prefs.KeyProvider

    +de.zbit.util.prefs.KeyProvider.Entry<T extends Object>, de.zbit.util.prefs.KeyProvider.Tools
    +
    +
  • + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final ResourceBundle
    + +
     
    +
    static final de.zbit.util.prefs.Option<IOOptions.OutputType>
    + +
    +
    Decides whether the output file should directly be compressed and if + so, which archive type should be used.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      MESSAGES

      +
      static final ResourceBundle MESSAGES
      +
      +
    • +
    • +
      +

      OUTPUT_TYPE

      +
      static final de.zbit.util.prefs.Option<IOOptions.OutputType> OUTPUT_TYPE
      +
      Decides whether the output file should directly be compressed and if + so, which archive type should be used.
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/IReadModelsFromFile.html b/docs/de/uni_halle/informatik/biodata/mp/io/IReadModelsFromFile.html new file mode 100644 index 00000000..7d1299ed --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/IReadModelsFromFile.html @@ -0,0 +1,132 @@ + + + + +IReadModelsFromFile (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface IReadModelsFromFile

+
+
+
+
All Known Implementing Classes:
+
ModelReader
+
+
+
public interface IReadModelsFromFile
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    org.sbml.jsbml.SBMLDocument
    +
    read(File input)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/IWriteModels.html b/docs/de/uni_halle/informatik/biodata/mp/io/IWriteModels.html new file mode 100644 index 00000000..782c60de --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/IWriteModels.html @@ -0,0 +1,132 @@ + + + + +IWriteModels (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface IWriteModels

+
+
+
+
All Known Implementing Classes:
+
ModelWriter
+
+
+
public interface IWriteModels
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    write(org.sbml.jsbml.SBMLDocument doc)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/IWriteModelsToFile.html b/docs/de/uni_halle/informatik/biodata/mp/io/IWriteModelsToFile.html new file mode 100644 index 00000000..7f36ec1b --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/IWriteModelsToFile.html @@ -0,0 +1,134 @@ + + + + +IWriteModelsToFile (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface IWriteModelsToFile

+
+
+
+
All Known Implementing Classes:
+
ModelWriter
+
+
+
public interface IWriteModelsToFile
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    write(org.sbml.jsbml.SBMLDocument doc, + File output)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/ModelReader.html b/docs/de/uni_halle/informatik/biodata/mp/io/ModelReader.html new file mode 100644 index 00000000..cf5dd371 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/ModelReader.html @@ -0,0 +1,171 @@ + + + + +ModelReader (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ModelReader

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.io.ModelReader
+
+
+
+
All Implemented Interfaces:
+
IReadModelsFromFile
+
+
+
public class ModelReader +extends Object +implements IReadModelsFromFile
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/ModelReaderException.html b/docs/de/uni_halle/informatik/biodata/mp/io/ModelReaderException.html new file mode 100644 index 00000000..0d52d938 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/ModelReaderException.html @@ -0,0 +1,188 @@ + + + + +ModelReaderException (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ModelReaderException

+
+
java.lang.Object +
java.lang.Throwable +
de.uni_halle.informatik.biodata.mp.io.ModelReaderException
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class ModelReaderException +extends Throwable
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ModelReaderException

      +
      public ModelReaderException(String s, + File input)
      +
      +
    • +
    • +
      +

      ModelReaderException

      +
      public ModelReaderException(String s, + Exception e, + File input)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      input

      +
      public File input()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/ModelWriter.html b/docs/de/uni_halle/informatik/biodata/mp/io/ModelWriter.html new file mode 100644 index 00000000..a1802af2 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/ModelWriter.html @@ -0,0 +1,187 @@ + + + + +ModelWriter (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ModelWriter

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.io.ModelWriter
+
+
+
+
All Implemented Interfaces:
+
IWriteModels, IWriteModelsToFile
+
+
+
public class ModelWriter +extends Object +implements IWriteModelsToFile, IWriteModels
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/ModelWriterException.html b/docs/de/uni_halle/informatik/biodata/mp/io/ModelWriterException.html new file mode 100644 index 00000000..dd8a2bbe --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/ModelWriterException.html @@ -0,0 +1,214 @@ + + + + +ModelWriterException (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ModelWriterException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
de.uni_halle.informatik.biodata.mp.io.ModelWriterException
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class ModelWriterException +extends Exception
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ModelWriterException

      +
      public ModelWriterException(String s, + Exception e, + org.sbml.jsbml.SBMLDocument doc, + File output)
      +
      +
    • +
    • +
      +

      ModelWriterException

      +
      public ModelWriterException(String s, + org.sbml.jsbml.SBMLDocument doc, + File output, + File archiveFile)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      doc

      +
      public org.sbml.jsbml.SBMLDocument doc()
      +
      +
    • +
    • +
      +

      output

      +
      public File output()
      +
      +
    • +
    • +
      +

      archiveFile

      +
      public File archiveFile()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/SBMLFileUtils.FileType.html b/docs/de/uni_halle/informatik/biodata/mp/io/SBMLFileUtils.FileType.html new file mode 100644 index 00000000..179c5cbf --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/SBMLFileUtils.FileType.html @@ -0,0 +1,237 @@ + + + + +SBMLFileUtils.FileType (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class SBMLFileUtils.FileType

+
+
java.lang.Object +
java.lang.Enum<SBMLFileUtils.FileType> +
de.uni_halle.informatik.biodata.mp.io.SBMLFileUtils.FileType
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<SBMLFileUtils.FileType>, Constable
+
+
+
Enclosing class:
+
SBMLFileUtils
+
+
+
public static enum SBMLFileUtils.FileType +extends Enum<SBMLFileUtils.FileType>
+
Possible FileTypes of input file
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static SBMLFileUtils.FileType[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static SBMLFileUtils.FileType valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/SBMLFileUtils.html b/docs/de/uni_halle/informatik/biodata/mp/io/SBMLFileUtils.html new file mode 100644 index 00000000..d1259d0b --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/SBMLFileUtils.html @@ -0,0 +1,238 @@ + + + + +SBMLFileUtils (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SBMLFileUtils

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.io.SBMLFileUtils
+
+
+
+
public class SBMLFileUtils +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SBMLFileUtils

      +
      public SBMLFileUtils()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getFileType

      +
      public static SBMLFileUtils.FileType getFileType(File input)
      +
      Determines the type of the input file based on its extension or content. + This method checks if the file is an SBML, MatLab, or JSON file by utilizing the SBFileFilter class.
      +
      +
      Parameters:
      +
      input - The file whose type needs to be determined.
      +
      Returns:
      +
      FileType The type of the file, which can be SBML_FILE, MAT_FILE, JSON_FILE, or UNKNOWN if the type cannot be determined.
      +
      +
      +
    • +
    • +
      +

      getOutputFileName

      +
      public static File getOutputFileName(File file, + File output)
      +
      Fix output file name to contain xml extension
      +
      +
      Parameters:
      +
      file - : + File to get name for in input directory
      +
      output - : + Path to output directory
      +
      Returns:
      +
      File in output directory with correct file ending for SBML
      +
      +
      +
    • +
    • +
      +

      isDirectory

      +
      public static boolean isDirectory(File file)
      +
      Check if file is directory by calling File.isDirectory() on an existing file or check presence of '.' in + output.getName(), if this is not the case
      +
      +
    • +
    • +
      +

      checkCreateOutDir

      +
      public static void checkCreateOutDir(File output)
      +
      Creates output directory or output parent directory, if necessary
      +
      +
      Parameters:
      +
      output - : + File denoting output location
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/UpdateListener.html b/docs/de/uni_halle/informatik/biodata/mp/io/UpdateListener.html new file mode 100644 index 00000000..9f907ccb --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/UpdateListener.html @@ -0,0 +1,219 @@ + + + + +UpdateListener (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class UpdateListener

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.io.UpdateListener
+
+
+
+
All Implemented Interfaces:
+
PropertyChangeListener, EventListener, org.sbml.jsbml.util.TreeNodeChangeListener
+
+
+
public class UpdateListener +extends Object +implements org.sbml.jsbml.util.TreeNodeChangeListener
+
The UpdateListener class implements the TreeNodeChangeListener to monitor and respond to changes + within an SBML model's structure. This class specifically handles updates to + identifiers (IDs) of model elements like reactions and gene products, ensuring that all references remain consistent + across the model. It also manages the addition of new nodes to the model, particularly focusing on gene product + references, and maintains a mapping from gene identifiers to their associated gene product references. +

+ The TreeNodeChangeListener base class provides the interface for receiving notifications when changes occur + to any node within a tree structure, which in the context of SBML, corresponds to elements within the model's + hierarchical structure.

+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
    +
    Constructs an UpdateListener instance and initializes the geneIdToAssociation map.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    Handles the event when a new node is added to the TreeNode structure.
    +
    +
    void
    +
    nodeRemoved(org.sbml.jsbml.util.TreeNodeRemovedEvent event)
    +
     
    +
    void
    + +
    +
    Responds to property change events, specifically focusing on changes to the ID property of tree nodes.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      UpdateListener

      +
      public UpdateListener()
      +
      Constructs an UpdateListener instance and initializes the geneIdToAssociation map.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      propertyChange

      +
      public void propertyChange(PropertyChangeEvent evt)
      +
      Responds to property change events, specifically focusing on changes to the ID property of tree nodes. + This method handles the update of IDs within the model, ensuring that all references to the old ID + are updated to the new ID across various components such as reactions and gene products.
      +
      +
      Specified by:
      +
      propertyChange in interface PropertyChangeListener
      +
      Parameters:
      +
      evt - The property change event that contains information about the old and new values of the property.
      +
      +
      +
    • +
    • +
      +

      nodeAdded

      +
      public void nodeAdded(TreeNode node)
      +
      Handles the event when a new node is added to the TreeNode structure. + Specifically, when a GeneProductRef node is added, this method updates the + geneIdToAssociation map to include this new association. It ensures that each + gene product ID is mapped to a set of its associated GeneProductRefs.
      +
      +
      Specified by:
      +
      nodeAdded in interface org.sbml.jsbml.util.TreeNodeChangeListener
      +
      Parameters:
      +
      node - The TreeNode that has been added. Expected to be an instance of GeneProductRef.
      +
      +
      +
    • +
    • +
      +

      nodeRemoved

      +
      public void nodeRemoved(org.sbml.jsbml.util.TreeNodeRemovedEvent event)
      +
      +
      Specified by:
      +
      nodeRemoved in interface org.sbml.jsbml.util.TreeNodeChangeListener
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/io/package-summary.html new file mode 100644 index 00000000..c5b5b2ec --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/package-summary.html @@ -0,0 +1,120 @@ + + + + +de.uni_halle.informatik.biodata.mp.io (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.io

+
+
+
package de.uni_halle.informatik.biodata.mp.io
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/io/package-tree.html new file mode 100644 index 00000000..d8d7d16b --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/package-tree.html @@ -0,0 +1,121 @@ + + + + +de.uni_halle.informatik.biodata.mp.io Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.io

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/COBRAUtils.html b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/COBRAUtils.html new file mode 100644 index 00000000..8acc1444 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/COBRAUtils.html @@ -0,0 +1,215 @@ + + + + +COBRAUtils (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.io.parsers.cobra.COBRAUtils
+
+
+
+
public class COBRAUtils +extends Object
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static String
    +
    asString(us.hebi.matlab.mat.types.Array array)
    +
     
    +
    static String
    +
    asString(us.hebi.matlab.mat.types.Array array, + String parentName, + int parentIndex)
    +
     
    +
    static String
    + +
    +
    Necessary to check for a special whitespace (code 160) at beginning of id + (iCHOv1.mat, possibly other models) and to remove trailing ';'
    +
    +
    static boolean
    +
    exists(us.hebi.matlab.mat.types.Array cell, + int i)
    +
     
    +
    static boolean
    + +
     
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      COBRAUtils

      +
      public COBRAUtils()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isEmptyString

      +
      public static boolean isEmptyString(String string)
      +
      +
      Parameters:
      +
      string - the String to be tested.
      +
      Returns:
      +
      true if the given String is either null or + empty or equals empty square brackets.
      +
      +
      +
    • +
    • +
      +

      checkId

      +
      public static String checkId(String id)
      +
      Necessary to check for a special whitespace (code 160) at beginning of id + (iCHOv1.mat, possibly other models) and to remove trailing ';'
      +
      +
      Returns:
      +
      trimmed id without ';' at the end
      +
      +
      +
    • +
    • +
      +

      exists

      +
      public static boolean exists(us.hebi.matlab.mat.types.Array cell, + int i)
      +
      +
    • +
    • +
      +

      asString

      +
      public static String asString(us.hebi.matlab.mat.types.Array array)
      +
      +
    • +
    • +
      +

      asString

      +
      public static String asString(us.hebi.matlab.mat.types.Array array, + String parentName, + int parentIndex)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/GeneParser.html b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/GeneParser.html new file mode 100644 index 00000000..f43365f8 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/GeneParser.html @@ -0,0 +1,159 @@ + + + + +GeneParser (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.io.parsers.cobra.GeneParser
+
+
+
+
public class GeneParser +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      GeneParser

      +
      public GeneParser(org.sbml.jsbml.ext.fbc.FBCModelPlugin plugin, + int index)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      parse

      +
      public void parse()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/MatlabParser.html b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/MatlabParser.html new file mode 100644 index 00000000..d8e54892 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/MatlabParser.html @@ -0,0 +1,164 @@ + + + + +MatlabParser (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.io.parsers.cobra.MatlabParser
+
+
+
+
public class MatlabParser +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/ModelField.html b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/ModelField.html new file mode 100644 index 00000000..47a19385 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/ModelField.html @@ -0,0 +1,928 @@ + + + + +ModelField (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class ModelField

+
+
java.lang.Object +
java.lang.Enum<ModelField> +
de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<ModelField>, Constable
+
+
+
public enum ModelField +extends Enum<ModelField>
+
For more information about COBRA model fields, see the following + Supplementary + Material.
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from class java.lang.Enum

    +Enum.EnumDesc<E extends Enum<E>>
    +
    +
  • + +
  • +
    +

    Enum Constant Summary

    +
    Enum Constants
    +
    +
    Enum Constant
    +
    Description
    + +
    +
    Matrix of constraints, form μ ⋅ A ⋅ v + B ⋅ v = + 0 or g(μ) ⋅ A ⋅ v + B ⋅ v = 0 with + g(μ) being some continuous nonlinear function of μ;
    +
    + +
    +
    Can be part of the description.
    +
    + +
    +
    The bound vector of metabolite concentration change rates (usually but not + always all zero, i.e., steady-state): S ⋅ v = b.
    +
    + +
    +
    Matrix of constraints, form μ ⋅ A ⋅ v + B ⋅ v = + 0 or g(μ) ⋅ A ⋅ v + B ⋅ v = 0 with + g(μ) being some continuous nonlinear function of μ;
    +
    + +
    +
    The objective function vector for max(c' ⋅ v) for corresponding + reactions.
    +
    + +
    +
    Literature references for the reactions.
    +
    + +
    +
    TODO
    +
    + +
    +
    These are human-readable notes for reactions.
    +
    + +
    +
    Confidence score for each reaction.
    +
    + +
    +
    The csense field expresses equality constraints in the model.
    +
    + +
    +
    Human-redable information about the model, e.g., the model name.
    +
    + +
    +
    The "disabled" field comes from the reconstruction tool rBioNet.
    +
    + +
    +
    The Enzyme Commission codes for the reactions.
    +
    + +
    +
    Can be part of the description.
    +
    + +
    +
    Can be part of the description.
    +
    + +
    +
    The list of all genes in the model, where each contained gene corresponds + to a AbstractSBase.getId().
    +
    + +
    +
    Can be part of the description.
    +
    + +
    +
    Boolean gene-protein-reaction (GPR) rules in a readable format (AND/OR).
    +
    + +
    +
    Lower reaction flux bounds for corresponding reactions
    +
    + +
    +
    Value of charge for corresponding metabolite.
    +
    + +
    +
    Optional: if present, it must have same dimension as mets.
    +
    + +
    +
    Elemental formula for each metabolite.
    +
    + +
    +
    Optional: if present, it must have same dimension as mets.
    +
    + +
    +
    Inichi String for each corresponding metabolite.
    +
    + +
    +
    KEGG ID for each corresponding metabolite.
    +
    + +
    +
    Descriptive metabolite names, must have same dimension as mets.
    +
    + +
    +
    Pub Chem ID for each corresponding metabolite.
    +
    + +
    +
    Metabolite name abbreviation; metabolite ID; order corresponds to S matrix.
    +
    + +
    +
    Optional: if present, it must have same dimension as mets.
    +
    + +
    +
    Can be part of the description.
    +
    + +
    +
    Can be part of the description.
    +
    + +
    +
    Can be part of the description.
    +
    + +
    +
    Objective sense, i.e., to minimize or maximize the objective.
    +
    + +
    +
    Proteins associated with each reaction.
    +
    + +
    +
    A vector consisting of zeros and ones that translate to binary and determine + if the corresponding reaction of that index is reversible (1) or not (0).
    +
    + +
    +
    Boolean rule for the corresponding reaction which defines gene-reaction + relationship.
    +
    + +
    +
    TODO: description COG
    +
    + +
    +
    Cell array of strings, can any value in a range of 0 to 4.
    +
    + +
    +
    .
    +
    + +
    +
    E.
    +
    + +
    +
    A matrix with rows corresponding to reaction list and columns corresponding + to gene list.
    +
    + +
    +
    Reaction identifiers in KEGG, but sometimes also contains ecNumbers.
    +
    + +
    +
    TODO: description KEGG Orthology
    +
    + +
    +
    Descriptive reaction names, length of this array must be identical to the + number of reactions.
    +
    + +
    +
    Cell array of strings.
    +
    + +
    +
    Cell array of strings which can contain optional information on references + for each specific reaction.
    +
    + +
    +
    Reaction BiGG ids.
    +
    + +
    +
    The Systems Biology Ontology Term to describe the role of a reaction.
    +
    + +
    +
    Stoichiometric matrix in sparse format.
    +
    + +
    +
    This defines groups of reactions that belong to a common reaction subsystem.
    +
    + +
    +
    Upper reaction flux bounds for corresponding reactions
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static List<String>
    + +
    +
    Get known model field variant name for a struct field, disregarding upper/lowercase discrepancies, if case can't be + matched
    +
    +
    static List<String>
    + +
    +
    Get known model field variant name for a struct field, disregarding upper/lowercase discrepancies using struct + field as prefix of knwon model field
    +
    +
    static ModelField
    + +
    +
    Returns the enum constant of this class with the specified name.
    +
    +
    static ModelField[]
    + +
    +
    Returns an array containing the constants of this enum class, in +the order they are declared.
    +
    +
    +
    +
    + +
    +

    Methods inherited from class java.lang.Object

    +getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      A

      +
      public static final ModelField A
      +
      Matrix of constraints, form μ ⋅ A ⋅ v + B ⋅ v = + 0 or g(μ) ⋅ A ⋅ v + B ⋅ v = 0 with + g(μ) being some continuous nonlinear function of μ;
      +
      +
      See Also:
      +
      +
        +
      • B
      • +
      +
      +
      +
      +
    • +
    • +
      +

      author

      +
      public static final ModelField author
      +
      Can be part of the description.
      +
      +
    • +
    • +
      +

      b

      +
      public static final ModelField b
      +
      The bound vector of metabolite concentration change rates (usually but not + always all zero, i.e., steady-state): S ⋅ v = b. Must have same + dimension as mets. +

      + The mat files where the b vector isn't zero include constraints that couple + the flux through the model's reactions to the BOF. These are mat files + joining reconstructions of two or more species. These constraints are + represented in the b and A fields. +

      + If this cannot be expressed in SBML, then an error message would be + appropriate. The SBML file would probably not result in a functional joined + model though. +

      + Data type: double array. Length must be identical to the number of reactions.

      +
      +
    • +
    • +
      +

      B

      +
      public static final ModelField B
      +
      Matrix of constraints, form μ ⋅ A ⋅ v + B ⋅ v = + 0 or g(μ) ⋅ A ⋅ v + B ⋅ v = 0 with + g(μ) being some continuous nonlinear function of μ;
      +
      +
      See Also:
      +
      +
        +
      • A
      • +
      +
      +
      +
      +
    • +
    • +
      +

      c

      +
      public static final ModelField c
      +
      The objective function vector for max(c' ⋅ v) for corresponding + reactions. The dimension of this element must be identical to the number of + reactions. Dimensions that have a zero value in this field, do not + contribute to the objective function. +

      + Data type: double array. + Corresponds to FluxObjective.getCoefficient().

      +
      +
    • +
    • +
      +

      citations

      +
      public static final ModelField citations
      +
      Literature references for the reactions.
      +
      +
    • +
    • +
      +

      coefficients

      +
      public static final ModelField coefficients
      +
      TODO
      +
      +
    • +
    • +
      +

      comments

      +
      public static final ModelField comments
      +
      These are human-readable notes for reactions.
      +
      +
    • +
    • +
      +

      confidenceScores

      +
      public static final ModelField confidenceScores
      +
      Confidence score for each reaction. + Confidence scores must have the same dimension as the reactions. These are + an optional input, but it provides additional information on the reaction + content. Adding them as notes would be a good idea.
      +
      +
    • +
    • +
      +

      csense

      +
      public static final ModelField csense
      +
      The csense field expresses equality constraints in the model. If this field + is not defin object.getType();ed in the reconstruction, equality constraints are assumed when + performing the optimization. Its value is a String whose length + must equal the number of metabolites. An 'E' at index i means that + in this dimension S ⋅ v = b (equality), 'G' means ≥ greater + than or equal to and an 'L' denotes ≤.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      description

      +
      public static final ModelField description
      +
      Human-redable information about the model, e.g., the model name. This field + can optionally have sub-entries.
      +
      +
    • +
    • +
      +

      disabled

      +
      public static final ModelField disabled
      +
      The "disabled" field comes from the reconstruction tool rBioNet. + The tool offers the option to disable certain reactions. + If no reactions are disabled, then the "disabled" field in empty.
      +
      +
    • +
    • +
      +

      ecNumbers

      +
      public static final ModelField ecNumbers
      +
      The Enzyme Commission codes for the reactions. Length must be identical to + the number of reactions.
      +
      +
    • +
    • +
      +

      genedate

      +
      public static final ModelField genedate
      +
      Can be part of the description.
      +
      +
    • +
    • +
      +

      geneindex

      +
      public static final ModelField geneindex
      +
      Can be part of the description.
      +
      +
    • +
    • +
      +

      genes

      +
      public static final ModelField genes
      +
      The list of all genes in the model, where each contained gene corresponds + to a AbstractSBase.getId(). Data type: cell array of string.
      +
      +
    • +
    • +
      +

      genesource

      +
      public static final ModelField genesource
      +
      Can be part of the description.
      +
      +
    • +
    • +
      +

      grRules

      +
      public static final ModelField grRules
      +
      Boolean gene-protein-reaction (GPR) rules in a readable format (AND/OR). + Data type: cell array of strings. + Example: (8639.1) or (26.1) or (314.2) or (314.1). Dimensions must + be identical to the number of reactions. Corresponds to + GeneProductAssociation
      +
      +
    • +
    • +
      +

      lb

      +
      public static final ModelField lb
      +
      Lower reaction flux bounds for corresponding reactions
      +
      +
    • +
    • +
      +

      metCharge

      +
      public static final ModelField metCharge
      +
      Value of charge for corresponding metabolite. + Must have same dimension as mets. Data type: double array. + For SBML Level < 3, it corresponds to Species.getCharge(). Since + Level 3, it corresponds to FBCSpeciesPlugin.getCharge().
      +
      +
    • +
    • +
      +

      metCHEBIID

      +
      public static final ModelField metCHEBIID
      +
      Optional: if present, it must have same dimension as mets. + Data type: cell array of strings. Corresponds to the annotation of + Species
      +
      +
    • +
    • +
      +

      metFormulas

      +
      public static final ModelField metFormulas
      +
      Elemental formula for each metabolite. This must have same dimension as + mets. Datatype: cell array of strings. Corresponds to + FBCSpeciesPlugin.getChemicalFormula().
      +
      +
    • +
    • +
      +

      metHMDB

      +
      public static final ModelField metHMDB
      +
      Optional: if present, it must have same dimension as mets. + Data type: cell array of strings.
      +
      +
    • +
    • +
      +

      metInchiString

      +
      public static final ModelField metInchiString
      +
      Inichi String for each corresponding metabolite. + Optional: if present, it must have same dimension as mets. + Data type: cell array of strings.
      +
      +
    • +
    • +
      +

      metKeggID

      +
      public static final ModelField metKeggID
      +
      KEGG ID for each corresponding metabolite. + Optional: if present, it must have same dimension as mets. + Data type: cell array of strings.
      +
      +
    • +
    • +
      +

      metNames

      +
      public static final ModelField metNames
      +
      Descriptive metabolite names, must have same dimension as mets. + Datatype: cell array of strings. Corresponds to AbstractSBase.getName()
      +
      +
    • +
    • +
      +

      metPubChemID

      +
      public static final ModelField metPubChemID
      +
      Pub Chem ID for each corresponding metabolite. + Optional: if present, it must have same dimension as mets. + Data type: cell array of strings.
      +
      +
    • +
    • +
      +

      mets

      +
      public static final ModelField mets
      +
      Metabolite name abbreviation; metabolite ID; order corresponds to S matrix. + Metabolite BiGG ids (incl. compartment code). Data type: cell array of + strings. Corresponds to AbstractSBase.getId().
      +
      +
    • +
    • +
      +

      metSmile

      +
      public static final ModelField metSmile
      +
      Optional: if present, it must have same dimension as mets.
      +
      +
    • +
    • +
      +

      name

      +
      public static final ModelField name
      +
      Can be part of the description.
      +
      +
    • +
    • +
      +

      notes

      +
      public static final ModelField notes
      +
      Can be part of the description.
      +
      +
    • +
    • +
      +

      organism

      +
      public static final ModelField organism
      +
      Can be part of the description.
      +
      +
    • +
    • +
      +

      osense

      +
      public static final ModelField osense
      +
      Objective sense, i.e., to minimize or maximize the objective. This field + can either be defined in the mat file itself or when performing an + optimization function (e.g., optimizeCbModel).
      +
      +
    • +
    • +
      +

      proteins

      +
      public static final ModelField proteins
      +
      Proteins associated with each reaction.
      +
      +
    • +
    • +
      +

      rev

      +
      public static final ModelField rev
      +
      A vector consisting of zeros and ones that translate to binary and determine + if the corresponding reaction of that index is reversible (1) or not (0). + Dimensions must be equal to the number of reactions. Corresponds to the + value Reaction.isReversible()
      +
      +
    • +
    • +
      +

      rules

      +
      public static final ModelField rules
      +
      Boolean rule for the corresponding reaction which defines gene-reaction + relationship.
      +
      +
    • +
    • +
      +

      rxnCOG

      +
      public static final ModelField rxnCOG
      +
      TODO: description COG
      +
      +
    • +
    • +
      +

      rxnConfidenceEcoIDA

      +
      public static final ModelField rxnConfidenceEcoIDA
      +
      Cell array of strings, can any value in a range of 0 to 4. Length must be + equal to the number of reactions.
      +
      +
    • +
    • +
      +

      rxnConfidenceScores

      +
      public static final ModelField rxnConfidenceScores
      +
      .
      +
      +
    • +
    • +
      +

      rxnsboTerm

      +
      public static final ModelField rxnsboTerm
      +
      The Systems Biology Ontology Term to describe the role of a reaction. + Length must be identical to the number of reactions. Value corresponds to + the attribute AbstractSBase.getSBOTerm()
      +
      +
    • +
    • +
      +

      rxnGeneMat

      +
      public static final ModelField rxnGeneMat
      +
      A matrix with rows corresponding to reaction list and columns corresponding + to gene list. Data type: sparse double. Size of this matrix must be number + of reactions times number of genes. No counterpart in FBC v2.
      +
      +
    • +
    • +
      +

      rxnKeggID

      +
      public static final ModelField rxnKeggID
      +
      Reaction identifiers in KEGG, but sometimes also contains ecNumbers. + Length must be identical to the number of reactions. Entries belong to the + annotation of Reaction.
      +
      +
    • +
    • +
      +

      rxnNames

      +
      public static final ModelField rxnNames
      +
      Descriptive reaction names, length of this array must be identical to the + number of reactions. Data type: cell array of string. Corresponds to the + name of a Reaction.
      +
      +
    • +
    • +
      +

      rxnKeggOrthology

      +
      public static final ModelField rxnKeggOrthology
      +
      TODO: description KEGG Orthology
      +
      +
    • +
    • +
      +

      rxnECNumbers

      +
      public static final ModelField rxnECNumbers
      +
      E. C. number for each reaction
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      rxnReferences

      +
      public static final ModelField rxnReferences
      +
      Cell array of strings which can contain optional information on references + for each specific reaction. + Example: + +
      + 'Na coupled transport of pyruvate, lactate, and short chain fatty acids, i.e., acetate, propionate, and butyrate mediated by SMCT1
      + 
      +
      +
    • +
    • +
      +

      rxns

      +
      public static final ModelField rxns
      +
      Reaction BiGG ids. Corresponds to the id of Reaction. + Reaction name abbreviation; reaction ID; order corresponds to S matrix.
      +
      +
    • +
    • +
      +

      rxnNotes

      +
      public static final ModelField rxnNotes
      +
      Cell array of strings. Text notes (description) about reactions. Length + must be identical to the number of reactions.
      +
      +
    • +
    • +
      +

      S

      +
      public static final ModelField S
      +
      Stoichiometric matrix in sparse format.
      +
      +
    • +
    • +
      +

      subSystems

      +
      public static final ModelField subSystems
      +
      This defines groups of reactions that belong to a common reaction subsystem. + Their number must hence be identical to the reaction count. Subsystems are + listed repeatedly in the source file. + If present, the size of this field must be identical to the number of + reactions. + Data type: cell array of strings.
      +
      +
    • +
    • +
      +

      ub

      +
      public static final ModelField ub
      +
      Upper reaction flux bounds for corresponding reactions
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static ModelField[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static ModelField valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    • +
      +

      getCorrectName

      +
      public static List<String> getCorrectName(String query)
      +
      Get known model field variant name for a struct field, disregarding upper/lowercase discrepancies, if case can't be + matched
      +
      +
      Parameters:
      +
      query - : + Possible model field, present in model struct
      +
      Returns:
      +
      List of matching ModelField variant names
      +
      +
      +
    • +
    • +
      +

      getNameForPrefix

      +
      public static List<String> getNameForPrefix(String query)
      +
      Get known model field variant name for a struct field, disregarding upper/lowercase discrepancies using struct + field as prefix of knwon model field
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/ReactionParser.html b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/ReactionParser.html new file mode 100644 index 00000000..73bb85c2 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/ReactionParser.html @@ -0,0 +1,184 @@ + + + + +ReactionParser (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ReactionParser

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ReactionParser
+
+
+
+
public class ReactionParser +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ReactionParser

      +
      public ReactionParser(org.sbml.jsbml.util.ModelBuilder builder, + int index, + Registry registry)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      parse

      +
      public void parse()
      +
      +
    • +
    • +
      +

      addResource

      +
      public boolean addResource(String resource, + org.sbml.jsbml.CVTerm term, + String prefix)
      +
      Tries to update a resource according to pre-defined rules. If the resource + starts with the MIRIAM name followed by a colon, its value is added to the + given term. This method assumes that there is a colon between catalog id + and resource id. If this is not the case, false will be returned.
      +
      +
      Returns:
      +
      true if successful, false otherwise.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/SpeciesParser.html b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/SpeciesParser.html new file mode 100644 index 00000000..826f0bc2 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/SpeciesParser.html @@ -0,0 +1,190 @@ + + + + +SpeciesParser (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SpeciesParser

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.io.parsers.cobra.SpeciesParser
+
+
+
+
public class SpeciesParser +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    + +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SpeciesParser

      +
      public SpeciesParser(org.sbml.jsbml.Model model, + int index, + Registry registry)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      parse

      +
      public void parse()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/package-summary.html new file mode 100644 index 00000000..5e070527 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/package-summary.html @@ -0,0 +1,101 @@ + + + + +de.uni_halle.informatik.biodata.mp.io.parsers.cobra (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.io.parsers.cobra

+
+
+
package de.uni_halle.informatik.biodata.mp.io.parsers.cobra
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/package-tree.html new file mode 100644 index 00000000..69e7ef26 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/package-tree.html @@ -0,0 +1,88 @@ + + + + +de.uni_halle.informatik.biodata.mp.io.parsers.cobra Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.io.parsers.cobra

+Package Hierarchies: + +
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • de.uni_halle.informatik.biodata.mp.io.parsers.cobra.COBRAUtils
    • +
    • de.uni_halle.informatik.biodata.mp.io.parsers.cobra.GeneParser
    • +
    • de.uni_halle.informatik.biodata.mp.io.parsers.cobra.MatlabParser
    • +
    • de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ReactionParser
    • +
    • de.uni_halle.informatik.biodata.mp.io.parsers.cobra.SpeciesParser
    • +
    +
  • +
+
+
+

Enum Class Hierarchy

+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/JSONConverter.html b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/JSONConverter.html new file mode 100644 index 00000000..ef21ab57 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/JSONConverter.html @@ -0,0 +1,278 @@ + + + + +JSONConverter (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JSONConverter

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONConverter
+
+
+
+
public class JSONConverter +extends Object
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/JSONParser.html b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/JSONParser.html new file mode 100644 index 00000000..db70c686 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/JSONParser.html @@ -0,0 +1,239 @@ + + + + +JSONParser (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONParser
+
+
+
+
public class JSONParser +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JSONParser

      +
      public JSONParser(Registry registry)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      parse

      +
      public org.sbml.jsbml.SBMLDocument parse(File jsonFile) + throws IOException
      +
      Creates the ModelBuilder, SBMLDocument and reads the + jsonFile as a tree
      +
      +
      Throws:
      +
      IOException
      +
      +
      +
    • +
    • +
      +

      parseAnnotation

      +
      public void parseAnnotation(org.sbml.jsbml.SBase node, + Object annotation)
      +
      +
    • +
    • +
      +

      parseNotes

      +
      public void parseNotes(org.sbml.jsbml.SBase node, + Object notes)
      +
      +
    • +
    • +
      +

      parseCompartments

      +
      public void parseCompartments(org.sbml.jsbml.util.ModelBuilder builder, + Map<String,String> compartments)
      +
      +
    • +
    • +
      +

      parseMetabolite

      +
      public void parseMetabolite(org.sbml.jsbml.Model model, + Metabolite metabolite, + BiGGId biggId)
      +
      +
    • +
    • +
      +

      parseGene

      +
      public void parseGene(org.sbml.jsbml.Model model, + Gene gene, + String id)
      +
      +
    • +
    • +
      +

      parseReaction

      +
      public void parseReaction(org.sbml.jsbml.util.ModelBuilder builder, + Reaction reaction, + String id)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Compartments.html b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Compartments.html new file mode 100644 index 00000000..7ea173d8 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Compartments.html @@ -0,0 +1,186 @@ + + + + +Compartments (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Compartments
+
+
+
+
public class Compartments +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Compartments

      +
      public Compartments()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Gene.html b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Gene.html new file mode 100644 index 00000000..abd8b28e --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Gene.html @@ -0,0 +1,220 @@ + + + + +Gene (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Gene
+
+
+
+
public class Gene +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Gene

      +
      public Gene()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getId

      +
      public String getId()
      +
      +
    • +
    • +
      +

      setId

      +
      public void setId(String id)
      +
      +
    • +
    • +
      +

      getName

      +
      public String getName()
      +
      +
    • +
    • +
      +

      setName

      +
      public void setName(String name)
      +
      +
    • +
    • +
      +

      getNotes

      +
      public Object getNotes()
      +
      +
    • +
    • +
      +

      setNotes

      +
      public void setNotes(Object notes)
      +
      +
    • +
    • +
      +

      getAnnotation

      +
      public Object getAnnotation()
      +
      +
    • +
    • +
      +

      setAnnotation

      +
      public void setAnnotation(Object annotation)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Metabolite.html b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Metabolite.html new file mode 100644 index 00000000..f7ce593c --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Metabolite.html @@ -0,0 +1,292 @@ + + + + +Metabolite (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite
+
+
+
+
public class Metabolite +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Metabolite

      +
      public Metabolite()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getId

      +
      public String getId()
      +
      +
    • +
    • +
      +

      setId

      +
      public void setId(String id)
      +
      +
    • +
    • +
      +

      getName

      +
      public String getName()
      +
      +
    • +
    • +
      +

      setName

      +
      public void setName(String name)
      +
      +
    • +
    • +
      +

      getCompartment

      +
      public String getCompartment()
      +
      +
    • +
    • +
      +

      setCompartment

      +
      public void setCompartment(String compartment)
      +
      +
    • +
    • +
      +

      getCharge

      +
      public int getCharge()
      +
      +
    • +
    • +
      +

      setCharge

      +
      public void setCharge(int charge)
      +
      +
    • +
    • +
      +

      getFormula

      +
      public String getFormula()
      +
      +
    • +
    • +
      +

      setFormula

      +
      public void setFormula(String formula)
      +
      +
    • +
    • +
      +

      getBound

      +
      public double getBound()
      +
      +
    • +
    • +
      +

      setBound

      +
      public void setBound(double bound)
      +
      +
    • +
    • +
      +

      getNotes

      +
      public Object getNotes()
      +
      +
    • +
    • +
      +

      setNotes

      +
      public void setNotes(Object notes)
      +
      +
    • +
    • +
      +

      getAnnotation

      +
      public Object getAnnotation()
      +
      +
    • +
    • +
      +

      setAnnotation

      +
      public void setAnnotation(Object annotation)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Metabolites.html b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Metabolites.html new file mode 100644 index 00000000..42736e57 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Metabolites.html @@ -0,0 +1,177 @@ + + + + +Metabolites (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolites
+
+
+
+
public class Metabolites +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Metabolites

      +
      public Metabolites()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Reaction.html b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Reaction.html new file mode 100644 index 00000000..8bb3e83d --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Reaction.html @@ -0,0 +1,328 @@ + + + + +Reaction (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
+
+
+
public class Reaction +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Reaction

      +
      public Reaction()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getId

      +
      public String getId()
      +
      +
    • +
    • +
      +

      setId

      +
      public void setId(String id)
      +
      +
    • +
    • +
      +

      getName

      +
      public String getName()
      +
      +
    • +
    • +
      +

      setName

      +
      public void setName(String name)
      +
      +
    • +
    • +
      +

      getMetabolites

      +
      public Metabolites getMetabolites()
      +
      +
    • +
    • +
      +

      setMetabolites

      +
      public void setMetabolites(Metabolites metabolites)
      +
      +
    • +
    • +
      +

      getGeneReactionRule

      +
      public String getGeneReactionRule()
      +
      +
    • +
    • +
      +

      setGeneReactionRule

      +
      public void setGeneReactionRule(String geneReactionRule)
      +
      +
    • +
    • +
      +

      getLowerBound

      +
      public double getLowerBound()
      +
      +
    • +
    • +
      +

      setLowerBound

      +
      public void setLowerBound(double lowerBound)
      +
      +
    • +
    • +
      +

      getUpperBound

      +
      public double getUpperBound()
      +
      +
    • +
    • +
      +

      setUpperBound

      +
      public void setUpperBound(double upperBound)
      +
      +
    • +
    • +
      +

      getObjectiveCoefficient

      +
      public double getObjectiveCoefficient()
      +
      +
    • +
    • +
      +

      setObjectiveCoefficient

      +
      public void setObjectiveCoefficient(double objectiveCoefficient)
      +
      +
    • +
    • +
      +

      getSubsystem

      +
      public String getSubsystem()
      +
      +
    • +
    • +
      +

      setSubsystem

      +
      public void setSubsystem(String subsystem)
      +
      +
    • +
    • +
      +

      getNotes

      +
      public Object getNotes()
      +
      +
    • +
    • +
      +

      setNotes

      +
      public void setNotes(Object notes)
      +
      +
    • +
    • +
      +

      getAnnotation

      +
      public Object getAnnotation()
      +
      +
    • +
    • +
      +

      setAnnotation

      +
      public void setAnnotation(Object annotation)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Root.html b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Root.html new file mode 100644 index 00000000..436f2ddd --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Root.html @@ -0,0 +1,328 @@ + + + + +Root (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
+
+
+
public class Root +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Root

      +
      public Root()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getId

      +
      public String getId()
      +
      +
    • +
    • +
      +

      setId

      +
      public void setId(String id)
      +
      +
    • +
    • +
      +

      getName

      +
      public String getName()
      +
      +
    • +
    • +
      +

      setName

      +
      public void setName(String name)
      +
      +
    • +
    • +
      +

      getDescription

      +
      public String getDescription()
      +
      +
    • +
    • +
      +

      setDescription

      +
      public void setDescription(String description)
      +
      +
    • +
    • +
      +

      getVersion

      +
      public int getVersion()
      +
      +
    • +
    • +
      +

      setVersion

      +
      public void setVersion(int version)
      +
      +
    • +
    • +
      +

      getReactions

      +
      public List<Reaction> getReactions()
      +
      +
    • +
    • +
      +

      setReactions

      +
      public void setReactions(List<Reaction> reactions)
      +
      +
    • +
    • +
      +

      getMetabolites

      +
      public List<Metabolite> getMetabolites()
      +
      +
    • +
    • +
      +

      setMetabolites

      +
      public void setMetabolites(List<Metabolite> metabolites)
      +
      +
    • +
    • +
      +

      getGenes

      +
      public List<Gene> getGenes()
      +
      +
    • +
    • +
      +

      setGenes

      +
      public void setGenes(List<Gene> genes)
      +
      +
    • +
    • +
      +

      getCompartments

      +
      public Compartments getCompartments()
      +
      +
    • +
    • +
      +

      setCompartments

      +
      public void setCompartments(Compartments compartments)
      +
      +
    • +
    • +
      +

      getNotes

      +
      public Object getNotes()
      +
      +
    • +
    • +
      +

      setNotes

      +
      public void setNotes(Object notes)
      +
      +
    • +
    • +
      +

      getAnnotation

      +
      public Object getAnnotation()
      +
      +
    • +
    • +
      +

      setAnnotation

      +
      public void setAnnotation(Object annotation)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/package-summary.html new file mode 100644 index 00000000..f16b2026 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/package-summary.html @@ -0,0 +1,102 @@ + + + + +de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping

+
+
+
package de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/package-tree.html new file mode 100644 index 00000000..a4308486 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/package-tree.html @@ -0,0 +1,75 @@ + + + + +de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping

+Package Hierarchies: + +
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Compartments
    • +
    • de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Gene
    • +
    • de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite
    • +
    • de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolites
    • +
    • de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
    • +
    • de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
    • +
    +
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/package-summary.html new file mode 100644 index 00000000..fbed0b3f --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/package-summary.html @@ -0,0 +1,94 @@ + + + + +de.uni_halle.informatik.biodata.mp.io.parsers.json (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.io.parsers.json

+
+
+
package de.uni_halle.informatik.biodata.mp.io.parsers.json
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/package-tree.html new file mode 100644 index 00000000..20edf2e4 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/io/parsers/json/package-tree.html @@ -0,0 +1,71 @@ + + + + +de.uni_halle.informatik.biodata.mp.io.parsers.json Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.io.parsers.json

+Package Hierarchies: + +
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONConverter
    • +
    • de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONParser
    • +
    +
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/logging/BundleNames.html b/docs/de/uni_halle/informatik/biodata/mp/logging/BundleNames.html new file mode 100644 index 00000000..2ce73cdb --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/logging/BundleNames.html @@ -0,0 +1,282 @@ + + + + +BundleNames (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BundleNames

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.logging.BundleNames
+
+
+
+
public class BundleNames +extends Object
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/logging/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/logging/package-summary.html new file mode 100644 index 00000000..147d0d89 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/logging/package-summary.html @@ -0,0 +1,81 @@ + + + + +de.uni_halle.informatik.biodata.mp.logging (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.logging

+
+
+
package de.uni_halle.informatik.biodata.mp.logging
+
+
    +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
     
    +
    +
    +
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/logging/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/logging/package-tree.html new file mode 100644 index 00000000..327b4db0 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/logging/package-tree.html @@ -0,0 +1,70 @@ + + + + +de.uni_halle.informatik.biodata.mp.logging Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.logging

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/parameters/ADBAnnotationParameters.html b/docs/de/uni_halle/informatik/biodata/mp/parameters/ADBAnnotationParameters.html new file mode 100644 index 00000000..9dde9a3d --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/parameters/ADBAnnotationParameters.html @@ -0,0 +1,251 @@ + + + + +ADBAnnotationParameters (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ADBAnnotationParameters

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.parameters.ADBAnnotationParameters
+
+
+
+
public class ADBAnnotationParameters +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      annotateWithAdb

      +
      protected boolean annotateWithAdb
      +
      +
    • +
    • +
      +

      dbParameters

      +
      protected DBParameters dbParameters
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ADBAnnotationParameters

      +
      public ADBAnnotationParameters()
      +
      +
    • +
    • +
      +

      ADBAnnotationParameters

      +
      public ADBAnnotationParameters(de.zbit.util.prefs.SBProperties args)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      annotateWithAdb

      +
      public boolean annotateWithAdb()
      +
      +
    • +
    • +
      +

      dbParameters

      +
      public DBParameters dbParameters()
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object o)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/parameters/AnnotationParameters.html b/docs/de/uni_halle/informatik/biodata/mp/parameters/AnnotationParameters.html new file mode 100644 index 00000000..7556ce91 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/parameters/AnnotationParameters.html @@ -0,0 +1,213 @@ + + + + +AnnotationParameters (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AnnotationParameters

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.parameters.AnnotationParameters
+
+
+
+
public class AnnotationParameters +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      AnnotationParameters

      +
      public AnnotationParameters()
      +
      +
    • +
    • +
      +

      AnnotationParameters

      +
      public AnnotationParameters(de.zbit.util.prefs.SBProperties args)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/parameters/BiGGAnnotationParameters.html b/docs/de/uni_halle/informatik/biodata/mp/parameters/BiGGAnnotationParameters.html new file mode 100644 index 00000000..101cbb02 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/parameters/BiGGAnnotationParameters.html @@ -0,0 +1,321 @@ + + + + +BiGGAnnotationParameters (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BiGGAnnotationParameters

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters
+
+
+
+
public class BiGGAnnotationParameters +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      annotateWithBiGG

      +
      protected boolean annotateWithBiGG
      +
      +
    • +
    • +
      +

      includeAnyURI

      +
      protected boolean includeAnyURI
      +
      +
    • +
    • +
      +

      documentTitlePattern

      +
      protected String documentTitlePattern
      +
      +
    • +
    • +
      +

      notesParameters

      +
      protected BiGGNotesParameters notesParameters
      +
      +
    • +
    • +
      +

      dbParameters

      +
      protected DBParameters dbParameters
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BiGGAnnotationParameters

      +
      public BiGGAnnotationParameters()
      +
      +
    • +
    • +
      +

      BiGGAnnotationParameters

      +
      public BiGGAnnotationParameters(boolean annotateWithBiGG, + boolean includeAnyURI, + String documentTitlePattern, + BiGGNotesParameters notesParameters, + DBParameters dbParameters)
      +
      +
    • +
    • +
      +

      BiGGAnnotationParameters

      +
      public BiGGAnnotationParameters(de.zbit.util.prefs.SBProperties args)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      includeAnyURI

      +
      public boolean includeAnyURI()
      +
      +
    • +
    • +
      +

      annotateWithBiGG

      +
      public boolean annotateWithBiGG()
      +
      +
    • +
    • +
      +

      documentTitlePattern

      +
      public String documentTitlePattern()
      +
      +
    • +
    • +
      +

      notesParameters

      +
      public BiGGNotesParameters notesParameters()
      +
      +
    • +
    • +
      +

      dbParameters

      +
      public DBParameters dbParameters()
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object o)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/parameters/BiGGNotesParameters.html b/docs/de/uni_halle/informatik/biodata/mp/parameters/BiGGNotesParameters.html new file mode 100644 index 00000000..f8fb8253 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/parameters/BiGGNotesParameters.html @@ -0,0 +1,221 @@ + + + + +BiGGNotesParameters (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BiGGNotesParameters

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.parameters.BiGGNotesParameters
+
+
+
+
public class BiGGNotesParameters +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      modelNotesFile

      +
      protected File modelNotesFile
      +
      +
    • +
    • +
      +

      documentNotesFile

      +
      protected File documentNotesFile
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BiGGNotesParameters

      +
      public BiGGNotesParameters()
      +
      +
    • +
    • +
      +

      BiGGNotesParameters

      +
      public BiGGNotesParameters(de.zbit.util.prefs.SBProperties args)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      documentNotesFile

      +
      public File documentNotesFile()
      +
      +
    • +
    • +
      +

      modelNotesFile

      +
      public File modelNotesFile()
      +
      +
    • +
    • +
      +

      noModelNotes

      +
      public boolean noModelNotes()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/parameters/DBParameters.html b/docs/de/uni_halle/informatik/biodata/mp/parameters/DBParameters.html new file mode 100644 index 00000000..367e6f1d --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/parameters/DBParameters.html @@ -0,0 +1,248 @@ + + + + +DBParameters (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DBParameters

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.parameters.DBParameters
+
+
+
+
public class DBParameters +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DBParameters

      +
      public DBParameters()
      +
      +
    • +
    • +
      +

      DBParameters

      +
      public DBParameters(String dbname, + String host, + String passwd, + Integer port, + String user)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      dbName

      +
      public String dbName()
      +
      +
    • +
    • +
      +

      host

      +
      public String host()
      +
      +
    • +
    • +
      +

      passwd

      +
      public String passwd()
      +
      +
    • +
    • +
      +

      port

      +
      public Integer port()
      +
      +
    • +
    • +
      +

      user

      +
      public String user()
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object o)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/parameters/FixingParameters.html b/docs/de/uni_halle/informatik/biodata/mp/parameters/FixingParameters.html new file mode 100644 index 00000000..50ef9888 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/parameters/FixingParameters.html @@ -0,0 +1,228 @@ + + + + +FixingParameters (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class FixingParameters

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.parameters.FixingParameters
+
+
+
+
public class FixingParameters +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      dontFix

      +
      public boolean dontFix()
      +
      +
    • +
    • +
      +

      fluxObjectivesPolishingParameters

      +
      public FluxObjectivesFixingParameters fluxObjectivesPolishingParameters()
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object o)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/parameters/FluxObjectivesFixingParameters.html b/docs/de/uni_halle/informatik/biodata/mp/parameters/FluxObjectivesFixingParameters.html new file mode 100644 index 00000000..132d65e4 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/parameters/FluxObjectivesFixingParameters.html @@ -0,0 +1,222 @@ + + + + +FluxObjectivesFixingParameters (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class FluxObjectivesFixingParameters

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.parameters.FluxObjectivesFixingParameters
+
+
+
+
public class FluxObjectivesFixingParameters +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      fluxCoefficients

      +
      protected List<Double> fluxCoefficients
      +
      +
    • +
    • +
      +

      fluxObjectives

      +
      protected List<String> fluxObjectives
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      FluxObjectivesFixingParameters

      +
      public FluxObjectivesFixingParameters()
      +
      +
    • +
    • +
      +

      FluxObjectivesFixingParameters

      +
      public FluxObjectivesFixingParameters(List<Double> fluxCoefficients, + List<String> fluxObjectives)
      +
      +
    • +
    • +
      +

      FluxObjectivesFixingParameters

      +
      public FluxObjectivesFixingParameters(de.zbit.util.prefs.SBProperties args)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      fluxCoefficients

      +
      public List<Double> fluxCoefficients()
      +
      +
    • +
    • +
      +

      fluxObjectives

      +
      public List<String> fluxObjectives()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/parameters/GeneralOptions.html b/docs/de/uni_halle/informatik/biodata/mp/parameters/GeneralOptions.html new file mode 100644 index 00000000..9004aa10 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/parameters/GeneralOptions.html @@ -0,0 +1,159 @@ + + + + +GeneralOptions (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface GeneralOptions

+
+
+
+
All Superinterfaces:
+
de.zbit.util.prefs.KeyProvider
+
+
+
public interface GeneralOptions +extends de.zbit.util.prefs.KeyProvider
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from interface de.zbit.util.prefs.KeyProvider

    +de.zbit.util.prefs.KeyProvider.Entry<T extends Object>, de.zbit.util.prefs.KeyProvider.Tools
    +
    +
  • + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final de.zbit.util.prefs.Option<Boolean>
    + +
    +
    Set this option to true if generic top-level annotations, such as 'process' + should not be applied.
    +
    +
    static final ResourceBundle
    + +
     
    +
    static final de.zbit.util.prefs.Option<Boolean>
    + +
    +
    If true, the created SBML file will be validated through the online + validator service at http://sbml.org.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      MESSAGES

      +
      static final ResourceBundle MESSAGES
      +
      +
    • +
    • +
      +

      ADD_GENERIC_TERMS

      +
      static final de.zbit.util.prefs.Option<Boolean> ADD_GENERIC_TERMS
      +
      Set this option to true if generic top-level annotations, such as 'process' + should not be applied. Not using those terms will reduce the size of the + resulting output file.
      +
      +
    • +
    • +
      +

      SBML_VALIDATION

      +
      static final de.zbit.util.prefs.Option<Boolean> SBML_VALIDATION
      +
      If true, the created SBML file will be validated through the online + validator service at http://sbml.org. This option is only used + if the output is GZIP compressed.
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/parameters/Parameters.html b/docs/de/uni_halle/informatik/biodata/mp/parameters/Parameters.html new file mode 100644 index 00000000..61d521ca --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/parameters/Parameters.html @@ -0,0 +1,287 @@ + + + + +Parameters (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Parameters

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.parameters.Parameters
+
+
+
+
public class Parameters +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      sbmlValidation

      +
      protected boolean sbmlValidation
      +
      +
    • +
    • +
      +

      outputType

      +
      protected IOOptions.OutputType outputType
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Parameters

      +
      public Parameters()
      +
      +
    • +
    • +
      +

      Parameters

      +
      public Parameters(de.zbit.util.prefs.SBProperties args)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/parameters/ParametersException.html b/docs/de/uni_halle/informatik/biodata/mp/parameters/ParametersException.html new file mode 100644 index 00000000..fcb77fab --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/parameters/ParametersException.html @@ -0,0 +1,145 @@ + + + + +ParametersException (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ParametersException

+
+
java.lang.Object +
java.lang.Throwable +
de.uni_halle.informatik.biodata.mp.parameters.ParametersException
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class ParametersException +extends Throwable
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ParametersException

      +
      public ParametersException(String msg, + Parameters parameters)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/parameters/ParametersParser.html b/docs/de/uni_halle/informatik/biodata/mp/parameters/ParametersParser.html new file mode 100644 index 00000000..c93e0440 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/parameters/ParametersParser.html @@ -0,0 +1,162 @@ + + + + +ParametersParser (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ParametersParser

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.parameters.ParametersParser
+
+
+
+
public class ParametersParser +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ParametersParser

      +
      public ParametersParser()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/parameters/PolishingParameters.html b/docs/de/uni_halle/informatik/biodata/mp/parameters/PolishingParameters.html new file mode 100644 index 00000000..1448a6f3 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/parameters/PolishingParameters.html @@ -0,0 +1,178 @@ + + + + +PolishingParameters (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class PolishingParameters

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters
+
+
+
+
public class PolishingParameters +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      PolishingParameters

      +
      public PolishingParameters()
      +
      +
    • +
    • +
      +

      PolishingParameters

      +
      public PolishingParameters(boolean polishEvenIfModelInvalid)
      +
      +
    • +
    • +
      +

      PolishingParameters

      +
      public PolishingParameters(de.zbit.util.prefs.SBProperties args) + throws IllegalArgumentException
      +
      +
      Throws:
      +
      IllegalArgumentException
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      polishEvenIfModelInvalid

      +
      public boolean polishEvenIfModelInvalid()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/parameters/SBOParameters.html b/docs/de/uni_halle/informatik/biodata/mp/parameters/SBOParameters.html new file mode 100644 index 00000000..c3892b61 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/parameters/SBOParameters.html @@ -0,0 +1,233 @@ + + + + +SBOParameters (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SBOParameters

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.parameters.SBOParameters
+
+
+
+
public class SBOParameters +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      addGenericTerms

      +
      protected boolean addGenericTerms
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SBOParameters

      +
      public SBOParameters()
      +
      +
    • +
    • +
      +

      SBOParameters

      +
      public SBOParameters(de.zbit.util.prefs.SBProperties args)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      addGenericTerms

      +
      public boolean addGenericTerms()
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object o)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/parameters/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/parameters/package-summary.html new file mode 100644 index 00000000..cc9536db --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/parameters/package-summary.html @@ -0,0 +1,111 @@ + + + + +de.uni_halle.informatik.biodata.mp.parameters (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.parameters

+
+
+
package de.uni_halle.informatik.biodata.mp.parameters
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/parameters/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/parameters/package-tree.html new file mode 100644 index 00000000..0c4c3800 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/parameters/package-tree.html @@ -0,0 +1,95 @@ + + + + +de.uni_halle.informatik.biodata.mp.parameters Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.parameters

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+
    +
  • de.zbit.util.prefs.KeyProvider + +
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/AbstractPolisher.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/AbstractPolisher.html new file mode 100644 index 00000000..85c36958 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/AbstractPolisher.html @@ -0,0 +1,272 @@ + + + + +AbstractPolisher (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AbstractPolisher

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher
+
+
+
+
All Implemented Interfaces:
+
IReportStatus
+
+
+
Direct Known Subclasses:
+
AnnotationPolisher, CompartmentPolisher, FBCPolisher, FBCReactionPolisher, GeneProductsPolisher, ModelPolisher, ObjectivesPolisher, ParametersPolisher, ReactionsPolisher, SBMLPolisher, SpeciesPolisher, UnitPolisher
+
+
+
public abstract class AbstractPolisher +extends Object +implements IReportStatus
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/AnnotationPolisher.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/AnnotationPolisher.html new file mode 100644 index 00000000..e96d468e --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/AnnotationPolisher.html @@ -0,0 +1,205 @@ + + + + +AnnotationPolisher (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AnnotationPolisher

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher +
de.uni_halle.informatik.biodata.mp.polishing.AnnotationPolisher
+
+
+
+
+
All Implemented Interfaces:
+
IPolishAnnotations, IReportStatus
+
+
+
public class AnnotationPolisher +extends AbstractPolisher +implements IPolishAnnotations
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      polish

      +
      public void polish(org.sbml.jsbml.Annotation annotation)
      +
      Processes the annotations of an SBML entity to potentially correct identifiers + and/or retrieve additional identifiers.org URLs. + This method iterates over all Controlled Vocabulary (CV) Terms in the provided Annotation object. + For each resource URL in a CV Term, + it checks and possibly corrects the URL or adds new URLs from identifiers.org. + It then updates the CV Term with the corrected and/or additional URLs.
      +
      +
      Specified by:
      +
      polish in interface IPolishAnnotations
      +
      Parameters:
      +
      annotation - The Annotation object associated with an SBML entity that contains CV Terms to be processed.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/CompartmentPolisher.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/CompartmentPolisher.html new file mode 100644 index 00000000..e2b575d1 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/CompartmentPolisher.html @@ -0,0 +1,210 @@ + + + + +CompartmentPolisher (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CompartmentPolisher

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher +
de.uni_halle.informatik.biodata.mp.polishing.CompartmentPolisher
+
+
+
+
+
All Implemented Interfaces:
+
IPolishSBases<org.sbml.jsbml.Compartment>, IReportStatus
+
+
+
public class CompartmentPolisher +extends AbstractPolisher +implements IPolishSBases<org.sbml.jsbml.Compartment>
+
This class is responsible for polishing the properties of a compartment in an SBML model to ensure + compliance with standards and completeness. It handles the annotation processing, ID and name setting, + and ensures that necessary attributes like units and spatial dimensions are appropriately set.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      polish

      +
      public void polish(List<org.sbml.jsbml.Compartment> compartments)
      +
      Polishes all compartments in the given SBML model. This method iterates through each compartment + in the model, updates the progress display, and applies polishing operations defined in the + CompartmentPolishing class.
      +
      +
      Specified by:
      +
      polish in interface IPolishSBases<org.sbml.jsbml.Compartment>
      +
      +
      +
    • +
    • +
      +

      polish

      +
      public void polish(org.sbml.jsbml.Compartment compartment)
      +
      Polishes the properties of a compartment to ensure compliance with standards and completeness. + This method processes annotations, sets default values for missing identifiers, names, and meta identifiers, + and ensures that the compartment has appropriate units and other necessary attributes set.
      +
      +
      Specified by:
      +
      polish in interface IPolishSBases<org.sbml.jsbml.Compartment>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/IPolishAnnotations.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/IPolishAnnotations.html new file mode 100644 index 00000000..41ef6ada --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/IPolishAnnotations.html @@ -0,0 +1,127 @@ + + + + +IPolishAnnotations (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface IPolishAnnotations

+
+
+
+
All Known Implementing Classes:
+
AnnotationPolisher
+
+
+
public interface IPolishAnnotations
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    polish(org.sbml.jsbml.Annotation annotation)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      polish

      +
      void polish(org.sbml.jsbml.Annotation annotation)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/IPolishSBaseAttributes.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/IPolishSBaseAttributes.html new file mode 100644 index 00000000..9d711832 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/IPolishSBaseAttributes.html @@ -0,0 +1,136 @@ + + + + +IPolishSBaseAttributes (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface IPolishSBaseAttributes

+
+
+
+
All Known Implementing Classes:
+
NamePolisher
+
+
+
public interface IPolishSBaseAttributes
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    default void
    +
    polish(List<org.sbml.jsbml.SBase> elementsToPolish)
    +
     
    +
    void
    +
    polish(org.sbml.jsbml.SBase elementToPolish)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      polish

      +
      default void polish(List<org.sbml.jsbml.SBase> elementsToPolish)
      +
      +
    • +
    • +
      +

      polish

      +
      void polish(org.sbml.jsbml.SBase elementToPolish)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/IPolishSBases.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/IPolishSBases.html new file mode 100644 index 00000000..48e2e995 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/IPolishSBases.html @@ -0,0 +1,136 @@ + + + + +IPolishSBases (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface IPolishSBases<SBMLElement extends org.sbml.jsbml.SBase>

+
+
+
+
All Known Implementing Classes:
+
CompartmentPolisher, FBCPolisher, FBCReactionPolisher, GeneProductsPolisher, ModelPolisher, ObjectivesPolisher, ParametersPolisher, ReactionsPolisher, SBMLPolisher, SpeciesPolisher, UnitPolisher
+
+
+
public interface IPolishSBases<SBMLElement extends org.sbml.jsbml.SBase>
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    default void
    +
    polish(List<SBMLElement> elementsToPolish)
    +
     
    +
    void
    +
    polish(SBMLElement elementToPolish)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      polish

      +
      default void polish(List<SBMLElement> elementsToPolish)
      +
      +
    • +
    • +
      +

      polish

      +
      void polish(SBMLElement elementToPolish)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/IPolishSpeciesReferences.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/IPolishSpeciesReferences.html new file mode 100644 index 00000000..2747c4f1 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/IPolishSpeciesReferences.html @@ -0,0 +1,136 @@ + + + + +IPolishSpeciesReferences (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface IPolishSpeciesReferences

+
+
+
+
All Known Implementing Classes:
+
SpeciesReferencesPolisher
+
+
+
public interface IPolishSpeciesReferences
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    default void
    +
    polish(List<org.sbml.jsbml.SpeciesReference> elementsToPolish)
    +
     
    +
    void
    +
    polish(org.sbml.jsbml.SpeciesReference elementToPolish)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      polish

      +
      default void polish(List<org.sbml.jsbml.SpeciesReference> elementsToPolish)
      +
      +
    • +
    • +
      +

      polish

      +
      void polish(org.sbml.jsbml.SpeciesReference elementToPolish)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/ModelPolisher.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/ModelPolisher.html new file mode 100644 index 00000000..08a9bb05 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/ModelPolisher.html @@ -0,0 +1,227 @@ + + + + +ModelPolisher (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ModelPolisher

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher +
de.uni_halle.informatik.biodata.mp.polishing.ModelPolisher
+
+
+
+
+
All Implemented Interfaces:
+
IPolishSBases<org.sbml.jsbml.Model>, IReportStatus
+
+
+
public class ModelPolisher +extends AbstractPolisher +implements IPolishSBases<org.sbml.jsbml.Model>
+
This class provides functionality to polish an SBML (Systems Biology Markup Language) document. + Polishing involves enhancing the document with additional annotations, setting appropriate SBO (Systems Biology Ontology) terms, + and ensuring the document adheres to certain standards and conventions useful for computational models in systems biology. + The class supports operations such as checking the document's structure, polishing individual model components, + and processing external resources linked within the document.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      polish

      +
      public void polish(org.sbml.jsbml.Model model)
      +
      This method orchestrates the polishing of an SBML model by delegating tasks to specific polishing methods + for different components of the model. It initializes a progress bar to track and display the progress of + the polishing process.
      +
      +
      Specified by:
      +
      polish in interface IPolishSBases<org.sbml.jsbml.Model>
      +
      Parameters:
      +
      model - The SBML Model to be polished.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class AbstractPolisher
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/NamePolisher.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/NamePolisher.html new file mode 100644 index 00000000..67e7f9d4 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/NamePolisher.html @@ -0,0 +1,178 @@ + + + + +NamePolisher (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class NamePolisher

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.polishing.NamePolisher
+
+
+
+
All Implemented Interfaces:
+
IPolishSBaseAttributes
+
+
+
public class NamePolisher +extends Object +implements IPolishSBaseAttributes
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      NamePolisher

      +
      public NamePolisher()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/ParametersPolisher.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/ParametersPolisher.html new file mode 100644 index 00000000..fb1b9194 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/ParametersPolisher.html @@ -0,0 +1,197 @@ + + + + +ParametersPolisher (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ParametersPolisher

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher +
de.uni_halle.informatik.biodata.mp.polishing.ParametersPolisher
+
+
+
+
+
All Implemented Interfaces:
+
IPolishSBases<org.sbml.jsbml.Parameter>, IReportStatus
+
+
+
public class ParametersPolisher +extends AbstractPolisher +implements IPolishSBases<org.sbml.jsbml.Parameter>
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      polish

      +
      public void polish(List<org.sbml.jsbml.Parameter> modelParameters)
      +
      +
      Specified by:
      +
      polish in interface IPolishSBases<org.sbml.jsbml.Parameter>
      +
      +
      +
    • +
    • +
      +

      polish

      +
      public void polish(org.sbml.jsbml.Parameter p)
      +
      +
      Specified by:
      +
      polish in interface IPolishSBases<org.sbml.jsbml.Parameter>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/PolisherFactory.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/PolisherFactory.html new file mode 100644 index 00000000..e62dad20 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/PolisherFactory.html @@ -0,0 +1,161 @@ + + + + +PolisherFactory (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class PolisherFactory

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.polishing.PolisherFactory
+
+
+
+
public class PolisherFactory +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      PolisherFactory

      +
      public PolisherFactory()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/PolishingOptions.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/PolishingOptions.html new file mode 100644 index 00000000..99511df7 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/PolishingOptions.html @@ -0,0 +1,138 @@ + + + + +PolishingOptions (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface PolishingOptions

+
+
+
+
All Superinterfaces:
+
de.zbit.util.prefs.KeyProvider
+
+
+
public interface PolishingOptions +extends de.zbit.util.prefs.KeyProvider
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from interface de.zbit.util.prefs.KeyProvider

    +de.zbit.util.prefs.KeyProvider.Entry<T extends Object>, de.zbit.util.prefs.KeyProvider.Tools
    +
    +
  • + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final ResourceBundle
    + +
     
    +
    static final de.zbit.util.prefs.Option<Boolean>
    + +
     
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      MESSAGES

      +
      static final ResourceBundle MESSAGES
      +
      +
    • +
    • +
      +

      POLISH_EVEN_IF_MODEL_INVALID

      +
      static final de.zbit.util.prefs.Option<Boolean> POLISH_EVEN_IF_MODEL_INVALID
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/ReactionsPolisher.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/ReactionsPolisher.html new file mode 100644 index 00000000..bd234a24 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/ReactionsPolisher.html @@ -0,0 +1,227 @@ + + + + +ReactionsPolisher (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ReactionsPolisher

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher +
de.uni_halle.informatik.biodata.mp.polishing.ReactionsPolisher
+
+
+
+
+
All Implemented Interfaces:
+
IPolishSBases<org.sbml.jsbml.Reaction>, IReportStatus
+
+
+
public class ReactionsPolisher +extends AbstractPolisher +implements IPolishSBases<org.sbml.jsbml.Reaction>
+
This class provides methods to polish and validate SBML reactions according to specific rules and patterns. + It includes functionality to: + - Check and set SBO terms based on reaction ID patterns. + - Polish species references and compartments. + - Validate and set flux bounds and objectives. + - Convert gene associations from reaction notes to FBCv2 format. + - Check mass and atom balance of reactions. +

+ The class operates on an SBML Reaction object and modifies it to conform to standards and conventions + used in systems biology models, particularly those related to flux balance constraints.

+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      polish

      +
      public void polish(List<org.sbml.jsbml.Reaction> reactions)
      +
      +
      Specified by:
      +
      polish in interface IPolishSBases<org.sbml.jsbml.Reaction>
      +
      +
      +
    • +
    • +
      +

      polish

      +
      public void polish(org.sbml.jsbml.Reaction reaction)
      +
      Polishes the reaction by applying various checks and modifications to ensure it conforms to + the expected standards and conventions. This includes setting SBO terms, checking compartments, + and ensuring proper setup of reactants and products.
      +
      +
      Specified by:
      +
      polish in interface IPolishSBases<org.sbml.jsbml.Reaction>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/SBMLPolisher.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/SBMLPolisher.html new file mode 100644 index 00000000..cf9aedfe --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/SBMLPolisher.html @@ -0,0 +1,208 @@ + + + + +SBMLPolisher (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SBMLPolisher

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher +
de.uni_halle.informatik.biodata.mp.polishing.SBMLPolisher
+
+
+
+
+
All Implemented Interfaces:
+
IPolishSBases<org.sbml.jsbml.SBMLDocument>, IReportStatus
+
+
+
public class SBMLPolisher +extends AbstractPolisher +implements IPolishSBases<org.sbml.jsbml.SBMLDocument>
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      polish

      +
      public void polish(org.sbml.jsbml.SBMLDocument doc)
      +
      This method serves as the entry point from the ModelPolisher class to polish an SBML document. + It ensures the document contains a model, performs a sanity check, polishes the model, sets the SBO term, + marks the progress as finished if applicable, and processes any linked resources.
      +
      +
      Specified by:
      +
      polish in interface IPolishSBases<org.sbml.jsbml.SBMLDocument>
      +
      Parameters:
      +
      doc - The SBMLDocument containing the model to be polished.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/SpeciesPolisher.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/SpeciesPolisher.html new file mode 100644 index 00000000..50760e9b --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/SpeciesPolisher.html @@ -0,0 +1,207 @@ + + + + +SpeciesPolisher (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SpeciesPolisher

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher +
de.uni_halle.informatik.biodata.mp.polishing.SpeciesPolisher
+
+
+
+
+
All Implemented Interfaces:
+
IPolishSBases<org.sbml.jsbml.Species>, IReportStatus
+
+
+
public class SpeciesPolisher +extends AbstractPolisher +implements IPolishSBases<org.sbml.jsbml.Species>
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      polish

      +
      public void polish(List<org.sbml.jsbml.Species> species)
      +
      +
      Specified by:
      +
      polish in interface IPolishSBases<org.sbml.jsbml.Species>
      +
      +
      +
    • +
    • +
      +

      polish

      +
      public void polish(org.sbml.jsbml.Species species)
      +
      +
      Specified by:
      +
      polish in interface IPolishSBases<org.sbml.jsbml.Species>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/SpeciesReferencesPolisher.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/SpeciesReferencesPolisher.html new file mode 100644 index 00000000..67298e01 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/SpeciesReferencesPolisher.html @@ -0,0 +1,169 @@ + + + + +SpeciesReferencesPolisher (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SpeciesReferencesPolisher

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.polishing.SpeciesReferencesPolisher
+
+
+
+
All Implemented Interfaces:
+
IPolishSpeciesReferences
+
+
+
public class SpeciesReferencesPolisher +extends Object +implements IPolishSpeciesReferences
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SpeciesReferencesPolisher

      +
      public SpeciesReferencesPolisher(Integer defaultSBOterm)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/UnitPolisher.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/UnitPolisher.html new file mode 100644 index 00000000..354a0314 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/UnitPolisher.html @@ -0,0 +1,348 @@ + + + + +UnitPolisher (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class UnitPolisher

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher +
de.uni_halle.informatik.biodata.mp.polishing.UnitPolisher
+
+
+
+
+
All Implemented Interfaces:
+
IPolishSBases<org.sbml.jsbml.Model>, IReportStatus
+
+
+
public class UnitPolisher +extends AbstractPolisher +implements IPolishSBases<org.sbml.jsbml.Model>
+
This class is responsible for ensuring that all necessary UnitDefinitions and Units are correctly + defined and present in the SBML model. It handles the creation and verification of units used in the model, + particularly focusing on the units related to growth, substance, time, and volume. +

+ Additionally, this class is responsible for accurately assigning these defined units to specific components + such as reactions, species, and parameters within the model as needed. + This ensures that all these components adhere uniformly to the correct unit specifications, + maintaining consistency and accuracy throughout the model's unit definitions.

+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      CV_TERM_DESCRIBED_BY_PUBMED_GROWTH_UNIT

      +
      public static final org.sbml.jsbml.CVTerm CV_TERM_DESCRIBED_BY_PUBMED_GROWTH_UNIT
      +
      +
    • +
    • +
      +

      GROWTH_UNIT_ID

      +
      public static final String GROWTH_UNIT_ID
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      GROWTH_UNIT_NAME

      +
      public static final String GROWTH_UNIT_NAME
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      CV_TERM_IS_SUBSTANCE_UNIT

      +
      public static final org.sbml.jsbml.CVTerm CV_TERM_IS_SUBSTANCE_UNIT
      +
      +
    • +
    • +
      +

      CV_TERM_IS_TIME_UNIT

      +
      public static final org.sbml.jsbml.CVTerm CV_TERM_IS_TIME_UNIT
      +
      +
    • +
    • +
      +

      CV_TERM_IS_VOLUME_UNIT

      +
      public static final org.sbml.jsbml.CVTerm CV_TERM_IS_VOLUME_UNIT
      +
      +
    • +
    • +
      +

      CV_TERM_IS_UO_SECOND

      +
      public static final org.sbml.jsbml.CVTerm CV_TERM_IS_UO_SECOND
      +
      +
    • +
    • +
      +

      CV_TERM_IS_UO_HOUR

      +
      public static final org.sbml.jsbml.CVTerm CV_TERM_IS_UO_HOUR
      +
      +
    • +
    • +
      +

      CV_TERM_IS_UO_MMOL

      +
      public static final org.sbml.jsbml.CVTerm CV_TERM_IS_UO_MMOL
      +
      +
    • +
    • +
      +

      CV_TERM_IS_UO_GRAM

      +
      public static final org.sbml.jsbml.CVTerm CV_TERM_IS_UO_GRAM
      +
      +
    • +
    • +
      +

      CV_TERM_IS_VERSION_OF_UO_SECOND

      +
      public static final org.sbml.jsbml.CVTerm CV_TERM_IS_VERSION_OF_UO_SECOND
      +
      +
    • +
    • +
      +

      CV_TERM_IS_VERSION_OF_UO_MOLE

      +
      public static final org.sbml.jsbml.CVTerm CV_TERM_IS_VERSION_OF_UO_MOLE
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      polish

      +
      public void polish(org.sbml.jsbml.Model model)
      +
      Ensures that all necessary UnitDefinitions and Units are present in the model. + If any are missing, they are created and added to the model. This method also sets the model's + extent and substance units if they are not already set.
      +
      +
      Specified by:
      +
      polish in interface IPolishSBases<org.sbml.jsbml.Model>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/FBCPolisher.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/FBCPolisher.html new file mode 100644 index 00000000..da07f759 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/FBCPolisher.html @@ -0,0 +1,189 @@ + + + + +FBCPolisher (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher +
de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.FBCPolisher
+
+
+
+
+
All Implemented Interfaces:
+
IPolishSBases<org.sbml.jsbml.Model>, IReportStatus
+
+
+
public class FBCPolisher +extends AbstractPolisher +implements IPolishSBases<org.sbml.jsbml.Model>
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/FBCReactionPolisher.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/FBCReactionPolisher.html new file mode 100644 index 00000000..27936b6c --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/FBCReactionPolisher.html @@ -0,0 +1,233 @@ + + + + +FBCReactionPolisher (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class FBCReactionPolisher

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher +
de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.FBCReactionPolisher
+
+
+
+
+
All Implemented Interfaces:
+
IPolishSBases<org.sbml.jsbml.Reaction>, IReportStatus
+
+
+
public class FBCReactionPolisher +extends AbstractPolisher +implements IPolishSBases<org.sbml.jsbml.Reaction>
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      polish

      +
      public void polish(List<org.sbml.jsbml.Reaction> reactions)
      +
      +
      Specified by:
      +
      polish in interface IPolishSBases<org.sbml.jsbml.Reaction>
      +
      +
      +
    • +
    • +
      +

      polish

      +
      public void polish(org.sbml.jsbml.Reaction reaction)
      +
      +
      Specified by:
      +
      polish in interface IPolishSBases<org.sbml.jsbml.Reaction>
      +
      +
      +
    • +
    • +
      +

      setFluxBoundSBOTerm

      +
      public void setFluxBoundSBOTerm(org.sbml.jsbml.Parameter bound)
      +
      Polishes the SBO term of a flux bound parameter based on its ID. + If the parameter's ID matches the default flux bound pattern, it sets the SBO term to 626. + Otherwise, it sets the SBO term to 625.
      +
      +
      Parameters:
      +
      bound - The parameter representing a flux bound.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/GeneProductAssociationsProcessor.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/GeneProductAssociationsProcessor.html new file mode 100644 index 00000000..140bbb96 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/GeneProductAssociationsProcessor.html @@ -0,0 +1,159 @@ + + + + +GeneProductAssociationsProcessor (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class GeneProductAssociationsProcessor

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.GeneProductAssociationsProcessor
+
+
+
+
public class GeneProductAssociationsProcessor +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      GeneProductAssociationsProcessor

      +
      public GeneProductAssociationsProcessor()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      convertAssociationsToFBCV2

      +
      public void convertAssociationsToFBCV2(org.sbml.jsbml.Reaction reaction, + boolean addGenericTerms)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/GeneProductsPolisher.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/GeneProductsPolisher.html new file mode 100644 index 00000000..1f200df4 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/GeneProductsPolisher.html @@ -0,0 +1,197 @@ + + + + +GeneProductsPolisher (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class GeneProductsPolisher

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher +
de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.GeneProductsPolisher
+
+
+
+
+
All Implemented Interfaces:
+
IPolishSBases<org.sbml.jsbml.ext.fbc.GeneProduct>, IReportStatus
+
+
+
public class GeneProductsPolisher +extends AbstractPolisher +implements IPolishSBases<org.sbml.jsbml.ext.fbc.GeneProduct>
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      polish

      +
      public void polish(List<org.sbml.jsbml.ext.fbc.GeneProduct> geneProducts)
      +
      +
      Specified by:
      +
      polish in interface IPolishSBases<org.sbml.jsbml.ext.fbc.GeneProduct>
      +
      +
      +
    • +
    • +
      +

      polish

      +
      public void polish(org.sbml.jsbml.ext.fbc.GeneProduct geneProduct)
      +
      +
      Specified by:
      +
      polish in interface IPolishSBases<org.sbml.jsbml.ext.fbc.GeneProduct>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/ObjectivesPolisher.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/ObjectivesPolisher.html new file mode 100644 index 00000000..b90492e9 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/ObjectivesPolisher.html @@ -0,0 +1,201 @@ + + + + +ObjectivesPolisher (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ObjectivesPolisher

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher +
de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.ObjectivesPolisher
+
+
+
+
+
All Implemented Interfaces:
+
IPolishSBases<org.sbml.jsbml.ext.fbc.Objective>, IReportStatus
+
+
+
public class ObjectivesPolisher +extends AbstractPolisher +implements IPolishSBases<org.sbml.jsbml.ext.fbc.Objective>
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      polish

      +
      public void polish(org.sbml.jsbml.ext.fbc.Objective objective)
      +
      +
      Specified by:
      +
      polish in interface IPolishSBases<org.sbml.jsbml.ext.fbc.Objective>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/StrictnessPredicate.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/StrictnessPredicate.html new file mode 100644 index 00000000..48837c69 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/StrictnessPredicate.html @@ -0,0 +1,297 @@ + + + + +StrictnessPredicate (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class StrictnessPredicate

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.StrictnessPredicate
+
+
+
+
All Implemented Interfaces:
+
Predicate<org.sbml.jsbml.Model>
+
+
+
public class StrictnessPredicate +extends Object +implements Predicate<org.sbml.jsbml.Model>
+
From ...: +

+ The following restrictions are in effect if an “fbc” model object has a value of 'true' + for the attribute 'strict' on Model: + 1) Each Reaction in a Model must define values for the attributes 'lowerFluxBound' and 'upperFluxBound', + with each attribute pointing to a valid Parameter object defined in the current Model. + (implemented via reactionHasValidBounds(org.sbml.jsbml.Reaction)) + 2) Each Parameter object referred to by the Reaction attributes 'lowerFluxBound' and 'upperFluxBound' + must have its 'constant' attribute set to the value 'true' + and its 'value' attribute set to a value of type double. This value may not be 'NaN'. + (implemented via reactionHasValidBounds(org.sbml.jsbml.Reaction)) + 3) SpeciesReference objects in Reaction objects must have their 'stoichiometry' attribute set to a double value + that is not 'NaN', nor '-INF', nor 'INF'. + In addition, the value of their 'constant' attribute must be set to 'true'. + (implemented via reactionSpeciesReferencesHaveValidAttributes(org.sbml.jsbml.Reaction)) + 4) InitialAssignment objects may not target the Parameter objects referenced by + the Reaction attributes 'lowerFluxBound' and 'upperFluxBound', nor any SpeciesReference objects. + (implemented via initialAssignmentDoesNotReferenceBoundParameters(org.sbml.jsbml.InitialAssignment) + and initialAssignmentDoesNotReferenceSpeciesReferences(org.sbml.jsbml.InitialAssignment)) + 5) All defined FluxObjective objects must have their coefficient attribute set + to a double value that is not 'NaN', nor '-INF', nor 'INF'. + (implemented via fluxObjectiveHasValidCoefficients(org.sbml.jsbml.ext.fbc.FluxObjective)) + 6) A Reaction 'lowerFluxBound' attribute may not point to a Parameter object that has a value of 'INF'. + (implemented via reactionHasValidBounds(org.sbml.jsbml.Reaction)) + 7) A Reaction 'upperFluxBound' attribute may not point to a Parameter object that has a value of '-INF'. + (implemented via reactionHasValidBounds(org.sbml.jsbml.Reaction)) + 8) For all Reaction objects, the value of a 'lowerFluxBound' attribute must be + less than or equal to the value of the 'upperFluxBound' attribute. + (implemented via reactionHasValidBounds(org.sbml.jsbml.Reaction))

+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      StrictnessPredicate

      +
      public StrictnessPredicate()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      test

      +
      public boolean test(org.sbml.jsbml.Model model)
      +
      +
      Specified by:
      +
      test in interface Predicate<org.sbml.jsbml.Model>
      +
      +
      +
    • +
    • +
      +

      reactionHasValidBounds

      +
      public boolean reactionHasValidBounds(org.sbml.jsbml.Reaction r)
      +
      1) Each Reaction in a Model must define values for the attributes 'lowerFluxBound' and 'upperFluxBound', + with each attribute pointing to a valid Parameter object defined in the current Model. + 2) Each Parameter object referred to by the Reaction attributes 'lowerFluxBound' and 'upperFluxBound' + must have its 'constant' attribute set to the value 'true' + and its 'value' attribute set to a value of type double. This value may not be 'NaN'. + 6) A Reaction 'lowerFluxBound' attribute may not point to a Parameter object that has a value of 'INF'. + 7) A Reaction 'upperFluxBound' attribute may not point to a Parameter object that has a value of '-INF'. + 8) For all Reaction objects, the value of a 'lowerFluxBound' attribute must be + less than or equal to the value of the 'upperFluxBound' attribute.
      +
      +
    • +
    • +
      +

      isBoundSet

      +
      public boolean isBoundSet(org.sbml.jsbml.Parameter bound)
      +
      +
    • +
    • +
      +

      reactionSpeciesReferencesHaveValidAttributes

      +
      public boolean reactionSpeciesReferencesHaveValidAttributes(org.sbml.jsbml.Reaction r)
      + +
      +
    • +
    • +
      +

      strictnessOfSpeciesReferences

      +
      public boolean strictnessOfSpeciesReferences(org.sbml.jsbml.ListOf<org.sbml.jsbml.SpeciesReference> listOfSpeciesReference)
      +
      3) SpeciesReference objects in Reaction objects must have their 'stoichiometry' attribute set to a double value + that is not 'NaN', nor '-INF', nor 'INF'. + In addition, the value of their 'constant' attribute must be set to 'true'.
      +
      +
    • +
    • +
      +

      initialAssignmentDoesNotReferenceBoundParameters

      +
      public boolean initialAssignmentDoesNotReferenceBoundParameters(org.sbml.jsbml.InitialAssignment ia)
      +
      4) InitialAssignment objects may not target the Parameter objects referenced by + the Reaction attributes 'lowerFluxBound' and 'upperFluxBound', nor any SpeciesReference objects.
      +
      +
    • +
    • +
      +

      initialAssignmentDoesNotReferenceSpeciesReferences

      +
      public boolean initialAssignmentDoesNotReferenceSpeciesReferences(org.sbml.jsbml.InitialAssignment ia)
      +
      4) InitialAssignment objects may not target the Parameter objects referenced by + the Reaction attributes 'lowerFluxBound' and 'upperFluxBound', nor any SpeciesReference objects.
      +
      +
    • +
    • +
      +

      fluxObjectiveHasValidCoefficients

      +
      public Boolean fluxObjectiveHasValidCoefficients(org.sbml.jsbml.ext.fbc.FluxObjective fo)
      +
      5) All defined FluxObjective objects must have their coefficient attribute set + to a double value that is not 'NaN', nor '-INF', nor 'INF'.
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/package-summary.html new file mode 100644 index 00000000..88d19862 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/package-summary.html @@ -0,0 +1,93 @@ + + + + +de.uni_halle.informatik.biodata.mp.polishing.ext.fbc (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.polishing.ext.fbc

+
+
+
package de.uni_halle.informatik.biodata.mp.polishing.ext.fbc
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/package-tree.html new file mode 100644 index 00000000..43e445ee --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/package-tree.html @@ -0,0 +1,79 @@ + + + + +de.uni_halle.informatik.biodata.mp.polishing.ext.fbc Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.polishing.ext.fbc

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/package-summary.html new file mode 100644 index 00000000..06736921 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/package-summary.html @@ -0,0 +1,129 @@ + + + + +de.uni_halle.informatik.biodata.mp.polishing (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.polishing

+
+
+
package de.uni_halle.informatik.biodata.mp.polishing
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/polishing/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/polishing/package-tree.html new file mode 100644 index 00000000..afe3085e --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/polishing/package-tree.html @@ -0,0 +1,98 @@ + + + + +de.uni_halle.informatik.biodata.mp.polishing Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.polishing

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/reporting/DiffListener.html b/docs/de/uni_halle/informatik/biodata/mp/reporting/DiffListener.html new file mode 100644 index 00000000..5ad8abd1 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/reporting/DiffListener.html @@ -0,0 +1,192 @@ + + + + +DiffListener (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DiffListener

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.reporting.DiffListener
+
+
+
+
All Implemented Interfaces:
+
PropertyChangeListener, EventListener, org.sbml.jsbml.util.TreeNodeChangeListener
+
+
+
public class DiffListener +extends Object +implements org.sbml.jsbml.util.TreeNodeChangeListener
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DiffListener

      +
      public DiffListener()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      nodeAdded

      +
      public void nodeAdded(TreeNode node)
      +
      +
      Specified by:
      +
      nodeAdded in interface org.sbml.jsbml.util.TreeNodeChangeListener
      +
      +
      +
    • +
    • +
      +

      nodeRemoved

      +
      public void nodeRemoved(org.sbml.jsbml.util.TreeNodeRemovedEvent event)
      +
      +
      Specified by:
      +
      nodeRemoved in interface org.sbml.jsbml.util.TreeNodeChangeListener
      +
      +
      +
    • +
    • +
      +

      propertyChange

      +
      public void propertyChange(PropertyChangeEvent propertyChangeEvent)
      +
      +
      Specified by:
      +
      propertyChange in interface PropertyChangeListener
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/reporting/IReportDiffs.html b/docs/de/uni_halle/informatik/biodata/mp/reporting/IReportDiffs.html new file mode 100644 index 00000000..9a543785 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/reporting/IReportDiffs.html @@ -0,0 +1,131 @@ + + + + +IReportDiffs (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface IReportDiffs

+
+
+
+
All Known Implementing Classes:
+
AbstractAnnotator, AbstractBiGGAnnotator, BiGGCompartmentsAnnotator, BiGGCVTermAnnotator, BiGGFBCAnnotator, BiGGFBCSpeciesAnnotator, BiGGGeneProductAnnotator, BiGGModelAnnotator, BiGGPublicationsAnnotator, BiGGReactionsAnnotator, BiGGSBMLAnnotator, BiGGSpeciesAnnotator
+
+
+
public interface IReportDiffs
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    diffReport(String elementType, + Object element1, + Object element2)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      diffReport

      +
      void diffReport(String elementType, + Object element1, + Object element2)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/reporting/IReportStatus.html b/docs/de/uni_halle/informatik/biodata/mp/reporting/IReportStatus.html new file mode 100644 index 00000000..4e38a0c9 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/reporting/IReportStatus.html @@ -0,0 +1,129 @@ + + + + +IReportStatus (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface IReportStatus

+
+
+
+
All Known Implementing Classes:
+
AbstractAnnotator, AbstractBiGGAnnotator, AbstractFixer, AbstractPolisher, AnnotationPolisher, BiGGCompartmentsAnnotator, BiGGCVTermAnnotator, BiGGFBCAnnotator, BiGGFBCSpeciesAnnotator, BiGGGeneProductAnnotator, BiGGModelAnnotator, BiGGPublicationsAnnotator, BiGGReactionsAnnotator, BiGGSBMLAnnotator, BiGGSpeciesAnnotator, CompartmentFixer, CompartmentPolisher, FBCPolisher, FBCReactionPolisher, FBCSpeciesFixer, GeneProductsPolisher, GroupsFixer, ListOfObjectivesFixer, ModelFixer, ModelPolisher, ObjectivesPolisher, ParametersPolisher, ReactionFixer, ReactionsPolisher, SBMLFixer, SBMLPolisher, SpeciesFixer, SpeciesPolisher, UnitPolisher
+
+
+
public interface IReportStatus
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    statusReport(String text, + Object element)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      statusReport

      +
      void statusReport(String text, + Object element)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/reporting/PolisherProgressBar.html b/docs/de/uni_halle/informatik/biodata/mp/reporting/PolisherProgressBar.html new file mode 100644 index 00000000..265b9c35 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/reporting/PolisherProgressBar.html @@ -0,0 +1,192 @@ + + + + +PolisherProgressBar (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class PolisherProgressBar

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.reporting.PolisherProgressBar
+
+
+
+
All Implemented Interfaces:
+
ProgressObserver
+
+
+
public class PolisherProgressBar +extends Object +implements ProgressObserver
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/reporting/ProgressFinalization.html b/docs/de/uni_halle/informatik/biodata/mp/reporting/ProgressFinalization.html new file mode 100644 index 00000000..3a58c4ab --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/reporting/ProgressFinalization.html @@ -0,0 +1,229 @@ + + + + +ProgressFinalization (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Record Class ProgressFinalization

+
+
java.lang.Object +
java.lang.Record +
de.uni_halle.informatik.biodata.mp.reporting.ProgressFinalization
+
+
+
+
+
public record ProgressFinalization(String message) +extends Record
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
    +
    Creates an instance of a ProgressFinalization record class.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    final boolean
    + +
    +
    Indicates whether some other object is "equal to" this one.
    +
    +
    final int
    + +
    +
    Returns a hash code value for this object.
    +
    + + +
    +
    Returns the value of the message record component.
    +
    +
    final String
    + +
    +
    Returns a string representation of this record class.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ProgressFinalization

      +
      public ProgressFinalization(String message)
      +
      Creates an instance of a ProgressFinalization record class.
      +
      +
      Parameters:
      +
      message - the value for the message record component
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      toString

      +
      public final String toString()
      +
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      +
      +
      Specified by:
      +
      toString in class Record
      +
      Returns:
      +
      a string representation of this object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public final int hashCode()
      +
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      +
      +
      Specified by:
      +
      hashCode in class Record
      +
      Returns:
      +
      a hash code value for this object
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public final boolean equals(Object o)
      +
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      +
      +
      Specified by:
      +
      equals in class Record
      +
      Parameters:
      +
      o - the object with which to compare
      +
      Returns:
      +
      true if this object is the same as the o argument; false otherwise.
      +
      +
      +
    • +
    • +
      +

      message

      +
      public String message()
      +
      Returns the value of the message record component.
      +
      +
      Returns:
      +
      the value of the message record component
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/reporting/ProgressInitialization.html b/docs/de/uni_halle/informatik/biodata/mp/reporting/ProgressInitialization.html new file mode 100644 index 00000000..8c7e3a7a --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/reporting/ProgressInitialization.html @@ -0,0 +1,229 @@ + + + + +ProgressInitialization (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Record Class ProgressInitialization

+
+
java.lang.Object +
java.lang.Record +
de.uni_halle.informatik.biodata.mp.reporting.ProgressInitialization
+
+
+
+
+
public record ProgressInitialization(int totalCalls) +extends Record
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    ProgressInitialization(int totalCalls)
    +
    +
    Creates an instance of a ProgressInitialization record class.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    final boolean
    + +
    +
    Indicates whether some other object is "equal to" this one.
    +
    +
    final int
    + +
    +
    Returns a hash code value for this object.
    +
    +
    final String
    + +
    +
    Returns a string representation of this record class.
    +
    +
    int
    + +
    +
    Returns the value of the totalCalls record component.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ProgressInitialization

      +
      public ProgressInitialization(int totalCalls)
      +
      Creates an instance of a ProgressInitialization record class.
      +
      +
      Parameters:
      +
      totalCalls - the value for the totalCalls record component
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      toString

      +
      public final String toString()
      +
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      +
      +
      Specified by:
      +
      toString in class Record
      +
      Returns:
      +
      a string representation of this object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public final int hashCode()
      +
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      +
      +
      Specified by:
      +
      hashCode in class Record
      +
      Returns:
      +
      a hash code value for this object
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public final boolean equals(Object o)
      +
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with '=='.
      +
      +
      Specified by:
      +
      equals in class Record
      +
      Parameters:
      +
      o - the object with which to compare
      +
      Returns:
      +
      true if this object is the same as the o argument; false otherwise.
      +
      +
      +
    • +
    • +
      +

      totalCalls

      +
      public int totalCalls()
      +
      Returns the value of the totalCalls record component.
      +
      +
      Returns:
      +
      the value of the totalCalls record component
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/reporting/ProgressObserver.html b/docs/de/uni_halle/informatik/biodata/mp/reporting/ProgressObserver.html new file mode 100644 index 00000000..ef7fe322 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/reporting/ProgressObserver.html @@ -0,0 +1,145 @@ + + + + +ProgressObserver (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ProgressObserver

+
+
+
+
All Known Implementing Classes:
+
PolisherProgressBar
+
+
+
public interface ProgressObserver
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/reporting/ProgressUpdate.html b/docs/de/uni_halle/informatik/biodata/mp/reporting/ProgressUpdate.html new file mode 100644 index 00000000..0ff4204c --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/reporting/ProgressUpdate.html @@ -0,0 +1,267 @@ + + + + +ProgressUpdate (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Record Class ProgressUpdate

+
+
java.lang.Object +
java.lang.Record +
de.uni_halle.informatik.biodata.mp.reporting.ProgressUpdate
+
+
+
+
+
public record ProgressUpdate(String text, Object obj, ReportType reportType) +extends Record
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    ProgressUpdate(String text, + Object obj, + ReportType reportType)
    +
    +
    Creates an instance of a ProgressUpdate record class.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    final boolean
    + +
    +
    Indicates whether some other object is "equal to" this one.
    +
    +
    final int
    + +
    +
    Returns a hash code value for this object.
    +
    + +
    obj()
    +
    +
    Returns the value of the obj record component.
    +
    + + +
    +
    Returns the value of the reportType record component.
    +
    + + +
    +
    Returns the value of the text record component.
    +
    +
    final String
    + +
    +
    Returns a string representation of this record class.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ProgressUpdate

      +
      public ProgressUpdate(String text, + Object obj, + ReportType reportType)
      +
      Creates an instance of a ProgressUpdate record class.
      +
      +
      Parameters:
      +
      text - the value for the text record component
      +
      obj - the value for the obj record component
      +
      reportType - the value for the reportType record component
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      toString

      +
      public final String toString()
      +
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      +
      +
      Specified by:
      +
      toString in class Record
      +
      Returns:
      +
      a string representation of this object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public final int hashCode()
      +
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      +
      +
      Specified by:
      +
      hashCode in class Record
      +
      Returns:
      +
      a hash code value for this object
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public final boolean equals(Object o)
      +
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      +
      +
      Specified by:
      +
      equals in class Record
      +
      Parameters:
      +
      o - the object with which to compare
      +
      Returns:
      +
      true if this object is the same as the o argument; false otherwise.
      +
      +
      +
    • +
    • +
      +

      text

      +
      public String text()
      +
      Returns the value of the text record component.
      +
      +
      Returns:
      +
      the value of the text record component
      +
      +
      +
    • +
    • +
      +

      obj

      +
      public Object obj()
      +
      Returns the value of the obj record component.
      +
      +
      Returns:
      +
      the value of the obj record component
      +
      +
      +
    • +
    • +
      +

      reportType

      +
      public ReportType reportType()
      +
      Returns the value of the reportType record component.
      +
      +
      Returns:
      +
      the value of the reportType record component
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/reporting/ReportType.html b/docs/de/uni_halle/informatik/biodata/mp/reporting/ReportType.html new file mode 100644 index 00000000..a90d94f5 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/reporting/ReportType.html @@ -0,0 +1,216 @@ + + + + +ReportType (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class ReportType

+
+
java.lang.Object +
java.lang.Enum<ReportType> +
de.uni_halle.informatik.biodata.mp.reporting.ReportType
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<ReportType>, Constable
+
+
+
public enum ReportType +extends Enum<ReportType>
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      DATA

      +
      public static final ReportType DATA
      +
      +
    • +
    • +
      +

      STATUS

      +
      public static final ReportType STATUS
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static ReportType[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static ReportType valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/reporting/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/reporting/package-summary.html new file mode 100644 index 00000000..9ebead60 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/reporting/package-summary.html @@ -0,0 +1,103 @@ + + + + +de.uni_halle.informatik.biodata.mp.reporting (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.reporting

+
+
+
package de.uni_halle.informatik.biodata.mp.reporting
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/reporting/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/reporting/package-tree.html new file mode 100644 index 00000000..7292526f --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/reporting/package-tree.html @@ -0,0 +1,100 @@ + + + + +de.uni_halle.informatik.biodata.mp.reporting Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.reporting

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/resolver/Registry.html b/docs/de/uni_halle/informatik/biodata/mp/resolver/Registry.html new file mode 100644 index 00000000..ea38fbfe --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/resolver/Registry.html @@ -0,0 +1,172 @@ + + + + +Registry (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface Registry

+
+
+
+
All Known Implementing Classes:
+
IdentifiersOrg
+
+
+
public interface Registry
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getNamespaceForPrefix

      +
      String getNamespaceForPrefix(String prefix)
      +
      +
    • +
    • +
      +

      getPrefixByNamespaceName

      +
      String getPrefixByNamespaceName(String namespaceName)
      +
      +
    • +
    • +
      +

      getPatternByNamespaceName

      +
      String getPatternByNamespaceName(String namespaceName)
      +
      +
    • +
    • +
      +

      resolveBackwards

      +
      Optional<RegistryURI> resolveBackwards(String url)
      +
      +
    • +
    • +
      +

      validRegistryUrlPrefix

      +
      boolean validRegistryUrlPrefix(RegistryURI uri)
      +
      +
    • +
    • +
      +

      isValid

      +
      boolean isValid(String url)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/resolver/RegistryURI.html b/docs/de/uni_halle/informatik/biodata/mp/resolver/RegistryURI.html new file mode 100644 index 00000000..636f74c0 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/resolver/RegistryURI.html @@ -0,0 +1,145 @@ + + + + +RegistryURI (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface RegistryURI

+
+
+
+
All Known Implementing Classes:
+
IdentifiersOrgURI
+
+
+
public interface RegistryURI
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
     
    + + +
     
    + + +
     
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getURI

      +
      String getURI()
      +
      +
    • +
    • +
      +

      getPrefix

      +
      String getPrefix()
      +
      +
    • +
    • +
      +

      getId

      +
      String getId()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrg.html b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrg.html new file mode 100644 index 00000000..b5495a7d --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrg.html @@ -0,0 +1,260 @@ + + + + +IdentifiersOrg (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg
+
+
+
+
All Implemented Interfaces:
+
Registry
+
+
+
public class IdentifiersOrg +extends Object +implements Registry
+
The IdentifiersOrg class serves as a central hub for managing and processing identifiers related to the MIRIAM registry. + MIRIAM is a standard for annotating computational models in biology with machine-readable information. +

+ This class provides static methods and utilities to handle, validate, + and correct resource URLs based on the MIRIAM standards. It ensures that identifiers and URLs conform to recognized formats and corrects common errors in identifiers from various + biological databases. The class also initializes necessary resources and configurations at the start through a static block.

+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrgRegistryParser.html b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrgRegistryParser.html new file mode 100644 index 00000000..c2d9f488 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrgRegistryParser.html @@ -0,0 +1,165 @@ + + + + +IdentifiersOrgRegistryParser (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class IdentifiersOrgRegistryParser

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgRegistryParser
+
+
+
+
public class IdentifiersOrgRegistryParser +extends Object
+
The IdentifiersOrgRegistryParser class is a singleton that provides functionality to parse the MIRIAM registry + from a JSON file and convert it into a Miriam object. This class ensures that only one instance + of the parser is created and used throughout the application.
+
+
+ +
+
+ +
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrgURI.html b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrgURI.html new file mode 100644 index 00000000..01626304 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrgURI.html @@ -0,0 +1,311 @@ + + + + +IdentifiersOrgURI (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI
+
+
+
+
All Implemented Interfaces:
+
RegistryURI, Comparable<IdentifiersOrgURI>
+
+
+
public class IdentifiersOrgURI +extends Object +implements RegistryURI, Comparable<IdentifiersOrgURI>
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      IDENTIFIERS_ORG_ID_PATTERN

      +
      public static final String IDENTIFIERS_ORG_ID_PATTERN
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      IdentifiersOrgURI

      +
      public IdentifiersOrgURI(String url)
      +
      +
    • +
    • +
      +

      IdentifiersOrgURI

      +
      public IdentifiersOrgURI(String prefix, + String id)
      +
      +
    • +
    • +
      +

      IdentifiersOrgURI

      +
      public IdentifiersOrgURI(String prefix, + BiGGId id)
      +
      +
    • +
    • +
      +

      IdentifiersOrgURI

      +
      public IdentifiersOrgURI(String prefix, + Object id)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrgURIUtils.html b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrgURIUtils.html new file mode 100644 index 00000000..f9fb7d4a --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrgURIUtils.html @@ -0,0 +1,197 @@ + + + + +IdentifiersOrgURIUtils (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class IdentifiersOrgURIUtils

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURIUtils
+
+
+
+
public class IdentifiersOrgURIUtils +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      IdentifiersOrgURIUtils

      +
      public IdentifiersOrgURIUtils()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      addJavaRegexCaptureGroup

      +
      public static String addJavaRegexCaptureGroup(String pattern)
      +
      +
    • +
    • +
      +

      removeHttpProtocolFromUrl

      +
      public static String removeHttpProtocolFromUrl(String query)
      +
      +
    • +
    • +
      +

      replaceIdTag

      +
      public static String replaceIdTag(String url, + String pattern)
      +
      Replaces the identifier placeholder "{$id}" in a URL pattern with a specified regex pattern. + This method is designed to facilitate the matching of URLs against a dynamic regex pattern that represents + an identifier within an identifiers.org namespace or its child resources. +

      + The method first attempts to find the "{$id}" placeholder within the provided URL. If found, it splits the URL + around this placeholder and reassembles it with the given regex pattern in place of the placeholder. If the + placeholder is not found, the URL is returned as is, but quoted to ensure it is treated as a literal string in regex + operations. +

      + Note: The placeholder "{$id}" can optionally be surrounded by curly braces, which are considered during the + replacement but do not affect the functionality.

      +
      +
      Parameters:
      +
      url - The URL pattern containing the "{$id}" placeholder. This pattern represents a identifiers.org namespace or a related child namespace.
      +
      pattern - The regex pattern that should replace the "{$id}" placeholder in the URL pattern.
      +
      Returns:
      +
      A string representing the URL with the "{$id}" placeholder replaced by the provided regex pattern. If no placeholder is found, the URL is returned unchanged but quoted.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Institution.html b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Institution.html new file mode 100644 index 00000000..43bf5d45 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Institution.html @@ -0,0 +1,256 @@ + + + + +Institution (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Institution
+
+
+
+
public class Institution +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Institution

      +
      public Institution()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getId

      +
      public long getId()
      +
      +
    • +
    • +
      +

      setId

      +
      public void setId(long id)
      +
      +
    • +
    • +
      +

      getName

      +
      public String getName()
      +
      +
    • +
    • +
      +

      setName

      +
      public void setName(String name)
      +
      +
    • +
    • +
      +

      getHomeUrl

      +
      public String getHomeUrl()
      +
      +
    • +
    • +
      +

      setHomeUrl

      +
      public void setHomeUrl(String homeUrl)
      +
      +
    • +
    • +
      +

      getDescription

      +
      public String getDescription()
      +
      +
    • +
    • +
      +

      setDescription

      +
      public void setDescription(String description)
      +
      +
    • +
    • +
      +

      getLocation

      +
      public Location getLocation()
      +
      +
    • +
    • +
      +

      setLocation

      +
      public void setLocation(Location location)
      +
      +
    • +
    • +
      +

      getRorId

      +
      public String getRorId()
      +
      +
    • +
    • +
      +

      setRorId

      +
      public void setRorId(String rorId)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Location.html b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Location.html new file mode 100644 index 00000000..99b09551 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Location.html @@ -0,0 +1,184 @@ + + + + +Location (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Location
+
+
+
+
public class Location +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Location

      +
      public Location()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getCountryCode

      +
      public String getCountryCode()
      +
      +
    • +
    • +
      +

      setCountryCode

      +
      public void setCountryCode(String countryCode)
      +
      +
    • +
    • +
      +

      getCountryName

      +
      public String getCountryName()
      +
      +
    • +
    • +
      +

      setCountryName

      +
      public void setCountryName(String countryName)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Namespace.html b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Namespace.html new file mode 100644 index 00000000..8c6252e9 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Namespace.html @@ -0,0 +1,382 @@ + + + + +Namespace (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
+
+
+
public class Namespace +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Namespace

      +
      public Namespace()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getId

      +
      public long getId()
      +
      +
    • +
    • +
      +

      setId

      +
      public void setId(long id)
      +
      +
    • +
    • +
      +

      getMirId

      +
      public String getMirId()
      +
      +
    • +
    • +
      +

      setMirId

      +
      public void setMirId(String mirId)
      +
      +
    • +
    • +
      +

      getPrefix

      +
      public String getPrefix()
      +
      +
    • +
    • +
      +

      setPrefix

      +
      public void setPrefix(String prefix)
      +
      +
    • +
    • +
      +

      getName

      +
      public String getName()
      +
      +
    • +
    • +
      +

      setName

      +
      public void setName(String name)
      +
      +
    • +
    • +
      +

      getDescription

      +
      public String getDescription()
      +
      +
    • +
    • +
      +

      setDescription

      +
      public void setDescription(String description)
      +
      +
    • +
    • +
      +

      getPattern

      +
      public String getPattern()
      +
      +
    • +
    • +
      +

      setPattern

      +
      public void setPattern(String pattern)
      +
      +
    • +
    • +
      +

      getCreated

      +
      public Calendar getCreated()
      +
      +
    • +
    • +
      +

      setCreated

      +
      public void setCreated(Calendar created)
      +
      +
    • +
    • +
      +

      getModified

      +
      public Calendar getModified()
      +
      +
    • +
    • +
      +

      setModified

      +
      public void setModified(Calendar modified)
      +
      +
    • +
    • +
      +

      getSampleId

      +
      public String getSampleId()
      +
      +
    • +
    • +
      +

      setSampleId

      +
      public void setSampleId(String sampleId)
      +
      +
    • +
    • +
      +

      isNamespaceEmbeddedInLui

      +
      public boolean isNamespaceEmbeddedInLui()
      +
      +
    • +
    • +
      +

      setNamespaceEmbeddedInLui

      +
      public void setNamespaceEmbeddedInLui(boolean namespaceEmbeddedInLui)
      +
      +
    • +
    • +
      +

      getResources

      +
      public List<Resource> getResources()
      +
      +
    • +
    • +
      +

      setResources

      +
      public void setResources(List<Resource> resources)
      +
      +
    • +
    • +
      +

      isDeprecated

      +
      public boolean isDeprecated()
      +
      +
    • +
    • +
      +

      setDeprecated

      +
      public void setDeprecated(boolean deprecated)
      +
      +
    • +
    • +
      +

      getDeprecationDate

      +
      public Calendar getDeprecationDate()
      +
      +
    • +
    • +
      +

      setDeprecationDate

      +
      public void setDeprecationDate(Calendar deprecationDate)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/RawIdentifiersOrgRegistry.html b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/RawIdentifiersOrgRegistry.html new file mode 100644 index 00000000..64b9f335 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/RawIdentifiersOrgRegistry.html @@ -0,0 +1,202 @@ + + + + +RawIdentifiersOrgRegistry (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class RawIdentifiersOrgRegistry

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.RawIdentifiersOrgRegistry
+
+
+
+
public class RawIdentifiersOrgRegistry +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      RawIdentifiersOrgRegistry

      +
      public RawIdentifiersOrgRegistry()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getApiVersion

      +
      public String getApiVersion()
      +
      +
    • +
    • +
      +

      setApiVersion

      +
      public void setApiVersion(String apiVersion)
      +
      +
    • +
    • +
      +

      getErrorMessage

      +
      public String getErrorMessage()
      +
      +
    • +
    • +
      +

      setErrorMessage

      +
      public void setErrorMessage(String errorMessage)
      +
      +
    • +
    • +
      +

      getPayload

      +
      public Map<String,List<Namespace>> getPayload()
      +
      +
    • +
    • +
      +

      setPayload

      +
      public void setPayload(Map<String,List<Namespace>> payload)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Resource.html b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Resource.html new file mode 100644 index 00000000..5427cf36 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Resource.html @@ -0,0 +1,382 @@ + + + + +Resource (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
+
+
+
public class Resource +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Resource

      +
      public Resource()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getId

      +
      public long getId()
      +
      +
    • +
    • +
      +

      setId

      +
      public void setId(long id)
      +
      +
    • +
    • +
      +

      getMirId

      +
      public String getMirId()
      +
      +
    • +
    • +
      +

      setMirId

      +
      public void setMirId(String mirId)
      +
      +
    • +
    • +
      +

      getUrlPattern

      +
      public String getUrlPattern()
      +
      +
    • +
    • +
      +

      setUrlPattern

      +
      public void setUrlPattern(String urlPattern)
      +
      +
    • +
    • +
      +

      getName

      +
      public String getName()
      +
      +
    • +
    • +
      +

      setName

      +
      public void setName(String name)
      +
      +
    • +
    • +
      +

      getDescription

      +
      public String getDescription()
      +
      +
    • +
    • +
      +

      setDescription

      +
      public void setDescription(String description)
      +
      +
    • +
    • +
      +

      isOfficial

      +
      public boolean isOfficial()
      +
      +
    • +
    • +
      +

      setOfficial

      +
      public void setOfficial(boolean official)
      +
      +
    • +
    • +
      +

      getProviderCode

      +
      public String getProviderCode()
      +
      +
    • +
    • +
      +

      setProviderCode

      +
      public void setProviderCode(String providerCode)
      +
      +
    • +
    • +
      +

      getSampleId

      +
      public String getSampleId()
      +
      +
    • +
    • +
      +

      setSampleId

      +
      public void setSampleId(String sampleId)
      +
      +
    • +
    • +
      +

      getResourceHomeUrl

      +
      public String getResourceHomeUrl()
      +
      +
    • +
    • +
      +

      setResourceHomeUrl

      +
      public void setResourceHomeUrl(String resourceHomeUrl)
      +
      +
    • +
    • +
      +

      getInstitution

      +
      public Institution getInstitution()
      +
      +
    • +
    • +
      +

      setInstitution

      +
      public void setInstitution(Institution institution)
      +
      +
    • +
    • +
      +

      getLocation

      +
      public Location getLocation()
      +
      +
    • +
    • +
      +

      setLocation

      +
      public void setLocation(Location location)
      +
      +
    • +
    • +
      +

      isDeprecated

      +
      public boolean isDeprecated()
      +
      +
    • +
    • +
      +

      setDeprecated

      +
      public void setDeprecated(boolean deprecated)
      +
      +
    • +
    • +
      +

      getDeprecationDate

      +
      public Calendar getDeprecationDate()
      +
      +
    • +
    • +
      +

      setDeprecationDate

      +
      public void setDeprecationDate(Calendar deprecationDate)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/package-summary.html new file mode 100644 index 00000000..18f6edf7 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/package-summary.html @@ -0,0 +1,100 @@ + + + + +de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping

+
+
+
package de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/package-tree.html new file mode 100644 index 00000000..2f812607 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/package-tree.html @@ -0,0 +1,74 @@ + + + + +de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping

+Package Hierarchies: + +
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Institution
    • +
    • de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Location
    • +
    • de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
    • +
    • de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.RawIdentifiersOrgRegistry
    • +
    • de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
    • +
    +
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/package-summary.html new file mode 100644 index 00000000..67c2ba5a --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/package-summary.html @@ -0,0 +1,105 @@ + + + + +de.uni_halle.informatik.biodata.mp.resolver.identifiersorg (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.resolver.identifiersorg

+
+
+
package de.uni_halle.informatik.biodata.mp.resolver.identifiersorg
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/package-tree.html new file mode 100644 index 00000000..c1cfca59 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/package-tree.html @@ -0,0 +1,73 @@ + + + + +de.uni_halle.informatik.biodata.mp.resolver.identifiersorg Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.resolver.identifiersorg

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/resolver/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/resolver/package-summary.html new file mode 100644 index 00000000..b3ddc36a --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/resolver/package-summary.html @@ -0,0 +1,94 @@ + + + + +de.uni_halle.informatik.biodata.mp.resolver (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.resolver

+
+
+
package de.uni_halle.informatik.biodata.mp.resolver
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/resolver/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/resolver/package-tree.html new file mode 100644 index 00000000..4437939a --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/resolver/package-tree.html @@ -0,0 +1,67 @@ + + + + +de.uni_halle.informatik.biodata.mp.resolver Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.resolver

+Package Hierarchies: + +
+
+

Interface Hierarchy

+
    +
  • de.uni_halle.informatik.biodata.mp.resolver.Registry
  • +
  • de.uni_halle.informatik.biodata.mp.resolver.RegistryURI
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/util/ReactionNamePatterns.html b/docs/de/uni_halle/informatik/biodata/mp/util/ReactionNamePatterns.html new file mode 100644 index 00000000..9a8ef7f0 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/util/ReactionNamePatterns.html @@ -0,0 +1,296 @@ + + + + +ReactionNamePatterns (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class ReactionNamePatterns

+
+
java.lang.Object +
java.lang.Enum<ReactionNamePatterns> +
de.uni_halle.informatik.biodata.mp.util.ReactionNamePatterns
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<ReactionNamePatterns>, Constable
+
+
+
public enum ReactionNamePatterns +extends Enum<ReactionNamePatterns>
+
Defines an enumeration for regex patterns that are used to categorize reactions based on their ID strings. + Each enum constant represents a specific type of reaction and is associated with a regex pattern that matches + reaction IDs corresponding to that type.
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from class java.lang.Enum

    +Enum.EnumDesc<E extends Enum<E>>
    +
    +
  • + +
  • +
    +

    Enum Constant Summary

    +
    Enum Constants
    +
    +
    Enum Constant
    +
    Description
    + +
    +
    Pattern for ATP maintenance reactions, which are typically denoted by IDs containing 'ATPM' in any case.
    +
    + +
    +
    Case-insensitive pattern for biomass reactions, matching IDs that include the word 'biomass' in any case.
    +
    + +
    +
    Case-sensitive pattern for biomass reactions, matching IDs that specifically contain 'BIOMASS'.
    +
    + +
    +
    Pattern for default flux bound reactions, matching IDs that typically start with a prefix followed by 'default_'.
    +
    + +
    +
    Pattern for demand reactions, identified by IDs starting with 'DM_'.
    +
    + +
    +
    Pattern for exchange reactions, identified by IDs starting with 'EX_'.
    +
    + +
    +
    Pattern for sink reactions, which are reactions that remove metabolites from the system, identified by IDs starting with 'SK_' or 'SINK_'.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Retrieves the compiled Pattern object for this enum constant.
    +
    + + +
    +
    Returns the enum constant of this class with the specified name.
    +
    + + +
    +
    Returns an array containing the constants of this enum class, in +the order they are declared.
    +
    +
    +
    +
    + +
    +

    Methods inherited from class java.lang.Object

    +getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      ATP_MAINTENANCE

      +
      public static final ReactionNamePatterns ATP_MAINTENANCE
      +
      Pattern for ATP maintenance reactions, which are typically denoted by IDs containing 'ATPM' in any case.
      +
      +
    • +
    • +
      +

      BIOMASS_CASE_INSENSITIVE

      +
      public static final ReactionNamePatterns BIOMASS_CASE_INSENSITIVE
      +
      Case-insensitive pattern for biomass reactions, matching IDs that include the word 'biomass' in any case.
      +
      +
    • +
    • +
      +

      BIOMASS_CASE_SENSITIVE

      +
      public static final ReactionNamePatterns BIOMASS_CASE_SENSITIVE
      +
      Case-sensitive pattern for biomass reactions, matching IDs that specifically contain 'BIOMASS'.
      +
      +
    • +
    • +
      +

      DEFAULT_FLUX_BOUND

      +
      public static final ReactionNamePatterns DEFAULT_FLUX_BOUND
      +
      Pattern for default flux bound reactions, matching IDs that typically start with a prefix followed by 'default_'.
      +
      +
    • +
    • +
      +

      DEMAND_REACTION

      +
      public static final ReactionNamePatterns DEMAND_REACTION
      +
      Pattern for demand reactions, identified by IDs starting with 'DM_'.
      +
      +
    • +
    • +
      +

      EXCHANGE_REACTION

      +
      public static final ReactionNamePatterns EXCHANGE_REACTION
      +
      Pattern for exchange reactions, identified by IDs starting with 'EX_'.
      +
      +
    • +
    • +
      +

      SINK_REACTION

      +
      public static final ReactionNamePatterns SINK_REACTION
      +
      Pattern for sink reactions, which are reactions that remove metabolites from the system, identified by IDs starting with 'SK_' or 'SINK_'.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static ReactionNamePatterns[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static ReactionNamePatterns valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    • +
      +

      getPattern

      +
      public Pattern getPattern()
      +
      Retrieves the compiled Pattern object for this enum constant.
      +
      +
      Returns:
      +
      The compiled Pattern object.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/util/ext/fbc/GPRParser.html b/docs/de/uni_halle/informatik/biodata/mp/util/ext/fbc/GPRParser.html new file mode 100644 index 00000000..fb7b46a7 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/util/ext/fbc/GPRParser.html @@ -0,0 +1,170 @@ + + + + +GPRParser (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.util.ext.fbc.GPRParser
+
+
+
+
public class GPRParser +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      GPRParser

      +
      public GPRParser()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setGeneProductAssociation

      +
      public static void setGeneProductAssociation(org.sbml.jsbml.Reaction r, + String geneReactionRule, + boolean addGenericTerms)
      +
      +
    • +
    • +
      +

      stringify

      +
      public static String stringify(org.sbml.jsbml.ext.fbc.Association association)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/util/ext/fbc/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/util/ext/fbc/package-summary.html new file mode 100644 index 00000000..c42e28ef --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/util/ext/fbc/package-summary.html @@ -0,0 +1,81 @@ + + + + +de.uni_halle.informatik.biodata.mp.util.ext.fbc (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.util.ext.fbc

+
+
+
package de.uni_halle.informatik.biodata.mp.util.ext.fbc
+
+
    +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
     
    +
    +
    +
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/util/ext/fbc/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/util/ext/fbc/package-tree.html new file mode 100644 index 00000000..af462863 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/util/ext/fbc/package-tree.html @@ -0,0 +1,70 @@ + + + + +de.uni_halle.informatik.biodata.mp.util.ext.fbc Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.util.ext.fbc

+Package Hierarchies: + +
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • de.uni_halle.informatik.biodata.mp.util.ext.fbc.GPRParser
    • +
    +
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/util/ext/groups/GroupsUtils.html b/docs/de/uni_halle/informatik/biodata/mp/util/ext/groups/GroupsUtils.html new file mode 100644 index 00000000..356c3376 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/util/ext/groups/GroupsUtils.html @@ -0,0 +1,212 @@ + + + + +GroupsUtils (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ + +
java.lang.Object +
de.uni_halle.informatik.biodata.mp.util.ext.groups.GroupsUtils
+
+
+
+
public class GroupsUtils +extends Object
+
A collection of helpful functions for dealing with SBML data structures.
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final String
    + +
    +
    Key to link from Reaction directly to Members referencing + that reaction.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static void
    +
    createSubsystemLink(org.sbml.jsbml.Reaction r, + org.sbml.jsbml.ext.groups.Member member)
    +
    +
    Establishes a link between a reaction and a subsystem member by setting the member's reference to the reaction.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • + +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      GroupsUtils

      +
      public GroupsUtils()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      createSubsystemLink

      +
      public static void createSubsystemLink(org.sbml.jsbml.Reaction r, + org.sbml.jsbml.ext.groups.Member member)
      +
      Establishes a link between a reaction and a subsystem member by setting the member's reference to the reaction. + Additionally, it ensures that the reaction maintains a set of all members linked to it. If the set does not exist, + it is created and the member is added to it.
      +
      +
      Parameters:
      +
      r - The reaction object to which the member should be linked.
      +
      member - The subsystem member that should be linked to the reaction.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/util/ext/groups/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/util/ext/groups/package-summary.html new file mode 100644 index 00000000..3498c113 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/util/ext/groups/package-summary.html @@ -0,0 +1,83 @@ + + + + +de.uni_halle.informatik.biodata.mp.util.ext.groups (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.util.ext.groups

+
+
+
package de.uni_halle.informatik.biodata.mp.util.ext.groups
+
+
    +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    A collection of helpful functions for dealing with SBML data structures.
    +
    +
    +
    +
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/util/ext/groups/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/util/ext/groups/package-tree.html new file mode 100644 index 00000000..6cb80797 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/util/ext/groups/package-tree.html @@ -0,0 +1,70 @@ + + + + +de.uni_halle.informatik.biodata.mp.util.ext.groups Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.util.ext.groups

+Package Hierarchies: + +
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • de.uni_halle.informatik.biodata.mp.util.ext.groups.GroupsUtils
    • +
    +
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/util/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/util/package-summary.html new file mode 100644 index 00000000..32f77528 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/util/package-summary.html @@ -0,0 +1,83 @@ + + + + +de.uni_halle.informatik.biodata.mp.util (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.util

+
+
+
package de.uni_halle.informatik.biodata.mp.util
+
+
    +
  • +
    +
    Enum Classes
    +
    +
    Class
    +
    Description
    + +
    +
    Defines an enumeration for regex patterns that are used to categorize reactions based on their ID strings.
    +
    +
    +
    +
  • +
+
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/util/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/util/package-tree.html new file mode 100644 index 00000000..c124f507 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/util/package-tree.html @@ -0,0 +1,74 @@ + + + + +de.uni_halle.informatik.biodata.mp.util Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.util

+Package Hierarchies: + +
+
+

Enum Class Hierarchy

+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/validation/ModelValidator.html b/docs/de/uni_halle/informatik/biodata/mp/validation/ModelValidator.html new file mode 100644 index 00000000..4473779d --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/validation/ModelValidator.html @@ -0,0 +1,171 @@ + + + + +ModelValidator (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ModelValidator

+
+
java.lang.Object +
de.uni_halle.informatik.biodata.mp.validation.ModelValidator
+
+
+
+
public class ModelValidator +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ModelValidator

      +
      public ModelValidator()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/validation/ModelValidatorException.html b/docs/de/uni_halle/informatik/biodata/mp/validation/ModelValidatorException.html new file mode 100644 index 00000000..d428d403 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/validation/ModelValidatorException.html @@ -0,0 +1,178 @@ + + + + +ModelValidatorException (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ModelValidatorException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
de.uni_halle.informatik.biodata.mp.validation.ModelValidatorException
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class ModelValidatorException +extends Exception
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ModelValidatorException

      +
      public ModelValidatorException(Exception e, + File outputFile)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      outputFile

      +
      public File outputFile()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/validation/package-summary.html b/docs/de/uni_halle/informatik/biodata/mp/validation/package-summary.html new file mode 100644 index 00000000..beaa58b5 --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/validation/package-summary.html @@ -0,0 +1,89 @@ + + + + +de.uni_halle.informatik.biodata.mp.validation (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package de.uni_halle.informatik.biodata.mp.validation

+
+
+
package de.uni_halle.informatik.biodata.mp.validation
+
+ +
+
+
+
+ + diff --git a/docs/de/uni_halle/informatik/biodata/mp/validation/package-tree.html b/docs/de/uni_halle/informatik/biodata/mp/validation/package-tree.html new file mode 100644 index 00000000..422abc2e --- /dev/null +++ b/docs/de/uni_halle/informatik/biodata/mp/validation/package-tree.html @@ -0,0 +1,79 @@ + + + + +de.uni_halle.informatik.biodata.mp.validation Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package de.uni_halle.informatik.biodata.mp.validation

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/docs/element-list b/docs/element-list new file mode 100644 index 00000000..2f7b886f --- /dev/null +++ b/docs/element-list @@ -0,0 +1,27 @@ +de.uni_halle.informatik.biodata.mp.annotation +de.uni_halle.informatik.biodata.mp.annotation.adb +de.uni_halle.informatik.biodata.mp.annotation.bigg +de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc +de.uni_halle.informatik.biodata.mp.db +de.uni_halle.informatik.biodata.mp.db.adb +de.uni_halle.informatik.biodata.mp.db.bigg +de.uni_halle.informatik.biodata.mp.eco +de.uni_halle.informatik.biodata.mp.fixing +de.uni_halle.informatik.biodata.mp.fixing.ext.fbc +de.uni_halle.informatik.biodata.mp.fixing.ext.groups +de.uni_halle.informatik.biodata.mp.io +de.uni_halle.informatik.biodata.mp.io.parsers.cobra +de.uni_halle.informatik.biodata.mp.io.parsers.json +de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping +de.uni_halle.informatik.biodata.mp.logging +de.uni_halle.informatik.biodata.mp.parameters +de.uni_halle.informatik.biodata.mp.polishing +de.uni_halle.informatik.biodata.mp.polishing.ext.fbc +de.uni_halle.informatik.biodata.mp.reporting +de.uni_halle.informatik.biodata.mp.resolver +de.uni_halle.informatik.biodata.mp.resolver.identifiersorg +de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping +de.uni_halle.informatik.biodata.mp.util +de.uni_halle.informatik.biodata.mp.util.ext.fbc +de.uni_halle.informatik.biodata.mp.util.ext.groups +de.uni_halle.informatik.biodata.mp.validation diff --git a/docs/help-doc.html b/docs/help-doc.html new file mode 100644 index 00000000..4ace43a3 --- /dev/null +++ b/docs/help-doc.html @@ -0,0 +1,185 @@ + + + + +API Help (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+

JavaDoc Help

+ +
+
+

Navigation

+Starting from the Overview page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The Index and Search box allow you to navigate to specific declarations and summary pages, including: All Packages, All Classes and Interfaces + +
+
+
+

Kinds of Pages

+The following sections describe the different kinds of pages in this collection. +
+

Overview

+

The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

+
+
+

Package

+

Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:

+
    +
  • Interfaces
  • +
  • Classes
  • +
  • Enum Classes
  • +
  • Exceptions
  • +
  • Errors
  • +
  • Annotation Interfaces
  • +
+
+
+

Class or Interface

+

Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.

+
    +
  • Class Inheritance Diagram
  • +
  • Direct Subclasses
  • +
  • All Known Subinterfaces
  • +
  • All Known Implementing Classes
  • +
  • Class or Interface Declaration
  • +
  • Class or Interface Description
  • +
+
+
    +
  • Nested Class Summary
  • +
  • Enum Constant Summary
  • +
  • Field Summary
  • +
  • Property Summary
  • +
  • Constructor Summary
  • +
  • Method Summary
  • +
  • Required Element Summary
  • +
  • Optional Element Summary
  • +
+
+
    +
  • Enum Constant Details
  • +
  • Field Details
  • +
  • Property Details
  • +
  • Constructor Details
  • +
  • Method Details
  • +
  • Element Details
  • +
+

Note: Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.

+

The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

+
+
+

Other Files

+

Packages and modules may contain pages with additional information related to the declarations nearby.

+
+
+

Tree (Class Hierarchy)

+

There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.

+
    +
  • When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.
  • +
  • When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.
  • +
+
+
+

Constant Field Values

+

The Constant Field Values page lists the static final fields and their values.

+
+
+

Serialized Form

+

Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to those who implement rather than use the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See Also" section of the class description.

+
+
+

All Packages

+

The All Packages page contains an alphabetic index of all packages contained in the documentation.

+
+
+

All Classes and Interfaces

+

The All Classes and Interfaces page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.

+
+
+

Index

+

The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as All Packages, All Classes and Interfaces.

+
+
+
+This help file applies to API documentation generated by the standard doclet.
+
+
+ + diff --git a/docs/index-all.html b/docs/index-all.html new file mode 100644 index 00000000..25a6b6c0 --- /dev/null +++ b/docs/index-all.html @@ -0,0 +1,2585 @@ + + + + +Index (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

A

+
+
A - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Matrix of constraints, form μ ⋅ A ⋅ v + B ⋅ v = + 0 or g(μ) ⋅ A ⋅ v + B ⋅ v = 0 with + g(μ) being some continuous nonlinear function of μ;
+
+
AbstractADBAnnotator - Class in de.uni_halle.informatik.biodata.mp.annotation.adb
+
 
+
AbstractADBAnnotator(AnnotateDB, ADBAnnotationParameters) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.adb.AbstractADBAnnotator
+
 
+
AbstractAnnotator - Class in de.uni_halle.informatik.biodata.mp.annotation
+
 
+
AbstractAnnotator() - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.AbstractAnnotator
+
 
+
AbstractAnnotator(List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.AbstractAnnotator
+
 
+
AbstractBiGGAnnotator - Class in de.uni_halle.informatik.biodata.mp.annotation.bigg
+
 
+
AbstractBiGGAnnotator(BiGGDB, BiGGAnnotationParameters, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.bigg.AbstractBiGGAnnotator
+
 
+
AbstractBiGGAnnotator(BiGGDB, BiGGAnnotationParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.bigg.AbstractBiGGAnnotator
+
 
+
AbstractFixer - Class in de.uni_halle.informatik.biodata.mp.fixing
+
 
+
AbstractFixer() - Constructor for class de.uni_halle.informatik.biodata.mp.fixing.AbstractFixer
+
 
+
AbstractFixer(List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.fixing.AbstractFixer
+
 
+
AbstractPolisher - Class in de.uni_halle.informatik.biodata.mp.polishing
+
 
+
AbstractPolisher(PolishingParameters, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher
+
 
+
AbstractPolisher(PolishingParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher
+
 
+
adb - Variable in class de.uni_halle.informatik.biodata.mp.annotation.adb.AbstractADBAnnotator
+
 
+
adbAnnotationParameters() - Method in class de.uni_halle.informatik.biodata.mp.parameters.AnnotationParameters
+
 
+
ADBAnnotationParameters - Class in de.uni_halle.informatik.biodata.mp.parameters
+
 
+
ADBAnnotationParameters() - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.ADBAnnotationParameters
+
 
+
ADBAnnotationParameters(SBProperties) - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.ADBAnnotationParameters
+
 
+
ADBReactionsAnnotator - Class in de.uni_halle.informatik.biodata.mp.annotation.adb
+
 
+
ADBReactionsAnnotator(AnnotateDB, ADBAnnotationParameters) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.adb.ADBReactionsAnnotator
+
 
+
ADBSBMLAnnotator - Class in de.uni_halle.informatik.biodata.mp.annotation.adb
+
 
+
ADBSBMLAnnotator(AnnotateDB, ADBAnnotationParameters) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.adb.ADBSBMLAnnotator
+
 
+
ADBSpeciesAnnotator - Class in de.uni_halle.informatik.biodata.mp.annotation.adb
+
 
+
ADBSpeciesAnnotator(AnnotateDB, ADBAnnotationParameters) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.adb.ADBSpeciesAnnotator
+
 
+
add(String, double) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolites
+
 
+
add(String, String) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Compartments
+
 
+
ADD_ADB_ANNOTATIONS - Static variable in interface de.uni_halle.informatik.biodata.mp.annotation.AnnotationOptions
+
+
If set to true, annotations will be added to species and reactions from AnnotateDB also.
+
+
ADD_GENERIC_TERMS - Static variable in interface de.uni_halle.informatik.biodata.mp.parameters.GeneralOptions
+
+
Set this option to true if generic top-level annotations, such as 'process' + should not be applied.
+
+
addAll(Map<String, String>) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Compartments
+
 
+
addAnnotations(GeneProduct, BiGGId) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc.BiGGGeneProductAnnotator
+
+
Adds annotations to a gene product based on a given BiGGId.
+
+
addBQB_IS_AnnotationsFromADB(Annotation, String, BiGGId) - Method in class de.uni_halle.informatik.biodata.mp.annotation.adb.AbstractADBAnnotator
+
 
+
addChild(Node) - Method in class de.uni_halle.informatik.biodata.mp.eco.Node
+
 
+
addChild(Term) - Method in class de.uni_halle.informatik.biodata.mp.eco.Node
+
 
+
addGenericTerms - Variable in class de.uni_halle.informatik.biodata.mp.parameters.SBOParameters
+
 
+
addGenericTerms() - Method in class de.uni_halle.informatik.biodata.mp.parameters.SBOParameters
+
 
+
addJavaRegexCaptureGroup(String) - Static method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURIUtils
+
 
+
addParent(Node) - Method in class de.uni_halle.informatik.biodata.mp.eco.Node
+
 
+
addParent(Term) - Method in class de.uni_halle.informatik.biodata.mp.eco.Node
+
 
+
addResource(String, CVTerm, String) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ReactionParser
+
+
Tries to update a resource according to pre-defined rules.
+
+
annotate(List<Compartment>) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGCompartmentsAnnotator
+
 
+
annotate(List<GeneProduct>) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc.BiGGGeneProductAnnotator
+
+
This method handles the annotation of gene products in a given SBML model.
+
+
annotate(List<Reaction>) - Method in class de.uni_halle.informatik.biodata.mp.annotation.adb.ADBReactionsAnnotator
+
 
+
annotate(List<Reaction>) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGReactionsAnnotator
+
+
Delegates the annotation process for each reaction in the given SBML model.
+
+
annotate(List<Species>) - Method in class de.uni_halle.informatik.biodata.mp.annotation.adb.ADBSpeciesAnnotator
+
 
+
annotate(List<Species>) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGSpeciesAnnotator
+
+
Delegates annotation processing for all chemical species contained in the Model.
+
+
annotate(List<SBMLElement>) - Method in interface de.uni_halle.informatik.biodata.mp.annotation.IAnnotateSBases
+
 
+
annotate(Compartment) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGCompartmentsAnnotator
+
+
Annotates the compartment with BiGG and SBO terms.
+
+
annotate(GeneProduct) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc.BiGGGeneProductAnnotator
+
+
Annotates a gene product by adding relevant metadata and references.
+
+
annotate(Model) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGModelAnnotator
+
+
Annotates the Model with relevant metadata and delegates the annotation of contained elements such as + Compartment, Species, Reaction, and GeneProduct.
+
+
annotate(Model) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGPublicationsAnnotator
+
 
+
annotate(Model) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc.BiGGFBCAnnotator
+
 
+
annotate(Reaction) - Method in class de.uni_halle.informatik.biodata.mp.annotation.adb.ADBReactionsAnnotator
+
 
+
annotate(Reaction) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGReactionsAnnotator
+
+
Annotates a reaction by setting its name, SBO term, and additional annotations.
+
+
annotate(SBMLDocument) - Method in class de.uni_halle.informatik.biodata.mp.annotation.adb.ADBSBMLAnnotator
+
 
+
annotate(SBMLDocument) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGSBMLAnnotator
+
+
Annotates an SBMLDocument using data from the BiGG Knowledgebase.
+
+
annotate(Species) - Method in class de.uni_halle.informatik.biodata.mp.annotation.adb.ADBSpeciesAnnotator
+
 
+
annotate(Species) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGSpeciesAnnotator
+
+
This method annotates a species with various details fetched from the BiGG Knowledgebase.
+
+
annotate(Species) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc.BiGGFBCSpeciesAnnotator
+
 
+
annotate(SBMLElement) - Method in interface de.uni_halle.informatik.biodata.mp.annotation.IAnnotateSBases
+
 
+
ANNOTATE_WITH_BIGG - Static variable in interface de.uni_halle.informatik.biodata.mp.annotation.AnnotationOptions
+
+
If set to true, the model will be annotated with data from BiGG Models + database.
+
+
AnnotateDB - Class in de.uni_halle.informatik.biodata.mp.db.adb
+
 
+
AnnotateDB() - Constructor for class de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDB
+
 
+
AnnotateDBContract - Class in de.uni_halle.informatik.biodata.mp.db.adb
+
 
+
AnnotateDBContract() - Constructor for class de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract
+
 
+
AnnotateDBContract.Constants - Class in de.uni_halle.informatik.biodata.mp.db.adb
+
 
+
AnnotateDBContract.Constants.Column - Class in de.uni_halle.informatik.biodata.mp.db.adb
+
 
+
AnnotateDBContract.Constants.Table - Class in de.uni_halle.informatik.biodata.mp.db.adb
+
 
+
AnnotateDBOptions - Interface in de.uni_halle.informatik.biodata.mp.db.adb
+
+
This interface provides options for connecting to the ADB database.
+
+
annotateWithAdb - Variable in class de.uni_halle.informatik.biodata.mp.parameters.ADBAnnotationParameters
+
 
+
annotateWithAdb() - Method in class de.uni_halle.informatik.biodata.mp.parameters.ADBAnnotationParameters
+
 
+
annotateWithBiGG - Variable in class de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters
+
 
+
annotateWithBiGG() - Method in class de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters
+
 
+
annotation() - Method in class de.uni_halle.informatik.biodata.mp.parameters.Parameters
+
 
+
ANNOTATION_MESSAGES - Static variable in class de.uni_halle.informatik.biodata.mp.logging.BundleNames
+
 
+
AnnotationException - Exception in de.uni_halle.informatik.biodata.mp.annotation
+
 
+
AnnotationException(String, Exception) - Constructor for exception de.uni_halle.informatik.biodata.mp.annotation.AnnotationException
+
 
+
AnnotationOptions - Interface in de.uni_halle.informatik.biodata.mp.annotation
+
 
+
AnnotationParameters - Class in de.uni_halle.informatik.biodata.mp.parameters
+
 
+
AnnotationParameters() - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.AnnotationParameters
+
 
+
AnnotationParameters(SBProperties) - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.AnnotationParameters
+
 
+
AnnotationPolisher - Class in de.uni_halle.informatik.biodata.mp.polishing
+
 
+
AnnotationPolisher(PolishingParameters, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.AnnotationPolisher
+
 
+
AnnotationPolisher(PolishingParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.AnnotationPolisher
+
 
+
AnnotationsSorter - Class in de.uni_halle.informatik.biodata.mp.annotation
+
 
+
AnnotationsSorter() - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.AnnotationsSorter
+
 
+
archiveFile() - Method in exception de.uni_halle.informatik.biodata.mp.io.ModelWriterException
+
 
+
asString(Array) - Static method in class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.COBRAUtils
+
 
+
asString(Array, String, int) - Static method in class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.COBRAUtils
+
 
+
ATP_MAINTENANCE - Enum constant in enum class de.uni_halle.informatik.biodata.mp.util.ReactionNamePatterns
+
+
Pattern for ATP maintenance reactions, which are typically denoted by IDs containing 'ATPM' in any case.
+
+
author - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Can be part of the ModelField.description.
+
+
+

B

+
+
b - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
The bound vector of metabolite concentration change rates (usually but not + always all zero, i.e., steady-state): S ⋅ v = b.
+
+
B - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Matrix of constraints, form μ ⋅ A ⋅ v + B ⋅ v = + 0 or g(μ) ⋅ A ⋅ v + B ⋅ v = 0 with + g(μ) being some continuous nonlinear function of μ;
+
+
BASE_MESSAGES - Static variable in class de.uni_halle.informatik.biodata.mp.logging.BundleNames
+
 
+
bigg - Variable in class de.uni_halle.informatik.biodata.mp.annotation.bigg.AbstractBiGGAnnotator
+
 
+
BIGG_ANNOTATION_MESSAGES - Static variable in class de.uni_halle.informatik.biodata.mp.logging.BundleNames
+
 
+
BIGG_GENE_ID_PATTERN - Static variable in class de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc.BiGGGeneProductAnnotator
+
 
+
BIGG_METABOLITE - Static variable in class de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants
+
 
+
BIGG_REACTION - Static variable in class de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants
+
 
+
BiGGAnnotationException - Exception in de.uni_halle.informatik.biodata.mp.annotation.bigg
+
 
+
BiGGAnnotationException(String, Exception, Object) - Constructor for exception de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGAnnotationException
+
 
+
biggAnnotationParameters() - Method in class de.uni_halle.informatik.biodata.mp.parameters.AnnotationParameters
+
 
+
biGGAnnotationParameters - Variable in class de.uni_halle.informatik.biodata.mp.annotation.bigg.AbstractBiGGAnnotator
+
 
+
BiGGAnnotationParameters - Class in de.uni_halle.informatik.biodata.mp.parameters
+
 
+
BiGGAnnotationParameters() - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters
+
 
+
BiGGAnnotationParameters(boolean, boolean, String, BiGGNotesParameters, DBParameters) - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters
+
 
+
BiGGAnnotationParameters(SBProperties) - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters
+
 
+
BiGGCompartmentsAnnotator - Class in de.uni_halle.informatik.biodata.mp.annotation.bigg
+
+
This class is responsible for annotating a specific compartment within an SBML model using data from the BiGG database.
+
+
BiGGCompartmentsAnnotator(BiGGDB, BiGGAnnotationParameters, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGCompartmentsAnnotator
+
 
+
BiGGCompartmentsAnnotator(BiGGDB, BiGGAnnotationParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGCompartmentsAnnotator
+
 
+
BiGGCVTermAnnotator<T extends org.sbml.jsbml.SBase> - Class in de.uni_halle.informatik.biodata.mp.annotation.bigg
+
+
Abstract class providing a framework for annotating SBML elements with Controlled Vocabulary (CV) Terms.
+
+
BiGGCVTermAnnotator(BiGGDB, BiGGAnnotationParameters, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGCVTermAnnotator
+
 
+
BiGGCVTermAnnotator(BiGGDB, BiGGAnnotationParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGCVTermAnnotator
+
 
+
BiGGDB - Class in de.uni_halle.informatik.biodata.mp.db.bigg
+
+
This class provides a connection to the BiGG database.
+
+
BiGGDB() - Constructor for class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
 
+
BiGGDB.ForeignReaction - Class in de.uni_halle.informatik.biodata.mp.db.bigg
+
+
Represents a reaction from an external data source mapped to the BiGG database, including its compartment details.
+
+
BiGGDBContract - Class in de.uni_halle.informatik.biodata.mp.db.bigg
+
 
+
BiGGDBContract.Constants - Class in de.uni_halle.informatik.biodata.mp.db.bigg
+
 
+
BiGGDBContract.Constants.Column - Class in de.uni_halle.informatik.biodata.mp.db.bigg
+
 
+
BiGGDBContract.Constants.Table - Class in de.uni_halle.informatik.biodata.mp.db.bigg
+
 
+
BiGGDBOptions - Interface in de.uni_halle.informatik.biodata.mp.db.bigg
+
 
+
BiGGDocumentNotesProcessor - Class in de.uni_halle.informatik.biodata.mp.annotation.bigg
+
 
+
BiGGDocumentNotesProcessor(BiGGDB, BiGGAnnotationParameters) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGDocumentNotesProcessor
+
 
+
BiGGFBCAnnotator - Class in de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc
+
 
+
BiGGFBCAnnotator(BiGGDB, BiGGAnnotationParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc.BiGGFBCAnnotator
+
 
+
BiGGFBCSpeciesAnnotator - Class in de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc
+
 
+
BiGGFBCSpeciesAnnotator(BiGGDB, BiGGAnnotationParameters, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc.BiGGFBCSpeciesAnnotator
+
 
+
BiGGGeneProductAnnotator - Class in de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc
+
+
Provides functionality to annotate gene products in an SBML model using data from the BiGG database.
+
+
BiGGGeneProductAnnotator(BiGGGeneProductReferencesAnnotator, BiGGDB, BiGGAnnotationParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc.BiGGGeneProductAnnotator
+
 
+
BiGGGeneProductReferencesAnnotator - Class in de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc
+
 
+
BiGGGeneProductReferencesAnnotator() - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc.BiGGGeneProductReferencesAnnotator
+
 
+
BiGGId - Class in de.uni_halle.informatik.biodata.mp.db.bigg
+
+
Represents a BiGG identifier used to uniquely identify various biological entities + such as reactions, metabolites, and genes within the BiGG database.
+
+
BiGGId() - Constructor for class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
 
+
BiGGId(String) - Constructor for class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
 
+
BiGGId(String, String, String, String) - Constructor for class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
 
+
BiGGModelAnnotator - Class in de.uni_halle.informatik.biodata.mp.annotation.bigg
+
+
This class is responsible for annotating an SBML Model with relevant metadata and references.
+
+
BiGGModelAnnotator(BiGGDB, BiGGAnnotationParameters, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGModelAnnotator
+
 
+
BiGGModelAnnotator(BiGGDB, BiGGAnnotationParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGModelAnnotator
+
 
+
BiGGNotesParameters - Class in de.uni_halle.informatik.biodata.mp.parameters
+
 
+
BiGGNotesParameters() - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.BiGGNotesParameters
+
 
+
BiGGNotesParameters(SBProperties) - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.BiGGNotesParameters
+
 
+
BiGGPublicationsAnnotator - Class in de.uni_halle.informatik.biodata.mp.annotation.bigg
+
 
+
BiGGPublicationsAnnotator(BiGGDB, BiGGAnnotationParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGPublicationsAnnotator
+
 
+
BiGGReactionsAnnotator - Class in de.uni_halle.informatik.biodata.mp.annotation.bigg
+
+
This class provides functionality to annotate a reaction in an SBML model using BiGG database identifiers.
+
+
BiGGReactionsAnnotator(BiGGDB, BiGGAnnotationParameters, SBOParameters, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGReactionsAnnotator
+
 
+
BiGGReactionsAnnotator(BiGGDB, BiGGAnnotationParameters, SBOParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGReactionsAnnotator
+
 
+
BiGGSBMLAnnotator - Class in de.uni_halle.informatik.biodata.mp.annotation.bigg
+
+
This class is responsible for annotating SBML models using data from the BiGG database.
+
+
BiGGSBMLAnnotator(BiGGDB, BiGGAnnotationParameters, SBOParameters, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGSBMLAnnotator
+
 
+
BiGGSBMLAnnotator(BiGGDB, BiGGAnnotationParameters, SBOParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGSBMLAnnotator
+
 
+
BiGGSpeciesAnnotator - Class in de.uni_halle.informatik.biodata.mp.annotation.bigg
+
+
This class provides functionality to annotate a species in an SBML model using BiGG database identifiers.
+
+
BiGGSpeciesAnnotator(BiGGDB, BiGGAnnotationParameters, SBOParameters, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGSpeciesAnnotator
+
 
+
BiGGSpeciesAnnotator(BiGGDB, BiGGAnnotationParameters, SBOParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGSpeciesAnnotator
+
 
+
BIOMASS_CASE_INSENSITIVE - Enum constant in enum class de.uni_halle.informatik.biodata.mp.util.ReactionNamePatterns
+
+
Case-insensitive pattern for biomass reactions, matching IDs that include the word 'biomass' in any case.
+
+
BIOMASS_CASE_SENSITIVE - Enum constant in enum class de.uni_halle.informatik.biodata.mp.util.ReactionNamePatterns
+
+
Case-sensitive pattern for biomass reactions, matching IDs that specifically contain 'BIOMASS'.
+
+
BundleNames - Class in de.uni_halle.informatik.biodata.mp.logging
+
 
+
BundleNames() - Constructor for class de.uni_halle.informatik.biodata.mp.logging.BundleNames
+
 
+
+

C

+
+
c - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
The objective function vector for max(c' ⋅ v) for corresponding + reactions.
+
+
checkCreateOutDir(File) - Static method in class de.uni_halle.informatik.biodata.mp.io.SBMLFileUtils
+
+
Creates output directory or output parent directory, if necessary
+
+
checkId(String) - Static method in class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.COBRAUtils
+
+
Necessary to check for a special whitespace (code 160) at beginning of id + (iCHOv1.mat, possibly other models) and to remove trailing ';'
+
+
citations - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Literature references for the reactions.
+
+
CLI_MESSAGES - Static variable in class de.uni_halle.informatik.biodata.mp.logging.BundleNames
+
 
+
close() - Method in class de.uni_halle.informatik.biodata.mp.db.PostgresConnectionPool
+
 
+
close() - Method in class de.uni_halle.informatik.biodata.mp.io.DeleteOnCloseFileInputStream
+
 
+
COBRAUtils - Class in de.uni_halle.informatik.biodata.mp.io.parsers.cobra
+
 
+
COBRAUtils() - Constructor for class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.COBRAUtils
+
 
+
coefficients - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
TODO
+
+
Column() - Constructor for class de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants.Column
+
 
+
Column() - Constructor for class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBContract.Constants.Column
+
 
+
COMBINE - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.IOOptions.OutputType
+
 
+
COMBINE_SPECIFICATION - Static variable in class de.uni_halle.informatik.biodata.mp.io.CombineArchive
+
 
+
CombineArchive - Class in de.uni_halle.informatik.biodata.mp.io
+
+
The CombineArchive class provides functionality to create a COMBINE archive from an SBML document.
+
+
CombineArchive(SBMLDocument, File) - Constructor for class de.uni_halle.informatik.biodata.mp.io.CombineArchive
+
 
+
comments - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
These are human-readable notes for reactions.
+
+
compareTo(IdentifiersOrgURI) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI
+
 
+
CompartmentFixer - Class in de.uni_halle.informatik.biodata.mp.fixing
+
 
+
CompartmentFixer(List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.fixing.CompartmentFixer
+
 
+
compartmentId - Variable in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB.ForeignReaction
+
 
+
compartmentName - Variable in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB.ForeignReaction
+
 
+
CompartmentPolisher - Class in de.uni_halle.informatik.biodata.mp.polishing
+
+
This class is responsible for polishing the properties of a compartment in an SBML model to ensure + compliance with standards and completeness.
+
+
CompartmentPolisher(PolishingParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.CompartmentPolisher
+
 
+
Compartments - Class in de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping
+
 
+
Compartments() - Constructor for class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Compartments
+
 
+
confidenceScores - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Confidence score for each reaction.
+
+
Constants() - Constructor for class de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants
+
 
+
Constants() - Constructor for class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBContract.Constants
+
 
+
convertAssociationsToFBCV2(Reaction, boolean) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.GeneProductAssociationsProcessor
+
 
+
convertGene(GeneProduct) - Static method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONConverter
+
 
+
convertGenes(Model) - Static method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONConverter
+
 
+
convertMetabolite(Species) - Static method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONConverter
+
 
+
convertMetabolites(Model) - Static method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONConverter
+
 
+
convertModel(Model) - Static method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONConverter
+
 
+
convertReaction(Reaction) - Static method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONConverter
+
 
+
convertReactions(Model) - Static method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONConverter
+
 
+
createGeneId(String) - Static method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
 
+
createMetaboliteId(String) - Static method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
 
+
createReactionId(String) - Static method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
 
+
createReactionId(String, boolean) - Static method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
+
Creates a BiGG ID for a reaction based on the provided string identifier.
+
+
createSubsystemLink(Reaction, Member) - Static method in class de.uni_halle.informatik.biodata.mp.util.ext.groups.GroupsUtils
+
+
Establishes a link between a reaction and a subsystem member by setting the member's reference to the reaction.
+
+
csense - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
The csense field expresses equality constraints in the model.
+
+
CV_TERM_DESCRIBED_BY_PUBMED_GROWTH_UNIT - Static variable in class de.uni_halle.informatik.biodata.mp.polishing.UnitPolisher
+
 
+
CV_TERM_IS_SUBSTANCE_UNIT - Static variable in class de.uni_halle.informatik.biodata.mp.polishing.UnitPolisher
+
 
+
CV_TERM_IS_TIME_UNIT - Static variable in class de.uni_halle.informatik.biodata.mp.polishing.UnitPolisher
+
 
+
CV_TERM_IS_UO_GRAM - Static variable in class de.uni_halle.informatik.biodata.mp.polishing.UnitPolisher
+
 
+
CV_TERM_IS_UO_HOUR - Static variable in class de.uni_halle.informatik.biodata.mp.polishing.UnitPolisher
+
 
+
CV_TERM_IS_UO_MMOL - Static variable in class de.uni_halle.informatik.biodata.mp.polishing.UnitPolisher
+
 
+
CV_TERM_IS_UO_SECOND - Static variable in class de.uni_halle.informatik.biodata.mp.polishing.UnitPolisher
+
 
+
CV_TERM_IS_VERSION_OF_UO_MOLE - Static variable in class de.uni_halle.informatik.biodata.mp.polishing.UnitPolisher
+
 
+
CV_TERM_IS_VERSION_OF_UO_SECOND - Static variable in class de.uni_halle.informatik.biodata.mp.polishing.UnitPolisher
+
 
+
CV_TERM_IS_VOLUME_UNIT - Static variable in class de.uni_halle.informatik.biodata.mp.polishing.UnitPolisher
+
 
+
+

D

+
+
DAG - Class in de.uni_halle.informatik.biodata.mp.eco
+
 
+
DAG(Term) - Constructor for class de.uni_halle.informatik.biodata.mp.eco.DAG
+
 
+
data() - Method in exception de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGAnnotationException
+
 
+
DATA - Enum constant in enum class de.uni_halle.informatik.biodata.mp.reporting.ReportType
+
 
+
DB_MESSAGES - Static variable in class de.uni_halle.informatik.biodata.mp.logging.BundleNames
+
 
+
dbName() - Method in class de.uni_halle.informatik.biodata.mp.parameters.DBParameters
+
 
+
DBNAME - Static variable in interface de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBOptions
+
 
+
DBNAME - Static variable in interface de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBOptions
+
 
+
dbParameters - Variable in class de.uni_halle.informatik.biodata.mp.parameters.ADBAnnotationParameters
+
 
+
dbParameters - Variable in class de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters
+
 
+
dbParameters() - Method in class de.uni_halle.informatik.biodata.mp.parameters.ADBAnnotationParameters
+
 
+
dbParameters() - Method in class de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters
+
 
+
DBParameters - Class in de.uni_halle.informatik.biodata.mp.parameters
+
 
+
DBParameters() - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.DBParameters
+
 
+
DBParameters(String, String, String, Integer, String) - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.DBParameters
+
 
+
de.uni_halle.informatik.biodata.mp.annotation - package de.uni_halle.informatik.biodata.mp.annotation
+
 
+
de.uni_halle.informatik.biodata.mp.annotation.adb - package de.uni_halle.informatik.biodata.mp.annotation.adb
+
 
+
de.uni_halle.informatik.biodata.mp.annotation.bigg - package de.uni_halle.informatik.biodata.mp.annotation.bigg
+
 
+
de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc - package de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc
+
 
+
de.uni_halle.informatik.biodata.mp.db - package de.uni_halle.informatik.biodata.mp.db
+
 
+
de.uni_halle.informatik.biodata.mp.db.adb - package de.uni_halle.informatik.biodata.mp.db.adb
+
 
+
de.uni_halle.informatik.biodata.mp.db.bigg - package de.uni_halle.informatik.biodata.mp.db.bigg
+
 
+
de.uni_halle.informatik.biodata.mp.eco - package de.uni_halle.informatik.biodata.mp.eco
+
 
+
de.uni_halle.informatik.biodata.mp.fixing - package de.uni_halle.informatik.biodata.mp.fixing
+
 
+
de.uni_halle.informatik.biodata.mp.fixing.ext.fbc - package de.uni_halle.informatik.biodata.mp.fixing.ext.fbc
+
 
+
de.uni_halle.informatik.biodata.mp.fixing.ext.groups - package de.uni_halle.informatik.biodata.mp.fixing.ext.groups
+
 
+
de.uni_halle.informatik.biodata.mp.io - package de.uni_halle.informatik.biodata.mp.io
+
 
+
de.uni_halle.informatik.biodata.mp.io.parsers.cobra - package de.uni_halle.informatik.biodata.mp.io.parsers.cobra
+
 
+
de.uni_halle.informatik.biodata.mp.io.parsers.json - package de.uni_halle.informatik.biodata.mp.io.parsers.json
+
 
+
de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping - package de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping
+
 
+
de.uni_halle.informatik.biodata.mp.logging - package de.uni_halle.informatik.biodata.mp.logging
+
 
+
de.uni_halle.informatik.biodata.mp.parameters - package de.uni_halle.informatik.biodata.mp.parameters
+
 
+
de.uni_halle.informatik.biodata.mp.polishing - package de.uni_halle.informatik.biodata.mp.polishing
+
 
+
de.uni_halle.informatik.biodata.mp.polishing.ext.fbc - package de.uni_halle.informatik.biodata.mp.polishing.ext.fbc
+
 
+
de.uni_halle.informatik.biodata.mp.reporting - package de.uni_halle.informatik.biodata.mp.reporting
+
 
+
de.uni_halle.informatik.biodata.mp.resolver - package de.uni_halle.informatik.biodata.mp.resolver
+
 
+
de.uni_halle.informatik.biodata.mp.resolver.identifiersorg - package de.uni_halle.informatik.biodata.mp.resolver.identifiersorg
+
 
+
de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping - package de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping
+
 
+
de.uni_halle.informatik.biodata.mp.util - package de.uni_halle.informatik.biodata.mp.util
+
 
+
de.uni_halle.informatik.biodata.mp.util.ext.fbc - package de.uni_halle.informatik.biodata.mp.util.ext.fbc
+
 
+
de.uni_halle.informatik.biodata.mp.util.ext.groups - package de.uni_halle.informatik.biodata.mp.util.ext.groups
+
 
+
de.uni_halle.informatik.biodata.mp.validation - package de.uni_halle.informatik.biodata.mp.validation
+
 
+
DEFAULT_FLUX_BOUND - Enum constant in enum class de.uni_halle.informatik.biodata.mp.util.ReactionNamePatterns
+
+
Pattern for default flux bound reactions, matching IDs that typically start with a prefix followed by 'default_'.
+
+
DeleteOnCloseFileInputStream - Class in de.uni_halle.informatik.biodata.mp.io
+
 
+
DeleteOnCloseFileInputStream(File) - Constructor for class de.uni_halle.informatik.biodata.mp.io.DeleteOnCloseFileInputStream
+
 
+
DeleteOnCloseFileInputStream(String) - Constructor for class de.uni_halle.informatik.biodata.mp.io.DeleteOnCloseFileInputStream
+
 
+
DEMAND_REACTION - Enum constant in enum class de.uni_halle.informatik.biodata.mp.util.ReactionNamePatterns
+
+
Pattern for demand reactions, identified by IDs starting with 'DM_'.
+
+
description - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Human-redable information about the model, e.g., the model name.
+
+
DiffListener - Class in de.uni_halle.informatik.biodata.mp.reporting
+
 
+
DiffListener() - Constructor for class de.uni_halle.informatik.biodata.mp.reporting.DiffListener
+
 
+
diffReport(String, Object, Object) - Method in class de.uni_halle.informatik.biodata.mp.annotation.AbstractAnnotator
+
 
+
diffReport(String, Object, Object) - Method in interface de.uni_halle.informatik.biodata.mp.reporting.IReportDiffs
+
 
+
disabled - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
The "disabled" field comes from the reconstruction tool rBioNet.
+
+
doc() - Method in exception de.uni_halle.informatik.biodata.mp.io.ModelWriterException
+
 
+
DOCUMENT_NOTES_FILE - Static variable in interface de.uni_halle.informatik.biodata.mp.annotation.AnnotationOptions
+
+
This XHTML file defines alternative document notes and makes them + exchangeable.
+
+
DOCUMENT_TITLE_PATTERN - Static variable in interface de.uni_halle.informatik.biodata.mp.annotation.AnnotationOptions
+
+
This option allows you to define the title of the SBML document's + description and hence the headline when the file is displayed in a web + browser.
+
+
documentNotesFile - Variable in class de.uni_halle.informatik.biodata.mp.parameters.BiGGNotesParameters
+
 
+
documentNotesFile() - Method in class de.uni_halle.informatik.biodata.mp.parameters.BiGGNotesParameters
+
 
+
documentTitlePattern - Variable in class de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters
+
 
+
documentTitlePattern() - Method in class de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters
+
 
+
DONT_FIX - Static variable in interface de.uni_halle.informatik.biodata.mp.fixing.FixingOptions
+
 
+
dontFix() - Method in class de.uni_halle.informatik.biodata.mp.parameters.FixingParameters
+
 
+
+

E

+
+
ecNumbers - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
The Enzyme Commission codes for the reactions.
+
+
equals(Object) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
 
+
equals(Object) - Method in record class de.uni_halle.informatik.biodata.mp.db.bigg.Publication
+
+
Indicates whether some other object is "equal to" this one.
+
+
equals(Object) - Method in class de.uni_halle.informatik.biodata.mp.eco.Node
+
 
+
equals(Object) - Method in class de.uni_halle.informatik.biodata.mp.parameters.ADBAnnotationParameters
+
 
+
equals(Object) - Method in class de.uni_halle.informatik.biodata.mp.parameters.AnnotationParameters
+
 
+
equals(Object) - Method in class de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters
+
 
+
equals(Object) - Method in class de.uni_halle.informatik.biodata.mp.parameters.DBParameters
+
 
+
equals(Object) - Method in class de.uni_halle.informatik.biodata.mp.parameters.FixingParameters
+
 
+
equals(Object) - Method in class de.uni_halle.informatik.biodata.mp.parameters.Parameters
+
 
+
equals(Object) - Method in class de.uni_halle.informatik.biodata.mp.parameters.SBOParameters
+
 
+
equals(Object) - Method in class de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher
+
 
+
equals(Object) - Method in record class de.uni_halle.informatik.biodata.mp.reporting.ProgressFinalization
+
+
Indicates whether some other object is "equal to" this one.
+
+
equals(Object) - Method in record class de.uni_halle.informatik.biodata.mp.reporting.ProgressInitialization
+
+
Indicates whether some other object is "equal to" this one.
+
+
equals(Object) - Method in record class de.uni_halle.informatik.biodata.mp.reporting.ProgressUpdate
+
+
Indicates whether some other object is "equal to" this one.
+
+
equals(Object) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI
+
 
+
EXCHANGE_REACTION - Enum constant in enum class de.uni_halle.informatik.biodata.mp.util.ReactionNamePatterns
+
+
Pattern for exchange reactions, identified by IDs starting with 'EX_'.
+
+
exists(Array, int) - Static method in class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.COBRAUtils
+
 
+
extractCompartmentCode(String) - Static method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
+
Extracts the compartment code from a given identifier if it matches the expected pattern.
+
+
+

F

+
+
FBCPolisher - Class in de.uni_halle.informatik.biodata.mp.polishing.ext.fbc
+
 
+
FBCPolisher(PolishingParameters, SBOParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.FBCPolisher
+
 
+
FBCReactionPolisher - Class in de.uni_halle.informatik.biodata.mp.polishing.ext.fbc
+
 
+
FBCReactionPolisher(FBCModelPlugin, PolishingParameters, SBOParameters, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.FBCReactionPolisher
+
 
+
FBCReactionPolisher(FBCModelPlugin, PolishingParameters, SBOParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.FBCReactionPolisher
+
 
+
FBCSpeciesFixer - Class in de.uni_halle.informatik.biodata.mp.fixing.ext.fbc
+
 
+
FBCSpeciesFixer() - Constructor for class de.uni_halle.informatik.biodata.mp.fixing.ext.fbc.FBCSpeciesFixer
+
 
+
findBiGGId(GeneProduct) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc.BiGGGeneProductAnnotator
+
+
Validates the ID of a GeneProduct against the expected BiGG ID format and attempts to retrieve a + corresponding BiGGId from existing annotations if the initial ID does not conform to the BiGG format.
+
+
findBiGGId(Reaction) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGReactionsAnnotator
+
+
This method checks if the ID of the reaction is a valid BiGG ID and attempts to retrieve a corresponding + BiGG ID based on existing annotations.
+
+
findBiGGId(Species) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGSpeciesAnnotator
+
+
Validates the species ID and attempts to retrieve a corresponding BiGGId based on existing annotations.
+
+
findBiGGId(Species) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc.BiGGFBCSpeciesAnnotator
+
 
+
findBiGGId(T) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGCVTermAnnotator
+
+
Abstract method to check the validity of a BiGG ID.
+
+
findChild(Node, Term) - Method in class de.uni_halle.informatik.biodata.mp.eco.Node
+
 
+
findParent(Node, Term) - Method in class de.uni_halle.informatik.biodata.mp.eco.Node
+
 
+
findTerm(Term) - Method in class de.uni_halle.informatik.biodata.mp.eco.Node
+
+
Returns the Node containing the specified Term or null, if not present
+
+
finish(ProgressFinalization) - Method in class de.uni_halle.informatik.biodata.mp.reporting.PolisherProgressBar
+
 
+
finish(ProgressFinalization) - Method in interface de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver
+
 
+
fix(List<Compartment>) - Method in class de.uni_halle.informatik.biodata.mp.fixing.CompartmentFixer
+
 
+
fix(List<Group>) - Method in class de.uni_halle.informatik.biodata.mp.fixing.ext.groups.GroupsFixer
+
 
+
fix(List<Reaction>) - Method in class de.uni_halle.informatik.biodata.mp.fixing.ReactionFixer
+
 
+
fix(List<Species>) - Method in class de.uni_halle.informatik.biodata.mp.fixing.SpeciesFixer
+
 
+
fix(List<SpeciesReference>) - Method in interface de.uni_halle.informatik.biodata.mp.fixing.IFixSpeciesReferences
+
 
+
fix(List<SBMLElement>) - Method in interface de.uni_halle.informatik.biodata.mp.fixing.IFixSBases
+
 
+
fix(Compartment, int) - Method in class de.uni_halle.informatik.biodata.mp.fixing.CompartmentFixer
+
 
+
fix(ListOfObjectives, int) - Method in class de.uni_halle.informatik.biodata.mp.fixing.ext.fbc.ListOfObjectivesFixer
+
 
+
fix(Group, int) - Method in class de.uni_halle.informatik.biodata.mp.fixing.ext.groups.GroupsFixer
+
 
+
fix(Model, int) - Method in class de.uni_halle.informatik.biodata.mp.fixing.ModelFixer
+
 
+
fix(Reaction, int) - Method in class de.uni_halle.informatik.biodata.mp.fixing.ReactionFixer
+
 
+
fix(SBMLDocument, int) - Method in class de.uni_halle.informatik.biodata.mp.fixing.SBMLFixer
+
 
+
fix(Species, int) - Method in class de.uni_halle.informatik.biodata.mp.fixing.ext.fbc.FBCSpeciesFixer
+
 
+
fix(Species, int) - Method in class de.uni_halle.informatik.biodata.mp.fixing.SpeciesFixer
+
 
+
fix(SpeciesReference) - Method in interface de.uni_halle.informatik.biodata.mp.fixing.IFixSpeciesReferences
+
 
+
fix(SpeciesReference) - Method in class de.uni_halle.informatik.biodata.mp.fixing.SpeciesReferenceFixer
+
 
+
fix(SBMLElement, int) - Method in interface de.uni_halle.informatik.biodata.mp.fixing.IFixSBases
+
 
+
fixIdentifiersOrgUri(IdentifiersOrgURI) - Static method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg
+
 
+
fixing() - Method in class de.uni_halle.informatik.biodata.mp.parameters.Parameters
+
 
+
FIXING_MESSAGES - Static variable in class de.uni_halle.informatik.biodata.mp.logging.BundleNames
+
 
+
FixingOptions - Interface in de.uni_halle.informatik.biodata.mp.fixing
+
 
+
FixingParameters - Class in de.uni_halle.informatik.biodata.mp.parameters
+
 
+
FixingParameters() - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.FixingParameters
+
 
+
FixingParameters(boolean, FluxObjectivesFixingParameters) - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.FixingParameters
+
 
+
FixingParameters(SBProperties) - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.FixingParameters
+
 
+
FLUX_COEFFICIENTS - Static variable in interface de.uni_halle.informatik.biodata.mp.fixing.FixingOptions
+
 
+
FLUX_OBJECTIVES - Static variable in interface de.uni_halle.informatik.biodata.mp.fixing.FixingOptions
+
 
+
fluxCoefficients - Variable in class de.uni_halle.informatik.biodata.mp.parameters.FluxObjectivesFixingParameters
+
 
+
fluxCoefficients() - Method in class de.uni_halle.informatik.biodata.mp.parameters.FluxObjectivesFixingParameters
+
 
+
fluxObjectiveHasValidCoefficients(FluxObjective) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.StrictnessPredicate
+
+
5) All defined FluxObjective objects must have their coefficient attribute set + to a double value that is not 'NaN', nor '-INF', nor 'INF'.
+
+
fluxObjectives - Variable in class de.uni_halle.informatik.biodata.mp.parameters.FluxObjectivesFixingParameters
+
 
+
fluxObjectives() - Method in class de.uni_halle.informatik.biodata.mp.parameters.FluxObjectivesFixingParameters
+
 
+
FluxObjectivesFixingParameters - Class in de.uni_halle.informatik.biodata.mp.parameters
+
 
+
FluxObjectivesFixingParameters() - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.FluxObjectivesFixingParameters
+
 
+
FluxObjectivesFixingParameters(SBProperties) - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.FluxObjectivesFixingParameters
+
 
+
FluxObjectivesFixingParameters(List<Double>, List<String>) - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.FluxObjectivesFixingParameters
+
 
+
fluxObjectivesPolishingParameters() - Method in class de.uni_halle.informatik.biodata.mp.parameters.FixingParameters
+
 
+
ForeignReaction(String, String, String) - Constructor for class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB.ForeignReaction
+
+
Constructs a new ForeignReaction instance.
+
+
+

G

+
+
Gene - Class in de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping
+
 
+
Gene() - Constructor for class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Gene
+
 
+
genedate - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Can be part of the ModelField.description.
+
+
geneindex - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Can be part of the ModelField.description.
+
+
GeneParser - Class in de.uni_halle.informatik.biodata.mp.io.parsers.cobra
+
 
+
GeneParser(FBCModelPlugin, int) - Constructor for class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.GeneParser
+
 
+
GeneProductAssociationsProcessor - Class in de.uni_halle.informatik.biodata.mp.polishing.ext.fbc
+
 
+
GeneProductAssociationsProcessor() - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.GeneProductAssociationsProcessor
+
 
+
GeneProductsPolisher - Class in de.uni_halle.informatik.biodata.mp.polishing.ext.fbc
+
 
+
GeneProductsPolisher(PolishingParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.GeneProductsPolisher
+
 
+
GeneralOptions - Interface in de.uni_halle.informatik.biodata.mp.parameters
+
 
+
genes - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
The list of all genes in the model, where each contained gene corresponds + to a AbstractSBase.getId().
+
+
genesource - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Can be part of the ModelField.description.
+
+
GENOME_ASSEMBLY_ID_PATTERN - Static variable in class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGModelAnnotator
+
 
+
get() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Compartments
+
 
+
get() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolites
+
 
+
getAbbreviation() - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
 
+
getAllBiggIds(String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves a set of unique BiGG IDs from a specified table in the database.
+
+
getAnnotation() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Gene
+
 
+
getAnnotation() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite
+
 
+
getAnnotation() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
getAnnotation() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
getAnnotations(String, String) - Method in class de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDB
+
+
Retrieves a set of annotated URLs based on the type and BiGG ID provided.
+
+
getApiVersion() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.RawIdentifiersOrgRegistry
+
 
+
getBiGGIdFromResources(List<String>, String) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.AbstractBiGGAnnotator
+
+
Attempts to extract a BiGG ID that conforms to the BiGG ID specification from the BiGG knowledgebase.
+
+
getBiggIdFromSynonym(String, String, String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves the BiGG ID associated with a given synonym and type from the specified data source.
+
+
getBiggIdsForReactionForeignId(RegistryURI) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves a collection of ForeignReaction objects for a given synonym and data source ID.
+
+
getBiGGVersion() - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves the version date of the BiGG database.
+
+
getBound() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite
+
 
+
getCharge() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite
+
 
+
getCharge(String, String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves the charge for a given component and model from the database.
+
+
getChargeByCompartment(String, String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves the charge associated with a specific component in a given compartment when the model ID is unknown.
+
+
getChemicalFormula(String, String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves the chemical formula for a given component within a specific model in the BiGG database.
+
+
getChemicalFormulaByCompartment(String, String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves the unique chemical formula for a given component within a specific compartment.
+
+
getChildren() - Method in class de.uni_halle.informatik.biodata.mp.eco.Node
+
 
+
getCompartment() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite
+
 
+
getCompartmentCode() - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
 
+
getCompartmentName(BiGGId) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves the name of the compartment associated with the given BiGG ID from the database.
+
+
getCompartments() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
getComponentName(BiGGId) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves the name of the component associated with the given BiGG ID from the database.
+
+
getComponentType(BiGGId) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves the type of the component associated with the given BiGG ID from the database.
+
+
getConnection() - Method in class de.uni_halle.informatik.biodata.mp.db.PostgresConnectionPool
+
 
+
getCorrectName(String) - Static method in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Get known model field variant name for a struct field, disregarding upper/lowercase discrepancies, if case can't be + matched
+
+
getCountryCode() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Location
+
 
+
getCountryName() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Location
+
 
+
getCreated() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
getDeprecationDate() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
getDeprecationDate() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
getDescription() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
getDescription() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Institution
+
 
+
getDescription() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
getDescription() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
getErrorMessage() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.RawIdentifiersOrgRegistry
+
 
+
getFileExtension() - Method in enum class de.uni_halle.informatik.biodata.mp.io.IOOptions.OutputType
+
 
+
getFileType(File) - Static method in class de.uni_halle.informatik.biodata.mp.io.SBMLFileUtils
+
+
Determines the type of the input file based on its extension or content.
+
+
getFormula() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite
+
 
+
getGeneIds(String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves all possible MIRIAM-compliant gene identifiers from the database based on a given label.
+
+
getGeneName(String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves the gene name from the database based on a given label.
+
+
getGeneReactionRule() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
getGeneReactionRule(String, String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves formatted gene reaction rules for a specific reaction and model from the database.
+
+
getGenes() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
getGenomeAccesion(String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves the genome accession for a given model ID from the BiGG database.
+
+
getHomeUrl() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Institution
+
 
+
getId() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Gene
+
 
+
getId() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite
+
 
+
getId() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
getId() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
getId() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI
+
 
+
getId() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Institution
+
 
+
getId() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
getId() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
getId() - Method in interface de.uni_halle.informatik.biodata.mp.resolver.RegistryURI
+
 
+
getInstitution() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
getJSONDocument(SBMLDocument) - Static method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONConverter
+
 
+
getJSONModel(Model) - Static method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONConverter
+
 
+
getLabel(GeneProduct, BiGGId) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc.BiGGGeneProductAnnotator
+
+
Retrieves the label for a gene product based on the provided BiGGId.
+
+
getLocation() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Institution
+
 
+
getLocation() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
getLowerBound() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
getMetabolites() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
getMetabolites() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
getMirId() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
getMirId() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
getModified() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
getName() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Gene
+
 
+
getName() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite
+
 
+
getName() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
getName() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
getName() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Institution
+
 
+
getName() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
getName() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
getNameForPrefix(String) - Static method in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Get known model field variant name for a struct field, disregarding upper/lowercase discrepancies using struct + field as prefix of knwon model field
+
+
getNamespaceForPrefix(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg
+
 
+
getNamespaceForPrefix(String) - Method in interface de.uni_halle.informatik.biodata.mp.resolver.Registry
+
 
+
getNotes() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Gene
+
 
+
getNotes() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite
+
 
+
getNotes() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
getNotes() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
getObjectiveCoefficient() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
getObservers() - Method in class de.uni_halle.informatik.biodata.mp.annotation.AbstractAnnotator
+
 
+
getObservers() - Method in class de.uni_halle.informatik.biodata.mp.fixing.AbstractFixer
+
 
+
getObservers() - Method in class de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher
+
 
+
getOrganism(String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves the organism associated with a given BiGG model abbreviation from the database.
+
+
getOutputFileName(File, File) - Static method in class de.uni_halle.informatik.biodata.mp.io.SBMLFileUtils
+
+
Fix output file name to contain xml extension
+
+
getParents() - Method in class de.uni_halle.informatik.biodata.mp.eco.Node
+
 
+
getPattern() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
getPattern() - Method in enum class de.uni_halle.informatik.biodata.mp.util.ReactionNamePatterns
+
+
Retrieves the compiled Pattern object for this enum constant.
+
+
getPatternByNamespaceName(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg
+
 
+
getPatternByNamespaceName(String) - Method in interface de.uni_halle.informatik.biodata.mp.resolver.Registry
+
 
+
getPayload() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.RawIdentifiersOrgRegistry
+
 
+
getPrefix() - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
 
+
getPrefix() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI
+
 
+
getPrefix() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
getPrefix() - Method in interface de.uni_halle.informatik.biodata.mp.resolver.RegistryURI
+
 
+
getPrefixByNamespaceName(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg
+
 
+
getPrefixByNamespaceName(String) - Method in interface de.uni_halle.informatik.biodata.mp.resolver.Registry
+
 
+
getProviderCode() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
getPublications(String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves a list of publications associated with a given BiGG model abbreviation from the database.
+
+
getReactionName(String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves the name of a reaction based on its BiGG ID abbreviation, ensuring the name is not empty.
+
+
getReactionRules(String, String, String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Executes a provided SQL query to retrieve gene reaction rules from the database.
+
+
getReactions() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
getResourceHomeUrl() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
getResources() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
getResources(BiGGId, boolean, boolean) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves a set of resource URLs for a given BiGG ID, optionally filtering to include only those containing 'identifiers.org'.
+
+
getRoot() - Method in class de.uni_halle.informatik.biodata.mp.eco.DAG
+
 
+
getRorId() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Institution
+
 
+
getSampleId() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
getSampleId() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
getSubsystem() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
getSubsystems(String, String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves a list of distinct subsystems associated with a specific model and reaction BiGG IDs.
+
+
getSubsystemsForReaction(String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves a list of distinct subsystems associated with a specific reaction BiGG ID.
+
+
getTaxonId(String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Retrieves the taxonomic identifier (taxon ID) for a given model based on its abbreviation.
+
+
getTerm() - Method in class de.uni_halle.informatik.biodata.mp.eco.Node
+
 
+
getTissueCode() - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
 
+
getUpperBound() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
getURI() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI
+
 
+
getURI() - Method in interface de.uni_halle.informatik.biodata.mp.resolver.RegistryURI
+
 
+
getUrlPattern() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
getVersion() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
GPRParser - Class in de.uni_halle.informatik.biodata.mp.util.ext.fbc
+
 
+
GPRParser() - Constructor for class de.uni_halle.informatik.biodata.mp.util.ext.fbc.GPRParser
+
 
+
groupAndSortAnnotations(SBase) - Method in class de.uni_halle.informatik.biodata.mp.annotation.AnnotationsSorter
+
+
Recursively goes through all annotations in the given SBase and + alphabetically sort annotations after grouping them by CVTerm.Qualifier.
+
+
GroupsFixer - Class in de.uni_halle.informatik.biodata.mp.fixing.ext.groups
+
 
+
GroupsFixer(List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.fixing.ext.groups.GroupsFixer
+
 
+
GroupsUtils - Class in de.uni_halle.informatik.biodata.mp.util.ext.groups
+
+
A collection of helpful functions for dealing with SBML data structures.
+
+
GroupsUtils() - Constructor for class de.uni_halle.informatik.biodata.mp.util.ext.groups.GroupsUtils
+
 
+
GROWTH_UNIT_ID - Static variable in class de.uni_halle.informatik.biodata.mp.polishing.UnitPolisher
+
 
+
GROWTH_UNIT_NAME - Static variable in class de.uni_halle.informatik.biodata.mp.polishing.UnitPolisher
+
 
+
grRules - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Boolean gene-protein-reaction (GPR) rules in a readable format (AND/OR).
+
+
+

H

+
+
hashCode() - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
 
+
hashCode() - Method in record class de.uni_halle.informatik.biodata.mp.db.bigg.Publication
+
+
Returns a hash code value for this object.
+
+
hashCode() - Method in class de.uni_halle.informatik.biodata.mp.eco.Node
+
 
+
hashCode() - Method in class de.uni_halle.informatik.biodata.mp.parameters.ADBAnnotationParameters
+
 
+
hashCode() - Method in class de.uni_halle.informatik.biodata.mp.parameters.AnnotationParameters
+
 
+
hashCode() - Method in class de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters
+
 
+
hashCode() - Method in class de.uni_halle.informatik.biodata.mp.parameters.DBParameters
+
 
+
hashCode() - Method in class de.uni_halle.informatik.biodata.mp.parameters.FixingParameters
+
 
+
hashCode() - Method in class de.uni_halle.informatik.biodata.mp.parameters.Parameters
+
 
+
hashCode() - Method in class de.uni_halle.informatik.biodata.mp.parameters.SBOParameters
+
 
+
hashCode() - Method in class de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher
+
 
+
hashCode() - Method in record class de.uni_halle.informatik.biodata.mp.reporting.ProgressFinalization
+
+
Returns a hash code value for this object.
+
+
hashCode() - Method in record class de.uni_halle.informatik.biodata.mp.reporting.ProgressInitialization
+
+
Returns a hash code value for this object.
+
+
hashCode() - Method in record class de.uni_halle.informatik.biodata.mp.reporting.ProgressUpdate
+
+
Returns a hash code value for this object.
+
+
hashCode() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI
+
 
+
host() - Method in class de.uni_halle.informatik.biodata.mp.parameters.DBParameters
+
 
+
HOST - Static variable in interface de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBOptions
+
 
+
HOST - Static variable in interface de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBOptions
+
 
+
+

I

+
+
IAnnotateSBases<SBMLElement extends org.sbml.jsbml.SBase> - Interface in de.uni_halle.informatik.biodata.mp.annotation
+
 
+
IDENTIFIERS_ORG_ID_PATTERN - Static variable in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI
+
 
+
IdentifiersOrg - Class in de.uni_halle.informatik.biodata.mp.resolver.identifiersorg
+
+
The IdentifiersOrg class serves as a central hub for managing and processing identifiers related to the MIRIAM registry.
+
+
IdentifiersOrg() - Constructor for class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg
+
 
+
IdentifiersOrgRegistryParser - Class in de.uni_halle.informatik.biodata.mp.resolver.identifiersorg
+
+
The IdentifiersOrgRegistryParser class is a singleton that provides functionality to parse the MIRIAM registry + from a JSON file and convert it into a Miriam object.
+
+
IdentifiersOrgRegistryParser() - Constructor for class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgRegistryParser
+
 
+
IdentifiersOrgURI - Class in de.uni_halle.informatik.biodata.mp.resolver.identifiersorg
+
 
+
IdentifiersOrgURI(String) - Constructor for class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI
+
 
+
IdentifiersOrgURI(String, BiGGId) - Constructor for class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI
+
 
+
IdentifiersOrgURI(String, Object) - Constructor for class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI
+
 
+
IdentifiersOrgURI(String, String) - Constructor for class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI
+
 
+
IdentifiersOrgURIUtils - Class in de.uni_halle.informatik.biodata.mp.resolver.identifiersorg
+
 
+
IdentifiersOrgURIUtils() - Constructor for class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURIUtils
+
 
+
IFixSBases<SBMLElement extends org.sbml.jsbml.SBase> - Interface in de.uni_halle.informatik.biodata.mp.fixing
+
 
+
IFixSpeciesReferences - Interface in de.uni_halle.informatik.biodata.mp.fixing
+
 
+
INCLUDE_ANY_URI - Static variable in interface de.uni_halle.informatik.biodata.mp.annotation.AnnotationOptions
+
+
This switch allows users to specify if also those database cross-links + should be extracted from BiGG Models database for which currently no entry + in the MIRIAM exists.
+
+
includeAnyURI - Variable in class de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters
+
 
+
includeAnyURI() - Method in class de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters
+
 
+
init(DBParameters) - Static method in class de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDB
+
 
+
init(DBParameters) - Static method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
 
+
init(String, Integer, String, String, String) - Static method in class de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDB
+
 
+
init(String, Integer, String, String, String) - Static method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
 
+
initialAssignmentDoesNotReferenceBoundParameters(InitialAssignment) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.StrictnessPredicate
+
+
4) InitialAssignment objects may not target the Parameter objects referenced by + the Reaction attributes 'lowerFluxBound' and 'upperFluxBound', nor any SpeciesReference objects.
+
+
initialAssignmentDoesNotReferenceSpeciesReferences(InitialAssignment) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.StrictnessPredicate
+
+
4) InitialAssignment objects may not target the Parameter objects referenced by + the Reaction attributes 'lowerFluxBound' and 'upperFluxBound', nor any SpeciesReference objects.
+
+
initialize(ProgressInitialization) - Method in class de.uni_halle.informatik.biodata.mp.reporting.PolisherProgressBar
+
 
+
initialize(ProgressInitialization) - Method in interface de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver
+
 
+
input() - Method in class de.uni_halle.informatik.biodata.mp.io.ModelReaderException
+
 
+
Institution - Class in de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping
+
 
+
Institution() - Constructor for class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Institution
+
 
+
IO_MESSAGES - Static variable in class de.uni_halle.informatik.biodata.mp.logging.BundleNames
+
 
+
IOOptions - Interface in de.uni_halle.informatik.biodata.mp.io
+
 
+
IOOptions.OutputType - Enum Class in de.uni_halle.informatik.biodata.mp.io
+
 
+
IPolishAnnotations - Interface in de.uni_halle.informatik.biodata.mp.polishing
+
 
+
IPolishSBaseAttributes - Interface in de.uni_halle.informatik.biodata.mp.polishing
+
 
+
IPolishSBases<SBMLElement extends org.sbml.jsbml.SBase> - Interface in de.uni_halle.informatik.biodata.mp.polishing
+
 
+
IPolishSpeciesReferences - Interface in de.uni_halle.informatik.biodata.mp.polishing
+
 
+
IProcessNotes - Interface in de.uni_halle.informatik.biodata.mp.annotation
+
 
+
IReadModelsFromFile - Interface in de.uni_halle.informatik.biodata.mp.io
+
 
+
IReportDiffs - Interface in de.uni_halle.informatik.biodata.mp.reporting
+
 
+
IReportStatus - Interface in de.uni_halle.informatik.biodata.mp.reporting
+
 
+
isBoundSet(Parameter) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.StrictnessPredicate
+
 
+
isCompartment(String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
 
+
isDataSource(String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
 
+
isDeprecated() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
isDeprecated() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
isDirectory(File) - Static method in class de.uni_halle.informatik.biodata.mp.io.SBMLFileUtils
+
+
Check if file is directory by calling File.isDirectory() on an existing file or check presence of '.' in + output.getName(), if this is not the case
+
+
isEmptyString(String) - Static method in class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.COBRAUtils
+
 
+
isMetabolite(String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
 
+
isModel(String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
 
+
isNamespaceEmbeddedInLui() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
isOfficial() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
isPseudoreaction(String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Determines if a given reaction ID corresponds to a pseudoreaction in the database.
+
+
isReaction(String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
 
+
isSetAbbreviation() - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
 
+
isSetCompartmentCode() - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
 
+
isSetPrefix() - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
 
+
isSetTissueCode() - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
 
+
isValid(String) - Static method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
 
+
isValid(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg
+
 
+
isValid(String) - Method in interface de.uni_halle.informatik.biodata.mp.resolver.Registry
+
 
+
IWriteModels - Interface in de.uni_halle.informatik.biodata.mp.io
+
 
+
IWriteModelsToFile - Interface in de.uni_halle.informatik.biodata.mp.io
+
 
+
+

J

+
+
JSON - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.IOOptions.OutputType
+
 
+
JSON_FILE - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.SBMLFileUtils.FileType
+
 
+
JSONConverter - Class in de.uni_halle.informatik.biodata.mp.io.parsers.json
+
 
+
JSONConverter() - Constructor for class de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONConverter
+
 
+
JSONParser - Class in de.uni_halle.informatik.biodata.mp.io.parsers.json
+
 
+
JSONParser(Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONParser
+
 
+
+

L

+
+
lb - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Lower reaction flux bounds for corresponding reactions
+
+
linkNodes(Node, Node) - Static method in class de.uni_halle.informatik.biodata.mp.eco.Node
+
 
+
ListOfObjectivesFixer - Class in de.uni_halle.informatik.biodata.mp.fixing.ext.fbc
+
 
+
ListOfObjectivesFixer(FixingParameters, FBCModelPlugin, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.fixing.ext.fbc.ListOfObjectivesFixer
+
 
+
Location - Class in de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping
+
 
+
Location() - Constructor for class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Location
+
 
+
+

M

+
+
MAT_FILE - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.SBMLFileUtils.FileType
+
 
+
MatlabParser - Class in de.uni_halle.informatik.biodata.mp.io.parsers.cobra
+
 
+
MatlabParser(SBOParameters, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.MatlabParser
+
 
+
message() - Method in record class de.uni_halle.informatik.biodata.mp.reporting.ProgressFinalization
+
+
Returns the value of the message record component.
+
+
MESSAGES - Static variable in interface de.uni_halle.informatik.biodata.mp.annotation.AnnotationOptions
+
 
+
MESSAGES - Static variable in interface de.uni_halle.informatik.biodata.mp.fixing.FixingOptions
+
 
+
MESSAGES - Static variable in interface de.uni_halle.informatik.biodata.mp.io.IOOptions
+
 
+
MESSAGES - Static variable in class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.SpeciesParser
+
 
+
MESSAGES - Static variable in interface de.uni_halle.informatik.biodata.mp.parameters.GeneralOptions
+
 
+
MESSAGES - Static variable in interface de.uni_halle.informatik.biodata.mp.polishing.PolishingOptions
+
 
+
Metabolite - Class in de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping
+
 
+
Metabolite() - Constructor for class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite
+
 
+
Metabolites - Class in de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping
+
 
+
Metabolites() - Constructor for class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolites
+
 
+
metCharge - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Value of charge for corresponding metabolite.
+
+
metCHEBIID - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Optional: if present, it must have same dimension as ModelField.mets.
+
+
metFormulas - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Elemental formula for each metabolite.
+
+
metHMDB - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Optional: if present, it must have same dimension as ModelField.mets.
+
+
metInchiString - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Inichi String for each corresponding metabolite.
+
+
metKeggID - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
KEGG ID for each corresponding metabolite.
+
+
metNames - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Descriptive metabolite names, must have same dimension as ModelField.mets.
+
+
metPubChemID - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Pub Chem ID for each corresponding metabolite.
+
+
mets - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Metabolite name abbreviation; metabolite ID; order corresponds to S matrix.
+
+
metSmile - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Optional: if present, it must have same dimension as ModelField.mets.
+
+
MODEL_NOTES_FILE - Static variable in interface de.uni_halle.informatik.biodata.mp.annotation.AnnotationOptions
+
+
This XHTML file defines alternative model notes and makes them + exchangeable.
+
+
ModelField - Enum Class in de.uni_halle.informatik.biodata.mp.io.parsers.cobra
+
+
For more information about COBRA model fields, see the following + Supplementary + Material.
+
+
ModelFixer - Class in de.uni_halle.informatik.biodata.mp.fixing
+
 
+
ModelFixer(FixingParameters, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.fixing.ModelFixer
+
 
+
modelNotesFile - Variable in class de.uni_halle.informatik.biodata.mp.parameters.BiGGNotesParameters
+
 
+
modelNotesFile() - Method in class de.uni_halle.informatik.biodata.mp.parameters.BiGGNotesParameters
+
 
+
ModelPolisher - Class in de.uni_halle.informatik.biodata.mp.polishing
+
+
This class provides functionality to polish an SBML (Systems Biology Markup Language) document.
+
+
ModelPolisher(PolishingParameters, SBOParameters, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.ModelPolisher
+
 
+
ModelPolisher(PolishingParameters, SBOParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.ModelPolisher
+
 
+
ModelReader - Class in de.uni_halle.informatik.biodata.mp.io
+
 
+
ModelReader(SBOParameters, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.io.ModelReader
+
 
+
ModelReaderException - Class in de.uni_halle.informatik.biodata.mp.io
+
 
+
ModelReaderException(String, File) - Constructor for class de.uni_halle.informatik.biodata.mp.io.ModelReaderException
+
 
+
ModelReaderException(String, Exception, File) - Constructor for class de.uni_halle.informatik.biodata.mp.io.ModelReaderException
+
 
+
ModelValidator - Class in de.uni_halle.informatik.biodata.mp.validation
+
 
+
ModelValidator() - Constructor for class de.uni_halle.informatik.biodata.mp.validation.ModelValidator
+
 
+
ModelValidatorException - Exception in de.uni_halle.informatik.biodata.mp.validation
+
 
+
ModelValidatorException(Exception, File) - Constructor for exception de.uni_halle.informatik.biodata.mp.validation.ModelValidatorException
+
 
+
ModelWriter - Class in de.uni_halle.informatik.biodata.mp.io
+
 
+
ModelWriter(IOOptions.OutputType) - Constructor for class de.uni_halle.informatik.biodata.mp.io.ModelWriter
+
 
+
ModelWriterException - Exception in de.uni_halle.informatik.biodata.mp.io
+
 
+
ModelWriterException(String, Exception, SBMLDocument, File) - Constructor for exception de.uni_halle.informatik.biodata.mp.io.ModelWriterException
+
 
+
ModelWriterException(String, SBMLDocument, File, File) - Constructor for exception de.uni_halle.informatik.biodata.mp.io.ModelWriterException
+
 
+
+

N

+
+
name - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Can be part of the ModelField.description.
+
+
NamePolisher - Class in de.uni_halle.informatik.biodata.mp.polishing
+
 
+
NamePolisher() - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.NamePolisher
+
 
+
Namespace - Class in de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping
+
 
+
Namespace() - Constructor for class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
NO_MODEL_NOTES - Static variable in interface de.uni_halle.informatik.biodata.mp.annotation.AnnotationOptions
+
+
If set to true, no web content will be inserted in the SBML container nor + into the model within the SBML file.
+
+
Node - Class in de.uni_halle.informatik.biodata.mp.eco
+
 
+
Node(Term) - Constructor for class de.uni_halle.informatik.biodata.mp.eco.Node
+
 
+
nodeAdded(TreeNode) - Method in class de.uni_halle.informatik.biodata.mp.io.UpdateListener
+
+
Handles the event when a new node is added to the TreeNode structure.
+
+
nodeAdded(TreeNode) - Method in class de.uni_halle.informatik.biodata.mp.reporting.DiffListener
+
 
+
nodeRemoved(TreeNodeRemovedEvent) - Method in class de.uni_halle.informatik.biodata.mp.io.UpdateListener
+
 
+
nodeRemoved(TreeNodeRemovedEvent) - Method in class de.uni_halle.informatik.biodata.mp.reporting.DiffListener
+
 
+
noModelNotes() - Method in class de.uni_halle.informatik.biodata.mp.parameters.BiGGNotesParameters
+
 
+
notes - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Can be part of the ModelField.description.
+
+
notesParameters - Variable in class de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters
+
 
+
notesParameters() - Method in class de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters
+
 
+
+

O

+
+
obj() - Method in record class de.uni_halle.informatik.biodata.mp.reporting.ProgressUpdate
+
+
Returns the value of the obj record component.
+
+
ObjectivesPolisher - Class in de.uni_halle.informatik.biodata.mp.polishing.ext.fbc
+
 
+
ObjectivesPolisher(FBCModelPlugin, PolishingParameters, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.ObjectivesPolisher
+
 
+
ObjectivesPolisher(FBCModelPlugin, PolishingParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.ObjectivesPolisher
+
 
+
organism - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Can be part of the ModelField.description.
+
+
osense - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Objective sense, i.e., to minimize or maximize the objective.
+
+
output() - Method in exception de.uni_halle.informatik.biodata.mp.io.ModelWriterException
+
 
+
OUTPUT_TYPE - Static variable in interface de.uni_halle.informatik.biodata.mp.io.IOOptions
+
+
Decides whether the output file should directly be compressed and if + so, which archive type should be used.
+
+
outputFile() - Method in exception de.uni_halle.informatik.biodata.mp.validation.ModelValidatorException
+
 
+
outputType - Variable in class de.uni_halle.informatik.biodata.mp.parameters.Parameters
+
 
+
outputType() - Method in class de.uni_halle.informatik.biodata.mp.parameters.Parameters
+
 
+
+

P

+
+
parameters - Variable in class de.uni_halle.informatik.biodata.mp.annotation.adb.AbstractADBAnnotator
+
 
+
Parameters - Class in de.uni_halle.informatik.biodata.mp.parameters
+
 
+
Parameters() - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.Parameters
+
 
+
Parameters(SBProperties) - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.Parameters
+
 
+
ParametersException - Class in de.uni_halle.informatik.biodata.mp.parameters
+
 
+
ParametersException(String, Parameters) - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.ParametersException
+
 
+
ParametersParser - Class in de.uni_halle.informatik.biodata.mp.parameters
+
 
+
ParametersParser() - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.ParametersParser
+
 
+
ParametersPolisher - Class in de.uni_halle.informatik.biodata.mp.polishing
+
 
+
ParametersPolisher(PolishingParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.ParametersPolisher
+
 
+
parse() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.GeneParser
+
 
+
parse() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ReactionParser
+
 
+
parse() - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.SpeciesParser
+
 
+
parse(File) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.MatlabParser
+
 
+
parse(File) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONParser
+
+
Creates the ModelBuilder, SBMLDocument and reads the + jsonFile as a tree
+
+
parse(InputStream) - Method in class de.uni_halle.informatik.biodata.mp.parameters.ParametersParser
+
 
+
parse(InputStream) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgRegistryParser
+
 
+
parseAnnotation(SBase, Object) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONParser
+
 
+
parseCompartments(ModelBuilder, Map<String, String>) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONParser
+
 
+
parseGene(Model, Gene, String) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONParser
+
 
+
parseGeneReactionRules(Reaction, BiGGId) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGReactionsAnnotator
+
+
Parses gene reaction rules for a given reaction based on the BiGG database identifier.
+
+
parseMetabolite(Model, Metabolite, BiGGId) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONParser
+
 
+
parseNotes(SBase, Object) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONParser
+
 
+
parseReaction(ModelBuilder, Reaction, String) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONParser
+
 
+
passwd() - Method in class de.uni_halle.informatik.biodata.mp.parameters.DBParameters
+
 
+
PASSWD - Static variable in interface de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBOptions
+
 
+
PASSWD - Static variable in interface de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBOptions
+
 
+
polish(String) - Method in class de.uni_halle.informatik.biodata.mp.polishing.NamePolisher
+
 
+
polish(List<Compartment>) - Method in class de.uni_halle.informatik.biodata.mp.polishing.CompartmentPolisher
+
+
Polishes all compartments in the given SBML model.
+
+
polish(List<GeneProduct>) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.GeneProductsPolisher
+
 
+
polish(List<Parameter>) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ParametersPolisher
+
 
+
polish(List<Reaction>) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.FBCReactionPolisher
+
 
+
polish(List<Reaction>) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ReactionsPolisher
+
 
+
polish(List<SBase>) - Method in interface de.uni_halle.informatik.biodata.mp.polishing.IPolishSBaseAttributes
+
 
+
polish(List<Species>) - Method in class de.uni_halle.informatik.biodata.mp.polishing.SpeciesPolisher
+
 
+
polish(List<SpeciesReference>) - Method in interface de.uni_halle.informatik.biodata.mp.polishing.IPolishSpeciesReferences
+
 
+
polish(List<SBMLElement>) - Method in interface de.uni_halle.informatik.biodata.mp.polishing.IPolishSBases
+
 
+
polish(Annotation) - Method in class de.uni_halle.informatik.biodata.mp.polishing.AnnotationPolisher
+
+
Processes the annotations of an SBML entity to potentially correct identifiers + and/or retrieve additional identifiers.org URLs.
+
+
polish(Annotation) - Method in interface de.uni_halle.informatik.biodata.mp.polishing.IPolishAnnotations
+
 
+
polish(Compartment) - Method in class de.uni_halle.informatik.biodata.mp.polishing.CompartmentPolisher
+
+
Polishes the properties of a compartment to ensure compliance with standards and completeness.
+
+
polish(GeneProduct) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.GeneProductsPolisher
+
 
+
polish(Objective) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.ObjectivesPolisher
+
 
+
polish(Model) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.FBCPolisher
+
 
+
polish(Model) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ModelPolisher
+
+
This method orchestrates the polishing of an SBML model by delegating tasks to specific polishing methods + for different components of the model.
+
+
polish(Model) - Method in class de.uni_halle.informatik.biodata.mp.polishing.UnitPolisher
+
+
Ensures that all necessary UnitDefinitions and Units are present in the model.
+
+
polish(Parameter) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ParametersPolisher
+
 
+
polish(Reaction) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.FBCReactionPolisher
+
 
+
polish(Reaction) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ReactionsPolisher
+
+
Polishes the reaction by applying various checks and modifications to ensure it conforms to + the expected standards and conventions.
+
+
polish(SBase) - Method in interface de.uni_halle.informatik.biodata.mp.polishing.IPolishSBaseAttributes
+
 
+
polish(SBase) - Method in class de.uni_halle.informatik.biodata.mp.polishing.NamePolisher
+
 
+
polish(SBMLDocument) - Method in class de.uni_halle.informatik.biodata.mp.polishing.SBMLPolisher
+
+
This method serves as the entry point from the ModelPolisher class to polish an SBML document.
+
+
polish(Species) - Method in class de.uni_halle.informatik.biodata.mp.polishing.SpeciesPolisher
+
 
+
polish(SpeciesReference) - Method in interface de.uni_halle.informatik.biodata.mp.polishing.IPolishSpeciesReferences
+
 
+
polish(SpeciesReference) - Method in class de.uni_halle.informatik.biodata.mp.polishing.SpeciesReferencesPolisher
+
 
+
polish(SBMLElement) - Method in interface de.uni_halle.informatik.biodata.mp.polishing.IPolishSBases
+
 
+
POLISH_EVEN_IF_MODEL_INVALID - Static variable in interface de.uni_halle.informatik.biodata.mp.polishing.PolishingOptions
+
 
+
PolisherFactory - Class in de.uni_halle.informatik.biodata.mp.polishing
+
 
+
PolisherFactory() - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.PolisherFactory
+
 
+
PolisherProgressBar - Class in de.uni_halle.informatik.biodata.mp.reporting
+
 
+
PolisherProgressBar() - Constructor for class de.uni_halle.informatik.biodata.mp.reporting.PolisherProgressBar
+
 
+
polishEvenIfModelInvalid() - Method in class de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters
+
 
+
polishing() - Method in class de.uni_halle.informatik.biodata.mp.parameters.Parameters
+
 
+
POLISHING_MESSAGES - Static variable in class de.uni_halle.informatik.biodata.mp.logging.BundleNames
+
 
+
PolishingOptions - Interface in de.uni_halle.informatik.biodata.mp.polishing
+
 
+
polishingParameters - Variable in class de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher
+
 
+
PolishingParameters - Class in de.uni_halle.informatik.biodata.mp.parameters
+
 
+
PolishingParameters() - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters
+
 
+
PolishingParameters(boolean) - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters
+
 
+
PolishingParameters(SBProperties) - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters
+
 
+
port() - Method in class de.uni_halle.informatik.biodata.mp.parameters.DBParameters
+
 
+
PORT - Static variable in interface de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBOptions
+
 
+
PORT - Static variable in interface de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBOptions
+
 
+
PostgresConnectionPool - Class in de.uni_halle.informatik.biodata.mp.db
+
 
+
PostgresConnectionPool(String, int, String, String, String) - Constructor for class de.uni_halle.informatik.biodata.mp.db.PostgresConnectionPool
+
 
+
processNotes(SBMLDocument) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGDocumentNotesProcessor
+
 
+
ProgressFinalization - Record Class in de.uni_halle.informatik.biodata.mp.reporting
+
 
+
ProgressFinalization(String) - Constructor for record class de.uni_halle.informatik.biodata.mp.reporting.ProgressFinalization
+
+
Creates an instance of a ProgressFinalization record class.
+
+
ProgressInitialization - Record Class in de.uni_halle.informatik.biodata.mp.reporting
+
 
+
ProgressInitialization(int) - Constructor for record class de.uni_halle.informatik.biodata.mp.reporting.ProgressInitialization
+
+
Creates an instance of a ProgressInitialization record class.
+
+
ProgressObserver - Interface in de.uni_halle.informatik.biodata.mp.reporting
+
 
+
ProgressUpdate - Record Class in de.uni_halle.informatik.biodata.mp.reporting
+
 
+
ProgressUpdate(String, Object, ReportType) - Constructor for record class de.uni_halle.informatik.biodata.mp.reporting.ProgressUpdate
+
+
Creates an instance of a ProgressUpdate record class.
+
+
propertyChange(PropertyChangeEvent) - Method in class de.uni_halle.informatik.biodata.mp.io.UpdateListener
+
+
Responds to property change events, specifically focusing on changes to the ID property of tree nodes.
+
+
propertyChange(PropertyChangeEvent) - Method in class de.uni_halle.informatik.biodata.mp.reporting.DiffListener
+
 
+
proteins - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Proteins associated with each reaction.
+
+
Publication - Record Class in de.uni_halle.informatik.biodata.mp.db.bigg
+
 
+
Publication(String, String) - Constructor for record class de.uni_halle.informatik.biodata.mp.db.bigg.Publication
+
+
Creates an instance of a Publication record class.
+
+
+

R

+
+
RawIdentifiersOrgRegistry - Class in de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping
+
 
+
RawIdentifiersOrgRegistry() - Constructor for class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.RawIdentifiersOrgRegistry
+
 
+
RDF_MEDIATYPE - Static variable in class de.uni_halle.informatik.biodata.mp.io.CombineArchive
+
 
+
Reaction - Class in de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping
+
 
+
Reaction() - Constructor for class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
ReactionFixer - Class in de.uni_halle.informatik.biodata.mp.fixing
+
 
+
ReactionFixer(List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.fixing.ReactionFixer
+
 
+
reactionHasValidBounds(Reaction) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.StrictnessPredicate
+
+
1) Each Reaction in a Model must define values for the attributes 'lowerFluxBound' and 'upperFluxBound', + with each attribute pointing to a valid Parameter object defined in the current Model.
+
+
reactionId - Variable in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB.ForeignReaction
+
 
+
ReactionNamePatterns - Enum Class in de.uni_halle.informatik.biodata.mp.util
+
+
Defines an enumeration for regex patterns that are used to categorize reactions based on their ID strings.
+
+
ReactionParser - Class in de.uni_halle.informatik.biodata.mp.io.parsers.cobra
+
 
+
ReactionParser(ModelBuilder, int, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ReactionParser
+
 
+
reactionSpeciesReferencesHaveValidAttributes(Reaction) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.StrictnessPredicate
+
+ +
+
ReactionsPolisher - Class in de.uni_halle.informatik.biodata.mp.polishing
+
+
This class provides methods to polish and validate SBML reactions according to specific rules and patterns.
+
+
ReactionsPolisher(PolishingParameters, SBOParameters, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.ReactionsPolisher
+
 
+
ReactionsPolisher(PolishingParameters, SBOParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.ReactionsPolisher
+
 
+
read(File) - Method in interface de.uni_halle.informatik.biodata.mp.io.IReadModelsFromFile
+
 
+
read(File) - Method in class de.uni_halle.informatik.biodata.mp.io.ModelReader
+
 
+
REF_SEQ_ACCESSION_NUMBER_PATTERN - Static variable in class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGModelAnnotator
+
 
+
referenceId() - Method in record class de.uni_halle.informatik.biodata.mp.db.bigg.Publication
+
+
Returns the value of the referenceId record component.
+
+
referenceType() - Method in record class de.uni_halle.informatik.biodata.mp.db.bigg.Publication
+
+
Returns the value of the referenceType record component.
+
+
registry - Variable in class de.uni_halle.informatik.biodata.mp.annotation.bigg.AbstractBiGGAnnotator
+
 
+
registry - Variable in class de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher
+
 
+
Registry - Interface in de.uni_halle.informatik.biodata.mp.resolver
+
 
+
RegistryURI - Interface in de.uni_halle.informatik.biodata.mp.resolver
+
 
+
removeHttpProtocolFromUrl(String) - Static method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURIUtils
+
 
+
replaceIdTag(String, String) - Static method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURIUtils
+
+
Replaces the identifier placeholder "{$id}" in a URL pattern with a specified regex pattern.
+
+
reportType() - Method in record class de.uni_halle.informatik.biodata.mp.reporting.ProgressUpdate
+
+
Returns the value of the reportType record component.
+
+
ReportType - Enum Class in de.uni_halle.informatik.biodata.mp.reporting
+
 
+
resolveBackwards(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg
+
+
Checks and processes a given resource URL to ensure it conforms to expected formats and corrections.
+
+
resolveBackwards(String) - Method in interface de.uni_halle.informatik.biodata.mp.resolver.Registry
+
 
+
Resource - Class in de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping
+
 
+
Resource() - Constructor for class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
rev - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
A vector consisting of zeros and ones that translate to binary and determine + if the corresponding reaction of that index is reversible (1) or not (0).
+
+
Root - Class in de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping
+
 
+
Root() - Constructor for class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
rules - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Boolean rule for the corresponding reaction which defines gene-reaction + relationship.
+
+
rxnCOG - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
TODO: description COG
+
+
rxnConfidenceEcoIDA - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Cell array of strings, can any value in a range of 0 to 4.
+
+
rxnConfidenceScores - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
.
+
+
rxnECNumbers - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
E.
+
+
rxnGeneMat - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
A matrix with rows corresponding to reaction list and columns corresponding + to gene list.
+
+
rxnKeggID - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Reaction identifiers in KEGG, but sometimes also contains ModelField.ecNumbers.
+
+
rxnKeggOrthology - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
TODO: description KEGG Orthology
+
+
rxnNames - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Descriptive reaction names, length of this array must be identical to the + number of reactions.
+
+
rxnNotes - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Cell array of strings.
+
+
rxnReferences - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Cell array of strings which can contain optional information on references + for each specific reaction.
+
+
rxns - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Reaction BiGG ids.
+
+
rxnsboTerm - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
The Systems Biology Ontology Term to describe the role of a reaction.
+
+
+

S

+
+
S - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Stoichiometric matrix in sparse format.
+
+
SBML - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.IOOptions.OutputType
+
 
+
SBML_FILE - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.SBMLFileUtils.FileType
+
 
+
SBML_VALIDATION - Static variable in interface de.uni_halle.informatik.biodata.mp.parameters.GeneralOptions
+
+
If true, the created SBML file will be validated through the online + validator service at http://sbml.org.
+
+
SBMLFileUtils - Class in de.uni_halle.informatik.biodata.mp.io
+
 
+
SBMLFileUtils() - Constructor for class de.uni_halle.informatik.biodata.mp.io.SBMLFileUtils
+
 
+
SBMLFileUtils.FileType - Enum Class in de.uni_halle.informatik.biodata.mp.io
+
+
Possible FileTypes of input file
+
+
SBMLFixer - Class in de.uni_halle.informatik.biodata.mp.fixing
+
 
+
SBMLFixer(FixingParameters) - Constructor for class de.uni_halle.informatik.biodata.mp.fixing.SBMLFixer
+
 
+
SBMLFixer(FixingParameters, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.fixing.SBMLFixer
+
 
+
sbmlPolisher(SBMLDocument, PolishingParameters, SBOParameters) - Static method in class de.uni_halle.informatik.biodata.mp.polishing.PolisherFactory
+
 
+
SBMLPolisher - Class in de.uni_halle.informatik.biodata.mp.polishing
+
 
+
SBMLPolisher(PolishingParameters, SBOParameters, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.SBMLPolisher
+
 
+
SBMLPolisher(PolishingParameters, SBOParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.SBMLPolisher
+
 
+
sbmlValidation - Variable in class de.uni_halle.informatik.biodata.mp.parameters.Parameters
+
 
+
sbmlValidation() - Method in class de.uni_halle.informatik.biodata.mp.parameters.Parameters
+
 
+
sboParameters() - Method in class de.uni_halle.informatik.biodata.mp.parameters.Parameters
+
 
+
SBOParameters - Class in de.uni_halle.informatik.biodata.mp.parameters
+
 
+
SBOParameters() - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.SBOParameters
+
 
+
SBOParameters(SBProperties) - Constructor for class de.uni_halle.informatik.biodata.mp.parameters.SBOParameters
+
 
+
set(Map<String, Double>) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolites
+
 
+
set(Map<String, String>) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Compartments
+
 
+
setAbbreviation(String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
+
+ Only contain upper and lower case letters, numbers, and underscores + /[0-9a-zA-Z][a-zA-Z0-9_]+/, only ASCII and don't start with numbers + When converting old BIGG IDs to BIGG2 IDs, replace a dash with two + underscores.
+
+
setAnnotation(Object) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Gene
+
 
+
setAnnotation(Object) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite
+
 
+
setAnnotation(Object) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
setAnnotation(Object) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
setApiVersion(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.RawIdentifiersOrgRegistry
+
 
+
setBound(double) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite
+
 
+
setCharge(int) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite
+
 
+
setChildren(List<Node>) - Method in class de.uni_halle.informatik.biodata.mp.eco.Node
+
 
+
setCompartment(String) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite
+
 
+
setCompartmentCode(String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
+
One or two characters in length, and contain only lower case letters and + numbers, and must begin with a lower case letter.
+
+
setCompartments(Compartments) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
setCountryCode(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Location
+
 
+
setCountryName(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Location
+
 
+
setCreated(Calendar) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
setDeprecated(boolean) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
setDeprecated(boolean) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
setDeprecationDate(Calendar) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
setDeprecationDate(Calendar) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
setDescription(String) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
setDescription(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Institution
+
 
+
setDescription(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
setDescription(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
setErrorMessage(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.RawIdentifiersOrgRegistry
+
 
+
setFluxBoundSBOTerm(Parameter) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.FBCReactionPolisher
+
+
Polishes the SBO term of a flux bound parameter based on its ID.
+
+
setFormula(String) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite
+
 
+
setGeneProductAssociation(Reaction, String, boolean) - Static method in class de.uni_halle.informatik.biodata.mp.util.ext.fbc.GPRParser
+
 
+
setGeneReactionRule(String) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
setGenes(List<Gene>) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
setGPLabelName(GeneProduct, String) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc.BiGGGeneProductAnnotator
+
+
Updates the label of a gene product and sets its name based on the retrieved gene name from the BiGG database.
+
+
setHomeUrl(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Institution
+
 
+
setId(long) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Institution
+
 
+
setId(long) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
setId(long) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
setId(String) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Gene
+
 
+
setId(String) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite
+
 
+
setId(String) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
setId(String) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
setInstitution(Institution) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
setLocation(Location) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Institution
+
 
+
setLocation(Location) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
setLowerBound(double) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
setMetabolites(Metabolites) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
setMetabolites(List<Metabolite>) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
setMirId(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
setMirId(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
setModified(Calendar) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
setName(String) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Gene
+
 
+
setName(String) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite
+
 
+
setName(String) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
setName(String) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
setName(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Institution
+
 
+
setName(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
setName(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
setName(Reaction, BiGGId) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGReactionsAnnotator
+
+
Sets the name of the reaction based on the provided BiGGId.
+
+
setName(Species, BiGGId) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGSpeciesAnnotator
+
+
Updates the name of the species based on data retrieved from the BiGG Knowledgebase.
+
+
setNamespaceEmbeddedInLui(boolean) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
setNotes(Object) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Gene
+
 
+
setNotes(Object) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite
+
 
+
setNotes(Object) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
setNotes(Object) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
setObjectiveCoefficient(double) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
setOfficial(boolean) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
setParents(List<Node>) - Method in class de.uni_halle.informatik.biodata.mp.eco.Node
+
 
+
setPattern(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
setPayload(Map<String, List<Namespace>>) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.RawIdentifiersOrgRegistry
+
 
+
setPrefix(String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
+
+ R: reaction + M: metabolite /[RM]/ + NOTE: Do we want to have the id entity use R and M, and just remove + them when constructing the model, or have them just as + [abbreviation]_[compartment code] and add the prefix when they are put + into SBML models? Also SBML id's use capital letters (/[RM]/).
+
+
setPrefix(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
setProviderCode(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
setReactions(List<Reaction>) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
setResourceHomeUrl(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
setResources(List<Resource>) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
setRorId(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Institution
+
 
+
setSampleId(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace
+
 
+
setSampleId(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
setSBOTerm(Reaction, BiGGId) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGReactionsAnnotator
+
+
Sets the SBO term for a reaction based on the given BiGGId.
+
+
setSubsystem(String) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
setTerm(Term) - Method in class de.uni_halle.informatik.biodata.mp.eco.Node
+
 
+
setTissueCode(String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
+
One or two characters in length, and contain only upper case letters and + numbers, and must begin with an upper case letter.
+
+
setUpperBound(double) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction
+
 
+
setUrlPattern(String) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource
+
 
+
setVersion(int) - Method in class de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root
+
 
+
singleParamStatement(String, String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB
+
+
Executes a SQL query with a single parameter and returns the result as an Optional.
+
+
SINK_REACTION - Enum constant in enum class de.uni_halle.informatik.biodata.mp.util.ReactionNamePatterns
+
+
Pattern for sink reactions, which are reactions that remove metabolites from the system, identified by IDs starting with 'SK_' or 'SINK_'.
+
+
SpeciesFixer - Class in de.uni_halle.informatik.biodata.mp.fixing
+
 
+
SpeciesFixer(List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.fixing.SpeciesFixer
+
 
+
SpeciesParser - Class in de.uni_halle.informatik.biodata.mp.io.parsers.cobra
+
 
+
SpeciesParser(Model, int, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.SpeciesParser
+
 
+
SpeciesPolisher - Class in de.uni_halle.informatik.biodata.mp.polishing
+
 
+
SpeciesPolisher(PolishingParameters, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.SpeciesPolisher
+
 
+
SpeciesPolisher(PolishingParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.SpeciesPolisher
+
 
+
SpeciesReferenceFixer - Class in de.uni_halle.informatik.biodata.mp.fixing
+
 
+
SpeciesReferenceFixer() - Constructor for class de.uni_halle.informatik.biodata.mp.fixing.SpeciesReferenceFixer
+
 
+
SpeciesReferencesPolisher - Class in de.uni_halle.informatik.biodata.mp.polishing
+
 
+
SpeciesReferencesPolisher(Integer) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.SpeciesReferencesPolisher
+
 
+
STATUS - Enum constant in enum class de.uni_halle.informatik.biodata.mp.reporting.ReportType
+
 
+
statusReport(String, Object) - Method in class de.uni_halle.informatik.biodata.mp.annotation.AbstractAnnotator
+
 
+
statusReport(String, Object) - Method in class de.uni_halle.informatik.biodata.mp.fixing.AbstractFixer
+
 
+
statusReport(String, Object) - Method in class de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher
+
 
+
statusReport(String, Object) - Method in interface de.uni_halle.informatik.biodata.mp.reporting.IReportStatus
+
 
+
strictnessOfSpeciesReferences(ListOf<SpeciesReference>) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.StrictnessPredicate
+
+
3) SpeciesReference objects in Reaction objects must have their 'stoichiometry' attribute set to a double value + that is not 'NaN', nor '-INF', nor 'INF'.
+
+
StrictnessPredicate - Class in de.uni_halle.informatik.biodata.mp.polishing.ext.fbc
+
+
From ...:
+
+
StrictnessPredicate() - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.StrictnessPredicate
+
 
+
stringify(Association) - Static method in class de.uni_halle.informatik.biodata.mp.util.ext.fbc.GPRParser
+
 
+
SUBSYSTEM_LINK - Static variable in class de.uni_halle.informatik.biodata.mp.util.ext.groups.GroupsUtils
+
+
Key to link from Reaction directly to Members referencing + that reaction.
+
+
subSystems - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
This defines groups of reactions that belong to a common reaction subsystem.
+
+
+

T

+
+
Table() - Constructor for class de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants.Table
+
 
+
Table() - Constructor for class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBContract.Constants.Table
+
 
+
test(Model) - Method in class de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.StrictnessPredicate
+
 
+
text() - Method in record class de.uni_halle.informatik.biodata.mp.reporting.ProgressUpdate
+
+
Returns the value of the text record component.
+
+
toBiGGId() - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
+
Generates a BiGG ID for this object based on its properties.
+
+
toBiGGId(String, String, String, String) - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
+
Constructs a BiGG ID using the provided components.
+
+
toString() - Method in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId
+
 
+
toString() - Method in record class de.uni_halle.informatik.biodata.mp.db.bigg.Publication
+
+
Returns a string representation of this record class.
+
+
toString() - Method in class de.uni_halle.informatik.biodata.mp.eco.DAG
+
 
+
toString() - Method in class de.uni_halle.informatik.biodata.mp.parameters.ADBAnnotationParameters
+
 
+
toString() - Method in class de.uni_halle.informatik.biodata.mp.parameters.AnnotationParameters
+
 
+
toString() - Method in class de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters
+
 
+
toString() - Method in class de.uni_halle.informatik.biodata.mp.parameters.DBParameters
+
 
+
toString() - Method in class de.uni_halle.informatik.biodata.mp.parameters.FixingParameters
+
 
+
toString() - Method in class de.uni_halle.informatik.biodata.mp.parameters.Parameters
+
 
+
toString() - Method in class de.uni_halle.informatik.biodata.mp.parameters.SBOParameters
+
 
+
toString() - Method in class de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher
+
 
+
toString() - Method in class de.uni_halle.informatik.biodata.mp.polishing.ModelPolisher
+
 
+
toString() - Method in record class de.uni_halle.informatik.biodata.mp.reporting.ProgressFinalization
+
+
Returns a string representation of this record class.
+
+
toString() - Method in record class de.uni_halle.informatik.biodata.mp.reporting.ProgressInitialization
+
+
Returns a string representation of this record class.
+
+
toString() - Method in record class de.uni_halle.informatik.biodata.mp.reporting.ProgressUpdate
+
+
Returns a string representation of this record class.
+
+
toString() - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI
+
 
+
totalCalls() - Method in record class de.uni_halle.informatik.biodata.mp.reporting.ProgressInitialization
+
+
Returns the value of the totalCalls record component.
+
+
traverse(Node, int, StringBuilder) - Method in class de.uni_halle.informatik.biodata.mp.eco.DAG
+
 
+
TYPE_GENE_PRODUCT - Static variable in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBContract.Constants
+
 
+
TYPE_REACTION - Static variable in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBContract.Constants
+
 
+
TYPE_SPECIES - Static variable in class de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBContract.Constants
+
 
+
+

U

+
+
ub - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Upper reaction flux bounds for corresponding reactions
+
+
UnitPolisher - Class in de.uni_halle.informatik.biodata.mp.polishing
+
+
This class is responsible for ensuring that all necessary UnitDefinitions and Units are correctly + defined and present in the SBML model.
+
+
UnitPolisher(PolishingParameters, Registry) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.UnitPolisher
+
 
+
UnitPolisher(PolishingParameters, Registry, List<ProgressObserver>) - Constructor for class de.uni_halle.informatik.biodata.mp.polishing.UnitPolisher
+
 
+
UNKNOWN - Enum constant in enum class de.uni_halle.informatik.biodata.mp.io.SBMLFileUtils.FileType
+
 
+
update(ProgressUpdate) - Method in class de.uni_halle.informatik.biodata.mp.reporting.PolisherProgressBar
+
 
+
update(ProgressUpdate) - Method in interface de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver
+
 
+
update(GeneProduct) - Method in class de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc.BiGGGeneProductReferencesAnnotator
+
+
Updates the reference of a gene product in the geneProductReferences map using the gene product's ID.
+
+
UpdateListener - Class in de.uni_halle.informatik.biodata.mp.io
+
+
The UpdateListener class implements the TreeNodeChangeListener to monitor and respond to changes + within an SBML model's structure.
+
+
UpdateListener() - Constructor for class de.uni_halle.informatik.biodata.mp.io.UpdateListener
+
+
Constructs an UpdateListener instance and initializes the geneIdToAssociation map.
+
+
user() - Method in class de.uni_halle.informatik.biodata.mp.parameters.DBParameters
+
 
+
USER - Static variable in interface de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBOptions
+
 
+
USER - Static variable in interface de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBOptions
+
 
+
+

V

+
+
validate(File) - Method in class de.uni_halle.informatik.biodata.mp.validation.ModelValidator
+
 
+
validate(SBMLDocument) - Method in class de.uni_halle.informatik.biodata.mp.validation.ModelValidator
+
 
+
validRegistryUrlPrefix(RegistryURI) - Method in class de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg
+
+
Existing models on BiGG and Biomodels use some namespaces that were removed from identifiers.org.
+
+
validRegistryUrlPrefix(RegistryURI) - Method in interface de.uni_halle.informatik.biodata.mp.resolver.Registry
+
 
+
valueOf(String) - Static method in enum class de.uni_halle.informatik.biodata.mp.io.IOOptions.OutputType
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class de.uni_halle.informatik.biodata.mp.io.SBMLFileUtils.FileType
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class de.uni_halle.informatik.biodata.mp.reporting.ReportType
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class de.uni_halle.informatik.biodata.mp.util.ReactionNamePatterns
+
+
Returns the enum constant of this class with the specified name.
+
+
values() - Static method in enum class de.uni_halle.informatik.biodata.mp.io.IOOptions.OutputType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class de.uni_halle.informatik.biodata.mp.io.parsers.cobra.ModelField
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class de.uni_halle.informatik.biodata.mp.io.SBMLFileUtils.FileType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class de.uni_halle.informatik.biodata.mp.reporting.ReportType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class de.uni_halle.informatik.biodata.mp.util.ReactionNamePatterns
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
+

W

+
+
write() - Method in class de.uni_halle.informatik.biodata.mp.io.CombineArchive
+
 
+
write(SBMLDocument) - Method in interface de.uni_halle.informatik.biodata.mp.io.IWriteModels
+
 
+
write(SBMLDocument) - Method in class de.uni_halle.informatik.biodata.mp.io.ModelWriter
+
 
+
write(SBMLDocument, File) - Method in interface de.uni_halle.informatik.biodata.mp.io.IWriteModelsToFile
+
 
+
write(SBMLDocument, File) - Method in class de.uni_halle.informatik.biodata.mp.io.ModelWriter
+
 
+
+A B C D E F G H I J L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 00000000..2e12386b --- /dev/null +++ b/docs/index.html @@ -0,0 +1,117 @@ + + + + +Overview (lib 2.1 API) + + + + + + + + + + + + + + +
+ + +
+ + diff --git a/docs/jquery-ui.overrides.css b/docs/jquery-ui.overrides.css new file mode 100644 index 00000000..facf852c --- /dev/null +++ b/docs/jquery-ui.overrides.css @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active, +a.ui-button:active, +.ui-button:active, +.ui-button.ui-state-active:hover { + /* Overrides the color of selection used in jQuery UI */ + background: #F8981D; + border: 1px solid #F8981D; +} diff --git a/docs/legal/ADDITIONAL_LICENSE_INFO b/docs/legal/ADDITIONAL_LICENSE_INFO new file mode 100644 index 00000000..ff700cd0 --- /dev/null +++ b/docs/legal/ADDITIONAL_LICENSE_INFO @@ -0,0 +1,37 @@ + ADDITIONAL INFORMATION ABOUT LICENSING + +Certain files distributed by Oracle America, Inc. and/or its affiliates are +subject to the following clarification and special exception to the GPLv2, +based on the GNU Project exception for its Classpath libraries, known as the +GNU Classpath Exception. + +Note that Oracle includes multiple, independent programs in this software +package. Some of those programs are provided under licenses deemed +incompatible with the GPLv2 by the Free Software Foundation and others. +For example, the package includes programs licensed under the Apache +License, Version 2.0 and may include FreeType. Such programs are licensed +to you under their original licenses. + +Oracle facilitates your further distribution of this package by adding the +Classpath Exception to the necessary parts of its GPLv2 code, which permits +you to use that code in combination with other independent modules not +licensed under the GPLv2. However, note that this would not permit you to +commingle code under an incompatible license with Oracle's GPLv2 licensed +code by, for example, cutting and pasting such code into a file also +containing Oracle's GPLv2 licensed code and then distributing the result. + +Additionally, if you were to remove the Classpath Exception from any of the +files to which it applies and distribute the result, you would likely be +required to license some or all of the other code in that distribution under +the GPLv2 as well, and since the GPLv2 is incompatible with the license terms +of some items included in the distribution by Oracle, removing the Classpath +Exception could therefore effectively compromise your ability to further +distribute the package. + +Failing to distribute notices associated with some files may also create +unexpected legal consequences. + +Proceed with caution and we recommend that you obtain the advice of a lawyer +skilled in open source matters before removing the Classpath Exception or +making modifications to this package which may subsequently be redistributed +and/or involve the use of third party software. diff --git a/docs/legal/ASSEMBLY_EXCEPTION b/docs/legal/ASSEMBLY_EXCEPTION new file mode 100644 index 00000000..065b8d90 --- /dev/null +++ b/docs/legal/ASSEMBLY_EXCEPTION @@ -0,0 +1,27 @@ + +OPENJDK ASSEMBLY EXCEPTION + +The OpenJDK source code made available by Oracle America, Inc. (Oracle) at +openjdk.java.net ("OpenJDK Code") is distributed under the terms of the GNU +General Public License version 2 +only ("GPL2"), with the following clarification and special exception. + + Linking this OpenJDK Code statically or dynamically with other code + is making a combined work based on this library. Thus, the terms + and conditions of GPL2 cover the whole combination. + + As a special exception, Oracle gives you permission to link this + OpenJDK Code with certain code licensed by Oracle as indicated at + http://openjdk.java.net/legal/exception-modules-2007-05-08.html + ("Designated Exception Modules") to produce an executable, + regardless of the license terms of the Designated Exception Modules, + and to copy and distribute the resulting executable under GPL2, + provided that the Designated Exception Modules continue to be + governed by the licenses under which they were offered by Oracle. + +As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code +to build an executable that includes those portions of necessary code that +Oracle could not provide under GPL2 (or that Oracle has provided under GPL2 +with the Classpath exception). If you modify or add to the OpenJDK code, +that new GPL2 code may still be combined with Designated Exception Modules +if the new code is made subject to this exception by its copyright holder. diff --git a/docs/legal/LICENSE b/docs/legal/LICENSE new file mode 100644 index 00000000..8b400c7a --- /dev/null +++ b/docs/legal/LICENSE @@ -0,0 +1,347 @@ +The GNU General Public License (GPL) + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public License is intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. This General Public License applies to +most of the Free Software Foundation's software and to any other program whose +authors commit to using it. (Some other Free Software Foundation software is +covered by the GNU Library General Public License instead.) You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom to +distribute copies of free software (and charge for this service if you wish), +that you receive source code or can get it if you want it, that you can change +the software or use pieces of it in new free programs; and that you know you +can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny +you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of the +software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or for +a fee, you must give the recipients all the rights that you have. You must +make sure that they, too, receive or can get the source code. And you must +show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) +offer you this license which gives you legal permission to copy, distribute +and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that +everyone understands that there is no warranty for this free software. If the +software is modified by someone else and passed on, we want its recipients to +know that what they have is not the original, so that any problems introduced +by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that redistributors of a free program will +individually obtain patent licenses, in effect making the program proprietary. +To prevent this, we have made it clear that any patent must be licensed for +everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice +placed by the copyright holder saying it may be distributed under the terms of +this General Public License. The "Program", below, refers to any such program +or work, and a "work based on the Program" means either the Program or any +derivative work under copyright law: that is to say, a work containing the +Program or a portion of it, either verbatim or with modifications and/or +translated into another language. (Hereinafter, translation is included +without limitation in the term "modification".) Each licensee is addressed as +"you". + +Activities other than copying, distribution and modification are not covered by +this License; they are outside its scope. The act of running the Program is +not restricted, and the output from the Program is covered only if its contents +constitute a work based on the Program (independent of having been made by +running the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source code as +you receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice and +disclaimer of warranty; keep intact all the notices that refer to this License +and to the absence of any warranty; and give any other recipients of the +Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may +at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus +forming a work based on the Program, and copy and distribute such modifications +or work under the terms of Section 1 above, provided that you also meet all of +these conditions: + + a) You must cause the modified files to carry prominent notices stating + that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in whole or + in part contains or is derived from the Program or any part thereof, to be + licensed as a whole at no charge to all third parties under the terms of + this License. + + c) If the modified program normally reads commands interactively when run, + you must cause it, when started running for such interactive use in the + most ordinary way, to print or display an announcement including an + appropriate copyright notice and a notice that there is no warranty (or + else, saying that you provide a warranty) and that users may redistribute + the program under these conditions, and telling the user how to view a copy + of this License. (Exception: if the Program itself is interactive but does + not normally print such an announcement, your work based on the Program is + not required to print an announcement.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Program, and can be reasonably +considered independent and separate works in themselves, then this License, and +its terms, do not apply to those sections when you distribute them as separate +works. But when you distribute the same sections as part of a whole which is a +work based on the Program, the distribution of the whole must be on the terms +of this License, whose permissions for other licensees extend to the entire +whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise the +right to control the distribution of derivative or collective works based on +the Program. + +In addition, mere aggregation of another work not based on the Program with the +Program (or with a work based on the Program) on a volume of a storage or +distribution medium does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based on it, under +Section 2) in object code or executable form under the terms of Sections 1 and +2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable source + code, which must be distributed under the terms of Sections 1 and 2 above + on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three years, to + give any third party, for a charge no more than your cost of physically + performing source distribution, a complete machine-readable copy of the + corresponding source code, to be distributed under the terms of Sections 1 + and 2 above on a medium customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer to + distribute corresponding source code. (This alternative is allowed only + for noncommercial distribution and only if you received the program in + object code or executable form with such an offer, in accord with + Subsection b above.) + +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all +the source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and installation +of the executable. However, as a special exception, the source code +distributed need not include anything that is normally distributed (in either +source or binary form) with the major components (compiler, kernel, and so on) +of the operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the source +code from the same place counts as distribution of the source code, even though +third parties are not compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except as +expressly provided under this License. Any attempt otherwise to copy, modify, +sublicense or distribute the Program is void, and will automatically terminate +your rights under this License. However, parties who have received copies, or +rights, from you under this License will not have their licenses terminated so +long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. +However, nothing else grants you permission to modify or distribute the Program +or its derivative works. These actions are prohibited by law if you do not +accept this License. Therefore, by modifying or distributing the Program (or +any work based on the Program), you indicate your acceptance of this License to +do so, and all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), +the recipient automatically receives a license from the original licensor to +copy, distribute or modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of the +rights granted herein. You are not responsible for enforcing compliance by +third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), conditions +are imposed on you (whether by court order, agreement or otherwise) that +contradict the conditions of this License, they do not excuse you from the +conditions of this License. If you cannot distribute so as to satisfy +simultaneously your obligations under this License and any other pertinent +obligations, then as a consequence you may not distribute the Program at all. +For example, if a patent license would not permit royalty-free redistribution +of the Program by all those who receive copies directly or indirectly through +you, then the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply and +the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or +other property right claims or to contest validity of any such claims; this +section has the sole purpose of protecting the integrity of the free software +distribution system, which is implemented by public license practices. Many +people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing to +distribute software through any other system and a licensee cannot impose that +choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain +countries either by patents or by copyrighted interfaces, the original +copyright holder who places the Program under this License may add an explicit +geographical distribution limitation excluding those countries, so that +distribution is permitted only in or among countries not thus excluded. In +such case, this License incorporates the limitation as if written in the body +of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the +General Public License from time to time. Such new versions will be similar in +spirit to the present version, but may differ in detail to address new problems +or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any later +version", you have the option of following the terms and conditions either of +that version or of any later version published by the Free Software Foundation. +If the Program does not specify a version number of this License, you may +choose any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs +whose distribution conditions are different, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, +write to the Free Software Foundation; we sometimes make exceptions for this. +Our decision will be guided by the two goals of preserving the free status of +all derivatives of our free software and of promoting the sharing and reuse of +software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE +PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, +YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL +ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE +PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR +INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA +BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER +OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + + One line to give the program's name and a brief idea of what it does. + + Copyright (C) + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when it +starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author Gnomovision comes + with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free + software, and you are welcome to redistribute it under certain conditions; + type 'show c' for details. + +The hypothetical commands 'show w' and 'show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may be +called something other than 'show w' and 'show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, +if any, to sign a "copyright disclaimer" for the program, if necessary. Here +is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + 'Gnomovision' (which makes passes at compilers) written by James Hacker. + + signature of Ty Coon, 1 April 1989 + + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General Public +License instead of this License. + + +"CLASSPATH" EXCEPTION TO THE GPL + +Certain source files distributed by Oracle America and/or its affiliates are +subject to the following clarification and special exception to the GPL, but +only where Oracle has expressly included in the particular source file's header +the words "Oracle designates this particular file as subject to the "Classpath" +exception as provided by Oracle in the LICENSE file that accompanied this code." + + Linking this library statically or dynamically with other modules is making + a combined work based on this library. Thus, the terms and conditions of + the GNU General Public License cover the whole combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent modules, + and to copy and distribute the resulting executable under terms of your + choice, provided that you also meet, for each linked independent module, + the terms and conditions of the license of that module. An independent + module is a module which is not derived from or based on this library. If + you modify this library, you may extend this exception to your version of + the library, but you are not obligated to do so. If you do not wish to do + so, delete this exception statement from your version. diff --git a/docs/legal/jquery.md b/docs/legal/jquery.md new file mode 100644 index 00000000..d468b318 --- /dev/null +++ b/docs/legal/jquery.md @@ -0,0 +1,72 @@ +## jQuery v3.6.1 + +### jQuery License +``` +jQuery v 3.6.1 +Copyright OpenJS Foundation and other contributors, https://openjsf.org/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +****************************************** + +The jQuery JavaScript Library v3.6.1 also includes Sizzle.js + +Sizzle.js includes the following license: + +Copyright JS Foundation and other contributors, https://js.foundation/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/sizzle + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +********************* + +``` diff --git a/docs/legal/jqueryUI.md b/docs/legal/jqueryUI.md new file mode 100644 index 00000000..8bda9d7a --- /dev/null +++ b/docs/legal/jqueryUI.md @@ -0,0 +1,49 @@ +## jQuery UI v1.13.2 + +### jQuery UI License +``` +Copyright jQuery Foundation and other contributors, https://jquery.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery-ui + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code contained within the demos directory. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +``` diff --git a/docs/member-search-index.js b/docs/member-search-index.js new file mode 100644 index 00000000..c2ff2d7f --- /dev/null +++ b/docs/member-search-index.js @@ -0,0 +1 @@ +memberSearchIndex = [{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"A"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.adb","c":"AbstractADBAnnotator","l":"AbstractADBAnnotator(AnnotateDB, ADBAnnotationParameters)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDB,de.uni_halle.informatik.biodata.mp.parameters.ADBAnnotationParameters)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","c":"AbstractAnnotator","l":"AbstractAnnotator()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","c":"AbstractAnnotator","l":"AbstractAnnotator(List)","u":"%3Cinit%3E(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"AbstractBiGGAnnotator","l":"AbstractBiGGAnnotator(BiGGDB, BiGGAnnotationParameters, Registry)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB,de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"AbstractBiGGAnnotator","l":"AbstractBiGGAnnotator(BiGGDB, BiGGAnnotationParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB,de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"AbstractFixer","l":"AbstractFixer()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"AbstractFixer","l":"AbstractFixer(List)","u":"%3Cinit%3E(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"AbstractPolisher","l":"AbstractPolisher(PolishingParameters, Registry)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"AbstractPolisher","l":"AbstractPolisher(PolishingParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.adb","c":"AbstractADBAnnotator","l":"adb"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"AnnotationParameters","l":"adbAnnotationParameters()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"ADBAnnotationParameters","l":"ADBAnnotationParameters()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"ADBAnnotationParameters","l":"ADBAnnotationParameters(SBProperties)","u":"%3Cinit%3E(de.zbit.util.prefs.SBProperties)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.adb","c":"ADBReactionsAnnotator","l":"ADBReactionsAnnotator(AnnotateDB, ADBAnnotationParameters)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDB,de.uni_halle.informatik.biodata.mp.parameters.ADBAnnotationParameters)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.adb","c":"ADBSBMLAnnotator","l":"ADBSBMLAnnotator(AnnotateDB, ADBAnnotationParameters)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDB,de.uni_halle.informatik.biodata.mp.parameters.ADBAnnotationParameters)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.adb","c":"ADBSpeciesAnnotator","l":"ADBSpeciesAnnotator(AnnotateDB, ADBAnnotationParameters)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDB,de.uni_halle.informatik.biodata.mp.parameters.ADBAnnotationParameters)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","c":"AnnotationOptions","l":"ADD_ADB_ANNOTATIONS"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"GeneralOptions","l":"ADD_GENERIC_TERMS"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolites","l":"add(String, double)","u":"add(java.lang.String,double)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Compartments","l":"add(String, String)","u":"add(java.lang.String,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Compartments","l":"addAll(Map)","u":"addAll(java.util.Map)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc","c":"BiGGGeneProductAnnotator","l":"addAnnotations(GeneProduct, BiGGId)","u":"addAnnotations(org.sbml.jsbml.ext.fbc.GeneProduct,de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.adb","c":"AbstractADBAnnotator","l":"addBQB_IS_AnnotationsFromADB(Annotation, String, BiGGId)","u":"addBQB_IS_AnnotationsFromADB(org.sbml.jsbml.Annotation,java.lang.String,de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId)"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"Node","l":"addChild(Node)","u":"addChild(de.uni_halle.informatik.biodata.mp.eco.Node)"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"Node","l":"addChild(Term)","u":"addChild(org.biojava.nbio.ontology.Term)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"SBOParameters","l":"addGenericTerms"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"SBOParameters","l":"addGenericTerms()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrgURIUtils","l":"addJavaRegexCaptureGroup(String)","u":"addJavaRegexCaptureGroup(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"Node","l":"addParent(Node)","u":"addParent(de.uni_halle.informatik.biodata.mp.eco.Node)"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"Node","l":"addParent(Term)","u":"addParent(org.biojava.nbio.ontology.Term)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ReactionParser","l":"addResource(String, CVTerm, String)","u":"addResource(java.lang.String,org.sbml.jsbml.CVTerm,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","c":"AnnotationOptions","l":"ANNOTATE_WITH_BIGG"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGCompartmentsAnnotator","l":"annotate(Compartment)","u":"annotate(org.sbml.jsbml.Compartment)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc","c":"BiGGGeneProductAnnotator","l":"annotate(GeneProduct)","u":"annotate(org.sbml.jsbml.ext.fbc.GeneProduct)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGCompartmentsAnnotator","l":"annotate(List)","u":"annotate(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc","c":"BiGGGeneProductAnnotator","l":"annotate(List)","u":"annotate(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.adb","c":"ADBReactionsAnnotator","l":"annotate(List)","u":"annotate(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGReactionsAnnotator","l":"annotate(List)","u":"annotate(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","c":"IAnnotateSBases","l":"annotate(List)","u":"annotate(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.adb","c":"ADBSpeciesAnnotator","l":"annotate(List)","u":"annotate(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGSpeciesAnnotator","l":"annotate(List)","u":"annotate(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGModelAnnotator","l":"annotate(Model)","u":"annotate(org.sbml.jsbml.Model)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGPublicationsAnnotator","l":"annotate(Model)","u":"annotate(org.sbml.jsbml.Model)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc","c":"BiGGFBCAnnotator","l":"annotate(Model)","u":"annotate(org.sbml.jsbml.Model)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.adb","c":"ADBReactionsAnnotator","l":"annotate(Reaction)","u":"annotate(org.sbml.jsbml.Reaction)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGReactionsAnnotator","l":"annotate(Reaction)","u":"annotate(org.sbml.jsbml.Reaction)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.adb","c":"ADBSBMLAnnotator","l":"annotate(SBMLDocument)","u":"annotate(org.sbml.jsbml.SBMLDocument)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGSBMLAnnotator","l":"annotate(SBMLDocument)","u":"annotate(org.sbml.jsbml.SBMLDocument)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","c":"IAnnotateSBases","l":"annotate(SBMLElement)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.adb","c":"ADBSpeciesAnnotator","l":"annotate(Species)","u":"annotate(org.sbml.jsbml.Species)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGSpeciesAnnotator","l":"annotate(Species)","u":"annotate(org.sbml.jsbml.Species)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc","c":"BiGGFBCSpeciesAnnotator","l":"annotate(Species)","u":"annotate(org.sbml.jsbml.Species)"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","c":"AnnotateDB","l":"AnnotateDB()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","c":"AnnotateDBContract","l":"AnnotateDBContract()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"ADBAnnotationParameters","l":"annotateWithAdb"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"ADBAnnotationParameters","l":"annotateWithAdb()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGAnnotationParameters","l":"annotateWithBiGG"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGAnnotationParameters","l":"annotateWithBiGG()"},{"p":"de.uni_halle.informatik.biodata.mp.logging","c":"BundleNames","l":"ANNOTATION_MESSAGES"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"Parameters","l":"annotation()"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","c":"AnnotationException","l":"AnnotationException(String, Exception)","u":"%3Cinit%3E(java.lang.String,java.lang.Exception)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"AnnotationParameters","l":"AnnotationParameters()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"AnnotationParameters","l":"AnnotationParameters(SBProperties)","u":"%3Cinit%3E(de.zbit.util.prefs.SBProperties)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"AnnotationPolisher","l":"AnnotationPolisher(PolishingParameters, Registry)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"AnnotationPolisher","l":"AnnotationPolisher(PolishingParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","c":"AnnotationsSorter","l":"AnnotationsSorter()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"ModelWriterException","l":"archiveFile()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"COBRAUtils","l":"asString(Array)","u":"asString(us.hebi.matlab.mat.types.Array)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"COBRAUtils","l":"asString(Array, String, int)","u":"asString(us.hebi.matlab.mat.types.Array,java.lang.String,int)"},{"p":"de.uni_halle.informatik.biodata.mp.util","c":"ReactionNamePatterns","l":"ATP_MAINTENANCE"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"author"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"b"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"B"},{"p":"de.uni_halle.informatik.biodata.mp.logging","c":"BundleNames","l":"BASE_MESSAGES"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"AbstractBiGGAnnotator","l":"bigg"},{"p":"de.uni_halle.informatik.biodata.mp.logging","c":"BundleNames","l":"BIGG_ANNOTATION_MESSAGES"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc","c":"BiGGGeneProductAnnotator","l":"BIGG_GENE_ID_PATTERN"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","c":"AnnotateDBContract.Constants","l":"BIGG_METABOLITE"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","c":"AnnotateDBContract.Constants","l":"BIGG_REACTION"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGAnnotationException","l":"BiGGAnnotationException(String, Exception, Object)","u":"%3Cinit%3E(java.lang.String,java.lang.Exception,java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"AbstractBiGGAnnotator","l":"biGGAnnotationParameters"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"AnnotationParameters","l":"biggAnnotationParameters()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGAnnotationParameters","l":"BiGGAnnotationParameters()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGAnnotationParameters","l":"BiGGAnnotationParameters(boolean, boolean, String, BiGGNotesParameters, DBParameters)","u":"%3Cinit%3E(boolean,boolean,java.lang.String,de.uni_halle.informatik.biodata.mp.parameters.BiGGNotesParameters,de.uni_halle.informatik.biodata.mp.parameters.DBParameters)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGAnnotationParameters","l":"BiGGAnnotationParameters(SBProperties)","u":"%3Cinit%3E(de.zbit.util.prefs.SBProperties)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGCompartmentsAnnotator","l":"BiGGCompartmentsAnnotator(BiGGDB, BiGGAnnotationParameters, Registry)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB,de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGCompartmentsAnnotator","l":"BiGGCompartmentsAnnotator(BiGGDB, BiGGAnnotationParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB,de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGCVTermAnnotator","l":"BiGGCVTermAnnotator(BiGGDB, BiGGAnnotationParameters, Registry)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB,de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGCVTermAnnotator","l":"BiGGCVTermAnnotator(BiGGDB, BiGGAnnotationParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB,de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"BiGGDB()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGDocumentNotesProcessor","l":"BiGGDocumentNotesProcessor(BiGGDB, BiGGAnnotationParameters)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB,de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc","c":"BiGGFBCAnnotator","l":"BiGGFBCAnnotator(BiGGDB, BiGGAnnotationParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB,de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc","c":"BiGGFBCSpeciesAnnotator","l":"BiGGFBCSpeciesAnnotator(BiGGDB, BiGGAnnotationParameters, Registry)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB,de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc","c":"BiGGGeneProductAnnotator","l":"BiGGGeneProductAnnotator(BiGGGeneProductReferencesAnnotator, BiGGDB, BiGGAnnotationParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc.BiGGGeneProductReferencesAnnotator,de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB,de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc","c":"BiGGGeneProductReferencesAnnotator","l":"BiGGGeneProductReferencesAnnotator()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"BiGGId()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"BiGGId(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"BiGGId(String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGModelAnnotator","l":"BiGGModelAnnotator(BiGGDB, BiGGAnnotationParameters, Registry)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB,de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGModelAnnotator","l":"BiGGModelAnnotator(BiGGDB, BiGGAnnotationParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB,de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGNotesParameters","l":"BiGGNotesParameters()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGNotesParameters","l":"BiGGNotesParameters(SBProperties)","u":"%3Cinit%3E(de.zbit.util.prefs.SBProperties)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGPublicationsAnnotator","l":"BiGGPublicationsAnnotator(BiGGDB, BiGGAnnotationParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB,de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGReactionsAnnotator","l":"BiGGReactionsAnnotator(BiGGDB, BiGGAnnotationParameters, SBOParameters, Registry)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB,de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters,de.uni_halle.informatik.biodata.mp.parameters.SBOParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGReactionsAnnotator","l":"BiGGReactionsAnnotator(BiGGDB, BiGGAnnotationParameters, SBOParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB,de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters,de.uni_halle.informatik.biodata.mp.parameters.SBOParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGSBMLAnnotator","l":"BiGGSBMLAnnotator(BiGGDB, BiGGAnnotationParameters, SBOParameters, Registry)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB,de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters,de.uni_halle.informatik.biodata.mp.parameters.SBOParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGSBMLAnnotator","l":"BiGGSBMLAnnotator(BiGGDB, BiGGAnnotationParameters, SBOParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB,de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters,de.uni_halle.informatik.biodata.mp.parameters.SBOParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGSpeciesAnnotator","l":"BiGGSpeciesAnnotator(BiGGDB, BiGGAnnotationParameters, SBOParameters, Registry)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB,de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters,de.uni_halle.informatik.biodata.mp.parameters.SBOParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGSpeciesAnnotator","l":"BiGGSpeciesAnnotator(BiGGDB, BiGGAnnotationParameters, SBOParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB,de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters,de.uni_halle.informatik.biodata.mp.parameters.SBOParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.util","c":"ReactionNamePatterns","l":"BIOMASS_CASE_INSENSITIVE"},{"p":"de.uni_halle.informatik.biodata.mp.util","c":"ReactionNamePatterns","l":"BIOMASS_CASE_SENSITIVE"},{"p":"de.uni_halle.informatik.biodata.mp.logging","c":"BundleNames","l":"BundleNames()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"c"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"SBMLFileUtils","l":"checkCreateOutDir(File)","u":"checkCreateOutDir(java.io.File)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"COBRAUtils","l":"checkId(String)","u":"checkId(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"citations"},{"p":"de.uni_halle.informatik.biodata.mp.logging","c":"BundleNames","l":"CLI_MESSAGES"},{"p":"de.uni_halle.informatik.biodata.mp.db","c":"PostgresConnectionPool","l":"close()"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"DeleteOnCloseFileInputStream","l":"close()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"COBRAUtils","l":"COBRAUtils()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"coefficients"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","c":"AnnotateDBContract.Constants.Column","l":"Column()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDBContract.Constants.Column","l":"Column()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"IOOptions.OutputType","l":"COMBINE"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"CombineArchive","l":"COMBINE_SPECIFICATION"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"CombineArchive","l":"CombineArchive(SBMLDocument, File)","u":"%3Cinit%3E(org.sbml.jsbml.SBMLDocument,java.io.File)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"comments"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrgURI","l":"compareTo(IdentifiersOrgURI)","u":"compareTo(de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"CompartmentFixer","l":"CompartmentFixer(List)","u":"%3Cinit%3E(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB.ForeignReaction","l":"compartmentId"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB.ForeignReaction","l":"compartmentName"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"CompartmentPolisher","l":"CompartmentPolisher(PolishingParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Compartments","l":"Compartments()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"confidenceScores"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","c":"AnnotateDBContract.Constants","l":"Constants()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDBContract.Constants","l":"Constants()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"GeneProductAssociationsProcessor","l":"convertAssociationsToFBCV2(Reaction, boolean)","u":"convertAssociationsToFBCV2(org.sbml.jsbml.Reaction,boolean)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json","c":"JSONConverter","l":"convertGene(GeneProduct)","u":"convertGene(org.sbml.jsbml.ext.fbc.GeneProduct)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json","c":"JSONConverter","l":"convertGenes(Model)","u":"convertGenes(org.sbml.jsbml.Model)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json","c":"JSONConverter","l":"convertMetabolite(Species)","u":"convertMetabolite(org.sbml.jsbml.Species)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json","c":"JSONConverter","l":"convertMetabolites(Model)","u":"convertMetabolites(org.sbml.jsbml.Model)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json","c":"JSONConverter","l":"convertModel(Model)","u":"convertModel(org.sbml.jsbml.Model)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json","c":"JSONConverter","l":"convertReaction(Reaction)","u":"convertReaction(org.sbml.jsbml.Reaction)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json","c":"JSONConverter","l":"convertReactions(Model)","u":"convertReactions(org.sbml.jsbml.Model)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"createGeneId(String)","u":"createGeneId(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"createMetaboliteId(String)","u":"createMetaboliteId(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"createReactionId(String)","u":"createReactionId(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"createReactionId(String, boolean)","u":"createReactionId(java.lang.String,boolean)"},{"p":"de.uni_halle.informatik.biodata.mp.util.ext.groups","c":"GroupsUtils","l":"createSubsystemLink(Reaction, Member)","u":"createSubsystemLink(org.sbml.jsbml.Reaction,org.sbml.jsbml.ext.groups.Member)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"csense"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"UnitPolisher","l":"CV_TERM_DESCRIBED_BY_PUBMED_GROWTH_UNIT"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"UnitPolisher","l":"CV_TERM_IS_SUBSTANCE_UNIT"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"UnitPolisher","l":"CV_TERM_IS_TIME_UNIT"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"UnitPolisher","l":"CV_TERM_IS_UO_GRAM"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"UnitPolisher","l":"CV_TERM_IS_UO_HOUR"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"UnitPolisher","l":"CV_TERM_IS_UO_MMOL"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"UnitPolisher","l":"CV_TERM_IS_UO_SECOND"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"UnitPolisher","l":"CV_TERM_IS_VERSION_OF_UO_MOLE"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"UnitPolisher","l":"CV_TERM_IS_VERSION_OF_UO_SECOND"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"UnitPolisher","l":"CV_TERM_IS_VOLUME_UNIT"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"DAG","l":"DAG(Term)","u":"%3Cinit%3E(org.biojava.nbio.ontology.Term)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ReportType","l":"DATA"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGAnnotationException","l":"data()"},{"p":"de.uni_halle.informatik.biodata.mp.logging","c":"BundleNames","l":"DB_MESSAGES"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","c":"AnnotateDBOptions","l":"DBNAME"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDBOptions","l":"DBNAME"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"DBParameters","l":"dbName()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"ADBAnnotationParameters","l":"dbParameters"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGAnnotationParameters","l":"dbParameters"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"ADBAnnotationParameters","l":"dbParameters()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGAnnotationParameters","l":"dbParameters()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"DBParameters","l":"DBParameters()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"DBParameters","l":"DBParameters(String, String, String, Integer, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.lang.Integer,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.util","c":"ReactionNamePatterns","l":"DEFAULT_FLUX_BOUND"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"DeleteOnCloseFileInputStream","l":"DeleteOnCloseFileInputStream(File)","u":"%3Cinit%3E(java.io.File)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"DeleteOnCloseFileInputStream","l":"DeleteOnCloseFileInputStream(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.util","c":"ReactionNamePatterns","l":"DEMAND_REACTION"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"description"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"DiffListener","l":"DiffListener()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","c":"AbstractAnnotator","l":"diffReport(String, Object, Object)","u":"diffReport(java.lang.String,java.lang.Object,java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"IReportDiffs","l":"diffReport(String, Object, Object)","u":"diffReport(java.lang.String,java.lang.Object,java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"disabled"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"ModelWriterException","l":"doc()"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","c":"AnnotationOptions","l":"DOCUMENT_NOTES_FILE"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","c":"AnnotationOptions","l":"DOCUMENT_TITLE_PATTERN"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGNotesParameters","l":"documentNotesFile"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGNotesParameters","l":"documentNotesFile()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGAnnotationParameters","l":"documentTitlePattern"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGAnnotationParameters","l":"documentTitlePattern()"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"FixingOptions","l":"DONT_FIX"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"FixingParameters","l":"dontFix()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"ecNumbers"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"Publication","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"Node","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"ADBAnnotationParameters","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"AnnotationParameters","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGAnnotationParameters","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"DBParameters","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"FixingParameters","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"Parameters","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"SBOParameters","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"AbstractPolisher","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ProgressFinalization","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ProgressInitialization","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ProgressUpdate","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrgURI","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.util","c":"ReactionNamePatterns","l":"EXCHANGE_REACTION"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"COBRAUtils","l":"exists(Array, int)","u":"exists(us.hebi.matlab.mat.types.Array,int)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"extractCompartmentCode(String)","u":"extractCompartmentCode(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"FBCPolisher","l":"FBCPolisher(PolishingParameters, SBOParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.parameters.SBOParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"FBCReactionPolisher","l":"FBCReactionPolisher(FBCModelPlugin, PolishingParameters, SBOParameters, Registry)","u":"%3Cinit%3E(org.sbml.jsbml.ext.fbc.FBCModelPlugin,de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.parameters.SBOParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"FBCReactionPolisher","l":"FBCReactionPolisher(FBCModelPlugin, PolishingParameters, SBOParameters, Registry, List)","u":"%3Cinit%3E(org.sbml.jsbml.ext.fbc.FBCModelPlugin,de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.parameters.SBOParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing.ext.fbc","c":"FBCSpeciesFixer","l":"FBCSpeciesFixer()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc","c":"BiGGGeneProductAnnotator","l":"findBiGGId(GeneProduct)","u":"findBiGGId(org.sbml.jsbml.ext.fbc.GeneProduct)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGReactionsAnnotator","l":"findBiGGId(Reaction)","u":"findBiGGId(org.sbml.jsbml.Reaction)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGSpeciesAnnotator","l":"findBiGGId(Species)","u":"findBiGGId(org.sbml.jsbml.Species)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc","c":"BiGGFBCSpeciesAnnotator","l":"findBiGGId(Species)","u":"findBiGGId(org.sbml.jsbml.Species)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGCVTermAnnotator","l":"findBiGGId(T)"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"Node","l":"findChild(Node, Term)","u":"findChild(de.uni_halle.informatik.biodata.mp.eco.Node,org.biojava.nbio.ontology.Term)"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"Node","l":"findParent(Node, Term)","u":"findParent(de.uni_halle.informatik.biodata.mp.eco.Node,org.biojava.nbio.ontology.Term)"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"Node","l":"findTerm(Term)","u":"findTerm(org.biojava.nbio.ontology.Term)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"PolisherProgressBar","l":"finish(ProgressFinalization)","u":"finish(de.uni_halle.informatik.biodata.mp.reporting.ProgressFinalization)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ProgressObserver","l":"finish(ProgressFinalization)","u":"finish(de.uni_halle.informatik.biodata.mp.reporting.ProgressFinalization)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"CompartmentFixer","l":"fix(Compartment, int)","u":"fix(org.sbml.jsbml.Compartment,int)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing.ext.groups","c":"GroupsFixer","l":"fix(Group, int)","u":"fix(org.sbml.jsbml.ext.groups.Group,int)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"CompartmentFixer","l":"fix(List)","u":"fix(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing.ext.groups","c":"GroupsFixer","l":"fix(List)","u":"fix(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"ReactionFixer","l":"fix(List)","u":"fix(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"IFixSBases","l":"fix(List)","u":"fix(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"SpeciesFixer","l":"fix(List)","u":"fix(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"IFixSpeciesReferences","l":"fix(List)","u":"fix(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing.ext.fbc","c":"ListOfObjectivesFixer","l":"fix(ListOfObjectives, int)","u":"fix(org.sbml.jsbml.ext.fbc.ListOfObjectives,int)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"ModelFixer","l":"fix(Model, int)","u":"fix(org.sbml.jsbml.Model,int)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"ReactionFixer","l":"fix(Reaction, int)","u":"fix(org.sbml.jsbml.Reaction,int)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"SBMLFixer","l":"fix(SBMLDocument, int)","u":"fix(org.sbml.jsbml.SBMLDocument,int)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"IFixSBases","l":"fix(SBMLElement, int)","u":"fix(SBMLElement,int)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing.ext.fbc","c":"FBCSpeciesFixer","l":"fix(Species, int)","u":"fix(org.sbml.jsbml.Species,int)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"SpeciesFixer","l":"fix(Species, int)","u":"fix(org.sbml.jsbml.Species,int)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"IFixSpeciesReferences","l":"fix(SpeciesReference)","u":"fix(org.sbml.jsbml.SpeciesReference)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"SpeciesReferenceFixer","l":"fix(SpeciesReference)","u":"fix(org.sbml.jsbml.SpeciesReference)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrg","l":"fixIdentifiersOrgUri(IdentifiersOrgURI)","u":"fixIdentifiersOrgUri(de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI)"},{"p":"de.uni_halle.informatik.biodata.mp.logging","c":"BundleNames","l":"FIXING_MESSAGES"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"Parameters","l":"fixing()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"FixingParameters","l":"FixingParameters()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"FixingParameters","l":"FixingParameters(boolean, FluxObjectivesFixingParameters)","u":"%3Cinit%3E(boolean,de.uni_halle.informatik.biodata.mp.parameters.FluxObjectivesFixingParameters)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"FixingParameters","l":"FixingParameters(SBProperties)","u":"%3Cinit%3E(de.zbit.util.prefs.SBProperties)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"FixingOptions","l":"FLUX_COEFFICIENTS"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"FixingOptions","l":"FLUX_OBJECTIVES"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"FluxObjectivesFixingParameters","l":"fluxCoefficients"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"FluxObjectivesFixingParameters","l":"fluxCoefficients()"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"StrictnessPredicate","l":"fluxObjectiveHasValidCoefficients(FluxObjective)","u":"fluxObjectiveHasValidCoefficients(org.sbml.jsbml.ext.fbc.FluxObjective)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"FluxObjectivesFixingParameters","l":"fluxObjectives"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"FluxObjectivesFixingParameters","l":"fluxObjectives()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"FluxObjectivesFixingParameters","l":"FluxObjectivesFixingParameters()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"FluxObjectivesFixingParameters","l":"FluxObjectivesFixingParameters(List, List)","u":"%3Cinit%3E(java.util.List,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"FluxObjectivesFixingParameters","l":"FluxObjectivesFixingParameters(SBProperties)","u":"%3Cinit%3E(de.zbit.util.prefs.SBProperties)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"FixingParameters","l":"fluxObjectivesPolishingParameters()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB.ForeignReaction","l":"ForeignReaction(String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Gene","l":"Gene()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"genedate"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"geneindex"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"GeneParser","l":"GeneParser(FBCModelPlugin, int)","u":"%3Cinit%3E(org.sbml.jsbml.ext.fbc.FBCModelPlugin,int)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"GeneProductAssociationsProcessor","l":"GeneProductAssociationsProcessor()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"GeneProductsPolisher","l":"GeneProductsPolisher(PolishingParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"genes"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"genesource"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGModelAnnotator","l":"GENOME_ASSEMBLY_ID_PATTERN"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Compartments","l":"get()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolites","l":"get()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"getAbbreviation()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getAllBiggIds(String)","u":"getAllBiggIds(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Gene","l":"getAnnotation()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolite","l":"getAnnotation()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"getAnnotation()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"getAnnotation()"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","c":"AnnotateDB","l":"getAnnotations(String, String)","u":"getAnnotations(java.lang.String,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"RawIdentifiersOrgRegistry","l":"getApiVersion()"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"AbstractBiGGAnnotator","l":"getBiGGIdFromResources(List, String)","u":"getBiGGIdFromResources(java.util.List,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getBiggIdFromSynonym(String, String, String)","u":"getBiggIdFromSynonym(java.lang.String,java.lang.String,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getBiggIdsForReactionForeignId(RegistryURI)","u":"getBiggIdsForReactionForeignId(de.uni_halle.informatik.biodata.mp.resolver.RegistryURI)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getBiGGVersion()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolite","l":"getBound()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolite","l":"getCharge()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getCharge(String, String)","u":"getCharge(java.lang.String,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getChargeByCompartment(String, String)","u":"getChargeByCompartment(java.lang.String,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getChemicalFormula(String, String)","u":"getChemicalFormula(java.lang.String,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getChemicalFormulaByCompartment(String, String)","u":"getChemicalFormulaByCompartment(java.lang.String,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"Node","l":"getChildren()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolite","l":"getCompartment()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"getCompartmentCode()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getCompartmentName(BiGGId)","u":"getCompartmentName(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"getCompartments()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getComponentName(BiGGId)","u":"getComponentName(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getComponentType(BiGGId)","u":"getComponentType(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId)"},{"p":"de.uni_halle.informatik.biodata.mp.db","c":"PostgresConnectionPool","l":"getConnection()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"getCorrectName(String)","u":"getCorrectName(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Location","l":"getCountryCode()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Location","l":"getCountryName()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"getCreated()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"getDeprecationDate()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"getDeprecationDate()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"getDescription()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Institution","l":"getDescription()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"getDescription()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"getDescription()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"RawIdentifiersOrgRegistry","l":"getErrorMessage()"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"IOOptions.OutputType","l":"getFileExtension()"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"SBMLFileUtils","l":"getFileType(File)","u":"getFileType(java.io.File)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolite","l":"getFormula()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getGeneIds(String)","u":"getGeneIds(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getGeneName(String)","u":"getGeneName(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"getGeneReactionRule()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getGeneReactionRule(String, String)","u":"getGeneReactionRule(java.lang.String,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"getGenes()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getGenomeAccesion(String)","u":"getGenomeAccesion(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Institution","l":"getHomeUrl()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Gene","l":"getId()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolite","l":"getId()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"getId()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"getId()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrgURI","l":"getId()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Institution","l":"getId()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"getId()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"getId()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver","c":"RegistryURI","l":"getId()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"getInstitution()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json","c":"JSONConverter","l":"getJSONDocument(SBMLDocument)","u":"getJSONDocument(org.sbml.jsbml.SBMLDocument)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json","c":"JSONConverter","l":"getJSONModel(Model)","u":"getJSONModel(org.sbml.jsbml.Model)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc","c":"BiGGGeneProductAnnotator","l":"getLabel(GeneProduct, BiGGId)","u":"getLabel(org.sbml.jsbml.ext.fbc.GeneProduct,de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Institution","l":"getLocation()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"getLocation()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"getLowerBound()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"getMetabolites()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"getMetabolites()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"getMirId()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"getMirId()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"getModified()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Gene","l":"getName()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolite","l":"getName()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"getName()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"getName()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Institution","l":"getName()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"getName()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"getName()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"getNameForPrefix(String)","u":"getNameForPrefix(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrg","l":"getNamespaceForPrefix(String)","u":"getNamespaceForPrefix(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver","c":"Registry","l":"getNamespaceForPrefix(String)","u":"getNamespaceForPrefix(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Gene","l":"getNotes()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolite","l":"getNotes()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"getNotes()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"getNotes()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"getObjectiveCoefficient()"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","c":"AbstractAnnotator","l":"getObservers()"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"AbstractFixer","l":"getObservers()"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"AbstractPolisher","l":"getObservers()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getOrganism(String)","u":"getOrganism(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"SBMLFileUtils","l":"getOutputFileName(File, File)","u":"getOutputFileName(java.io.File,java.io.File)"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"Node","l":"getParents()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"getPattern()"},{"p":"de.uni_halle.informatik.biodata.mp.util","c":"ReactionNamePatterns","l":"getPattern()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrg","l":"getPatternByNamespaceName(String)","u":"getPatternByNamespaceName(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver","c":"Registry","l":"getPatternByNamespaceName(String)","u":"getPatternByNamespaceName(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"RawIdentifiersOrgRegistry","l":"getPayload()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"getPrefix()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrgURI","l":"getPrefix()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"getPrefix()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver","c":"RegistryURI","l":"getPrefix()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrg","l":"getPrefixByNamespaceName(String)","u":"getPrefixByNamespaceName(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver","c":"Registry","l":"getPrefixByNamespaceName(String)","u":"getPrefixByNamespaceName(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"getProviderCode()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getPublications(String)","u":"getPublications(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getReactionName(String)","u":"getReactionName(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getReactionRules(String, String, String)","u":"getReactionRules(java.lang.String,java.lang.String,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"getReactions()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"getResourceHomeUrl()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"getResources()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getResources(BiGGId, boolean, boolean)","u":"getResources(de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId,boolean,boolean)"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"DAG","l":"getRoot()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Institution","l":"getRorId()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"getSampleId()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"getSampleId()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"getSubsystem()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getSubsystems(String, String)","u":"getSubsystems(java.lang.String,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getSubsystemsForReaction(String)","u":"getSubsystemsForReaction(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"getTaxonId(String)","u":"getTaxonId(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"Node","l":"getTerm()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"getTissueCode()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"getUpperBound()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrgURI","l":"getURI()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver","c":"RegistryURI","l":"getURI()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"getUrlPattern()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"getVersion()"},{"p":"de.uni_halle.informatik.biodata.mp.util.ext.fbc","c":"GPRParser","l":"GPRParser()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","c":"AnnotationsSorter","l":"groupAndSortAnnotations(SBase)","u":"groupAndSortAnnotations(org.sbml.jsbml.SBase)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing.ext.groups","c":"GroupsFixer","l":"GroupsFixer(List)","u":"%3Cinit%3E(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.util.ext.groups","c":"GroupsUtils","l":"GroupsUtils()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"UnitPolisher","l":"GROWTH_UNIT_ID"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"UnitPolisher","l":"GROWTH_UNIT_NAME"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"grRules"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"hashCode()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"Publication","l":"hashCode()"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"Node","l":"hashCode()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"ADBAnnotationParameters","l":"hashCode()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"AnnotationParameters","l":"hashCode()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGAnnotationParameters","l":"hashCode()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"DBParameters","l":"hashCode()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"FixingParameters","l":"hashCode()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"Parameters","l":"hashCode()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"SBOParameters","l":"hashCode()"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"AbstractPolisher","l":"hashCode()"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ProgressFinalization","l":"hashCode()"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ProgressInitialization","l":"hashCode()"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ProgressUpdate","l":"hashCode()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrgURI","l":"hashCode()"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","c":"AnnotateDBOptions","l":"HOST"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDBOptions","l":"HOST"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"DBParameters","l":"host()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrgURI","l":"IDENTIFIERS_ORG_ID_PATTERN"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrg","l":"IdentifiersOrg()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrgRegistryParser","l":"IdentifiersOrgRegistryParser()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrgURI","l":"IdentifiersOrgURI(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrgURI","l":"IdentifiersOrgURI(String, BiGGId)","u":"%3Cinit%3E(java.lang.String,de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrgURI","l":"IdentifiersOrgURI(String, Object)","u":"%3Cinit%3E(java.lang.String,java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrgURI","l":"IdentifiersOrgURI(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrgURIUtils","l":"IdentifiersOrgURIUtils()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","c":"AnnotationOptions","l":"INCLUDE_ANY_URI"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGAnnotationParameters","l":"includeAnyURI"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGAnnotationParameters","l":"includeAnyURI()"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","c":"AnnotateDB","l":"init(DBParameters)","u":"init(de.uni_halle.informatik.biodata.mp.parameters.DBParameters)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"init(DBParameters)","u":"init(de.uni_halle.informatik.biodata.mp.parameters.DBParameters)"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","c":"AnnotateDB","l":"init(String, Integer, String, String, String)","u":"init(java.lang.String,java.lang.Integer,java.lang.String,java.lang.String,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"init(String, Integer, String, String, String)","u":"init(java.lang.String,java.lang.Integer,java.lang.String,java.lang.String,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"StrictnessPredicate","l":"initialAssignmentDoesNotReferenceBoundParameters(InitialAssignment)","u":"initialAssignmentDoesNotReferenceBoundParameters(org.sbml.jsbml.InitialAssignment)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"StrictnessPredicate","l":"initialAssignmentDoesNotReferenceSpeciesReferences(InitialAssignment)","u":"initialAssignmentDoesNotReferenceSpeciesReferences(org.sbml.jsbml.InitialAssignment)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"PolisherProgressBar","l":"initialize(ProgressInitialization)","u":"initialize(de.uni_halle.informatik.biodata.mp.reporting.ProgressInitialization)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ProgressObserver","l":"initialize(ProgressInitialization)","u":"initialize(de.uni_halle.informatik.biodata.mp.reporting.ProgressInitialization)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"ModelReaderException","l":"input()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Institution","l":"Institution()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.logging","c":"BundleNames","l":"IO_MESSAGES"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"StrictnessPredicate","l":"isBoundSet(Parameter)","u":"isBoundSet(org.sbml.jsbml.Parameter)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"isCompartment(String)","u":"isCompartment(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"isDataSource(String)","u":"isDataSource(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"isDeprecated()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"isDeprecated()"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"SBMLFileUtils","l":"isDirectory(File)","u":"isDirectory(java.io.File)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"COBRAUtils","l":"isEmptyString(String)","u":"isEmptyString(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"isMetabolite(String)","u":"isMetabolite(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"isModel(String)","u":"isModel(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"isNamespaceEmbeddedInLui()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"isOfficial()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"isPseudoreaction(String)","u":"isPseudoreaction(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"isReaction(String)","u":"isReaction(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"isSetAbbreviation()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"isSetCompartmentCode()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"isSetPrefix()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"isSetTissueCode()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"isValid(String)","u":"isValid(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrg","l":"isValid(String)","u":"isValid(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver","c":"Registry","l":"isValid(String)","u":"isValid(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"IOOptions.OutputType","l":"JSON"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"SBMLFileUtils.FileType","l":"JSON_FILE"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json","c":"JSONConverter","l":"JSONConverter()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json","c":"JSONParser","l":"JSONParser(Registry)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"lb"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"Node","l":"linkNodes(Node, Node)","u":"linkNodes(de.uni_halle.informatik.biodata.mp.eco.Node,de.uni_halle.informatik.biodata.mp.eco.Node)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing.ext.fbc","c":"ListOfObjectivesFixer","l":"ListOfObjectivesFixer(FixingParameters, FBCModelPlugin, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.FixingParameters,org.sbml.jsbml.ext.fbc.FBCModelPlugin,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Location","l":"Location()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"SBMLFileUtils.FileType","l":"MAT_FILE"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"MatlabParser","l":"MatlabParser(SBOParameters, Registry)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.SBOParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ProgressFinalization","l":"message()"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","c":"AnnotationOptions","l":"MESSAGES"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"FixingOptions","l":"MESSAGES"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"IOOptions","l":"MESSAGES"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"SpeciesParser","l":"MESSAGES"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"GeneralOptions","l":"MESSAGES"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"PolishingOptions","l":"MESSAGES"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolite","l":"Metabolite()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolites","l":"Metabolites()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"metCharge"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"metCHEBIID"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"metFormulas"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"metHMDB"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"metInchiString"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"metKeggID"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"metNames"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"metPubChemID"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"mets"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"metSmile"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","c":"AnnotationOptions","l":"MODEL_NOTES_FILE"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"ModelFixer","l":"ModelFixer(FixingParameters, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.FixingParameters,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGNotesParameters","l":"modelNotesFile"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGNotesParameters","l":"modelNotesFile()"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"ModelPolisher","l":"ModelPolisher(PolishingParameters, SBOParameters, Registry)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.parameters.SBOParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"ModelPolisher","l":"ModelPolisher(PolishingParameters, SBOParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.parameters.SBOParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"ModelReader","l":"ModelReader(SBOParameters, Registry)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.SBOParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"ModelReaderException","l":"ModelReaderException(String, Exception, File)","u":"%3Cinit%3E(java.lang.String,java.lang.Exception,java.io.File)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"ModelReaderException","l":"ModelReaderException(String, File)","u":"%3Cinit%3E(java.lang.String,java.io.File)"},{"p":"de.uni_halle.informatik.biodata.mp.validation","c":"ModelValidator","l":"ModelValidator()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.validation","c":"ModelValidatorException","l":"ModelValidatorException(Exception, File)","u":"%3Cinit%3E(java.lang.Exception,java.io.File)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"ModelWriter","l":"ModelWriter(IOOptions.OutputType)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.io.IOOptions.OutputType)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"ModelWriterException","l":"ModelWriterException(String, Exception, SBMLDocument, File)","u":"%3Cinit%3E(java.lang.String,java.lang.Exception,org.sbml.jsbml.SBMLDocument,java.io.File)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"ModelWriterException","l":"ModelWriterException(String, SBMLDocument, File, File)","u":"%3Cinit%3E(java.lang.String,org.sbml.jsbml.SBMLDocument,java.io.File,java.io.File)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"name"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"NamePolisher","l":"NamePolisher()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"Namespace()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","c":"AnnotationOptions","l":"NO_MODEL_NOTES"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"Node","l":"Node(Term)","u":"%3Cinit%3E(org.biojava.nbio.ontology.Term)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"UpdateListener","l":"nodeAdded(TreeNode)","u":"nodeAdded(javax.swing.tree.TreeNode)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"DiffListener","l":"nodeAdded(TreeNode)","u":"nodeAdded(javax.swing.tree.TreeNode)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"UpdateListener","l":"nodeRemoved(TreeNodeRemovedEvent)","u":"nodeRemoved(org.sbml.jsbml.util.TreeNodeRemovedEvent)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"DiffListener","l":"nodeRemoved(TreeNodeRemovedEvent)","u":"nodeRemoved(org.sbml.jsbml.util.TreeNodeRemovedEvent)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGNotesParameters","l":"noModelNotes()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"notes"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGAnnotationParameters","l":"notesParameters"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGAnnotationParameters","l":"notesParameters()"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ProgressUpdate","l":"obj()"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"ObjectivesPolisher","l":"ObjectivesPolisher(FBCModelPlugin, PolishingParameters, Registry)","u":"%3Cinit%3E(org.sbml.jsbml.ext.fbc.FBCModelPlugin,de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"ObjectivesPolisher","l":"ObjectivesPolisher(FBCModelPlugin, PolishingParameters, Registry, List)","u":"%3Cinit%3E(org.sbml.jsbml.ext.fbc.FBCModelPlugin,de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"organism"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"osense"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"IOOptions","l":"OUTPUT_TYPE"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"ModelWriterException","l":"output()"},{"p":"de.uni_halle.informatik.biodata.mp.validation","c":"ModelValidatorException","l":"outputFile()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"Parameters","l":"outputType"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"Parameters","l":"outputType()"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.adb","c":"AbstractADBAnnotator","l":"parameters"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"Parameters","l":"Parameters()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"Parameters","l":"Parameters(SBProperties)","u":"%3Cinit%3E(de.zbit.util.prefs.SBProperties)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"ParametersException","l":"ParametersException(String, Parameters)","u":"%3Cinit%3E(java.lang.String,de.uni_halle.informatik.biodata.mp.parameters.Parameters)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"ParametersParser","l":"ParametersParser()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"ParametersPolisher","l":"ParametersPolisher(PolishingParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"GeneParser","l":"parse()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ReactionParser","l":"parse()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"SpeciesParser","l":"parse()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"MatlabParser","l":"parse(File)","u":"parse(java.io.File)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json","c":"JSONParser","l":"parse(File)","u":"parse(java.io.File)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"ParametersParser","l":"parse(InputStream)","u":"parse(java.io.InputStream)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrgRegistryParser","l":"parse(InputStream)","u":"parse(java.io.InputStream)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json","c":"JSONParser","l":"parseAnnotation(SBase, Object)","u":"parseAnnotation(org.sbml.jsbml.SBase,java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json","c":"JSONParser","l":"parseCompartments(ModelBuilder, Map)","u":"parseCompartments(org.sbml.jsbml.util.ModelBuilder,java.util.Map)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json","c":"JSONParser","l":"parseGene(Model, Gene, String)","u":"parseGene(org.sbml.jsbml.Model,de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Gene,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGReactionsAnnotator","l":"parseGeneReactionRules(Reaction, BiGGId)","u":"parseGeneReactionRules(org.sbml.jsbml.Reaction,de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json","c":"JSONParser","l":"parseMetabolite(Model, Metabolite, BiGGId)","u":"parseMetabolite(org.sbml.jsbml.Model,de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite,de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json","c":"JSONParser","l":"parseNotes(SBase, Object)","u":"parseNotes(org.sbml.jsbml.SBase,java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json","c":"JSONParser","l":"parseReaction(ModelBuilder, Reaction, String)","u":"parseReaction(org.sbml.jsbml.util.ModelBuilder,de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","c":"AnnotateDBOptions","l":"PASSWD"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDBOptions","l":"PASSWD"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"DBParameters","l":"passwd()"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"PolishingOptions","l":"POLISH_EVEN_IF_MODEL_INVALID"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"AnnotationPolisher","l":"polish(Annotation)","u":"polish(org.sbml.jsbml.Annotation)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"IPolishAnnotations","l":"polish(Annotation)","u":"polish(org.sbml.jsbml.Annotation)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"CompartmentPolisher","l":"polish(Compartment)","u":"polish(org.sbml.jsbml.Compartment)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"GeneProductsPolisher","l":"polish(GeneProduct)","u":"polish(org.sbml.jsbml.ext.fbc.GeneProduct)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"CompartmentPolisher","l":"polish(List)","u":"polish(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"GeneProductsPolisher","l":"polish(List)","u":"polish(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"ParametersPolisher","l":"polish(List)","u":"polish(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"FBCReactionPolisher","l":"polish(List)","u":"polish(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"ReactionsPolisher","l":"polish(List)","u":"polish(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"IPolishSBaseAttributes","l":"polish(List)","u":"polish(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"IPolishSBases","l":"polish(List)","u":"polish(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"SpeciesPolisher","l":"polish(List)","u":"polish(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"IPolishSpeciesReferences","l":"polish(List)","u":"polish(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"FBCPolisher","l":"polish(Model)","u":"polish(org.sbml.jsbml.Model)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"ModelPolisher","l":"polish(Model)","u":"polish(org.sbml.jsbml.Model)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"UnitPolisher","l":"polish(Model)","u":"polish(org.sbml.jsbml.Model)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"ObjectivesPolisher","l":"polish(Objective)","u":"polish(org.sbml.jsbml.ext.fbc.Objective)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"ParametersPolisher","l":"polish(Parameter)","u":"polish(org.sbml.jsbml.Parameter)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"FBCReactionPolisher","l":"polish(Reaction)","u":"polish(org.sbml.jsbml.Reaction)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"ReactionsPolisher","l":"polish(Reaction)","u":"polish(org.sbml.jsbml.Reaction)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"IPolishSBaseAttributes","l":"polish(SBase)","u":"polish(org.sbml.jsbml.SBase)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"NamePolisher","l":"polish(SBase)","u":"polish(org.sbml.jsbml.SBase)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"SBMLPolisher","l":"polish(SBMLDocument)","u":"polish(org.sbml.jsbml.SBMLDocument)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"IPolishSBases","l":"polish(SBMLElement)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"SpeciesPolisher","l":"polish(Species)","u":"polish(org.sbml.jsbml.Species)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"IPolishSpeciesReferences","l":"polish(SpeciesReference)","u":"polish(org.sbml.jsbml.SpeciesReference)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"SpeciesReferencesPolisher","l":"polish(SpeciesReference)","u":"polish(org.sbml.jsbml.SpeciesReference)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"NamePolisher","l":"polish(String)","u":"polish(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"PolisherFactory","l":"PolisherFactory()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"PolisherProgressBar","l":"PolisherProgressBar()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"PolishingParameters","l":"polishEvenIfModelInvalid()"},{"p":"de.uni_halle.informatik.biodata.mp.logging","c":"BundleNames","l":"POLISHING_MESSAGES"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"Parameters","l":"polishing()"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"AbstractPolisher","l":"polishingParameters"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"PolishingParameters","l":"PolishingParameters()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"PolishingParameters","l":"PolishingParameters(boolean)","u":"%3Cinit%3E(boolean)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"PolishingParameters","l":"PolishingParameters(SBProperties)","u":"%3Cinit%3E(de.zbit.util.prefs.SBProperties)"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","c":"AnnotateDBOptions","l":"PORT"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDBOptions","l":"PORT"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"DBParameters","l":"port()"},{"p":"de.uni_halle.informatik.biodata.mp.db","c":"PostgresConnectionPool","l":"PostgresConnectionPool(String, int, String, String, String)","u":"%3Cinit%3E(java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGDocumentNotesProcessor","l":"processNotes(SBMLDocument)","u":"processNotes(org.sbml.jsbml.SBMLDocument)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ProgressFinalization","l":"ProgressFinalization(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ProgressInitialization","l":"ProgressInitialization(int)","u":"%3Cinit%3E(int)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ProgressUpdate","l":"ProgressUpdate(String, Object, ReportType)","u":"%3Cinit%3E(java.lang.String,java.lang.Object,de.uni_halle.informatik.biodata.mp.reporting.ReportType)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"UpdateListener","l":"propertyChange(PropertyChangeEvent)","u":"propertyChange(java.beans.PropertyChangeEvent)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"DiffListener","l":"propertyChange(PropertyChangeEvent)","u":"propertyChange(java.beans.PropertyChangeEvent)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"proteins"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"Publication","l":"Publication(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"RawIdentifiersOrgRegistry","l":"RawIdentifiersOrgRegistry()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"CombineArchive","l":"RDF_MEDIATYPE"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"Reaction()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"ReactionFixer","l":"ReactionFixer(List)","u":"%3Cinit%3E(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"StrictnessPredicate","l":"reactionHasValidBounds(Reaction)","u":"reactionHasValidBounds(org.sbml.jsbml.Reaction)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB.ForeignReaction","l":"reactionId"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ReactionParser","l":"ReactionParser(ModelBuilder, int, Registry)","u":"%3Cinit%3E(org.sbml.jsbml.util.ModelBuilder,int,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"StrictnessPredicate","l":"reactionSpeciesReferencesHaveValidAttributes(Reaction)","u":"reactionSpeciesReferencesHaveValidAttributes(org.sbml.jsbml.Reaction)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"ReactionsPolisher","l":"ReactionsPolisher(PolishingParameters, SBOParameters, Registry)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.parameters.SBOParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"ReactionsPolisher","l":"ReactionsPolisher(PolishingParameters, SBOParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.parameters.SBOParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"IReadModelsFromFile","l":"read(File)","u":"read(java.io.File)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"ModelReader","l":"read(File)","u":"read(java.io.File)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGModelAnnotator","l":"REF_SEQ_ACCESSION_NUMBER_PATTERN"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"Publication","l":"referenceId()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"Publication","l":"referenceType()"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"AbstractBiGGAnnotator","l":"registry"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"AbstractPolisher","l":"registry"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrgURIUtils","l":"removeHttpProtocolFromUrl(String)","u":"removeHttpProtocolFromUrl(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrgURIUtils","l":"replaceIdTag(String, String)","u":"replaceIdTag(java.lang.String,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ProgressUpdate","l":"reportType()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrg","l":"resolveBackwards(String)","u":"resolveBackwards(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver","c":"Registry","l":"resolveBackwards(String)","u":"resolveBackwards(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"Resource()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"rev"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"Root()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"rules"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"rxnCOG"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"rxnConfidenceEcoIDA"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"rxnConfidenceScores"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"rxnECNumbers"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"rxnGeneMat"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"rxnKeggID"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"rxnKeggOrthology"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"rxnNames"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"rxnNotes"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"rxnReferences"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"rxns"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"rxnsboTerm"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"S"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"IOOptions.OutputType","l":"SBML"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"SBMLFileUtils.FileType","l":"SBML_FILE"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"GeneralOptions","l":"SBML_VALIDATION"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"SBMLFileUtils","l":"SBMLFileUtils()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"SBMLFixer","l":"SBMLFixer(FixingParameters)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.FixingParameters)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"SBMLFixer","l":"SBMLFixer(FixingParameters, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.FixingParameters,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"SBMLPolisher","l":"SBMLPolisher(PolishingParameters, SBOParameters, Registry)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.parameters.SBOParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"SBMLPolisher","l":"SBMLPolisher(PolishingParameters, SBOParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.parameters.SBOParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"PolisherFactory","l":"sbmlPolisher(SBMLDocument, PolishingParameters, SBOParameters)","u":"sbmlPolisher(org.sbml.jsbml.SBMLDocument,de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.parameters.SBOParameters)"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"Parameters","l":"sbmlValidation"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"Parameters","l":"sbmlValidation()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"Parameters","l":"sboParameters()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"SBOParameters","l":"SBOParameters()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"SBOParameters","l":"SBOParameters(SBProperties)","u":"%3Cinit%3E(de.zbit.util.prefs.SBProperties)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolites","l":"set(Map)","u":"set(java.util.Map)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Compartments","l":"set(Map)","u":"set(java.util.Map)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"setAbbreviation(String)","u":"setAbbreviation(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Gene","l":"setAnnotation(Object)","u":"setAnnotation(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolite","l":"setAnnotation(Object)","u":"setAnnotation(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"setAnnotation(Object)","u":"setAnnotation(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"setAnnotation(Object)","u":"setAnnotation(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"RawIdentifiersOrgRegistry","l":"setApiVersion(String)","u":"setApiVersion(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolite","l":"setBound(double)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolite","l":"setCharge(int)"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"Node","l":"setChildren(List)","u":"setChildren(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolite","l":"setCompartment(String)","u":"setCompartment(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"setCompartmentCode(String)","u":"setCompartmentCode(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"setCompartments(Compartments)","u":"setCompartments(de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Compartments)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Location","l":"setCountryCode(String)","u":"setCountryCode(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Location","l":"setCountryName(String)","u":"setCountryName(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"setCreated(Calendar)","u":"setCreated(java.util.Calendar)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"setDeprecated(boolean)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"setDeprecated(boolean)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"setDeprecationDate(Calendar)","u":"setDeprecationDate(java.util.Calendar)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"setDeprecationDate(Calendar)","u":"setDeprecationDate(java.util.Calendar)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"setDescription(String)","u":"setDescription(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Institution","l":"setDescription(String)","u":"setDescription(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"setDescription(String)","u":"setDescription(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"setDescription(String)","u":"setDescription(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"RawIdentifiersOrgRegistry","l":"setErrorMessage(String)","u":"setErrorMessage(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"FBCReactionPolisher","l":"setFluxBoundSBOTerm(Parameter)","u":"setFluxBoundSBOTerm(org.sbml.jsbml.Parameter)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolite","l":"setFormula(String)","u":"setFormula(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.util.ext.fbc","c":"GPRParser","l":"setGeneProductAssociation(Reaction, String, boolean)","u":"setGeneProductAssociation(org.sbml.jsbml.Reaction,java.lang.String,boolean)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"setGeneReactionRule(String)","u":"setGeneReactionRule(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"setGenes(List)","u":"setGenes(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc","c":"BiGGGeneProductAnnotator","l":"setGPLabelName(GeneProduct, String)","u":"setGPLabelName(org.sbml.jsbml.ext.fbc.GeneProduct,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Institution","l":"setHomeUrl(String)","u":"setHomeUrl(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Institution","l":"setId(long)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"setId(long)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"setId(long)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Gene","l":"setId(String)","u":"setId(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolite","l":"setId(String)","u":"setId(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"setId(String)","u":"setId(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"setId(String)","u":"setId(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"setInstitution(Institution)","u":"setInstitution(de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Institution)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Institution","l":"setLocation(Location)","u":"setLocation(de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Location)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"setLocation(Location)","u":"setLocation(de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Location)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"setLowerBound(double)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"setMetabolites(List)","u":"setMetabolites(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"setMetabolites(Metabolites)","u":"setMetabolites(de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolites)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"setMirId(String)","u":"setMirId(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"setMirId(String)","u":"setMirId(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"setModified(Calendar)","u":"setModified(java.util.Calendar)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGReactionsAnnotator","l":"setName(Reaction, BiGGId)","u":"setName(org.sbml.jsbml.Reaction,de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGSpeciesAnnotator","l":"setName(Species, BiGGId)","u":"setName(org.sbml.jsbml.Species,de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Gene","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolite","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Institution","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"setNamespaceEmbeddedInLui(boolean)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Gene","l":"setNotes(Object)","u":"setNotes(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Metabolite","l":"setNotes(Object)","u":"setNotes(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"setNotes(Object)","u":"setNotes(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"setNotes(Object)","u":"setNotes(java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"setObjectiveCoefficient(double)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"setOfficial(boolean)"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"Node","l":"setParents(List)","u":"setParents(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"setPattern(String)","u":"setPattern(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"RawIdentifiersOrgRegistry","l":"setPayload(Map>)","u":"setPayload(java.util.Map)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"setPrefix(String)","u":"setPrefix(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"setPrefix(String)","u":"setPrefix(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"setProviderCode(String)","u":"setProviderCode(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"setReactions(List)","u":"setReactions(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"setResourceHomeUrl(String)","u":"setResourceHomeUrl(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"setResources(List)","u":"setResources(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Institution","l":"setRorId(String)","u":"setRorId(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Namespace","l":"setSampleId(String)","u":"setSampleId(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"setSampleId(String)","u":"setSampleId(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","c":"BiGGReactionsAnnotator","l":"setSBOTerm(Reaction, BiGGId)","u":"setSBOTerm(org.sbml.jsbml.Reaction,de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"setSubsystem(String)","u":"setSubsystem(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"Node","l":"setTerm(Term)","u":"setTerm(org.biojava.nbio.ontology.Term)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"setTissueCode(String)","u":"setTissueCode(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Reaction","l":"setUpperBound(double)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","c":"Resource","l":"setUrlPattern(String)","u":"setUrlPattern(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","c":"Root","l":"setVersion(int)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDB","l":"singleParamStatement(String, String)","u":"singleParamStatement(java.lang.String,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.util","c":"ReactionNamePatterns","l":"SINK_REACTION"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"SpeciesFixer","l":"SpeciesFixer(List)","u":"%3Cinit%3E(java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"SpeciesParser","l":"SpeciesParser(Model, int, Registry)","u":"%3Cinit%3E(org.sbml.jsbml.Model,int,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"SpeciesPolisher","l":"SpeciesPolisher(PolishingParameters, Registry)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"SpeciesPolisher","l":"SpeciesPolisher(PolishingParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"SpeciesReferenceFixer","l":"SpeciesReferenceFixer()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"SpeciesReferencesPolisher","l":"SpeciesReferencesPolisher(Integer)","u":"%3Cinit%3E(java.lang.Integer)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ReportType","l":"STATUS"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","c":"AbstractAnnotator","l":"statusReport(String, Object)","u":"statusReport(java.lang.String,java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","c":"AbstractFixer","l":"statusReport(String, Object)","u":"statusReport(java.lang.String,java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"AbstractPolisher","l":"statusReport(String, Object)","u":"statusReport(java.lang.String,java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"IReportStatus","l":"statusReport(String, Object)","u":"statusReport(java.lang.String,java.lang.Object)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"StrictnessPredicate","l":"strictnessOfSpeciesReferences(ListOf)","u":"strictnessOfSpeciesReferences(org.sbml.jsbml.ListOf)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"StrictnessPredicate","l":"StrictnessPredicate()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.util.ext.fbc","c":"GPRParser","l":"stringify(Association)","u":"stringify(org.sbml.jsbml.ext.fbc.Association)"},{"p":"de.uni_halle.informatik.biodata.mp.util.ext.groups","c":"GroupsUtils","l":"SUBSYSTEM_LINK"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"subSystems"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","c":"AnnotateDBContract.Constants.Table","l":"Table()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDBContract.Constants.Table","l":"Table()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","c":"StrictnessPredicate","l":"test(Model)","u":"test(org.sbml.jsbml.Model)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ProgressUpdate","l":"text()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"toBiGGId()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"toBiGGId(String, String, String, String)","u":"toBiGGId(java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGId","l":"toString()"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"Publication","l":"toString()"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"DAG","l":"toString()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"ADBAnnotationParameters","l":"toString()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"AnnotationParameters","l":"toString()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"BiGGAnnotationParameters","l":"toString()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"DBParameters","l":"toString()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"FixingParameters","l":"toString()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"Parameters","l":"toString()"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"SBOParameters","l":"toString()"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"AbstractPolisher","l":"toString()"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"ModelPolisher","l":"toString()"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ProgressFinalization","l":"toString()"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ProgressInitialization","l":"toString()"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ProgressUpdate","l":"toString()"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrgURI","l":"toString()"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ProgressInitialization","l":"totalCalls()"},{"p":"de.uni_halle.informatik.biodata.mp.eco","c":"DAG","l":"traverse(Node, int, StringBuilder)","u":"traverse(de.uni_halle.informatik.biodata.mp.eco.Node,int,java.lang.StringBuilder)"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDBContract.Constants","l":"TYPE_GENE_PRODUCT"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDBContract.Constants","l":"TYPE_REACTION"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDBContract.Constants","l":"TYPE_SPECIES"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"ub"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"UnitPolisher","l":"UnitPolisher(PolishingParameters, Registry)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry)"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","c":"UnitPolisher","l":"UnitPolisher(PolishingParameters, Registry, List)","u":"%3Cinit%3E(de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters,de.uni_halle.informatik.biodata.mp.resolver.Registry,java.util.List)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"SBMLFileUtils.FileType","l":"UNKNOWN"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc","c":"BiGGGeneProductReferencesAnnotator","l":"update(GeneProduct)","u":"update(org.sbml.jsbml.ext.fbc.GeneProduct)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"PolisherProgressBar","l":"update(ProgressUpdate)","u":"update(de.uni_halle.informatik.biodata.mp.reporting.ProgressUpdate)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ProgressObserver","l":"update(ProgressUpdate)","u":"update(de.uni_halle.informatik.biodata.mp.reporting.ProgressUpdate)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"UpdateListener","l":"UpdateListener()","u":"%3Cinit%3E()"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","c":"AnnotateDBOptions","l":"USER"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","c":"BiGGDBOptions","l":"USER"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","c":"DBParameters","l":"user()"},{"p":"de.uni_halle.informatik.biodata.mp.validation","c":"ModelValidator","l":"validate(File)","u":"validate(java.io.File)"},{"p":"de.uni_halle.informatik.biodata.mp.validation","c":"ModelValidator","l":"validate(SBMLDocument)","u":"validate(org.sbml.jsbml.SBMLDocument)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","c":"IdentifiersOrg","l":"validRegistryUrlPrefix(RegistryURI)","u":"validRegistryUrlPrefix(de.uni_halle.informatik.biodata.mp.resolver.RegistryURI)"},{"p":"de.uni_halle.informatik.biodata.mp.resolver","c":"Registry","l":"validRegistryUrlPrefix(RegistryURI)","u":"validRegistryUrlPrefix(de.uni_halle.informatik.biodata.mp.resolver.RegistryURI)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"IOOptions.OutputType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"SBMLFileUtils.FileType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ReportType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.util","c":"ReactionNamePatterns","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"IOOptions.OutputType","l":"values()"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","c":"ModelField","l":"values()"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"SBMLFileUtils.FileType","l":"values()"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","c":"ReportType","l":"values()"},{"p":"de.uni_halle.informatik.biodata.mp.util","c":"ReactionNamePatterns","l":"values()"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"CombineArchive","l":"write()"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"IWriteModels","l":"write(SBMLDocument)","u":"write(org.sbml.jsbml.SBMLDocument)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"ModelWriter","l":"write(SBMLDocument)","u":"write(org.sbml.jsbml.SBMLDocument)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"IWriteModelsToFile","l":"write(SBMLDocument, File)","u":"write(org.sbml.jsbml.SBMLDocument,java.io.File)"},{"p":"de.uni_halle.informatik.biodata.mp.io","c":"ModelWriter","l":"write(SBMLDocument, File)","u":"write(org.sbml.jsbml.SBMLDocument,java.io.File)"}];updateSearchResults(); \ No newline at end of file diff --git a/docs/module-search-index.js b/docs/module-search-index.js new file mode 100644 index 00000000..0d59754f --- /dev/null +++ b/docs/module-search-index.js @@ -0,0 +1 @@ +moduleSearchIndex = [];updateSearchResults(); \ No newline at end of file diff --git a/docs/overview-summary.html b/docs/overview-summary.html new file mode 100644 index 00000000..9b42b61a --- /dev/null +++ b/docs/overview-summary.html @@ -0,0 +1,25 @@ + + + + +lib 2.1 API + + + + + + + + + + +
+ +

index.html

+
+ + diff --git a/docs/overview-tree.html b/docs/overview-tree.html new file mode 100644 index 00000000..ea0f368f --- /dev/null +++ b/docs/overview-tree.html @@ -0,0 +1,303 @@ + + + + +Class Hierarchy (lib 2.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+
+ + diff --git a/docs/package-search-index.js b/docs/package-search-index.js new file mode 100644 index 00000000..b673ce6f --- /dev/null +++ b/docs/package-search-index.js @@ -0,0 +1 @@ +packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"de.uni_halle.informatik.biodata.mp.annotation"},{"l":"de.uni_halle.informatik.biodata.mp.annotation.adb"},{"l":"de.uni_halle.informatik.biodata.mp.annotation.bigg"},{"l":"de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc"},{"l":"de.uni_halle.informatik.biodata.mp.db"},{"l":"de.uni_halle.informatik.biodata.mp.db.adb"},{"l":"de.uni_halle.informatik.biodata.mp.db.bigg"},{"l":"de.uni_halle.informatik.biodata.mp.eco"},{"l":"de.uni_halle.informatik.biodata.mp.fixing"},{"l":"de.uni_halle.informatik.biodata.mp.fixing.ext.fbc"},{"l":"de.uni_halle.informatik.biodata.mp.fixing.ext.groups"},{"l":"de.uni_halle.informatik.biodata.mp.io"},{"l":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra"},{"l":"de.uni_halle.informatik.biodata.mp.io.parsers.json"},{"l":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping"},{"l":"de.uni_halle.informatik.biodata.mp.logging"},{"l":"de.uni_halle.informatik.biodata.mp.parameters"},{"l":"de.uni_halle.informatik.biodata.mp.polishing"},{"l":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc"},{"l":"de.uni_halle.informatik.biodata.mp.reporting"},{"l":"de.uni_halle.informatik.biodata.mp.resolver"},{"l":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg"},{"l":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping"},{"l":"de.uni_halle.informatik.biodata.mp.util"},{"l":"de.uni_halle.informatik.biodata.mp.util.ext.fbc"},{"l":"de.uni_halle.informatik.biodata.mp.util.ext.groups"},{"l":"de.uni_halle.informatik.biodata.mp.validation"}];updateSearchResults(); \ No newline at end of file diff --git a/docs/resources/glass.png b/docs/resources/glass.png new file mode 100644 index 00000000..a7f591f4 Binary files /dev/null and b/docs/resources/glass.png differ diff --git a/docs/resources/x.png b/docs/resources/x.png new file mode 100644 index 00000000..30548a75 Binary files /dev/null and b/docs/resources/x.png differ diff --git a/docs/script-dir/jquery-3.6.1.min.js b/docs/script-dir/jquery-3.6.1.min.js new file mode 100644 index 00000000..2c69bc90 --- /dev/null +++ b/docs/script-dir/jquery-3.6.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",v.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=x.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthC(E(s),E(n))?o.important="horizontal":o.important="vertical",c.using.call(this,t,o)}),l.offset(x.extend(u,{using:t}))})},x.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,l=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(t){var e=x(t.target),i=x(x.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&e.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),e.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&i.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(t){this._delay(function(){x.contains(this.element[0],x.ui.safeActiveElement(this.document[0]))||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(t){var e,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},e=x(t.target).closest(".ui-menu-item"),i=x(t.currentTarget),e[0]===i[0]&&(i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))))},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each(function(){var t=x(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var e,i,s,n=!0;switch(t.keyCode){case x.ui.keyCode.PAGE_UP:this.previousPage(t);break;case x.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case x.ui.keyCode.HOME:this._move("first","first",t);break;case x.ui.keyCode.END:this._move("last","last",t);break;case x.ui.keyCode.UP:this.previous(t);break;case x.ui.keyCode.DOWN:this.next(t);break;case x.ui.keyCode.LEFT:this.collapse(t);break;case x.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case x.ui.keyCode.ENTER:case x.ui.keyCode.SPACE:this._activate(t);break;case x.ui.keyCode.ESCAPE:this.collapse(t);break;default:e=this.previousFilter||"",s=n=!1,i=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===e?s=!0:i=e+i,e=this._filterMenuItems(i),(e=s&&-1!==e.index(this.active.next())?this.active.nextAll(".ui-menu-item"):e).length||(i=String.fromCharCode(t.keyCode),e=this._filterMenuItems(i)),e.length?(this.focus(t,e),this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}n&&t.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var t,e,s=this,n=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),e=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=x(this),e=t.prev(),i=x("").data("ui-menu-submenu-caret",!0);s._addClass(i,"ui-menu-icon","ui-icon "+n),e.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",e.attr("id"))}),this._addClass(e,"ui-menu","ui-widget ui-widget-content ui-front"),(t=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var t=x(this);s._isDivider(t)&&s._addClass(t,"ui-menu-divider","ui-widget-content")}),i=(e=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(e,"ui-menu-item")._addClass(i,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!x.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(t){var e,i,s;this._hasScroll()&&(i=parseFloat(x.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(x.css(this.activeMenu[0],"paddingTop"))||0,e=t.offset().top-this.activeMenu.offset().top-i-s,i=this.activeMenu.scrollTop(),s=this.activeMenu.height(),t=t.outerHeight(),e<0?this.activeMenu.scrollTop(i+e):s",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var i,s,n,t=this.element[0].nodeName.toLowerCase(),e="textarea"===t,t="input"===t;this.isMultiLine=e||!t&&this._isContentEditable(this.element),this.valueMethod=this.element[e||t?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(t){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:i=!0,this._move("previousPage",t);break;case e.PAGE_DOWN:i=!0,this._move("nextPage",t);break;case e.UP:i=!0,this._keyEvent("previous",t);break;case e.DOWN:i=!0,this._keyEvent("next",t);break;case e.ENTER:this.menu.active&&(i=!0,t.preventDefault(),this.menu.select(t));break;case e.TAB:this.menu.active&&this.menu.select(t);break;case e.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(t),t.preventDefault());break;default:s=!0,this._searchTimeout(t)}}},keypress:function(t){if(i)return i=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||t.preventDefault());if(!s){var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:this._move("previousPage",t);break;case e.PAGE_DOWN:this._move("nextPage",t);break;case e.UP:this._keyEvent("previous",t);break;case e.DOWN:this._keyEvent("next",t)}}},input:function(t){if(n)return n=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=x("
    ").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault()},menufocus:function(t,e){var i,s;if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){x(t.target).trigger(t.originalEvent)});s=e.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:s})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value),(i=e.item.attr("aria-label")||s.value)&&String.prototype.trim.call(i).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(x("
    ").text(i))},100))},menuselect:function(t,e){var i=e.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==x.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",t,{item:i})&&this._value(i.value),this.term=this._value(),this.close(t),this.selectedItem=i}}),this.liveRegion=x("
    ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(t){var e=this.menu.element[0];return t.target===this.element[0]||t.target===e||x.contains(e,t.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var t=this.options.appendTo;return t=!(t=!(t=t&&(t.jquery||t.nodeType?x(t):this.document.find(t).eq(0)))||!t[0]?this.element.closest(".ui-front, dialog"):t).length?this.document[0].body:t},_initSource:function(){var i,s,n=this;Array.isArray(this.options.source)?(i=this.options.source,this.source=function(t,e){e(x.ui.autocomplete.filter(i,t.term))}):"string"==typeof this.options.source?(s=this.options.source,this.source=function(t,e){n.xhr&&n.xhr.abort(),n.xhr=x.ajax({url:s,data:t,dataType:"json",success:function(t){e(t)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(s){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),e=this.menu.element.is(":visible"),i=s.altKey||s.ctrlKey||s.metaKey||s.shiftKey;t&&(e||i)||(this.selectedItem=null,this.search(null,s))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(x("
    ").text(e.label)).appendTo(t)},_move:function(t,e){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[t](e);this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),x.extend(x.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,e){var i=new RegExp(x.ui.autocomplete.escapeRegex(e),"i");return x.grep(t,function(t){return i.test(t.label||t.value||t)})}}),x.widget("ui.autocomplete",x.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(1").text(e))},100))}});x.ui.autocomplete}); \ No newline at end of file diff --git a/docs/script.js b/docs/script.js new file mode 100644 index 00000000..73cd8faa --- /dev/null +++ b/docs/script.js @@ -0,0 +1,132 @@ +/* + * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var moduleSearchIndex; +var packageSearchIndex; +var typeSearchIndex; +var memberSearchIndex; +var tagSearchIndex; +function loadScripts(doc, tag) { + createElem(doc, tag, 'search.js'); + + createElem(doc, tag, 'module-search-index.js'); + createElem(doc, tag, 'package-search-index.js'); + createElem(doc, tag, 'type-search-index.js'); + createElem(doc, tag, 'member-search-index.js'); + createElem(doc, tag, 'tag-search-index.js'); +} + +function createElem(doc, tag, path) { + var script = doc.createElement(tag); + var scriptElement = doc.getElementsByTagName(tag)[0]; + script.src = pathtoroot + path; + scriptElement.parentNode.insertBefore(script, scriptElement); +} + +function show(tableId, selected, columns) { + if (tableId !== selected) { + document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')') + .forEach(function(elem) { + elem.style.display = 'none'; + }); + } + document.querySelectorAll('div.' + selected) + .forEach(function(elem, index) { + elem.style.display = ''; + var isEvenRow = index % (columns * 2) < columns; + elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor); + elem.classList.add(isEvenRow ? evenRowColor : oddRowColor); + }); + updateTabs(tableId, selected); +} + +function updateTabs(tableId, selected) { + document.getElementById(tableId + '.tabpanel') + .setAttribute('aria-labelledby', selected); + document.querySelectorAll('button[id^="' + tableId + '"]') + .forEach(function(tab, index) { + if (selected === tab.id || (tableId === selected && index === 0)) { + tab.className = activeTableTab; + tab.setAttribute('aria-selected', true); + tab.setAttribute('tabindex',0); + } else { + tab.className = tableTab; + tab.setAttribute('aria-selected', false); + tab.setAttribute('tabindex',-1); + } + }); +} + +function switchTab(e) { + var selected = document.querySelector('[aria-selected=true]'); + if (selected) { + if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) { + // left or up arrow key pressed: move focus to previous tab + selected.previousSibling.click(); + selected.previousSibling.focus(); + e.preventDefault(); + } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) { + // right or down arrow key pressed: move focus to next tab + selected.nextSibling.click(); + selected.nextSibling.focus(); + e.preventDefault(); + } + } +} + +var updateSearchResults = function() {}; + +function indexFilesLoaded() { + return moduleSearchIndex + && packageSearchIndex + && typeSearchIndex + && memberSearchIndex + && tagSearchIndex; +} + +// Workaround for scroll position not being included in browser history (8249133) +document.addEventListener("DOMContentLoaded", function(e) { + var contentDiv = document.querySelector("div.flex-content"); + window.addEventListener("popstate", function(e) { + if (e.state !== null) { + contentDiv.scrollTop = e.state; + } + }); + window.addEventListener("hashchange", function(e) { + history.replaceState(contentDiv.scrollTop, document.title); + }); + contentDiv.addEventListener("scroll", function(e) { + var timeoutID; + if (!timeoutID) { + timeoutID = setTimeout(function() { + history.replaceState(contentDiv.scrollTop, document.title); + timeoutID = null; + }, 100); + } + }); + if (!location.hash) { + history.replaceState(contentDiv.scrollTop, document.title); + } +}); diff --git a/docs/search.js b/docs/search.js new file mode 100644 index 00000000..db3b2f4a --- /dev/null +++ b/docs/search.js @@ -0,0 +1,354 @@ +/* + * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var noResult = {l: "No results found"}; +var loading = {l: "Loading search index..."}; +var catModules = "Modules"; +var catPackages = "Packages"; +var catTypes = "Classes and Interfaces"; +var catMembers = "Members"; +var catSearchTags = "Search Tags"; +var highlight = "$&"; +var searchPattern = ""; +var fallbackPattern = ""; +var RANKING_THRESHOLD = 2; +var NO_MATCH = 0xffff; +var MIN_RESULTS = 3; +var MAX_RESULTS = 500; +var UNNAMED = ""; +function escapeHtml(str) { + return str.replace(//g, ">"); +} +function getHighlightedText(item, matcher, fallbackMatcher) { + var escapedItem = escapeHtml(item); + var highlighted = escapedItem.replace(matcher, highlight); + if (highlighted === escapedItem) { + highlighted = escapedItem.replace(fallbackMatcher, highlight) + } + return highlighted; +} +function getURLPrefix(ui) { + var urlPrefix=""; + var slash = "/"; + if (ui.item.category === catModules) { + return ui.item.l + slash; + } else if (ui.item.category === catPackages && ui.item.m) { + return ui.item.m + slash; + } else if (ui.item.category === catTypes || ui.item.category === catMembers) { + if (ui.item.m) { + urlPrefix = ui.item.m + slash; + } else { + $.each(packageSearchIndex, function(index, item) { + if (item.m && ui.item.p === item.l) { + urlPrefix = item.m + slash; + } + }); + } + } + return urlPrefix; +} +function createSearchPattern(term) { + var pattern = ""; + var isWordToken = false; + term.replace(/,\s*/g, ", ").trim().split(/\s+/).forEach(function(w, index) { + if (index > 0) { + // whitespace between identifiers is significant + pattern += (isWordToken && /^\w/.test(w)) ? "\\s+" : "\\s*"; + } + var tokens = w.split(/(?=[A-Z,.()<>[\/])/); + for (var i = 0; i < tokens.length; i++) { + var s = tokens[i]; + if (s === "") { + continue; + } + pattern += $.ui.autocomplete.escapeRegex(s); + isWordToken = /\w$/.test(s); + if (isWordToken) { + pattern += "([a-z0-9_$<>\\[\\]]*?)"; + } + } + }); + return pattern; +} +function createMatcher(pattern, flags) { + var isCamelCase = /[A-Z]/.test(pattern); + return new RegExp(pattern, flags + (isCamelCase ? "" : "i")); +} +var watermark = 'Search'; +$(function() { + var search = $("#search-input"); + var reset = $("#reset-button"); + search.val(''); + search.prop("disabled", false); + reset.prop("disabled", false); + search.val(watermark).addClass('watermark'); + search.blur(function() { + if ($(this).val().length === 0) { + $(this).val(watermark).addClass('watermark'); + } + }); + search.on('click keydown paste', function() { + if ($(this).val() === watermark) { + $(this).val('').removeClass('watermark'); + } + }); + reset.click(function() { + search.val('').focus(); + }); + search.focus()[0].setSelectionRange(0, 0); +}); +$.widget("custom.catcomplete", $.ui.autocomplete, { + _create: function() { + this._super(); + this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)"); + }, + _renderMenu: function(ul, items) { + var rMenu = this; + var currentCategory = ""; + rMenu.menu.bindings = $(); + $.each(items, function(index, item) { + var li; + if (item.category && item.category !== currentCategory) { + ul.append("
  • " + item.category + "
  • "); + currentCategory = item.category; + } + li = rMenu._renderItemData(ul, item); + if (item.category) { + li.attr("aria-label", item.category + " : " + item.l); + li.attr("class", "result-item"); + } else { + li.attr("aria-label", item.l); + li.attr("class", "result-item"); + } + }); + }, + _renderItem: function(ul, item) { + var label = ""; + var matcher = createMatcher(escapeHtml(searchPattern), "g"); + var fallbackMatcher = new RegExp(fallbackPattern, "gi") + if (item.category === catModules) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catPackages) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catTypes) { + label = (item.p && item.p !== UNNAMED) + ? getHighlightedText(item.p + "." + item.l, matcher, fallbackMatcher) + : getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catMembers) { + label = (item.p && item.p !== UNNAMED) + ? getHighlightedText(item.p + "." + item.c + "." + item.l, matcher, fallbackMatcher) + : getHighlightedText(item.c + "." + item.l, matcher, fallbackMatcher); + } else if (item.category === catSearchTags) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else { + label = item.l; + } + var li = $("
  • ").appendTo(ul); + var div = $("
    ").appendTo(li); + if (item.category === catSearchTags && item.h) { + if (item.d) { + div.html(label + " (" + item.h + ")
    " + + item.d + "
    "); + } else { + div.html(label + " (" + item.h + ")"); + } + } else { + if (item.m) { + div.html(item.m + "/" + label); + } else { + div.html(label); + } + } + return li; + } +}); +function rankMatch(match, category) { + if (!match) { + return NO_MATCH; + } + var index = match.index; + var input = match.input; + var leftBoundaryMatch = 2; + var periferalMatch = 0; + // make sure match is anchored on a left word boundary + if (index === 0 || /\W/.test(input[index - 1]) || "_" === input[index]) { + leftBoundaryMatch = 0; + } else if ("_" === input[index - 1] || (input[index] === input[index].toUpperCase() && !/^[A-Z0-9_$]+$/.test(input))) { + leftBoundaryMatch = 1; + } + var matchEnd = index + match[0].length; + var leftParen = input.indexOf("("); + var endOfName = leftParen > -1 ? leftParen : input.length; + // exclude peripheral matches + if (category !== catModules && category !== catSearchTags) { + var delim = category === catPackages ? "/" : "."; + if (leftParen > -1 && leftParen < index) { + periferalMatch += 2; + } else if (input.lastIndexOf(delim, endOfName) >= matchEnd) { + periferalMatch += 2; + } + } + var delta = match[0].length === endOfName ? 0 : 1; // rank full match higher than partial match + for (var i = 1; i < match.length; i++) { + // lower ranking if parts of the name are missing + if (match[i]) + delta += match[i].length; + } + if (category === catTypes) { + // lower ranking if a type name contains unmatched camel-case parts + if (/[A-Z]/.test(input.substring(matchEnd))) + delta += 5; + if (/[A-Z]/.test(input.substring(0, index))) + delta += 5; + } + return leftBoundaryMatch + periferalMatch + (delta / 200); + +} +function doSearch(request, response) { + var result = []; + searchPattern = createSearchPattern(request.term); + fallbackPattern = createSearchPattern(request.term.toLowerCase()); + if (searchPattern === "") { + return this.close(); + } + var camelCaseMatcher = createMatcher(searchPattern, ""); + var fallbackMatcher = new RegExp(fallbackPattern, "i"); + + function searchIndexWithMatcher(indexArray, matcher, category, nameFunc) { + if (indexArray) { + var newResults = []; + $.each(indexArray, function (i, item) { + item.category = category; + var ranking = rankMatch(matcher.exec(nameFunc(item)), category); + if (ranking < RANKING_THRESHOLD) { + newResults.push({ranking: ranking, item: item}); + } + return newResults.length <= MAX_RESULTS; + }); + return newResults.sort(function(e1, e2) { + return e1.ranking - e2.ranking; + }).map(function(e) { + return e.item; + }); + } + return []; + } + function searchIndex(indexArray, category, nameFunc) { + var primaryResults = searchIndexWithMatcher(indexArray, camelCaseMatcher, category, nameFunc); + result = result.concat(primaryResults); + if (primaryResults.length <= MIN_RESULTS && !camelCaseMatcher.ignoreCase) { + var secondaryResults = searchIndexWithMatcher(indexArray, fallbackMatcher, category, nameFunc); + result = result.concat(secondaryResults.filter(function (item) { + return primaryResults.indexOf(item) === -1; + })); + } + } + + searchIndex(moduleSearchIndex, catModules, function(item) { return item.l; }); + searchIndex(packageSearchIndex, catPackages, function(item) { + return (item.m && request.term.indexOf("/") > -1) + ? (item.m + "/" + item.l) : item.l; + }); + searchIndex(typeSearchIndex, catTypes, function(item) { + return request.term.indexOf(".") > -1 ? item.p + "." + item.l : item.l; + }); + searchIndex(memberSearchIndex, catMembers, function(item) { + return request.term.indexOf(".") > -1 + ? item.p + "." + item.c + "." + item.l : item.l; + }); + searchIndex(tagSearchIndex, catSearchTags, function(item) { return item.l; }); + + if (!indexFilesLoaded()) { + updateSearchResults = function() { + doSearch(request, response); + } + result.unshift(loading); + } else { + updateSearchResults = function() {}; + } + response(result); +} +$(function() { + $("#search-input").catcomplete({ + minLength: 1, + delay: 300, + source: doSearch, + response: function(event, ui) { + if (!ui.content.length) { + ui.content.push(noResult); + } else { + $("#search-input").empty(); + } + }, + autoFocus: true, + focus: function(event, ui) { + return false; + }, + position: { + collision: "flip" + }, + select: function(event, ui) { + if (ui.item.category) { + var url = getURLPrefix(ui); + if (ui.item.category === catModules) { + url += "module-summary.html"; + } else if (ui.item.category === catPackages) { + if (ui.item.u) { + url = ui.item.u; + } else { + url += ui.item.l.replace(/\./g, '/') + "/package-summary.html"; + } + } else if (ui.item.category === catTypes) { + if (ui.item.u) { + url = ui.item.u; + } else if (ui.item.p === UNNAMED) { + url += ui.item.l + ".html"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html"; + } + } else if (ui.item.category === catMembers) { + if (ui.item.p === UNNAMED) { + url += ui.item.c + ".html" + "#"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#"; + } + if (ui.item.u) { + url += ui.item.u; + } else { + url += ui.item.l; + } + } else if (ui.item.category === catSearchTags) { + url += ui.item.u; + } + if (top !== window) { + parent.classFrame.location = pathtoroot + url; + } else { + window.location.href = pathtoroot + url; + } + $("#search-input").focus(); + } + } + }); +}); diff --git a/docs/serialized-form.html b/docs/serialized-form.html new file mode 100644 index 00000000..ae4258c5 --- /dev/null +++ b/docs/serialized-form.html @@ -0,0 +1,189 @@ + + + + +Serialized Form (lib 2.1 API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Serialized Form

    +
    + +
    +
    +
    + + diff --git a/docs/stylesheet.css b/docs/stylesheet.css new file mode 100644 index 00000000..4a576bd2 --- /dev/null +++ b/docs/stylesheet.css @@ -0,0 +1,869 @@ +/* + * Javadoc style sheet + */ + +@import url('resources/fonts/dejavu.css'); + +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; + padding:0; + height:100%; + width:100%; +} +iframe { + margin:0; + padding:0; + height:100%; + width:100%; + overflow-y:scroll; + border:none; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a[href]:hover, a[href]:focus { + text-decoration:none; + color:#bb7a2a; +} +a[name] { + color:#353833; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; +} +h4 { + font-size:15px; +} +h5 { + font-size:14px; +} +h6 { + font-size:13px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; +} +:not(h1, h2, h3, h4, h5, h6) > code, +:not(h1, h2, h3, h4, h5, h6) > tt { + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +.summary-table dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} +button { + font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size: 14px; +} +/* + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + +/* + * Styles for document title and copyright. + */ +.clear { + clear:both; + height:0; + overflow:hidden; +} +.about-language { + float:right; + padding:0 21px 8px 8px; + font-size:11px; + margin-top:-9px; + height:2.9em; +} +.legal-copy { + margin-left:.5em; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* + * Styles for navigation bar. + */ +@media screen { + .flex-box { + position:fixed; + display:flex; + flex-direction:column; + height: 100%; + width: 100%; + } + .flex-header { + flex: 0 0 auto; + } + .flex-content { + flex: 1 1 auto; + overflow-y: auto; + } +} +.top-nav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + min-height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.sub-nav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.sub-nav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list { + padding-top:5px; +} +ul.nav-list { + display:block; + margin:0 25px 0 0; + padding:0; +} +ul.sub-nav-list { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.nav-list li { + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list-search { + float:right; + margin:0 0 0 0; + padding:5px 6px; + clear:none; +} +.nav-list-search label { + position:relative; + right:-16px; +} +ul.sub-nav-list li { + list-style:none; + float:left; + padding-top:10px; +} +.top-nav a:link, .top-nav a:active, .top-nav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.top-nav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.nav-bar-cell1-rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skip-nav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* + * Hide navigation links and search box in print layout + */ +@media print { + ul.nav-list, div.sub-nav { + display:none; + } +} +/* + * Styles for page header and footer. + */ +.title { + color:#2c4557; + margin:10px 0; +} +.sub-title { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* + * Styles for headings. + */ +body.class-declaration-page .summary h2, +body.class-declaration-page .details h2, +body.class-use-page h2, +body.module-declaration-page .block-list h2 { + font-style: italic; + padding:0; + margin:15px 0; +} +body.class-declaration-page .summary h3, +body.class-declaration-page .details h3, +body.class-declaration-page .summary .inherited-list h2 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +/* + * Styles for page layout containers. + */ +main { + clear:both; + padding:10px 20px; + position:relative; +} +dl.notes > dt { + font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +dl.notes > dd { + margin:5px 10px 10px 0; + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +dl.name-value > dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +dl.name-value > dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* + * Styles for lists. + */ +li.circle { + list-style:circle; +} +ul.horizontal li { + display:inline; + font-size:0.9em; +} +div.inheritance { + margin:0; + padding:0; +} +div.inheritance div.inheritance { + margin-left:2em; +} +ul.block-list, +ul.details-list, +ul.member-list, +ul.summary-list { + margin:10px 0 10px 0; + padding:0; +} +ul.block-list > li, +ul.details-list > li, +ul.member-list > li, +ul.summary-list > li { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +.summary-table dl, .summary-table dl dt, .summary-table dl dd { + margin-top:0; + margin-bottom:1px; +} +ul.see-list, ul.see-list-long { + padding-left: 0; + list-style: none; +} +ul.see-list li { + display: inline; +} +ul.see-list li:not(:last-child):after, +ul.see-list-long li:not(:last-child):after { + content: ", "; + white-space: pre-wrap; +} +/* + * Styles for tables. + */ +.summary-table, .details-table { + width:100%; + border-spacing:0; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; + padding:0; +} +.caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0; + padding-top:10px; + padding-left:1px; + margin:0; + white-space:pre; +} +.caption a:link, .caption a:visited { + color:#1f389c; +} +.caption a:hover, +.caption a:active { + color:#FFFFFF; +} +.caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +div.table-tabs { + padding:10px 0 0 1px; + margin:0; +} +div.table-tabs > button { + border: none; + cursor: pointer; + padding: 5px 12px 7px 12px; + font-weight: bold; + margin-right: 3px; +} +div.table-tabs > button.active-table-tab { + background: #F8981D; + color: #253441; +} +div.table-tabs > button.table-tab { + background: #4D7A97; + color: #FFFFFF; +} +.two-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); +} +.three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto); +} +.four-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto); +} +@media screen and (max-width: 600px) { + .two-column-summary { + display: grid; + grid-template-columns: 1fr; + } +} +@media screen and (max-width: 800px) { + .three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(25%, auto); + } + .three-column-summary .col-last { + grid-column-end: span 2; + } +} +@media screen and (max-width: 1000px) { + .four-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); + } +} +.summary-table > div, .details-table > div { + text-align:left; + padding: 8px 3px 3px 7px; +} +.col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name { + vertical-align:top; + padding-right:0; + padding-top:8px; + padding-bottom:3px; +} +.table-header { + background:#dee3e9; + font-weight: bold; +} +.col-first, .col-first { + font-size:13px; +} +.col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last { + font-size:13px; +} +.col-first, .col-second, .col-constructor-name { + vertical-align:top; + overflow: auto; +} +.col-last { + white-space:normal; +} +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-constructor-name a:link, .col-constructor-name a:visited, +.col-summary-item-name a:link, .col-summary-item-name a:visited, +.constant-values-container a:link, .constant-values-container a:visited, +.all-classes-container a:link, .all-classes-container a:visited, +.all-packages-container a:link, .all-packages-container a:visited { + font-weight:bold; +} +.table-sub-heading-color { + background-color:#EEEEFF; +} +.even-row-color, .even-row-color .table-header { + background-color:#FFFFFF; +} +.odd-row-color, .odd-row-color .table-header { + background-color:#EEEEEF; +} +/* + * Styles for contents. + */ +.deprecated-content { + margin:0; + padding:10px 0; +} +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +.col-last div { + padding-top:0; +} +.col-last a { + padding-bottom:3px; +} +.module-signature, +.package-signature, +.type-signature, +.member-signature { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + margin:14px 0; + white-space: pre-wrap; +} +.module-signature, +.package-signature, +.type-signature { + margin-top: 0; +} +.member-signature .type-parameters-long, +.member-signature .parameters, +.member-signature .exceptions { + display: inline-block; + vertical-align: top; + white-space: pre; +} +.member-signature .type-parameters { + white-space: normal; +} +/* + * Styles for formatting effect. + */ +.source-line-no { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:0 10px 5px 0; + color:#474747; +} +.deprecated-label, .descfrm-type-label, .implementation-label, .member-name-label, .member-name-link, +.module-label-in-package, .module-label-in-type, .override-specify-label, .package-label-in-type, +.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label { + font-weight:bold; +} +.deprecation-comment, .help-footnote, .preview-comment { + font-style:italic; +} +.deprecation-block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +.preview-block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +div.block div.deprecation-comment { + font-style:normal; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +/* + * Styles for javadoc search. + */ +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 0 7px 3px; + background-color:#4D7A97; + color:#FFFFFF; +} +.result-item { + font-size:13px; +} +.ui-autocomplete { + max-height:85%; + max-width:65%; + overflow-y:scroll; + overflow-x:scroll; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); +} +ul.ui-autocomplete { + position:fixed; + z-index:999999; + background-color: #FFFFFF; +} +ul.ui-autocomplete li { + float:left; + clear:both; + width:100%; +} +.result-highlight { + font-weight:bold; +} +.ui-autocomplete .result-item { + font-size: inherit; +} +#search-input { + background-image:url('resources/glass.png'); + background-size:13px; + background-repeat:no-repeat; + background-position:2px 3px; + padding-left:20px; + position:relative; + right:-18px; + width:400px; +} +#reset-button { + background-color: rgb(255,255,255); + background-image:url('resources/x.png'); + background-position:center; + background-repeat:no-repeat; + background-size:12px; + border:0 none; + width:16px; + height:16px; + position:relative; + left:-4px; + top:-4px; + font-size:0px; +} +.watermark { + color:#545454; +} +.search-tag-desc-result { + font-style:italic; + font-size:11px; +} +.search-tag-holder-result { + font-style:italic; + font-size:12px; +} +.search-tag-result:target { + background-color:yellow; +} +.module-graph span { + display:none; + position:absolute; +} +.module-graph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 1; +} +.inherited-list { + margin: 10px 0 10px 0; +} +section.class-description { + line-height: 1.4; +} +.summary section[class$="-summary"], .details section[class$="-details"], +.class-uses .detail, .serialized-class-details { + padding: 0px 20px 5px 10px; + border: 1px solid #ededed; + background-color: #f8f8f8; +} +.inherited-list, section[class$="-details"] .detail { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +.vertical-separator { + padding: 0 5px; +} +ul.help-section-list { + margin: 0; +} +ul.help-subtoc > li { + display: inline-block; + padding-right: 5px; + font-size: smaller; +} +ul.help-subtoc > li::before { + content: "\2022" ; + padding-right:2px; +} +span.help-note { + font-style: italic; +} +/* + * Indicator icon for external links. + */ +main a[href*="://"]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + background-size:100% 100%; + width:7px; + height:7px; + margin-left:2px; + margin-bottom:4px; +} +main a[href*="://"]:hover::after, +main a[href*="://"]:focus::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} + +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ + +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid black; +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid black; +} +table.striped { + border-collapse: collapse; + border: 1px solid black; +} +table.striped > thead { + background-color: #E3E3E3; +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid black; +} +table.striped > tbody > tr:nth-child(even) { + background-color: #EEE +} +table.striped > tbody > tr:nth-child(odd) { + background-color: #FFF +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid black; + border-right: 1px solid black; +} +table.striped > tbody > tr > th { + font-weight: normal; +} +/** + * Tweak font sizes and paddings for small screens. + */ +@media screen and (max-width: 1050px) { + #search-input { + width: 300px; + } +} +@media screen and (max-width: 800px) { + #search-input { + width: 200px; + } + .top-nav, + .bottom-nav { + font-size: 11px; + padding-top: 6px; + } + .sub-nav { + font-size: 11px; + } + .about-language { + padding-right: 16px; + } + ul.nav-list li, + .sub-nav .nav-list-search { + padding: 6px; + } + ul.sub-nav-list li { + padding-top: 5px; + } + main { + padding: 10px; + } + .summary section[class$="-summary"], .details section[class$="-details"], + .class-uses .detail, .serialized-class-details { + padding: 0 8px 5px 8px; + } + body { + -webkit-text-size-adjust: none; + } +} +@media screen and (max-width: 500px) { + #search-input { + width: 150px; + } + .top-nav, + .bottom-nav { + font-size: 10px; + } + .sub-nav { + font-size: 10px; + } + .about-language { + font-size: 10px; + padding-right: 12px; + } +} diff --git a/docs/tag-search-index.js b/docs/tag-search-index.js new file mode 100644 index 00000000..bf10aaf6 --- /dev/null +++ b/docs/tag-search-index.js @@ -0,0 +1 @@ +tagSearchIndex = [{"l":"Constant Field Values","h":"","u":"constant-values.html"},{"l":"Serialized Form","h":"","u":"serialized-form.html"}];updateSearchResults(); \ No newline at end of file diff --git a/docs/type-search-index.js b/docs/type-search-index.js new file mode 100644 index 00000000..0eac9f23 --- /dev/null +++ b/docs/type-search-index.js @@ -0,0 +1 @@ +typeSearchIndex = [{"p":"de.uni_halle.informatik.biodata.mp.annotation.adb","l":"AbstractADBAnnotator"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","l":"AbstractAnnotator"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","l":"AbstractBiGGAnnotator"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","l":"AbstractFixer"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","l":"AbstractPolisher"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","l":"ADBAnnotationParameters"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.adb","l":"ADBReactionsAnnotator"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.adb","l":"ADBSBMLAnnotator"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.adb","l":"ADBSpeciesAnnotator"},{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","l":"AnnotateDB"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","l":"AnnotateDBContract"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","l":"AnnotateDBOptions"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","l":"AnnotationException"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","l":"AnnotationOptions"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","l":"AnnotationParameters"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","l":"AnnotationPolisher"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","l":"AnnotationsSorter"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","l":"BiGGAnnotationException"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","l":"BiGGAnnotationParameters"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","l":"BiGGCompartmentsAnnotator"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","l":"BiGGCVTermAnnotator"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","l":"BiGGDB"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","l":"BiGGDBContract"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","l":"BiGGDBOptions"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","l":"BiGGDocumentNotesProcessor"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc","l":"BiGGFBCAnnotator"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc","l":"BiGGFBCSpeciesAnnotator"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc","l":"BiGGGeneProductAnnotator"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc","l":"BiGGGeneProductReferencesAnnotator"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","l":"BiGGId"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","l":"BiGGModelAnnotator"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","l":"BiGGNotesParameters"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","l":"BiGGPublicationsAnnotator"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","l":"BiGGReactionsAnnotator"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","l":"BiGGSBMLAnnotator"},{"p":"de.uni_halle.informatik.biodata.mp.annotation.bigg","l":"BiGGSpeciesAnnotator"},{"p":"de.uni_halle.informatik.biodata.mp.logging","l":"BundleNames"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","l":"COBRAUtils"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","l":"AnnotateDBContract.Constants.Column"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","l":"BiGGDBContract.Constants.Column"},{"p":"de.uni_halle.informatik.biodata.mp.io","l":"CombineArchive"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","l":"CompartmentFixer"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","l":"CompartmentPolisher"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","l":"Compartments"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","l":"AnnotateDBContract.Constants"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","l":"BiGGDBContract.Constants"},{"p":"de.uni_halle.informatik.biodata.mp.eco","l":"DAG"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","l":"DBParameters"},{"p":"de.uni_halle.informatik.biodata.mp.io","l":"DeleteOnCloseFileInputStream"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","l":"DiffListener"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","l":"FBCPolisher"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","l":"FBCReactionPolisher"},{"p":"de.uni_halle.informatik.biodata.mp.fixing.ext.fbc","l":"FBCSpeciesFixer"},{"p":"de.uni_halle.informatik.biodata.mp.io","l":"SBMLFileUtils.FileType"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","l":"FixingOptions"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","l":"FixingParameters"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","l":"FluxObjectivesFixingParameters"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","l":"BiGGDB.ForeignReaction"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","l":"Gene"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","l":"GeneParser"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","l":"GeneProductAssociationsProcessor"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","l":"GeneProductsPolisher"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","l":"GeneralOptions"},{"p":"de.uni_halle.informatik.biodata.mp.util.ext.fbc","l":"GPRParser"},{"p":"de.uni_halle.informatik.biodata.mp.fixing.ext.groups","l":"GroupsFixer"},{"p":"de.uni_halle.informatik.biodata.mp.util.ext.groups","l":"GroupsUtils"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","l":"IAnnotateSBases"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","l":"IdentifiersOrg"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","l":"IdentifiersOrgRegistryParser"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","l":"IdentifiersOrgURI"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg","l":"IdentifiersOrgURIUtils"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","l":"IFixSBases"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","l":"IFixSpeciesReferences"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","l":"Institution"},{"p":"de.uni_halle.informatik.biodata.mp.io","l":"IOOptions"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","l":"IPolishAnnotations"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","l":"IPolishSBaseAttributes"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","l":"IPolishSBases"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","l":"IPolishSpeciesReferences"},{"p":"de.uni_halle.informatik.biodata.mp.annotation","l":"IProcessNotes"},{"p":"de.uni_halle.informatik.biodata.mp.io","l":"IReadModelsFromFile"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","l":"IReportDiffs"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","l":"IReportStatus"},{"p":"de.uni_halle.informatik.biodata.mp.io","l":"IWriteModels"},{"p":"de.uni_halle.informatik.biodata.mp.io","l":"IWriteModelsToFile"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json","l":"JSONConverter"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json","l":"JSONParser"},{"p":"de.uni_halle.informatik.biodata.mp.fixing.ext.fbc","l":"ListOfObjectivesFixer"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","l":"Location"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","l":"MatlabParser"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","l":"Metabolite"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","l":"Metabolites"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","l":"ModelField"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","l":"ModelFixer"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","l":"ModelPolisher"},{"p":"de.uni_halle.informatik.biodata.mp.io","l":"ModelReader"},{"p":"de.uni_halle.informatik.biodata.mp.io","l":"ModelReaderException"},{"p":"de.uni_halle.informatik.biodata.mp.validation","l":"ModelValidator"},{"p":"de.uni_halle.informatik.biodata.mp.validation","l":"ModelValidatorException"},{"p":"de.uni_halle.informatik.biodata.mp.io","l":"ModelWriter"},{"p":"de.uni_halle.informatik.biodata.mp.io","l":"ModelWriterException"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","l":"NamePolisher"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","l":"Namespace"},{"p":"de.uni_halle.informatik.biodata.mp.eco","l":"Node"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","l":"ObjectivesPolisher"},{"p":"de.uni_halle.informatik.biodata.mp.io","l":"IOOptions.OutputType"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","l":"Parameters"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","l":"ParametersException"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","l":"ParametersParser"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","l":"ParametersPolisher"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","l":"PolisherFactory"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","l":"PolisherProgressBar"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","l":"PolishingOptions"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","l":"PolishingParameters"},{"p":"de.uni_halle.informatik.biodata.mp.db","l":"PostgresConnectionPool"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","l":"ProgressFinalization"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","l":"ProgressInitialization"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","l":"ProgressObserver"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","l":"ProgressUpdate"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","l":"Publication"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","l":"RawIdentifiersOrgRegistry"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","l":"Reaction"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","l":"ReactionFixer"},{"p":"de.uni_halle.informatik.biodata.mp.util","l":"ReactionNamePatterns"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","l":"ReactionParser"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","l":"ReactionsPolisher"},{"p":"de.uni_halle.informatik.biodata.mp.resolver","l":"Registry"},{"p":"de.uni_halle.informatik.biodata.mp.resolver","l":"RegistryURI"},{"p":"de.uni_halle.informatik.biodata.mp.reporting","l":"ReportType"},{"p":"de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping","l":"Resource"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping","l":"Root"},{"p":"de.uni_halle.informatik.biodata.mp.io","l":"SBMLFileUtils"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","l":"SBMLFixer"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","l":"SBMLPolisher"},{"p":"de.uni_halle.informatik.biodata.mp.parameters","l":"SBOParameters"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","l":"SpeciesFixer"},{"p":"de.uni_halle.informatik.biodata.mp.io.parsers.cobra","l":"SpeciesParser"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","l":"SpeciesPolisher"},{"p":"de.uni_halle.informatik.biodata.mp.fixing","l":"SpeciesReferenceFixer"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","l":"SpeciesReferencesPolisher"},{"p":"de.uni_halle.informatik.biodata.mp.polishing.ext.fbc","l":"StrictnessPredicate"},{"p":"de.uni_halle.informatik.biodata.mp.db.adb","l":"AnnotateDBContract.Constants.Table"},{"p":"de.uni_halle.informatik.biodata.mp.db.bigg","l":"BiGGDBContract.Constants.Table"},{"p":"de.uni_halle.informatik.biodata.mp.polishing","l":"UnitPolisher"},{"p":"de.uni_halle.informatik.biodata.mp.io","l":"UpdateListener"}];updateSearchResults(); \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 00000000..f6e25a95 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,2 @@ +org.gradle.console=verbose +org.gradle.caching=true \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 00000000..de03b8d9 --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,35 @@ +[versions] +jackson = "2.17.1" +slf4j = "2.0.16" +jupiter = "5.10.2" +testContainers = "1.20.1" + +[libraries] +sysbio = { module = "de.zbit.SysBio:SysBio", version = "1390" } +jsbml = { module = "org.sbml.jsbml:jsbml", version = "1.6.1"} +biojavaOntology = { module = "org.biojava:biojava-ontology", version = "7.1.1"} +combineArchive = { module = "de.uni-rostock.sbi:CombineArchive", version = "1.4.1"} +jtidy = { module = "net.sf.jtidy:jtidy", version = "r938" } +matlab = { module = 'us.hebi.matlab.mat:mfl-core', version = '0.5.15' } + +postgres = { module = "org.postgresql:postgresql", version = "42.7.3" } +hikariCP = { module = "com.zaxxer:HikariCP", version = "5.1.0"} +jacksonCore = { module = "com.fasterxml.jackson.core:jackson-core", version.ref = "jackson"} +jacksonDatabinding = { module = "com.fasterxml.jackson.core:jackson-databind", version.ref = "jackson" } +commonsIO = { module = 'commons-io:commons-io', version = '2.16.1' } +commonsLang = { module = 'org.apache.commons:commons-lang3', version = '3.15.0' } + +slf4j = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" } +julToSlf4j = { module = "org.slf4j:jul-to-slf4j", version.ref = "slf4j" } +jclOverSlf4j = { module = "org.slf4j:jcl-over-slf4j", version.ref = "slf4j" } +log4jOverSlf4j = { module = "org.slf4j:log4j-over-slf4j", version.ref = "slf4j" } +osgiOverSlf4j = { module = "org.slf4j:osgi-over-slf4j", version.ref = "slf4j" } +logback = { module = 'ch.qos.logback:logback-classic', version = '1.5.7' } + +jupiter = { module = "org.junit.jupiter:junit-jupiter-api", version.ref = "jupiter" } +jupiterEngine = { module = "org.junit.jupiter:junit-jupiter-engine", version.ref = "jupiter"} +junitPlatformLauncher = { module = 'org.junit.platform:junit-platform-launcher', version = '1.10.2' } + +testContainers = { module = "org.testcontainers:testcontainers", version.ref = "testContainers" } +testContainersJupiter = {module = "org.testcontainers:junit-jupiter", version.ref = "testContainers" } + diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index f3d88b1c..d64cd491 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index dd44a242..9355b415 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ -#Wed Feb 05 04:01:03 CET 2020 -distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 2fe81a7d..1aa94a42 100755 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ -#!/usr/bin/env sh +#!/bin/sh # -# Copyright 2015 the original author or authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,78 +17,111 @@ # ############################################################################## -## -## Gradle start up script for UN*X -## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# ############################################################################## # Attempt to set APP_HOME + # Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum warn () { echo "$*" -} +} >&2 die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -97,87 +130,120 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac fi -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. # For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) fi - i=`expr $i + 1` + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac fi -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index 24467a14..6689b85b 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -14,7 +14,7 @@ @rem limitations under the License. @rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,10 +25,14 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" @@ -37,7 +41,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if %ERRORLEVEL% equ 0 goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -51,7 +55,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -61,38 +65,26 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/lib/build.gradle b/lib/build.gradle new file mode 100644 index 00000000..72bf5462 --- /dev/null +++ b/lib/build.gradle @@ -0,0 +1,173 @@ +import groovy.json.JsonOutput +import groovy.json.JsonSlurper +import org.gradle.api.tasks.testing.logging.TestExceptionFormat + +plugins { + id "java" + id "maven-publish" +} + +group = "de.uni-halle.informatik.biodata" +version = "2.1" + +sourceSets { + main { + java { + srcDirs = ["src/main/java"] + } + resources { + srcDirs = ["src/main/resources"] + } + } + test { + java { + srcDirs = ["src/test/java"] + } + resources { + srcDirs = ["src/test/resources"] + } + } +} + +dependencies { + implementation(libs.sysbio) + implementation(libs.jsbml) { + exclude group: "org.apache.logging.log4j", module: "log4j-core" + exclude group: "org.apache.logging.log4j", module: "log4j-slf4j-impl" + exclude group: "org.apache.commons", module: "logging" + } + implementation(libs.biojavaOntology) { + exclude group: "org.apache.logging.log4j", module: "log4j-core" + exclude group: "org.apache.logging.log4j", module: "log4j-slf4j-impl" + } + implementation(libs.combineArchive) + implementation(libs.matlab) + + // JDBC connection pool + implementation(libs.hikariCP) + // JSON processor + implementation(libs.jacksonCore) + // data binding for Jackson + implementation(libs.jacksonDatabinding) + implementation(libs.commonsLang) + // Java port of HTML Tidy, for cleaning up malformed HTML + implementation(libs.jtidy) + // official JDBC driver for PostgreSQL + implementation(libs.postgres) + + testImplementation(libs.logback) + // Test implementation dependencies + // API for writing tests with JUnit 5 + testImplementation(libs.jupiter) + // runtime engine for executing tests with JUnit 5 + testRuntimeOnly(libs.jupiterEngine) + testRuntimeOnly(libs.junitPlatformLauncher) + + // for integration testing with Docker containers + testImplementation(libs.testContainers) + // integration of Testcontainers with JUnit Jupiter + testImplementation(libs.testContainersJupiter) +} + + +tasks.withType(JavaCompile).configureEach { + options.compilerArgs << '-Xlint:deprecation' +} + +tasks.withType(Jar).configureEach { + dependsOn test + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + destinationDirectory = file("$rootDir/target") + manifest { + attributes( + "Version": project.version, + "Implementation-Title": "ModelPolisher", + "Implementation-Version": project.version, + "Specification-Vendor": "Martin-Luther-Universität Halle-Wittenberg, BioDatA Arbeitsgruppe", + "Specification-Title": "ModelPolisher", + "Implementation-Vendor-Id": "de.uni-halle.informatik.biodata", + "Implementation-Vendor": "Martin-Luther-Universität Halle-Wittenberg, BioDatA Arbeitsgruppe" + ) + } + + into("META-INF/maven/${project.group}/${rootProject.name}") { + from { generatePomFileForModelPolisherLibraryPublication } + rename { it.replace('pom-default.xml', 'pom.xml') } + } + + archiveFileName = "${rootProject.name}-${project.version}.jar" + + from sourceSets.main.output +} + + +publishing { + publications { + modelPolisherLibrary(MavenPublication) { + from components.java + + artifactId = 'ModelPolisher' + } + } + // https://reposilite.com/guide/gradle + repositories { + maven { + name = "reposilite" + url = "https://biodata.informatik.uni-halle.de/maven/releases" + credentials(PasswordCredentials) + authentication { + basic(BasicAuthentication) + } + } + } +} + +tasks.named('test') { + useJUnitPlatform() + environment "TESTCONTAINERS_RYUK_DISABLED", "true" + testLogging { + showStandardStreams = true + events "passed", "skipped", "failed" + exceptionFormat TestExceptionFormat.FULL + showCauses true + showExceptions true + showStackTraces true + } +} + +tasks.javadoc { + classpath = sourceSets.main.runtimeClasspath + source = sourceSets.main.allJava + options.addBooleanOption('Xdoclint:none', true) + file(new File(rootProject.projectDir.toString() + "/docs")).mkdirs() + destinationDir = new File(rootProject.projectDir.toString() + "/docs") +} + +// get latest version of IdentifiersOrg registry +tasks.register('downloadIdentifiersOrg') { + doLast { + def registryUrl = 'https://registry.api.identifiers.org/resolutionApi/getResolverDataset' + def parentDir = file('src/main/resources/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg') + def registryFile = file("${parentDir}/IdentifiersOrg-Registry.json") + + if (!parentDir.exists()) { + parentDir.mkdirs() + } + + def registry = new URL(registryUrl).text + def jsonParser = new JsonSlurper() + def parsedJson = jsonParser.parseText(registry) + def prettyJson = JsonOutput.prettyPrint(JsonOutput.toJson(parsedJson)) + registryFile.text = prettyJson + } +} + +// ensure downloadIdentifiersOrg task is executed before processResources task +// processResources is inbuilt in the Java plugin and +// copies resources from src/main/resources to build/resources/main +processResources.dependsOn(downloadIdentifiersOrg) + +clean.doFirst { + file(".gradle").deleteDir() + file("target").deleteDir() +} \ No newline at end of file diff --git a/lib/de/zbit/SysBio/1390/SysBio-1390.jar b/lib/de/zbit/SysBio/1390/SysBio-1390.jar deleted file mode 100644 index 41eddc08..00000000 Binary files a/lib/de/zbit/SysBio/1390/SysBio-1390.jar and /dev/null differ diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/AbstractAnnotator.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/AbstractAnnotator.java new file mode 100644 index 00000000..90d4401f --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/AbstractAnnotator.java @@ -0,0 +1,37 @@ +package de.uni_halle.informatik.biodata.mp.annotation; + +import de.uni_halle.informatik.biodata.mp.reporting.*; + +import java.util.ArrayList; +import java.util.List; + +public abstract class AbstractAnnotator implements IReportStatus, IReportDiffs { + + private final List observers; + + public AbstractAnnotator() { + observers = new ArrayList<>(); + } + + public AbstractAnnotator(List observers) { + this.observers = observers; + } + + @Override + public void statusReport(String text, Object element) { + for (var o : observers) { + o.update(new ProgressUpdate(text, element, ReportType.STATUS)); + } + } + + @Override + public void diffReport(String elementType, Object element1, Object element2) { + for (var o : observers) { + o.update(new ProgressUpdate(elementType, List.of(element1, element2), ReportType.DATA)); + } + } + public List getObservers() { + return observers; + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/AnnotationException.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/AnnotationException.java new file mode 100644 index 00000000..1feabc48 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/AnnotationException.java @@ -0,0 +1,8 @@ +package de.uni_halle.informatik.biodata.mp.annotation; + +public class AnnotationException extends Exception{ + + public AnnotationException(String msg, Exception e) { + super(msg, e); + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/AnnotationOptions.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/AnnotationOptions.java new file mode 100644 index 00000000..49150d5e --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/AnnotationOptions.java @@ -0,0 +1,74 @@ +package de.uni_halle.informatik.biodata.mp.annotation; + +import de.zbit.util.ResourceManager; +import de.zbit.util.prefs.KeyProvider; +import de.zbit.util.prefs.Option; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; + +import java.io.File; +import java.util.ResourceBundle; + +public interface AnnotationOptions extends KeyProvider { + + ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.ANNOTATION_MESSAGES); + + /** + * If set to true, annotations will be added to species and reactions from AnnotateDB also. + */ + @SuppressWarnings("unchecked") + Option ADD_ADB_ANNOTATIONS = + new Option<>("ADD_ADB_ANNOTATIONS", Boolean.class, MESSAGES.getString("ADD_ADB_ANNOTATIONS_DESC"), + Boolean.FALSE); + /** + * If set to true, the model will be annotated with data from BiGG Models + * database. If set to false, the resulting model will not receive annotation + * or correction from BiGG Models database + */ + @SuppressWarnings("unchecked") + Option ANNOTATE_WITH_BIGG = + new Option<>("ANNOTATE_WITH_BIGG", Boolean.class, MESSAGES.getString("ANNOTATE_WITH_BIGG_DESC"), + Boolean.FALSE); + + /** + * This XHTML file defines alternative model notes and makes them + * exchangeable. + */ + Option MODEL_NOTES_FILE = new Option<>("MODEL_NOTES_FILE", File.class, + MESSAGES.getString("MODEL_NOTES_DESC")); + + /** + * If set to true, no web content will be inserted in the SBML container nor + * into the model within the SBML file. + */ + @SuppressWarnings("unchecked") + Option NO_MODEL_NOTES = + new Option<>("NO_MODEL_NOTES", Boolean.class, MESSAGES.getString("NO_MODEL_NOTES_DESC"), + Boolean.FALSE); + + /** + * This switch allows users to specify if also those database cross-links + * should be extracted from BiGG Models database for which currently no entry + * in the MIRIAM exists. If set to true, ModelPolisher also includes URIs that + * do not contain the pattern identifiers.org. + */ + @SuppressWarnings("unchecked") + Option INCLUDE_ANY_URI = + new Option<>("INCLUDE_ANY_URI", Boolean.class, MESSAGES.getString("INCLUDE_ANY_URI_DESC"), + Boolean.FALSE); + + /** + * This XHTML file defines alternative document notes and makes them + * exchangeable. + */ + Option DOCUMENT_NOTES_FILE = + new Option<>("DOCUMENT_NOTES_FILE", File.class, MESSAGES.getString("DOC_NOTES_DESC")); + + /** + * This option allows you to define the title of the SBML document's + * description and hence the headline when the file is displayed in a web + * browser. + */ + @SuppressWarnings("unchecked") + Option DOCUMENT_TITLE_PATTERN = new Option<>("DOCUMENT_TITLE_PATTERN", String.class, + MESSAGES.getString("DOC_TITLE_PATTERN_DESC"), "[biggId] - [organism]"); +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/AnnotationsSorter.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/AnnotationsSorter.java new file mode 100644 index 00000000..c2937d14 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/AnnotationsSorter.java @@ -0,0 +1,86 @@ +package de.uni_halle.informatik.biodata.mp.annotation; + +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import org.sbml.jsbml.CVTerm; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.SBMLDocument; +import org.sbml.jsbml.SBase; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.swing.tree.TreeNode; +import java.util.*; + +import static java.text.MessageFormat.format; + +public class AnnotationsSorter { + private static final Logger logger = LoggerFactory.getLogger(AnnotationsSorter.class); + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.ANNOTATION_MESSAGES); + + + /** + * Recursively goes through all annotations in the given {@link SBase} and + * alphabetically sort annotations after grouping them by {@link org.sbml.jsbml.CVTerm.Qualifier}. + * + * @param sbase: + * {@link SBase} to start the merging process at, corresponding to an instance of {@link SBMLDocument} here, + * though also used to pass current {@link SBase} during recursion + */ + public void groupAndSortAnnotations(SBase sbase) { + if (sbase.isSetAnnotation()) { + SortedMap> miriam = new TreeMap<>(); + boolean doMerge = hashMIRIAMuris(sbase, miriam); + if (doMerge) { + sbase.getAnnotation().unsetCVTerms(); + for (Map.Entry> entry : miriam.entrySet()) { + logger.debug(format(MESSAGES.getString("MERGING_MIRIAM_RESOURCES"), entry.getKey(), + sbase.getClass().getSimpleName(), sbase.getId())); + sbase.addCVTerm(new CVTerm(entry.getKey(), entry.getValue().toArray(new String[0]))); + } + } + } + for (int i = 0; i < sbase.getChildCount(); i++) { + TreeNode node = sbase.getChildAt(i); + if (node instanceof SBase) { + groupAndSortAnnotations((SBase) node); + } + } + } + + /** + * Evaluates and merges CVTerm annotations for a given SBase element. This method checks each CVTerm associated with + * the SBase and determines if there are multiple CVTerms with the same Qualifier that need merging. It also corrects + * invalid qualifiers based on the type of SBase (Model or other biological elements). + * + * @param sbase The SBase element whose annotations are to be evaluated and potentially merged. + * @param miriam A sorted map that groups CVTerm resources by their qualifiers. + * @return true if there are CVTerms with the same qualifier that need to be merged, false otherwise. + */ + private boolean hashMIRIAMuris(SBase sbase, SortedMap> miriam) { + boolean doMerge = false; + for (int i = 0; i < sbase.getCVTermCount(); i++) { + CVTerm term = sbase.getCVTerm(i); + CVTerm.Qualifier qualifier = term.getQualifier(); + if (miriam.containsKey(qualifier)) { + doMerge = true; + } else { + if (sbase instanceof Model) { + if (!qualifier.isModelQualifier()) { + logger.debug(format(MESSAGES.getString("CORRECTING_INVALID_QUALIFIERS"), + qualifier.getElementNameEquivalent(), sbase.getId())); + qualifier = CVTerm.Qualifier.getModelQualifierFor(qualifier.getElementNameEquivalent()); + } + } else if (!qualifier.isBiologicalQualifier()) { + logger.debug(format(MESSAGES.getString("CORRECTING_INVALID_MODEL_QUALIFIER"), + qualifier.getElementNameEquivalent(), sbase.getClass().getSimpleName(), sbase.getId())); + qualifier = CVTerm.Qualifier.getBiologicalQualifierFor(qualifier.getElementNameEquivalent()); + } + miriam.put(qualifier, new TreeSet<>()); + } + miriam.get(qualifier).addAll(term.getResources()); + } + return doMerge; + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/IAnnotateSBases.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/IAnnotateSBases.java new file mode 100644 index 00000000..b0c453f1 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/IAnnotateSBases.java @@ -0,0 +1,18 @@ +package de.uni_halle.informatik.biodata.mp.annotation; + +import org.sbml.jsbml.SBase; + +import java.sql.SQLException; +import java.util.List; + +public interface IAnnotateSBases { + + default void annotate(List elementsToAnnotate) throws SQLException, AnnotationException { + for (var element: elementsToAnnotate) { + annotate(element); + } + } + + void annotate(SBMLElement elementToAnnotate) throws SQLException, AnnotationException; + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/IProcessNotes.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/IProcessNotes.java new file mode 100644 index 00000000..7139760a --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/IProcessNotes.java @@ -0,0 +1,4 @@ +package de.uni_halle.informatik.biodata.mp.annotation; + +public interface IProcessNotes { +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBReactionsAnnotator.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBReactionsAnnotator.java new file mode 100644 index 00000000..9f0157f4 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBReactionsAnnotator.java @@ -0,0 +1,36 @@ +package de.uni_halle.informatik.biodata.mp.annotation.adb; + +import de.uni_halle.informatik.biodata.mp.annotation.IAnnotateSBases; +import de.uni_halle.informatik.biodata.mp.parameters.ADBAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDB; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import org.sbml.jsbml.Reaction; + +import java.sql.SQLException; +import java.util.*; + +import static de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants.BIGG_REACTION; + +public class ADBReactionsAnnotator extends AbstractADBAnnotator implements IAnnotateSBases { + + public ADBReactionsAnnotator(AnnotateDB adb, ADBAnnotationParameters parameters) { + super(adb, parameters); + } + + @Override + public void annotate(List reactions) throws SQLException { + for (Reaction reaction : reactions) { + annotate(reaction); + } + } + + @Override + public void annotate(Reaction reaction) throws SQLException { + String id = reaction.getId(); + var reactionId = BiGGId.createReactionId(id); + addBQB_IS_AnnotationsFromADB(reaction.getAnnotation(), BIGG_REACTION, reactionId); + if ((reaction.getCVTermCount() > 0) && !reaction.isSetMetaId()) { + reaction.setMetaId(reaction.getId()); + } + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBSBMLAnnotator.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBSBMLAnnotator.java new file mode 100644 index 00000000..3d7efc53 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBSBMLAnnotator.java @@ -0,0 +1,24 @@ +package de.uni_halle.informatik.biodata.mp.annotation.adb; + +import de.uni_halle.informatik.biodata.mp.annotation.IAnnotateSBases; +import de.uni_halle.informatik.biodata.mp.parameters.ADBAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDB; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.SBMLDocument; + +import java.sql.SQLException; + +public class ADBSBMLAnnotator extends AbstractADBAnnotator implements IAnnotateSBases { + + public ADBSBMLAnnotator(AnnotateDB adb, ADBAnnotationParameters parameters) { + super(adb, parameters); + } + + @Override + public void annotate(SBMLDocument doc) throws SQLException { + Model model = doc.getModel(); + + new ADBSpeciesAnnotator(adb, parameters).annotate(model.getListOfSpecies()); + new ADBReactionsAnnotator(adb, parameters).annotate(model.getListOfReactions()); + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBSpeciesAnnotator.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBSpeciesAnnotator.java new file mode 100644 index 00000000..b66e5b7a --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBSpeciesAnnotator.java @@ -0,0 +1,36 @@ +package de.uni_halle.informatik.biodata.mp.annotation.adb; + +import de.uni_halle.informatik.biodata.mp.annotation.IAnnotateSBases; +import de.uni_halle.informatik.biodata.mp.parameters.ADBAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDB; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import org.sbml.jsbml.Species; + +import java.sql.SQLException; +import java.util.*; + +import static de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants.BIGG_METABOLITE; + +public class ADBSpeciesAnnotator extends AbstractADBAnnotator implements IAnnotateSBases { + + public ADBSpeciesAnnotator(AnnotateDB adb, ADBAnnotationParameters parameters) { + super(adb, parameters); + } + + @Override + public void annotate(List species) throws SQLException { + for (Species s : species) { + annotate(s); + } + } + + @Override + public void annotate(Species species) throws SQLException { + String id = species.getId(); + var metaboliteId = BiGGId.createMetaboliteId(id); + addBQB_IS_AnnotationsFromADB(species.getAnnotation(), BIGG_METABOLITE, metaboliteId); + if ((species.getCVTermCount() > 0) && !species.isSetMetaId()) { + species.setMetaId(species.getId()); + } + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/adb/AbstractADBAnnotator.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/adb/AbstractADBAnnotator.java new file mode 100644 index 00000000..dd6f0ee5 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/adb/AbstractADBAnnotator.java @@ -0,0 +1,42 @@ +package de.uni_halle.informatik.biodata.mp.annotation.adb; + +import de.uni_halle.informatik.biodata.mp.parameters.ADBAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDB; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import org.sbml.jsbml.Annotation; +import org.sbml.jsbml.CVTerm; + +import java.sql.SQLException; +import java.util.*; + +public abstract class AbstractADBAnnotator { + + protected final AnnotateDB adb; + protected final ADBAnnotationParameters parameters; + + public AbstractADBAnnotator(AnnotateDB adb, ADBAnnotationParameters parameters) { + super(); + this.adb = adb; + this.parameters = parameters; + } + + protected void addBQB_IS_AnnotationsFromADB(Annotation annotation, String type, BiGGId biggId) throws SQLException { + CVTerm cvTerm = annotation.getListOfCVTerms().stream() + .filter(term -> term.getQualifier() == CVTerm.Qualifier.BQB_IS) + .findFirst() + .orElse(new CVTerm(CVTerm.Qualifier.BQB_IS)); + + Set annotations = adb.getAnnotations(type, biggId.toBiGGId()); + + annotations.removeAll(new HashSet<>(cvTerm.getResources())); + List sortedAnnotations = new ArrayList<>(annotations); + Collections.sort(sortedAnnotations); + for (String a : sortedAnnotations) { + cvTerm.addResource(a); + } + + if (cvTerm.getResourceCount() == 0) { + annotation.removeCVTerm(cvTerm); + } + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/AbstractBiGGAnnotator.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/AbstractBiGGAnnotator.java new file mode 100644 index 00000000..80c81a1f --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/AbstractBiGGAnnotator.java @@ -0,0 +1,98 @@ +package de.uni_halle.informatik.biodata.mp.annotation.bigg; + +import de.uni_halle.informatik.biodata.mp.annotation.AbstractAnnotator; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBContract; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import de.uni_halle.informatik.biodata.mp.resolver.RegistryURI; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI; +import org.sbml.jsbml.Reaction; +import org.sbml.jsbml.Species; +import org.sbml.jsbml.ext.fbc.GeneProduct; + +import java.sql.SQLException; +import java.util.List; +import java.util.Optional; +import java.util.stream.Stream; + + +public abstract class AbstractBiGGAnnotator extends AbstractAnnotator { + + protected final BiGGDB bigg; + protected final Registry registry; + protected final BiGGAnnotationParameters biGGAnnotationParameters; + + public AbstractBiGGAnnotator(BiGGDB bigg, BiGGAnnotationParameters biGGAnnotationParameters, Registry registry) { + super(); + this.bigg = bigg; + this.registry = registry; + this.biGGAnnotationParameters = biGGAnnotationParameters; + } + + public AbstractBiGGAnnotator(BiGGDB bigg, BiGGAnnotationParameters biGGAnnotationParameters, Registry registry, List observers) { + super(observers); + this.bigg = bigg; + this.registry = registry; + this.biGGAnnotationParameters = biGGAnnotationParameters; + } + + /** + * Attempts to extract a BiGG ID that conforms to the BiGG ID specification from the BiGG knowledgebase. This method + * processes annotations for biological entities such as {@link Species}, {@link Reaction}, or {@link GeneProduct}. + * Each entity's annotations are provided as a list of URIs, which are then parsed to retrieve the BiGG ID. + * + * @param resources A list of URIs containing annotations for the biological entity. + * @param type The type of the biological entity, which can be one of the following: + * {@link BiGGDBContract.Constants#TYPE_SPECIES}, {@link BiGGDBContract.Constants#TYPE_REACTION}, or + * {@link BiGGDBContract.Constants#TYPE_GENE_PRODUCT}. + * @return An {@link Optional } containing the BiGG ID if it could be successfully retrieved, otherwise {@link Optional#empty()}. + */ + public Optional getBiGGIdFromResources(List resources, String type) throws SQLException { + var identifiersOrgUrisStream = resources.stream() + .filter(registry::isValid) + .map(IdentifiersOrgURI::new) + .filter(registry::validRegistryUrlPrefix); + + var resolvedIdentifiersOrgUrisStream = resources.stream() + .filter(r -> !registry.isValid(r)) + .map(registry::resolveBackwards) + .filter(Optional::isPresent) + .map(Optional::get) + .filter(registry::validRegistryUrlPrefix); + + var uris = Stream.concat(identifiersOrgUrisStream, resolvedIdentifiersOrgUrisStream).toList(); + for (var uri : uris) { + if (registry.identifiesBiGG(uri.getPrefix())) { + return Optional.of(new BiGGId(uri.getId())); + } else { + var biggId = getBiggIdFromParts(uri, type); + if (biggId.isPresent()) { + return biggId; + } + } + } + return Optional.empty(); + } + + /** + * Attempts to retrieve a BiGG identifier from the BiGG Knowledgebase using a given prefix and identifier. This method + * is used for specific biological entities such as species, reactions, or gene products. + * + * @param type The type of biological entity for which the ID is being retrieved. Valid types are defined in + * {@link BiGGDBContract.Constants} and include TYPE_SPECIES, TYPE_REACTION, and TYPE_GENE_PRODUCT. + * @return An {@link Optional} containing the BiGG ID if found, otherwise {@link Optional#empty()}. + */ + private Optional getBiggIdFromParts(RegistryURI uri, String type) throws SQLException { + if (bigg.isDataSource(uri.getPrefix())) { + Optional id = bigg.getBiggIdFromSynonym(uri.getPrefix(), uri.getId(), type); + if (id.isPresent()) { + return id; + } + } + return Optional.empty(); + } + +} \ No newline at end of file diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGAnnotationException.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGAnnotationException.java new file mode 100644 index 00000000..de8348f2 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGAnnotationException.java @@ -0,0 +1,17 @@ +package de.uni_halle.informatik.biodata.mp.annotation.bigg; + +import de.uni_halle.informatik.biodata.mp.annotation.AnnotationException; + +public class BiGGAnnotationException extends AnnotationException { + + private final Object data; + + public BiGGAnnotationException(String msg, Exception e, Object o) { + super(msg, e); + this.data = o; + } + + public Object data() { + return data; + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGCVTermAnnotator.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGCVTermAnnotator.java new file mode 100644 index 00000000..e6e2fc1a --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGCVTermAnnotator.java @@ -0,0 +1,124 @@ +package de.uni_halle.informatik.biodata.mp.annotation.bigg; + +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB; +import de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import org.sbml.jsbml.*; + +import java.sql.SQLException; +import java.util.List; + +/** + * Abstract class providing a framework for annotating SBML elements with Controlled Vocabulary (CV) Terms. + * This class defines the basic structure and operations for adding annotations to SBML elements based on BiGG IDs. + * It includes methods to check the validity of BiGG IDs, add annotations to SBML elements, and specifically handle + * annotations for Species and Reactions using data from BiGG and other databases. + */ +public abstract class BiGGCVTermAnnotator extends AbstractBiGGAnnotator { + + public BiGGCVTermAnnotator(BiGGDB bigg, BiGGAnnotationParameters parameters, Registry registry) { + super(bigg, parameters, registry); + } + + public BiGGCVTermAnnotator(BiGGDB bigg, BiGGAnnotationParameters parameters, Registry registry, List observers) { + super(bigg, parameters, registry, observers); + } + + + /** + * Abstract method to check the validity of a BiGG ID. Implementations should return an Optional containing + * the BiGG ID if it is valid, or an empty Optional if not. + * + * @return Optional containing the valid BiGG ID or empty if the ID is invalid. + */ + protected abstract BiGGId findBiGGId(T element) throws SQLException; + +// /** +// * Adds annotations to an SBML node (either a Species or a Reaction) using a given BiGGId. +// * This method first checks if the node is an instance of Species or Reaction and throws an IllegalArgumentException if not. +// * It then removes any existing CVTerm with the qualifier BQB_IS, prepares a new CVTerm if none existed, +// * and collects annotations from various sources (BiGG database, AnnotateDB) based on whether the node is a Species or Reaction. +// * These annotations are filtered to remove any that already exist on the node, sorted, and then added to the node. +// * Finally, it ensures that the node has a metaId set if it has any CVTerms. +// * +// * @param node The SBML node to annotate, which should be either a Species or a Reaction. +// * @param biggId The BiGGId used for fetching annotations. +// * @throws IllegalArgumentException If the node is neither a Species nor a Reaction. +// */ +// void addAnnotations(T node, BiGGId biggId) throws IllegalArgumentException { +// +// // TODO: ??? +// CVTerm cvTerm = null; +// for (CVTerm term : node.getAnnotation().getListOfCVTerms()) { +// if (term.getQualifier() == Qualifier.BQB_IS) { +// cvTerm = term; +// node.removeCVTerm(term); +// break; +// } +// } +// if (cvTerm == null) { +// cvTerm = new CVTerm(Qualifier.BQB_IS); +// } +// +// Set annotations = new HashSet<>(); +// +// if (node instanceof Reaction) { +// boolean isBiGGReaction = MemorizedQuery.isReaction(biggId.getAbbreviation()); +// // using BiGG Database +// if (isBiGGReaction) { +// annotations.add(new IdentifiersOrgURI("bigg.reaction", biggId).getURI()); +// +// Set biggAnnotations = bigg.getResources(biggId, parameters.includeAnyURI(), true) +// .stream() +// .map(IdentifiersOrgURI::getURI) +// .collect(Collectors.toSet()); +// annotations.addAll(biggAnnotations); +// +// // using AnnotateDB +// if (MemorizedQuery.isReaction(biggId.getAbbreviation()) && adb != null) { +// Set adbAnnotations = AnnotateDB.getAnnotations(BIGG_REACTION, biggId.toBiGGId()); +// annotations.addAll(adbAnnotations); +// } +// } +// +// +// } else { +// boolean isBiGGMetabolite = MemorizedQuery.isMetabolite(biggId.getAbbreviation()); +// // using BiGG Database +// if (isBiGGMetabolite) { +// annotations.add(new IdentifiersOrgURI("bigg.metabolite", biggId).getURI()); +// +// Set biggAnnotations = bigg.getResources(biggId, parameters.includeAnyURI(), false) +// .stream().map(IdentifiersOrgURI::getURI).collect(Collectors.toSet()); +// annotations.addAll(biggAnnotations); +// +// // using AnnotateDB +// if (adb != null) { +// Set adb_annotations = AnnotateDB.getAnnotations(BIGG_METABOLITE, biggId.toBiGGId()); +// annotations.addAll(adb_annotations); +// } +// } +// +// } +// // don't add resources that are already present +// Set existingAnnotations = +// cvTerm.getResources().stream() +// .map(resource -> resource.replaceAll("http://identifiers.org", "https://identifiers.org")) +// .collect(Collectors.toSet()); +// annotations.removeAll(existingAnnotations); +// // adding annotations to cvTerm +// List sortedAnnotations = new ArrayList<>(annotations); +// Collections.sort(sortedAnnotations); +// for (String annotation : sortedAnnotations) { +// cvTerm.addResource(annotation); +// } +// if (cvTerm.getResourceCount() > 0) { +// node.addCVTerm(cvTerm); +// } +// if ((node.getCVTermCount() > 0) && !node.isSetMetaId()) { +// node.setMetaId(node.getId()); +// } +// } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGCompartmentsAnnotator.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGCompartmentsAnnotator.java new file mode 100644 index 00000000..faddae0f --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGCompartmentsAnnotator.java @@ -0,0 +1,58 @@ +package de.uni_halle.informatik.biodata.mp.annotation.bigg; + +import de.uni_halle.informatik.biodata.mp.annotation.IAnnotateSBases; +import de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import org.sbml.jsbml.*; + +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB; + +import java.sql.SQLException; +import java.util.List; + +/** + * This class is responsible for annotating a specific compartment within an SBML model using data from the BiGG database. + * It allows for the addition of both BiGG and SBO annotations to a compartment, and can also set the compartment's name + * based on information retrieved from the BiGG database. + */ +public class BiGGCompartmentsAnnotator extends AbstractBiGGAnnotator implements IAnnotateSBases { + + + public BiGGCompartmentsAnnotator(BiGGDB bigg, BiGGAnnotationParameters parameters, Registry registry) { + super(bigg, parameters, registry); + } + + public BiGGCompartmentsAnnotator(BiGGDB bigg, BiGGAnnotationParameters parameters, Registry registry, List observers) { + super(bigg, parameters, registry, observers); + } + + @Override + public void annotate(List compartments) throws SQLException { + for (Compartment compartment : compartments) { + statusReport("Annotating Compartments (2/5) ", compartment); + annotate(compartment); + } + } + + /** + * Annotates the compartment with BiGG and SBO terms. If the compartment's name is not set or is set to "default", + * it updates the name based on the BiGG database. This method only processes compartments that are recognized + * within the BiGG Knowledgebase. + */ + @Override + public void annotate(Compartment compartment) throws SQLException { + BiGGId biggId = new BiGGId(compartment.getId()); + if (bigg.isCompartment(biggId.getAbbreviation())) { + compartment.addCVTerm( + new CVTerm(CVTerm.Qualifier.BQB_IS, + new IdentifiersOrgURI("bigg.compartment", biggId).getURI())); + compartment.setSBOTerm(SBO.getCompartment()); // physical compartment + if (!compartment.isSetName() || compartment.getName().equals("default")) { + bigg.getCompartmentName(biggId).ifPresent(compartment::setName); + } + } + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGDocumentNotesProcessor.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGDocumentNotesProcessor.java new file mode 100644 index 00000000..dcdec85d --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGDocumentNotesProcessor.java @@ -0,0 +1,153 @@ +package de.uni_halle.informatik.biodata.mp.annotation.bigg; + +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.SBMLDocument; + +import javax.xml.stream.XMLStreamException; +import java.io.*; +import java.sql.SQLException; +import java.util.*; + +import static java.text.MessageFormat.format; + +public class BiGGDocumentNotesProcessor { + + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.BIGG_ANNOTATION_MESSAGES); + + private final BiGGAnnotationParameters parameters; + private final BiGGDB bigg; + + public BiGGDocumentNotesProcessor(BiGGDB bigg, BiGGAnnotationParameters parameters) { + this.parameters = parameters; + this.bigg = bigg; + } + + + public void processNotes(SBMLDocument doc) throws BiGGAnnotationException, SQLException { + var model = doc.getModel(); + try { + // Process replacements for placeholders in the model notes + Map replacements = processReplacements(model); + appendNotes(doc, replacements); + } catch (IOException | XMLStreamException e) { + throw new BiGGAnnotationException(MESSAGES.getString("FAILED_WRITE_NOTES"), e, doc); + } + } + + + /** + * Processes and replaces placeholders in the document title pattern and model notes with actual values from the model. + * This method retrieves the model ID and organism information from the BiGG database, and uses these along with + * other parameters to populate a map of replacements. These replacements are used later to substitute placeholders + * in the SBMLDocument notes. + * + * @return A map of placeholder strings and their corresponding replacement values. + */ + private Map processReplacements(Model model) throws SQLException { + // Retrieve the model ID + String id = model.getId(); + // Attempt to retrieve the organism name associated with the model ID; use an empty string if not available + String organism = bigg.getOrganism(id).orElse(""); + // Retrieve and process the document title pattern by replacing placeholders + String name = parameters.documentTitlePattern(); + name = name.replace("[biggId]", id); + name = name.replace("[organism]", organism); + // Initialize a map to hold the replacement values + Map replacements = new HashMap<>(); + replacements.put("${organism}", organism); + replacements.put("${title}", name); + replacements.put("${bigg_id}", id); + replacements.put("${year}", Integer.toString(Calendar.getInstance().get(Calendar.YEAR))); + replacements.put("${bigg.timestamp}", bigg.getBiGGVersion().map(date -> format("{0,date}", date)).orElse("")); + replacements.put("${species_table}", ""); + return replacements; + } + + + /** + * This method appends notes to the SBMLDocument and its model by replacing placeholders in the notes files. + * It handles both model-specific notes and document-wide notes. + * + * @param doc The SBMLDocument to which the notes will be appended. + * @param replacements A map containing the placeholder text and their replacements. + * @throws IOException If there is an error reading the notes files or writing to the document. + * @throws XMLStreamException If there is an error processing the XML content of the notes. + */ + private void appendNotes(SBMLDocument doc, Map replacements) throws IOException, XMLStreamException { + String modelNotesFile = "ModelNotes.html"; + String documentNotesFile = "SBMLDocumentNotes.html"; + + // Determine the files to use for model and document notes based on user settings + if (parameters.notesParameters().noModelNotes()) { + modelNotesFile = null; + documentNotesFile = null; + } else { + if (parameters.notesParameters().modelNotesFile() != null) { + File modelNotes = parameters.notesParameters().modelNotesFile(); + modelNotesFile = modelNotes != null ? modelNotes.getAbsolutePath() : null; + } + if (parameters.notesParameters().documentNotesFile() != null) { + File documentNotes = parameters.notesParameters().documentNotesFile(); + documentNotesFile = documentNotes != null ? documentNotes.getAbsolutePath() : null; + } + } + + // Append document notes if the title placeholder is present and the notes file is specified + if (replacements.containsKey("${title}") && (documentNotesFile != null)) { + doc.appendNotes(parseNotes(documentNotesFile, replacements)); + } + + // Append model notes if the notes file is specified + if (modelNotesFile != null) { + doc.getModel().appendNotes(parseNotes(modelNotesFile, replacements)); + } + } + + + /** + * Parses the notes from a specified location and replaces placeholder tokens with actual values. + * This method first attempts to read the resource from the classpath. If the resource is not found, + * it falls back to reading from the filesystem. It processes the content line by line, starting to + * append lines to the result after encountering a `` tag and stopping after a `` tag. + * Any placeholders in the format `${placeholder}` found within the body are replaced with corresponding + * values provided in the `replacements` map. + * + * @param location The relative path to the resource from this class. + * @param replacements A map of placeholder tokens to their actual values to be replaced in the notes. + * @return A string containing the processed notes with placeholders replaced by actual values. + * @throws IOException If an I/O error occurs while reading the file. + */ + private String parseNotes(String location, Map replacements) throws IOException { + StringBuilder sb = new StringBuilder(); + try (InputStream is = getClass().getResourceAsStream(location); + InputStreamReader isReader = new InputStreamReader((is != null) ? is : new FileInputStream(location)); + BufferedReader br = new BufferedReader(isReader)) { + String line; + boolean start = false; + while (br.ready() && ((line = br.readLine()) != null)) { + if (line.matches("\\s* { + + public static final String REF_SEQ_ACCESSION_NUMBER_PATTERN = "^(((AC|AP|NC|NG|NM|NP|NR|NT|NW|XM|XP|XR|YP|ZP)_\\d+)|(NZ_[A-Z]{2,4}\\d+))(\\.\\d+)?$"; + public static final String GENOME_ASSEMBLY_ID_PATTERN = "^GC[AF]_[0-9]{9}\\.[0-9]+$"; + + public BiGGModelAnnotator(BiGGDB bigg, BiGGAnnotationParameters parameters, Registry registry) { + super(bigg, parameters, registry); + } + public BiGGModelAnnotator(BiGGDB bigg, BiGGAnnotationParameters parameters, Registry registry, List observers) { + super(bigg, parameters, registry, observers); + } + + + /** + * Annotates the {@link Model} with relevant metadata and delegates the annotation of contained elements such as + * {@link Compartment}, {@link Species}, {@link Reaction}, and {@link GeneProduct}. + *

    + * Steps: + * 1. Retrieves the model's ID and uses it to fetch and add a taxonomy annotation if available. + * 2. Checks if the model exists in the database and adds specific BiGG database annotations. + * 3. Sets the model's MetaId to its ID if MetaId is not already set and the model has at least one CVTerm. + */ + @Override + public void annotate(Model model) throws SQLException { + // Retrieve the model ID + String id = model.getId(); + // Attempt to retrieve the organism name associated with the model ID; use an empty string if not available + String organism = bigg.getOrganism(id).orElse(""); + if (!model.isSetName()) { + model.setName(organism); + } + + addTaxonomyAnnotation(model, model.getId()); + + // annotation indicating the model's identity within BiGG + model.addCVTerm( + new CVTerm(CVTerm.Qualifier.BQM_IS, + new IdentifiersOrgURI("bigg.model", model.getId()).getURI())); + + // Retrieve the genomic accession number for the model + String accession = bigg.getGenomeAccesion(model.getId()); + addNCBIReferenceAnnotation(model, accession); + + // Set the model's MetaId to its ID if MetaId is not set and there are existing CVTerms + if (!model.isSetMetaId() && (model.getCVTermCount() > 0)) { + model.setMetaId(model.getId()); + } + } + + + private void addTaxonomyAnnotation(Model model, String modelId) throws SQLException { + // Attempt to fetch and add a taxonomy annotation using the model's ID + bigg.getTaxonId(modelId).ifPresent( + taxonId -> model.addCVTerm( + new CVTerm(CVTerm.Qualifier.BQB_HAS_TAXON, + new IdentifiersOrgURI("taxonomy", taxonId).getURI()))); + } + + + private void addNCBIReferenceAnnotation(Model model, String accession) { + // Prepare a pattern matcher for RefSeq accession numbers + Matcher refseqMatcher = Pattern.compile(REF_SEQ_ACCESSION_NUMBER_PATTERN).matcher(accession); + // Create a CVTerm for versioning annotation + CVTerm term = new CVTerm(CVTerm.Qualifier.BQB_IS_VERSION_OF); + // Check if the accession matches the RefSeq pattern + if (refseqMatcher.matches()) { + // Add a RefSeq resource to the CVTerm + term.addResource(new IdentifiersOrgURI("refseq", accession).getURI()); + } else { + // Check if non-MIRIAM URIs are allowed + if (biGGAnnotationParameters.includeAnyURI()) { + // Prepare a pattern matcher for genome assembly accession numbers + Matcher genomeAssemblyMatcher = Pattern.compile(GENOME_ASSEMBLY_ID_PATTERN).matcher(accession); + if (genomeAssemblyMatcher.matches()) { + // Add a genome assembly resource to the CVTerm, resolving non-MIRIAM way due to known issues + term.addResource("https://www.ncbi.nlm.nih.gov/assembly/" + accession); + } else { + // Add a nucleotide resource to the CVTerm for other cases + term.addResource("https://www.ncbi.nlm.nih.gov/nuccore/" + accession); + } + } + } + // Add the CVTerm to the model if it contains any resources + if (term.getResourceCount() > 0) { + model.addCVTerm(term); + } + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGPublicationsAnnotator.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGPublicationsAnnotator.java new file mode 100644 index 00000000..2c30ca53 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGPublicationsAnnotator.java @@ -0,0 +1,36 @@ +package de.uni_halle.informatik.biodata.mp.annotation.bigg; + +import de.uni_halle.informatik.biodata.mp.annotation.IAnnotateSBases; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB; +import de.uni_halle.informatik.biodata.mp.db.bigg.Publication; +import de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import org.sbml.jsbml.CVTerm; +import org.sbml.jsbml.Model; + +import java.sql.SQLException; +import java.util.List; + +public class BiGGPublicationsAnnotator extends AbstractBiGGAnnotator implements IAnnotateSBases { + + public BiGGPublicationsAnnotator(BiGGDB bigg, BiGGAnnotationParameters parameters, Registry registry, List observers) { + super(bigg, parameters, registry, observers); + + } + + @Override + public void annotate(Model model) throws SQLException { + List publications = bigg.getPublications(model.getId()); + statusReport("Annotating Publications (1/5) ", model); + + String[] resources = publications.stream() + .map(publication -> new IdentifiersOrgURI(publication.referenceType(), publication.referenceId())) + .map(IdentifiersOrgURI::getURI) + .toArray(String[]::new); + + model.addCVTerm(new CVTerm(CVTerm.Qualifier.BQM_IS_DESCRIBED_BY, resources)); + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGReactionsAnnotator.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGReactionsAnnotator.java new file mode 100644 index 00000000..828be5b9 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGReactionsAnnotator.java @@ -0,0 +1,309 @@ +package de.uni_halle.informatik.biodata.mp.annotation.bigg; + +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.annotation.IAnnotateSBases; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI; +import de.uni_halle.informatik.biodata.mp.util.ext.fbc.GPRParser; +import de.uni_halle.informatik.biodata.mp.util.ext.groups.GroupsUtils; +import org.sbml.jsbml.CVTerm; +import org.sbml.jsbml.CVTerm.Qualifier; +import org.sbml.jsbml.Compartment; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.Reaction; +import org.sbml.jsbml.ext.groups.Group; +import org.sbml.jsbml.ext.groups.GroupsConstants; +import org.sbml.jsbml.ext.groups.GroupsModelPlugin; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.sql.SQLException; +import java.util.*; +import java.util.stream.Collectors; + +/** + * This class provides functionality to annotate a reaction in an SBML model using BiGG database identifiers. + * It extends the {@link BiGGCVTermAnnotator} class, allowing it to manage controlled vocabulary (CV) terms + * associated with the reaction. The class handles various aspects of reaction annotation including setting + * the reaction's name, SBO term, and additional annotations. It also processes gene reaction rules and + * subsystem information associated with the reaction. + */ +public class BiGGReactionsAnnotator extends BiGGCVTermAnnotator implements IAnnotateSBases { + + private static final Logger logger = LoggerFactory.getLogger(BiGGReactionsAnnotator.class); + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.BIGG_ANNOTATION_MESSAGES); + + private static boolean triggeredSubsystemWarning = false; + + private final SBOParameters sboParameters; + + public BiGGReactionsAnnotator(BiGGDB bigg, BiGGAnnotationParameters biGGAnnotationParameters, SBOParameters sboParameters, Registry registry) { + super(bigg, biGGAnnotationParameters, registry); + this.sboParameters = sboParameters; + } + + public BiGGReactionsAnnotator(BiGGDB bigg, BiGGAnnotationParameters parameters, SBOParameters sboParameters, Registry registry, List observers) { + super(bigg, parameters, registry, observers); + this.sboParameters = sboParameters; + } + + + /** + * Delegates the annotation process for each reaction in the given SBML model. + * This method iterates over all reactions in the model, updates the progress display, + * and invokes the annotation for each reaction. + */ + @Override + public void annotate(List reactions) throws SQLException { + for (Reaction reaction : reactions) { + annotate(reaction); + } + } + + /** + * Annotates a reaction by setting its name, SBO term, and additional annotations. It also processes gene reaction rules + * and subsystem information associated with the reaction. This method retrieves a BiGG ID for the reaction, either from + * the reaction's ID directly or through associated annotations. If a valid BiGG ID is found, it proceeds with the + * annotation and parsing processes. + */ + @Override + public void annotate(Reaction reaction) throws SQLException { + statusReport("Annotating Reactions (4/5) ", reaction); + // Attempt to retrieve a BiGG ID for the reaction, either directly from the reaction ID or through associated annotations + var biggId = findBiGGId(reaction); + setName(reaction, biggId); // Set the reaction's name based on the BiGG ID + setSBOTerm(reaction, biggId); // Assign the appropriate SBO term based on the BiGG ID + addAnnotations(reaction, biggId); // Add additional annotations related to the BiGG ID + parseGeneReactionRules(reaction, biggId); // Parse and process gene reaction rules associated with the BiGG ID + parseSubsystems(reaction, biggId); // Convert subsystem information into corresponding groups based on the BiGG ID + } + + /** + * This method checks if the ID of the reaction is a valid BiGG ID and attempts to retrieve a corresponding + * BiGG ID based on existing annotations. It first checks if the reaction ID matches the expected BiGG ID format + * and verifies its existence in the database. If the ID does not match or is not found, it then attempts to + * extract a BiGG ID from the reaction's annotations. This involves parsing the CVTerms associated with the reaction, + * extracting URLs, validating them, and then querying the BiGG database for corresponding reaction IDs that match + * the reaction's compartment. + * + * @return An {@link Optional} containing the BiGG ID if found or created successfully, otherwise {@link Optional#empty()} + */ + @Override + public BiGGId findBiGGId(Reaction reaction) throws SQLException { + String id = reaction.getId(); + // Check if the reaction ID matches the expected BiGG ID format and exists in the database + boolean isBiGGid = bigg.isReaction(id); + if (!isBiGGid) { + // Extract BiGG IDs from annotations if the direct ID check fails + var ids = reaction.getAnnotation().getListOfCVTerms() + .stream() + .filter(cvTerm -> cvTerm.getQualifier() == Qualifier.BQB_IS) + .flatMap(term -> term.getResources().stream()) + .map(registry::resolveBackwards) + .flatMap(Optional::stream) + .map(bigg::getBiggIdsForReactionForeignId) + .flatMap(Collection::stream) + .filter(foreignReaction -> matchingCompartments(reaction, foreignReaction)) + .map(fr -> fr.reactionId) + .collect(Collectors.toSet()); + // Select the first valid ID from the set, if available + id = ids.stream() + .findFirst() + .orElse(id); + } + return BiGGId.createReactionId(id); + } + + /** + * Determines if the reaction's compartment matches the compartment information of a foreign reaction from the BiGG database. + *

    + * This method checks various conditions to ensure that the compartments are correctly matched: + * 1. If the reaction does not have a compartment set and the foreign reaction also lacks compartment details, it returns true. + * 2. If the reaction does not have a compartment set but the foreign reaction does, it returns false. + * 3. If the reaction has a compartment set, it checks if the compartment ID matches the foreign reaction's compartment ID. + * 4. If the reaction has a named compartment instance set, it checks if the name matches the foreign reaction's compartment name. + * + * @param foreignReaction The foreign reaction object containing compartment details to compare against the reaction. + * @return true if the compartments match according to the conditions above, false otherwise. + */ + private boolean matchingCompartments(Reaction reaction, BiGGDB.ForeignReaction foreignReaction) { + if (!reaction.isSetCompartment() + && null == foreignReaction.compartmentId + && null == foreignReaction.compartmentName) { + return true; + } else if (!reaction.isSetCompartment() + && (null != foreignReaction.compartmentId + || null != foreignReaction.compartmentName)) { + return false; + } else if (reaction.isSetCompartmentInstance() + && reaction.getCompartmentInstance().isSetName() + && foreignReaction.compartmentName != null) { + String reactionCompartmentName = reaction.getCompartmentInstance().getName().toLowerCase(); + String foreignReactionCompartmentName = foreignReaction.compartmentName.toLowerCase(); + return reactionCompartmentName.equals(foreignReactionCompartmentName) + || reactionCompartmentName.contains(foreignReactionCompartmentName) + || foreignReactionCompartmentName.contains(reactionCompartmentName); + } else if (reaction.isSetCompartment()) { + return reaction.getCompartment().equals(foreignReaction.compartmentId); + } + else + return false; + } + + /** + * Sets the name of the reaction based on the provided BiGGId. It retrieves the reaction name + * using the abbreviation from the BiGGId, polishes the name, and updates the reaction's name + * if the new name is different from the current name. + * + * @param biggId The BiGGId object containing the abbreviation used to fetch and potentially update the reaction's name. + */ + public void setName(Reaction reaction, BiGGId biggId) throws SQLException { + String abbreviation = biggId.getAbbreviation(); + bigg.getReactionName(abbreviation).ifPresent(reaction::setName); + } + + /** + * Sets the SBO term for a reaction based on the given BiGGId. + * If the reaction does not already have an SBO term set, it determines the appropriate SBO term + * based on whether the reaction is a pseudoreaction or a generic process. Pseudoreactions are assigned + * an SBO term of 631, while generic processes are assigned an SBO term of 375 unless the configuration + * specifies to omit generic terms. + * + * @param biggId The BiGGId object containing the abbreviation used to check if the reaction is a pseudoreaction. + */ + public void setSBOTerm(Reaction reaction, BiGGId biggId) throws SQLException { + String abbreviation = biggId.getAbbreviation(); + if (!reaction.isSetSBOTerm()) { + if (bigg.isPseudoreaction(abbreviation)) { + reaction.setSBOTerm(631); + } + } + } + + void addAnnotations(Reaction node, BiGGId biggId) throws SQLException { + CVTerm cvTerm = null; + for (CVTerm term : node.getAnnotation().getListOfCVTerms()) { + if (term.getQualifier() == Qualifier.BQB_IS) { + cvTerm = term; + node.removeCVTerm(term); + break; + } + } + if (cvTerm == null) { + cvTerm = new CVTerm(Qualifier.BQB_IS); + } + + Set annotations = new HashSet<>(); + boolean isBiGGReaction = bigg.isReaction(biggId.getAbbreviation()); + // using BiGG Database + if (isBiGGReaction) { + annotations.add(new IdentifiersOrgURI("bigg.reaction", biggId).getURI()); + + Set biggAnnotations = bigg.getResources(biggId, biGGAnnotationParameters.includeAnyURI(), true) + .stream() + .map(IdentifiersOrgURI::getURI) + .collect(Collectors.toSet()); + annotations.addAll(biggAnnotations); + } + + + // don't add resources that are already present + Set existingAnnotations = + cvTerm.getResources().stream() + .map(resource -> resource.replaceAll("http://identifiers.org", "https://identifiers.org")) + .collect(Collectors.toSet()); + annotations.removeAll(existingAnnotations); + // adding annotations to cvTerm + List sortedAnnotations = new ArrayList<>(annotations); + Collections.sort(sortedAnnotations); + for (String annotation : sortedAnnotations) { + cvTerm.addResource(annotation); + } + if (cvTerm.getResourceCount() > 0) { + node.addCVTerm(cvTerm); + } + if ((node.getCVTermCount() > 0) && !node.isSetMetaId()) { + node.setMetaId(node.getId()); + } + } + + /** + * Parses gene reaction rules for a given reaction based on the BiGG database identifier. + * This method retrieves gene reaction rules associated with the reaction's abbreviation + * from the BiGG database and applies gene-protein-reaction (GPR) parsing to the reaction. + * It considers whether generic terms should be omitted based on the current parameters. + * + * @param biggId The BiGG database identifier for the reaction, used to fetch and parse gene reaction rules. + */ + public void parseGeneReactionRules(Reaction reaction, BiGGId biggId) throws SQLException { + String abbreviation = biggId.getAbbreviation(); + List geneReactionRules = bigg.getGeneReactionRule(abbreviation, reaction.getModel().getId()); + for (String geneReactionRule : geneReactionRules) { + GPRParser.setGeneProductAssociation(reaction, geneReactionRule, sboParameters.addGenericTerms()); + } + } + + + /** + * Retrieves subsystem information from the BiGG Knowledgebase and converts it into corresponding groups using the + * {@link GroupsModelPlugin}. It then links the reaction to the appropriate group based on the subsystem information. + * If the model is not from BiGG, it logs a warning and uses a different method to fetch subsystems. + * It also ensures that subsystems are unique by converting them to lowercase and removing duplicates. + * If multiple subsystems are found for a non-BiGG model, the method returns early to avoid ambiguity. + * Each subsystem is then either fetched from a cache or a new group is created and added to the model. + * Finally, the reaction is linked to the group. + * + * @param biggId the {@link BiGGId} associated with the reaction, used to fetch subsystem information + */ + private void parseSubsystems(Reaction reaction, BiGGId biggId) throws SQLException { + Model model = reaction.getModel(); + boolean isBiGGModel = bigg.isModel(model.getId()); + List subsystems; + if (isBiGGModel) { + subsystems = bigg.getSubsystems(model.getId(), biggId.getAbbreviation()); + } else { + if (!triggeredSubsystemWarning) { + triggeredSubsystemWarning = true; + logger.debug(MESSAGES.getString("SUBSYSTEM_MODEL_NOT_BIGG")); + } + subsystems = bigg.getSubsystemsForReaction(biggId.getAbbreviation()); + } + if (subsystems.isEmpty()) { + return; + } else { + // filter out duplicates only differing in case - relevant for #getSubsystemsForReaction results + subsystems = subsystems.stream().map(String::toLowerCase).distinct().collect(Collectors.toList()); + // Code already allows for multiple results from one query. If we have no BiGG model id, this might lead to + // ambiguous, incorrect results + if (!isBiGGModel && subsystems.size() > 1) { + return; + } + } + String groupKey = "GROUP_FOR_NAME"; + if (model.getUserObject(groupKey) == null) { + model.putUserObject(groupKey, new HashMap()); + } + @SuppressWarnings("unchecked") + Map groupForName = (Map) model.getUserObject(groupKey); + for (String subsystem : subsystems) { + Group group; + if (groupForName.containsKey(subsystem)) { + group = groupForName.get(subsystem); + } else { + GroupsModelPlugin groupsModelPlugin = (GroupsModelPlugin) model.getPlugin(GroupsConstants.shortLabel); + group = groupsModelPlugin.createGroup("g" + (groupsModelPlugin.getGroupCount() + 1)); + group.setName(subsystem); + group.setKind(Group.Kind.partonomy); + group.setSBOTerm(633); // subsystem + groupForName.put(subsystem, group); + } + GroupsUtils.createSubsystemLink(reaction, group.createMember()); + } + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGSBMLAnnotator.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGSBMLAnnotator.java new file mode 100644 index 00000000..3d3acb85 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGSBMLAnnotator.java @@ -0,0 +1,71 @@ +package de.uni_halle.informatik.biodata.mp.annotation.bigg; + +import java.sql.SQLException; +import java.util.List; + +import de.uni_halle.informatik.biodata.mp.annotation.AnnotationException; +import de.uni_halle.informatik.biodata.mp.annotation.IAnnotateSBases; +import de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; +import de.uni_halle.informatik.biodata.mp.annotation.AnnotationsSorter; +import de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc.BiGGFBCAnnotator; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.SBMLDocument; + +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB; + + +/** + * This class is responsible for annotating SBML models using data from the BiGG database. + * It handles the addition of annotations related to compartments, species, reactions, and gene products. + * + * @author Thomas Zajac + * This code runs only, if ANNOTATE_WITH_BIGG is true + */ +public class BiGGSBMLAnnotator extends AbstractBiGGAnnotator implements IAnnotateSBases { + + private final SBOParameters sboParameters; + + public BiGGSBMLAnnotator(BiGGDB bigg, BiGGAnnotationParameters parameters, SBOParameters sboParameters, Registry registry) { + super(bigg, parameters, registry); + this.sboParameters = sboParameters; + } + + public BiGGSBMLAnnotator(BiGGDB bigg, BiGGAnnotationParameters parameters, SBOParameters sboParameters, Registry registry, List observers) { + super(bigg, parameters, registry, observers); + this.sboParameters = sboParameters; + } + + + /** + * Annotates an SBMLDocument using data from the BiGG Knowledgebase. This method processes various components of the + * SBML model such as compartments, species, reactions, and gene products by adding relevant annotations from BiGG. + * It also handles the addition of publications and notes related to the model. + * + * @param doc The SBMLDocument that contains the model to be annotated. + */ + @Override + public void annotate(SBMLDocument doc) throws SQLException, AnnotationException { + Model model = doc.getModel(); + + new BiGGModelAnnotator(bigg, biGGAnnotationParameters, registry, getObservers()).annotate(model); + + // Annotate various components of the model + new BiGGPublicationsAnnotator(bigg, biGGAnnotationParameters, registry, getObservers()).annotate(model); + + new BiGGCompartmentsAnnotator(bigg, biGGAnnotationParameters, registry, getObservers()).annotate(model.getListOfCompartments()); + + new BiGGSpeciesAnnotator(bigg, biGGAnnotationParameters, sboParameters, registry, getObservers()).annotate(model.getListOfSpecies()); + + new BiGGReactionsAnnotator(bigg, biGGAnnotationParameters, sboParameters, registry).annotate(model.getListOfReactions()); + + new BiGGFBCAnnotator(bigg, biGGAnnotationParameters, registry, getObservers()).annotate(model); + + new BiGGDocumentNotesProcessor(bigg, biGGAnnotationParameters).processNotes(doc); + + new AnnotationsSorter().groupAndSortAnnotations(doc); + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGSpeciesAnnotator.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGSpeciesAnnotator.java new file mode 100644 index 00000000..c85df34a --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGSpeciesAnnotator.java @@ -0,0 +1,163 @@ +package de.uni_halle.informatik.biodata.mp.annotation.bigg; + +import de.uni_halle.informatik.biodata.mp.annotation.IAnnotateSBases; +import de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI; +import org.sbml.jsbml.*; +import org.sbml.jsbml.CVTerm.Qualifier; + +import java.sql.SQLException; +import java.util.*; +import java.util.stream.Collectors; + +import static de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBContract.Constants.TYPE_SPECIES; +import static java.text.MessageFormat.format; + +/** + * This class provides functionality to annotate a species in an SBML model using BiGG database identifiers. + * It extends the {@link BiGGCVTermAnnotator} class, allowing it to manage controlled vocabulary (CV) terms + * associated with the species. The class handles various aspects of species annotation including setting + * the species' name, SBO term, and additional annotations. It also sets the chemical formula and charge + * for the species using FBC (Flux Balance Constraints) extensions. + */ +public class BiGGSpeciesAnnotator extends BiGGCVTermAnnotator implements IAnnotateSBases { + + private final SBOParameters sboParameters; + + protected BiGGSpeciesAnnotator(BiGGDB bigg, BiGGAnnotationParameters parameters, SBOParameters sboParameters, Registry registry) { + super(bigg, parameters, registry); + this.sboParameters = sboParameters; + } + protected BiGGSpeciesAnnotator(BiGGDB bigg, BiGGAnnotationParameters parameters, SBOParameters sboParameters, Registry registry, List observers) { + super(bigg, parameters, registry, observers); + this.sboParameters = sboParameters; + } + + /** + * Delegates annotation processing for all chemical species contained in the {@link Model}. + * This method iterates over each species in the model and applies specific annotations. + */ + @Override + public void annotate(List species) throws SQLException { + for (Species s : species) { + statusReport("Annotating Species (3/5) ", s); + annotate(s); + } + } + + /** + * This method annotates a species with various details fetched from the BiGG Knowledgebase. It performs the following: + * 1. Sets the species name based on the BiGGId. If the species does not have a name, it uses the BiGGId as the name. + * 2. Assigns an SBO (Systems Biology Ontology) term to the species based on the BiGGId. + * 3. Adds additional annotations to the species, such as database cross-references. + *

    + * The BiGGId used for these operations is either derived from the species' URI list or directly from its ID if available. + */ + @Override + public void annotate(Species species) throws SQLException { + // Retrieve the BiGGId for the species, either from its URI list or its direct ID + var biGGId = findBiGGId(species); + setName(species, biGGId); // Set the species name based on the BiGGId + addAnnotations(species, biGGId); // Add database cross-references and other annotations + } + + + /** + * Validates the species ID and attempts to retrieve a corresponding BiGGId based on existing annotations. + * This method first tries to create a BiGGId from the species ID. If the species ID does not correspond to a known + * BiGGId in the database, it then searches through the species' annotations to find a valid BiGGId. + * + * @return An {@link Optional} containing the BiGGId if a valid one is found or created, otherwise {@link Optional#empty()} + */ + @Override + public BiGGId findBiGGId(Species species) throws SQLException { + // Attempt to create a BiGGId from the species ID + var metaboliteId = BiGGId.createMetaboliteId(species.getId()); + + // Check if the created BiGGId is valid, if not, try to find a BiGGId from annotations + boolean isBiGGid = bigg.isMetabolite(metaboliteId.getAbbreviation()); + + if (!isBiGGid) { + // Collect all resources from CVTerms that qualify as BQB_IS + // Attempt to retrieve a BiGGId from the collected resources + List resources = species.getAnnotation().getListOfCVTerms() + .stream() + .filter(cvTerm -> cvTerm.getQualifier() == Qualifier.BQB_IS) + .flatMap(term -> term.getResources().stream()) + .toList(); + var biggIdFromResources = getBiGGIdFromResources(resources, TYPE_SPECIES); + if (biggIdFromResources.isPresent()) { + return biggIdFromResources.get(); + } + } + return metaboliteId; + } + + + /** + * Updates the name of the species based on data retrieved from the BiGG Knowledgebase. + * The species name is set only if it has not been previously set or if the current name + * follows a default format that combines the BiGGId abbreviation and + * compartment code. This method relies on the availability of a valid {@link BiGGId} for the species. + * + * @param biggId The {@link BiGGId} associated with the species, used to fetch the component name from the BiGG database. + */ + public void setName(Species species, BiGGId biggId) throws SQLException { + if (!species.isSetName() + || species.getName().equals(format("{0}_{1}", biggId.getAbbreviation(), biggId.getCompartmentCode()))) { + bigg.getComponentName(biggId).ifPresent(species::setName); + } + } + + + void addAnnotations(Species species, BiGGId biggId) throws IllegalArgumentException, SQLException { + + CVTerm cvTerm = null; + for (CVTerm term : species.getAnnotation().getListOfCVTerms()) { + if (term.getQualifier() == Qualifier.BQB_IS) { + cvTerm = term; + species.removeCVTerm(term); + break; + } + } + if (cvTerm == null) { + cvTerm = new CVTerm(Qualifier.BQB_IS); + } + + Set annotations = new HashSet<>(); + + boolean isBiGGMetabolite = bigg.isMetabolite(biggId.getAbbreviation()); + // using BiGG Database + if (isBiGGMetabolite) { + if (cvTerm.getResources().stream().noneMatch(resource -> resource.contains("bigg.metabolite"))) { + annotations.add(new IdentifiersOrgURI("bigg.metabolite", biggId).getURI()); + } + Set biggAnnotations = bigg.getResources(biggId, biGGAnnotationParameters.includeAnyURI(), false) + .stream() + .map(IdentifiersOrgURI::getURI) + .collect(Collectors.toSet()); + annotations.addAll(biggAnnotations); + } + + // don't add resources that are already present + annotations.removeAll(new HashSet<>(cvTerm.getResources())); + // adding annotations to cvTerm + List sortedAnnotations = new ArrayList<>(annotations); + Collections.sort(sortedAnnotations); + for (String annotation : sortedAnnotations) { + cvTerm.addResource(annotation); + } + if (cvTerm.getResourceCount() > 0) { + species.addCVTerm(cvTerm); + } + if ((species.getCVTermCount() > 0) && !species.isSetMetaId()) { + species.setMetaId(species.getId()); + } + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGFBCAnnotator.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGFBCAnnotator.java new file mode 100644 index 00000000..cfc9d65f --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGFBCAnnotator.java @@ -0,0 +1,38 @@ +package de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc; + +import de.uni_halle.informatik.biodata.mp.annotation.AnnotationException; +import de.uni_halle.informatik.biodata.mp.annotation.IAnnotateSBases; +import de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.annotation.bigg.AbstractBiGGAnnotator; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.sbml.jsbml.ext.fbc.FBCModelPlugin; + +import java.sql.SQLException; +import java.util.List; + +public class BiGGFBCAnnotator extends AbstractBiGGAnnotator implements IAnnotateSBases { + + public BiGGFBCAnnotator(BiGGDB bigg, BiGGAnnotationParameters parameters, Registry registry, List observers) { + super(bigg, parameters, registry, observers); + } + + @Override + public void annotate(Model model) throws SQLException, AnnotationException { +// // Calculate the change in the number of gene products to update the progress bar accordingly +// int changed = fbcModelPlugin.getNumGeneProducts() - initialGeneProducts; +// if (changed > 0) { +// long current = progress.getCallNumber(); +// // Adjust the total number of calls for the progress bar by subtracting the placeholder count +// progress.setNumberOfTotalCalls(progress.getNumberOfTotalCalls() + changed - 50); +// progress.setCallNr(current); +// } + FBCModelPlugin fbcModelPlugin = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + new BiGGFBCSpeciesAnnotator(bigg, biGGAnnotationParameters, registry).annotate(model.getListOfSpecies()); + new BiGGGeneProductAnnotator(new BiGGGeneProductReferencesAnnotator(), bigg, biGGAnnotationParameters, registry, getObservers()) + .annotate(fbcModelPlugin.getListOfGeneProducts()); + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGFBCSpeciesAnnotator.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGFBCSpeciesAnnotator.java new file mode 100644 index 00000000..f0b205b0 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGFBCSpeciesAnnotator.java @@ -0,0 +1,122 @@ +package de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc; + +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.annotation.IAnnotateSBases; +import de.uni_halle.informatik.biodata.mp.annotation.bigg.AbstractBiGGAnnotator; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import org.sbml.jsbml.CVTerm; +import org.sbml.jsbml.Species; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.sbml.jsbml.ext.fbc.FBCSpeciesPlugin; +import org.sbml.jsbml.validator.SyntaxChecker; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.sql.SQLException; +import java.util.Optional; +import java.util.ResourceBundle; + +import static de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBContract.Constants.TYPE_SPECIES; +import static java.text.MessageFormat.format; + +public class BiGGFBCSpeciesAnnotator extends AbstractBiGGAnnotator implements IAnnotateSBases { + + private static final Logger logger = LoggerFactory.getLogger(BiGGFBCSpeciesAnnotator.class); + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.BIGG_ANNOTATION_MESSAGES); + + + public BiGGFBCSpeciesAnnotator(BiGGDB bigg, BiGGAnnotationParameters biGGAnnotationParameters, Registry registry) { + super(bigg, biGGAnnotationParameters, registry); + } + + @Override + public void annotate(Species species) throws SQLException { + var biGGId = findBiGGId(species); + setFormulaFromBiGGId(species, biGGId); // Set the chemical formula and charge + + setCharge(species, biGGId); + + } + + public BiGGId findBiGGId(Species species) throws SQLException { + // Attempt to create a BiGGId from the species ID + var metaboliteId = BiGGId.createMetaboliteId(species.getId()); + + // Check if the created BiGGId is valid, if not, try to find a BiGGId from annotations + boolean isBiGGid = bigg.isMetabolite(metaboliteId.getAbbreviation()); + + if (!isBiGGid) { + // Collect all resources from CVTerms that qualify as BQB_IS + // Attempt to retrieve a BiGGId from the collected resources + var biggIdFromResources = getBiGGIdFromResources( + species.getAnnotation().getListOfCVTerms() + .stream() + .filter(cvTerm -> cvTerm.getQualifier() == CVTerm.Qualifier.BQB_IS) + .flatMap(term -> term.getResources().stream()) + .toList(), + TYPE_SPECIES); + if (biggIdFromResources.isPresent()) { + return biggIdFromResources.get(); + } + } + return metaboliteId; + } + + /** + * Sets the chemical formula and charge for a species based on the provided BiGGId. + * This method first checks if the species belongs to a BiGG model and retrieves the compartment code. + * It then attempts to set the chemical formula if it has not been set already. The formula is fetched + * from the BiGG database either based on the model ID or the compartment code if the model ID fetch fails. + * If the formula is successfully retrieved, it is set using the FBCSpeciesPlugin. + * Similarly, the charge is fetched and set if the species does not already have a charge set. + * If a charge is fetched and if it contradicts an existing charge, log a warning and unset the existing charge. + * + * @param biggId: {@link BiGGId} from species id + */ + private void setFormulaFromBiGGId(Species species, BiGGId biggId) throws SQLException { + boolean isBiGGModel = species.getModel() !=null && bigg.isModel(species.getModel().getId()); + + String compartmentCode = biggId.getCompartmentCode(); + var fbcSpecPlug = (FBCSpeciesPlugin) species.getPlugin(FBCConstants.shortLabel); + + boolean compartmentNonEmpty = compartmentCode != null && !compartmentCode.isEmpty(); + if (!fbcSpecPlug.isSetChemicalFormula()) { + Optional chemicalFormula = Optional.empty(); + if (isBiGGModel) { + chemicalFormula = bigg.getChemicalFormula(biggId.getAbbreviation(), species.getModel().getId()); + } + if ((!isBiGGModel || chemicalFormula.isEmpty()) && compartmentNonEmpty) { + chemicalFormula = bigg.getChemicalFormulaByCompartment(biggId.getAbbreviation(), compartmentCode); + } + chemicalFormula.filter(SyntaxChecker::isValidChemicalFormula).ifPresent(fbcSpecPlug::setChemicalFormula); + } + } + + private void setCharge(Species species, BiGGId biggId) throws SQLException { + boolean isBiGGModel = species.getModel() !=null && bigg.isModel(species.getModel().getId()); + String compartmentCode = biggId.getCompartmentCode(); + boolean compartmentNonEmpty = compartmentCode != null && !compartmentCode.isEmpty(); + var fbcSpecPlug = (FBCSpeciesPlugin) species.getPlugin(FBCConstants.shortLabel); + + Optional chargeFromBiGG = Optional.empty(); + if (isBiGGModel) { + chargeFromBiGG = bigg.getCharge(biggId.getAbbreviation(), species.getModel().getId()); + } else if (compartmentNonEmpty) { + chargeFromBiGG = bigg.getChargeByCompartment(biggId.getAbbreviation(), biggId.getCompartmentCode()); + } + if (fbcSpecPlug.isSetCharge()) { + chargeFromBiGG + .filter(charge -> charge != fbcSpecPlug.getCharge()) + .ifPresent(charge -> + logger.debug(format(MESSAGES.getString("CHARGE_CONTRADICTION"), + charge, fbcSpecPlug.getCharge(), species.getId()))); + fbcSpecPlug.unsetCharge(); + } + chargeFromBiGG.filter(charge -> charge != 0).ifPresent(fbcSpecPlug::setCharge); + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGGeneProductAnnotator.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGGeneProductAnnotator.java new file mode 100644 index 00000000..83182ecf --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGGeneProductAnnotator.java @@ -0,0 +1,205 @@ +package de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc; + +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.annotation.IAnnotateSBases; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGCVTermAnnotator; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import org.sbml.jsbml.CVTerm; +import org.sbml.jsbml.CVTerm.Qualifier; +import org.sbml.jsbml.ext.fbc.GeneProduct; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.sql.SQLException; +import java.util.List; +import java.util.Optional; +import java.util.ResourceBundle; +import java.util.stream.Collectors; + +import static de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBContract.Constants.TYPE_GENE_PRODUCT; +import static java.text.MessageFormat.format; + +/** + * Provides functionality to annotate gene products in an SBML model using data from the BiGG database. + * This class extends {@link BiGGCVTermAnnotator} and specifically handles the annotation of {@link GeneProduct} instances. + * It includes methods to validate gene product IDs, retrieve and set labels, and add annotations based on BiGG IDs. + */ +public class BiGGGeneProductAnnotator extends BiGGCVTermAnnotator implements IAnnotateSBases { + + private static final Logger logger = LoggerFactory.getLogger(BiGGGeneProductAnnotator.class); + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.BIGG_ANNOTATION_MESSAGES); + public static final String BIGG_GENE_ID_PATTERN = "^(G_)?([a-zA-Z][a-zA-Z0-9_]+)(?:_([a-z][a-z0-9]?))?(?:_([A-Z][A-Z0-9]?))?$"; + + /** + * Instance of gene product to annotate + */ + private final BiGGGeneProductReferencesAnnotator gprAnnotator; + + public BiGGGeneProductAnnotator(BiGGGeneProductReferencesAnnotator gprAnnotator, BiGGDB bigg, BiGGAnnotationParameters parameters, + Registry registry, List observers) { + super(bigg, parameters, registry, observers); + this.gprAnnotator = gprAnnotator; + } + + + /** + * This method handles the annotation of gene products in a given SBML model. It checks if the model has the FBC plugin + * set and then proceeds to annotate each gene product found within the model. The progress bar is updated to reflect + * the number of gene products being annotated. + */ + @Override + public void annotate(List geneProducts) throws SQLException { + // Iterate over each gene product and annotate it + for (GeneProduct geneProduct : geneProducts) { + statusReport("Annotating Gene Products (5/5) ", geneProduct); + annotate(geneProduct); + } + + } + + /** + * Annotates a gene product by adding relevant metadata and references. + * This method first checks the gene product's ID for validity and retrieves a corresponding BiGGId if available. + * It then attempts to get a label for the gene product. If no label is found, the method returns early. + * If a label is present, it updates the gene product reference in the association, adds annotations using the BiGGId, + * and sets the gene product's metaId if it has any CV terms. Finally, it sets the gene product's label name. + */ + @Override + public void annotate(GeneProduct geneProduct) throws SQLException { + var biggId = findBiGGId(geneProduct); + + String label = getLabel(geneProduct, biggId); + if (label.isEmpty()) { + return; + } + + gprAnnotator.update(geneProduct); + addAnnotations(geneProduct, biggId); + if (geneProduct.getCVTermCount() > 0) { + geneProduct.setMetaId(biggId.toBiGGId()); + } + setGPLabelName(geneProduct, label); + } + + + + /** + * Validates the ID of a {@link GeneProduct} against the expected BiGG ID format and attempts to retrieve a + * corresponding {@link BiGGId} from existing annotations if the initial ID does not conform to the BiGG format. + * The method first checks if the gene product's ID matches the BiGG ID pattern. If it does not match, it then + * tries to find a valid BiGG ID from the gene product's annotations. If a valid BiGG ID is found among the annotations, + * it updates the ID; otherwise, it retains the original ID. + * + * @return An {@link Optional} containing the validated or retrieved BiGG ID, or an empty Optional if no valid ID is found. + */ + @Override + public BiGGId findBiGGId(GeneProduct geneProduct) throws SQLException { + String id = geneProduct.getId(); + boolean isBiGGid = id.matches(BIGG_GENE_ID_PATTERN); + if (!isBiGGid) { + // Collect all resources from CVTerms that qualify as BQB_IS into a list + List resources = geneProduct.getAnnotation().getListOfCVTerms().stream() + .filter(cvTerm -> cvTerm.getQualifier() == Qualifier.BQB_IS) + .flatMap(term -> term.getResources().stream()) + .collect(Collectors.toList()); + // Attempt to update the ID with a valid BiGG ID from the resources, if available + Optional biGGIdFromResources = getBiGGIdFromResources(resources, TYPE_GENE_PRODUCT); + if (biGGIdFromResources.isPresent()) { + return biGGIdFromResources.get(); + } + } + // Create and return a BiGGId object based on the validated or updated ID + return BiGGId.createGeneId(id); + } + + + /** + * Retrieves the label for a gene product based on the provided BiGGId. If the gene product has a label set and it is not "None", + * that label is returned. If no label is set but the gene product has an ID, the BiGGId is converted to a string and returned. + * If neither condition is met, an empty string is returned. + * + * @param biggId An Optional containing the BiGGId of the gene product, which may be used to generate a label if the gene product's own label is not set. + * @return An {@code Optional} containing the label of the gene product, or an empty string if no appropriate label is found. + */ + public String getLabel(GeneProduct geneProduct, BiGGId biggId) { + if (geneProduct.isSetLabel() && !geneProduct.getLabel().equalsIgnoreCase("None")) { + return geneProduct.getLabel(); + } else if (geneProduct.isSetId()) { + return biggId.toBiGGId(); + } else { + return ""; + } + } + + + /** + * Updates the label of a gene product and sets its name based on the retrieved gene name from the BiGG database. + * If the current label is set to "None", it updates the label to the provided one. It then attempts to fetch + * the gene name corresponding to this label from the BiGG database. If a gene name is found, it checks if the + * current gene product name is different from the fetched name. If they differ, it logs a warning and updates + * the gene product name. If no gene name is found, it logs this as a fine-level message. + * + * @param label The label to set or use for fetching the gene name. This label should correspond to a {@link BiGGId} + * or be derived from {@link GeneProduct#getId()}. + */ + public void setGPLabelName(GeneProduct geneProduct, String label) throws SQLException { + // Check if the current label is "None" and update it if so + if (geneProduct.getLabel().equalsIgnoreCase("None")) { + geneProduct.setLabel(label); + } + // Attempt to fetch the gene name from the BiGG database using the label + bigg.getGeneName(label).ifPresent(geneName -> { + // Log if no gene name is associated with the label + if (geneName.isEmpty()) { + logger.debug(format(MESSAGES.getString("NO_GENE_FOR_LABEL"), geneProduct.getName())); + } else { + // Log a warning if the gene product name is set and differs from the fetched gene name + if (geneProduct.isSetName() && !geneProduct.getName().equals(geneName)) { + logger.debug(format(MESSAGES.getString("UPDATE_GP_NAME"), geneProduct.getName(), geneName)); + } + // Update the gene product name with the fetched gene name + geneProduct.setName(geneName); + } + }); + } + + + /** + * Adds annotations to a gene product based on a given {@link BiGGId}. This method differentiates between + * annotations that specify what the gene product 'is' and what it 'is encoded by'. Resources are fetched + * from the BiGG database using the abbreviation from the provided BiGGId. Each resource URL is checked and + * parsed to determine the appropriate category ('is' or 'is encoded by') based on predefined prefixes. + * + * @param biggId The {@link BiGGId} associated with the gene product, typically derived from a species ID. + */ + public void addAnnotations(GeneProduct geneProduct, BiGGId biggId) throws SQLException { + CVTerm termIs = new CVTerm(Qualifier.BQB_IS); + CVTerm termEncodedBy = new CVTerm(Qualifier.BQB_IS_ENCODED_BY); + // Retrieve gene IDs from BiGG database and categorize them based on their prefix + bigg.getGeneIds(biggId.getAbbreviation()).forEach( + uri -> { + switch (IdentifiersOrg.fixIdentifiersOrgUri(uri).getPrefix()) { + case "interpro": + case "pdb": + case "uniprot": + termIs.addResource(uri.getURI()); + break; + default: + termEncodedBy.addResource(uri.getURI()); + } + }); + // Add the CVTerm to the gene product if resources are present + if (termIs.getResourceCount() > 0) { + geneProduct.addCVTerm(termIs); + } + if (termEncodedBy.getResourceCount() > 0) { + geneProduct.addCVTerm(termEncodedBy); + } + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGGeneProductReferencesAnnotator.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGGeneProductReferencesAnnotator.java new file mode 100644 index 00000000..f78be07b --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGGeneProductReferencesAnnotator.java @@ -0,0 +1,84 @@ +package de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc; + +import org.sbml.jsbml.ListOf; +import org.sbml.jsbml.Reaction; +import org.sbml.jsbml.ext.fbc.*; + +import javax.swing.tree.TreeNode; +import java.util.HashMap; +import java.util.Map; + +public class BiGGGeneProductReferencesAnnotator { + + /** + * A static map that holds references to all gene products within a model, facilitating quick updates. + */ + private final Map geneProductReferences = new HashMap<>(); + + + /** + * Initializes the geneProductReferences map by traversing through all reactions and their associated gene products. + * It handles both direct gene product references and nested logical operators that might contain gene product references. + * + * @param reactions The list of reactions to scan for gene product associations. + */ + private void init(ListOf reactions) { + for (Reaction r : reactions) { + for (int childIdx = 0; childIdx < r.getChildCount(); childIdx++) { + TreeNode child = r.getChildAt(childIdx); + if (child instanceof GeneProductAssociation) { + Association association = ((GeneProductAssociation) child).getAssociation(); + if (association instanceof GeneProductRef gpr) { + geneProductReferences.put(gpr.getGeneProduct(), gpr); + } else if (association instanceof LogicalOperator) { + updateFromNestedAssociations(association); + } + } + } + } + } + + + /** + * Updates the reference of a gene product in the geneProductReferences map using the gene product's ID. + * If the gene product ID starts with "G_", it strips this prefix before updating. + * If the map is initially empty, it initializes the map with the current model's reactions. + * + * @param gp The GeneProduct whose reference needs to be updated. + */ + public void update(GeneProduct gp) { + if (geneProductReferences.isEmpty()) { + init(gp.getModel().getListOfReactions()); + } + String id = gp.getId(); + if (id.startsWith("G_")) { + id = id.split("G_")[1]; + } + if (geneProductReferences.containsKey(id)) { + GeneProductRef gpr = geneProductReferences.get(id); + gpr.setGeneProduct(gp.getId()); + } + } + + + /** + * Recursively processes nested associations to map gene products to their references. + * This method traverses through each child of the given association. If the child is a + * LogicalOperator, it recursively processes it. If the child is a GeneProductRef, it + * adds it to the geneProductReferences map. + * + * @param association The association to process, which can contain nested associations. + */ + private void updateFromNestedAssociations(Association association) { + for (int idx = 0; idx < association.getChildCount(); idx++) { + TreeNode child = association.getChildAt(idx); + if (child instanceof LogicalOperator) { + updateFromNestedAssociations((Association) child); + } else { + // This child is assumed to be a GeneProductRef + GeneProductRef gpr = (GeneProductRef) child; + geneProductReferences.put(gpr.getGeneProduct(), gpr); + } + } + } +} diff --git a/src/main/java/edu/ucsd/sbrg/db/PostgreSQLConnector.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/PostgresConnectionPool.java similarity index 57% rename from src/main/java/edu/ucsd/sbrg/db/PostgreSQLConnector.java rename to lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/PostgresConnectionPool.java index 927d8bed..ebc0271c 100644 --- a/src/main/java/edu/ucsd/sbrg/db/PostgreSQLConnector.java +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/PostgresConnectionPool.java @@ -1,58 +1,31 @@ -package edu.ucsd.sbrg.db; +package de.uni_halle.informatik.biodata.mp.db; -import static java.text.MessageFormat.format; +import com.zaxxer.hikari.HikariConfig; +import com.zaxxer.hikari.HikariDataSource; +import org.sbml.jsbml.util.StringTools; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; -import java.util.StringJoiner; -import java.util.logging.Logger; - -import org.sbml.jsbml.util.StringTools; -import com.zaxxer.hikari.HikariConfig; -import com.zaxxer.hikari.HikariDataSource; +import static java.text.MessageFormat.format; -/** - * Created by mephenor on 05.05.17. - */ -class PostgreSQLConnector { +public class PostgresConnectionPool { - /** - * A {@link Logger} for this class. - */ - private static final transient Logger logger = Logger.getLogger(PostgreSQLConnector.class.getName()); - /** - * - */ - private HikariDataSource dataSource; + private static final Logger logger = LoggerFactory.getLogger(PostgresConnectionPool.class); + private final HikariDataSource dataSource; - /** - * @return - * @throws SQLException - */ public Connection getConnection() throws SQLException { return dataSource.getConnection(); } - - /** - * - */ public void close() { dataSource.close(); } - - - /** - * @param host - * @param port - * @param user - * @param password - * @param dbName - */ - PostgreSQLConnector(String host, int port, String user, String password, String dbName) { + public PostgresConnectionPool(String host, int port, String user, String password, String dbName) { password = password == null ? "" : password; Properties properties = new Properties(); properties.setProperty("dataSourceClassName", "org.postgresql.ds.PGSimpleDataSource"); @@ -60,10 +33,11 @@ public void close() { properties.setProperty("dataSource.password", password); properties.setProperty("dataSource.databaseName", dbName); properties.setProperty("dataSource.serverName", host); + properties.setProperty("dataSource.portNumber", Integer.toString(port)); HikariConfig config = new HikariConfig(properties); config.setMaximumPoolSize(16); config.setReadOnly(true); dataSource = new HikariDataSource(config); - logger.fine(format("{0}@{1}:{2}, password={3}", user, host, port, StringTools.fill(password.length(), '*'))); + logger.debug(format("{0}@{1}:{2}, password={3}", user, host, port, StringTools.fill(password.length(), '*'))); } } diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDB.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDB.java new file mode 100644 index 00000000..81086864 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDB.java @@ -0,0 +1,117 @@ +package de.uni_halle.informatik.biodata.mp.db.adb; + +import de.uni_halle.informatik.biodata.mp.db.PostgresConnectionPool; +import de.uni_halle.informatik.biodata.mp.parameters.DBParameters; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.Set; +import java.util.TreeSet; + +import static de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants.BIGG_METABOLITE; +import static de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants.BIGG_REACTION; +import static de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants.Column.NAMESPACE; +import static de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants.Column.SOURCE_NAMESPACE; +import static de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants.Column.SOURCE_TERM; +import static de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants.Column.TARGET_NAMESPACE; +import static de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants.Column.TARGET_TERM; +import static de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants.Column.URLPATTERN; +import static de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants.METABOLITE_PREFIX; +import static de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants.REACTION_PREFIX; +import static de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants.Table.ADB_COLLECTION; +import static de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBContract.Constants.Table.MAPPING_VIEW; + +/** + * @author Kaustubh Trivedi + */ +public class AnnotateDB { + + private static final Logger logger = LoggerFactory.getLogger(AnnotateDB.class); + private static PostgresConnectionPool connectionPool; + + public AnnotateDB () {} + + public static void init(DBParameters parameters) { + String dbName = parameters.dbName(); + String host = parameters.host(); + String passwd = parameters.passwd(); + Integer port = parameters.port(); + String user = parameters.user(); + boolean run = iStrNotNullOrEmpty(dbName); + run &= iStrNotNullOrEmpty(host); + run &= port != null; + run &= iStrNotNullOrEmpty(user); + if (run) { + init(host, port, user, passwd, dbName); + } + } + + private static boolean iStrNotNullOrEmpty(String string) { + return !(string == null || string.isEmpty()); + } + + public static void init(String host, Integer port, String user, String passwd, String dbName) { + if (null == connectionPool) { + logger.debug("Initialize AnnotateDB"); + connectionPool = new PostgresConnectionPool(host, port, user, passwd, dbName); + + Runtime.getRuntime().addShutdownHook(new Thread(connectionPool::close)); + } + } + + + /** + * Retrieves a set of annotated URLs based on the type and BiGG ID provided. + * This method queries the database to find matching annotations and constructs URLs using the retrieved data. + * + * @param type The type of the BiGG ID, which can be either a metabolite or a reaction. + * @param biggId The BiGG ID for which annotations are to be retrieved. The ID may be modified if it starts + * with specific prefixes or ends with an underscore. + * @return A sorted set of URLs that are annotations for the given BiGG ID. If the type is neither metabolite + * nor reaction, or if an SQL exception occurs, an empty set is returned. + */ + public Set getAnnotations(String type, String biggId) throws SQLException { + TreeSet annotations = new TreeSet<>(); + // Check if the type is valid for querying annotations + if (!type.equals(BIGG_METABOLITE) && !type.equals(BIGG_REACTION)) { + return annotations; + } + // Adjust the BiGG ID if it starts with a known prefix + if (type.equals(BIGG_METABOLITE) && biggId.startsWith(METABOLITE_PREFIX)) { + biggId = biggId.substring(2); + } else if (type.equals(BIGG_REACTION) && biggId.startsWith(REACTION_PREFIX)) { + biggId = biggId.substring(2); + } + // Remove trailing underscore from the BiGG ID if present + if (biggId.endsWith("_")) { + biggId = biggId.substring(0, biggId.length() - 2); + } + // SQL query to fetch annotations + String query = "SELECT m." + TARGET_TERM + ", ac." + URLPATTERN + " FROM " + MAPPING_VIEW + " m, " + ADB_COLLECTION + + " ac WHERE m." + SOURCE_NAMESPACE + " = ? AND m." + SOURCE_TERM + " = ? AND ac." + NAMESPACE + " = m." + + TARGET_NAMESPACE + " AND ac.urlpattern != '{$id}'"; + try (Connection connection = connectionPool.getConnection(); + PreparedStatement pStatement = connection.prepareStatement(query)) { + pStatement.setString(1, type); + pStatement.setString(2, biggId); + int i = 0; + try (ResultSet resultSet = pStatement.executeQuery()) { + // Process each result and construct the URL + while (resultSet.next()) { + i++; + String uri = resultSet.getString(URLPATTERN); + String id = resultSet.getString(TARGET_TERM); + uri = uri.replace("{$id}", id); + annotations.add(uri); + } + logger.debug("Added {} annotations from ADB for {} with ID {}", i, type, biggId); + } + } + return annotations; + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBContract.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBContract.java new file mode 100644 index 00000000..dcbd4e4c --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBContract.java @@ -0,0 +1,37 @@ +package de.uni_halle.informatik.biodata.mp.db.adb; + +public final class AnnotateDBContract { + + public static abstract class Constants { + + public static class Table { + + static final String MAPPING_VIEW = "mapping_view"; + static final String ADB_COLLECTION = "adb_collection"; + } + + public static class Column { + + static final String ID = "id"; + static final String SOURCE_NAMESPACE = "source_namespace"; + static final String SOURCE_MIRIAM = "source_miriam"; + static final String SOURCE_TERM = "source_term"; + static final String QUALIFIER = "qualifier"; + static final String TARGET_NAMESPACE = "target_namespace"; + static final String TARGET_MIRIAM = "target_miriam"; + static final String TARGET_TERM = "target_term"; + static final String EVIDENCE_SOURCE = "evidence_source"; + static final String EVIDENCE_VERSION = "evidence_version"; + static final String EVIDENCE = "evidence"; + static final String NAMESPACE = "namespace"; + static final String URLPATTERN = "urlpattern"; + } + + // Other constants + public static final String BIGG_METABOLITE = "bigg.metabolite"; + public static final String BIGG_REACTION = "bigg.reaction"; + static final String METABOLITE_PREFIX = "M_"; + static final String REACTION_PREFIX = "R_"; + static final String GENE_PREFIX = "G_"; + } +} diff --git a/src/main/java/edu/ucsd/sbrg/db/ADBOptions.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBOptions.java similarity index 80% rename from src/main/java/edu/ucsd/sbrg/db/ADBOptions.java rename to lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBOptions.java index e5e1809c..13f76f24 100644 --- a/src/main/java/edu/ucsd/sbrg/db/ADBOptions.java +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/adb/AnnotateDBOptions.java @@ -1,12 +1,14 @@ -package edu.ucsd.sbrg.db; +package de.uni_halle.informatik.biodata.mp.db.adb; import de.zbit.util.prefs.KeyProvider; import de.zbit.util.prefs.Option; /** + * This interface provides options for connecting to the ADB database. + * * @author Kaustubh Trivedi */ -public interface ADBOptions extends KeyProvider { +public interface AnnotateDBOptions extends KeyProvider { /** * diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDB.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDB.java new file mode 100644 index 00000000..1f2ecd70 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDB.java @@ -0,0 +1,891 @@ +/* + * $Id$ + * $URL$ + * --------------------------------------------------------------------- + * This file is part of the program NetBuilder. + * Copyright (C) 2013 by the University of California, San Diego. + * This library is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation. A copy of the license + * agreement is provided in the file named "LICENSE.txt" included with + * this software distribution and also available online as + * . + * --------------------------------------------------------------------- + */ +package de.uni_halle.informatik.biodata.mp.db.bigg; + +import de.zbit.util.ResourceManager; +import de.zbit.util.Utils; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import de.uni_halle.informatik.biodata.mp.parameters.DBParameters; +import de.uni_halle.informatik.biodata.mp.db.PostgresConnectionPool; +import de.uni_halle.informatik.biodata.mp.polishing.NamePolisher; +import de.uni_halle.informatik.biodata.mp.resolver.RegistryURI; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.sql.Date; +import java.sql.*; +import java.util.*; +import java.util.stream.Collectors; + +import static de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBContract.Constants.Column.*; +import static de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBContract.Constants.*; +import static de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBContract.Constants.Table.*; +import static java.text.MessageFormat.format; + +/** + * This class provides a connection to the BiGG database. + * + * @author Andreas Dräger + */ +@SuppressWarnings("ALL") +public class BiGGDB { + + private static final Logger logger = LoggerFactory.getLogger(BiGGDB.class); + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.DB_MESSAGES); + + private static PostgresConnectionPool connectionPool; + + private static Set BiGGDBCompartments = new HashSet<>(); + private static Set BiGGDBDataSources = new HashSet<>(); + private static Set BiGGDBMetabolites = new HashSet<>(); + private static Set BiGGDBModels = new HashSet<>(); + private static Set BiGGDBReactions = new HashSet<>(); + + + public BiGGDB () {} + + private static boolean iStrNotNullOrEmpty(String string) { + return !(string == null || string.isEmpty()); + } + + public static void init(DBParameters parameters) { + String dbName = parameters.dbName(); + String host = parameters.host(); + String passwd = parameters.passwd(); + Integer port = parameters.port(); + String user = parameters.user(); + boolean run = iStrNotNullOrEmpty(dbName); + run &= iStrNotNullOrEmpty(host); + run &= null != port; + run &= iStrNotNullOrEmpty(user); + if (run) { + init(host, port, user, passwd, dbName); + } + } + + public static void init(String host, Integer port, String user, String passwd, String dbName) { + + if (null == connectionPool) { + logger.debug("Initialize BiGG DB"); + connectionPool = new PostgresConnectionPool(host, port, user, passwd, dbName); + + Runtime.getRuntime().addShutdownHook(new Thread(connectionPool::close)); + } + } + + /** + * Retrieves the version date of the BiGG database. + * + * This method queries the database to fetch the date and time of the last update + * from the DATABASE_VERSION table. It returns an {@link Optional} containing the + * date if the query is successful and the date exists, otherwise it returns an empty {@link Optional}. + * + * @return {@link Optional} The date of the last database update, or an empty {@link Optional} if not available. + */ + public Optional getBiGGVersion() throws SQLException { + Optional date = Optional.empty(); + String query = "SELECT " + DATE_TIME + " FROM " + DATABASE_VERSION; + try (Connection connection = connectionPool.getConnection(); + PreparedStatement pStatement = connection.prepareStatement(query); + ResultSet resultSet = pStatement.executeQuery();) { + if (resultSet.next()) { + date = Optional.of(resultSet.getDate(1)); + } + } + return date; + } + + + /** + * Retrieves a list of distinct subsystems associated with a specific model and reaction BiGG IDs. + * This method executes a SQL query to fetch subsystems from the database where both the model and reaction + * match the provided BiGG IDs. Only subsystems with a non-zero length are considered. + * + * @param modelBiGGid The BiGG ID of the model. + * @param reactionBiGGid The BiGG ID of the reaction. + * @return A List of subsystem names as strings. Returns an empty list if no subsystems are found or if an error occurs. + */ + public List getSubsystems(String modelBiGGid, String reactionBiGGid) throws SQLException { + String query = "SELECT DISTINCT mr." + SUBSYSTEM + " FROM " + REACTION + " r, " + MODEL + " m, " + MODEL_REACTION + + " mr WHERE m." + BIGG_ID + " = ? AND r." + BIGG_ID + " = ? AND m." + ID + " = mr." + MODEL_ID + " AND r." + ID + + " = mr." + REACTION_ID + " AND LENGTH(mr." + SUBSYSTEM + ") > 0"; + List list = new LinkedList<>(); + try (Connection connection = connectionPool.getConnection(); + PreparedStatement pStatement = connection.prepareStatement(query)) { + pStatement.setString(1, modelBiGGid); + pStatement.setString(2, reactionBiGGid); + try (ResultSet resultSet = pStatement.executeQuery()) { + while (resultSet.next()) { + list.add(resultSet.getString(1)); + } + } + } + return list; + } + + + /** + * Retrieves a list of distinct subsystems associated with a specific reaction BiGG ID. + * This method executes a SQL query to fetch subsystems from the database where the reaction + * matches the provided BiGG ID. Only subsystems with a non-zero length are considered. + * + * @param reactionBiGGid The BiGG ID of the reaction for which subsystems are to be retrieved. + * @return A List of subsystem names as strings. Returns an empty list if no subsystems are found or if an error occurs. + */ + public List getSubsystemsForReaction(String reactionBiGGid) throws SQLException { + String query = "SELECT DISTINCT mr." + SUBSYSTEM + " FROM " + REACTION + " r, " + MODEL_REACTION + " mr WHERE r." + + BIGG_ID + " = ? AND r." + ID + " = mr." + REACTION_ID + " AND LENGTH(mr." + SUBSYSTEM + ") > 0"; + List list = new LinkedList<>(); + try (Connection connection = connectionPool.getConnection(); + PreparedStatement pStatement = connection.prepareStatement(query)) { + pStatement.setString(1, reactionBiGGid); + try (ResultSet resultSet = pStatement.executeQuery()) { + while (resultSet.next()) { + list.add(resultSet.getString(1)); + } + } + } + return list; + } + + + /** + * Retrieves the unique chemical formula for a given component within a specific compartment. + * This method queries the database to find the distinct chemical formula associated with the specified + * component and compartment IDs. It ensures that the formula is unique for the given parameters. + * If multiple distinct formulas are found, it logs a warning indicating ambiguity. + * + * @param componentId The BiGG ID of the component for which the chemical formula is to be retrieved. + * @param compartmentId The BiGG ID of the compartment where the component is located. + * @return An {@link Optional} containing the chemical formula if exactly one unique formula is found, + * otherwise an empty {@link Optional} if none or multiple formulas are found. + */ + public Optional getChemicalFormulaByCompartment(String componentId, String compartmentId) throws SQLException { + String query = "SELECT DISTINCT mcc." + FORMULA + " FROM " + MCC + " mcc, " + COMPARTMENTALIZED_COMPONENT + " cc, " + + COMPONENT + " c, " + COMPARTMENT + " co WHERE c." + BIGG_ID + " = ? AND c." + ID + " = cc." + COMPONENT_ID + + " AND co." + BIGG_ID + " = ? AND co." + ID + " = cc." + COMPARTMENT_ID + " and cc." + ID + " = mcc." + + COMPARTMENTALIZED_COMPONENT_ID + " AND mcc." + FORMULA + " <> '' ORDER BY mcc." + FORMULA; + Set results = runFormulaQuery(query, componentId, compartmentId); + if (results.size() == 1) { + return Optional.of(results.iterator().next()); + } else { + if (results.size() > 1) { + logger.debug(format(MESSAGES.getString("FORMULA_COMPARTMENT_AMBIGUOUS"), componentId, compartmentId)); + } + return Optional.empty(); + } + } + + + /** + * Executes a database query to retrieve distinct chemical formulas based on the provided SQL query. + * This method is designed to handle queries that fetch chemical formulas for a specific component + * within either a compartment or a model, depending on the IDs provided. + * + * @param query The SQL query string that retrieves distinct chemical formulas. + * @param componentId The BiGG ID of the component for which the formula is being retrieved. + * @param compartmentOrModelId The BiGG ID of either the compartment or the model associated with the component. + * @return A set of unique chemical formulas as strings. If no valid formulas are found, returns an empty set. + */ + private Set runFormulaQuery(String query, String componentId, String compartmentOrModelId) throws SQLException { + Set results = new HashSet<>(); + try (Connection connection = connectionPool.getConnection()) { + try (PreparedStatement pStatement = connection.prepareStatement(query)) { + pStatement.setString(1, componentId); + pStatement.setString(2, compartmentOrModelId); + try (ResultSet resultSet = pStatement.executeQuery()) { + while (resultSet.next()) { + results.add(resultSet.getString(1)); + } + } + } + } + return results.stream().filter(formula -> formula != null && !formula.isEmpty()).collect(Collectors.toSet()); + } + + + /** + * Retrieves the chemical formula for a given component within a specific model in the BiGG database. + * This method executes a SQL query to find distinct chemical formulas associated with the component and model IDs provided. + * If exactly one unique formula is found, it is returned. If none or multiple formulas are found, an empty Optional is returned. + * In case of multiple formulas, a log entry is made indicating the ambiguity. + * + * @param componentId The BiGG ID of the component for which the formula is being retrieved. + * @param modelId The BiGG ID of the model in which the component is present. + * @return An {@link Optional} containing the chemical formula if exactly one is found, otherwise empty. + */ + public Optional getChemicalFormula(String componentId, String modelId) throws SQLException { + String query = "SELECT DISTINCT mcc." + FORMULA + "\n FROM " + COMPONENT + " c,\n" + COMPARTMENTALIZED_COMPONENT + + " cc,\n" + MODEL + " m,\n" + MCC + " mcc\n WHERE c." + ID + " = cc." + COMPONENT_ID + " AND\n cc." + ID + + " = mcc." + COMPARTMENTALIZED_COMPONENT_ID + " AND\n c." + BIGG_ID + " = ? AND\n m." + BIGG_ID + " = ? AND\n m." + + ID + " = mcc." + MODEL_ID + " AND mcc." + FORMULA + " <> ''"; + Set results = runFormulaQuery(query, componentId, modelId); + if (results.size() == 1) { + return Optional.of(results.iterator().next()); + } else { + if (results.size() > 1) { + logger.debug(format(MESSAGES.getString("FORMULA_MODEL_AMBIGUOUS"), componentId, modelId)); + } + return Optional.empty(); + } + } + + + /** + * Retrieves the name of the compartment associated with the given BiGG ID from the database. + * This method constructs a SQL query to select the compartment name where the BiGG ID matches + * and the name is not an empty string. + * + * @param biggId The BiGGId object containing the abbreviation of the compartment. + * @return An {@link Optional} containing the name of the compartment if found, otherwise empty. + */ + public Optional getCompartmentName(BiGGId biggId) throws SQLException { + String query = "SELECT " + NAME + " FROM " + COMPARTMENT + " WHERE " + BIGG_ID + " = ? AND " + NAME + " <> ''"; + return singleParamStatement(query, biggId.getAbbreviation()); + } + + + /** + * Executes a SQL query with a single parameter and returns the result as an Optional. + * This method is designed to handle queries that are expected to return a single result. + * If multiple results are found, a severe log is recorded indicating the issue. + * + * @param query The SQL query to be executed. It should contain exactly one placeholder for the parameter. + * @param param The parameter value to be used in the SQL query. + * @return An {@link Optional} containing the result if exactly one result is found, otherwise empty. + */ + public Optional singleParamStatement(String query, String param) throws SQLException { + Set results = new HashSet<>(); + try (Connection connection = connectionPool.getConnection(); + PreparedStatement pStatement = connection.prepareStatement(query)){ + pStatement.setString(1, param); + try (ResultSet resultSet = pStatement.executeQuery()) { + while (resultSet.next()) { + results.add(resultSet.getString(1)); + } + } + } + results = results.stream().filter(result -> result != null && !result.isEmpty()).collect(Collectors.toSet()); + if (results.size() == 1) { + return Optional.of(results.iterator().next()); + } else { + if (results.size() > 1) { + logger.debug(format(MESSAGES.getString("QUERY_MULTIPLE_RESULTS"), param, query)); + } + return Optional.empty(); + } + } + + + /** + * Retrieves the name of the component associated with the given BiGG ID from the database. + * This method constructs a SQL query to select the component name where the BiGG ID matches + * and the name is not an empty string. + * + * @param biggId The BiGGId object containing the abbreviation of the component. + * @return An {@link Optional} containing the name of the component if found, otherwise empty. + */ + public Optional getComponentName(BiGGId biggId) throws SQLException { + String query = "SELECT " + NAME + " FROM " + COMPONENT + " WHERE " + BIGG_ID + " = ? AND " + NAME + " <> ''"; + return singleParamStatement(query, biggId.getAbbreviation()).map(name -> new NamePolisher().polish(name)); + } + + /** + * Retrieves the type of the component associated with the given BiGG ID from the database. + * This method constructs a SQL query to select the component type where the BiGG ID matches + * and the name field is not an empty string. + * + * @param biggId The BiGGId object containing the abbreviation of the component. + * @return An {@link Optional} containing the type of the component if found, otherwise empty. + */ + public Optional getComponentType(BiGGId biggId) throws SQLException { + String query = "SELECT " + TYPE + " FROM " + COMPONENT + " WHERE " + BIGG_ID + " = ? AND " + NAME + " <> ''"; + return singleParamStatement(query, biggId.getAbbreviation()); + } + + + /** + * Retrieves all possible MIRIAM-compliant gene identifiers from the database based on a given label. + * This method queries the database for gene identifiers that match the provided label and are compliant + * with MIRIAM standards. Non-compliant entries are ignored. + * + * @param label The label used to query gene identifiers. + * @return A TreeSet containing unique, sorted MIRIAM-compliant gene identifiers. + */ + public TreeSet getGeneIds(String label) throws SQLException { + TreeSet results = new TreeSet<>(); + String query = "SELECT " + URL_PREFIX + ", s." + SYNONYM + "\n" + + "FROM " + DATA_SOURCE + " d, " + SYNONYM + " s, " + GENOME_REGION + " gr\n" + + "WHERE d." + ID + " = s." + DATA_SOURCE_ID + " AND\n s." + OME_ID + " = gr." + ID + + " AND\n gr." + BIGG_ID + " = ? AND\n d." + BIGG_ID + " != " + OLD_BIGG_ID + + " AND\n d." + BIGG_ID + " NOT LIKE " + + REFSEQ_PATTERN; + try (Connection connection = connectionPool.getConnection(); + PreparedStatement pStatement = connection.prepareStatement(query)){ + pStatement.setString(1, label); + try (ResultSet resultSet = pStatement.executeQuery()) { + while (resultSet.next()) { + String resource; + String prefix = resultSet.getString(1); + String id = resultSet.getString(2); + if (prefix != null && id != null) { + + if (prefix.startsWith("http://identifiers.org/")) { + String[] segments = prefix.split("/"); + prefix = segments[segments.length - 1]; + } + + results.add(new IdentifiersOrgURI(prefix, id)); + } else if (prefix == null) { + logger.debug(format(MESSAGES.getString("COLLECTION_NULL_GENE"), label)); + continue; + } else { + logger.debug(format(MESSAGES.getString("IDENTIFIER_NULL_GENE"), prefix)); + continue; + } + } + } + } + return results; + } + + + /** + * Retrieves the gene name from the database based on a given label. + * This method constructs a SQL query to fetch the synonym of a gene that matches the given label, + * ensuring that the gene is associated with a valid data source and genome region, and that the + * synonym is not empty. The query specifically looks for entries where the data source's BIGG ID + * matches the REFSEQ naming convention. + * + * @param label The label used to query the gene name, typically a BIGG ID. + * @return An {@link Optional} containing the gene name if found, otherwise an empty {@link Optional}. + */ + public Optional getGeneName(String label) throws SQLException { + String query = "SELECT s." + SYNONYM + "\n" + "FROM " + DATA_SOURCE + " d, " + SYNONYM + " s, " + GENOME_REGION + + " gr\n" + "WHERE d." + ID + " = s." + DATA_SOURCE_ID + " AND\n s." + OME_ID + " = gr." + ID + " AND\n gr." + + BIGG_ID + " = ? AND\n d." + BIGG_ID + " LIKE " + REFSEQ_NAME + " AND s." + SYNONYM_COL + " <> ''"; + return singleParamStatement(query, label); + } + + + /** + * Retrieves formatted gene reaction rules for a specific reaction and model from the database. + * This method constructs a SQL query to fetch and format the gene reaction rules associated with + * the given reaction ID and model ID. The formatting includes replacing logical operators 'or' and 'and' + * with {@code ||} and {@code &&}, respectively, and substituting certain characters to comply with SBML standards. + * + * @param reactionId The ID of the reaction for which gene reaction rules are to be retrieved. + * @param modelId The ID of the model associated with the reaction. + * @return A list of formatted gene reaction rules as strings. + */ + public List getGeneReactionRule(String reactionId, String modelId) throws SQLException { + return getReactionRules("SELECT REPLACE(REPLACE(RTRIM(REPLACE(REPLACE(mr." + GENE_REACTION_RULE + + ", 'or', '||'), 'and', '&&'), '.'), '.', '__SBML_DOT__'), '_AT', '__SBML_DOT__') AS " + GENE_REACTION_RULE + + " FROM " + MODEL_REACTION + " mr, " + REACTION + " r, " + MODEL + " m WHERE r." + ID + " = mr." + REACTION_ID + + " AND m." + ID + " = mr." + MODEL_ID + " AND mr." + GENE_REACTION_RULE + " IS NOT NULL AND LENGTH(mr." + + GENE_REACTION_RULE + ") > 0 AND r." + BIGG_ID + " = ? AND m." + BIGG_ID + " = ? AND mr." + GENE_REACTION_RULE + + " <> '' ORDER BY mr." + ID, reactionId, modelId); + } + + + /** + * Executes a provided SQL query to retrieve gene reaction rules from the database. + * This method prepares a statement with the given query, setting the specified reactionId and modelId as parameters. + * It then executes the query and collects the results into a list of strings. + * + * @param query The SQL query string that retrieves gene reaction rules, expecting two placeholders for parameters. + * @param reactionId The ID of the reaction to be used as the first parameter in the SQL query. + * @param modelId The ID of the model to be used as the second parameter in the SQL query. + * @return A list of strings where each string is a gene reaction rule retrieved based on the given IDs. + */ + public List getReactionRules(String query, String reactionId, String modelId) throws SQLException { + List results = new ArrayList<>(); + try (Connection connection = connectionPool.getConnection(); + PreparedStatement pStatement = connection.prepareStatement(query)){ + pStatement.setString(1, reactionId); + pStatement.setString(2, modelId); + try (ResultSet resultSet = pStatement.executeQuery()) { + while (resultSet.next()) { + results.add(resultSet.getString(1)); + } + } + } + return results; + } + + + /** + * Retrieves the organism associated with a given BiGG model abbreviation from the database. + * This method constructs and executes a SQL query that joins the GENOME and MODEL tables to find the organism + * corresponding to the specified model abbreviation. + * + * @param abbreviation The abbreviation of the model for which the organism is to be retrieved. + * @return An Optional containing the organism name if found, otherwise an empty Optional. + */ + public Optional getOrganism(String abbreviation) throws SQLException { + String query = "SELECT g." + ORGANISM + " FROM " + GENOME + " g, " + MODEL + " m WHERE m." + GENOME_ID + " = g." + + ID + " AND m." + BIGG_ID + " = ?"; + return singleParamStatement(query, abbreviation); + } + + + /** + * Retrieves a list of publications associated with a given BiGG model abbreviation from the database. + * This method constructs and executes a SQL query that joins the PUBLICATION, PUBLICATION_MODEL, and MODEL tables + * to find the publications related to the specified model abbreviation. + * + * @param abbreviation The abbreviation of the model for which the publications are to be retrieved. + * @return A list of pairs where each pair consists of a publication type and its corresponding ID. + */ + public List getPublications(String abbreviation) throws SQLException { + List results = new ArrayList<>(); + String query = "SELECT p." + REFERENCE_TYPE + ", p." + REFERENCE_ID + " FROM " + PUBLICATION + " p, " + + PUBLICATION_MODEL + " pm, " + MODEL + " m WHERE p." + ID + " = pm." + PUBLICATION_ID + " AND pm." + MODEL_ID + + " = m." + ID + " AND m." + BIGG_ID + " = ?"; + try (Connection connection = connectionPool.getConnection(); + PreparedStatement pStatement = connection.prepareStatement(query)){ + pStatement.setString(1, abbreviation); + try (ResultSet resultSet = pStatement.executeQuery()) { + while (resultSet.next()) { + String key = resultSet.getString(1); + results.add(new Publication(key.equals("pmid") ? "pubmed" : key, resultSet.getString(2))); + } + } + } + return results; + } + + + /** + * Retrieves the name of a reaction based on its BiGG ID abbreviation, ensuring the name is not empty. + * This method constructs and executes a SQL query that selects the reaction name from the REACTION table + * where the BIGG_ID matches the specified abbreviation and the name is not an empty string. + * + * @param abbreviation The abbreviation of the reaction for which the name is to be retrieved. + * @return An Optional containing the reaction name if found and not empty, otherwise an empty Optional. + */ + public Optional getReactionName(String abbreviation) throws SQLException { + String query = "SELECT " + NAME + " FROM " + REACTION + " WHERE " + BIGG_ID + " = ? AND " + NAME + " <> ''"; + return singleParamStatement(query, abbreviation).map(name -> new NamePolisher().polish(name)); + } + + + /** + * Retrieves a set of resource URLs for a given BiGG ID, optionally filtering to include only those containing 'identifiers.org'. + * This method constructs and executes a SQL query to fetch URLs from the database based on the type of BiGG ID (reaction or component). + * It then filters these URLs based on the 'includeAnyURI' parameter. + * + * @param biggId The BiGG ID object containing the abbreviation of the model component or reaction. + * @param includeAnyURI If true, all URLs are included; if false, only URLs containing 'identifiers.org' are included. + * @param isReaction If true, the BiGG ID is treated as a reaction; if false, it is treated as a component. + * @return A sorted set of URLs as strings, potentially filtered by the 'identifiers.org' domain. + */ + public Set getResources(BiGGId biggId, boolean includeAnyURI, boolean isReaction) throws SQLException { + String type = isReaction ? REACTION : COMPONENT; + Set resources = new TreeSet<>(); + String query = format( + "SELECT CONCAT(" + URL_PREFIX + ", s." + SYNONYM_COL + ") AS " + URL + " FROM {0} t, " + SYNONYM + " s, " + + DATA_SOURCE + " d WHERE t." + ID + " = s." + OME_ID + " AND s." + DATA_SOURCE_ID + " = d." + ID + " AND " + + URL_PREFIX + " IS NOT NULL AND {1} AND t." + BIGG_ID + " = ? {2}", + type, getTypeQuery(isReaction), includeAnyURI ? "" : "AND " + URL_PREFIX + " LIKE '%%identifiers.org%%'"); + try (Connection connection = connectionPool.getConnection(); + PreparedStatement pStatement = connection.prepareStatement(query)) { + pStatement.setString(1, biggId.getAbbreviation()); + try (ResultSet resultSet = pStatement.executeQuery()) { + while (resultSet.next()) { + String result = resultSet.getString(1); + resources.add(new IdentifiersOrgURI(result)); + } + } + } + return resources; + } + + + /** + * Constructs a SQL query condition based on whether the subject is a reaction or a component. + * This method dynamically generates part of a SQL WHERE clause. If the subject is a reaction, + * it matches the type strictly with 'REACTION'. If it's not a reaction, it matches the type + * with either 'COMPONENT' or 'COMPARTMENTALIZED_COMPONENT'. + * + * @param isReaction A boolean indicating if the subject is a reaction (true) or not (false). + * @return A string representing a SQL WHERE clause condition based on the type of subject. + */ + private String getTypeQuery(boolean isReaction) { + if (isReaction) { + return "CAST(s." + TYPE + " AS \"text\") = '" + REACTION + "'"; + } + return "(CAST(s." + TYPE + " AS \"text\") = '" + COMPONENT + "' OR CAST(s." + TYPE + " AS \"text\") = '" + + COMPARTMENTALIZED_COMPONENT + "')"; + } + + + /** + * Retrieves the taxonomic identifier (taxon ID) for a given model based on its abbreviation. + * This method queries the database to find the taxon ID associated with the model's abbreviation. + * If multiple taxon IDs are found for the same abbreviation, a severe log message is generated. + * + * @param abbreviation The abbreviation of the model for which the taxon ID is being queried. + * @return An {@link Optional} containing the taxon ID if found; otherwise, an empty {@link Optional}. + */ + public Optional getTaxonId(String abbreviation) throws SQLException { + Integer result = null; + String query = "SELECT " + TAXON_ID + " FROM " + GENOME + " g, " + MODEL + " m WHERE g." + ID + " = m." + GENOME_ID + + " AND m." + BIGG_ID + " = ? AND " + TAXON_ID + " IS NOT NULL"; + try (Connection connection = connectionPool.getConnection(); + PreparedStatement pStatement = connection.prepareStatement(query)) { + pStatement.setString(1, abbreviation); + try (ResultSet resultSet = pStatement.executeQuery()) { + while (resultSet.next()) { + if (result != null) { + logger.debug(format(MESSAGES.getString("QUERY_TAXON_MULTIPLE_RESULTS"), abbreviation)); + } else { + result = resultSet.getInt(1); + } + } + } + } + return result == null ? Optional.empty() : Optional.of(result); + } + + + /** + * Retrieves the genome accession for a given model ID from the BiGG database. + * The accession can be used to construct URLs for accessing genomic data from various sources. + * The URLs can be formed using the accession ID with the following patterns: + * - https://identifiers.org/refseq:{$id} + * - https://www.ncbi.nlm.nih.gov/nuccore/{$id} + * - https://www.ncbi.nlm.nih.gov/assembly/{$id} + * + * @param id The model ID present in BiGG. + * @return The accession string which can be appended to the base URLs mentioned above. + * If the query fails or no accession is found, an empty string is returned. + */ + public String getGenomeAccesion(String id) throws SQLException { + String query = "SELECT g." + ACCESSION_VALUE + " FROM " + GENOME + " g, " + MODEL + " m WHERE m." + BIGG_ID + + " = ? AND m." + GENOME_ID + " = g." + ID; + String result = ""; + try (Connection connection = connectionPool.getConnection(); + PreparedStatement pStatement = connection.prepareStatement(query)) { + pStatement.setString(1, id); + try (ResultSet resultSet = pStatement.executeQuery()) { + // There should always be exactly one entry, as the presence of a BiGG model ID is verified beforehand. + if (resultSet.next()) { + result = resultSet.getString(1); + } + } + } + // The result should be non-empty as the query is expected to always return exactly one result. + return result; + } + + + /** + * Retrieves a set of unique BiGG IDs from a specified table in the database. + * This method queries the database for all unique BiGG IDs in the specified table and returns them as a set. + * The IDs are ordered by their natural ordering in the database. + * + * @param table The name of the database table from which to retrieve BiGG IDs. + * @return A Set of strings containing unique BiGG IDs from the specified table. If an SQL error occurs, + * the returned set will be empty. + */ + public Set getAllBiggIds(String table) throws SQLException { + Set biggIds = new LinkedHashSet<>(); + String query = "SELECT " + BIGG_ID + " FROM " + table + " ORDER BY " + BIGG_ID; + try (Connection connection = connectionPool.getConnection(); + PreparedStatement pStatement = connection.prepareStatement(query)) { + try (ResultSet resultSet = pStatement.executeQuery()) { + while (resultSet.next()) { + biggIds.add(resultSet.getString(1)); + } + } + } + return biggIds; + } + + + /** + * Retrieves the charge associated with a specific component in a given compartment when the model ID is unknown. + * This method executes a SQL query to find a distinct charge value for a component based on its BiGG ID and + * the compartment's BiGG ID. The method ensures that the charge value is not empty and returns it if it is unique. + * + * @param componentId The BiGG ID of the component. + * @param compartmentId The BiGG ID of the compartment. + * @return An {@link Optional} containing the charge if it is unique and present; otherwise, an empty {@link Optional}. + * If multiple unique charge values are found, a warning is logged. + */ + public Optional getChargeByCompartment(String componentId, String compartmentId) throws SQLException { + String query = "SELECT DISTINCT mcc." + CHARGE + " FROM " + MCC + " mcc, " + COMPARTMENTALIZED_COMPONENT + " cc, " + + COMPONENT + " c, " + COMPARTMENT + " co WHERE c." + BIGG_ID + " = ? AND c." + ID + " = cc." + COMPONENT_ID + + " AND co." + BIGG_ID + " = ? AND co." + ID + " = cc." + COMPARTMENT_ID + " and cc." + ID + " = mcc." + + COMPARTMENTALIZED_COMPONENT_ID + " AND LENGTH(CAST( mcc." + CHARGE + " AS text)) > 0 ORDER BY mcc." + CHARGE; + Set results = runChargeQuery(query, componentId, compartmentId); + if (results.size() == 1) { + return Optional.of(Integer.parseInt(results.iterator().next())); + } else { + if (results.size() > 1) { + logger.debug(format(MESSAGES.getString("CHARGE_NOT_UNIQUE_COMPARTMENT"), componentId, compartmentId)); + } + return Optional.empty(); + } + } + + + /** + * Executes a SQL query to retrieve distinct charge values based on the provided query string. + * This method prepares and executes a SQL statement using the provided component ID and compartment or model ID. + * It collects the results into a set, ensuring that only non-null and non-empty values are included. + * + * @param query The SQL query string to execute, expecting placeholders for componentId and compartmentOrModelId. + * @param componentId The BiGG ID of the component, used to replace the first placeholder in the query. + * @param compartmentOrModelId The BiGG ID of the compartment or model, used to replace the second placeholder in the query. + * @return A Set of strings containing distinct charge values from the query results. If no valid results are found, returns an empty set. + */ + private Set runChargeQuery(String query, String componentId, String compartmentOrModelId) throws SQLException { + Set results = new HashSet<>(); + try (Connection connection = connectionPool.getConnection(); + PreparedStatement pStatement = connection.prepareStatement(query)) { + pStatement.setString(1, componentId); + pStatement.setString(2, compartmentOrModelId); + try (ResultSet resultSet = pStatement.executeQuery()) { + while (resultSet.next()) { + results.add(resultSet.getString(1)); + } + } + } + return results.stream().filter(charge -> charge != null && !charge.isEmpty()).collect(Collectors.toSet()); + } + + + /** + * Retrieves the charge for a given component and model from the database. + * This method executes a SQL query to select distinct charge values associated with the specified component ID + * and model ID. It ensures that the charge value is not null. + * + * @param componentId The BiGG ID of the component. + * @param modelId The BiGG ID of the model. + * @return An Optional containing the charge if exactly one distinct charge is found, otherwise an empty Optional. + * If multiple distinct charges are found, a warning is logged. + */ + public Optional getCharge(String componentId, String modelId) throws SQLException { + String query = "SELECT DISTINCT mcc." + CHARGE + "\n FROM " + COMPONENT + " c,\n" + COMPARTMENTALIZED_COMPONENT + + " cc,\n" + MODEL + " m,\n" + MCC + " mcc\n WHERE c." + ID + " = cc." + COMPONENT_ID + " AND\n cc." + ID + + " = mcc." + COMPARTMENTALIZED_COMPONENT_ID + " AND\n c." + BIGG_ID + " = ? AND\n m." + BIGG_ID + " = ? AND\n m." + + ID + " = mcc." + MODEL_ID + " AND mcc." + CHARGE + " IS NOT NULL"; + Set results = runChargeQuery(query, componentId, modelId); + if (results.size() == 1) { + return Optional.of(Integer.parseInt(results.iterator().next())); + } else { + if (results.size() > 1) { + logger.debug(format(MESSAGES.getString("CHARGE_NOT_UNIQUE_MODEL"), componentId, modelId)); + } + return Optional.empty(); + } + } + + + /** + * Determines if a given reaction ID corresponds to a pseudoreaction in the database. + * A pseudoreaction is typically used to represent non-biochemical data flows such as biomass accumulation, + * demand reactions, or exchange reactions. + * + * @param reactionId The BiGG ID of the reaction to be checked. + * @return true if the reaction is a pseudoreaction, false otherwise. + */ + public boolean isPseudoreaction(String reactionId) throws SQLException { + String query = "SELECT " + PSEUDOREACTION + " FROM " + REACTION + " WHERE " + BIGG_ID + " = ?"; + Optional result = singleParamStatement(query, reactionId); + return result.isPresent() && result.get().equals("t"); + } + + + /** + * Retrieves the BiGG ID associated with a given synonym and type from the specified data source. + * This method constructs a SQL query based on the type of biological entity (species, reaction, or gene product) + * and executes it to fetch the corresponding BiGG ID from the database. + * + * @param dataSourceId The ID of the data source where the synonym is registered. + * @param synonym The synonym used to identify the entity in the data source. + * @param type The type of the entity, which can be species, reaction, or gene product. + * @return An Optional containing the BiGG ID if exactly one unique ID is found, otherwise an empty Optional. + */ + public Optional getBiggIdFromSynonym(String dataSourceId, String synonym, String type) { + // Construct the shared part of the SQL query + String sharedQuerySubstring = DATA_SOURCE + " d, " + SYNONYM + " s " + + "WHERE d." + BIGG_ID + " = ? AND d." + ID + " = s." + DATA_SOURCE_ID + + " AND s." + SYNONYM_COL + " = ? AND s." + OME_ID; + + // Build the full query based on the type + String query; + switch (type) { + case TYPE_SPECIES: + query = "SELECT c." + BIGG_ID + " FROM " + COMPONENT + " c, " + sharedQuerySubstring + " = c." + ID; + break; + case TYPE_REACTION: + query = "SELECT r." + BIGG_ID + " FROM " + REACTION + " r, " + sharedQuerySubstring + " = r." + ID; + break; + case TYPE_GENE_PRODUCT: + query = "SELECT g." + LOCUS_TAG + " FROM " + GENE + " g, " + sharedQuerySubstring + " = g." + ID; + break; + default: + return Optional.empty(); + } + + try (Connection connection = connectionPool.getConnection(); + PreparedStatement pStatement = connection.prepareStatement(query)) { + + pStatement.setString(1, dataSourceId); + pStatement.setString(2, synonym); + + try (ResultSet resultSet = pStatement.executeQuery()) { + Set results = new HashSet<>(); + while (resultSet.next()) { + var biggId = resultSet.getString(1); + if (biggId != null && !biggId.isEmpty()) { + results.add(new BiGGId(biggId)); + } + } + + if (results.size() == 1) { + return Optional.of(results.iterator().next()); + } + } + } catch (SQLException exc) { + logger.debug(Utils.getMessage(exc)); + } + + return Optional.empty(); + } + + + /** + * Represents a reaction from an external data source mapped to the BiGG database, including its compartment details. + * "Foreign" in this context refers to the origin of the reaction data from a source outside of the primary BiGG database schema, + * typically involving cross-referencing with external databases or data sources. + */ + public class ForeignReaction { + public final String reactionId; // The BiGG ID of the reaction. + public final String compartmentId; // The BiGG ID of the compartment. + public final String compartmentName; // The name of the compartment. + + /** + * Constructs a new ForeignReaction instance. + * + * @param reactionId The BiGG ID of the reaction. + * @param compartmentId The BiGG ID of the compartment. + * @param compartmentName The name of the compartment. + */ + public ForeignReaction(String reactionId, String compartmentId, String compartmentName) { + this.reactionId = reactionId; + this.compartmentId = compartmentId; + this.compartmentName = compartmentName; + } + } + + /** + * Retrieves a collection of ForeignReaction objects for a given synonym and data source ID. + * This method queries the database to find reactions and their associated compartment details + * based on the provided synonym and data source ID. The term "foreign" indicates that the reactions + * are identified using external data sources, which are then mapped to corresponding entities in the BiGG database. + * + * @return A collection of ForeignReaction objects containing the reaction and compartment details. + */ + public Collection getBiggIdsForReactionForeignId(RegistryURI uri) { + Set results = new HashSet<>(); + + // SQL query to fetch reaction and compartment details + var query = "SELECT R.BIGG_ID AS REACTION_BIGG_ID, " + + "C.BIGG_ID AS COMPARTMENT_BIGG_ID, " + + "C.NAME AS COMPARTMENT_NAME " + + "FROM REACTION R " + + "left join REACTION_MATRIX RM " + + "on RM.REACTION_ID = R.ID " + + "left join COMPARTMENTALIZED_COMPONENT CC " + + "on RM.COMPARTMENTALIZED_COMPONENT_ID = CC.ID " + + "left join COMPARTMENT C " + + "on CC.COMPARTMENT_ID = C.ID " + + "join synonym s " + + "on synonym = ? and r.id = s.ome_id " + + "join data_source d " + + "on s.data_source_id = d.id and d.bigg_id = ?"; + + try (var connection = connectionPool.getConnection(); + var pStatement = connection.prepareStatement(query)) { + pStatement.setString(1, uri.getId()); + pStatement.setString(2, uri.getPrefix()); + try (ResultSet resultSet = pStatement.executeQuery()) { + while (resultSet.next()) { + var reactionBiggId = resultSet.getString(1); + var compartmentBiggId = resultSet.getString(2); + var compartmentName = resultSet.getString(3); + var r = new ForeignReaction(reactionBiggId, compartmentBiggId, compartmentName); + results.add(r); + } + } + } catch (SQLException exc) { + logger.debug(Utils.getMessage(exc)); + } + return results; + } + + public boolean isCompartment(String id) throws SQLException { + if (BiGGDBCompartments.isEmpty()) { + BiGGDBCompartments = getAllBiggIds("compartment"); + } + if (id.startsWith("C_")) { + id = id.substring(2); + } + return BiGGDBCompartments.contains(id); + } + + + public boolean isDataSource(String id) throws SQLException { + if (BiGGDBDataSources.isEmpty()) { + BiGGDBDataSources = getAllBiggIds("data_source"); + } + return BiGGDBDataSources.contains(id); + } + + + public boolean isMetabolite(String id) throws SQLException { + if (BiGGDBMetabolites.isEmpty()) { + BiGGDBMetabolites = getAllBiggIds("component"); + } + if (id.startsWith("M_")) { + id = id.substring(2); + } + return BiGGDBMetabolites.contains(id); + } + + + public boolean isModel(String id) throws SQLException { + if (BiGGDBModels.isEmpty()) { + BiGGDBModels = getAllBiggIds("model"); + } + return BiGGDBModels.contains(id); + } + + + public boolean isReaction(String id) throws SQLException { + if (BiGGDBReactions.isEmpty()) { + BiGGDBReactions = getAllBiggIds("reaction"); + } + if (id.startsWith("R_")) { + id = id.substring(2); + } + return BiGGDBReactions.contains(id); + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBContract.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBContract.java new file mode 100644 index 00000000..b1bf29e9 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBContract.java @@ -0,0 +1,71 @@ +package de.uni_halle.informatik.biodata.mp.db.bigg; + +public final class BiGGDBContract { + + BiGGDBContract() { + } + + public static abstract class Constants { + + public static class Table { + + static final String COMPARTMENT = "compartment"; + static final String COMPARTMENTALIZED_COMPONENT = "compartmentalized_component"; + static final String COMPONENT = "component"; + static final String DATABASE_VERSION = "database_version"; + static final String DATA_SOURCE = "data_source"; + static final String GENE = "gene"; + static final String GENOME = "genome"; + static final String GENOME_REGION = "genome_region"; + static final String MCC = "model_compartmentalized_component"; + static final String MODEL = "model"; + static final String MODEL_REACTION = "model_reaction"; + static final String OLD_BIGG_ID = "'old_bigg_id'"; + static final String PUBLICATION = "publication"; + static final String PUBLICATION_MODEL = "publication_model"; + static final String REACTION = "reaction"; + static final String REFSEQ_PATTERN = "'refseq_%%'"; + static final String REFSEQ_NAME = "'refseq_name'"; + static final String SYNONYM = "synonym"; + static final String URL = "url"; + static final String URL_PREFIX = "url_prefix"; + } + + public static class Column { + + static final String ACCESSION_VALUE = "accession_value"; + static final String BIGG_ID = "bigg_id"; + static final String CHARGE = "charge"; + static final String COMPARTMENTALIZED_COMPONENT_ID = "compartmentalized_component_id"; + static final String COMPARTMENT_ID = "compartment_id"; + static final String COMPONENT_ID = "component_id"; + static final String DATA_SOURCE_ID = "data_source_id"; + static final String DATE_TIME = "date_time"; + static final String DESCRIPTION = "description"; + static final String FIRST_CREATED = "first_created"; + static final String FORMULA = "formula"; + static final String GENE_REACTION_RULE = "gene_reaction_rule"; + static final String GENOME_ID = "genome_id"; + static final String ID = "id"; + static final String MODEL_ID = "model_id"; + static final String NAME = "name"; + static final String OME_ID = "ome_id"; + static final String ORGANISM = "organism"; + static final String PSEUDOREACTION = "pseudoreaction"; + static final String PUBLICATION_ID = "publication_id"; + static final String REACTION_ID = "reaction_id"; + static final String REFERENCE_ID = "reference_id"; + static final String REFERENCE_TYPE = "reference_type"; + static final String SUBSYSTEM = "subsystem"; + static final String TAXON_ID = "taxon_id"; + static final String TYPE = "type"; + static final String SYNONYM_COL = "synonym"; + static final String LOCUS_TAG = "locus_tag"; + } + + // Other constants + public static final String TYPE_SPECIES = "SPECIES"; + public static final String TYPE_REACTION = "REACTION"; + public static final String TYPE_GENE_PRODUCT = "GENE_PRODUCT"; + } +} diff --git a/src/main/java/edu/ucsd/sbrg/db/BiGGDBOptions.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBOptions.java similarity index 86% rename from src/main/java/edu/ucsd/sbrg/db/BiGGDBOptions.java rename to lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBOptions.java index 8aba25d2..fb418da3 100644 --- a/src/main/java/edu/ucsd/sbrg/db/BiGGDBOptions.java +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBOptions.java @@ -1,7 +1,4 @@ -/** - * - */ -package edu.ucsd.sbrg.db; +package de.uni_halle.informatik.biodata.mp.db.bigg; import de.zbit.util.prefs.KeyProvider; import de.zbit.util.prefs.Option; @@ -11,29 +8,14 @@ */ public interface BiGGDBOptions extends KeyProvider { - /** - * - */ @SuppressWarnings("unchecked") Option HOST = new Option<>("BiGG_HOST", String.class, "Host name", "biggdb"); - /** - * - */ @SuppressWarnings("unchecked") Option PORT = new Option<>("BiGG_PORT", Integer.class, "Port", 1310); - /** - * - */ @SuppressWarnings("unchecked") Option USER = new Option<>("BiGG_USER", String.class, "User name", "postgres"); - /** - * - */ @SuppressWarnings("unchecked") Option PASSWD = new Option<>("BiGG_PASSWD", String.class, "Password", "postgres"); - /** - * - */ @SuppressWarnings("unchecked") Option DBNAME = new Option<>("BiGG_DBNAME", String.class, "The name of the database to use.", "bigg"); } diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGId.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGId.java new file mode 100644 index 00000000..db621172 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGId.java @@ -0,0 +1,662 @@ +package de.uni_halle.informatik.biodata.mp.db.bigg; + +import static java.text.MessageFormat.format; + +import java.util.Optional; +import java.util.ResourceBundle; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + +/** + * Represents a BiGG identifier used to uniquely identify various biological entities + * such as reactions, metabolites, and genes within the BiGG database. This class provides methods to parse, validate, + * and manipulate BiGG IDs according to the standards specified in the BiGG database. + *

    + * The BiGG ID typically consists of several parts: + * - A prefix indicating the type of entity (e.g., 'R' for reaction, 'M' for metabolite, 'G' for gene). + * - An abbreviation which is the main identifier part. + * - A compartment code that specifies the cellular location of the metabolite. + * - A tissue code that indicates the tissue specificity of the identifier, applicable in multicellular organisms. + *

    + * This class also includes methods to create BiGG IDs from strings, validate them against known patterns, and + * extract specific parts like the compartment code. It supports handling special cases and correcting common + * formatting issues in BiGG IDs. + *

    + * For a formal description of the structure of BiGG ids see the proposed + * + * BiGG ID specification. + * + * @author Andreas Dräger + * @author Thomas Zajac + */ +public class BiGGId { + + private static final Logger logger = LoggerFactory.getLogger(BiGGId.class); + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.DB_MESSAGES); + /** + * First part of BiGG ID, either R, M or G + */ + private String prefix; + /** + * Second part of BiGG ID, matches [a-zA-Z0-9][a-zA-Z0-9_]+[a-zA-Z0-9] + */ + private String abbreviation; + /** + * Third part of BiGG ID, matches [a-z][a-z0-9]? and exists for compartmentalized metabolites + */ + private String compartmentCode; + /** + * Fourth part of BiGG ID, matches [A-Z][A-Z0-9] + */ + private String tissueCode; + + + enum IDPattern { + + ATPM("[Aa][Tt][Pp][Mm]"), + BIOMASS("(([Rr]_?)?[Bb][Ii][Oo][Mm][Aa][Ss][Ss])(?:_(.+))?"), + COMPARTMENT("[a-zA-Z][a-zA-Z0-9]?"), + METABOLITE_SPECIAL("M_(?[a-zA-Z0-9])_(?[a-z][a-z0-9]?)"), + PSEUDO("(([Rr]_?)?[Ee][Xx]_).*|(([Rr]_?)?[Dd][Mm]_).*|(([Rr]_?)?[Ss]([Ii][Nn])?[Kk]_).*"), + UNIVERSAL("^(?[RMG])_(?[a-zA-Z0-9][a-zA-Z0-9_]+?)(?:_(?[a-z][a-z0-9]?))?" + + "(?:_(?[A-Z][A-Z0-9]?))?$"); + + + private final Pattern pattern; + + + IDPattern(String pattern) { + this.pattern = Pattern.compile(pattern); + } + + + + Pattern get() { + return pattern; + } + } + + + public BiGGId() { + super(); + } + + + + public BiGGId(String id) { + this(); + parseBiGGId(id); + } + + + + public BiGGId(String prefix, String abbreviation, String compartmentCode, String tissueCode) { + this(); + String id = toBiGGId(prefix, abbreviation, compartmentCode, tissueCode); + parseBiGGId(id); + } + + + public static BiGGId createMetaboliteId(String id) { + // Fix the compartment code in the ID + id = fixCompartmentCode(id); + // Correct the ID to conform to BiGG standards if required + id = makeBiGGConform(id); + // Remove leading underscore if present + if (id.startsWith("_")) { + id = id.substring(1); + } + // Standardize the prefix for metabolites from 'm_' to 'M_' + if (id.startsWith("m_")) { + id = id.replaceAll("^m_", "M_"); + } else if (!id.startsWith("M_")) { + id = "M_" + id; + } + // Special handling for one-letter abbreviation metabolites not conforming to the specification, but still + // present in BiGG + Matcher metaboliteSpecialCase = IDPattern.METABOLITE_SPECIAL.get().matcher(id); + if (metaboliteSpecialCase.matches()) { + BiGGId biggId = new BiGGId(); + biggId.setPrefix("M"); + biggId.setAbbreviation(metaboliteSpecialCase.group("abbreviation")); + biggId.setCompartmentCode(metaboliteSpecialCase.group("compartment")); + return biggId; + } else { + return new BiGGId(id); + } + } + + + public static BiGGId createGeneId(String id) { + id = makeBiGGConform(id); + if (id.startsWith("_")) { + id = id.substring(1); + } + if (id.startsWith("g_")) { + id = id.replaceAll("^g_", "G_"); + } else if (!id.startsWith("G_")) { + id = "G_" + id; + } + return new BiGGId(id); + } + + + public static BiGGId createReactionId(String id) { + String prefixStripped = ""; + // Strip the prefix if it starts with 'R_' or 'r_' + if (id.startsWith("R_") || id.startsWith("r_")) { + prefixStripped = id.substring(2); + } + // Check if the original ID is a pseudo-reaction + if (isPseudo(id)) { + return createReactionId(id, true); + } + // Check if the ID without the prefix is a pseudo-reaction + else if (!prefixStripped.isEmpty() && isPseudo(prefixStripped)) { + return createReactionId(prefixStripped, true); + } + // Handle normal reaction ID + else { + return createReactionId(id, false); + } + } + + + /** + * Checks if the given reaction ID corresponds to a pseudo-reaction. + * Pseudo-reactions are predefined patterns that do not correspond to actual biochemical reactions + * but are used for modeling purposes. This method checks if the reaction ID matches any of the + * predefined pseudo-reaction patterns such as ATP maintenance (ATPM), biomass, or generic pseudo-reactions. + * + * @param reactionId The reaction ID to be checked. + * @return true if the reaction ID matches any pseudo-reaction pattern, false otherwise. + */ + private static boolean isPseudo(String reactionId) { + return IDPattern.ATPM.get().matcher(reactionId).matches() || + IDPattern.BIOMASS.get().matcher(reactionId).matches() || + IDPattern.PSEUDO.get().matcher(reactionId).matches(); + } + + + /** + * Creates a BiGG ID for a reaction based on the provided string identifier. + * The method can correct the ID to conform to BiGG standards and adjust the prefix based on whether it is a pseudo-reaction. + * + * @param id The raw reaction ID string. + * @param isPseudo If true, the ID is treated as a pseudo-reaction, affecting the prefix handling. + * @return An Optional containing the BiGGId if the ID is non-empty, or an empty Optional if the ID is empty. + */ + public static BiGGId createReactionId(String id, boolean isPseudo) { + id = makeBiGGConform(id); + if (id.startsWith("_")) { + id = id.substring(1); + } + if (!isPseudo && id.startsWith("r_")) { + id = id.replaceAll("^r_", "R_"); + } else if (!isPseudo && !id.startsWith("R_")) { + id = "R_" + id; + } + return new BiGGId(id); + } + + + /** + * Transforms a given identifier into a format conforming to BiGG ID standards. + * This method applies several transformations to ensure the ID adheres to the required naming conventions: + * - Prefixes IDs starting with a digit with an underscore. + * - Replaces certain characters with specific strings or patterns to avoid conflicts in naming conventions. + * - Extracts and reformats compartment codes enclosed in parentheses or brackets. + * - Removes trailing parts of IDs that are marked as copies. + * - Ensures that only alphanumeric characters and underscores are retained, replacing all other characters with underscores. + * - Trims any trailing underscores from the final ID. + * + * @param id The original identifier that needs to be transformed. + * @return A string representing the transformed identifier conforming to BiGG standards. + */ + private static String makeBiGGConform(String id) { + // Prefix the ID with an underscore if it starts with a digit + if (Character.isDigit(id.charAt(0))) { + id = "_" + id; + } + // Replace problematic characters with specific strings + id = id.replaceAll("[-/]", "__") + .replaceAll("\\.", "__SBML_DOT__") + .replaceAll("\\(", "_LPAREN_") + .replaceAll("\\)", "_RPAREN_") + .replaceAll("\\[", "_LBRACKET_") + .replaceAll("]", "_RBRACKET_"); + // Extract and reformat compartment codes enclosed in parentheses + Pattern parenCompartment = Pattern.compile("_LPAREN_(?.*?)_RPAREN_"); + Matcher parenMatcher = parenCompartment.matcher(id); + if (parenMatcher.find()) { + id = id.replaceAll(parenCompartment.toString(), "_" + parenMatcher.group("paren")); + } + // Extract and reformat compartment codes enclosed in brackets + Pattern bracketCompartment = Pattern.compile("_LBRACKET_(?.*)_RBRACKET_"); + Matcher bracketMatcher = bracketCompartment.matcher(id); + if (bracketMatcher.find()) { + id = id.replaceAll(bracketCompartment.toString(), "_" + bracketMatcher.group("bracket")); + } + // Remove the '_copy' suffix and any trailing digits + if (id.matches(".*_copy\\d*")) { + id = id.substring(0, id.lastIndexOf('_')); + } + // Retain only alphanumeric characters and underscores, replacing all other characters + Pattern alphaNum = Pattern.compile("[a-zA-Z0-9_]"); + StringBuilder builder = new StringBuilder(id.length()); + for (char ch : id.toCharArray()) { + if (alphaNum.matcher(String.valueOf(ch)).matches()) { + builder.append(ch); + } else { + builder.append("_"); + } + } + id = builder.toString(); + // Remove any trailing underscores + if (id.endsWith("_")) { + id = id.substring(0, id.length() - 1); + } + return id; + } + + + public static boolean isValid(String queryId) { + return IDPattern.ATPM.get().matcher(queryId).matches() || IDPattern.BIOMASS.get().matcher(queryId).matches() + || IDPattern.COMPARTMENT.get().matcher(queryId).matches() + || IDPattern.METABOLITE_SPECIAL.get().matcher(queryId).matches() + || IDPattern.PSEUDO.get().matcher(queryId).matches() || IDPattern.UNIVERSAL.get().matcher(queryId).matches(); + } + + + /** + * Corrects the format of compartment codes in the given identifier string. + * This method is specifically designed to handle cases where the compartment code is incorrectly + * formatted with square brackets (e.g., [cc]) instead of the expected underscore format (e.g., _cc_). + * + * @param id The identifier string potentially containing incorrectly formatted compartment codes. + * @return The identifier string with corrected compartment code format. + */ + private static String fixCompartmentCode(String id) { + // Define a pattern to identify and extract compartment codes enclosed in square brackets + Pattern rescueCompartment = Pattern.compile(".*\\[(?[a-z][a-z0-9]?)\\]"); + Matcher rescueMatcher = rescueCompartment.matcher(id); + // Check if the pattern matches and process accordingly + if (rescueMatcher.matches()) { + // Extract the compartment code from the matcher + String compartmentCode = rescueMatcher.group("code"); + // Replace the bracketed compartment code with the underscore format + id = id.replaceAll("\\[[a-z][a-z0-9]?\\]", "_" + compartmentCode + "_"); + // Remove trailing underscore if present + if (id.endsWith("_")) { + id = id.substring(0, id.length() - 1); + } + } + return id; + } + + + /** + * Parses the given identifier into a structured BiGG ID. This method first checks if an ID + * corresponding to a reaction might in fact identify a pseudo-reaction. If it is a pseudo-reaction, + * it is processed accordingly. Otherwise, it checks against the UNIVERSAL pattern to handle + * normal BiGG IDs. If neither condition is met, the ID is handled as a special case. + * + * @param id the identifier to be parsed into a BiGG ID. + */ + private void parseBiGGId(String id) { + Matcher matcher = IDPattern.UNIVERSAL.get().matcher(id); + // Determine if the ID is a pseudo-reaction, which are special cases like ATP maintenance or biomass reactions + boolean isPseudoReaction = id.startsWith("R_") && isPseudo(id); + if (!isPseudoReaction && matcher.matches()) { + // If it matches the universal pattern and is not a pseudo-reaction, handle it as a normal BiGG ID + handleNormalId(matcher); + } else { + // If it does not match or is a pseudo-reaction, handle it according to its special characteristics + handleSpecialCases(id); + } + } + + + /** + * Processes a Matcher object that has matched a BiGG ID against the UNIVERSAL pattern. + * This method extracts the components of the BiGG ID from the Matcher and sets the corresponding fields + * in the BiGGId object. + * + * @param matcher The Matcher object containing the groups corresponding to the components of the BiGG ID. + */ + private void handleNormalId(Matcher matcher) { + String prefix = matcher.group("prefix"); + this.setPrefix(prefix); + String abbreviation = matcher.group("abbreviation"); + this.setAbbreviation(abbreviation); + String compartment = matcher.group("compartment"); + this.setCompartmentCode(compartment); + String tissueCode = matcher.group("tissueCode"); + this.setTissueCode(tissueCode); + } + + + /** + * Handles special cases for BiGG ID parsing where standard parsing fails. + * This method checks the given ID against several predefined patterns to determine + * if the ID corresponds to pseudoreactions, biomass, ATP maintenance (ATPM), or compartment identifiers. + * Depending on the match, it reformats the ID or logs a warning if no known pattern is matched. + * + * @param id The BiGG ID string to be evaluated and handled for special cases. + */ + private void handleSpecialCases(String id) { + Matcher pseudoreactionMatcher = IDPattern.PSEUDO.get().matcher(id); + Matcher biomassMatcher = IDPattern.BIOMASS.get().matcher(id); + Matcher atpmMatcher = IDPattern.ATPM.get().matcher(id); + Matcher compartmentMatcher = IDPattern.COMPARTMENT.get().matcher(id); + if (pseudoreactionMatcher.matches()) { + id = id.replaceAll("^([Rr]_?)?[Ee][Xx]", "EX"); + id = id.replaceAll("^([Rr]_?)?[Dd][Mm]", "DM"); + id = id.replaceAll("^([Rr]_?)?[Ss]([Ii][Nn])?[Kk]", "SK"); + this.setAbbreviation(id); + } else if (biomassMatcher.matches()) { + id = id.replaceAll("^([Rr]_?)?[Bb][Ii][Oo][Mm][Aa][Ss][Ss]", "BIOMASS"); + this.setAbbreviation(id); + } else if (atpmMatcher.matches()) { + this.setAbbreviation("ATPM"); + } else if (compartmentMatcher.matches()) { + this.setAbbreviation(id); + } else { + logger.debug(format(MESSAGES.getString("BIGGID_CONVERSION_FAIL"), id)); + this.setAbbreviation(id); + } + } + + + /** + * Extracts the compartment code from a given identifier if it matches the expected pattern. + * The expected pattern allows an optional prefix "C_" followed by one or two lowercase letters, + * optionally followed by a digit. If the identifier does not match this pattern, an empty + * {@link Optional} is returned. If the identifier starts with "C_", this prefix is removed + * before returning the compartment code. + * + * @param id The identifier from which to extract the compartment code. + * @return An {@link Optional} containing the compartment code if the identifier matches the pattern, + * otherwise an empty {@link Optional}. + */ + public static Optional extractCompartmentCode(String id) { + if (!Pattern.compile("(C_)?[a-z][a-z0-9]?").matcher(id).matches()) { + return Optional.empty(); + } + if (id.startsWith("C_")) { + id = id.substring(2); + } + return Optional.of(id); + } + + + /* + * (non-Javadoc) + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + BiGGId other = (BiGGId) obj; + if (abbreviation == null) { + if (other.abbreviation != null) { + return false; + } + } else if (!abbreviation.equals(other.abbreviation)) { + return false; + } + if (compartmentCode == null) { + if (other.compartmentCode != null) { + return false; + } + } else if (!compartmentCode.equals(other.compartmentCode)) { + return false; + } + if (prefix == null) { + if (other.prefix != null) { + return false; + } + } else if (!prefix.equals(other.prefix)) { + return false; + } + if (tissueCode == null) { + return other.tissueCode == null; + } else + return tissueCode.equals(other.tissueCode); + } + + + + public String getAbbreviation() { + return isSetAbbreviation() ? abbreviation : ""; + } + + + /** + *

      + *
    • Only contain upper and lower case letters, numbers, and underscores + *
    • /[0-9a-zA-Z][a-zA-Z0-9_]+/, only ASCII and don't start with numbers + *
    • When converting old BIGG IDs to BIGG2 IDs, replace a dash with two + * underscores. For example, ala-L becomes ala__L. + *
    • Reactions should be all upper case. Metabolites should be primarily + * lower case, but upper case letters are allowed (ala__L is preferred to + * ALA__L). + *
    + * + * @param abbreviation + * the abbreviation to set + */ + public void setAbbreviation(String abbreviation) { + if (null != abbreviation && !abbreviation.isEmpty()) { + this.abbreviation = abbreviation; + } + } + + + + public String getCompartmentCode() { + return isSetCompartmentCode() ? compartmentCode : ""; + } + + + /** + * One or two characters in length, and contain only lower case letters and + * numbers, and must begin with a lower case letter. /[a-z][a-z0-9]?/ + * + * @param compartmentCode + * the compartmentCode to set + */ + public void setCompartmentCode(String compartmentCode) { + if (null != compartmentCode && !compartmentCode.isEmpty()) { + this.compartmentCode = compartmentCode; + } + } + + + + public String getPrefix() { + return isSetPrefix() ? prefix : ""; + } + + + /** + *
      + *
    • R: reaction + *
    • M: metabolite /[RM]/ + *
    • NOTE: Do we want to have the id entity use R and M, and just remove + * them when constructing the model, or have them just as + * [abbreviation]_[compartment code] and add the prefix when they are put + * into SBML models? Also SBML id's use capital letters (/[RM]/). + *
    + * + * @param prefix + * the prefix to set + */ + public void setPrefix(String prefix) { + if (null != prefix && !prefix.isEmpty()) { + this.prefix = prefix; + } + } + + + + public String getTissueCode() { + return isSetTissueCode() ? tissueCode : ""; + } + + + /** + * One or two characters in length, and contain only upper case letters and + * numbers, and must begin with an upper case letter. /[A-Z][A-Z0-9]?/ + * + * @param tissueCode + * the tissueCode to set + */ + public void setTissueCode(String tissueCode) { + if (null != tissueCode && !tissueCode.isEmpty()) { + this.tissueCode = tissueCode; + } + } + + + /* + * (non-Javadoc) + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((abbreviation == null) ? 0 : abbreviation.hashCode()); + result = prime * result + ((compartmentCode == null) ? 0 : compartmentCode.hashCode()); + result = prime * result + ((prefix == null) ? 0 : prefix.hashCode()); + result = prime * result + ((tissueCode == null) ? 0 : tissueCode.hashCode()); + return result; + } + + + + public boolean isSetAbbreviation() { + return abbreviation != null; + } + + + + public boolean isSetCompartmentCode() { + return compartmentCode != null; + } + + + + public boolean isSetPrefix() { + return prefix != null; + } + + + + public boolean isSetTissueCode() { + return tissueCode != null; + } + + + /** + * Generates a BiGG ID for this object based on its properties. The BiGG ID is constructed by concatenating + * the available properties (prefix, abbreviation, compartment code, and tissue code) in that order, each separated + * by an underscore. Each property is included only if it is set (i.e., not null). + * + * @return A string representing the BiGG ID, constructed by concatenating the set properties with underscores. + * If none of the properties are set, returns an empty string. + */ + public String toBiGGId() { + StringBuilder sb = new StringBuilder(); + // Append prefix if set + if (isSetPrefix()) { + sb.append(getPrefix()); + } + // Append abbreviation if set, prefixed by an underscore if not the first element + if (isSetAbbreviation()) { + if (!sb.isEmpty()) { + sb.append('_'); + } + sb.append(getAbbreviation()); + } + // Append compartment code if set, prefixed by an underscore if not the first element + if (isSetCompartmentCode()) { + if (!sb.isEmpty()) { + sb.append('_'); + } + sb.append(getCompartmentCode()); + } + // Append tissue code if set, prefixed by an underscore if not the first element + if (isSetTissueCode()) { + if (!sb.isEmpty()) { + sb.append('_'); + } + sb.append(getTissueCode()); + } + return sb.toString(); + } + + + /** + * Constructs a BiGG ID using the provided components. Each component is separated by an underscore. + * If a component is null or empty, it is omitted from the final ID. + * + * @param prefix The first part of the BiGG ID, typically representing the type of entity (e.g., 'R', 'M', 'G'). + * @param abbreviation The main identifier, usually an alphanumeric string that uniquely describes the entity. + * @param compartmentCode A code indicating the compartmentalization, relevant for compartmentalized entities. + * @param tissueCode A code representing the tissue specificity, applicable to certain biological models. + * @return A string representing the constructed BiGG ID, formed by concatenating the provided components with underscores. + */ + public String toBiGGId(String prefix, String abbreviation, String compartmentCode, String tissueCode) { + StringBuilder sb = new StringBuilder(); + if (prefix != null && !prefix.isEmpty()) { + sb.append(prefix); + } + if (abbreviation != null && !abbreviation.isEmpty()) { + if (!sb.isEmpty()) { + sb.append('_'); + } + sb.append(abbreviation); + } + if (compartmentCode != null && !compartmentCode.isEmpty()) { + if (!sb.isEmpty()) { + sb.append('_'); + } + sb.append(compartmentCode); + } + if (tissueCode != null && !tissueCode.isEmpty()) { + if (!sb.isEmpty()) { + sb.append('_'); + } + sb.append(tissueCode); + } + return sb.toString(); + } + + + /* + * (non-Javadoc) + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + return getClass().getSimpleName() + " [prefix=" + prefix + ", abbreviation=" + abbreviation + ", compartmentCode=" + + compartmentCode + ", tissueCode=" + tissueCode + "]"; + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/bigg/Publication.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/bigg/Publication.java new file mode 100644 index 00000000..3d30c8f6 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/db/bigg/Publication.java @@ -0,0 +1,4 @@ +package de.uni_halle.informatik.biodata.mp.db.bigg; + +public record Publication(String referenceType, String referenceId) { +} diff --git a/src/main/java/edu/ucsd/sbrg/eco/DAG.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/eco/DAG.java similarity index 78% rename from src/main/java/edu/ucsd/sbrg/eco/DAG.java rename to lib/src/main/java/de/uni_halle/informatik/biodata/mp/eco/DAG.java index 9ab73fdb..f0229ec6 100644 --- a/src/main/java/edu/ucsd/sbrg/eco/DAG.java +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/eco/DAG.java @@ -1,13 +1,13 @@ -package edu.ucsd.sbrg.eco; +package de.uni_halle.informatik.biodata.mp.eco; import org.biojava.nbio.ontology.Term; public class DAG { - private Node root; + private final Node root; - DAG(Term term) { + public DAG(Term term) { root = new Node(term); } @@ -20,9 +20,7 @@ public Node getRoot() { public void traverse(Node node, int counter, StringBuilder sb) { counter++; sb.append("|"); - for (int i = 0; i < counter; i++) { - sb.append("-"); - } + sb.append("-".repeat(Math.max(0, counter))); sb.append("|").append(node.getTerm().getName()).append("\n"); for (Node child : node.getChildren()) { traverse(child, counter, sb); diff --git a/src/main/java/edu/ucsd/sbrg/eco/Node.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/eco/Node.java similarity index 96% rename from src/main/java/edu/ucsd/sbrg/eco/Node.java rename to lib/src/main/java/de/uni_halle/informatik/biodata/mp/eco/Node.java index ec97a60f..d7c23283 100644 --- a/src/main/java/edu/ucsd/sbrg/eco/Node.java +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/eco/Node.java @@ -1,4 +1,4 @@ -package edu.ucsd.sbrg.eco; +package de.uni_halle.informatik.biodata.mp.eco; import java.util.ArrayList; import java.util.List; @@ -6,14 +6,14 @@ import org.biojava.nbio.ontology.Term; -class Node { +public class Node { private Term term; private List parents; private List children; - Node(Term term) { + public Node(Term term) { this.term = term; parents = new ArrayList<>(); children = new ArrayList<>(); @@ -79,9 +79,7 @@ public List getParents() { /** * Returns the Node containing the specified Term or null, if not present - * - * @param term - * @return + * */ public Node findTerm(Term term) { if (this.getTerm().equals(term)) { diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/AbstractFixer.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/AbstractFixer.java new file mode 100644 index 00000000..b55e025b --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/AbstractFixer.java @@ -0,0 +1,34 @@ +package de.uni_halle.informatik.biodata.mp.fixing; + +import de.uni_halle.informatik.biodata.mp.reporting.IReportStatus; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressUpdate; +import de.uni_halle.informatik.biodata.mp.reporting.ReportType; + +import java.util.ArrayList; +import java.util.List; + +public abstract class AbstractFixer implements IReportStatus { + + private final List observers; + + protected AbstractFixer(List observers) { + this.observers = observers; + } + + public AbstractFixer() { + observers = new ArrayList<>(); + } + + @Override + public void statusReport(String text, Object element) { + for (var o : observers) { + o.update(new ProgressUpdate(text, element, ReportType.STATUS)); + } + } + + public List getObservers() { + return observers; + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/CompartmentFixer.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/CompartmentFixer.java new file mode 100644 index 00000000..8d0e2f0c --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/CompartmentFixer.java @@ -0,0 +1,34 @@ +package de.uni_halle.informatik.biodata.mp.fixing; + +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import org.sbml.jsbml.Compartment; + +import java.util.List; + +public class CompartmentFixer extends AbstractFixer implements IFixSBases { + + protected CompartmentFixer(List observers) { + super(observers); + } + + + @Override + public void fix(List rs) { + statusReport("Fixing Compartments (4/6) ", rs); + IFixSBases.super.fix(rs); + } + + + @Override + public void fix(Compartment compartment, int index) { + if (!compartment.isSetId()) { + compartment.setId("default_id_" + index); // default ID if none is set + } + + // Ensure the compartment's 'constant' property is set to true if not already specified + if (!compartment.isSetConstant()) { + compartment.setConstant(true); + } + + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/FixingOptions.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/FixingOptions.java new file mode 100644 index 00000000..376b3df3 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/FixingOptions.java @@ -0,0 +1,27 @@ +package de.uni_halle.informatik.biodata.mp.fixing; + +import de.zbit.util.ResourceManager; +import de.zbit.util.prefs.KeyProvider; +import de.zbit.util.prefs.Option; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; + +import java.util.ResourceBundle; + +public interface FixingOptions extends KeyProvider { + + ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.FIXING_MESSAGES); + + @SuppressWarnings("unchecked") + Option DONT_FIX = + new Option<>("DONT_FIX", Boolean.class, "Don't run the fixer module on the input.", + Boolean.FALSE); + + @SuppressWarnings("unchecked") + Option FLUX_COEFFICIENTS = + new Option<>("FLUX_COEFFICIENTS", Double[].class, MESSAGES.getString("FLUX_COEFF_DESC"), new Double[0]); + + @SuppressWarnings("unchecked") + Option FLUX_OBJECTIVES = + new Option<>("FLUX_OBJECTIVES", String[].class, MESSAGES.getString("FLUX_OBJ_DESC"), new String[0]); + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/IFixSBases.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/IFixSBases.java new file mode 100644 index 00000000..e0583372 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/IFixSBases.java @@ -0,0 +1,19 @@ +package de.uni_halle.informatik.biodata.mp.fixing; + +import org.sbml.jsbml.SBase; + +import java.util.List; + +public interface IFixSBases { + + default void fix(List elements) { + if (null != elements) { + var iterator = elements.listIterator(); + while (iterator.hasNext()) { + fix(iterator.next(), iterator.nextIndex()); + } + } + } + + void fix(SBMLElement element, int index); +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/IFixSpeciesReferences.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/IFixSpeciesReferences.java new file mode 100644 index 00000000..c0cdde48 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/IFixSpeciesReferences.java @@ -0,0 +1,16 @@ +package de.uni_halle.informatik.biodata.mp.fixing; + +import org.sbml.jsbml.SpeciesReference; + +import java.util.List; + +public interface IFixSpeciesReferences { + + default void fix(List elements) { + for (var sr : elements) { + fix(sr); + } + } + + void fix(SpeciesReference element); +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/ModelFixer.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/ModelFixer.java new file mode 100644 index 00000000..ff901e41 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/ModelFixer.java @@ -0,0 +1,52 @@ +package de.uni_halle.informatik.biodata.mp.fixing; + +import de.uni_halle.informatik.biodata.mp.fixing.ext.fbc.FBCSpeciesFixer; +import de.uni_halle.informatik.biodata.mp.fixing.ext.fbc.ListOfObjectivesFixer; +import de.uni_halle.informatik.biodata.mp.fixing.ext.groups.GroupsFixer; +import de.uni_halle.informatik.biodata.mp.parameters.FixingParameters; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.sbml.jsbml.ext.fbc.FBCModelPlugin; +import org.sbml.jsbml.ext.groups.GroupsConstants; +import org.sbml.jsbml.ext.groups.GroupsModelPlugin; + +import java.util.List; + +public class ModelFixer extends AbstractFixer implements IFixSBases { + + private final FixingParameters fixingParameters; + + public ModelFixer(FixingParameters fixingParameters, List observers) { + super(observers); + this.fixingParameters = fixingParameters; + } + + @Override + public void fix(Model model, int index) { + statusReport("Fixing Model (1/6) ", model); + + if(model.isSetListOfReactions()) { + new ReactionFixer(getObservers()).fix(model.getListOfReactions()); + } + + if(model.isSetListOfSpecies()) { + new SpeciesFixer(getObservers()).fix(model.getListOfSpecies()); + } + + if(model.isSetListOfCompartments()) { + new CompartmentFixer(getObservers()).fix(model.getListOfCompartments()); + } + + if(model.isSetPlugin(GroupsConstants.shortLabel)) { + GroupsModelPlugin plugin = (GroupsModelPlugin) model.getPlugin(GroupsConstants.shortLabel); + new GroupsFixer(getObservers()).fix(plugin.getListOfGroups()); + } + + if(model.isSetPlugin(FBCConstants.shortLabel)) { + FBCModelPlugin plugin = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + new FBCSpeciesFixer().fix(model.getListOfSpecies() ); + new ListOfObjectivesFixer(fixingParameters, plugin, getObservers()).fix(plugin.getListOfObjectives(), 0); + } + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/ReactionFixer.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/ReactionFixer.java new file mode 100644 index 00000000..aa1cf49f --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/ReactionFixer.java @@ -0,0 +1,53 @@ +package de.uni_halle.informatik.biodata.mp.fixing; + +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import org.sbml.jsbml.Reaction; +import org.sbml.jsbml.util.ValuePair; + +import java.util.List; + +import static java.lang.String.format; + +public class ReactionFixer extends AbstractFixer implements IFixSBases { + + protected ReactionFixer(List observers) { + super(observers); + } + + @Override + public void fix(List rs) { + statusReport("Fixing Reactions (2/6) ", rs); + IFixSBases.super.fix(rs); + } + + @Override + public void fix(Reaction reaction, int index) { + fixMissingReactionId(reaction, index); + setFastProperty(reaction); + setReversibleProperty(reaction); + new SpeciesReferenceFixer().fix(reaction.getListOfReactants()); + new SpeciesReferenceFixer().fix(reaction.getListOfProducts()); + } + + private void fixMissingReactionId(Reaction reaction, int index) { + if(null == reaction.getId() || reaction.getId().isEmpty()) { + reaction.setId(format("reaction_without_id_%d", index)); + } + } + + private void setReversibleProperty(Reaction reaction) { + if (!reaction.isSetReversible()) { + reaction.setReversible(false); + } + } + + @SuppressWarnings("deprecation") + private void setFastProperty(Reaction reaction) { + if ((!reaction.isSetLevelAndVersion() + || reaction.getLevelAndVersion().compareTo(ValuePair.of(3, 1)) <= 0) + && !reaction.isSetFast()) { + reaction.setFast(false); + } + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/SBMLFixer.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/SBMLFixer.java new file mode 100644 index 00000000..9df33cf0 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/SBMLFixer.java @@ -0,0 +1,35 @@ +package de.uni_halle.informatik.biodata.mp.fixing; + +import de.uni_halle.informatik.biodata.mp.parameters.FixingParameters; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.SBMLDocument; + +import java.util.List; + +public class SBMLFixer extends AbstractFixer implements IFixSBases { + + private final FixingParameters fixingParameters; + + public SBMLFixer(FixingParameters fixingParameters) { + super(); + this.fixingParameters = fixingParameters; + } + + public SBMLFixer(FixingParameters fixingParameters, List observers) { + super(observers); + this.fixingParameters = fixingParameters; + } + + @Override + public void fix(SBMLDocument sbmlDocument, int index) { + fixMissingModel(sbmlDocument); + new ModelFixer(fixingParameters, getObservers()).fix(sbmlDocument.getModel(), 0); + } + + private void fixMissingModel(SBMLDocument sbmlDocument) { + if (!sbmlDocument.isSetModel()) { + sbmlDocument.setModel(new Model()); + } + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/SpeciesFixer.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/SpeciesFixer.java new file mode 100644 index 00000000..29e2a483 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/SpeciesFixer.java @@ -0,0 +1,43 @@ +package de.uni_halle.informatik.biodata.mp.fixing; + +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import org.sbml.jsbml.Species; + +import java.util.List; + +import static java.lang.String.format; + +public class SpeciesFixer extends AbstractFixer implements IFixSBases { + + protected SpeciesFixer(List observers) { + super(observers); + } + + @Override + public void fix(List rs) { + statusReport("Fixing Species (3/6) ", rs); + IFixSBases.super.fix(rs); + } + + + @Override + public void fix(Species species, int index) { + if(null == species.getId() || species.getId().isEmpty()) { + species.setId(format("species_without_id_%d", index)); + } + + // Set default values for mandatory attributes if they are not already set + if (!species.isSetHasOnlySubstanceUnits()) { + species.setHasOnlySubstanceUnits(true); + } + + if (!species.isSetConstant() && species.getLevel() >= 3) { + species.setConstant(false); + } + + if (!species.isSetBoundaryCondition()) { + species.setBoundaryCondition(false); + } + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/SpeciesReferenceFixer.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/SpeciesReferenceFixer.java new file mode 100644 index 00000000..89b57f33 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/SpeciesReferenceFixer.java @@ -0,0 +1,16 @@ +package de.uni_halle.informatik.biodata.mp.fixing; + +import org.sbml.jsbml.SpeciesReference; + +public class SpeciesReferenceFixer implements IFixSpeciesReferences { + + @Override + public void fix(SpeciesReference sr) { + if (sr.getSpeciesInstance() == null) { + // TODO: das ist nicht recoverable + } + if (!sr.isSetConstant() && sr.getLevel() >= 3) { + sr.setConstant(false); + } + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/ext/fbc/FBCSpeciesFixer.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/ext/fbc/FBCSpeciesFixer.java new file mode 100644 index 00000000..44cd0456 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/ext/fbc/FBCSpeciesFixer.java @@ -0,0 +1,40 @@ +package de.uni_halle.informatik.biodata.mp.fixing.ext.fbc; + +import de.uni_halle.informatik.biodata.mp.fixing.AbstractFixer; +import de.uni_halle.informatik.biodata.mp.fixing.IFixSBases; +import org.sbml.jsbml.Species; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.sbml.jsbml.ext.fbc.FBCSpeciesPlugin; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class FBCSpeciesFixer extends AbstractFixer implements IFixSBases { + + @Override + public void fix(Species species, int index) { + FBCSpeciesPlugin plugin = (FBCSpeciesPlugin) species.getPlugin(FBCConstants.shortLabel); + + if (plugin.isSetChemicalFormula()) { + /* + As of 2024, the only model on BiGG or Biomodels this occurs in is iYS1720. + Proper handling should move this information to the Species Notes. However, I do not know + how to do proper XHTML handling right now, and since it is just one model, I cannot really be bothered + to deal with it. + */ + String pattern = "charge[0-9]*"; + Matcher matcher = Pattern.compile(pattern).matcher(plugin.getChemicalFormula()); + if (matcher.find()) { + var chargeGroup = matcher.group(); +// if (!species.isSetNotes()) { +// species.setNotes(new XMLNode("

    Charge string extracted from chemical formula: " + chargeGroup + "

    ")); +// } else { +// species.getNotes().addChild(new XMLNode("

    Charge string extracted from chemical formula: " +// + chargeGroup + "

    ")); +// } + plugin.setChemicalFormula(matcher.replaceAll("")); + + } + } + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/ext/fbc/ListOfObjectivesFixer.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/ext/fbc/ListOfObjectivesFixer.java new file mode 100644 index 00000000..676cee2a --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/ext/fbc/ListOfObjectivesFixer.java @@ -0,0 +1,127 @@ +package de.uni_halle.informatik.biodata.mp.fixing.ext.fbc; + +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.fixing.AbstractFixer; +import de.uni_halle.informatik.biodata.mp.fixing.IFixSBases; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import de.uni_halle.informatik.biodata.mp.parameters.FixingParameters; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import de.uni_halle.informatik.biodata.mp.util.ReactionNamePatterns; +import org.sbml.jsbml.ListOf; +import org.sbml.jsbml.Reaction; +import org.sbml.jsbml.ext.fbc.FBCModelPlugin; +import org.sbml.jsbml.ext.fbc.ListOfObjectives; +import org.sbml.jsbml.ext.fbc.Objective; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.text.MessageFormat; +import java.util.Collection; +import java.util.List; +import java.util.ResourceBundle; +import java.util.function.Predicate; +import java.util.regex.Pattern; + +public class ListOfObjectivesFixer extends AbstractFixer implements IFixSBases { + + private static final Logger logger = LoggerFactory.getLogger(ListOfObjectivesFixer.class); + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.FIXING_MESSAGES); + + private final FBCModelPlugin modelPlug; + private final FixingParameters fixingParameters; + + public ListOfObjectivesFixer(FixingParameters fixingParameters, FBCModelPlugin modelPlug, List observers) { + super(observers); + this.modelPlug = modelPlug; + this.fixingParameters = fixingParameters; + } + + @Override + public void fix(ListOfObjectives objectives, int index) { + statusReport("Fixing Objectives (6/6) ", objectives); + + var model = objectives.getModel(); + fixObjective( + model.getId(), + model.getListOfReactions(), + modelPlug, + fixingParameters.fluxObjectivesPolishingParameters().fluxCoefficients(), + fixingParameters.fluxObjectivesPolishingParameters().fluxObjectives()); + + // Identify and remove unused objectives, i.e., those without flux objectives + Collection removals = modelPlug.getListOfObjectives() + .stream() + .filter(Predicate.not(Objective::isSetListOfFluxObjectives) + .or(o -> o.getListOfFluxObjectives().isEmpty())) + .toList(); + modelPlug.getListOfObjectives().removeAll(removals); + } + + + private void fixObjective(String modelDescriptor, + ListOf listOfReactions, + FBCModelPlugin fbcPlug, + List fluxCoefficients, + List fluxObjectives) { + Objective activeObjective = null; + if (!fbcPlug.isSetActiveObjective()) { + logger.debug(MessageFormat.format(MESSAGES.getString("OBJ_NOT_DEFINED"), modelDescriptor)); + if (fbcPlug.getObjectiveCount() == 1) { + activeObjective = fbcPlug.getObjective(0); + fbcPlug.setActiveObjective(activeObjective); + logger.debug(MessageFormat.format(MESSAGES.getString("OBJ_SOLUTION"), activeObjective.getId())); + } + } else { + activeObjective = fbcPlug.getListOfObjectives().getActiveObjectiveInstance(); + } + if (activeObjective != null) { + if (!activeObjective.isSetListOfFluxObjectives()) { + logger.debug(MessageFormat.format(MESSAGES.getString("TRY_GUESS_MISSING_FLUX_OBJ"), modelDescriptor)); + if (listOfReactions != null) { + if (fluxObjectives != null && !fluxObjectives.isEmpty()) { + /* + * An array of target reactions is provided. We want to use this as + * flux objectives. + */ + for (int i = 0; i < fluxObjectives.size(); i++) { + final String id = fluxObjectives.get(i); + Reaction r = listOfReactions.firstHit((obj) -> + (obj instanceof Reaction) && id.equals(((Reaction) obj).getId())); + if (r != null) { + createFluxObjective(modelDescriptor, r, fluxCoefficients, activeObjective, i); + } else { + logger.debug(MessageFormat.format(MESSAGES.getString("REACTION_UNKNOWN_ERROR"), id, modelDescriptor)); + } + } + } else { + /* + * Search for biomass reaction in the model and use this as + * objective. + */ + final Pattern pattern = ReactionNamePatterns.BIOMASS_CASE_INSENSITIVE.getPattern(); + Reaction rBiomass = listOfReactions.firstHit((obj) -> + (obj instanceof Reaction) && pattern.matcher(((Reaction) obj).getId()).matches()); + if (rBiomass != null) { + createFluxObjective(modelDescriptor, rBiomass, fluxCoefficients, activeObjective, 0); + } else { + logger.debug(MESSAGES.getString("REACTION_BIOMASS_UNKNOWN_ERROR")); + } + } + } else { + logger.debug(MessageFormat.format(MESSAGES.getString("REACTION_LIST_MISSING"), modelDescriptor)); + } + } + } + } + + + private void createFluxObjective(String modelDescriptor, Reaction r, List fluxCoefficients, Objective o, + int i) { + double defaultCoefficient = 1d; + if ((fluxCoefficients != null) && (fluxCoefficients.size() > i)) { + defaultCoefficient = fluxCoefficients.get(i); + } + logger.debug(MessageFormat.format(MESSAGES.getString("ADDED_FLUX_OBJ"), r.getId(), defaultCoefficient, modelDescriptor)); + o.createFluxObjective(null, null, defaultCoefficient, r); + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/ext/groups/GroupsFixer.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/ext/groups/GroupsFixer.java new file mode 100644 index 00000000..2d6cc3a5 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/fixing/ext/groups/GroupsFixer.java @@ -0,0 +1,40 @@ +package de.uni_halle.informatik.biodata.mp.fixing.ext.groups; + +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.fixing.AbstractFixer; +import de.uni_halle.informatik.biodata.mp.fixing.IFixSBases; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import org.sbml.jsbml.ext.groups.Group; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.text.MessageFormat; +import java.util.List; +import java.util.ResourceBundle; + +public class GroupsFixer extends AbstractFixer implements IFixSBases { + + private static final Logger logger = LoggerFactory.getLogger(GroupsFixer.class); + private static final ResourceBundle MESSAGES = ResourceManager.getBundle("de.uni_halle.informatik.biodata.mp.fixing.Messages"); + + public GroupsFixer(List observers) { + super(observers); + } + + + @Override + public void fix(List rs) { + statusReport("Fixing Groups (5/6) ", rs); + IFixSBases.super.fix(rs); + } + + + @Override + public void fix(Group group, int index) { + if (!group.isSetKind()) { + logger.debug(MessageFormat.format(MESSAGES.getString("ADD_KIND_TO_GROUP"), + group.isSetName() ? group.getName() : group.getId())); + group.setKind(Group.Kind.partonomy); + } + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/CombineArchive.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/CombineArchive.java new file mode 100644 index 00000000..09776b42 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/CombineArchive.java @@ -0,0 +1,213 @@ +package de.uni_halle.informatik.biodata.mp.io; + +import de.unirostock.sems.cbarchive.CombineArchiveException; +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import org.jdom2.JDOMException; +import org.sbml.jsbml.Compartment; +import org.sbml.jsbml.Reaction; +import org.sbml.jsbml.SBMLDocument; +import org.sbml.jsbml.Species; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.sbml.jsbml.ext.fbc.FBCModelPlugin; +import org.sbml.jsbml.ext.fbc.GeneProduct; +import org.sbml.jsbml.xml.XMLNode; +import org.sbml.jsbml.xml.parsers.SBMLRDFAnnotationParser; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.w3c.tidy.Tidy; + +import javax.xml.stream.XMLStreamException; +import javax.xml.transform.TransformerException; +import java.io.BufferedWriter; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.net.URI; +import java.net.URISyntaxException; +import java.nio.charset.StandardCharsets; +import java.text.ParseException; +import java.util.ResourceBundle; + +import static java.text.MessageFormat.format; + +/** + * The {@code CombineArchive} class provides functionality to create a COMBINE archive from an SBML document. + * It supports writing an RDF glossary derived from the SBML document and packaging both the SBML file and its + * RDF glossary into a single COMBINE archive file. This class handles the creation, formatting, and management + * of files necessary for the archive, ensuring they adhere to the COMBINE specification. + * + *

    Key functionalities include:

    + *
      + *
    • Generating RDF glossary from the SBML document annotations.
    • + *
    • Writing the RDF glossary to a file with proper formatting using JTidy.
    • + *
    • Creating a COMBINE archive that includes the SBML file and the RDF glossary.
    • + *
    • Handling file operations such as checking for existing files, deleting, and writing new files.
    • + *
    + * + *

    This class is essential for users looking to export SBML models and their annotations in a standardized + * archive format that can be easily shared and processed by various bioinformatics tools.

    + */ +public class CombineArchive { + + private static final Logger logger = LoggerFactory.getLogger(CombineArchive.class); + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.IO_MESSAGES); + public static final String COMBINE_SPECIFICATION = "https://identifiers.org/combine.specifications/sbml"; + public static final String RDF_MEDIATYPE = "https://purl.org/NET/mediatypes/application/rdf+xml"; + + private final SBMLDocument doc; + private final File output; + + public CombineArchive(SBMLDocument doc, File output) { + this.doc = doc; + this.output = output; + } + + + public File write() throws IOException, XMLStreamException, ParseException, URISyntaxException, JDOMException, CombineArchiveException, TransformerException { + writeGlossary(); + return writeCombineArchive(); + } + + + /** + * Writes the RDF glossary to a file. The glossary is generated from the SBML document associated with this instance. + * The RDF file is named based on the output file's name with "_glossary.rdf" appended. + * + * @throws XMLStreamException if there is an error in generating the glossary from the SBML document. + * @throws IOException if there is an error writing the glossary to the file system. + */ + private void writeGlossary() throws XMLStreamException, IOException { + // Generate the glossary from the SBML document + String glossary = getGlossary(doc); + // Determine the location for the RDF file + String glossaryLocation = + output.getAbsolutePath().substring(0, output.getAbsolutePath().lastIndexOf('.')) + "_glossary.rdf"; + // Log the location where the RDF file will be written + logger.info(format(MESSAGES.getString("WRITE_RDF_FILE_INFO"), glossaryLocation)); + // Write the glossary to the specified RDF file + Tidy tidy = tidyParser(); + try (var out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(glossaryLocation), StandardCharsets.UTF_8)); + var in = new InputStreamReader(new ByteArrayInputStream(glossary.getBytes(StandardCharsets.UTF_8)), + StandardCharsets.UTF_8)) { + tidy.parse(in, out); + } + } + + private Tidy tidyParser() { + Tidy tidy = new Tidy(); // obtain a new Tidy instance + tidy.setDropEmptyParas(false); + tidy.setHideComments(false); + tidy.setIndentContent(true); + tidy.setInputEncoding("UTF-8"); + tidy.setOutputEncoding("UTF-8"); + tidy.setQuiet(true); + tidy.setSmartIndent(true); + tidy.setTrimEmptyElements(true); + tidy.setWraplen(0); + tidy.setWrapAttVals(false); + tidy.setWrapScriptlets(true); + tidy.setLiteralAttribs(true); + tidy.setXmlOut(true); + tidy.setXmlSpace(true); + tidy.setXmlTags(true); + tidy.setSpaces(2); + return tidy; + } + + + /** + * Generates an RDF glossary for the given SBMLDocument. This method parses the document's model + * and its components (species, reactions, compartments, and gene products) to construct an RDF + * representation of annotations. If the model or any essential components are not annotated, + * it returns an empty string. + * + * @param doc The SBMLDocument for which the glossary is to be generated. + * @return A string containing the RDF glossary in XML format, or an empty string if the model + * or required annotations are missing. + * @throws XMLStreamException If there is an error during the XML processing. + */ + private String getGlossary(SBMLDocument doc) throws XMLStreamException { + SBMLRDFAnnotationParser rdfParser = new SBMLRDFAnnotationParser(); + if (rdfParser.writeAnnotation(doc.getModel(), null) != null + && rdfParser.writeAnnotation(doc.getModel(), null).getChild(1) != null) { + XMLNode node = rdfParser.writeAnnotation(doc.getModel(), null).getChild(1); + for (Species s : doc.getModel().getListOfSpecies()) { + XMLNode tempNode = rdfParser.writeAnnotation(s, null); + if (tempNode != null && tempNode.getChildCount() != 0) { + node.addChild(tempNode.getChild(1)); + } + } + for (Reaction r : doc.getModel().getListOfReactions()) { + XMLNode tempNode = rdfParser.writeAnnotation(r, null); + if (tempNode != null && tempNode.getChildCount() != 0) { + node.addChild(tempNode.getChild(1)); + } + } + for (Compartment c : doc.getModel().getListOfCompartments()) { + XMLNode tempNode = rdfParser.writeAnnotation(c, null); + if (tempNode != null && tempNode.getChildCount() != 0) { + node.addChild(tempNode.getChild(1)); + } + } + if (doc.getModel().isSetPlugin(FBCConstants.shortLabel)) { + FBCModelPlugin fbcModelPlugin = (FBCModelPlugin) doc.getModel().getPlugin(FBCConstants.shortLabel); + for (GeneProduct gP : fbcModelPlugin.getListOfGeneProducts()) { + XMLNode tempNode = rdfParser.writeAnnotation(gP, null); + if (tempNode != null && tempNode.getChildCount() != 0) { + node.addChild(tempNode.getChild(1)); + } + } + } + return node.toXMLString(); + } else { + return ""; + } + } + + + /** + * Creates a COMBINE archive containing the SBML model and its associated RDF glossary. + * The method first checks if an existing archive file is present and deletes it if found. + * It then creates a new archive, adds the SBML model and RDF glossary as entries, and finally packs and closes the archive. + * After packing, it cleans up the original files used in the archive. + */ + private File writeCombineArchive() throws IOException, ParseException, JDOMException, CombineArchiveException, URISyntaxException, TransformerException { + // Determine the base file path without extension + String baseLocation = output.getAbsolutePath().substring(0, output.getAbsolutePath().lastIndexOf('.')); + // Specify the locations for the glossary RDF and the COMBINE archive + String glossaryLocation = baseLocation + "_glossary.rdf"; + String combineArcLocation = baseLocation + ".zip"; + + // Check if the COMBINE archive file already exists and attempt to delete it + File caFile = new File(combineArcLocation); + if (caFile.exists() && !caFile.delete()) { + logger.info(format("Failed to delete existing archive file \"{0}\"", caFile.getPath())); + } + + File outputXML = new File(output.getAbsolutePath()); + File outputRDF = new File(glossaryLocation); + + // Create a new COMBINE archive and add entries for the model XML and glossary RDF + try(de.unirostock.sems.cbarchive.CombineArchive ca = new de.unirostock.sems.cbarchive.CombineArchive(caFile)) { + ca.addEntry(outputXML, "model.xml", new URI(COMBINE_SPECIFICATION), true); + ca.addEntry(outputRDF, "glossary.rdf", new URI(RDF_MEDIATYPE), true); + logger.info(format(MESSAGES.getString("WRITE_RDF_FILE_INFO"), combineArcLocation)); + + // Pack and close the archive + ca.pack(); + } + + // Delete the original files that were packed into the archive + boolean rdfDeleted = outputRDF.delete(); + boolean outputXMLDeleted = outputXML.delete(); + logger.info(format(MESSAGES.getString("DELETE_FILE"), outputXML.getParent(), outputXMLDeleted)); + logger.info(format(MESSAGES.getString("DELETE_FILE"), outputRDF.getParent(), rdfDeleted)); + return caFile; + } + + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/DeleteOnCloseFileInputStream.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/DeleteOnCloseFileInputStream.java new file mode 100644 index 00000000..90b14d44 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/DeleteOnCloseFileInputStream.java @@ -0,0 +1,36 @@ +package de.uni_halle.informatik.biodata.mp.io; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; + +public class DeleteOnCloseFileInputStream extends FileInputStream { + + File file; + + public DeleteOnCloseFileInputStream(String s) throws FileNotFoundException { + this(new File(s)); + } + + public DeleteOnCloseFileInputStream(File file) throws FileNotFoundException { + super(file); + this.file = file; + } + + @SuppressWarnings("ThrowFromFinallyBlock") + public void close() throws IOException { + try { + super.close(); + } finally { + if (file != null) { + if (!file.delete()) { + throw new IOException("Could not delete file on close."); + } + file = null; + } + } + } +} + + diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/IOOptions.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/IOOptions.java new file mode 100644 index 00000000..bb029799 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/IOOptions.java @@ -0,0 +1,57 @@ +package de.uni_halle.informatik.biodata.mp.io; + +import com.fasterxml.jackson.annotation.JsonValue; +import de.zbit.util.ResourceManager; +import de.zbit.util.prefs.KeyProvider; +import de.zbit.util.prefs.Option; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; + +import java.util.ResourceBundle; + +public interface IOOptions extends KeyProvider { + + ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.IO_MESSAGES); + + /** + * Decides whether the output file should directly be compressed and if + * so, which archive type should be used. + */ + @SuppressWarnings("unchecked") + Option OUTPUT_TYPE = + new Option<>("OUTPUT_TYPE", OutputType.class, MESSAGES.getString("OUTPUT_TYPE_DESCRIPTION"), + OutputType.SBML); + +// @SuppressWarnings("unchecked") +// Option WRITE_JSON = new Option<>("WRITE_JSON", Boolean.class, "TODO", Boolean.FALSE); +// /** +// * Produce output as a single COMBINE Archive. +// */ +// @SuppressWarnings("unchecked") +// Option OUTPUT_COMBINE = +// new Option<>("OUTPUT_COMBINE", Boolean.class, MESSAGES.getString("OUTPUT_COMBINE"), Boolean.FALSE); + + /** + * @author Andreas Dräger + */ + enum OutputType { + + SBML("xml"), + JSON("json"), + COMBINE("combine"); + + @JsonValue + private final String extension; + + OutputType() { + this(null); + } + + OutputType(String extension) { + this.extension = extension; + } + + public String getFileExtension() { + return extension; + } + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/IReadModelsFromFile.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/IReadModelsFromFile.java new file mode 100644 index 00000000..93349288 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/IReadModelsFromFile.java @@ -0,0 +1,11 @@ +package de.uni_halle.informatik.biodata.mp.io; + +import org.sbml.jsbml.SBMLDocument; + +import java.io.File; + +public interface IReadModelsFromFile { + + SBMLDocument read(File input) throws ModelReaderException; + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/IWriteModels.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/IWriteModels.java new file mode 100644 index 00000000..274caa3c --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/IWriteModels.java @@ -0,0 +1,11 @@ +package de.uni_halle.informatik.biodata.mp.io; + +import org.sbml.jsbml.SBMLDocument; + +import java.io.InputStream; + +public interface IWriteModels { + + InputStream write(SBMLDocument doc) throws ModelWriterException; + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/IWriteModelsToFile.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/IWriteModelsToFile.java new file mode 100644 index 00000000..8a7fa1ea --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/IWriteModelsToFile.java @@ -0,0 +1,10 @@ +package de.uni_halle.informatik.biodata.mp.io; + +import org.sbml.jsbml.SBMLDocument; + +import java.io.File; + +public interface IWriteModelsToFile { + + File write(SBMLDocument doc, File output) throws ModelWriterException; +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/ModelReader.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/ModelReader.java new file mode 100644 index 00000000..d8034842 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/ModelReader.java @@ -0,0 +1,54 @@ +package de.uni_halle.informatik.biodata.mp.io; + +import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; +import de.uni_halle.informatik.biodata.mp.io.parsers.cobra.MatlabParser; +import de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONParser; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import org.sbml.jsbml.SBMLDocument; +import org.sbml.jsbml.SBMLReader; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.*; +import java.util.Arrays; +import java.util.stream.Collectors; + +import static java.text.MessageFormat.format; + +public class ModelReader implements IReadModelsFromFile { + private static final Logger logger = LoggerFactory.getLogger(ModelReader.class); + + private final SBOParameters sboParameters; + private final Registry registry; + + public ModelReader(SBOParameters sboParameters, Registry registry) { + this.sboParameters = sboParameters; + this.registry = registry; + } + + @Override + public SBMLDocument read(File input) throws ModelReaderException { + logger.debug(format("Read model file: {0}", input.toString())); + try { + var fileType = SBMLFileUtils.getFileType(input); + + SBMLDocument sbmlDocument = switch (fileType) { + case MAT_FILE -> new MatlabParser(sboParameters, registry).parse(input); + case JSON_FILE -> new JSONParser(registry).parse(input); + case SBML_FILE -> SBMLReader.read(input, new UpdateListener()); + case UNKNOWN -> + throw new IllegalArgumentException("Could not identify file type. Supported file types are: " + + Arrays.stream(SBMLFileUtils.FileType.values()) + .map(SBMLFileUtils.FileType::name) + .collect(Collectors.joining(", "))); + }; + if (sbmlDocument == null) { + throw new ModelReaderException("Error while reading input document.", input); + } + return sbmlDocument; + + } catch (Exception e) { + throw new ModelReaderException("Error while reading input document.", e, input); + } + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/ModelReaderException.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/ModelReaderException.java new file mode 100644 index 00000000..a42c6a3f --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/ModelReaderException.java @@ -0,0 +1,22 @@ +package de.uni_halle.informatik.biodata.mp.io; + +import java.io.File; + +public class ModelReaderException extends Throwable { + + private final File input; + + public ModelReaderException(String s, File input) { + super(s); + this.input = input; + } + + public ModelReaderException(String s, Exception e, File input) { + super(s, e); + this.input = input; + } + + public File input() { + return input; + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/ModelWriter.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/ModelWriter.java new file mode 100644 index 00000000..2ed4a2e4 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/ModelWriter.java @@ -0,0 +1,166 @@ +package de.uni_halle.informatik.biodata.mp.io; + +import de.unirostock.sems.cbarchive.CombineArchiveException; +import de.uni_halle.informatik.biodata.mp.io.parsers.json.JSONConverter; +import org.jdom2.JDOMException; +import org.sbml.jsbml.SBMLDocument; +import org.sbml.jsbml.TidySBMLWriter; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.xml.stream.XMLStreamException; +import javax.xml.transform.TransformerException; +import java.io.*; +import java.net.URISyntaxException; +import java.nio.file.Files; +import java.text.ParseException; + +import static java.text.MessageFormat.format; + +public class ModelWriter implements IWriteModelsToFile, IWriteModels{ + private static final Logger logger = LoggerFactory.getLogger(ModelWriter.class); + private final IOOptions.OutputType outputType; + + public ModelWriter(IOOptions.OutputType outputType) { + this.outputType = outputType; + } + + public InputStream write(SBMLDocument doc) throws ModelWriterException { + logger.debug("Write document to InputStream."); + try { + return switch (outputType) { + case SBML -> writeSBML(doc); + case JSON -> writeJSON(doc); + case COMBINE -> writeCOMBINE(doc); + }; + } catch (Exception e) { + throw new ModelWriterException("Error while writing output document.", e, doc, null); + } + } + + public File write(SBMLDocument doc, File output) throws ModelWriterException { + logger.debug(format("Write document to File: {0}", output.toString())); + try { + return switch (outputType) { + case SBML -> writeSBML(doc, output); + case JSON -> writeJSON(doc, output); + case COMBINE -> writeCOMBINE(doc, output); + }; + } catch (Exception e) { + throw new ModelWriterException("Error while writing output document.", e, doc, output); + } + } + + private InputStream writeSBML(SBMLDocument doc) throws IOException { + PipedInputStream result = new PipedInputStream(); + PipedOutputStream pout = new PipedOutputStream(result); + + // Create a new thread to handle the writing to the piped output stream + new Thread(() -> { + try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) { + TidySBMLWriter.write( + doc, + baos, + "ModelPolisher", + getClass().getPackage().getImplementationVersion(), + ' ', + (short) 2); + baos.writeTo(pout); + } catch (IOException | XMLStreamException e) { + // Handle exceptions appropriately + logger.error("Error in writing.", e); + } finally { + // Ensure the PipedOutputStream is closed properly + try { + pout.close(); + } catch (IOException e) { + logger.error("Error in writing.", e); + } + } + }).start(); + + return result; + } + + private InputStream writeJSON(SBMLDocument doc) throws ModelWriterException { + PipedOutputStream out = new PipedOutputStream(); + try (var writer = new BufferedWriter(new OutputStreamWriter(out))) { + writer.write(JSONConverter.getJSONDocument(doc)); + return new PipedInputStream(out); + } catch (IOException | XMLStreamException e) { + throw new ModelWriterException("Error while converting to JSON.", e, doc, null); + } + } + + private InputStream writeCOMBINE(SBMLDocument doc) throws IOException, XMLStreamException, ParseException, URISyntaxException, JDOMException, CombineArchiveException, TransformerException { + File f = Files.createTempFile("", ".xml").toFile(); + TidySBMLWriter.write( + doc, + f, + "ModelPolisher", + getClass().getPackage().getImplementationVersion(), + ' ', + (short) 2); + CombineArchive combineArchive = new CombineArchive(doc, f); + File combineArchiveFile = combineArchive.write(); + return new DeleteOnCloseFileInputStream(combineArchiveFile); + } + + + private File writeCOMBINE(SBMLDocument doc, File output) throws IOException, XMLStreamException, ParseException, URISyntaxException, JDOMException, CombineArchiveException, TransformerException, ModelWriterException { + File f = Files.createTempFile("", ".xml").toFile(); + TidySBMLWriter.write( + doc, + f, + "ModelPolisher", + getClass().getPackage().getImplementationVersion(), + ' ', + (short) 2); + CombineArchive combineArchive = new CombineArchive(doc, output); + File combineArchiveFile = combineArchive.write(); + if (!output.delete()) { + throw new ModelWriterException("Could not delete file after COMBINE archive creation.", + doc, output, combineArchiveFile); + } + return combineArchiveFile; + } + + private static File writeJSON(SBMLDocument doc, File output) throws IOException, XMLStreamException { + String out = output.getAbsolutePath().replaceAll("\\.xml", ".json"); + try (var writer = new BufferedWriter(new FileWriter(out))) { + writer.write(JSONConverter.getJSONDocument(doc)); + } + return new File(out); + } + + private File writeSBML(SBMLDocument doc, File output) throws XMLStreamException, IOException { + TidySBMLWriter.write( + doc, + output, + "ModelPolisher", + getClass().getPackage().getImplementationVersion(), + ' ', + (short) 2); + return output; + } + +// private File writeZIP(File output) throws IOException { +// String fileExtension = parameters.compression().getFileExtension(); +// String archive = output.getAbsolutePath() + "." + fileExtension; +// logger.info(format(MESSAGES.getString("ARCHIVE"), archive)); +// switch (parameters.compression()) { +// case ZIP: +// ZIPUtils.ZIPcompress(new String[] {output.getAbsolutePath()}, archive, "SBML Archive", true); +// break; +// case GZIP: +// ZIPUtils.GZip(output.getAbsolutePath(), archive); +// break; +// default: +// break; +// } +// // Delete the original output file if outputType is successful +// +// return new File(archive); +// } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/ModelWriterException.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/ModelWriterException.java new file mode 100644 index 00000000..e8959858 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/ModelWriterException.java @@ -0,0 +1,38 @@ +package de.uni_halle.informatik.biodata.mp.io; + +import org.sbml.jsbml.SBMLDocument; + +import java.io.File; + +public class ModelWriterException extends Exception{ + + private final SBMLDocument doc; + private final File output; + private final File archiveFile; + + public ModelWriterException(String s, Exception e, SBMLDocument doc, File output) { + super(s, e); + this.doc = doc; + this.output = output; + this.archiveFile = null; + } + + public ModelWriterException(String s, SBMLDocument doc, File output, File archiveFile) { + super(s); + this.doc = doc; + this.output = output; + this.archiveFile = archiveFile; + } + + public SBMLDocument doc() { + return doc; + } + + public File output() { + return output; + } + + public File archiveFile() { + return archiveFile; + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/SBMLFileUtils.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/SBMLFileUtils.java new file mode 100644 index 00000000..417a3058 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/SBMLFileUtils.java @@ -0,0 +1,119 @@ +package de.uni_halle.informatik.biodata.mp.io; + +import de.zbit.io.FileTools; +import de.zbit.io.filefilter.SBFileFilter; +import de.zbit.util.ResourceManager; +import de.zbit.util.Utils; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.File; +import java.util.ResourceBundle; + +import static java.text.MessageFormat.format; + +public class SBMLFileUtils { + + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.IO_MESSAGES); + + private static final Logger logger = LoggerFactory.getLogger(SBMLFileUtils.class); + + /** + * Possible FileTypes of input file + */ + public enum FileType { + SBML_FILE, + MAT_FILE, + JSON_FILE, + UNKNOWN + } + + /** + * Determines the type of the input file based on its extension or content. + * This method checks if the file is an SBML, MatLab, or JSON file by utilizing the {@link SBFileFilter} class. + * + * @param input The file whose type needs to be determined. + * @return FileType The type of the file, which can be SBML_FILE, MAT_FILE, JSON_FILE, or UNKNOWN if the type cannot be determined. + */ + public static FileType getFileType(File input) { + if (SBFileFilter.isSBMLFile(input)) { + return FileType.SBML_FILE; + } else if (SBFileFilter.hasFileType(input, SBFileFilter.FileType.MAT_FILES)) { + return FileType.MAT_FILE; + } else if (SBFileFilter.hasFileType(input, SBFileFilter.FileType.JSON_FILES)) { + return FileType.JSON_FILE; + } else { + return FileType.UNKNOWN; + } + } + + /** + * Fix output file name to contain xml extension + * + * @param file: + * File to get name for in input directory + * @param output: + * Path to output directory + * @return File in output directory with correct file ending for SBML + */ + public static File getOutputFileName(File file, File output) { + var fileType = SBMLFileUtils.getFileType(file); + if (!fileType.equals(FileType.SBML_FILE)) { + return new File( + Utils.ensureSlash(output.getAbsolutePath()) + FileTools.removeFileExtension(file.getName()) + + "_polished.xml"); + } else { + return new File(Utils.ensureSlash(output.getAbsolutePath()) + + file.getName().replaceAll("\\.xml", "_polished\\.xml")); + } + } + + + /** + * Check if file is directory by calling {@link File#isDirectory()} on an existing file or check presence of '.' in + * output.getName(), if this is not the case + */ + public static boolean isDirectory(File file) { + // file = d1/d2/d3 is taken as a file by method file.isDirectory() + if (file.exists()) { + return file.isDirectory(); + } else { + return !file.getName().contains("."); + } + } + + + + /** + * Creates output directory or output parent directory, if necessary + * + * @param output: + * File denoting output location + */ + public static void checkCreateOutDir(File output) { + logger.debug(format(MESSAGES.getString("OUTPUT_FILE_DESC"), isDirectory(output) ? "directory" : "file")); + if (!output.exists()) { + // ModelPolisher.isDirectory() checks if output location contains ., if so it is assumed to be a file + // output is directory + if (isDirectory(output)) { + logger.debug(format(MESSAGES.getString("CREATING_DIRECTORY"), output.getAbsolutePath())); + if (!output.mkdirs()) { + // TODO: grace + throw new RuntimeException(format(MESSAGES.getString("DIRECTORY_CREATION_FAILED"), output.getAbsolutePath())); + } + } + // output is a file + else { + // check if directory of outfile exist and create if required + if (!output.getParentFile().exists()) { + logger.debug(format(MESSAGES.getString("CREATING_DIRECTORY"), output.getParentFile().getAbsolutePath())); + if (!output.getParentFile().mkdirs()) { + // TODO: grace + throw new RuntimeException(format(MESSAGES.getString("DIRECTORY_CREATION_FAILED"), output.getParentFile().getAbsolutePath())); + } + } + } + } + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/UpdateListener.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/UpdateListener.java new file mode 100644 index 00000000..e7e0718e --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/UpdateListener.java @@ -0,0 +1,176 @@ +package de.uni_halle.informatik.biodata.mp.io; + +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import de.uni_halle.informatik.biodata.mp.util.ext.groups.GroupsUtils; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.NamedSBase; +import org.sbml.jsbml.Reaction; +import org.sbml.jsbml.ext.fbc.*; +import org.sbml.jsbml.ext.groups.Member; +import org.sbml.jsbml.util.TreeNodeChangeEvent; +import org.sbml.jsbml.util.TreeNodeChangeListener; +import org.sbml.jsbml.util.TreeNodeRemovedEvent; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.swing.tree.TreeNode; +import java.beans.PropertyChangeEvent; +import java.text.MessageFormat; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.ResourceBundle; +import java.util.Set; + + +/** + * The {@code UpdateListener} class implements the {@link TreeNodeChangeListener} to monitor and respond to changes + * within an SBML model's structure. This class specifically handles updates to + * identifiers (IDs) of model elements like reactions and gene products, ensuring that all references remain consistent + * across the model. It also manages the addition of new nodes to the model, particularly focusing on gene product + * references, and maintains a mapping from gene identifiers to their associated gene product references. + *

    + * The {@link TreeNodeChangeListener} base class provides the interface for receiving notifications when changes occur + * to any node within a tree structure, which in the context of SBML, corresponds to elements within the model's + * hierarchical structure. + * + * @author Andreas Dräger + */ +public class UpdateListener implements TreeNodeChangeListener { + + private static final Logger logger = LoggerFactory.getLogger(UpdateListener.class); + + /** + * Bundle for ModelPolisher logger messages + */ + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.IO_MESSAGES ); + /** + * A map that maintains associations between gene identifiers and sets of {@link GeneProductRef} objects. + * This map is used to track which gene products are associated with specific gene identifiers throughout the model. + */ + private final Map> geneIdToAssociation; + + /** + * Constructs an {@code UpdateListener} instance and initializes the {@code geneIdToAssociation} map. + */ + public UpdateListener() { + geneIdToAssociation = new HashMap<>(); + } + + + /** + * Responds to property change events, specifically focusing on changes to the ID property of tree nodes. + * This method handles the update of IDs within the model, ensuring that all references to the old ID + * are updated to the new ID across various components such as reactions and gene products. + * + * @param evt The property change event that contains information about the old and new values of the property. + */ + @SuppressWarnings("unchecked") + @Override + public void propertyChange(PropertyChangeEvent evt) { + // Check if the property change is related to the ID of a node. + if (evt.getPropertyName().equals(TreeNodeChangeEvent.id)) { + String oldId = (String) evt.getOldValue(); + // Proceed only if there is an actual change in the ID. + if (oldId != null) { + // There is only a need to do some further change if the id is updated + // to a new id. + String newId = (String) evt.getNewValue(); + NamedSBase nsb = (NamedSBase) evt.getSource(); + // Handle the ID change for reactions. + if (nsb instanceof Reaction r) { + Model model = r.getModel(); + FBCModelPlugin fbcModelPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + // Update reaction references in the FBC model plugin. + updateReactionRef(oldId, newId, fbcModelPlug); + // Update subsystem references if any. + Set subsystems = (Set) r.getUserObject(GroupsUtils.SUBSYSTEM_LINK); + if (subsystems != null) { + for (Member m : subsystems) { + m.setIdRef(newId); + } + } + } + // Handle the ID change for gene products. + else if (nsb instanceof GeneProduct) { + Set geneRefs = geneIdToAssociation.remove(oldId); + if (geneRefs != null) { + for (GeneProductRef ref : geneRefs) { + ref.setGeneProduct(newId); + } + geneIdToAssociation.put(newId, geneRefs); + } + } + // Log a severe message if the ID change cannot be handled. + else { + logger.debug( + MessageFormat.format(MESSAGES.getString("ID_CHANGE_WARNING"), nsb.getElementName(), oldId, newId)); + } + } + } + } + + /** + * Updates the reaction reference ID from an old ID to a new ID within the FluxObjectives of a given FBCModelPlugin. + * This method iterates through all objectives and their associated flux objectives in the model plugin, + * replacing the old reaction ID with the new one wherever found. + * + * @param oldId The old reaction ID to be replaced. + * @param newId The new reaction ID to replace the old one. + * @param fbcModelPlug The FBCModelPlugin containing the objectives and flux objectives to be updated. + */ + private void updateReactionRef(String oldId, String newId, FBCModelPlugin fbcModelPlug) { + if ((fbcModelPlug != null) && fbcModelPlug.isSetListOfObjectives()) { + ListOfObjectives loo = fbcModelPlug.getListOfObjectives(); + for (Objective objective : loo) { + if (objective.isSetListOfFluxObjectives()) { + for (FluxObjective fo : objective.getListOfFluxObjectives()) { + if (fo.getReaction().equals(oldId)) { + fo.setReaction(newId); + } + } + } + } + } + } + + + /** + * Handles the event when a new node is added to the TreeNode structure. + * Specifically, when a GeneProductRef node is added, this method updates the + * geneIdToAssociation map to include this new association. It ensures that each + * gene product ID is mapped to a set of its associated GeneProductRefs. + * + * @param node The TreeNode that has been added. Expected to be an instance of GeneProductRef. + */ + @Override + public void nodeAdded(TreeNode node) { + // Memorize link from GeneProduct to Associations when this association is + // being added. + if (node instanceof GeneProductRef gpr) { + // Retrieve or create a set of GeneProductRefs associated with the gene product ID. + Set geneRefs = geneIdToAssociation.computeIfAbsent(gpr.getGeneProduct(), k -> new HashSet<>()); + geneRefs.add(gpr); + // The following commented code would link the gene product instance directly to its associations. + // GeneProduct gene = gpr.getGeneProductInstance(); + // if (gene != null) { + // gene.putUserObject("ASSOCIATION_LINK", geneRefs); + // } + } + // Log the addition of the node. + logger.debug(node.toString()); + } + + + /* + * (non-Javadoc) + * @see + * org.sbml.jsbml.util.TreeNodeChangeListener#nodeRemoved(org.sbml.jsbml.util. + * TreeNodeRemovedEvent) + */ + @Override + public void nodeRemoved(TreeNodeRemovedEvent event) { + logger.debug(event.toString()); + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/COBRAUtils.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/COBRAUtils.java new file mode 100644 index 00000000..01b172d5 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/COBRAUtils.java @@ -0,0 +1,97 @@ +package de.uni_halle.informatik.biodata.mp.io.parsers.cobra; + +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import us.hebi.matlab.mat.types.Array; +import us.hebi.matlab.mat.types.Cell; +import us.hebi.matlab.mat.types.Char; +import us.hebi.matlab.mat.types.MatlabType; + +import java.util.Arrays; +import java.util.ResourceBundle; + +import static java.text.MessageFormat.format; + +public class COBRAUtils { + + private static final Logger logger = LoggerFactory.getLogger(COBRAUtils.class); + + /** + * Bundle for ModelPolisher logger messages + */ + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.IO_MESSAGES); + + /** + * @param string + * the {@link String} to be tested. + * @return {@code true} if the given {@link String} is either {@code null} or + * empty or equals empty square brackets. + */ + public static boolean isEmptyString(String string) { + return (string == null) || string.isEmpty() || string.equals("[]"); + } + + + /** + * Necessary to check for a special whitespace (code 160) at beginning of id + * (iCHOv1.mat, possibly other models) and to remove trailing ';' + * + * @return trimmed id without ';' at the end + */ + public static String checkId(String id) { + if (id.startsWith("InChI")) { + return id; + } + if (id.startsWith(Character.toString((char) 160)) || id.startsWith("/")) { + id = id.substring(1); + } + if (id.endsWith(";")) { + id = id.substring(0, id.length() - 1); + } else if (id.contains(";")) { + logger.debug(MESSAGES.getString("TRUNCATED_ID") + id); + id = id.substring(0, id.indexOf(";")); + } + return id; + } + + + /** + */ + public static boolean exists(Array cell, int i) { + if (cell != null) { + if (cell instanceof Cell) { + return (((Cell) cell).get(i) != null); + } + return true; + } + return false; + } + + + public static String asString(Array array) { + return asString(array, null, -1); + } + + + public static String asString(Array array, String parentName, int parentIndex) { + StringBuilder sb = new StringBuilder(); + if (array.getType() == MatlabType.Character) { + Char string = (Char) array; + if (string.getDimensions()[0] > 1) { + logger.debug(format(MESSAGES.getString("MANY_STRINGS_IN_CELL"), string.asCharSequence())); + } + for (int i = 0; i < string.getDimensions()[0]; i++) { + if (i > 0) { + sb.append('\n'); + } + sb.append(string.getRow(i)); + } + } else if (!Arrays.equals(array.getDimensions(), new int[] {0, 0})) { + logger.debug(format(MESSAGES.getString("TYPE_MISMATCH_STRING"), array.getType().toString(), "parentName = %s", + parentName, "parentIndex = %s", parentIndex)); + } + return sb.toString(); + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/GeneParser.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/GeneParser.java new file mode 100644 index 00000000..f3afe265 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/GeneParser.java @@ -0,0 +1,30 @@ +package de.uni_halle.informatik.biodata.mp.io.parsers.cobra; + +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import org.sbml.jsbml.ext.fbc.FBCModelPlugin; +import org.sbml.jsbml.ext.fbc.GeneProduct; +import us.hebi.matlab.mat.types.Cell; + +import java.util.Optional; + +public class GeneParser { + + private final FBCModelPlugin plugin; + private final int index; + + public GeneParser(FBCModelPlugin plugin, int index) { + this.plugin = plugin; + this.index = index; + } + + public void parse() { + Optional geneCell = MatlabFields.getInstance().getCell(ModelField.genes.name()); + geneCell.map(genes -> COBRAUtils.asString(genes.get(index), ModelField.genes.name(), index + 1)) + .ifPresent(id -> { + var biggId = BiGGId.createGeneId(id); + GeneProduct gp = plugin.createGeneProduct(biggId.toBiGGId()); + gp.setLabel(id); + gp.setName(id); + }); + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/MatlabFields.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/MatlabFields.java new file mode 100644 index 00000000..3c443645 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/MatlabFields.java @@ -0,0 +1,173 @@ +package de.uni_halle.informatik.biodata.mp.io.parsers.cobra; + +import static java.text.MessageFormat.format; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.ResourceBundle; +import java.util.function.Predicate; +import java.util.stream.Collectors; + +import javax.xml.stream.XMLStreamException; + +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import org.sbml.jsbml.Model; + +import de.zbit.sbml.util.SBMLtools; +import de.zbit.util.ResourceManager; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import us.hebi.matlab.mat.types.Array; +import us.hebi.matlab.mat.types.Cell; +import us.hebi.matlab.mat.types.Char; +import us.hebi.matlab.mat.types.MatlabType; +import us.hebi.matlab.mat.types.Matrix; +import us.hebi.matlab.mat.types.Sparse; +import us.hebi.matlab.mat.types.Struct; + +class MatlabFields { + + private static final Logger logger = LoggerFactory.getLogger(MatlabFields.class); + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.IO_MESSAGES); + + private final Map fields; + private static MatlabFields instance; + + /** + */ + private MatlabFields(Struct struct) { + fields = new HashMap<>(); + initializeFields(struct); + } + + + /** + */ + public static void init(Struct struct) { + instance = new MatlabFields(struct); + } + + + /** + * + */ + private void initializeFields(Struct struct) { + List knownFields = Arrays.stream(ModelField.values()).map(Enum::name).toList(); + List fieldsFound = struct.getFieldNames(); + logger.debug(format(MESSAGES.getString("KNOWN_FIELDS_MISSING"), + knownFields.parallelStream().filter(Predicate.not(fieldsFound::contains)).collect(Collectors.toSet()))); + logger.debug(format(MESSAGES.getString("ADDITIONAL_FIELDS_PRESENT"), + fieldsFound.parallelStream().filter(Predicate.not(knownFields::contains)).collect(Collectors.toSet()))); + for (String field : fieldsFound) { + fields.put(field, struct.get(field)); + } + } + + + /** + */ + public void setDescriptionFields(Model model) { + if (!fields.containsKey(ModelField.description.name())) { + logger.debug(format(MESSAGES.getString("FIELD_MISSING"), ModelField.description)); + return; + } + Array description = fields.get(ModelField.description.name()); + if (description.getType() == MatlabType.Character) { + Char desc = (Char) description; + if (desc.getDimensions()[0] == 1) { + model.setName(desc.getRow(0)); + } else { + logger.debug(format(MESSAGES.getString("MANY_IDS_IN_DESC"), desc.asCharSequence())); + } + } else if (description.getType() == MatlabType.Structure) { + setDescriptionFromStruct(model, description); + } + } + + + /** + */ + private void setDescriptionFromStruct(Model model, Array description) { + Struct desc = (Struct) description; + List descriptionFields = desc.getFieldNames(); + if (descriptionFields.contains(ModelField.name.name())) { + Array tmp = desc.getObject(ModelField.name.name()); + model.setName(COBRAUtils.asString(tmp)); + } + if (descriptionFields.contains(ModelField.notes.name())) { + Array tmp = desc.getObject(ModelField.notes.name()); + if (tmp.getType() == MatlabType.Character) { + try { + model.appendNotes(SBMLtools.toNotesString("

    " + COBRAUtils.asString(tmp) + "

    ")); + } catch (XMLStreamException exc) { + throw new RuntimeException(exc); + } + } + } + } + + + /** + */ + public static MatlabFields getInstance() { + if (instance == null) { + throw new IllegalStateException("MatlabFields is not initialized!"); + } + return instance; + } + + + /** + */ + public Optional getCell(String name) { + if (fields.containsKey(name)) { + Array array = fields.get(name); + if (array.getType() == MatlabType.Cell) { + return Optional.of((Cell) array); + } + } + return Optional.empty(); + } + + + /** + */ + public Optional getChar(String name) { + if (fields.containsKey(name)) { + Array array = fields.get(name); + if (array.getType() == MatlabType.Character) { + return Optional.of((Char) array); + } + } + return Optional.empty(); + } + + + /** + */ + public Optional getMatrix(String name) { + if (fields.containsKey(name)) { + Array array = fields.get(name); + if (array instanceof Matrix) { + return Optional.of((Matrix) array); + } + } + return Optional.empty(); + } + + + /** + */ + public Optional getSparse(String name) { + if (fields.containsKey(name)) { + Array array = fields.get(name); + if (array.getType() == MatlabType.Sparse) { + return Optional.of((Sparse) array); + } + } + return Optional.empty(); + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/MatlabParser.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/MatlabParser.java new file mode 100644 index 00000000..5ba8458b --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/MatlabParser.java @@ -0,0 +1,311 @@ +package de.uni_halle.informatik.biodata.mp.io.parsers.cobra; + +import de.zbit.sbml.util.SBMLtools; +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import de.uni_halle.informatik.biodata.mp.util.ext.fbc.GPRParser; +import de.uni_halle.informatik.biodata.mp.util.ext.groups.GroupsUtils; +import de.uni_halle.informatik.biodata.mp.io.UpdateListener; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.Reaction; +import org.sbml.jsbml.SBMLDocument; +import org.sbml.jsbml.Unit; +import org.sbml.jsbml.UnitDefinition; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.sbml.jsbml.ext.fbc.FBCModelPlugin; +import org.sbml.jsbml.ext.fbc.FluxObjective; +import org.sbml.jsbml.ext.fbc.Objective; +import org.sbml.jsbml.ext.groups.Group; +import org.sbml.jsbml.ext.groups.GroupsConstants; +import org.sbml.jsbml.ext.groups.GroupsModelPlugin; +import org.sbml.jsbml.util.ModelBuilder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import us.hebi.matlab.mat.format.Mat5; +import us.hebi.matlab.mat.format.Mat5File; +import us.hebi.matlab.mat.types.Array; +import us.hebi.matlab.mat.types.MatFile; +import us.hebi.matlab.mat.types.MatlabType; +import us.hebi.matlab.mat.types.Struct; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.ResourceBundle; + +import static java.text.MessageFormat.format; + +/** + * @author Andreas Dräger + */ +public class MatlabParser { + + private static final Logger logger = LoggerFactory.getLogger(MatlabParser.class); + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.IO_MESSAGES); + private static MatlabFields matlabFields; + private final SBOParameters sboParameters; + + private final Registry registry; + + + public MatlabParser(SBOParameters sboParameters, Registry registry) { + super(); + this.sboParameters = sboParameters; + this.registry = registry; + } + + + /** + */ + public SBMLDocument parse(File matFile) throws IOException { + Mat5File mat5File = Mat5.readFromFile(matFile); + SBMLDocument doc = parseModel(mat5File); + mat5File.close(); + return doc; + } + + + /** + */ + private SBMLDocument parseModel(Mat5File matFile) { + String modelName = ""; + for (MatFile.Entry entry : matFile.getEntries()) { + if (entry.getValue().getType().equals(MatlabType.Structure)) { + // found top level model structure + modelName = entry.getName(); + break; + } + } + if (modelName.isEmpty()) { + logger.debug("Model name is empty for matlab model, aborting"); + return new SBMLDocument(); + } + Struct modelStruct = matFile.getStruct(modelName); + if (!Arrays.equals(modelStruct.getDimensions(), new int[] {1, 1})) { + logger.debug("Model struct dimensions are wrong, aborting"); + return new SBMLDocument(); + } + ModelBuilder builder = new ModelBuilder(3, 1); + builder.buildModel(SBMLtools.toSId(modelName), null); + SBMLDocument doc = builder.getSBMLDocument(); + doc.addTreeNodeChangeListener(new UpdateListener()); + fixFields(modelStruct); + buildBasicUnits(builder); + MatlabFields.init(modelStruct); + matlabFields = MatlabFields.getInstance(); + parseFields(builder); + return doc; + } + + + /** + */ + private void fixFields(Struct modelStruct) { + List fieldNames = new ArrayList<>(modelStruct.getFieldNames()); + for (String fieldName : fieldNames) { + List matches = ModelField.getCorrectName(fieldName); + if (matches.size() == 1) { + String match = matches.get(0); + if (match.equals(fieldName)) { + logger.debug(format("Found known model field {0}", match)); + } else { + logger.debug(format("Field name {0} has wrong case, changing to known variant {1}", fieldName, match)); + Array array = modelStruct.get(fieldName); + modelStruct.remove(fieldName); + modelStruct.set(match, array); + } + } else { + logger.debug(format("Unknown field {0}, trying to interpret as prefix of known variant", fieldName)); + matches = ModelField.getNameForPrefix(fieldName); + if (matches.size() == 1) { + String match = matches.get(0); + logger.debug(format("Changing field name {0} to known variant {1}", fieldName, match)); + Array array = modelStruct.get(fieldName); + modelStruct.remove(fieldName); + modelStruct.set(match, array); + } else { + logger.debug(format("Could not resolve field {0} to known variant", fieldName)); + } + } + } + } + + + /** + */ + private void parseFields(ModelBuilder builder) { + Model model = builder.getModel(); + parseDescription(model); + parseMetabolites(model); + parseGenes(model); + parseRxns(builder); + parseGPRs(model); + parseSubsystems(model); + FBCModelPlugin fbc = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + Objective obj = fbc.createObjective("obj"); + obj.setType(Objective.Type.MAXIMIZE); + fbc.getListOfObjectives().setActiveObjective(obj.getId()); + parseCSense(model); + buildFluxObjectives(model, obj); + parseBValue(model); + } + + + /** + */ + private void parseDescription(Model model) { + matlabFields.setDescriptionFields(model); + } + + + /** + */ + private void buildBasicUnits(ModelBuilder builder) { + UnitDefinition ud = builder.buildUnitDefinition("mmol_per_gDW_per_hr", null); + ModelBuilder.buildUnit(ud, 1d, -3, Unit.Kind.MOLE, 1d); + ModelBuilder.buildUnit(ud, 1d, 0, Unit.Kind.GRAM, -1d); + ModelBuilder.buildUnit(ud, 3600d, 0, Unit.Kind.SECOND, -1d); + } + + + /** + */ + private void parseMetabolites(Model model) { + matlabFields.getCell(ModelField.mets.name()).ifPresent(mets -> { + for (int i = 0; i < mets.getNumElements(); i++) { + SpeciesParser speciesParser = new SpeciesParser(model, i, registry); + speciesParser.parse(); + } + }); + } + + + /** + */ + private void parseGenes(Model model) { + matlabFields.getCell(ModelField.genes.name()).ifPresentOrElse(genes -> { + FBCModelPlugin modelPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + for (int i = 0; i < genes.getNumElements(); i++) { + GeneParser geneParser = new GeneParser(modelPlug, i); + geneParser.parse(); + } + }, () -> logger.debug(MESSAGES.getString("GENES_MISSING"))); + } + + + /** + */ + private void parseRxns(ModelBuilder builder) { + matlabFields.getCell(ModelField.rxns.name()).ifPresent(rxns -> { + for (int index = 0; index < rxns.getNumElements(); index++) { + ReactionParser reactionParser = new ReactionParser(builder, index, registry); + reactionParser.parse(); + } + }); + } + + + /** + */ + private void parseGPRs(Model model) { + matlabFields.getCell(ModelField.grRules.name()).ifPresent(grRules -> { + for (int i = 0; i < grRules.getNumElements(); i++) { + String geneReactionRule = COBRAUtils.asString(grRules.get(i), ModelField.grRules.name(), i + 1); + if (model.getReaction(i) == null) { + logger.debug(format(MESSAGES.getString("CREATE_GPR_FAILED"), i)); + } else { + GPRParser.setGeneProductAssociation(model.getReaction(i), geneReactionRule, sboParameters.addGenericTerms()); + } + } + }); + } + + + /** + */ + private void parseSubsystems(Model model) { + // this is to avoid creating the identical group multiple times. + matlabFields.getCell(ModelField.subSystems.name()).ifPresent(subSystems -> { + if (subSystems.getNumElements() > 0) { + Map nameToGroup = new HashMap<>(); + GroupsModelPlugin groupsModelPlugin = (GroupsModelPlugin) model.getPlugin(GroupsConstants.shortLabel); + for (int i = 0; i < subSystems.getNumElements(); i++) { + String name = COBRAUtils.asString(subSystems.get(i), ModelField.subSystems.name(), i + 1); + Group group = nameToGroup.get(name); + if (group == null) { + group = groupsModelPlugin.createGroup(); + group.setName(name); + group.setKind(Group.Kind.partonomy); + nameToGroup.put(name, group); + } + if (model.getReaction(i) != null) { + GroupsUtils.createSubsystemLink(model.getReaction(i), group.createMember()); + } else { + logger.debug(format(MESSAGES.getString("SUBSYS_LINK_ERROR"), i)); + } + } + } + }); + } + + + /** + */ + private void parseCSense(Model model) { + matlabFields.getChar(ModelField.csense.name()).ifPresent(csense -> { + for (int i = 0; i < csense.getNumElements(); i++) { + try { + char c = csense.getChar(0, i); + // TODO: only 'E' (equality) is supported for now! + if (c != 'E' && model.getListOfSpecies().size() > i) { + logger.debug(format(MESSAGES.getString("NEQ_RELATION_UNSUPPORTED"), model.getSpecies(i).getId())); + } + } catch (Exception e) { + logger.debug(e.toString()); + return; + } + } + }); + } + + + /** + */ + private void buildFluxObjectives(Model model, Objective obj) { + matlabFields.getMatrix(ModelField.coefficients.name()).ifPresent(coefficients -> { + for (int i = 0; i < coefficients.getNumElements(); i++) { + double coefficient = coefficients.getDouble(i); + if (coefficient != 0d) { + Reaction r = model.getReaction(i); + if (r == null) { + break; + } + FluxObjective fo = obj.createFluxObjective("fo_" + r.getId()); + fo.setCoefficient(coefficient); + fo.setReaction(r); + } + } + }); + } + + + /** + */ + private void parseBValue(Model model) { + matlabFields.getMatrix(ModelField.b.name()).ifPresent(b -> { + for (int i = 0; i < b.getNumElements(); i++) { + double bVal = b.getDouble(i); + if (bVal != 0d && model.getListOfSpecies().size() > i) { + // TODO: this should be incorporated into FBC version 3. + logger.debug(format(MESSAGES.getString("B_VALUE_UNSUPPORTED"), bVal, model.getSpecies(i).getId())); + } + } + }); + } +} diff --git a/src/main/java/edu/ucsd/sbrg/parsers/ModelField.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/ModelField.java similarity index 82% rename from src/main/java/edu/ucsd/sbrg/parsers/ModelField.java rename to lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/ModelField.java index dff733d1..694f7f75 100644 --- a/src/main/java/edu/ucsd/sbrg/parsers/ModelField.java +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/ModelField.java @@ -1,7 +1,14 @@ -/** - * - */ -package edu.ucsd.sbrg.parsers; +package de.uni_halle.informatik.biodata.mp.io.parsers.cobra; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; +import org.sbml.jsbml.Reaction; +import org.sbml.jsbml.Species; +import org.sbml.jsbml.ext.fbc.FBCSpeciesPlugin; +import org.sbml.jsbml.ext.fbc.FluxObjective; +import org.sbml.jsbml.ext.fbc.GeneProduct; +import org.sbml.jsbml.ext.fbc.GeneProductAssociation; /** * For more information about COBRA model fields, see the following @@ -12,10 +19,11 @@ * @author Andreas Dräger */ public enum ModelField { + /** * Matrix of constraints, form μ ⋅ A ⋅ v + B ⋅ v = * 0 or g(μ) ⋅ A ⋅ v + B ⋅ v = 0 with - * g(μ) being some continuous nonlinear function of &mu; + * g(μ) being some continuous nonlinear function of μ; * * @see #B */ @@ -44,7 +52,7 @@ public enum ModelField { /** * Matrix of constraints, form μ ⋅ A ⋅ v + B ⋅ v = * 0 or g(μ) ⋅ A ⋅ v + B ⋅ v = 0 with - * g(μ) being some continuous nonlinear function of &mu; + * g(μ) being some continuous nonlinear function of μ; * * @see #A */ @@ -63,6 +71,10 @@ public enum ModelField { * Literature references for the reactions. */ citations, + /** + * TODO + */ + coefficients, /** * These are human-readable notes for reactions. */ @@ -76,7 +88,7 @@ public enum ModelField { confidenceScores, /** * The csense field expresses equality constraints in the model. If this field - * is not defined in the reconstruction, equality constraints are assumed when + * is not defin object.getType();ed in the reconstruction, equality constraints are assumed when * performing the optimization. Its value is a {@link String} whose length * must equal the number of metabolites. An 'E' at index i means that * in this dimension S ⋅ v = b (equality), 'G' means ≥ greater @@ -133,7 +145,7 @@ public enum ModelField { /** * Value of charge for corresponding metabolite. * Must have same dimension as {@link #mets}. Data type: double array. - * For SBML Level < 3, it corresponds to {@link Species#getCharge()}. Since + * For SBML Level < 3, it corresponds to {@link Species#getCharge()}. Since * Level 3, it corresponds to {@link FBCSpeciesPlugin#getCharge()}. */ metCharge, @@ -213,7 +225,7 @@ public enum ModelField { * A vector consisting of zeros and ones that translate to binary and determine * if the corresponding reaction of that index is reversible (1) or not (0). * Dimensions must be equal to the number of reactions. Corresponds to the - * value {@linkReaction#isReversible()} + * value {@link Reaction#isReversible()} */ rev, /** @@ -231,7 +243,7 @@ public enum ModelField { */ rxnConfidenceEcoIDA, /** - * @see #confidenceScores. + * {@see #confidenceScores}. */ rxnConfidenceScores, /** @@ -257,11 +269,11 @@ public enum ModelField { * number of reactions. Data type: cell array of string. Corresponds to the * name of a {@link Reaction}. */ + rxnNames, /** * TODO: description KEGG Orthology */ rxnKeggOrthology, - rxnNames, /** * E. C. number for each reaction * @@ -305,4 +317,34 @@ public enum ModelField { * Upper reaction flux bounds for corresponding reactions */ ub; + + /** + * Get known model field variant name for a struct field, disregarding upper/lowercase discrepancies, if case can't be + * matched + * + * @param query: + * Possible model field, present in model struct + * @return List of matching ModelField variant names + */ + public static List getCorrectName(String query) { + List normalVariant = Arrays.stream(ModelField.values()).map(Enum::name).filter(name -> name.equals(query)) + .collect(Collectors.toList()); + if (normalVariant.size() != 1) { + return Arrays.stream(ModelField.values()).map(Enum::name) + .filter(name -> name.equalsIgnoreCase(query)).collect(Collectors.toList()); + } else { + return normalVariant; + } + } + + + /** + * Get known model field variant name for a struct field, disregarding upper/lowercase discrepancies using struct + * field as prefix of knwon model field + * + */ + public static List getNameForPrefix(String query) { + return Arrays.stream(ModelField.values()).map(Enum::name) + .filter(name -> name.toLowerCase().startsWith(query.toLowerCase())).collect(Collectors.toList()); + } } diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/ReactionParser.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/ReactionParser.java new file mode 100644 index 00000000..e37fcbca --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/ReactionParser.java @@ -0,0 +1,368 @@ +package de.uni_halle.informatik.biodata.mp.io.parsers.cobra; + +import static java.text.MessageFormat.format; +import static org.sbml.jsbml.util.Pair.pairOf; + +import java.util.Optional; +import java.util.ResourceBundle; +import java.util.StringTokenizer; +import java.util.regex.Pattern; + +import javax.xml.stream.XMLStreamException; + +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI; +import org.sbml.jsbml.CVTerm; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.Reaction; +import org.sbml.jsbml.SBase; +import org.sbml.jsbml.Species; +import org.sbml.jsbml.Unit; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.sbml.jsbml.ext.fbc.FBCReactionPlugin; +import org.sbml.jsbml.util.ModelBuilder; + +import de.zbit.sbml.util.SBMLtools; +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import us.hebi.matlab.mat.types.Array; +import us.hebi.matlab.mat.types.Cell; +import us.hebi.matlab.mat.types.Matrix; + +public class ReactionParser { + + private static final Logger logger = LoggerFactory.getLogger(ReactionParser.class); + + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.IO_MESSAGES); + private final ModelBuilder builder; + private final int index; + private static MatlabFields matlabFields; + private static final String DELIM = " ,;\t\n\r\f"; + + private final Registry registry; + + public ReactionParser(ModelBuilder builder, int index, Registry registry) { + this.builder = builder; + this.index = index; + matlabFields = MatlabFields.getInstance(); + this.registry = registry; + } + + + public void parse() { + matlabFields.getCell(ModelField.rxns.name()) + .map(rxns -> COBRAUtils.asString(rxns.get(index), ModelField.rxns.name(), index + 1)).ifPresent(id -> { + if (!id.isEmpty()) { + Model model = builder.getModel(); + var biggId = BiGGId.createReactionId(id); + Reaction reaction = model.createReaction(biggId.toBiGGId()); + setNameAndReversibility(reaction, index); + setReactionBounds(builder, reaction, index); + buildReactantsProducts(model, reaction, index); + parseAnnotations(builder, reaction, id, index); + if (reaction.getCVTermCount() > 0) { + reaction.setMetaId(reaction.getId()); + } + } + }); + } + + + private void setNameAndReversibility(Reaction reaction, int index) { + matlabFields.getCell(ModelField.rxnNames.name()).ifPresent( + rxnNames -> reaction.setName(COBRAUtils.asString(rxnNames.get(index), ModelField.rxnNames.name(), index + 1))); + matlabFields.getMatrix(ModelField.rev.name()).ifPresent(rev -> reaction.setReversible(rev.getDouble(index) != 0d)); + } + + + private void setReactionBounds(ModelBuilder builder, Reaction reaction, int index) { + FBCReactionPlugin rPlug = (FBCReactionPlugin) reaction.getPlugin(FBCConstants.shortLabel); + matlabFields.getMatrix(ModelField.lb.name()) + .ifPresent(lb -> rPlug.setLowerFluxBound(builder.buildParameter(reaction.getId() + "_lb", + reaction.getId() + "_lb", lb.getDouble(index), true, (String) null))); + matlabFields.getMatrix(ModelField.ub.name()) + .ifPresent(ub -> rPlug.setUpperFluxBound(builder.buildParameter(reaction.getId() + "_ub", + reaction.getId() + "_lb", ub.getDouble(index), true, (String) null))); + } + + + @SuppressWarnings("unchecked") + private void buildReactantsProducts(Model model, Reaction reaction, int index) { + // Take the current column of S and look for all non-zero coefficients + matlabFields.getSparse(ModelField.S.name()).ifPresent(S -> { + for (int i = 0; i < S.getNumRows(); i++) { + double coeff = S.getDouble(i, index); + if (coeff != 0d) { + Optional metCell = matlabFields.getCell(ModelField.mets.name()); + if (metCell.isPresent()) { + Cell mets = metCell.get(); + String id = COBRAUtils.asString(mets.get(i), ModelField.mets.name(), i + 1); + var metId = BiGGId.createMetaboliteId(id); + Species species = model.getSpecies(metId.toBiGGId()); + if (coeff < 0d) { // Reactant + ModelBuilder.buildReactants(reaction, pairOf(-coeff, species)); + } else if (coeff > 0d) { // Product + ModelBuilder.buildProducts(reaction, pairOf(coeff, species)); + } + } + } + } + }); + } + + + private void parseAnnotations(ModelBuilder builder, Reaction reaction, String rId, int index) { + matlabFields.getCell(ModelField.ecNumbers.name()).ifPresent(ecNumbers -> { + if (ecNumbers.get(index) != null) { + parseECcodes(COBRAUtils.asString(ecNumbers.get(index), ModelField.ecNumbers.name(), index + 1), reaction); + } + }); + matlabFields.getCell(ModelField.rxnKeggID.name()).ifPresent(rxnKeggID -> { + if (rxnKeggID.get(index) != null) { + parseRxnKEGGids(COBRAUtils.asString(rxnKeggID.get(index), ModelField.rxnKeggID.name(), index + 1), reaction); + } + }); + matlabFields.getCell(ModelField.rxnKeggOrthology.name()).ifPresent(rxnKeggOrthology -> { + if (rxnKeggOrthology.get(index) != null) { + parseRxnKEGGOrthology( + COBRAUtils.asString(rxnKeggOrthology.get(index), ModelField.rxnKeggOrthology.name(), index + 1), reaction); + } + }); + matlabFields.getCell(ModelField.comments.name()).ifPresent(comments -> { + if (comments.get(index) != null) { + String comment = COBRAUtils.asString(comments.get(index), ModelField.comments.name(), index + 1); + appendComment(comment, reaction); + } + }); + matlabFields.getCell(ModelField.confidenceScores.name()).ifPresent(confidenceScores -> { + if (confidenceScores.get(index) != null) { + Array cell = confidenceScores.get(index); + if (cell instanceof Matrix) { + if (cell.getNumElements() == 0) { + logger.debug(MESSAGES.getString("CONF_CELL_WRONG_DIMS")); + return; + } + double score = ((Matrix) cell).getDouble(0); + logger.debug(format(MESSAGES.getString("DISPLAY_CONF_SCORE"), score, reaction.getId())); + builder.buildParameter("P_confidenceScore_of_" + org.sbml.jsbml.util.SBMLtools.toSId(rId), // id + format("Confidence score of reaction {0}", reaction.isSetName() ? reaction.getName() : reaction.getId()), // name + score, // value + true, // constant + Unit.Kind.DIMENSIONLESS // unit + ).setSBOTerm(613); + // TODO: there should be a specific term for confidence scores. + // Use "613 - reaction parameter" for now. + } else { + logger.debug(format(MESSAGES.getString("TYPE_MISMATCH_MLDOUBLE"), cell.getClass().getSimpleName())); + } + } + }); + matlabFields.getCell(ModelField.citations.name()).ifPresent(citations -> { + if (citations.get(index) != null) { + parseCitation(COBRAUtils.asString(citations.get(index), ModelField.citations.name(), index + 1), reaction); + } + }); + } + + + private void appendComment(String comment, SBase sbase) { + try { + if (!COBRAUtils.isEmptyString(comment)) { + sbase.appendNotes(SBMLtools.toNotesString("

    " + comment + "

    ")); + } + } catch (XMLStreamException exc) { + throw new RuntimeException(exc); + } + } + + + private void parseECcodes(String ec, Reaction reaction) { + if (COBRAUtils.isEmptyString(ec)) { + return; + } + CVTerm term = findOrCreateCVTerm(reaction, CVTerm.Qualifier.BQB_HAS_PROPERTY); + StringTokenizer st = new StringTokenizer(ec, DELIM); + boolean match = false; + while (st.hasMoreElements()) { + String ecCode = st.nextElement().toString().trim(); + if (!ecCode.isEmpty() && validId("ec-code", ecCode)) { + String resource = new IdentifiersOrgURI("ec-code", ecCode).getURI(); + if (!term.getResources().contains(resource)) { + match = term.addResource(resource); + } + } + } + if (!match) { + logger.debug(format(MESSAGES.getString("EC_CODES_UNKNOWN"), ec)); + } + if ((term.getResourceCount() > 0) && (term.getParent() == null)) { + reaction.addCVTerm(term); + } + } + + + private void parseRxnKEGGids(String keggId, Reaction reaction) { + if (COBRAUtils.isEmptyString(keggId)) { + return; + } + String prefix = "kegg.reaction"; + String pattern = registry.getPatternByNamespaceName(registry.getNamespaceForPrefix(prefix)); + CVTerm term = findOrCreateCVTerm(reaction, CVTerm.Qualifier.BQB_IS); + StringTokenizer st = new StringTokenizer(keggId, DELIM); + while (st.hasMoreElements()) { + String kId = st.nextElement().toString().trim(); + if (!kId.isEmpty() && Pattern.compile(pattern).matcher(kId).matches()) { + term.addResource(new IdentifiersOrgURI(prefix, kId).getURI()); + } + } + if (term.getResourceCount() == 0) { + // This is actually bad.. should only be KEGG ids, not EC-Codes + parseECcodes(keggId, reaction); + } + if ((term.getResourceCount() > 0) && (term.getParent() == null)) { + reaction.addCVTerm(term); + } + } + + + /** + * Searches for the first {@link CVTerm} within the given {@link SBase} that + * has the given {@link CVTerm.Qualifier}. + * + * @return the found {@link CVTerm} or a new {@link CVTerm} if non exists. + * To distinguish between both cases, test if the parent is + * {@code null}. + */ + private CVTerm findOrCreateCVTerm(SBase sbase, CVTerm.Qualifier qualifier) { + if (sbase.getCVTermCount() > 0) { + for (CVTerm term : sbase.getCVTerms()) { + if (term.getQualifier().equals(qualifier)) { + return term; + } + } + } + return new CVTerm(CVTerm.Type.BIOLOGICAL_QUALIFIER, qualifier); + } + + + private void parseRxnKEGGOrthology(String keggId, Reaction reaction) { + if (COBRAUtils.isEmptyString(keggId)) { + return; + } + String catalog = "kegg.orthology"; + String pattern = registry.getPatternByNamespaceName(registry.getNamespaceForPrefix(catalog)); + CVTerm term = findOrCreateCVTerm(reaction, CVTerm.Qualifier.BQB_IS); + StringTokenizer st = new StringTokenizer(keggId, DELIM); + while (st.hasMoreElements()) { + String kId = st.nextElement().toString().trim(); + if (!kId.isEmpty() && Pattern.compile(pattern).matcher(kId).matches()) { + term.addResource(new IdentifiersOrgURI(catalog, kId).getURI()); + } + } + if ((term.getResourceCount() > 0) && (term.getParent() == null)) { + reaction.addCVTerm(term); + } + } + + + private void parseCitation(String citation, Reaction reaction) { + StringBuilder otherCitation = new StringBuilder(); + if (COBRAUtils.isEmptyString(citation)) { + return; + } + CVTerm term = new CVTerm(CVTerm.Type.BIOLOGICAL_QUALIFIER, CVTerm.Qualifier.BQB_IS_DESCRIBED_BY); + StringTokenizer st = new StringTokenizer(citation, ","); + while (st.hasMoreElements()) { + String ref = st.nextElement().toString().trim(); + if (!addResource(ref, term, "pubmed")) { + if (!addResource(ref, term, "doi")) { + if (!otherCitation.isEmpty()) { + otherCitation.append(", "); + } + otherCitation.append(ref); + } + } + } + if (!otherCitation.isEmpty()) { + try { + if (reaction.isSetNotes()) { + reaction.appendNotes("\n\nReference: " + otherCitation); + } else { + reaction.appendNotes(SBMLtools.toNotesString("

    Reference: " + otherCitation + "

    ")); + } + } catch (XMLStreamException exc) { + throw new RuntimeException(exc); + } + } + if ((term.getResourceCount() > 0) && (term.getParent() == null)) { + reaction.addCVTerm(term); + } + } + + + /** + * Tries to update a resource according to pre-defined rules. If the resource + * starts with the MIRIAM name followed by a colon, its value is added to the + * given term. This method assumes that there is a colon between catalog id + * and resource id. If this is not the case, {@code false} will be returned. + * + * @return {@code true} if successful, {@code false} otherwise. + */ + public boolean addResource(String resource, CVTerm term, String prefix) { + StringTokenizer st = new StringTokenizer(resource, " "); + while (st.hasMoreElements()) { + String r = st.nextElement().toString().trim(); + if (r.contains(":")) { + r = r.substring(r.indexOf(':') + 1).trim(); + } else { + continue; + } + if (r.endsWith("'") || r.endsWith(".")) { + r = r.substring(0, r.length() - 1); + } + r = COBRAUtils.checkId(r); + if (validId(prefix, r)) { + if (!resource.isEmpty()) { + if (st.countTokens() > 1) { + logger.debug(format(MESSAGES.getString("SKIP_COMMENT"), resource, r, prefix)); + } + resource = new IdentifiersOrgURI(prefix, r).getURI(); + logger.debug(format(MESSAGES.getString("ADDED_URI"), resource)); + return term.addResource(resource); + } + } + } + return false; + } + + + /** + * Checks if id belongs to a given collection by matching it with the + * respective regexp + * + * @param prefix: + * Miriam collection + * @param id: + * id to test for membership + * @return {@code true}, if it matches, else {@code false} + */ + private boolean validId(String prefix, String id) { + if (id.isEmpty()) { + return false; + } + String pattern = registry.getPatternByNamespaceName(registry.getNamespaceForPrefix(prefix)); + boolean validId = false; + if (!pattern.isEmpty()) { + validId = Pattern.compile(pattern).matcher(id).matches(); + if (!validId) { + logger.debug(format(MESSAGES.getString("PATTERN_MISMATCH"), id, pattern)); + } + } else { + logger.debug(format(MESSAGES.getString("COLLECTION_UNKNOWN"), prefix)); + } + return validId; + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/SpeciesParser.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/SpeciesParser.java new file mode 100644 index 00000000..abceb8f1 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/SpeciesParser.java @@ -0,0 +1,195 @@ +package de.uni_halle.informatik.biodata.mp.io.parsers.cobra; + +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI; +import org.sbml.jsbml.CVTerm; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.Species; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.sbml.jsbml.ext.fbc.FBCSpeciesPlugin; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import us.hebi.matlab.mat.types.Array; +import us.hebi.matlab.mat.types.Cell; + +import javax.xml.stream.XMLStreamException; +import java.util.ResourceBundle; + +import static java.text.MessageFormat.format; + +public class SpeciesParser { + + private static final Logger logger = LoggerFactory.getLogger(SpeciesParser.class); + public static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.IO_MESSAGES); + private final Model model; + private final int index; + private static MatlabFields matlabFields; + + private final Registry registry; + + public SpeciesParser(Model model, int index, Registry registry) { + this.model = model; + this.index = index; + matlabFields = MatlabFields.getInstance(); + this.registry = registry; + } + + + public void parse() { + matlabFields.getCell(ModelField.mets.name()) + .map(mets -> COBRAUtils.asString(mets.get(index), ModelField.mets.name(), index + 1)) + .map(BiGGId::createMetaboliteId) + .ifPresent(biggId -> { + Species species = model.createSpecies(biggId.toBiGGId()); + parseSpeciesFields(species); + parseAnnotation(species); + }); + } + + + private void parseSpeciesFields(Species species) { + matlabFields.getCell(ModelField.metNames.name()).ifPresent( + metNames -> species.setName(COBRAUtils.asString(metNames.get(index), ModelField.metNames.name(), index + 1))); + if (species.isSetPlugin(FBCConstants.shortLabel)) { + FBCSpeciesPlugin specPlug = (FBCSpeciesPlugin) species.getPlugin(FBCConstants.shortLabel); + matlabFields.getCell(ModelField.metFormulas.name()).ifPresent(metFormulas -> { + if (metFormulas.get(index) != null) { + specPlug.setChemicalFormula( + COBRAUtils.asString(metFormulas.get(index), ModelField.metFormulas.name(), index + 1)); + } + }); + matlabFields.getMatrix(ModelField.metFormulas.name()).ifPresent(metCharge -> { + if (metCharge.getNumElements() > index) { + double charge = metCharge.getDouble(index); + specPlug.setCharge((int) charge); + if (charge - ((int) charge) != 0d) { + logger.debug(format(MESSAGES.getString("CHARGE_TO_INT_COBRA"), charge, specPlug.getCharge())); + } + } + }); + } + matlabFields.getCell(ModelField.metSmile.name()).ifPresent(metSmile -> { + if (metSmile.get(index) != null) { + String smile = COBRAUtils.asString(metSmile.get(index), ModelField.metSmile.name(), index + 1); + if (!COBRAUtils.isEmptyString(smile)) { + try { + species.appendNotes("SMILES: " + smile + ""); + } catch (XMLStreamException exc) { + throw new RuntimeException(exc); + } + } + } + }); + if (species.isSetAnnotation()) { + species.setMetaId(species.getId()); + } + } + + + private void parseAnnotation(Species species) { + CVTerm term = new CVTerm(); + term.setQualifierType(CVTerm.Type.BIOLOGICAL_QUALIFIER); + term.setBiologicalQualifierType(CVTerm.Qualifier.BQB_IS); + matlabFields.getCell(ModelField.metCHEBIID.name()) + .ifPresent(metCHEBIID -> addResource(metCHEBIID, index, term, "ChEBI")); + matlabFields.getCell(ModelField.metHMDB.name()).ifPresent(metHMDB -> addResource(metHMDB, index, term, "HMDB")); + matlabFields.getCell(ModelField.metInchiString.name()) + .ifPresent(metInchiString -> addResource(metInchiString, index, term, "InChI")); + addKEGGResources(term, index); + addPubChemResources(term, index); + if (term.getResourceCount() > 0) { + species.addCVTerm(term); + } + } + + + /** + * Adds resources to provided CVTerm if catalog and id from MLCell + * provide a valid URI. Logs ids not matching namespaceName patterns + * and invalid collections. In both cases no resource is added. + * + * @param i + * the index within the cell. + */ + private boolean addResource(Cell cell, int i, CVTerm term, String namespaceName) { + boolean success = false; + if (cell.get(i) != null) { + String id = toMIRIAMid((Array) cell.get(i)); + if (!COBRAUtils.isEmptyString(id)) { + id = COBRAUtils.checkId(id); + String prefix = registry.getPrefixByNamespaceName(namespaceName); + if (!prefix.isEmpty()) { + String resource; + if (id.startsWith("http")) { + resource = id; + } else { + resource = new IdentifiersOrgURI(prefix, id).getURI(); + } + String finalId = id; + success = registry.resolveBackwards(resource) + .map(res -> { + term.addResource(res.getURI()); + logger.debug(format(MESSAGES.getString("ADDED_URI_COBRA"), res)); + return true; + }).orElseGet(() -> { + logger.debug(format(MESSAGES.getString("ADD_URI_FAILED_COBRA"), namespaceName, finalId)); + return false; + }); + } + } + } + return success; + } + + + /** + * @param array: + * MLArray to be stringified + * @return String representation of the given array + */ + private String toMIRIAMid(Array array) { + return toMIRIAMid(COBRAUtils.asString(array)); + } + + + /** + * @param idCandidate: + * id part for the uri + * @return finalized id, without [, ], ' at the string boundaries + */ + private String toMIRIAMid(String idCandidate) { + if ((idCandidate == null) || idCandidate.isEmpty()) { + return null; + } + int start = 0; + int end = idCandidate.length() - 1; + if ((idCandidate.charAt(start) == '[') || (idCandidate.charAt(start) == '\'')) { + start++; + } + if ((idCandidate.charAt(end) == ']') || (idCandidate.charAt(end) == '\'')) { + end--; + } + // substring method already decrements second index + return (start < end) ? idCandidate.substring(start, end + 1) : null; + } + + + private void addKEGGResources(CVTerm term, int i) { + // use short circuit evaluation to only run addResource until one of them returns true + // return type is needed for this to work + matlabFields.getCell(ModelField.metKeggID.name()) + .map(metKeggID -> addResource(metKeggID, i, term, "KEGG Compound") + || addResource(metKeggID, i, term, "KEGG Drug") || addResource(metKeggID, i, term, "KEGG Genes") + || addResource(metKeggID, i, term, "KEGG Glycan") || addResource(metKeggID, i, term, "KEGG Pathway")); + } + + + private void addPubChemResources(CVTerm term, int i) { + matlabFields.getCell(ModelField.metPubChemID.name()) + .map(metPubChemID -> addResource(metPubChemID, i, term, "PubChem-compound") + || addResource(metPubChemID, i, term, "PubChem-substance")); + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/JSONConverter.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/JSONConverter.java new file mode 100644 index 00000000..3310d1b5 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/JSONConverter.java @@ -0,0 +1,255 @@ +package de.uni_halle.informatik.biodata.mp.io.parsers.json; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import javax.xml.stream.XMLStreamException; + +import org.sbml.jsbml.Annotation; +import org.sbml.jsbml.CVTerm; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.Parameter; +import org.sbml.jsbml.Reaction; +import org.sbml.jsbml.SBMLDocument; +import org.sbml.jsbml.Species; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.sbml.jsbml.ext.fbc.FBCModelPlugin; +import org.sbml.jsbml.ext.fbc.FBCReactionPlugin; +import org.sbml.jsbml.ext.fbc.FBCSpeciesPlugin; +import org.sbml.jsbml.ext.fbc.FluxObjective; +import org.sbml.jsbml.ext.fbc.GeneProduct; +import org.sbml.jsbml.ext.fbc.GeneProductAssociation; +import org.sbml.jsbml.ext.fbc.Objective; +import org.sbml.jsbml.ext.groups.Group; +import org.sbml.jsbml.ext.groups.GroupsConstants; +import org.sbml.jsbml.ext.groups.GroupsModelPlugin; +import org.sbml.jsbml.ext.groups.Member; +import org.sbml.jsbml.xml.XMLNode; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; + +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Compartments; +import de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Gene; +import de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite; +import de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolites; +import de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root; +import de.uni_halle.informatik.biodata.mp.util.ext.fbc.GPRParser; + +public class JSONConverter { + private static Map compartments = new HashMap<>(); + + + public static Root convertModel(Model model) throws XMLStreamException { + Root root = new Root(); + root.setId(model.getId()); + root.setName(model.getName()); + root.setVersion(model.getVersion()); + compartments = new HashMap<>(); + // description is currently empty + root.setReactions(convertReactions(model)); + root.setMetabolites(convertMetabolites(model)); + root.setGenes(convertGenes(model)); + if (!compartments.isEmpty()) { + Compartments comps = new Compartments(); + comps.addAll(compartments); + root.setCompartments(comps); + } + if (model.isSetNotes()) { + root.setNotes(serializeNotes(model.getNotes())); + } + root.setAnnotation(serializeAnnotation(model.getAnnotation())); + return root; + } + + + public static List convertGenes(Model model) throws XMLStreamException { + List genes = new ArrayList<>(); + FBCModelPlugin modelPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + for (GeneProduct g : modelPlug.getListOfGeneProducts()) { + genes.add(convertGene(g)); + } + return genes; + } + + + public static Gene convertGene(GeneProduct g) throws XMLStreamException { + Gene gene = new Gene(); + gene.setId(g.getId()); + gene.setName(g.getName()); + if (g.isSetNotes()) { + gene.setNotes(serializeNotes(g.getNotes())); + } + gene.setAnnotation(serializeAnnotation(g.getAnnotation())); + ObjectMapper mapper = new ObjectMapper(); + mapper.enable(SerializationFeature.INDENT_OUTPUT); + return gene; + } + + + public static List convertMetabolites(Model model) throws XMLStreamException { + List metabolites = new ArrayList<>(); + for (Species species : model.getListOfSpecies()) { + metabolites.add(convertMetabolite(species)); + } + return metabolites; + } + + + public static Metabolite convertMetabolite(Species species) throws XMLStreamException { + Metabolite metabolite = new Metabolite(); + metabolite.setId(species.getId()); + metabolite.setName(species.getName()); + if (species.isSetCompartment()) { + String compartment = species.getCompartment(); + var biGGId = BiGGId.createMetaboliteId(species.getId()); + String compartmentCode = biGGId.getCompartmentCode(); + if (!compartmentCode.isEmpty() && !compartments.containsKey(compartmentCode)) { + compartments.put(compartmentCode, compartment); + } + metabolite.setCompartment(compartment); + } else { + metabolite.setCompartment(""); + } + FBCSpeciesPlugin specPlug = (FBCSpeciesPlugin) species.getPlugin(FBCConstants.shortLabel); + if (specPlug.isSetCharge()) { + metabolite.setCharge(specPlug.getCharge()); + } + if (specPlug.isSetChemicalFormula()) { + metabolite.setFormula(specPlug.getChemicalFormula()); + } + if (species.isSetNotes()) { + metabolite.setNotes(serializeNotes(species.getNotes())); + } + metabolite.setAnnotation(serializeAnnotation(species.getAnnotation())); + return metabolite; + } + + + public static List convertReactions(Model model) throws XMLStreamException { + List reactions = new ArrayList<>(); + for (Reaction reaction : model.getListOfReactions()) { + reactions.add(convertReaction(reaction)); + } + return reactions; + } + + + public static de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction convertReaction(Reaction r) throws XMLStreamException { + de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction reaction = new de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction(); + reaction.setId(r.getId()); + reaction.setName(r.getName()); + Metabolites metabolites = new Metabolites(); + r.getListOfReactants().forEach(reference -> metabolites.add(reference.getSpecies(), + reference.getStoichiometry() < 0 ? reference.getStoichiometry() : reference.getStoichiometry() * -1)); + r.getListOfProducts().forEach(reference -> metabolites.add(reference.getSpecies(), reference.getStoichiometry())); + reaction.setMetabolites(metabolites); + FBCReactionPlugin reactionPlugin = (FBCReactionPlugin) r.getPlugin(FBCConstants.shortLabel); + if (reactionPlugin.isSetGeneProductAssociation()) { + GeneProductAssociation gpa = reactionPlugin.getGeneProductAssociation(); + reaction.setGeneReactionRule(GPRParser.stringify(gpa.getAssociation())); + } else { + reaction.setGeneReactionRule(""); + } + boolean reversible = r.isReversible(); + Parameter lb = reactionPlugin.getLowerFluxBoundInstance(); + double lbVal; + if (reversible) { + lbVal = -1000d; + } else { + lbVal = 0d; + } + if (lb != null) { + lbVal = lb.getValue(); + } + reaction.setLowerBound(lbVal); + Parameter ub = reactionPlugin.getUpperFluxBoundInstance(); + double ubVal = 1000; + if (ub != null) { + ubVal = ub.getValue(); + } + reaction.setUpperBound(ubVal); + FBCModelPlugin modelPlugin = (FBCModelPlugin) r.getModel().getPlugin(FBCConstants.shortLabel); + Objective obj = modelPlugin.getObjective(0); + if (obj != null) { + for (FluxObjective fo : obj.getListOfFluxObjectives()) { + if (fo.getReactionInstance().equals(r)) { + reaction.setObjectiveCoefficient(fo.getCoefficient()); + break; + } + } + } else { + reaction.setObjectiveCoefficient(0d); + } + // Set reaction subsystem to first member match + // experimental: is this correct if multiple member objects and/or multiple matches could exist potentially? + Object subsystem = r.getUserObject("SUBSYSTEM_LINK"); + if (subsystem instanceof Set) { + for (Object member : (Set) subsystem) { + if (member instanceof Member) { + GroupsModelPlugin groupsModelPlugin = (GroupsModelPlugin) r.getModel().getPlugin(GroupsConstants.shortLabel); + for (Group group : groupsModelPlugin.getListOfGroups()) { + for (Member groupMember : group.getListOfMembers()) { + if (member.equals(groupMember)) { + reaction.setSubsystem(group.getName()); + break; + } + } + } + } + } + } + if (r.isSetNotes()) { + reaction.setNotes(serializeNotes(r.getNotes())); + } + reaction.setAnnotation(serializeAnnotation(r.getAnnotation())); + return reaction; + } + + + public static String getJSONDocument(SBMLDocument doc) throws JsonProcessingException, XMLStreamException { + return getJSONModel(doc.getModel()); + } + + + public static String getJSONModel(Model model) throws JsonProcessingException, XMLStreamException { + Root root = convertModel(model); + ObjectMapper mapper = new ObjectMapper(); + mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); + mapper.enable(SerializationFeature.INDENT_OUTPUT); + return mapper.writeValueAsString(root); + } + + + private static Map> serializeAnnotation(Annotation annotation) { + Map> terms = new LinkedHashMap<>(); + for (CVTerm term : annotation.getListOfCVTerms()) { + terms.put(term.getQualifier().getElementNameEquivalent(), term.getResources()); + } + return terms; + } + + + private static List serializeNotes(XMLNode notes) throws XMLStreamException { + List convertedNotes = new ArrayList<>(); + int numChildren = notes.getChildCount(); + for (int i = 0; i < numChildren; i++) { + XMLNode child = notes.getChild(i); + for (int j = 0; j < child.getChildCount(); j++) { + XMLNode leaf = child.getChild(j); + // remove XML tags and whitespace + String text = leaf.toXMLString().replaceAll("<.*?>", "").strip(); + if (!text.isEmpty()) { + convertedNotes.add(text); + } + } + } + return convertedNotes; + } +} diff --git a/src/main/java/edu/ucsd/sbrg/parsers/JSONparser.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/JSONParser.java similarity index 65% rename from src/main/java/edu/ucsd/sbrg/parsers/JSONparser.java rename to lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/JSONParser.java index 4956f928..985570a2 100644 --- a/src/main/java/edu/ucsd/sbrg/parsers/JSONparser.java +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/JSONParser.java @@ -1,6 +1,5 @@ -package edu.ucsd.sbrg.parsers; +package de.uni_halle.informatik.biodata.mp.io.parsers.json; -import static edu.ucsd.sbrg.bigg.ModelPolisher.mpMessageBundle; import static java.text.MessageFormat.format; import static org.sbml.jsbml.util.Pair.pairOf; @@ -12,13 +11,18 @@ import java.util.List; import java.util.Map; import java.util.Optional; +import java.util.ResourceBundle; import java.util.Set; import java.util.StringJoiner; -import java.util.logging.Logger; import java.util.stream.Collectors; import javax.xml.stream.XMLStreamException; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import de.uni_halle.informatik.biodata.mp.resolver.RegistryURI; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI; +import de.uni_halle.informatik.biodata.mp.util.ext.groups.GroupsUtils; import org.sbml.jsbml.CVTerm; import org.sbml.jsbml.Compartment; import org.sbml.jsbml.Model; @@ -42,55 +46,38 @@ import com.fasterxml.jackson.databind.ObjectMapper; import de.zbit.sbml.util.SBMLtools; -import edu.ucsd.sbrg.bigg.BiGGId; -import edu.ucsd.sbrg.miriam.Registry; -import edu.ucsd.sbrg.parsers.models.Compartments; -import edu.ucsd.sbrg.parsers.models.Gene; -import edu.ucsd.sbrg.parsers.models.Metabolite; -import edu.ucsd.sbrg.parsers.models.Reaction; -import edu.ucsd.sbrg.parsers.models.Root; -import edu.ucsd.sbrg.util.GPRParser; -import edu.ucsd.sbrg.util.SBMLUtils; -import edu.ucsd.sbrg.util.UpdateListener; +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Compartments; +import de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Gene; +import de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite; +import de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction; +import de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Root; +import de.uni_halle.informatik.biodata.mp.util.ext.fbc.GPRParser; +import de.uni_halle.informatik.biodata.mp.io.UpdateListener; +import org.slf4j.LoggerFactory; /** * @author Thomas Jakob Zajac */ -public class JSONparser { +public class JSONParser { - /** - * A {@link Logger} for this class. - */ - private static final transient Logger logger = Logger.getLogger(JSONparser.class.getName()); - - /** - * - */ - public JSONparser() { - super(); - } + private static final org.slf4j.Logger logger = LoggerFactory.getLogger(JSONParser.class); + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.IO_MESSAGES); + private final Registry registry; - /** - * @param jsonFile, - * to be read and parsed - * @return parsed {@link SBMLDocument} - * @throws IOException - */ - public static SBMLDocument read(File jsonFile) throws IOException { - JSONparser parser = new JSONparser(); - return parser.parse(jsonFile); + public JSONParser(Registry registry) { + super(); + this.registry = registry; } /** * Creates the {@link ModelBuilder}, {@link SBMLDocument} and reads the * jsonFile as a tree - * - * @param jsonFile - * @return */ - private SBMLDocument parse(File jsonFile) throws IOException { + public SBMLDocument parse(File jsonFile) throws IOException { ObjectMapper mapper = new ObjectMapper(); Root root = mapper.readValue(jsonFile, Root.class); ModelBuilder builder = new ModelBuilder(3, 1); @@ -99,7 +86,7 @@ private SBMLDocument parse(File jsonFile) throws IOException { // Has to be present String modelId = root.getId(); // Set model name to id, if name is not provided - String modelName = Optional.ofNullable(root.getName()).orElse(modelId); + String modelName = root.getName() != null ? root.getName() : modelId; builder.buildModel(modelId, modelName); Model model = builder.getModel(); model.setId(modelId); @@ -114,13 +101,9 @@ private SBMLDocument parse(File jsonFile) throws IOException { * version), generates a basic unit definition (mmol_per_gDW_per_hr) and calls * the parse methods for the main fields (compartments, metabolites, genes, * reactions) - * - * @param builder - * @param root - * @return */ private void parseModel(ModelBuilder builder, Root root) { - logger.info(mpMessageBundle.getString("JSON_PARSER_STARTED")); + logger.debug(MESSAGES.getString("JSON_PARSER_STARTED")); // get Model and set all informational fields Model model = builder.getModel(); model.setVersion(root.getVersion()); @@ -142,13 +125,9 @@ private void parseModel(ModelBuilder builder, Root root) { } - /** - * @param node - * @param annotation - */ @SuppressWarnings("unchecked") public void parseAnnotation(SBase node, Object annotation) { - if (Optional.ofNullable(annotation).orElse("").equals("")) { + if (annotation == null || annotation.equals("")) { return; } Set annotations = new HashSet<>(); @@ -157,10 +136,9 @@ public void parseAnnotation(SBase node, Object annotation) { annotations.addAll(parseAnnotation(entry)); } } else { - logger.severe(String.format("Please open an issue to see annotation format '%s' implemented.", - annotation.getClass().getName())); + logger.debug(format(MESSAGES.getString("OPEN_ISSUE_ANNOTATION"), annotation.getClass().getName())); } - if (annotations.size() > 0) { + if (!annotations.isEmpty()) { CVTerm term = new CVTerm(); term.setQualifierType(CVTerm.Type.BIOLOGICAL_QUALIFIER); term.setBiologicalQualifierType(CVTerm.Qualifier.BQB_IS); @@ -170,10 +148,6 @@ public void parseAnnotation(SBase node, Object annotation) { } - /** - * @param entry - * @return - */ @SuppressWarnings("unchecked") private Set parseAnnotation(Map.Entry entry) { Set annotations = new HashSet<>(); @@ -186,37 +160,27 @@ private Set parseAnnotation(Map.Entry entry) { checkResource(providerCode, id).map(annotations::add); } } else { - logger.severe( - String.format("Please open an issue to see parsing for id format '%s' implemented.", ids.getClass().getName())); + logger.debug(format(MESSAGES.getString("OPEN_ISSUE_ID_FORMAT"), ids.getClass().getName())); } return annotations; } - /** - * @param providerCode - * @param id - * @return - */ private Optional checkResource(String providerCode, String id) { String resource; if (id.startsWith("http")) { resource = id; } else { - resource = Registry.createURI(providerCode, id); + resource = new IdentifiersOrgURI(providerCode, id).getURI(); } - return Registry.checkResourceUrl(resource); + return registry.resolveBackwards(resource).map(RegistryURI::getURI); } - /** - * @param node - * @param notes - */ @SuppressWarnings("unchecked") public void parseNotes(SBase node, Object notes) { Set content = new HashSet<>(); - if (Optional.ofNullable(notes).orElse("").equals("")) { + if (notes == null || notes.equals("")) { return; } if (notes instanceof LinkedHashMap) { @@ -225,33 +189,28 @@ public void parseNotes(SBase node, Object notes) { } StringBuilder notesContent = new StringBuilder(); content = content.stream().filter(item -> !item.isEmpty()).collect(Collectors.toSet()); - if (content.size() > 0) { + if (!content.isEmpty()) { content.forEach(line -> notesContent.append("

    ").append(line).append("

    \n")); } - if (notesContent.length() > 0) { + if (!notesContent.isEmpty()) { try { node.appendNotes(SBMLtools.toNotesString(notesContent.toString())); } catch (XMLStreamException e) { - e.printStackTrace(); + logger.debug("Could not append notes to node.", e); } } } else if (notes instanceof String) { try { node.appendNotes(SBMLtools.toNotesString("

    " + notes + "

    ")); } catch (XMLStreamException e) { - e.printStackTrace(); + logger.debug("Could not append notes to node.", e); } } else { - logger.severe( - String.format("Please open an issue to see notes format '%s' implemented.", notes.getClass().getName())); + logger.debug(format(MESSAGES.getString("OPEN_ISSUE_NOTES_FORMAT"), notes.getClass().getName())); } } - /** - * @param entry - * @return - */ @SuppressWarnings("unchecked") private String parseNotes(Map.Entry entry) { String note = ""; @@ -262,60 +221,51 @@ private String parseNotes(Map.Entry entry) { } else if (value instanceof ArrayList) { StringJoiner items = new StringJoiner(",", "[", "]"); ((List) value).forEach(items::add); - note = key + ":" + items.toString(); + note = key + ":" + items; } else { - logger.severe(String.format("Please open an issue to see parsing for notes content format '%s' implemented.", - value.getClass().getName())); + logger.debug(format(MESSAGES.getString("OPEN_ISSUE_NOTES_CONTENT"), value.getClass().getName())); } return note; } - /** - * @param builder - * @param compartments - */ public void parseCompartments(ModelBuilder builder, Map compartments) { int compSize = compartments.size(); - logger.info(format(mpMessageBundle.getString("NUM_COMPART"), compSize)); + logger.debug(format(MESSAGES.getString("NUM_COMPART"), compSize)); Model model = builder.getModel(); for (Map.Entry compartment : compartments.entrySet()) { BiGGId.extractCompartmentCode(compartment.getKey()).ifPresentOrElse(compartmentCode -> { - if (model.getCompartment(compartmentCode) == null) { - Compartment comp = model.createCompartment(); + Compartment comp = model.getCompartment(compartmentCode); + if (comp == null) { + comp = model.createCompartment(); comp.setId(compartmentCode); comp.setName(compartment.getValue()); + } else { + if (!comp.isSetName()) { + comp.setName(compartment.getValue()); + } } - }, () -> logger.info(String.format("Invalid compartment code '%s', skipping.", compartment.getKey()))); + }, () -> logger.debug(format(MESSAGES.getString("INVALID_COMPARTMENT_CODE"), compartment.getKey()))); } } - /** - * @param builder - * @param metabolites - */ private void parseMetabolites(ModelBuilder builder, List metabolites) { int metSize = metabolites.size(); - logger.info(format(mpMessageBundle.getString("NUM_METABOLITES"), metSize)); + logger.debug(format(MESSAGES.getString("NUM_METABOLITES"), metSize)); Model model = builder.getModel(); for (Metabolite metabolite : metabolites) { String id = metabolite.getId(); - BiGGId.createMetaboliteId(id).ifPresent(metId -> { - if (model.getSpecies(metId.toBiGGId()) != null) { - logger.warning(String.format("Skipping duplicate species with id: '%s'", id)); - } else { - parseMetabolite(model, metabolite, metId); - } - }); + var metId = BiGGId.createMetaboliteId(id); + if (model.getSpecies(metId.toBiGGId()) != null) { + logger.debug(format(MESSAGES.getString("DUPLICATE_SPECIES_ID"), id)); + } else { + parseMetabolite(model, metabolite, metId); + } } } - /** - * @param model - * @param metabolite - */ public void parseMetabolite(Model model, Metabolite metabolite, BiGGId biggId) { Species species = model.createSpecies(biggId.toBiGGId()); String name = metabolite.getName(); @@ -323,7 +273,7 @@ public void parseMetabolite(Model model, Metabolite metabolite, BiGGId biggId) { name = biggId.toBiGGId(); } species.setName(name); - String formula = Optional.ofNullable(metabolite.getFormula()).orElse(""); + String formula = metabolite.getFormula() != null ? metabolite.getFormula() : ""; int charge = metabolite.getCharge(); FBCSpeciesPlugin specPlug = (FBCSpeciesPlugin) species.getPlugin(FBCConstants.shortLabel); boolean validFormula = false; @@ -332,24 +282,23 @@ public void parseMetabolite(Model model, Metabolite metabolite, BiGGId biggId) { specPlug.setChemicalFormula(formula); validFormula = true; } catch (IllegalArgumentException exc) { - logger.warning( - String.format("Invalid formula for metabolite '%s' : %s. Setting in notes", biggId.toBiGGId(), formula)); + logger.debug(format(MESSAGES.getString("INVALID_SPECIES_FORMULA"), biggId.toBiGGId(), formula)); } } specPlug.setCharge(charge); - String compartment = metabolite.getCompartment(); - if (compartment.isEmpty() && biggId.isSetCompartmentCode()) { - compartment = biggId.getCompartmentCode(); + String compartmentCode = metabolite.getCompartment(); + if (compartmentCode.isEmpty() && biggId.isSetCompartmentCode()) { + compartmentCode = biggId.getCompartmentCode(); } - species.setCompartment(compartment); + species.setCompartment(compartmentCode); // constraint sense is specified in former parser, not specified in scheme, thus ignored for now parseAnnotation(species, metabolite.getAnnotation()); parseNotes(species, metabolite.getNotes()); if (!validFormula) { try { - species.appendNotes("

    FORMULA: " + formula + "

    \n"); + species.appendNotes(SBMLtools.toNotesString("

    FORMULA: " + formula + "

    ")); } catch (XMLStreamException e) { - e.printStackTrace(); + logger.debug("Could not append notes to node.", e); } } if (species.isSetAnnotation()) { @@ -358,32 +307,23 @@ public void parseMetabolite(Model model, Metabolite metabolite, BiGGId biggId) { } - /** - * @param builder - * @param genes - */ private void parseGenes(ModelBuilder builder, List genes) { int genSize = genes.size(); - logger.info(format(mpMessageBundle.getString("NUM_GENES"), genSize)); + logger.debug(format(MESSAGES.getString("NUM_GENES"), genSize)); Model model = builder.getModel(); for (Gene gene : genes) { String id = gene.getId(); - BiGGId.createGeneId(id).ifPresent(geneId -> { - FBCModelPlugin modelPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); - if (modelPlug.getGeneProduct(geneId.toBiGGId()) != null) { - logger.warning(String.format("Skipping duplicate gene with id: '%s'", id)); - } else { - parseGene(model, gene, geneId.toBiGGId()); - } - }); + var geneId = BiGGId.createGeneId(id); + FBCModelPlugin modelPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + if (modelPlug.getGeneProduct(geneId.toBiGGId()) != null) { + logger.debug(format(MESSAGES.getString("DUPLICATE_GENE_ID"), id)); + } else { + parseGene(model, gene, geneId.toBiGGId()); + } } } - /** - * @param model - * @param gene - */ public void parseGene(Model model, Gene gene, String id) { FBCModelPlugin modelPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); GeneProduct gp = modelPlug.createGeneProduct(id); @@ -398,31 +338,22 @@ public void parseGene(Model model, Gene gene, String id) { } - /** - * @param builder - * @param reactions - */ private void parseReactions(ModelBuilder builder, List reactions) { int reactSize = reactions.size(); - logger.info(format(mpMessageBundle.getString("NUM_REACTIONS"), reactSize)); + logger.debug(format(MESSAGES.getString("NUM_REACTIONS"), reactSize)); for (Reaction reaction : reactions) { String id = reaction.getId(); // Add prefix for BiGGId - BiGGId.createReactionId(id).ifPresent(reactionId -> { - if (builder.getModel().getReaction(reactionId.toBiGGId()) != null) { - logger.warning(String.format("Skipping duplicate reaction with id: '%s'", id)); - } else { - parseReaction(builder, reaction, reactionId.toBiGGId()); - } - }); + var reactionId = BiGGId.createReactionId(id); + if (builder.getModel().getReaction(reactionId.toBiGGId()) != null) { + logger.debug(format(MESSAGES.getString("DUPLICATE_REACTION_ID"), id)); + } else { + parseReaction(builder, reaction, reactionId.toBiGGId()); + } } } - /** - * @param builder - * @param reaction - */ public void parseReaction(ModelBuilder builder, Reaction reaction, String id) { Model model = builder.getModel(); org.sbml.jsbml.Reaction r = model.createReaction(id); @@ -435,7 +366,7 @@ public void parseReaction(ModelBuilder builder, Reaction reaction, String id) { setReactionStoichiometry(reaction, model, r); String geneReactionRule = reaction.getGeneReactionRule(); if (!geneReactionRule.isEmpty()) { - GPRParser.parseGPR(r, geneReactionRule, false); + GPRParser.setGeneProductAssociation(r, geneReactionRule, false); } createSubsystem(model, reaction, r); setObjectiveCoefficient(reaction, model, r); @@ -444,11 +375,6 @@ public void parseReaction(ModelBuilder builder, Reaction reaction, String id) { } - /** - * @param builder - * @param reaction - * @param r - */ private void setReactionFluxBounds(ModelBuilder builder, Reaction reaction, org.sbml.jsbml.Reaction r) { FBCReactionPlugin rPlug = (FBCReactionPlugin) r.getPlugin(FBCConstants.shortLabel); double lowerBound = reaction.getLowerBound(); @@ -464,43 +390,32 @@ private void setReactionFluxBounds(ModelBuilder builder, Reaction reaction, org. } - /** - * @param reaction - * @param model - * @param r - */ @SuppressWarnings("unchecked") private void setReactionStoichiometry(Reaction reaction, Model model, org.sbml.jsbml.Reaction r) { Map metabolites = reaction.getMetabolites().get(); for (Map.Entry metabolite : metabolites.entrySet()) { - // removed mu code, as unused not not matching schema + // removed mu code, as unused not matching schema String id = metabolite.getKey(); - BiGGId.createMetaboliteId(id).ifPresent(metId -> { - double value = metabolite.getValue(); - if (value != 0d) { - Species species = model.getSpecies(metId.toBiGGId()); - if (species == null) { - species = model.createSpecies(metId.toBiGGId()); - logger.info(format(mpMessageBundle.getString("SPECIES_UNDEFINED"), metId, r.getId())); - } - if (value < 0d) { - ModelBuilder.buildReactants(r, pairOf(-value, species)); - } else { - ModelBuilder.buildProducts(r, pairOf(value, species)); - } + var metId = BiGGId.createMetaboliteId(id); + double value = metabolite.getValue(); + if (value != 0d) { + Species species = model.getSpecies(metId.toBiGGId()); + if (species == null) { + species = model.createSpecies(metId.toBiGGId()); + logger.debug(format(MESSAGES.getString("SPECIES_UNDEFINED"), metId, r.getId())); } - }); + if (value < 0d) { + ModelBuilder.buildReactants(r, pairOf(-value, species)); + } else { + ModelBuilder.buildProducts(r, pairOf(value, species)); + } + } } } - /** - * @param model - * @param reaction - * @param r - */ private void createSubsystem(Model model, Reaction reaction, org.sbml.jsbml.Reaction r) { - String subsystem = Optional.ofNullable(reaction.getSubsystem()).orElse(""); + String subsystem = reaction.getSubsystem() != null ? reaction.getSubsystem() : ""; if (!subsystem.isEmpty()) { GroupsModelPlugin groupsModelPlugin = (GroupsModelPlugin) model.getPlugin(GroupsConstants.shortLabel); Group group = (Group) groupsModelPlugin.getGroup(subsystem); @@ -515,16 +430,11 @@ private void createSubsystem(Model model, Reaction reaction, org.sbml.jsbml.Reac group.setName(subsystem); group.setKind(Group.Kind.partonomy); } - SBMLUtils.createSubsystemLink(r, group.createMember()); + GroupsUtils.createSubsystemLink(r, group.createMember()); } } - /** - * @param reaction - * @param model - * @param r - */ private void setObjectiveCoefficient(Reaction reaction, Model model, org.sbml.jsbml.Reaction r) { FBCModelPlugin fbc = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); Objective obj = fbc.getObjective(0); diff --git a/src/main/java/edu/ucsd/sbrg/parsers/models/Compartments.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Compartments.java similarity index 58% rename from src/main/java/edu/ucsd/sbrg/parsers/models/Compartments.java rename to lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Compartments.java index 049afd04..47e09b5a 100644 --- a/src/main/java/edu/ucsd/sbrg/parsers/models/Compartments.java +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Compartments.java @@ -1,19 +1,22 @@ -package edu.ucsd.sbrg.parsers.models; +package de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping; + +import static java.text.MessageFormat.format; import java.util.HashMap; import java.util.Map; -import java.util.logging.Logger; import java.util.regex.Pattern; import com.fasterxml.jackson.annotation.JsonAnySetter; import com.fasterxml.jackson.annotation.JsonGetter; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonSetter; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; @JsonIgnoreProperties(ignoreUnknown = true) public class Compartments { - private static final Logger logger = Logger.getLogger(Compartments.class.getName()); + private static final Logger logger = LoggerFactory.getLogger(Compartments.class); private Map compartments = new HashMap<>(); @JsonAnySetter @@ -21,15 +24,25 @@ public void add(String key, String value) { if (key.isEmpty()) { return; } - Pattern validCompartmentCode = Pattern.compile("[a-z]{1,2}"); + Pattern validCompartmentCode = Pattern.compile("(C_)?[a-z]{1,2}"); if (validCompartmentCode.matcher(key).find()) { + if (key.startsWith("C_")) { + key = key.substring(2); + } compartments.put(key, value); } else { - logger.warning(String.format("Compartment code '%s' did not match required pattern [a-z]{1,2}", key)); + logger.debug(format("Compartment code {0} did not match required pattern (C_)?[a-z]'{'1,2'}'", key)); } } + /** + */ + public void addAll(Map comps) { + comps.forEach(this::add); + } + + @JsonGetter public Map get() { return compartments; diff --git a/src/main/java/edu/ucsd/sbrg/parsers/models/Gene.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Gene.java similarity index 84% rename from src/main/java/edu/ucsd/sbrg/parsers/models/Gene.java rename to lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Gene.java index 1538201d..e95e5460 100644 --- a/src/main/java/edu/ucsd/sbrg/parsers/models/Gene.java +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Gene.java @@ -1,9 +1,11 @@ -package edu.ucsd.sbrg.parsers.models; +package de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; @JsonIgnoreProperties(ignoreUnknown = true) +@JsonPropertyOrder({"id", "name", "notes", "annotation"}) public class Gene { @JsonProperty(required = true) diff --git a/src/main/java/edu/ucsd/sbrg/parsers/models/Metabolite.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Metabolite.java similarity index 71% rename from src/main/java/edu/ucsd/sbrg/parsers/models/Metabolite.java rename to lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Metabolite.java index 70183cc6..000d8684 100644 --- a/src/main/java/edu/ucsd/sbrg/parsers/models/Metabolite.java +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Metabolite.java @@ -1,15 +1,20 @@ -package edu.ucsd.sbrg.parsers.models; +package de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping; + +import static java.text.MessageFormat.format; -import java.util.logging.Logger; import java.util.regex.Pattern; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; @JsonIgnoreProperties(ignoreUnknown = true) +@JsonPropertyOrder({"id", "name", "compartment", "charge", "formula", "bound", "notes", "annotation"}) public class Metabolite { - private static final Logger logger = Logger.getLogger(Metabolite.class.getName()); + private static final Logger logger = LoggerFactory.getLogger(Metabolite.class); @JsonProperty(required = true) private String id; @JsonProperty(required = true) @@ -57,12 +62,15 @@ public String getCompartment() { public void setCompartment(String compartment) { - Pattern validCompartmentCode = Pattern.compile("[a-z]{1,2}"); + Pattern validCompartmentCode = Pattern.compile("(C_)?[a-z]{1,2}"); if (validCompartmentCode.matcher(compartment).find()) { + if (compartment.startsWith("C_")) { + compartment = compartment.substring(2); + } this.compartment = compartment; } else { - logger.finest(String.format( - "Compartment code '%s' in metabolite '%s' did not match pattern [a-z]{1,2}, trying to extract from id after parsing", + logger.debug(format( + "Compartment code {0} in metabolite {1} did not match pattern (C_)?[a-z]'{'1,2'}', trying to extract from id after parsing", compartment, id)); } } diff --git a/src/main/java/edu/ucsd/sbrg/parsers/models/Metabolites.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Metabolites.java similarity index 81% rename from src/main/java/edu/ucsd/sbrg/parsers/models/Metabolites.java rename to lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Metabolites.java index c306fb46..244d35cc 100644 --- a/src/main/java/edu/ucsd/sbrg/parsers/models/Metabolites.java +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Metabolites.java @@ -1,13 +1,13 @@ -package edu.ucsd.sbrg.parsers.models; - -import java.util.HashMap; -import java.util.Map; +package de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping; +import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; -import com.fasterxml.jackson.annotation.JsonGetter; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonSetter; +import java.util.HashMap; +import java.util.Map; + @JsonIgnoreProperties(ignoreUnknown = true) public class Metabolites { @@ -19,7 +19,7 @@ public void add(String key, double value) { } - @JsonGetter + @JsonAnyGetter public Map get() { return metabolites; } diff --git a/src/main/java/edu/ucsd/sbrg/parsers/models/Reaction.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Reaction.java similarity index 89% rename from src/main/java/edu/ucsd/sbrg/parsers/models/Reaction.java rename to lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Reaction.java index 6330549c..777bdb6b 100644 --- a/src/main/java/edu/ucsd/sbrg/parsers/models/Reaction.java +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Reaction.java @@ -1,9 +1,12 @@ -package edu.ucsd.sbrg.parsers.models; +package de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; @JsonIgnoreProperties(ignoreUnknown = true) +@JsonPropertyOrder({"id", "name", "metabolites", "gene_reaction_rule", "lower_bound", "upper_boound", + "objective_coefficient", "subsystem", "notes", "annotation"}) public class Reaction { @JsonProperty(required = true) diff --git a/src/main/java/edu/ucsd/sbrg/parsers/models/Root.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Root.java similarity index 88% rename from src/main/java/edu/ucsd/sbrg/parsers/models/Root.java rename to lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Root.java index facbd416..2f5ff3fa 100644 --- a/src/main/java/edu/ucsd/sbrg/parsers/models/Root.java +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/mapping/Root.java @@ -1,11 +1,14 @@ -package edu.ucsd.sbrg.parsers.models; +package de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping; import java.util.List; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; @JsonIgnoreProperties(ignoreUnknown = true) +@JsonPropertyOrder({"id", "name", "description", "version", "reactions", "metabolites", "genes", "compartments", + "notes", "annotation"}) public class Root { @JsonProperty(required = true) diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/logging/BundleNames.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/logging/BundleNames.java new file mode 100644 index 00000000..4c8dc028 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/logging/BundleNames.java @@ -0,0 +1,13 @@ +package de.uni_halle.informatik.biodata.mp.logging; + +public class BundleNames { + + public static final String FIXING_MESSAGES = "de.uni_halle.informatik.biodata.mp.fixing.Messages"; + public static final String IO_MESSAGES = "de.uni_halle.informatik.biodata.mp.io.Messages"; + public static final String ANNOTATION_MESSAGES = "de.uni_halle.informatik.biodata.mp.annotation.Messages"; + public static final String DB_MESSAGES = "de.uni_halle.informatik.biodata.mp.db.Messages"; + public static final String POLISHING_MESSAGES = "de.uni_halle.informatik.biodata.mp.polishing.Messages"; + public static final String BIGG_ANNOTATION_MESSAGES = "de.uni_halle.informatik.biodata.mp.annotation.bigg.Messages"; + public static final String CLI_MESSAGES = "de.uni_halle.informatik.biodata.mp.cli.Messages"; + public static final String BASE_MESSAGES = "de.uni_halle.informatik.biodata.mp.Messages"; +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/ADBAnnotationParameters.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/ADBAnnotationParameters.java new file mode 100644 index 00000000..e6f1c2e5 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/ADBAnnotationParameters.java @@ -0,0 +1,64 @@ +package de.uni_halle.informatik.biodata.mp.parameters; + +import com.fasterxml.jackson.annotation.JsonProperty; +import de.zbit.util.prefs.SBProperties; +import de.uni_halle.informatik.biodata.mp.annotation.AnnotationOptions; +import de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBOptions; + +import java.util.Objects; + +public class ADBAnnotationParameters { + + @JsonProperty("annotate-with-adb") + protected boolean annotateWithAdb = AnnotationOptions.ADD_ADB_ANNOTATIONS.getDefaultValue(); + @JsonProperty("db-config") + protected DBParameters dbParameters = new DBParameters( + AnnotateDBOptions.DBNAME.getDefaultValue(), + AnnotateDBOptions.HOST.getDefaultValue(), + AnnotateDBOptions.PASSWD.getDefaultValue(), + AnnotateDBOptions.PORT.getDefaultValue(), + AnnotateDBOptions.USER.getDefaultValue() + ); + + public ADBAnnotationParameters() { + } + + public ADBAnnotationParameters(SBProperties args) { + annotateWithAdb = args.getBooleanProperty(AnnotationOptions.ADD_ADB_ANNOTATIONS); + dbParameters = new DBParameters( + args.getProperty(AnnotateDBOptions.DBNAME), + args.getProperty(AnnotateDBOptions.HOST), + args.getProperty(AnnotateDBOptions.PASSWD), + args.getIntProperty(AnnotateDBOptions.PORT), + args.getProperty(AnnotateDBOptions.USER)); + } + + public boolean annotateWithAdb() { + return annotateWithAdb; + } + + public DBParameters dbParameters() { + return dbParameters; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + ADBAnnotationParameters that = (ADBAnnotationParameters) o; + return annotateWithAdb == that.annotateWithAdb && Objects.equals(dbParameters, that.dbParameters); + } + + @Override + public int hashCode() { + return Objects.hash(annotateWithAdb, dbParameters); + } + + @Override + public String toString() { + return "ADBAnnotationParameters{" + + "annotateWithAdb=" + annotateWithAdb + + ", dbParameters=" + dbParameters + + '}'; + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/AnnotationParameters.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/AnnotationParameters.java new file mode 100644 index 00000000..e1fd0c9e --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/AnnotationParameters.java @@ -0,0 +1,52 @@ +package de.uni_halle.informatik.biodata.mp.parameters; + +import com.fasterxml.jackson.annotation.JsonProperty; +import de.zbit.util.prefs.SBProperties; + +import java.util.Objects; + +public class AnnotationParameters { + + @JsonProperty("annotatedb") + private ADBAnnotationParameters adbAnnotationParameters = new ADBAnnotationParameters(); + @JsonProperty("bigg") + private BiGGAnnotationParameters biGGAnnotationParameters = new BiGGAnnotationParameters(); + + public AnnotationParameters() { + } + + public AnnotationParameters(SBProperties args) { + biGGAnnotationParameters = new BiGGAnnotationParameters(args); + adbAnnotationParameters = new ADBAnnotationParameters(args); + } + + public ADBAnnotationParameters adbAnnotationParameters() { + return adbAnnotationParameters; + } + + public BiGGAnnotationParameters biggAnnotationParameters() { + return biGGAnnotationParameters; + } + + @Override + public String toString() { + return "AnnotationParameters{" + + "adbAnnotationParameters=" + adbAnnotationParameters + + ", biGGAnnotationParameters=" + biGGAnnotationParameters + + '}'; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + AnnotationParameters that = (AnnotationParameters) o; + return Objects.equals(adbAnnotationParameters, that.adbAnnotationParameters) && Objects.equals(biGGAnnotationParameters, that.biGGAnnotationParameters); + } + + @Override + public int hashCode() { + return Objects.hash(adbAnnotationParameters, biGGAnnotationParameters); + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/BiGGAnnotationParameters.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/BiGGAnnotationParameters.java new file mode 100644 index 00000000..a62e9522 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/BiGGAnnotationParameters.java @@ -0,0 +1,95 @@ +package de.uni_halle.informatik.biodata.mp.parameters; + +import com.fasterxml.jackson.annotation.JsonProperty; +import de.zbit.util.prefs.SBProperties; +import de.uni_halle.informatik.biodata.mp.annotation.AnnotationOptions; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDBOptions; + +import java.util.Objects; + +public class BiGGAnnotationParameters { + + @JsonProperty("annotate-with-bigg") + protected boolean annotateWithBiGG = AnnotationOptions.ANNOTATE_WITH_BIGG.getDefaultValue(); + @JsonProperty("include-any-uri") + protected boolean includeAnyURI = AnnotationOptions.INCLUDE_ANY_URI.getDefaultValue(); + @JsonProperty("document-title-pattern") + protected String documentTitlePattern = AnnotationOptions.DOCUMENT_TITLE_PATTERN.getDefaultValue(); + @JsonProperty("notes") + protected BiGGNotesParameters notesParameters = new BiGGNotesParameters(); + @JsonProperty("db-config") + protected DBParameters dbParameters = new DBParameters(); + + public BiGGAnnotationParameters() { + } + + public BiGGAnnotationParameters(boolean annotateWithBiGG, + boolean includeAnyURI, + String documentTitlePattern, + BiGGNotesParameters notesParameters, + DBParameters dbParameters) { + this.annotateWithBiGG = annotateWithBiGG; + this.includeAnyURI = includeAnyURI; + this.documentTitlePattern = documentTitlePattern; + this.notesParameters = notesParameters; + this.dbParameters = dbParameters; + } + + public BiGGAnnotationParameters(SBProperties args) { + annotateWithBiGG = args.getBooleanProperty(AnnotationOptions.ANNOTATE_WITH_BIGG); + includeAnyURI = args.getBooleanProperty(AnnotationOptions.INCLUDE_ANY_URI); + documentTitlePattern = args.getProperty(AnnotationOptions.DOCUMENT_TITLE_PATTERN); + notesParameters = new BiGGNotesParameters(args); + dbParameters = new DBParameters( + args.getProperty(BiGGDBOptions.DBNAME), + args.getProperty(BiGGDBOptions.HOST), + args.getProperty(BiGGDBOptions.PASSWD), + args.getIntProperty(BiGGDBOptions.PORT), + args.getProperty(BiGGDBOptions.USER)); + } + + public boolean includeAnyURI() { + return includeAnyURI; + } + + public boolean annotateWithBiGG() { + return annotateWithBiGG; + } + + public String documentTitlePattern() { + return documentTitlePattern; + } + + public BiGGNotesParameters notesParameters() { + return notesParameters; + } + + public DBParameters dbParameters() { + return dbParameters; + } + + @Override + public String toString() { + return "BiGGAnnotationParameters{" + + "annotateWithBiGG=" + annotateWithBiGG + + ", includeAnyURI=" + includeAnyURI + + ", documentTitlePattern='" + documentTitlePattern + '\'' + + ", notesParameters=" + notesParameters + + ", dbParameters=" + dbParameters + + '}'; + } + + @Override + public boolean equals(Object o) { + + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + BiGGAnnotationParameters that = (BiGGAnnotationParameters) o; + return annotateWithBiGG == that.annotateWithBiGG && includeAnyURI == that.includeAnyURI && Objects.equals(documentTitlePattern, that.documentTitlePattern) && Objects.equals(notesParameters, that.notesParameters) && Objects.equals(dbParameters, that.dbParameters); + } + + @Override + public int hashCode() { + return Objects.hash(annotateWithBiGG, includeAnyURI, documentTitlePattern, notesParameters, dbParameters); + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/BiGGNotesParameters.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/BiGGNotesParameters.java new file mode 100644 index 00000000..43868ed6 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/BiGGNotesParameters.java @@ -0,0 +1,52 @@ +package de.uni_halle.informatik.biodata.mp.parameters; + +import com.fasterxml.jackson.annotation.JsonProperty; +import de.zbit.util.prefs.Option; +import de.zbit.util.prefs.SBProperties; +import de.uni_halle.informatik.biodata.mp.annotation.AnnotationOptions; + +import java.io.File; + +public class BiGGNotesParameters { + + @JsonProperty("no-model-notes") + private boolean noModelNotes = AnnotationOptions.NO_MODEL_NOTES.getDefaultValue(); + @JsonProperty("model-notes-file") + protected File modelNotesFile = AnnotationOptions.MODEL_NOTES_FILE.getDefaultValue(); + @JsonProperty("document-notes-file") + protected File documentNotesFile = AnnotationOptions.DOCUMENT_NOTES_FILE.getDefaultValue(); + + public BiGGNotesParameters() { + } + + public BiGGNotesParameters(SBProperties args) { + noModelNotes = args.getBooleanProperty(AnnotationOptions.NO_MODEL_NOTES); + documentNotesFile = parseFileOption(args, AnnotationOptions.DOCUMENT_NOTES_FILE); + modelNotesFile = parseFileOption(args, AnnotationOptions.MODEL_NOTES_FILE); + } + + private File parseFileOption(SBProperties args, Option option) { + if (args.containsKey(option)) { + File notesFile = new File(args.getProperty(option)); + if (notesFile.exists() && notesFile.canRead()) { + return notesFile; + } + } + return null; + } + + + public File documentNotesFile() { + return documentNotesFile; + } + + public File modelNotesFile() { + return modelNotesFile; + } + + public boolean noModelNotes() { + return noModelNotes; + } + + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/DBParameters.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/DBParameters.java new file mode 100644 index 00000000..a2725cf3 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/DBParameters.java @@ -0,0 +1,76 @@ +package de.uni_halle.informatik.biodata.mp.parameters; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.util.Objects; + + +public class DBParameters { + + @JsonProperty("db-name") + private String dbName; + @JsonProperty("host") + private String host; + @JsonProperty("password") + private String passwd; + @JsonProperty("port") + private Integer port; + @JsonProperty("user") + private String user; + + public DBParameters() { + } + + public DBParameters (String dbname, String host, String passwd, Integer port, String user) { + this.dbName = dbname; + this.host = host; + this.passwd = passwd; + this.port = port; + this.user = user; + } + + public String dbName() { + return dbName; + } + + public String host() { + return host; + } + + public String passwd() { + return passwd; + } + + public Integer port() { + return port; + } + + public String user() { + return user; + } + + @Override + public String toString() { + return "DBParameters{" + + "dbName='" + dbName + '\'' + + ", host='" + host + '\'' + + ", passwd='" + passwd + '\'' + + ", port=" + port + + ", user='" + user + '\'' + + '}'; + } + + @Override + public boolean equals(Object o) { + + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + DBParameters that = (DBParameters) o; + return Objects.equals(dbName, that.dbName) && Objects.equals(host, that.host) && Objects.equals(passwd, that.passwd) && Objects.equals(port, that.port) && Objects.equals(user, that.user); + } + + @Override + public int hashCode() { + return Objects.hash(dbName, host, passwd, port, user); + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/FixingParameters.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/FixingParameters.java new file mode 100644 index 00000000..37c83e57 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/FixingParameters.java @@ -0,0 +1,57 @@ +package de.uni_halle.informatik.biodata.mp.parameters; + +import com.fasterxml.jackson.annotation.JsonProperty; +import de.zbit.util.prefs.SBProperties; +import de.uni_halle.informatik.biodata.mp.fixing.FixingOptions; + +import java.util.Objects; + +public class FixingParameters { + + @JsonProperty("dont-fix") + private boolean dontFix = false; + @JsonProperty("fix-flux-objectives") + private FluxObjectivesFixingParameters fluxObjectivesFixingParameters = new FluxObjectivesFixingParameters(); + + public FixingParameters() { + } + + public FixingParameters(boolean dontFix, FluxObjectivesFixingParameters fluxObjectivesFixingParameters) { + this.dontFix = dontFix; + this.fluxObjectivesFixingParameters = fluxObjectivesFixingParameters; + } + + + public FixingParameters(SBProperties args) throws IllegalArgumentException { + this.dontFix = args.getBooleanProperty(FixingOptions.DONT_FIX); + this.fluxObjectivesFixingParameters = new FluxObjectivesFixingParameters(args); + } + + public boolean dontFix() { + return dontFix; + } + + public FluxObjectivesFixingParameters fluxObjectivesPolishingParameters() { + return fluxObjectivesFixingParameters; + } + + @Override + public String toString() { + return "FixingParameters{" + + "dontFix=" + dontFix + + '}'; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + FixingParameters that = (FixingParameters) o; + return dontFix == that.dontFix; + } + + @Override + public int hashCode() { + return Objects.hashCode(dontFix); + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/FluxObjectivesFixingParameters.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/FluxObjectivesFixingParameters.java new file mode 100644 index 00000000..9de43984 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/FluxObjectivesFixingParameters.java @@ -0,0 +1,46 @@ +package de.uni_halle.informatik.biodata.mp.parameters; + +import com.fasterxml.jackson.annotation.JsonProperty; +import de.zbit.util.prefs.SBProperties; +import de.uni_halle.informatik.biodata.mp.fixing.FixingOptions; + +import java.util.ArrayList; +import java.util.List; + +public class FluxObjectivesFixingParameters { + + @JsonProperty("flux-coefficients") + protected List fluxCoefficients = List.of(); + @JsonProperty("flux-objectives") + protected List fluxObjectives = List.of(FixingOptions.FLUX_OBJECTIVES.getDefaultValue()); + + public FluxObjectivesFixingParameters() { + } + + public FluxObjectivesFixingParameters(List fluxCoefficients, List fluxObjectives) { + this.fluxCoefficients = fluxCoefficients; + this.fluxObjectives = fluxObjectives.stream().map(String::trim).toList(); + } + + public FluxObjectivesFixingParameters(SBProperties args) { + if (args.containsKey(FixingOptions.FLUX_COEFFICIENTS)) { + String c = args.getProperty(FixingOptions.FLUX_COEFFICIENTS); + String[] coeff = c.trim().split(","); + fluxCoefficients = new ArrayList<>(); + for (String s : coeff) { + fluxCoefficients.add(Double.parseDouble(s.trim())); + } + } + if (args.containsKey(FixingOptions.FLUX_OBJECTIVES)) { + String fObjectives = args.getProperty(FixingOptions.FLUX_OBJECTIVES); + fluxObjectives = List.of(fObjectives.trim().split(":")); + } + } + + public List fluxCoefficients() { + return fluxCoefficients; + } + public List fluxObjectives() { + return fluxObjectives; + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/GeneralOptions.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/GeneralOptions.java new file mode 100644 index 00000000..ee5f7e50 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/GeneralOptions.java @@ -0,0 +1,39 @@ +/* + * + */ +package de.uni_halle.informatik.biodata.mp.parameters; + +import java.util.ResourceBundle; + +import de.zbit.util.ResourceManager; +import de.zbit.util.prefs.KeyProvider; +import de.zbit.util.prefs.Option; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; + +/** + * @author Andreas Dräger + */ +public interface GeneralOptions extends KeyProvider { + + ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.POLISHING_MESSAGES); + + /** + * Set this option to true if generic top-level annotations, such as 'process' + * should not be applied. Not using those terms will reduce the size of the + * resulting output file. + */ + @SuppressWarnings("unchecked") + Option ADD_GENERIC_TERMS = + new Option<>("ADD_GENERIC_TERMS", Boolean.class, MESSAGES.getString("ADD_GENERIC_TERMS_DESC"), + Boolean.TRUE); + + /** + * If true, the created SBML file will be validated through the online + * validator service at http://sbml.org. This option is only used + * if the output is GZIP compressed. + */ + @SuppressWarnings("unchecked") + Option SBML_VALIDATION = + new Option<>("SBML_VALIDATION", Boolean.class, MESSAGES.getString("SBML_VAL_DESC"), Boolean.FALSE); + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/Parameters.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/Parameters.java new file mode 100644 index 00000000..f9aa69c0 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/Parameters.java @@ -0,0 +1,84 @@ +package de.uni_halle.informatik.biodata.mp.parameters; + +import com.fasterxml.jackson.annotation.JsonProperty; +import de.zbit.util.prefs.SBProperties; +import de.uni_halle.informatik.biodata.mp.io.IOOptions; + +import java.util.Objects; + +public class Parameters { + + @JsonProperty("fixing") + private FixingParameters fixing = new FixingParameters(); + @JsonProperty("polishing") + private PolishingParameters polishing = new PolishingParameters(); + @JsonProperty("annotation") + private AnnotationParameters annotation = new AnnotationParameters(); + @JsonProperty("sbo-terms") + private SBOParameters sboParameters = new SBOParameters(); + @JsonProperty("sbml-validation") + protected boolean sbmlValidation = GeneralOptions.SBML_VALIDATION.getDefaultValue(); + @JsonProperty("outputType") + protected IOOptions.OutputType outputType = IOOptions.OUTPUT_TYPE.getDefaultValue(); + + public Parameters() {} + + public Parameters(SBProperties args) { + this.fixing = new FixingParameters(args); + this.polishing = new PolishingParameters(args); + this.annotation = new AnnotationParameters(args); + this.sboParameters = new SBOParameters(args); + this.sbmlValidation = args.getBooleanProperty(GeneralOptions.SBML_VALIDATION); + this.outputType = IOOptions.OUTPUT_TYPE.parseOrCast(args.getProperty(IOOptions.OUTPUT_TYPE)); + } + + public PolishingParameters polishing() { + return polishing; + } + + public AnnotationParameters annotation() { + return annotation; + } + + public SBOParameters sboParameters() { + return sboParameters; + } + + public boolean sbmlValidation() { + return sbmlValidation; + } + + public IOOptions.OutputType outputType() { + return outputType; + } + + public FixingParameters fixing() { + return fixing; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Parameters that = (Parameters) o; + return sbmlValidation == that.sbmlValidation && Objects.equals(fixing, that.fixing) && Objects.equals(polishing, that.polishing) && Objects.equals(annotation, that.annotation) && Objects.equals(sboParameters, that.sboParameters) && outputType == that.outputType; + } + + @Override + public int hashCode() { + return Objects.hash(fixing, polishing, annotation, sboParameters, sbmlValidation, outputType); + } + + @Override + public String toString() { + return "Parameters{" + + "fixing=" + fixing + + ", polishing=" + polishing + + ", annotation=" + annotation + + ", sboTerms=" + sboParameters + + ", sbmlValidation=" + sbmlValidation + + ", outputType=" + outputType + + '}'; + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/ParametersException.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/ParametersException.java new file mode 100644 index 00000000..980459ec --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/ParametersException.java @@ -0,0 +1,8 @@ +package de.uni_halle.informatik.biodata.mp.parameters; + +public class ParametersException extends Throwable { + + public ParametersException(String msg, Parameters parameters) { + + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/ParametersParser.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/ParametersParser.java new file mode 100644 index 00000000..6319e983 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/ParametersParser.java @@ -0,0 +1,19 @@ +package de.uni_halle.informatik.biodata.mp.parameters; + +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; + +import java.io.IOException; +import java.io.InputStream; + +public class ParametersParser { + + public Parameters parse(InputStream parametersJson) throws IOException { + + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + + return mapper.readValue(parametersJson, Parameters.class); + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/PolishingParameters.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/PolishingParameters.java new file mode 100644 index 00000000..284951f7 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/PolishingParameters.java @@ -0,0 +1,26 @@ +package de.uni_halle.informatik.biodata.mp.parameters; + +import com.fasterxml.jackson.annotation.JsonProperty; +import de.zbit.util.prefs.SBProperties; +import de.uni_halle.informatik.biodata.mp.polishing.PolishingOptions; + +public class PolishingParameters { + + @JsonProperty("polish-even-if-model-invalid") + private boolean polishEvenIfModelInvalid = false; + + public PolishingParameters() { } + + public PolishingParameters(boolean polishEvenIfModelInvalid) { + this.polishEvenIfModelInvalid = polishEvenIfModelInvalid; + } + + public PolishingParameters(SBProperties args) throws IllegalArgumentException { + this.polishEvenIfModelInvalid = args.getBooleanProperty(PolishingOptions.POLISH_EVEN_IF_MODEL_INVALID); + } + + public boolean polishEvenIfModelInvalid() { + return polishEvenIfModelInvalid; + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/SBOParameters.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/SBOParameters.java new file mode 100644 index 00000000..97228e38 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/parameters/SBOParameters.java @@ -0,0 +1,43 @@ +package de.uni_halle.informatik.biodata.mp.parameters; + +import com.fasterxml.jackson.annotation.JsonProperty; +import de.zbit.util.prefs.SBProperties; + +import java.util.Objects; + +public class SBOParameters { + + @JsonProperty("add-generic-terms") + protected boolean addGenericTerms = GeneralOptions.ADD_GENERIC_TERMS.getDefaultValue(); + + public SBOParameters() { + } + + public SBOParameters(SBProperties args) { + addGenericTerms = args.getBooleanProperty(GeneralOptions.ADD_GENERIC_TERMS); + } + + public boolean addGenericTerms() { + return addGenericTerms; + } + + @Override + public String toString() { + return "SBOParameters{" + + "addGenericTerms=" + addGenericTerms + + '}'; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + SBOParameters that = (SBOParameters) o; + return addGenericTerms == that.addGenericTerms; + } + + @Override + public int hashCode() { + return Objects.hashCode(addGenericTerms); + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/AbstractPolisher.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/AbstractPolisher.java new file mode 100644 index 00000000..f95c0780 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/AbstractPolisher.java @@ -0,0 +1,65 @@ +package de.uni_halle.informatik.biodata.mp.polishing; + +import de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters; +import de.uni_halle.informatik.biodata.mp.reporting.*; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; + +import java.util.*; + +public abstract class AbstractPolisher implements IReportStatus { + + protected final PolishingParameters polishingParameters; + protected final Registry registry; + + private final List observers; + + public AbstractPolisher(PolishingParameters polishingParameters, Registry registry) { + this.polishingParameters = polishingParameters; + this.registry = registry; + observers = new ArrayList<>(); + } + + public AbstractPolisher(PolishingParameters polishingParameters, Registry registry, List observers) { + this.polishingParameters = polishingParameters; + this.registry = registry; + this.observers = observers; + } + + @Override + public void statusReport(String text, Object element) { + for (var o : observers) { + o.update(new ProgressUpdate(text, element, ReportType.STATUS)); + } + } +// +// @Override +// public void diffReport(String elementType, Object element1, Object element2) { +// for (var o : observers) { +// o.update(new ProgressUpdate(elementType, List.of(element1, element2), ReportType.DATA)); +// } +// } + + public List getObservers() { + return observers; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + AbstractPolisher that = (AbstractPolisher) o; + return Objects.equals(polishingParameters, that.polishingParameters); + } + + @Override + public int hashCode() { + return Objects.hashCode(polishingParameters); + } + + @Override + public String toString() { + return "AbstractPolisher{" + + "parameters=" + polishingParameters + + '}'; + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/AnnotationPolisher.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/AnnotationPolisher.java new file mode 100644 index 00000000..4e96b59e --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/AnnotationPolisher.java @@ -0,0 +1,65 @@ +package de.uni_halle.informatik.biodata.mp.polishing; + +import de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import de.uni_halle.informatik.biodata.mp.resolver.RegistryURI; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import org.sbml.jsbml.Annotation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import static java.text.MessageFormat.format; + + +public class AnnotationPolisher extends AbstractPolisher implements IPolishAnnotations { + private static final Logger logger = LoggerFactory.getLogger(AnnotationPolisher.class); + + public AnnotationPolisher(PolishingParameters polishingParameters, Registry registry) { + super(polishingParameters, registry); + } + + public AnnotationPolisher(PolishingParameters polishingParameters, Registry registry, List observers) { + super(polishingParameters, registry, observers); + } + + /** + * Processes the annotations of an SBML entity to potentially correct identifiers + * and/or retrieve additional identifiers.org URLs. + * This method iterates over all Controlled Vocabulary (CV) Terms in the provided Annotation object. + * For each resource URL in a CV Term, + * it checks and possibly corrects the URL or adds new URLs from identifiers.org. + * It then updates the CV Term with the corrected and/or additional URLs. + * + * @param annotation The {@link Annotation} object associated with an SBML entity that contains CV Terms to be processed. + */ + @Override + public void polish(Annotation annotation) { + logger.trace(format("Polish Annotation: {0}", annotation.toString())); + + for (var term : annotation.getListOfCVTerms()) { + Set resources = new HashSet<>(); + for (String resource : term.getResources()) { + var registryUri = registry.resolveBackwards(resource).map(RegistryURI::getURI); + if (registryUri.isPresent()) { + resources.add(registryUri.get()); + } else { + resources.add(resource); + } + } + + // Remove all existing resources from the CV Term. + for (int i = term.getResourceCount() -1; i >= 0 ; i--) { + term.removeResource(i); + } + // Add the updated set of resources, sorted alphabetically, back to the CV Term. + term.addResources(resources.stream().sorted().toArray(String[]::new)); + } + } + + + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/CompartmentPolisher.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/CompartmentPolisher.java new file mode 100644 index 00000000..d575ad87 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/CompartmentPolisher.java @@ -0,0 +1,96 @@ +package de.uni_halle.informatik.biodata.mp.polishing; + +import static java.text.MessageFormat.format; + +import java.util.ResourceBundle; +import java.util.List; + +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import org.sbml.jsbml.Compartment; +import org.sbml.jsbml.SBO; + +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * This class is responsible for polishing the properties of a compartment in an SBML model to ensure + * compliance with standards and completeness. It handles the annotation processing, ID and name setting, + * and ensures that necessary attributes like units and spatial dimensions are appropriately set. + */ +public class CompartmentPolisher extends AbstractPolisher implements IPolishSBases { + private static final Logger logger = LoggerFactory.getLogger(CompartmentPolisher.class); + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.POLISHING_MESSAGES); + + public CompartmentPolisher(PolishingParameters polishingParameters, Registry registry, List observers) { + super(polishingParameters, registry, observers); + } + + + /** + * Polishes all compartments in the given SBML model. This method iterates through each compartment + * in the model, updates the progress display, and applies polishing operations defined in the + * CompartmentPolishing class. + */ + @Override + public void polish(List compartments) { + logger.debug("Polish Compartments"); + for (Compartment compartment : compartments) { + statusReport("Polishing Compartments (3/9) ", compartment); + polish(compartment); + } + } + + + /** + * Polishes the properties of a compartment to ensure compliance with standards and completeness. + * This method processes annotations, sets default values for missing identifiers, names, and meta identifiers, + * and ensures that the compartment has appropriate units and other necessary attributes set. + */ + @Override + public void polish(Compartment compartment) { + // Process any external resources linked via annotations in the compartment + new AnnotationPolisher(polishingParameters, registry).polish(compartment.getAnnotation()); + + // Set the metaId to the compartment's ID if it has CV terms but no metaId set + if (!compartment.isSetMetaId() && (compartment.getCVTermCount() > 0)) { + compartment.setMetaId(compartment.getId()); + } + + if (!compartment.isSetSBOTerm()) { + compartment.setSBOTerm(SBO.getPhysicalCompartment()); + } + + // Attempt to remove the 'C_' prefix from the compartment ID, log a warning if the format is incorrect + BiGGId.extractCompartmentCode(compartment.getId()).ifPresentOrElse( + compartment::setId, + () -> logger.debug(format(MESSAGES.getString("COMPARTMENT_CODE_WRONG_FORMAT"), compartment.getId()))); + + + // TODO: not good enough +// // Set a default name if not already set +// if (!compartment.isSetName()) { +// compartment.setName("default"); +// } + + // TODO: Implement logic to set spatial dimensions based on BiGG ID, considering special cases like surfaces +// if (!compartment.isSetSpatialDimensions()) { +// // Placeholder for future implementation +// // compartment.setSpatialDimensions(3d); +// } + + // TODO: I am doubtful this is correct usage of dimensionless +// // Set the units of the compartment to dimensionless if no specific units are set in the model +// if (!compartment.isSetUnits()) { +// Model model = compartment.getModel(); +// if (!(model.isSetLengthUnits() || model.isSetAreaUnits() || model.isSetVolumeUnits())) { +// compartment.setUnits(Unit.Kind.DIMENSIONLESS); +// } +// } + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/IPolishAnnotations.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/IPolishAnnotations.java new file mode 100644 index 00000000..1841a0d9 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/IPolishAnnotations.java @@ -0,0 +1,9 @@ +package de.uni_halle.informatik.biodata.mp.polishing; + +import org.sbml.jsbml.Annotation; + +public interface IPolishAnnotations { + + void polish(Annotation annotation); + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/IPolishSBaseAttributes.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/IPolishSBaseAttributes.java new file mode 100644 index 00000000..de6217ba --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/IPolishSBaseAttributes.java @@ -0,0 +1,19 @@ +package de.uni_halle.informatik.biodata.mp.polishing; + +import org.sbml.jsbml.SBase; + +import java.util.List; + +public interface IPolishSBaseAttributes { + + + default void polish(List elementsToPolish) { + for (var element : elementsToPolish) { + polish(element); + } + } + + void polish(SBase elementToPolish); + + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/IPolishSBases.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/IPolishSBases.java new file mode 100644 index 00000000..11c807aa --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/IPolishSBases.java @@ -0,0 +1,17 @@ +package de.uni_halle.informatik.biodata.mp.polishing; + +import org.sbml.jsbml.SBase; + +import java.util.List; + +public interface IPolishSBases { + + default void polish(List elementsToPolish) { + for (var element : elementsToPolish) { + polish(element); + } + } + + void polish(SBMLElement elementToPolish); + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/IPolishSpeciesReferences.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/IPolishSpeciesReferences.java new file mode 100644 index 00000000..30eed3ec --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/IPolishSpeciesReferences.java @@ -0,0 +1,17 @@ +package de.uni_halle.informatik.biodata.mp.polishing; + +import org.sbml.jsbml.SpeciesReference; + +import java.util.List; + +public interface IPolishSpeciesReferences { + + default void polish(List elementsToPolish) { + for (var element : elementsToPolish) { + polish(element); + } + } + + void polish(SpeciesReference elementToPolish); + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ModelPolisher.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ModelPolisher.java new file mode 100644 index 00000000..af91ac2c --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ModelPolisher.java @@ -0,0 +1,103 @@ +/* + * $Id$ + * $URL$ + * --------------------------------------------------------------------- + * This file is part of the program NetBuilder. + * Copyright (C) 2013 by the University of California, San Diego. + * This library is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation. A copy of the license + * agreement is provided in the file named "LICENSE.txt" included with + * this software distribution and also available online as + * . + * --------------------------------------------------------------------- + */ +package de.uni_halle.informatik.biodata.mp.polishing; + +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters; +import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; +import de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.FBCPolisher; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import org.sbml.jsbml.*; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; +import java.util.ResourceBundle; + +import static java.text.MessageFormat.format; + +/** + * This class provides functionality to polish an SBML (Systems Biology Markup Language) document. + * Polishing involves enhancing the document with additional annotations, setting appropriate SBO (Systems Biology Ontology) terms, + * and ensuring the document adheres to certain standards and conventions useful for computational models in systems biology. + * The class supports operations such as checking the document's structure, polishing individual model components, + * and processing external resources linked within the document. + * + * @author Andreas Dräger + */ +public class ModelPolisher extends AbstractPolisher implements IPolishSBases { + + private static final Logger logger = LoggerFactory.getLogger(ModelPolisher.class); + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.POLISHING_MESSAGES); + private final SBOParameters sboParameters; + + + public ModelPolisher(PolishingParameters polishingParameters, SBOParameters sboParameters, Registry registry) { + super(polishingParameters, registry); + this.sboParameters = sboParameters; + } + + public ModelPolisher(PolishingParameters polishingParameters, SBOParameters sboParameters, Registry registry, List observers) { + super(polishingParameters, registry, observers); + this.sboParameters = sboParameters; + } + + /** + * This method orchestrates the polishing of an SBML model by delegating tasks to specific polishing methods + * for different components of the model. It initializes a progress bar to track and display the progress of + * the polishing process. + * + * @param model The SBML Model to be polished. + */ + @Override + public void polish(Model model) { + logger.debug(format(MESSAGES.getString("PROCESSING_MODEL"), model.toString())); + statusReport("Polishing Model (1/9) ", model); + + new AnnotationPolisher(polishingParameters, registry, getObservers()).polish(model.getAnnotation()); + + // Set the metaId of the model if it is not set and there are CV terms + if (!model.isSetMetaId() && (model.getCVTermCount() > 0)) { + model.setMetaId(model.getId()); + } + + // Delegate polishing tasks + new UnitPolisher(polishingParameters, registry, getObservers()).polish(model); + + new CompartmentPolisher(polishingParameters, registry, getObservers()).polish(model.getListOfCompartments()); + + new SpeciesPolisher(polishingParameters, sboParameters, registry, getObservers()).polish(model.getListOfSpecies()); + + new ParametersPolisher(polishingParameters, registry, getObservers()).polish(model.getListOfParameters()); + + new ReactionsPolisher(polishingParameters, sboParameters, registry, getObservers()).polish(model.getListOfReactions()); + + if (model.isSetPlugin(FBCConstants.shortLabel)) { + new FBCPolisher(polishingParameters, sboParameters, registry, getObservers()).polish(model); + } + + } + + @Override + public String toString() { + return "ModelPolisher{" + + "parameters=" + polishingParameters + + '}'; + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/NamePolisher.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/NamePolisher.java new file mode 100644 index 00000000..5facd71f --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/NamePolisher.java @@ -0,0 +1,49 @@ +package de.uni_halle.informatik.biodata.mp.polishing; + +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import org.sbml.jsbml.SBase; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.ResourceBundle; + +import static java.text.MessageFormat.format; + +public class NamePolisher implements IPolishSBaseAttributes { + + private static final Logger logger = LoggerFactory.getLogger(NamePolisher.class); + + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.POLISHING_MESSAGES); + + @Override + public void polish(SBase sbase) { + var name = sbase.getName(); + sbase.setName(polish(name)); + } + + public String polish(String name) { + String newName = name; + // Remove leading "?_" if present + if (name.startsWith("?_")) { + newName = name.substring(2); + } + // Replace patterns enclosed by double underscores with "(.*)" + if (newName.matches("__.*__")) { + newName = newName.replaceAll("__.*__", "(.*)"); + } else if (newName.contains("__")) { // Replace standalone double underscores with a hyphen + newName = newName.replace("__", "-"); + } + // Replace last underscore with " - " if it's followed by a number + if (newName.matches(".*_C?\\d*.*\\d*")) { + newName = newName.substring(0, newName.lastIndexOf('_')) + " - " + newName.substring(newName.lastIndexOf('_') + 1); + } + // Replace all remaining underscores with spaces + newName = newName.replace("_", " "); + // Log the change if the name was altered + if (!newName.equals(name)) { + logger.debug(format(MESSAGES.getString("CHANGED_NAME"), name, newName)); + } + return newName; + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ParametersPolisher.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ParametersPolisher.java new file mode 100644 index 00000000..a57a4009 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ParametersPolisher.java @@ -0,0 +1,36 @@ +package de.uni_halle.informatik.biodata.mp.polishing; + +import de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import org.sbml.jsbml.Parameter; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; + +public class ParametersPolisher extends AbstractPolisher implements IPolishSBases { + private static final Logger logger = LoggerFactory.getLogger(ParametersPolisher.class); + + public ParametersPolisher(PolishingParameters parameters, Registry registry, List observers) { + super(parameters, registry, observers); + } + + @Override + public void polish(List modelParameters) { + logger.debug("Polish Parameters"); + for (Parameter parameter : modelParameters) { + statusReport("Polishing Parameters (5/9) ", parameter); + polish(parameter); + } + } + + @Override + public void polish(Parameter p) { + if (!p.isSetName()) { + p.setName(p.getId()); + new NamePolisher().polish(p); + } + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/PolisherFactory.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/PolisherFactory.java new file mode 100644 index 00000000..d2b3a5a9 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/PolisherFactory.java @@ -0,0 +1,22 @@ +package de.uni_halle.informatik.biodata.mp.polishing; + +import de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters; +import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg; +import org.sbml.jsbml.SBMLDocument; + +public class PolisherFactory { + + public static IPolishSBases sbmlPolisher(SBMLDocument doc, + PolishingParameters polishingParameters, + SBOParameters sboParameters) { + if (doc.getLevel() == 3 && doc.getVersion() == 1) { + return new SBMLPolisher(polishingParameters, sboParameters, new IdentifiersOrg()); + } + else { + throw new UnsupportedOperationException( + "Version " + doc.getVersion() + " and Level " + doc.getLevel() + + " is not supported at the moment."); + } + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/PolishingOptions.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/PolishingOptions.java new file mode 100644 index 00000000..475405f6 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/PolishingOptions.java @@ -0,0 +1,32 @@ +package de.uni_halle.informatik.biodata.mp.polishing; + +import de.zbit.util.ResourceManager; +import de.zbit.util.prefs.KeyProvider; +import de.zbit.util.prefs.Option; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; + +import java.util.ResourceBundle; + +public interface PolishingOptions extends KeyProvider { + + ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.POLISHING_MESSAGES); + +// /** +// * When set to true, the mass balance of each reaction will be checked where +// * possible. Reactions that are recognized as peudoreactions are excluded from +// * this check, also are reactions that lack information about elementary +// * composition of their participants. +// */ +// @SuppressWarnings("unchecked") +// Option CHECK_MASS_BALANCE = +// new Option<>("CHECK_MASS_BALANCE", Boolean.class, MESSAGES.getString("CHECK_MASS_BALANCE_DESC"), +// Boolean.TRUE); + + @SuppressWarnings("unchecked") + Option POLISH_EVEN_IF_MODEL_INVALID = + new Option<>("POLISH_EVEN_IF_MODEL_INVALID", + Boolean.class, + MESSAGES.getString("POLISH_EVEN_IF_MODEL_INVALID"), + Boolean.TRUE); + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ReactionsPolisher.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ReactionsPolisher.java new file mode 100644 index 00000000..b15de9f1 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ReactionsPolisher.java @@ -0,0 +1,181 @@ + package de.uni_halle.informatik.biodata.mp.polishing; + + import de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters; + import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; + import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; + import de.uni_halle.informatik.biodata.mp.resolver.Registry; + import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; + import de.uni_halle.informatik.biodata.mp.util.ReactionNamePatterns; + import org.sbml.jsbml.*; + import org.slf4j.Logger; + import org.slf4j.LoggerFactory; + + import java.util.List; + import java.util.Objects; + import java.util.Optional; + import java.util.stream.Collectors; + + + /** + * This class provides methods to polish and validate SBML reactions according to specific rules and patterns. + * It includes functionality to: + * - Check and set SBO terms based on reaction ID patterns. + * - Polish species references and compartments. + * - Validate and set flux bounds and objectives. + * - Convert gene associations from reaction notes to FBCv2 format. + * - Check mass and atom balance of reactions. + *

    + * The class operates on an SBML {@link Reaction} object and modifies it to conform to standards and conventions + * used in systems biology models, particularly those related to flux balance constraints. + */ + public class ReactionsPolisher extends AbstractPolisher implements IPolishSBases { + + private static final Logger logger = LoggerFactory.getLogger(ReactionsPolisher.class); + + private final SBOParameters sboParameters; + + public ReactionsPolisher(PolishingParameters polishingParameters, + SBOParameters sboParameters, + Registry registry) { + super(polishingParameters, registry); + this.sboParameters = sboParameters; + } + + public ReactionsPolisher(PolishingParameters polishingParameters, + SBOParameters sboParameters, + Registry registry, + List observers) { + super(polishingParameters, registry, observers); + this.sboParameters = sboParameters; + } + + @Override + public void polish(List reactions) { + logger.debug("Polish Reactions"); + + for (var reaction : reactions) { + statusReport("Polishing Reactions (6/9) ", reaction); + polish(reaction); + } + } + + /** + * Polishes the reaction by applying various checks and modifications to ensure it conforms to + * the expected standards and conventions. This includes setting SBO terms, checking compartments, + * and ensuring proper setup of reactants and products. + */ + @Override + public void polish(Reaction reaction) { + var originalReaction = reaction.clone(); + // Process any external resources linked via annotations in the reaction + new AnnotationPolisher(polishingParameters, registry).polish(reaction.getAnnotation()); + + setMetaId(reaction); + + if (sboParameters.addGenericTerms()) { + if (reaction.isSetListOfReactants()) { + new SpeciesReferencesPolisher(SBO.getReactant()).polish(reaction.getListOfReactants()); + } + if (reaction.isSetListOfProducts()) { + new SpeciesReferencesPolisher(SBO.getProduct()).polish(reaction.getListOfProducts()); + } + } + + setCompartmentFromReactionParticipants(reaction); + + setCompartmentFromId(reaction); + + removeCopySuffix(reaction); + + setSBOTerm(reaction); + } + + private void setCompartmentFromId(Reaction reaction) { + var biggId = BiGGId.createReactionId(reaction.getId()); + if ((reaction.getCompartment() == null || reaction.getCompartment().isEmpty()) + && biggId.isSetCompartmentCode()) { + var compartmentFromId = reaction.getModel().getListOfCompartments() + .stream() + .filter(c -> c.getId().equals(biggId.getCompartmentCode())) + .findFirst(); + if (compartmentFromId.isPresent()) { + reaction.setCompartment(biggId.getCompartmentCode()); + } + } + } + + private void setMetaId(Reaction reaction) { + if (!reaction.isSetMetaId() && (reaction.getCVTermCount() > 0)) { + reaction.setMetaId(reaction.getId()); + } + } + + private void setCompartmentFromReactionParticipants(Reaction reaction) { + if (reaction.getCompartment() == null || reaction.getCompartment().isEmpty()) { + var reactantsCompartment = getCommonCompartmentCode(reaction.getListOfReactants()); + var productsCompartment = getCommonCompartmentCode(reaction.getListOfProducts()); + if (reactantsCompartment.isEmpty() && productsCompartment.isPresent()) { + reaction.setCompartment(productsCompartment.get()); + } + else if (reactantsCompartment.isPresent() && productsCompartment.isEmpty()) { + reaction.setCompartment(reactantsCompartment.get()); + } + else if (reactantsCompartment.isPresent() + && reactantsCompartment.get().equals(productsCompartment.get())) { + reaction.setCompartment(reactantsCompartment.get()); + } + } + } + + private Optional getCommonCompartmentCode(ListOf speciesReferences) { + // Attempt to identify a common compartment for all species references + if (null != speciesReferences) { + var modelSpecies = speciesReferences.stream() + .map(SpeciesReference::getSpeciesInstance) + .filter(Objects::nonNull) + .map(Species::getCompartmentInstance) + .filter(Objects::nonNull ) + .map(Compartment::getId) + .collect(Collectors.toSet()); + return modelSpecies.size() == 1 ? modelSpecies.stream().findFirst() : Optional.empty(); + } + return Optional.empty(); + } + + + private void removeCopySuffix(Reaction reaction) { + String rName = reaction.getName(); + if (rName.matches(".*_copy\\d*")) { + rName = rName.substring(0, rName.lastIndexOf('_')); + reaction.setName(rName); + } + } + + + private void setSBOTerm(Reaction reaction) { + String abbrev = BiGGId.createReactionId(reaction.getId()).getAbbreviation(); + + if (ReactionNamePatterns.BIOMASS_CASE_INSENSITIVE.getPattern().matcher(abbrev).matches()) { + reaction.setSBOTerm(629); // Set SBO term for biomass production + } else if (ReactionNamePatterns.DEMAND_REACTION.getPattern().matcher(abbrev).matches()) { + reaction.setSBOTerm(628); // Set SBO term for demand reaction + } else if (ReactionNamePatterns.EXCHANGE_REACTION.getPattern().matcher(abbrev).matches()) { + reaction.setSBOTerm(627); // Set SBO term for exchange reaction + } else if (ReactionNamePatterns.ATP_MAINTENANCE.getPattern().matcher(abbrev).matches()) { + reaction.setSBOTerm(630); // Set SBO term for ATP maintenance + } else if (ReactionNamePatterns.SINK_REACTION.getPattern().matcher(abbrev).matches()) { + reaction.setSBOTerm(632); // Set SBO term for sink reaction + } + + if (!reaction.isSetSBOTerm()) { + if (reaction.getReactantCount() != 0 && reaction.getProductCount() == 0 && !reaction.isReversible()) { + reaction.setSBOTerm(632); + } else if (reaction.getReactantCount() == 0 && reaction.getProductCount() != 0 && !reaction.isReversible()) { + reaction.setSBOTerm(628); + } else if (sboParameters.addGenericTerms()) { + reaction.setSBOTerm(375); // generic process + } + } + } + + } diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/SBMLPolisher.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/SBMLPolisher.java new file mode 100644 index 00000000..61faf20c --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/SBMLPolisher.java @@ -0,0 +1,64 @@ +package de.uni_halle.informatik.biodata.mp.polishing; + +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters; +import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.SBMLDocument; +import org.sbml.jsbml.ext.fbc.converters.CobraToFbcV2Converter; +import org.sbml.jsbml.util.SBMLtools; +import org.sbml.jsbml.util.ValuePair; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; +import java.util.ResourceBundle; + +import static java.text.MessageFormat.format; + +public class SBMLPolisher extends AbstractPolisher implements IPolishSBases { + + private static final Logger logger = LoggerFactory.getLogger(SBMLPolisher.class); + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.POLISHING_MESSAGES); + private final SBOParameters sboParameters; + + public SBMLPolisher(PolishingParameters parameters, SBOParameters sboParameters, Registry registry) { + super(parameters, registry); + this.sboParameters = sboParameters; + } + + public SBMLPolisher(PolishingParameters parameters, SBOParameters sboParameters, Registry registry, List observers) { + super(parameters, registry, observers); + this.sboParameters = sboParameters; + } + + /** + * This method serves as the entry point from the ModelPolisher class to polish an SBML document. + * It ensures the document contains a model, performs a sanity check, polishes the model, sets the SBO term, + * marks the progress as finished if applicable, and processes any linked resources. + * + * @param doc The SBMLDocument containing the model to be polished. + */ + @Override + public void polish(SBMLDocument doc) { + logger.debug(format("Polish doc: {0}", doc.toString())); + if (!doc.isSetLevelAndVersion() || (doc.getLevelAndVersion().compareTo(ValuePair.of(3, 1)) < 0)) { + logger.debug(MESSAGES.getString("TRY_CONV_LVL3_V1")); + SBMLtools.setLevelAndVersion(doc, 3, 1); + } + + // Initialize the converter for Cobra to FBC version 2 + CobraToFbcV2Converter converter = new CobraToFbcV2Converter(); + doc = converter.convert(doc); + + // Polish the model. + Model model = doc.getModel(); + new ModelPolisher(polishingParameters, sboParameters, registry, getObservers()).polish(model); + + new AnnotationPolisher(polishingParameters, registry).polish(doc.getAnnotation()); + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/SpeciesPolisher.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/SpeciesPolisher.java new file mode 100644 index 00000000..ccebacc3 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/SpeciesPolisher.java @@ -0,0 +1,105 @@ +package de.uni_halle.informatik.biodata.mp.polishing; + +import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import org.sbml.jsbml.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; +import java.util.ResourceBundle; + +import static java.text.MessageFormat.format; + + +public class SpeciesPolisher extends AbstractPolisher implements IPolishSBases { + private static final Logger logger = LoggerFactory.getLogger(SpeciesPolisher.class); + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.POLISHING_MESSAGES); + + private final SBOParameters sboParameters; + + public SpeciesPolisher(PolishingParameters parameters, SBOParameters sboParameters, Registry registry, List observers) { + super(parameters, registry); + this.sboParameters = sboParameters; + } + + @Override + public void polish(List species) { + logger.debug("Polish Species"); + for (Species s : species) { + statusReport("Polishing Species (4/9) ", s); // Update progress display for each species + polish(s); + } + } + + + public void polish(Species species) { + new AnnotationPolisher(polishingParameters, registry).polish(species.getAnnotation()); + + if ((species.getCVTermCount() > 0) && !species.isSetMetaId()) { + species.setMetaId(species.getId()); + } + + setSBOTerm(species); + + setBoundaryConditions(species); + + var biggId = BiGGId.createMetaboliteId(species.getId()); + + setCompartmentFromBiggId(species, biggId); + + ensureCompartmentCodeFromBiggIdReferencesCompartment(species, biggId); + } + + private void setSBOTerm(Species species) { + if (!species.isSetSBOTerm() && sboParameters.addGenericTerms()) { + species.setSBOTerm(SBO.getSimpleMolecule()); + } + } + + private void setBoundaryConditions(Species species) { + if (species.getId().endsWith("_boundary") && !species.isBoundaryCondition()) { + logger.debug(format(MESSAGES.getString("BOUNDARY_FLAG_MISSING"), species.getId())); + species.setBoundaryCondition(true); + } + } + + private void setCompartmentFromBiggId(Species species, BiGGId biggId) { + if (biggId.isSetCompartmentCode() && !biggId.getCompartmentCode().equals(species.getCompartment())) { + + logger.debug(format(MESSAGES.getString("CHANGE_COMPART_REFERENCE"), + species.getId(), + species.getCompartment(), + biggId.getCompartmentCode())); + + species.setCompartment(biggId.getCompartmentCode()); + } + } + + private void ensureCompartmentCodeFromBiggIdReferencesCompartment(Species species, BiGGId biggId) { + Model model = species.getModel(); + String cId = biggId.getCompartmentCode(); + + SBase candidate = model.findUniqueNamedSBase(cId); + + if(candidate != null && !(candidate instanceof Compartment)) { + // TODO: this is not graceful + candidate.setId(candidate.getId() + "_non_compartment"); + } + + if (candidate == null && cId != null && !cId.isEmpty()) { + logger.debug(format(MESSAGES.getString("CREATE_MISSING_COMP"), + cId, species.getId(), species.getElementName())); + + var compartment = model.createCompartment(cId); + compartment.setConstant(true); // required attribute + + new CompartmentPolisher(polishingParameters, registry, getObservers()).polish(compartment); + } + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/SpeciesReferencesPolisher.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/SpeciesReferencesPolisher.java new file mode 100644 index 00000000..e3e6b3ae --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/SpeciesReferencesPolisher.java @@ -0,0 +1,19 @@ +package de.uni_halle.informatik.biodata.mp.polishing; + +import org.sbml.jsbml.SpeciesReference; + +public class SpeciesReferencesPolisher implements IPolishSpeciesReferences { + + private final Integer defaultSBOterm; + + public SpeciesReferencesPolisher(Integer defaultSBOterm) { + this.defaultSBOterm = defaultSBOterm; + } + + @Override + public void polish(SpeciesReference sr) { + if (!sr.isSetSBOTerm() && defaultSBOterm != null) { + sr.setSBOTerm(defaultSBOterm); + } + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/UnitPolisher.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/UnitPolisher.java new file mode 100644 index 00000000..7c413275 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/UnitPolisher.java @@ -0,0 +1,311 @@ +package de.uni_halle.informatik.biodata.mp.polishing; + +import de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrgURI; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import org.sbml.jsbml.*; +import org.sbml.jsbml.util.ModelBuilder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; +import java.util.Optional; + +/** + * This class is responsible for ensuring that all necessary {@link UnitDefinition}s and {@link Unit}s are correctly + * defined and present in the SBML model. It handles the creation and verification of units used in the model, + * particularly focusing on the units related to growth, substance, time, and volume. + *

    + * Additionally, this class is responsible for accurately assigning these defined units to specific components + * such as reactions, species, and parameters within the model as needed. + * This ensures that all these components adhere uniformly to the correct unit specifications, + * maintaining consistency and accuracy throughout the model's unit definitions. + */ +public class UnitPolisher extends AbstractPolisher implements IPolishSBases { + + public static final CVTerm CV_TERM_DESCRIBED_BY_PUBMED_GROWTH_UNIT = new CVTerm( + CVTerm.Qualifier.BQB_IS_DESCRIBED_BY, + new IdentifiersOrgURI("pubmed", 7986045).getURI()); + public static final String GROWTH_UNIT_ID = "mmol_per_gDW_per_hr"; + public static final String GROWTH_UNIT_NAME = "Millimoles per gram (dry weight) per hour"; + public static final CVTerm CV_TERM_IS_SUBSTANCE_UNIT = new CVTerm(CVTerm.Qualifier.BQB_IS, new IdentifiersOrgURI("unit", "UO:0000006").getURI()); + public static final CVTerm CV_TERM_IS_TIME_UNIT = new CVTerm(CVTerm.Qualifier.BQB_IS, new IdentifiersOrgURI("unit", "UO:0000003").getURI()); + public static final CVTerm CV_TERM_IS_VOLUME_UNIT = new CVTerm(CVTerm.Qualifier.BQB_IS, new IdentifiersOrgURI("unit", "UO:0000095").getURI()); + public static final CVTerm CV_TERM_IS_UO_SECOND = new CVTerm(CVTerm.Qualifier.BQB_IS, new IdentifiersOrgURI("unit", "UO:0000010").getURI()); + public static final CVTerm CV_TERM_IS_UO_HOUR = new CVTerm(CVTerm.Qualifier.BQB_IS, new IdentifiersOrgURI("unit", "UO:0000032").getURI()); + public static final CVTerm CV_TERM_IS_UO_MMOL = new CVTerm(CVTerm.Qualifier.BQB_IS, new IdentifiersOrgURI("unit", "UO:0000040").getURI()); + public static final CVTerm CV_TERM_IS_UO_GRAM = new CVTerm(CVTerm.Qualifier.BQB_IS, new IdentifiersOrgURI("unit", "UO:0000021").getURI()); + public static final CVTerm CV_TERM_IS_VERSION_OF_UO_SECOND = new CVTerm(CVTerm.Qualifier.BQB_IS_VERSION_OF, new IdentifiersOrgURI("unit", "UO:0000010").getURI()); + public static final CVTerm CV_TERM_IS_VERSION_OF_UO_MOLE = new CVTerm(CVTerm.Qualifier.BQB_IS_VERSION_OF, new IdentifiersOrgURI("unit", "UO:0000013").getURI()); + private static final Logger logger = LoggerFactory.getLogger(UnitPolisher.class); + + public UnitPolisher(PolishingParameters parameters, Registry registry) { + super(parameters, registry); + } + public UnitPolisher(PolishingParameters parameters, Registry registry, List observers) { + super(parameters, registry, observers); + } + + /** + * Ensures that all necessary {@link UnitDefinition}s and {@link Unit}s are present in the model. + * If any are missing, they are created and added to the model. This method also sets the model's + * extent and substance units if they are not already set. + */ + public void polish(Model model) { + logger.debug("Polish Unit Definitions"); + // Update progress bar to indicate the current process stage + statusReport("Polishing Unit Definitions (2/9) ", model); + + var unitDefinitions = model.getListOfUnitDefinitions(); + + // Create or retrieve a growth unit definition + var growth = createGrowthUnitDefinition(model); + + // Assign the growth unit definition to the model + setModelUnits(model, growth, unitDefinitions); + + // Get the instance of substance units from the model + UnitDefinition substanceUnits = model.getSubstanceUnitsInstance(); + // Set the extent units of the model if not already set + if (!model.isSetExtentUnits()) + model.setExtentUnits(substanceUnits.getId()); + + // Set the substance units of the model if not already set + if (!model.isSetSubstanceUnits()) + model.setSubstanceUnits(substanceUnits.getId()); + + + // TODO: ich bin mir ziemlich sicher, dass dieser Code hier nonsense ist + // Continue updating the progress bar until all unit definitions are processed +// while (progress.getCallNumber() < udCount) { +// progress.DisplayBar("Polishing Unit Definitions (2/9) "); +// } + } + + /** + * Using a growth unit as the template for equivalence, find a potentially already existing + * growth unit. + */ + private Optional findEquivalentGrowthUnit(ListOf uds, UnitDefinition growth) { + return uds.stream().filter(u -> UnitDefinition.areEquivalent(u, growth)).findFirst(); + } + + /** + * This unit will be created if no other growth unit can be extracted from the model. + */ + private UnitDefinition defaultGrowthUnitDefinition(Model model) { + var growth = new UnitDefinition(model.getLevel(), model.getVersion()); + growth.setId(GROWTH_UNIT_ID); + growth.setName(GROWTH_UNIT_NAME); + ModelBuilder.buildUnit(growth, 1d, -3, Unit.Kind.MOLE, 1d); + ModelBuilder.buildUnit(growth, 1d, 0, Unit.Kind.GRAM, -1d); + ModelBuilder.buildUnit(growth, 3600d, 0, Unit.Kind.SECOND, -1d); + return growth; + } + + /** + * Creates a growth unit definition for the model. If an equivalent growth unit already exists, + * it modifies the ID of the existing unit to indicate it was preexisting. This method ensures + * that the growth unit is properly annotated and added to the model. + * + * @return The newly created or modified growth unit definition. + */ + private UnitDefinition createGrowthUnitDefinition(Model model) { + var growth = defaultGrowthUnitDefinition(model); + var otherGrowth = findEquivalentGrowthUnit(model.getListOfUnitDefinitions(), growth); + + if (otherGrowth.isPresent()) { + if (!otherGrowth.get().isSetMetaId()) + otherGrowth.get().setMetaId(growth.getId()); + annotateGrowthUnitDefinition(otherGrowth.get()); + otherGrowth.get().setId(GROWTH_UNIT_ID); + return otherGrowth.get(); + } else { + if (!growth.isSetMetaId()) + growth.setMetaId(growth.getId()); + annotateGrowthUnitDefinition(growth); + if (null != model.getUnitDefinition(GROWTH_UNIT_ID)) { + model.getUnitDefinition(GROWTH_UNIT_ID).setId(GROWTH_UNIT_ID + "__preexisting"); + } + model.addUnitDefinition(growth); + return growth; + } + } + + private CVTerm genericUnitAnnotation(Unit u) { + return new CVTerm(CVTerm.Qualifier.BQB_IS_VERSION_OF, + u.getKind().getUnitOntologyIdentifier()); + } + + /** + * Annotates a growth unit definition with controlled vocabulary (CV) terms. + * This method adds specific annotations based on the unit kind and its properties. + * + * @param growth The UnitDefinition instance representing the growth unit to be annotated. + */ + private void annotateGrowthUnitDefinition(UnitDefinition growth) { + // Annotate the growth unit with a general descriptor from PubMed. + growth.addCVTerm(CV_TERM_DESCRIBED_BY_PUBMED_GROWTH_UNIT); + + // Annotate the 'mole' unit based on its scale. + getUnitByKind(growth, Unit.Kind.MOLE).ifPresent(u -> { + if (u.getScale() == -3) {// If the scale is -3, it's millimoles. + u.addCVTerm(CV_TERM_IS_UO_MMOL); + } else {// For other scales, use a generic annotation. + u.addCVTerm(this.genericUnitAnnotation(u)); + } + }); + + // Annotate the 'gram' unit generically. + getUnitByKind(growth, Unit.Kind.GRAM).ifPresent(this::genericUnitAnnotation); + + // Annotate the 'second' unit based on its multiplier. + getUnitByKind(growth, Unit.Kind.SECOND).ifPresent(u -> { + switch (Double.valueOf(u.getMultiplier()).intValue()) { + case 1: + // If the multiplier is 1, it's seconds. + u.addCVTerm(CV_TERM_IS_UO_SECOND); + break; + case 3600: + // If the multiplier is 3600, it's hours. + u.addCVTerm(CV_TERM_IS_UO_HOUR); + break; + default: + // For other multipliers, use a generic annotation. + u.addCVTerm(this.genericUnitAnnotation(u)); + } + }); + } + + /** + * This method sets the substance, volume, and time units for the model based on the provided unit definitions + * or based on the growth unit if the specific units are not predefined in the model. + * + * @param growth The UnitDefinition instance representing the growth unit. + * @param unitDefinitions A ListOf containing predefined unit definitions for substance, time, and volume. + */ + private void setModelUnits(Model model, UnitDefinition growth, ListOf unitDefinitions) { + // Handle setting of substance units + var substanceUnits = model.getSubstanceUnitsInstance(); + if (substanceUnits == null) { + if (unitDefinitions.get(UnitDefinition.SUBSTANCE) != null) { + model.setSubstanceUnits(UnitDefinition.SUBSTANCE); + } else { + model.setSubstanceUnits(createSubstanceUnit(model, growth)); + } + } + model.getSubstanceUnitsInstance().addCVTerm(CV_TERM_IS_SUBSTANCE_UNIT); + + // Handle setting of time units + var timeUnits = model.getTimeUnitsInstance(); + if (timeUnits == null) { + if (unitDefinitions.get(UnitDefinition.TIME) != null) { + model.setTimeUnits(UnitDefinition.TIME); + } else { + model.setTimeUnits(createTimeUnit(model, growth)); + } + } + model.getTimeUnitsInstance().addCVTerm(CV_TERM_IS_TIME_UNIT); + + // Handle setting of volume units + var volumeUnits = model.getVolumeUnitsInstance(); + if (volumeUnits == null && unitDefinitions.get(UnitDefinition.VOLUME) != null) { + model.setVolumeUnits(UnitDefinition.VOLUME); + } + if (volumeUnits != null) { + model.getVolumeUnitsInstance().addCVTerm(CV_TERM_IS_VOLUME_UNIT); + } + } + + /** + * Creates a new UnitDefinition for substance units based on the growth UnitDefinition. + * If specific units for GRAM or MOLE are present in the growth definition, those are cloned. + * Otherwise, default units are created and added to the new UnitDefinition. + * + * @param growth The UnitDefinition instance representing the growth unit. + * @return The newly created UnitDefinition with appropriate substance units. + */ + private UnitDefinition createSubstanceUnit(Model model, UnitDefinition growth) { + final var substanceUnits = model.createUnitDefinition(UnitDefinition.SUBSTANCE); + + // Handle GRAM units: clone if present, otherwise create default GRAM unit + getUnitByKind(growth, Unit.Kind.GRAM).ifPresentOrElse( + unit -> substanceUnits.addUnit(safeClone(unit)), + () -> { + var u = substanceUnits.createUnit(Unit.Kind.GRAM); + u.setMultiplier(1); + u.setExponent(-1d); + u.setScale(0); + u.addCVTerm(CV_TERM_IS_UO_GRAM); + }); + + // Handle MOLE units: clone if present, otherwise create default MOLE unit + getUnitByKind(growth, Unit.Kind.MOLE).ifPresentOrElse( + unit -> substanceUnits.addUnit(safeClone(unit)), + () -> { + var u = substanceUnits.createUnit(Unit.Kind.MOLE); + u.setMultiplier(1); + u.setExponent(1d); + u.setScale(-3); + u.addCVTerm(CV_TERM_IS_UO_MMOL); + u.addCVTerm(CV_TERM_IS_VERSION_OF_UO_MOLE); + }); + + return substanceUnits; + } + + /** + * Creates a new UnitDefinition for time units based on the growth UnitDefinition. + * If a unit of kind SECOND is present in the growth definition, it is cloned and adjusted if necessary. + * If no such unit is present, a default unit representing an hour is created. + * + * @param growth The UnitDefinition instance representing the growth unit. + * @return The newly created UnitDefinition with appropriate time units. + */ + private UnitDefinition createTimeUnit(Model model, UnitDefinition growth) { + final var timeUnitDefinition = model.createUnitDefinition(UnitDefinition.TIME); + getUnitByKind(growth, Unit.Kind.SECOND).ifPresentOrElse( + unit -> { + var timeUnit = safeClone(unit); + // Ensure the exponent is positive + if(timeUnit.getExponent() < 0) + timeUnit.setExponent(timeUnit.getExponent() * -1); + timeUnitDefinition.addUnit(timeUnit); + }, + () -> { + var timeUnit = timeUnitDefinition.createUnit(Unit.Kind.SECOND); + // Set properties for the default hour unit + timeUnit.setMultiplier(3600); + timeUnit.setScale(0); + timeUnit.setExponent(1d); + timeUnit.addCVTerm(CV_TERM_IS_UO_HOUR); + timeUnit.addCVTerm(CV_TERM_IS_VERSION_OF_UO_SECOND); + timeUnitDefinition.setName("Hour"); + }); + return timeUnitDefinition; + } + + /** + * Retrieves the first unit of a specified kind from a given UnitDefinition. + * + * @param ud the UnitDefinition from which to retrieve the unit + * @param kind the kind of unit to retrieve + * @return an Optional containing the unit if found, or an empty Optional if no such unit exists + */ + private Optional getUnitByKind(UnitDefinition ud, Unit.Kind kind) { + return ud.getListOfUnits().stream() + .filter(unit -> unit.getKind().equals(kind)) + .findFirst(); + } + + private T safeClone(T sbase) { + @SuppressWarnings("unchecked") + T sb = (T) sbase.clone(); + if (sb.isSetMetaId()) { + sb.unsetMetaId(); + } + return sb; + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/FBCPolisher.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/FBCPolisher.java new file mode 100644 index 00000000..870a72ae --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/FBCPolisher.java @@ -0,0 +1,62 @@ +package de.uni_halle.informatik.biodata.mp.polishing.ext.fbc; + +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; +import de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher; +import de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters; +import de.uni_halle.informatik.biodata.mp.polishing.IPolishSBases; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.sbml.jsbml.ext.fbc.FBCModelPlugin; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; +import java.util.ResourceBundle; + +import static java.text.MessageFormat.format; + +public class FBCPolisher extends AbstractPolisher implements IPolishSBases { + + private static final Logger logger = LoggerFactory.getLogger(FBCPolisher.class); + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.POLISHING_MESSAGES); + private final SBOParameters sboParameters; + + public FBCPolisher(PolishingParameters parameters, SBOParameters sboParameters, Registry registry, List observers) { + super(parameters, registry, observers); + this.sboParameters = sboParameters; + } + + @Override + public void polish(Model model) { + logger.debug("Polish FBC Plugin"); + // Set the SBO term for the document to indicate a flux balance framework. + model.getSBMLDocument().setSBOTerm(624); + + FBCModelPlugin modelPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + // Polish the list of objectives if set + if (modelPlug.isSetListOfObjectives()) { + if (modelPlug.getObjectiveCount() == 0) { + logger.debug(format(MESSAGES.getString("OBJ_MISSING"), modelPlug.getParent().getId())); + } else { + new ObjectivesPolisher(modelPlug, polishingParameters, registry, getObservers()) + .polish(modelPlug.getListOfObjectives()); + new FBCReactionPolisher(modelPlug, polishingParameters, sboParameters, registry, getObservers()) + .polish(model.getListOfReactions()); + } + + } + // Polish the list of gene products if set + if (modelPlug.isSetListOfGeneProducts()) { + new GeneProductsPolisher(polishingParameters, registry, getObservers()).polish(modelPlug.getListOfGeneProducts()); + } + + boolean strict = new StrictnessPredicate().test(model); + // Apply strictness setting to the FBC model plugin + modelPlug.setStrict(strict); + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/FBCReactionPolisher.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/FBCReactionPolisher.java new file mode 100644 index 00000000..f6c79356 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/FBCReactionPolisher.java @@ -0,0 +1,234 @@ +package de.uni_halle.informatik.biodata.mp.polishing.ext.fbc; + +import de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters; +import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; +import de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher; +import de.uni_halle.informatik.biodata.mp.polishing.IPolishSBases; +import de.uni_halle.informatik.biodata.mp.util.ReactionNamePatterns; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import de.uni_halle.informatik.biodata.mp.util.ext.fbc.GPRParser; +import org.sbml.jsbml.KineticLaw; +import org.sbml.jsbml.LocalParameter; +import org.sbml.jsbml.Parameter; +import org.sbml.jsbml.Reaction; +import org.sbml.jsbml.ext.fbc.*; +import org.sbml.jsbml.xml.XMLNode; + +import java.util.List; +import java.util.Optional; + +public class FBCReactionPolisher extends AbstractPolisher implements IPolishSBases { + private final FBCModelPlugin fbcPlugin; + private final SBOParameters sboParameters; + private final GeneProductAssociationsProcessor gpaProcessor; + + public FBCReactionPolisher(FBCModelPlugin fbcPlugin, + PolishingParameters polishingParameters, + SBOParameters sboParameters, + Registry registry) { + super(polishingParameters, registry); + this.fbcPlugin = fbcPlugin; + this.sboParameters = sboParameters; + this.gpaProcessor = new GeneProductAssociationsProcessor(); + } + + public FBCReactionPolisher(FBCModelPlugin fbcPlugin, + PolishingParameters polishingParameters, + SBOParameters sboParameters, + Registry registry, + List observers) { + super(polishingParameters, registry, observers); + this.fbcPlugin = fbcPlugin; + this.sboParameters = sboParameters; + this.gpaProcessor = new GeneProductAssociationsProcessor(); + } + + + @Override + public void polish(List reactions) { + for (var reaction : reactions) { + polish(reaction); + } + } + + @Override + public void polish(Reaction reaction) { + if (fbcPlugin.isSetListOfObjectives()) { + fluxObjectiveFromLocalParameter(reaction); + } + associationFromNotes(reaction); + polishBounds(reaction); + gpaProcessor.convertAssociationsToFBCV2(reaction, sboParameters.addGenericTerms()); + } + + + private void fluxObjectiveFromLocalParameter(Reaction reaction) { + Objective obj = fbcPlugin.getActiveObjectiveInstance(); + + // Check if a flux objective associated with the reaction already exists + boolean foExists = obj.getListOfFluxObjectives().stream() + .anyMatch(fo -> reaction.equals(fo.getReactionInstance()) ); + if (foExists) { + return; + } + // Retrieve the kinetic law of the reaction, if it exists + KineticLaw kl = reaction.getKineticLaw(); + if (kl != null) { + // Attempt to get the objective coefficient from the kinetic law + LocalParameter coefficient = kl.getLocalParameter("OBJECTIVE_COEFFICIENT"); + if (coefficient != null && coefficient.getValue() != 0d) { + // Create a new flux objective with the coefficient and associate it with the reaction + FluxObjective fo = obj.createFluxObjective("fo_" + reaction.getId()); + fo.setCoefficient(coefficient.getValue()); + fo.setReaction(reaction); + } + } + } + + + private void associationFromNotes(Reaction reaction) { + // Obtain the FBC plugin for the reaction to handle FBC-specific features. + var reactionPlugin = (FBCReactionPlugin) reaction.getPlugin(FBCConstants.shortLabel); + + // Check if the gene product association is not already set and if the reaction has notes. + if (!reactionPlugin.isSetGeneProductAssociation() && reaction.isSetNotes()) { + // Retrieve the 'body' element from the reaction notes. + XMLNode body = reaction.getNotes().getChildElement("body", null); + + // Process each paragraph within the body that contains exactly one child node. + if (body != null) { + for (XMLNode p : body.getChildElements("p", null)) { + if (p.getChildCount() == 1) { + String associationCandidate = p.getChildAt(0).getCharacters(); + + // Check if the text starts with the expected gene association tag. + if (associationCandidate.startsWith("GENE_ASSOCIATION: ")) { + String[] splits = associationCandidate.split("GENE_ASSOCIATION: "); + + // Ensure the string was split into exactly two parts and the second part is not empty. + if (splits.length == 2) { + String association = splits[1]; + if (!association.isEmpty()) { + // Parse the gene product association and apply it to the reaction. + GPRParser.setGeneProductAssociation(reaction, association, sboParameters.addGenericTerms()); + } + } + } + } + } + } + } + } + + /** + * Checks if the existing FBC flux bounds are strictly defined and attempts to infer missing bounds from the reaction's kinetic law. + * If bounds are not set, it creates and assigns new global parameters as flux bounds according to the FBC specification. + */ + private void polishBounds(Reaction reaction) { + // TODO: this code does multiple unrelated things at once; check for strictness should be its own function + FBCReactionPlugin rPlug = (FBCReactionPlugin) reaction.getPlugin(FBCConstants.shortLabel); + + Parameter lb = rPlug.getLowerFluxBoundInstance(); + Parameter ub = rPlug.getUpperFluxBoundInstance(); + + // try to set bounds if none exist yet + if (lb == null) { + lb = ensureBound(reaction, "LOWER_BOUND"); + } + if (ub == null) { + ub = ensureBound(reaction, "UPPER_BOUND"); + } + + // set appropriate SBO terms for bounds + if (lb != null) { + setFluxBoundSBOTerm(rPlug.getLowerFluxBoundInstance()); + } + if (ub != null) { + setFluxBoundSBOTerm(rPlug.getUpperFluxBoundInstance()); + } + } + + + private Parameter ensureBound(Reaction reaction, String boundType) { + // set bounds from KineticLaw, if they are not set in FBC, create global Parameter, + // as required by specification + Parameter bound = getBoundFromKineticLawParameters(reaction, boundType); + + if (bound != null) { + setBoundId(reaction, bound, bound.getValue()); + var preexistingParameter = reaction.getModel().getParameter(bound.getId()); + if (preexistingParameter == null) { + reaction.getModel().addParameter(bound); + updateReactionPlugin(reaction, boundType, bound); + } else { + updateReactionPlugin(reaction, boundType, preexistingParameter); + } + } + return bound; + } + + private void updateReactionPlugin(Reaction reaction, String boundType, Parameter parameter) { + FBCReactionPlugin rPlug = (FBCReactionPlugin) reaction.getPlugin(FBCConstants.shortLabel); + if (boundType.equals("LOWER_BOUND")) { + rPlug.setLowerFluxBound(parameter); + } else if (boundType.equals("UPPER_BOUND")) { + rPlug.setUpperFluxBound(parameter); + } + } + + + /** + * Polishes the SBO term of a flux bound parameter based on its ID. + * If the parameter's ID matches the default flux bound pattern, it sets the SBO term to 626. + * Otherwise, it sets the SBO term to 625. + * + * @param bound The parameter representing a flux bound. + */ + public void setFluxBoundSBOTerm(Parameter bound) { + if (ReactionNamePatterns.DEFAULT_FLUX_BOUND.getPattern().matcher(bound.getId()).matches()) { + bound.setSBOTerm(626); // default flux bound + } else { + bound.setSBOTerm(625); // flux bound + } + } + + /** + * Retrieves a local parameter from a reaction's kinetic law based on the specified parameter name. + * This method specifically looks for parameters that define either the lower or upper flux bounds. + * + * @param r The reaction from which the kinetic law and the parameter are to be retrieved. + * @param parameterName The name of the parameter to retrieve, expected to be either "LOWER_BOUND" or "UPPER_BOUND". + * @return The local parameter if found, or {@code null} if the kinetic law is not defined or the parameter does not exist. + */ + private Parameter getBoundFromKineticLawParameters(Reaction r, String parameterName) { + return Optional.ofNullable(r.getKineticLaw()) + .map(kl -> kl.getLocalParameter(parameterName)) + .map(Parameter::new) + .orElse(null); + } + + + /** + * Retrieves a modified {@link Parameter} instance based on the specified bound value. + * This method adjusts the ID of the {@link Parameter} based on predefined threshold values. + * If the bound value matches a specific threshold, the ID is set to a corresponding default value. + * Otherwise, the ID is customized using the reaction's ID combined with the original bound's ID. + * + * @param r The {@link Reaction} instance from which the model and parameter are derived. + * @param bound The {@link Parameter} instance representing either a lower or upper bound. + * @param boundValue The numeric value of the bound, which determines how the {@link Parameter}'s ID is set. + */ + private void setBoundId(Reaction r, Parameter bound, double boundValue) { + if (boundValue == -1000d) { + bound.setId("DEFAULT_LOWER_BOUND"); + } else if (boundValue == 0d) { + bound.setId("DEFAULT_BOUND"); + } else if (boundValue == 1000d) { + bound.setId("DEFAULT_UPPER_BOUND"); + } else { + bound.setId(r.getId() + "_" + bound.getId()); + } + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/GeneProductAssociationsProcessor.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/GeneProductAssociationsProcessor.java new file mode 100644 index 00000000..29218aa9 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/GeneProductAssociationsProcessor.java @@ -0,0 +1,110 @@ +package de.uni_halle.informatik.biodata.mp.polishing.ext.fbc; + +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.Reaction; +import org.sbml.jsbml.ext.fbc.*; +import org.sbml.jsbml.xml.XMLNode; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.*; + +import static java.text.MessageFormat.format; + +public class GeneProductAssociationsProcessor { + + private static final Logger logger = LoggerFactory.getLogger(GeneProductAssociationsProcessor.class); + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.POLISHING_MESSAGES); + + private final Map oldGeneAssociations = new HashMap<>(); + + + public void convertAssociationsToFBCV2(Reaction reaction, boolean addGenericTerms) { + var model = reaction.getModel(); + String id = reaction.getId(); + XMLNode ga = oldGeneAssociations.getOrDefault(id, null); + if (ga != null) { + var reactionPlugin = (FBCReactionPlugin) reaction.getPlugin(FBCConstants.shortLabel); + var gpa = new GeneProductAssociation(reaction.getLevel(), reaction.getVersion()); + List associations = processAssociation(ga, model, addGenericTerms); + if (associations.size() == 1) { + gpa.setAssociation(associations.get(0)); + reactionPlugin.setGeneProductAssociation(gpa); + } + } + } + + // TODO: das war extrahiert aus convertAssociationsToFBCV2 und muss aufgerufen werden noch + private boolean processNonRDFGeneAssociationAnnotations(Model model) { + var annotation = model.getAnnotation(); + XMLNode node = annotation.getNonRDFannotation(); + if (node == null) { + return true; + } + for (int i = 0; i < node.getChildCount(); i++) { + XMLNode current = node.getChild(i); + if (current.getName().equals("geneAssociation")) { + String reactionId = current.getAttributes().getValue("reaction"); + oldGeneAssociations.put(reactionId, node.getChild(i)); + node.removeChild(i); + } + } + return false; + } + + private List processAssociation(XMLNode association, Model model, boolean addGenericTerms) { + int level = model.getLevel(), version = model.getVersion(); + List associations = new ArrayList<>(); + for (int i = 0; i < association.getChildCount(); i++) { + XMLNode current = association.getChild(i); + switch (current.getName()) { + case "and": + And and = new And(level, version); + if (addGenericTerms) { + and.setSBOTerm(173); // AND + } + and.addAllAssociations(processAssociation(current, model, addGenericTerms)); + if (and.isSetListOfAssociations()) { + associations.add(and); + } + break; + case "or": + Or or = new Or(level, version); + if (!addGenericTerms) { + or.setSBOTerm(174); // OR + } + or.addAllAssociations(processAssociation(current, model, addGenericTerms)); + if (or.isSetListOfAssociations()) { + associations.add(or); + } + break; + case "gene": + String geneReference = current.getAttributes().getValue("reference"); + GeneProductRef gpr = new GeneProductRef(level, version); + var id = BiGGId.createGeneId(geneReference).toBiGGId(); + if (!model.containsUniqueNamedSBase(id)) { + GeneProduct gp = (GeneProduct) model.findUniqueNamedSBase(id); + if (gp == null) { + logger.debug(format("Creating missing gene product {0}", id)); + FBCModelPlugin fbcPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + gp = fbcPlug.createGeneProduct(id); + gp.setLabel(id); + } else { + logger.info(format(MESSAGES.getString("UPDATE_GP_ID"), gp.getId(), id)); + gp.setId(id); + } + } + gpr.setGeneProduct(id); + if (gpr.isSetGeneProduct()) { + associations.add(gpr); + } + break; + } + } + return associations; + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/GeneProductsPolisher.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/GeneProductsPolisher.java new file mode 100644 index 00000000..2030cafa --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/GeneProductsPolisher.java @@ -0,0 +1,66 @@ +package de.uni_halle.informatik.biodata.mp.polishing.ext.fbc; + +import de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher; +import de.uni_halle.informatik.biodata.mp.polishing.AnnotationPolisher; +import de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters; +import de.uni_halle.informatik.biodata.mp.polishing.IPolishSBases; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import org.sbml.jsbml.ext.fbc.GeneProduct; + +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; + +public class GeneProductsPolisher extends AbstractPolisher implements IPolishSBases { + private static final Logger logger = LoggerFactory.getLogger(GeneProductsPolisher.class); + + public GeneProductsPolisher(PolishingParameters parameters, Registry registry, List observers) { + super(parameters, registry, observers); + } + + + @Override + public void polish(List geneProducts) { + logger.debug("Polish Gene Products"); + + for (GeneProduct geneProduct : geneProducts) { + statusReport("Polishing Gene Products (9/9) ", geneProduct); + polish(geneProduct); + } + } + + @Override + public void polish(GeneProduct geneProduct) { + // Process the annotations associated with the gene product + new AnnotationPolisher(polishingParameters, registry).polish(geneProduct.getAnnotation()); + + setIdToBiggId(geneProduct); + + if ((geneProduct.getCVTermCount() > 0) && !geneProduct.isSetMetaId()) { + geneProduct.setMetaId(geneProduct.getId()); + } + + setName(geneProduct); + } + + private void setName(GeneProduct geneProduct) { + if (!geneProduct.isSetName() || geneProduct.getName().equalsIgnoreCase("None")) { + if (!geneProduct.getLabel().equalsIgnoreCase("None")) { + geneProduct.setName(geneProduct.getLabel()); + } else { + geneProduct.setName(geneProduct.getId()); + } + } + } + + private void setIdToBiggId(GeneProduct geneProduct) { + // Create a new BiGG ID for the gene product, if possible + var biggId = BiGGId.createGeneId(geneProduct.getId()); + String id = biggId.toBiGGId(); + geneProduct.setId(id); + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/ObjectivesPolisher.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/ObjectivesPolisher.java new file mode 100644 index 00000000..1770c2cf --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/ObjectivesPolisher.java @@ -0,0 +1,75 @@ +package de.uni_halle.informatik.biodata.mp.polishing.ext.fbc; + +import de.uni_halle.informatik.biodata.mp.polishing.AbstractPolisher; +import de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters; +import de.uni_halle.informatik.biodata.mp.polishing.AnnotationPolisher; +import de.uni_halle.informatik.biodata.mp.polishing.IPolishSBases; +import de.uni_halle.informatik.biodata.mp.reporting.ProgressObserver; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import org.sbml.jsbml.ext.fbc.FBCModelPlugin; +import org.sbml.jsbml.ext.fbc.Objective; + +import java.util.List; + +public class ObjectivesPolisher extends AbstractPolisher implements IPolishSBases { + + private FBCModelPlugin fbcPlugin; + + public ObjectivesPolisher(FBCModelPlugin fbcPlugin, PolishingParameters parameters, Registry registry) { + super(parameters, registry); + this.fbcPlugin = fbcPlugin; + } + public ObjectivesPolisher(FBCModelPlugin fbcPlugin, PolishingParameters parameters, Registry registry, List observers) { + super(parameters, registry, observers); + this.fbcPlugin = fbcPlugin; + } + + @Override + public void polish(Objective objective) { + statusReport("Polishing Objectives (7/9) ", objective); + + new AnnotationPolisher(polishingParameters, registry).polish(objective.getAnnotation()); + + if ((objective.getCVTermCount() > 0) && !objective.isSetMetaId()) { + objective.setMetaId(objective.getId()); + } + + createDefaultObjective(); + } + + private void createDefaultObjective() { + if (!fbcPlugin.isSetListOfObjectives()) { + var obj = fbcPlugin.createObjective("obj", "default objective", Objective.Type.MAXIMIZE); + fbcPlugin.getListOfObjectives().setActiveObjective(obj.getId()); + } + } + + + // TODO: this logging was pointless but we need to provide this information +// /** +// * Polishes the list of flux objectives within a given objective. +// * This method checks for the presence and validity of flux objectives and logs warnings if: +// * - No flux objectives are present. +// * - There are more than one flux objectives. +// * - Flux objectives have invalid coefficients. +// * +// * @param objective The objective whose flux objectives are to be polished. +// */ +// private void polishListOfFluxObjectives(Objective objective) { +// if (objective.getFluxObjectiveCount() == 0) { +// // Note: the strict attribute does not require the presence of any flux objectives. +// logger.warning(format(MESSAGES.getString("OBJ_FLUX_OBJ_MISSING"), objective.getId())); +// } else { +// if (objective.getFluxObjectiveCount() > 1) { +// logger.warning(format(MESSAGES.getString("TOO_MUCH_OBJ_TARGETS"), objective.getId())); +// } +// for (FluxObjective fluxObjective : objective.getListOfFluxObjectives()) { +// if (!fluxObjective.isSetCoefficient() || Double.isNaN(fluxObjective.getCoefficient()) +// || !Double.isFinite(fluxObjective.getCoefficient())) { +// logger.warning(format(MESSAGES.getString("FLUX_OBJ_COEFF_INVALID"), fluxObjective.getReaction())); +// } +// } +// } +// } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/StrictnessPredicate.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/StrictnessPredicate.java new file mode 100644 index 00000000..a96578c1 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/polishing/ext/fbc/StrictnessPredicate.java @@ -0,0 +1,162 @@ +package de.uni_halle.informatik.biodata.mp.polishing.ext.fbc; + +import org.sbml.jsbml.*; +import org.sbml.jsbml.ext.fbc.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; +import java.util.function.Predicate; + +/** + * From ...: + *

    + * The following restrictions are in effect if an “fbc” model object has a value of 'true' + * for the attribute 'strict' on Model: + * 1) Each Reaction in a Model must define values for the attributes 'lowerFluxBound' and 'upperFluxBound', + * with each attribute pointing to a valid Parameter object defined in the current Model. + * (implemented via {@link #reactionHasValidBounds}) + * 2) Each Parameter object referred to by the Reaction attributes 'lowerFluxBound' and 'upperFluxBound' + * must have its 'constant' attribute set to the value 'true' + * and its 'value' attribute set to a value of type double. This value may not be 'NaN'. + * (implemented via {@link #reactionHasValidBounds}) + * 3) SpeciesReference objects in Reaction objects must have their 'stoichiometry' attribute set to a double value + * that is not 'NaN', nor '-INF', nor 'INF'. + * In addition, the value of their 'constant' attribute must be set to 'true'. + * (implemented via {@link #reactionSpeciesReferencesHaveValidAttributes}) + * 4) InitialAssignment objects may not target the Parameter objects referenced by + * the Reaction attributes 'lowerFluxBound' and 'upperFluxBound', nor any SpeciesReference objects. + * (implemented via {@link #initialAssignmentDoesNotReferenceBoundParameters} + * and {@link #initialAssignmentDoesNotReferenceSpeciesReferences}) + * 5) All defined FluxObjective objects must have their coefficient attribute set + * to a double value that is not 'NaN', nor '-INF', nor 'INF'. + * (implemented via {@link #fluxObjectiveHasValidCoefficients}) + * 6) A Reaction 'lowerFluxBound' attribute may not point to a Parameter object that has a value of 'INF'. + * (implemented via {@link #reactionHasValidBounds}) + * 7) A Reaction 'upperFluxBound' attribute may not point to a Parameter object that has a value of '-INF'. + * (implemented via {@link #reactionHasValidBounds}) + * 8) For all Reaction objects, the value of a 'lowerFluxBound' attribute must be + * less than or equal to the value of the 'upperFluxBound' attribute. + * (implemented via {@link #reactionHasValidBounds}) + */ +public class StrictnessPredicate implements Predicate { + private static final Logger logger = LoggerFactory.getLogger(StrictnessPredicate.class); + + @Override + public boolean test(Model model) { + logger.debug("Test Strictness"); + + var strict = model.getListOfReactions().stream() + .allMatch(reaction -> + reactionHasValidBounds(reaction) + && reactionSpeciesReferencesHaveValidAttributes(reaction)); + + if (model.isSetListOfInitialAssignments()){ + strict &= model.getListOfInitialAssignments().stream() + .allMatch(ia -> + initialAssignmentDoesNotReferenceBoundParameters(ia) + && initialAssignmentDoesNotReferenceSpeciesReferences(ia)); + + } + + FBCModelPlugin modelPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + if (modelPlug.isSetListOfObjectives()) { + strict &= modelPlug.getListOfObjectives().stream() + .map(Objective::getListOfFluxObjectives) + .flatMap(List::stream) + .allMatch(this::fluxObjectiveHasValidCoefficients); + } + + return strict; + } + + /** + * 1) Each Reaction in a Model must define values for the attributes 'lowerFluxBound' and 'upperFluxBound', + * with each attribute pointing to a valid Parameter object defined in the current Model. + * 2) Each Parameter object referred to by the Reaction attributes 'lowerFluxBound' and 'upperFluxBound' + * must have its 'constant' attribute set to the value 'true' + * and its 'value' attribute set to a value of type double. This value may not be 'NaN'. + * 6) A Reaction 'lowerFluxBound' attribute may not point to a Parameter object that has a value of 'INF'. + * 7) A Reaction 'upperFluxBound' attribute may not point to a Parameter object that has a value of '-INF'. + * 8) For all Reaction objects, the value of a 'lowerFluxBound' attribute must be + * less than or equal to the value of the 'upperFluxBound' attribute. + */ + public boolean reactionHasValidBounds(Reaction r) { + FBCReactionPlugin rPlug = (FBCReactionPlugin) r.getPlugin(FBCConstants.shortLabel); + + Parameter lb = rPlug.getLowerFluxBoundInstance(); + Parameter ub = rPlug.getUpperFluxBoundInstance(); + + // TODO: pointless logging but we should provide this information +// if (!strict) { +// logger.warning(format(MESSAGES.getString("FLUX_BOUND_ERROR"), reaction.getId())); +// } + + return isBoundSet(lb) + && lb.isConstant() + && lb.getValue() < Double.POSITIVE_INFINITY + && isBoundSet(ub) + && ub.isConstant() + && ub.getValue() > Double.NEGATIVE_INFINITY + && lb.getValue() <= ub.getValue(); + } + + public boolean isBoundSet(Parameter bound) { + return (bound != null) + && bound.isSetValue() + && !Double.isNaN(bound.getValue()); + } + + /** + * see {@link #strictnessOfSpeciesReferences} + */ + public boolean reactionSpeciesReferencesHaveValidAttributes(Reaction r) { + return strictnessOfSpeciesReferences(r.getListOfReactants()) + && strictnessOfSpeciesReferences(r.getListOfProducts()); + } + + /** + * 3) SpeciesReference objects in Reaction objects must have their 'stoichiometry' attribute set to a double value + * that is not 'NaN', nor '-INF', nor 'INF'. + * In addition, the value of their 'constant' attribute must be set to 'true'. + */ + public boolean strictnessOfSpeciesReferences(ListOf listOfSpeciesReference) { + boolean strict = true; + for (SpeciesReference sr : listOfSpeciesReference) { + strict &= sr.isConstant() + && sr.isSetStoichiometry() + && !Double.isNaN(sr.getValue()) + && Double.isFinite(sr.getValue()); + } + return strict; + } + + /** + * 4) InitialAssignment objects may not target the Parameter objects referenced by + * the Reaction attributes 'lowerFluxBound' and 'upperFluxBound', nor any SpeciesReference objects. + */ + public boolean initialAssignmentDoesNotReferenceBoundParameters(InitialAssignment ia) { + var variable = ia.getVariableInstance(); + // TODO: this is a suboptimal implementation as it relies on SBO terms instead of inspecting the model + return (variable instanceof Parameter + && variable.isSetSBOTerm() && SBO.isChildOf(variable.getSBOTerm(), 625)); + } + + /** + * 4) InitialAssignment objects may not target the Parameter objects referenced by + * the Reaction attributes 'lowerFluxBound' and 'upperFluxBound', nor any SpeciesReference objects. + */ + public boolean initialAssignmentDoesNotReferenceSpeciesReferences(InitialAssignment ia) { + var variable = ia.getVariableInstance(); + return !(variable instanceof SpeciesReference); + } + + /** + * 5) All defined FluxObjective objects must have their coefficient attribute set + * to a double value that is not 'NaN', nor '-INF', nor 'INF'. + */ + public Boolean fluxObjectiveHasValidCoefficients(FluxObjective fo) { + return !Double.isNaN(fo.getCoefficient()) + && Double.isFinite(fo.getCoefficient()); + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/DiffListener.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/DiffListener.java new file mode 100644 index 00000000..583c57bd --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/DiffListener.java @@ -0,0 +1,44 @@ +package de.uni_halle.informatik.biodata.mp.reporting; + +import org.sbml.jsbml.SBase; +import org.sbml.jsbml.Species; +import org.sbml.jsbml.util.TreeNodeChangeListener; +import org.sbml.jsbml.util.TreeNodeRemovedEvent; + +import javax.swing.tree.TreeNode; +import java.beans.PropertyChangeEvent; +import java.util.ArrayList; +import java.util.List; + +public class DiffListener implements TreeNodeChangeListener { + + + private final List removedIds; + + public DiffListener() { + removedIds = new ArrayList<>(); + } +{} + @Override + public void nodeAdded(TreeNode node) { + + } + + @Override + public void nodeRemoved(TreeNodeRemovedEvent event) { + if(event.getSource() instanceof SBase) { + removedIds.add(((SBase) event.getSource()).getId()); + } + } + + @Override + public void propertyChange(PropertyChangeEvent propertyChangeEvent) { + if (propertyChangeEvent.getSource().getClass().equals(Species.class)) { + + } else if (propertyChangeEvent.getSource().getClass().equals(Species.class)) { + + } else if (propertyChangeEvent.getSource().getClass().equals(Species.class)) { + + } + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/IReportDiffs.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/IReportDiffs.java new file mode 100644 index 00000000..32527ae3 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/IReportDiffs.java @@ -0,0 +1,7 @@ +package de.uni_halle.informatik.biodata.mp.reporting; + +public interface IReportDiffs { + + void diffReport(String elementType, Object element1, Object element2); + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/IReportStatus.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/IReportStatus.java new file mode 100644 index 00000000..02e75bdb --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/IReportStatus.java @@ -0,0 +1,7 @@ +package de.uni_halle.informatik.biodata.mp.reporting; + +public interface IReportStatus { + + void statusReport(String text, Object element); + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/PolisherProgressBar.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/PolisherProgressBar.java new file mode 100644 index 00000000..ed459a46 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/PolisherProgressBar.java @@ -0,0 +1,25 @@ +package de.uni_halle.informatik.biodata.mp.reporting; + +import de.zbit.util.progressbar.ProgressBar; + +public class PolisherProgressBar implements ProgressObserver { + + ProgressBar bar; + + @Override + public void initialize(ProgressInitialization init) { + bar = new ProgressBar(init.totalCalls()); + } + + @Override + public void update(ProgressUpdate update) { + if(update.reportType().equals(ReportType.STATUS)) + bar.DisplayBar(update.text()); + } + + @Override + public void finish(ProgressFinalization finit) { + bar.DisplayBar(finit.message()); + bar.finished(); + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/ProgressFinalization.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/ProgressFinalization.java new file mode 100644 index 00000000..d662579e --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/ProgressFinalization.java @@ -0,0 +1,4 @@ +package de.uni_halle.informatik.biodata.mp.reporting; + +public record ProgressFinalization(String message) { +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/ProgressInitialization.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/ProgressInitialization.java new file mode 100644 index 00000000..a70a4a11 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/ProgressInitialization.java @@ -0,0 +1,4 @@ +package de.uni_halle.informatik.biodata.mp.reporting; + +public record ProgressInitialization(int totalCalls) { +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/ProgressObserver.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/ProgressObserver.java new file mode 100644 index 00000000..41b90223 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/ProgressObserver.java @@ -0,0 +1,8 @@ +package de.uni_halle.informatik.biodata.mp.reporting; + +public interface ProgressObserver { + + void initialize(ProgressInitialization init); + void update(ProgressUpdate update); + void finish(ProgressFinalization finit); +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/ProgressUpdate.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/ProgressUpdate.java new file mode 100644 index 00000000..8007cb83 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/ProgressUpdate.java @@ -0,0 +1,5 @@ +package de.uni_halle.informatik.biodata.mp.reporting; + +public record ProgressUpdate(String text, Object obj, ReportType reportType) { + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/ReportType.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/ReportType.java new file mode 100644 index 00000000..560d3c19 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/reporting/ReportType.java @@ -0,0 +1,5 @@ +package de.uni_halle.informatik.biodata.mp.reporting; + +public enum ReportType { + DATA, STATUS +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/Registry.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/Registry.java new file mode 100644 index 00000000..cd8cd0c8 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/Registry.java @@ -0,0 +1,20 @@ +package de.uni_halle.informatik.biodata.mp.resolver; + +import java.util.Optional; + +public interface Registry { + + String getNamespaceForPrefix (String prefix); + + String getPrefixByNamespaceName(String namespaceName); + + String getPatternByNamespaceName(String namespaceName); + + Optional resolveBackwards(String url); + + boolean validRegistryUrlPrefix(RegistryURI uri); + + boolean isValid(String url); + + boolean identifiesBiGG(String prefix); +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/RegistryURI.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/RegistryURI.java new file mode 100644 index 00000000..b73b51bc --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/RegistryURI.java @@ -0,0 +1,9 @@ +package de.uni_halle.informatik.biodata.mp.resolver; + +public interface RegistryURI { + String getURI(); + + String getPrefix(); + + String getId(); +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrg.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrg.java new file mode 100644 index 00000000..76215db4 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrg.java @@ -0,0 +1,225 @@ +package de.uni_halle.informatik.biodata.mp.resolver.identifiersorg; + +import static java.text.MessageFormat.format; + +import java.io.IOException; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import de.uni_halle.informatik.biodata.mp.resolver.RegistryURI; +import de.uni_halle.informatik.biodata.mp.resolver.Registry; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Namespace; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.RawIdentifiersOrgRegistry; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.Resource; +import org.apache.commons.lang3.tuple.Pair; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@code IdentifiersOrg} class serves as a central hub for managing and processing identifiers related to the MIRIAM registry. + * MIRIAM is a standard for annotating computational models in biology with machine-readable information. + *

    + * This class provides static methods and utilities to handle, validate, + * and correct resource URLs based on the MIRIAM standards. It ensures that identifiers and URLs conform to recognized formats and corrects common errors in identifiers from various + * biological databases. The class also initializes necessary resources and configurations at the start through a static block. + */ +public class IdentifiersOrg implements Registry { + + private static final Logger logger = LoggerFactory.getLogger(IdentifiersOrg.class); + + private static final Map NAMESPACE_NAME_BY_PREFIX; + private static final Map PATTERN_BY_NAMESPACE_NAME; + private static final Map PREFIX_BY_NAMESPACE_NAME; + private static final Collection namespaces; + + static { + RawIdentifiersOrgRegistry rawIdentifiersOrgRegistry; + try { + rawIdentifiersOrgRegistry = new IdentifiersOrgRegistryParser() + .parse(IdentifiersOrgRegistryParser.class.getResourceAsStream("IdentifiersOrg-Registry.json")); + } catch (IOException e) { + throw new RuntimeException(e); + } + + namespaces = rawIdentifiersOrgRegistry.getPayload().get("namespaces"); + + Map namespaceNameByPrefix = new HashMap<>(); + Map patternByNamespaceName = new HashMap<>(); + Map prefixByNamespaceName = new HashMap<>(); + + for (Namespace ns : namespaces) { + String namespaceName = ns.getName(); + String pattern = ns.getPattern(); + pattern = fixKnownBrokenPatterns(pattern); + String prefix = ns.getPrefix(); + namespaceNameByPrefix.put(prefix, namespaceName); + patternByNamespaceName.put(namespaceName, pattern); + prefixByNamespaceName.put(namespaceName, prefix); + } + + NAMESPACE_NAME_BY_PREFIX = Collections.unmodifiableMap(namespaceNameByPrefix); + PATTERN_BY_NAMESPACE_NAME = Collections.unmodifiableMap(patternByNamespaceName); + PREFIX_BY_NAMESPACE_NAME = Collections.unmodifiableMap(prefixByNamespaceName); + } + + private static String fixKnownBrokenPatterns(String pattern) { + if(pattern.contains("{{$id}}")) { + return pattern.replaceAll("\\{\\{\\$id}}", "{\\$id}"); + } + if(pattern.contains("[]")) { + return pattern.replaceAll("\\[]", "\\\\[\\\\]"); + } + return pattern; + } + + @Override + public String getNamespaceForPrefix(String prefix) { + return NAMESPACE_NAME_BY_PREFIX.getOrDefault(prefix, ""); + } + + @Override + public String getPrefixByNamespaceName(String namespaceName) { + return PREFIX_BY_NAMESPACE_NAME.getOrDefault(namespaceName, ""); + } + + + @Override + public String getPatternByNamespaceName(String namespaceName) { + return PATTERN_BY_NAMESPACE_NAME.getOrDefault(namespaceName, ""); + } + + @Override + public Optional resolveBackwards(String url) { + url = url.trim(); + + if (isValid(url)) { + return Optional.of(new IdentifiersOrgURI(url)); + } + + Optional> matchingNamespaceResource = backwardsResolveResourceUrl(url); + if (matchingNamespaceResource.isPresent()) { + var namespace = matchingNamespaceResource.get().getLeft(); + var resource = matchingNamespaceResource.get().getRight(); + + // compare a Namespace with "isNamespaceEmbeddedInLui" true vs. one with false + // for why this following block is necessary + String id; + Matcher matcher; + if (namespace.isNamespaceEmbeddedInLui()) { + // extract ID using the namespace ID-Pattern + var pattern = IdentifiersOrgURIUtils.addJavaRegexCaptureGroup(namespace.getPattern()); + matcher = Pattern.compile(pattern).matcher(url); + } else { + // extract ID using the resource ID-Pattern + matcher = Pattern.compile(getResourceUrlPattern(resource)).matcher(url); + + } + if (matcher.find()) { + id = matcher.group(); + return Optional.of(new IdentifiersOrgURI(namespace.getPrefix(), id)); + } + } + return Optional.empty(); + } + + /** + * Existing models on BiGG and Biomodels use some namespaces that were removed from identifiers.org. + * While for some namespaces updated mappings were available (see {@link #fixIdentifiersOrgUri}), + * this checks for those that could not be migrated. + */ + @Override + public boolean validRegistryUrlPrefix(RegistryURI uri) { + var invalidNamespaces = Set.of("bind", + "ensemblgenomes-gn", + "ensemblgenomes-tr", + "omim", + "pseudo", + "psimi", + "refseq_locus_tag", + "refseq_name", + "refseq_old_locus_tag", + "refseq_orf_id", + "refseq_synonym", + "sabiork", + "unit", + "unknown"); + return !invalidNamespaces.contains(uri.getPrefix().toLowerCase()); + } + + @Override + public boolean isValid(String url) { + // Compile a pattern to match identifiers.org URLs + Pattern identifiersURL = Pattern.compile(IdentifiersOrgURI.IDENTIFIERS_ORG_ID_PATTERN); + Matcher urlMatcher = identifiersURL.matcher(url); + return urlMatcher.matches(); + } + + @Override + public boolean identifiesBiGG(String prefix) { + return prefix.startsWith("bigg."); + } + + public static IdentifiersOrgURI fixIdentifiersOrgUri(IdentifiersOrgURI uri) { + if (uri.getPrefix().equalsIgnoreCase("ncbigi")) { + return new IdentifiersOrgURI("ncbigene", uri.getId()); + } + + if (uri.getPrefix().equalsIgnoreCase("reactome.reaction")) { + return new IdentifiersOrgURI("reactome", uri.getId()); + } + + if (uri.getPrefix().equalsIgnoreCase("reactome.compound")) { + return new IdentifiersOrgURI("reactome", "R-ALL-" + uri.getId()); + } + + if (uri.getPrefix().equalsIgnoreCase("biomodels.sbo")) { + return new IdentifiersOrgURI("sbo", uri.getId()); + } + + if (uri.getPrefix().equalsIgnoreCase("inchi_key")) { + return new IdentifiersOrgURI("inchikey", uri.getId()); + } + + if (uri.getPrefix().toLowerCase().startsWith("obo.")) { + return new IdentifiersOrgURI(uri.getPrefix().replaceFirst("obo\\.", ""), uri.getId()); + } + + if (uri.getPrefix().equalsIgnoreCase("psimod") || uri.getPrefix().equals("psi-mod") ) { + return new IdentifiersOrgURI("mod", uri.getId()); + } + + return uri; + } + + + private static Optional> backwardsResolveResourceUrl(String url) { + url = IdentifiersOrgURIUtils.removeHttpProtocolFromUrl(url); + List> matchingResources = new ArrayList<>(); + // Iterate over all namespaces to find matchingResources + for (Namespace namespace : namespaces) { + // Iterate over all resources within the namespace to find matchingResources + for (Resource resource : namespace.getResources()) { + var regExPattern = getResourceUrlPattern(resource); + if (url.matches(regExPattern)) { + matchingResources.add(Pair.of(namespace, resource)); + } + } + } + // Log a message if more than one match is found, indicating non-uniqueness + if (matchingResources.size() > 1) { + logger.info(format("Could not resolve identifiers.org collection for URL {0} uniquely", url)); + } else if (matchingResources.isEmpty()) { + return Optional.empty(); + } + return Optional.of(matchingResources.get(0)); + } + + + private static String getResourceUrlPattern(Resource resource) { + var resourceString = fixKnownBrokenPatterns(resource.getUrlPattern()); + resourceString = resourceString.replaceAll("\\{\\$id}", "\\(\\)"); + return IdentifiersOrgURIUtils.removeHttpProtocolFromUrl(resourceString); + } + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrgRegistryParser.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrgRegistryParser.java new file mode 100644 index 00000000..ecd9037a --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrgRegistryParser.java @@ -0,0 +1,30 @@ +package de.uni_halle.informatik.biodata.mp.resolver.identifiersorg; + +import java.io.IOException; +import java.io.InputStream; + +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; + +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping.RawIdentifiersOrgRegistry; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@code IdentifiersOrgRegistryParser} class is a singleton that provides functionality to parse the MIRIAM registry + * from a JSON file and convert it into a {@code Miriam} object. This class ensures that only one instance + * of the parser is created and used throughout the application. + */ +public class IdentifiersOrgRegistryParser { + + private static final Logger logger = LoggerFactory.getLogger(IdentifiersOrgRegistryParser.class); + + public RawIdentifiersOrgRegistry parse(InputStream registry) throws IOException { + logger.trace("Parsing MIRIAM registry"); + + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + + return mapper.readValue(registry, RawIdentifiersOrgRegistry.class); + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrgURI.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrgURI.java new file mode 100644 index 00000000..cfb5e664 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrgURI.java @@ -0,0 +1,82 @@ +package de.uni_halle.informatik.biodata.mp.resolver.identifiersorg; + +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import de.uni_halle.informatik.biodata.mp.resolver.RegistryURI; + +import java.util.Objects; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class IdentifiersOrgURI implements RegistryURI, Comparable { + + public static final String IDENTIFIERS_ORG_ID_PATTERN = "(https?://)?(www\\.)?identifiers\\.org/(?.*?)[:/](?.*)"; + + private String prefix; + private String id; + + public IdentifiersOrgURI(String url) { + Matcher identifiersURL = + Pattern.compile(IDENTIFIERS_ORG_ID_PATTERN).matcher(url); + if (identifiersURL.matches()) { + prefix = identifiersURL.group("prefix").toLowerCase(); + id = identifiersURL.group("id"); + } + } + + public IdentifiersOrgURI(String prefix, String id) { + this.prefix = prefix.toLowerCase(); + this.id = id; + } + + public IdentifiersOrgURI(String prefix, BiGGId id) { + this.prefix = prefix.toLowerCase(); + this.id = id.getAbbreviation(); + } + + public IdentifiersOrgURI(String prefix, Object id) { + this.prefix = prefix.toLowerCase(); + this.id = id.toString(); + } + + @Override + public String getURI() { + return "https://identifiers.org/" + prefix + "/" + id; + } + + @Override + public String getPrefix() { + return prefix; + } + + @Override + public String getId() { + return id; + } + + + @Override + public String toString() { + return "IdentifiersOrgURI{" + + "prefix='" + prefix + '\'' + + ", id='" + id + '\'' + + '}'; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + IdentifiersOrgURI that = (IdentifiersOrgURI) o; + return Objects.equals(prefix, that.prefix) && Objects.equals(id, that.id); + } + + @Override + public int hashCode() { + return Objects.hash(prefix, id); + } + + @Override + public int compareTo(IdentifiersOrgURI uri) { + return this.getURI().compareTo(uri.getURI()); + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrgURIUtils.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrgURIUtils.java new file mode 100644 index 00000000..755c9424 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrgURIUtils.java @@ -0,0 +1,57 @@ +package de.uni_halle.informatik.biodata.mp.resolver.identifiersorg; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class IdentifiersOrgURIUtils { + + public static String addJavaRegexCaptureGroup(String pattern) { + String idPattern = pattern.replaceAll("\\^|\\$", ""); + idPattern = "(?" + idPattern + ")"; + return idPattern; + } + + public static String removeHttpProtocolFromUrl(String query) { + if (query.startsWith("http://") || query.startsWith("https://")) { + Matcher protocolMatcher = Pattern.compile("^https?://").matcher(query); + if (protocolMatcher.find()) { + query = query.replaceAll(protocolMatcher.pattern().pattern(), ""); + } + } + return query; + } + + + /** + * Replaces the identifier placeholder "{$id}" in a URL pattern with a specified regex pattern. + * This method is designed to facilitate the matching of URLs against a dynamic regex pattern that represents + * an identifier within an identifiers.org namespace or its child resources. + *

    + * The method first attempts to find the "{$id}" placeholder within the provided URL. If found, it splits the URL + * around this placeholder and reassembles it with the given regex pattern in place of the placeholder. If the + * placeholder is not found, the URL is returned as is, but quoted to ensure it is treated as a literal string in regex + * operations. + *

    + * Note: The placeholder "{$id}" can optionally be surrounded by curly braces, which are considered during the + * replacement but do not affect the functionality. + * + * @param url The URL pattern containing the "{$id}" placeholder. This pattern represents a identifiers.org namespace or a related child namespace. + * @param pattern The regex pattern that should replace the "{$id}" placeholder in the URL pattern. + * @return A string representing the URL with the "{$id}" placeholder replaced by the provided regex pattern. If no placeholder is found, the URL is returned unchanged but quoted. + */ + public static String replaceIdTag(String url, String pattern) { + Pattern id = Pattern.compile("\\{?\\{\\$id}}?"); + Matcher matcher = id.matcher(url); + if (!matcher.find()) { + return Pattern.quote(url); + } + String[] parts = url.split(id.pattern()); + String result = Pattern.quote(parts[0]) + pattern; + if (parts.length == 2) { + result += Pattern.quote(parts[1]); + } + return result; + } + + +} diff --git a/src/main/java/edu/ucsd/sbrg/miriam/models/Institution.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Institution.java similarity index 92% rename from src/main/java/edu/ucsd/sbrg/miriam/models/Institution.java rename to lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Institution.java index a75f9831..88ee27d9 100644 --- a/src/main/java/edu/ucsd/sbrg/miriam/models/Institution.java +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Institution.java @@ -1,4 +1,4 @@ -package edu.ucsd.sbrg.miriam.models; +package de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping; public class Institution { private long id; diff --git a/src/main/java/edu/ucsd/sbrg/miriam/models/Location.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Location.java similarity index 84% rename from src/main/java/edu/ucsd/sbrg/miriam/models/Location.java rename to lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Location.java index 9b5f4c56..7c0ba67e 100644 --- a/src/main/java/edu/ucsd/sbrg/miriam/models/Location.java +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Location.java @@ -1,4 +1,4 @@ -package edu.ucsd.sbrg.miriam.models; +package de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping; public class Location { private String countryCode; diff --git a/src/main/java/edu/ucsd/sbrg/miriam/models/Namespace.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Namespace.java similarity index 96% rename from src/main/java/edu/ucsd/sbrg/miriam/models/Namespace.java rename to lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Namespace.java index bf142585..ce9f506a 100644 --- a/src/main/java/edu/ucsd/sbrg/miriam/models/Namespace.java +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Namespace.java @@ -1,4 +1,4 @@ -package edu.ucsd.sbrg.miriam.models; +package de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping; import java.util.Calendar; import java.util.List; diff --git a/src/main/java/edu/ucsd/sbrg/miriam/models/Root.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/RawIdentifiersOrgRegistry.java similarity index 84% rename from src/main/java/edu/ucsd/sbrg/miriam/models/Root.java rename to lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/RawIdentifiersOrgRegistry.java index 2e2bc135..eeaf721d 100644 --- a/src/main/java/edu/ucsd/sbrg/miriam/models/Root.java +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/RawIdentifiersOrgRegistry.java @@ -1,9 +1,9 @@ -package edu.ucsd.sbrg.miriam.models; +package de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping; import java.util.List; import java.util.Map; -public class Root { +public class RawIdentifiersOrgRegistry { private String apiVersion; private String errorMessage; private Map> payload; diff --git a/src/main/java/edu/ucsd/sbrg/miriam/models/Resource.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Resource.java similarity index 96% rename from src/main/java/edu/ucsd/sbrg/miriam/models/Resource.java rename to lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Resource.java index f9cb4e4f..8af9cbcf 100644 --- a/src/main/java/edu/ucsd/sbrg/miriam/models/Resource.java +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/mapping/Resource.java @@ -1,4 +1,4 @@ -package edu.ucsd.sbrg.miriam.models; +package de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.mapping; import java.util.Calendar; diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/util/ReactionNamePatterns.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/util/ReactionNamePatterns.java new file mode 100644 index 00000000..db99b8a8 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/util/ReactionNamePatterns.java @@ -0,0 +1,69 @@ +package de.uni_halle.informatik.biodata.mp.util; + +import java.util.regex.Pattern; + +/** + * Defines an enumeration for regex patterns that are used to categorize reactions based on their ID strings. + * Each enum constant represents a specific type of reaction and is associated with a regex pattern that matches + * reaction IDs corresponding to that type. + */ +public enum ReactionNamePatterns { + + /** + * Pattern for ATP maintenance reactions, which are typically denoted by IDs containing 'ATPM' in any case. + */ + ATP_MAINTENANCE(".*[Aa][Tt][Pp][Mm]"), + + /** + * Case-insensitive pattern for biomass reactions, matching IDs that include the word 'biomass' in any case. + */ + BIOMASS_CASE_INSENSITIVE(".*[Bb][Ii][Oo][Mm][Aa][Ss][Ss].*"), + + /** + * Case-sensitive pattern for biomass reactions, matching IDs that specifically contain 'BIOMASS'. + */ + BIOMASS_CASE_SENSITIVE(".*BIOMASS.*"), + + /** + * Pattern for default flux bound reactions, matching IDs that typically start with a prefix followed by 'default_'. + */ + DEFAULT_FLUX_BOUND("(.*_)?[Dd][Ee][Ff][Aa][Uu][Ll][Tt]_.*"), + + /** + * Pattern for demand reactions, identified by IDs starting with 'DM_'. + */ + DEMAND_REACTION("(.*_)?[Dd][Mm]_.*"), + + /** + * Pattern for exchange reactions, identified by IDs starting with 'EX_'. + */ + EXCHANGE_REACTION("(.*_)?[Ee][Xx]_.*"), + + /** + * Pattern for sink reactions, which are reactions that remove metabolites from the system, identified by IDs starting with 'SK_' or 'SINK_'. + */ + SINK_REACTION("(.*_)?[Ss]([Ii][Nn])?[Kk]_.*"); + + /** + * The compiled regex pattern used for matching reaction IDs. + */ + private final Pattern pattern; + + /** + * Constructs a new enum constant with the specified regex pattern. + * + * @param regex The regex pattern to compile. + */ + ReactionNamePatterns(String regex) { + pattern = Pattern.compile(regex); + } + + /** + * Retrieves the compiled Pattern object for this enum constant. + * + * @return The compiled Pattern object. + */ + public Pattern getPattern() { + return pattern; + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/util/ext/fbc/GPRParser.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/util/ext/fbc/GPRParser.java new file mode 100644 index 00000000..1efdbe16 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/util/ext/fbc/GPRParser.java @@ -0,0 +1,238 @@ +package de.uni_halle.informatik.biodata.mp.util.ext.fbc; + +import java.io.StringReader; +import java.util.HashSet; +import java.util.List; +import java.util.ResourceBundle; +import java.util.Set; + +import de.zbit.util.Utils; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import org.sbml.jsbml.*; +import org.sbml.jsbml.ext.fbc.And; +import org.sbml.jsbml.ext.fbc.Association; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.sbml.jsbml.ext.fbc.FBCModelPlugin; +import org.sbml.jsbml.ext.fbc.FBCReactionPlugin; +import org.sbml.jsbml.ext.fbc.GeneProduct; +import org.sbml.jsbml.ext.fbc.GeneProductAssociation; +import org.sbml.jsbml.ext.fbc.GeneProductRef; +import org.sbml.jsbml.ext.fbc.LogicalOperator; +import org.sbml.jsbml.ext.fbc.Or; +import org.sbml.jsbml.text.parser.CobraFormulaParser; + +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import org.sbml.jsbml.text.parser.ParseException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static java.text.MessageFormat.format; + + +public class GPRParser { + + private static final Logger logger = LoggerFactory.getLogger(GPRParser.class); + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.POLISHING_MESSAGES); + + + public static void setGeneProductAssociation(Reaction r, String geneReactionRule, boolean addGenericTerms) { + try { + ASTNode ast = ASTNode.parseFormula( + geneReactionRule, + new CobraFormulaParser(new StringReader(""))); + + Association association = convertToAssociation( + ast, + r.getModel(), + addGenericTerms); + + var reactionPlugin = (FBCReactionPlugin) r.getPlugin(FBCConstants.shortLabel); + if (!reactionPlugin.isSetGeneProductAssociation()) { + var gpa = new GeneProductAssociation(r.getLevel(), r.getVersion()); + gpa.setAssociation(association); + reactionPlugin.setGeneProductAssociation(gpa); + } else if (!areEqual(association, reactionPlugin.getGeneProductAssociation().getAssociation())) { + mergeAssociation(r, association, reactionPlugin, addGenericTerms); + } + } catch (ParseException e) { + logger.debug(format(MESSAGES.getString("PARSE_GPR_ERROR"), geneReactionRule, Utils.getMessage(e))); + } + } + + + private static Association convertToAssociation(ASTNode ast, Model model, boolean addGenericTerms) { + int level = model.getLevel(), version = model.getVersion(); + if (ast.isLogical()) { + LogicalOperator operator; + if (ast.getType() == ASTNode.Type.LOGICAL_AND) { + operator = new And(level, version); + if (addGenericTerms) { + operator.setSBOTerm(173); // AND + } + } else { + operator = new Or(level, version); + if (addGenericTerms) { + operator.setSBOTerm(174); // OR + } + } + for (ASTNode child : ast.getListOfNodes()) { + Association tmp = convertToAssociation(child, model, addGenericTerms); + if (tmp.getClass().equals(operator.getClass())) { + // Flatten binary trees to compact representation + LogicalOperator lo = (LogicalOperator) tmp; + for (int i = lo.getAssociationCount() - 1; i >= 0; i--) { + operator.addAssociation(lo.removeAssociation(i)); + } + } else { + operator.addAssociation(tmp); + } + } + return operator; + } + return createGPR(ast.toString(), model); + } + + + private static GeneProductRef createGPR(String astString, Model model) { + // Determine the SBML document level and version for creating new elements. + int level = model.getLevel(), version = model.getVersion(); + var gpr = new GeneProductRef(level, version); + + // Normalize the identifier to include "G_" prefix if missing. + String oldId = astString.startsWith("G_") ? astString : "G_" + astString; + boolean containsOldId = model.containsUniqueNamedSBase(oldId); + + // Attempt to create or find the GeneProduct using a standardized identifier. + var id = BiGGId.createGeneId(astString).toBiGGId(); + if (!model.containsUniqueNamedSBase(id)) { + // Check if the old ID exists, if so, retrieve the GeneProduct, otherwise use the new ID. + if (containsOldId) { + var gp = (GeneProduct) model.findUniqueNamedSBase(oldId); + gp.setId(id); + } else { + var fbcPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + var gp = fbcPlug.createGeneProduct(id); + gp.setLabel(id); + } + } + // Set the GeneProduct reference in the GeneProductRef. + gpr.setGeneProduct(id); + return gpr; + } + + + private static void mergeAssociation(Reaction r, + Association association, + FBCReactionPlugin reactionPlugin, + boolean addGenericTerms) { + // get current association to replace + var oldGpa = reactionPlugin.getGeneProductAssociation().getAssociation(); + var gpa = new GeneProductAssociation(r.getLevel(), r.getVersion()); + // link all GPRs fetched with or + LogicalOperator or = new Or(r.getLevel(), r.getVersion()); + if (addGenericTerms) { + or.setSBOTerm(174); // OR + } + if (oldGpa instanceof And) { + or.addAssociation(oldGpa); + or.addAssociation(association); + Set gprs = new HashSet<>(); + for (int i = 0; i < or.getChildCount(); i++) { + Association current = (Association) or.getChildAt(i); + if (current instanceof GeneProductRef) { + String geneProduct = ((GeneProductRef) current).getGeneProduct(); + if (gprs.contains(geneProduct)) { + if (!or.removeAssociation(current)) { + logger.debug(format("Failed to unset duplicate GeneProductReference {0} for reaction {1}", + geneProduct, r.getId())); + } + } else { + gprs.add(geneProduct); + } + } + } + gpa.setAssociation(or); + } else if (oldGpa instanceof GeneProductRef) { + if (association instanceof Or) { + or = (Or) association; + } else { + or.addAssociation(association); + } + or.addAssociation(oldGpa); + gpa.setAssociation(or); + } else { // OR + if (association instanceof Or) { + for (int idx = 0; idx < association.getChildCount(); idx++) { + Association child = (Association) association.getChildAt(idx); + ((Or) association).removeAssociation(idx); + ((LogicalOperator) oldGpa).addAssociation(child); + } + } else { + ((LogicalOperator) oldGpa).addAssociation(association); + } + gpa.setAssociation(oldGpa); + } + reactionPlugin.setGeneProductAssociation(gpa); + } + + private static boolean areEqual(Association association1, Association association2) { + if (association1.isLeaf() && association2.isLeaf()) { + return true; + } else if (association1 instanceof Or && association2 instanceof Or) { + if (((Or) association1).getNumChildren() != ((Or) association2).getNumChildren()) { + return false; + } else { + boolean childrenEqual = true; + for (int i = 0; i < ((Or) association1).getNumChildren(); i++) { + childrenEqual &= areEqual((Association) association1.getChildAt(i), (Association) association2.getChildAt(i)); + } + return childrenEqual; + } + } else if (association1 instanceof And && association2 instanceof And) { + if (((And) association1).getNumChildren() != ((And) association2).getNumChildren()) { + return false; + } else { + boolean childrenEqual = true; + for (int i = 0; i < ((And) association1).getNumChildren(); i++) { + childrenEqual &= areEqual((Association) association1.getChildAt(i), (Association) association2.getChildAt(i)); + } + return childrenEqual; + } + } + return false; + } + + + public static String stringify(Association association) { + if (association instanceof GeneProductRef) { + // Directly return the gene product identifier for GeneProductRef instances. + return ((GeneProductRef) association).getGeneProduct(); + } else if (association instanceof And) { + // Handle the 'And' type association by iterating over its children. + List children = ((And) association).getListOfAssociations(); + int numChildren = ((And) association).getAssociationCount(); + StringBuilder sb = new StringBuilder(); + sb.append("(").append(stringify(children.get(0))).append(")"); + for (int i = 1; i < numChildren; i++) { + sb.append(" and (").append(stringify(children.get(i))).append(")"); + } + return sb.toString(); + } else { + // Handle the 'Or' type association by iterating over its children. + List children = ((Or) association).getListOfAssociations(); + int numChildren = ((Or) association).getAssociationCount(); + StringBuilder sb = new StringBuilder(); + sb.append("(").append(stringify(children.get(0))).append(")"); + for (int i = 1; i < numChildren; i++) { + sb.append(" or (").append(stringify(children.get(i))).append(")"); + } + return sb.toString(); + } + } + + + + + +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/util/ext/groups/GroupsUtils.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/util/ext/groups/GroupsUtils.java new file mode 100644 index 00000000..33f6b1c3 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/util/ext/groups/GroupsUtils.java @@ -0,0 +1,45 @@ +/** + * + */ +package de.uni_halle.informatik.biodata.mp.util.ext.groups; + +import org.sbml.jsbml.Reaction; +import org.sbml.jsbml.ext.groups.Member; + +import java.util.HashSet; +import java.util.Set; + +/** + * A collection of helpful functions for dealing with SBML data structures. + * + * @author Andreas Dräger + */ +public class GroupsUtils { + + /** + * Key to link from {@link Reaction} directly to {@link Member}s referencing + * that reaction. + */ + public static final String SUBSYSTEM_LINK = "SUBSYSTEM_LINK"; + + + /** + * Establishes a link between a reaction and a subsystem member by setting the member's reference to the reaction. + * Additionally, it ensures that the reaction maintains a set of all members linked to it. If the set does not exist, + * it is created and the member is added to it. + * + * @param r The reaction object to which the member should be linked. + * @param member The subsystem member that should be linked to the reaction. + */ + @SuppressWarnings("unchecked") + public static void createSubsystemLink(Reaction r, Member member) { + // Set the member's reference ID to the reaction. + member.setIdRef(r); + // Check if the reaction has an existing set of members; if not, create one. + if (r.getUserObject(SUBSYSTEM_LINK) == null) { + r.putUserObject(SUBSYSTEM_LINK, new HashSet()); + } + // Add the member to the reaction's set of linked members. + ((Set) r.getUserObject(SUBSYSTEM_LINK)).add(member); + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/validation/ModelValidator.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/validation/ModelValidator.java new file mode 100644 index 00000000..ca0ad005 --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/validation/ModelValidator.java @@ -0,0 +1,73 @@ +package de.uni_halle.informatik.biodata.mp.validation; + +import de.zbit.io.ZIPUtils; +import de.zbit.util.ResourceManager; +import de.uni_halle.informatik.biodata.mp.logging.BundleNames; +import org.sbml.jsbml.SBMLDocument; +import org.sbml.jsbml.SBMLError; +import org.sbml.jsbml.SBMLErrorLog; +import org.sbml.jsbml.SBMLReader; +import org.sbml.jsbml.validator.offline.LoggingValidationContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.xml.stream.XMLStreamException; +import java.io.*; +import java.util.ResourceBundle; + +import static java.text.MessageFormat.format; + +public class ModelValidator { + private static final ResourceBundle MESSAGES = ResourceManager.getBundle(BundleNames.POLISHING_MESSAGES); + private static final Logger logger = LoggerFactory.getLogger(ModelValidator.class); + + + public SBMLErrorLog validate(SBMLDocument doc) { + LoggingValidationContext context = new LoggingValidationContext(doc.getLevel(), doc.getVersion()); + context.setValidateRecursively(true); + context.loadConstraints(SBMLDocument.class, doc.getLevel(), doc.getVersion()); + context.validate(doc); + return context.getErrorLog(); + } + + + public void validate(File outputFile) throws ModelValidatorException { + try { + String filename = outputFile.getAbsolutePath(); + + logger.info(format(MESSAGES.getString("VAL_OFFLINE"), filename)); + SBMLDocument doc = null; + InputStream istream; + if (filename.endsWith(".gz")) { + istream = ZIPUtils.GUnzipStream(filename); + } else if (filename.endsWith(".zip")) { + istream = ZIPUtils.ZIPunCompressStream(filename); + } else { + istream = new FileInputStream(filename); + } + doc = SBMLReader.read(istream); + if (doc != null) { + SBMLErrorLog sbmlErrorLog = validate(doc); + logErrorLog(sbmlErrorLog, filename); + } else { + logger.info(format(MESSAGES.getString("VAL_OFFLINE_FAIL"), filename)); + } + } catch (XMLStreamException | IOException e) { + throw new ModelValidatorException(e, outputFile); + } + } + + + private void logErrorLog(SBMLErrorLog sbmlErrorLog, String filename) { + if (sbmlErrorLog != null) { + logger.info(format(MESSAGES.getString("VAL_ERR_COUNT"), sbmlErrorLog.getErrorCount(), filename)); + // printErrors + for (int j = 0; j < sbmlErrorLog.getErrorCount(); j++) { + SBMLError error = sbmlErrorLog.getError(j); + logger.info(error.toString()); + } + } else { + logger.info(MESSAGES.getString("VAL_ERROR")); + } + } +} diff --git a/lib/src/main/java/de/uni_halle/informatik/biodata/mp/validation/ModelValidatorException.java b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/validation/ModelValidatorException.java new file mode 100644 index 00000000..4447ebaa --- /dev/null +++ b/lib/src/main/java/de/uni_halle/informatik/biodata/mp/validation/ModelValidatorException.java @@ -0,0 +1,17 @@ +package de.uni_halle.informatik.biodata.mp.validation; + +import java.io.File; + +public class ModelValidatorException extends Exception { + + private final File outputFile; + + public ModelValidatorException(Exception e, File outputFile) { + super(e); + this.outputFile = outputFile; + } + + public File outputFile() { + return outputFile; + } +} diff --git a/src/main/resources/edu/ucsd/sbrg/Messages.xml b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/Messages.xml similarity index 100% rename from src/main/resources/edu/ucsd/sbrg/Messages.xml rename to lib/src/main/resources/de/uni_halle/informatik/biodata/mp/Messages.xml diff --git a/src/main/resources/edu/ucsd/sbrg/SBRG_385x54.png b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/SBRG_385x54.png similarity index 100% rename from src/main/resources/edu/ucsd/sbrg/SBRG_385x54.png rename to lib/src/main/resources/de/uni_halle/informatik/biodata/mp/SBRG_385x54.png diff --git a/src/main/resources/edu/ucsd/sbrg/bigg/about.html b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/about.html similarity index 100% rename from src/main/resources/edu/ucsd/sbrg/bigg/about.html rename to lib/src/main/resources/de/uni_halle/informatik/biodata/mp/about.html diff --git a/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/annotation/Messages.xml b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/annotation/Messages.xml new file mode 100644 index 00000000..3c47f781 --- /dev/null +++ b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/annotation/Messages.xml @@ -0,0 +1,15 @@ + + + + If set to true, annotations will be added to species and reactions from AnnotateDB also. NOTE: Effective only if 'annotate-with-bigg' is true. + If set to true, the model will be annotated with data from BiGG Models database. If set to false, the resulting model will not receive annotation or correction from BiGG Models database + Correcting invalid use of biological qualifier {0} on model with id={1}. + Correcting invalid use of model qualifier {0} on {1} with id={2}. + This XHTML file defines alternative document notes and makes them exchangeable. + This option allows you to define the title of the SBML document's description and hence the head line when the file is displayed in a web browser. + This switch allows users to specify if also those database cross-links should be extracted from BiGG Models database for which currently no entry in the MIRIAM exists. If set to true, ModelPolisher also includes URIs that do not contain the pattern identifiers.org. + This XHTML file defines alternative model notes and makes them exchangeable. + If set to true, no web content will be inserted in the SBML container nor into the model within the SBML file. + Merging all resources with identical MIRIAM qualifier {0} in {1} with id={2}. + + \ No newline at end of file diff --git a/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/annotation/adb/Messages.xml b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/annotation/adb/Messages.xml new file mode 100644 index 00000000..f4d8f9eb --- /dev/null +++ b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/annotation/adb/Messages.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/annotation/bigg/Messages.xml b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/annotation/bigg/Messages.xml new file mode 100644 index 00000000..89cfe4b7 --- /dev/null +++ b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/annotation/bigg/Messages.xml @@ -0,0 +1,10 @@ + + + + Charge {0,number,integer} in BiGG Models contradicts attribute value {1,number,integer} on species {2}. + Could not append document and model notes. + No gene name found in BiGG for label {0}. + Retrieving subsystem information for model with id not present in BiGG. Please validate obtained results + Updating gene product name from {0} to {1}. + + \ No newline at end of file diff --git a/src/main/resources/edu/ucsd/sbrg/bigg/ModelNotes.html b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/annotation/bigg/ModelNotes.html similarity index 100% rename from src/main/resources/edu/ucsd/sbrg/bigg/ModelNotes.html rename to lib/src/main/resources/de/uni_halle/informatik/biodata/mp/annotation/bigg/ModelNotes.html diff --git a/src/main/resources/edu/ucsd/sbrg/bigg/SBMLDocumentNotes.html b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/annotation/bigg/SBMLDocumentNotes.html similarity index 100% rename from src/main/resources/edu/ucsd/sbrg/bigg/SBMLDocumentNotes.html rename to lib/src/main/resources/de/uni_halle/informatik/biodata/mp/annotation/bigg/SBMLDocumentNotes.html diff --git a/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/cli/Messages.xml b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/cli/Messages.xml new file mode 100644 index 00000000..5175d228 --- /dev/null +++ b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/cli/Messages.xml @@ -0,0 +1,14 @@ + + + + + \n

    King ZA, Lu JS, Dräger A, Miller PC, Federowicz S, Lerman JA, Ebrahim A, Palsson BO, and Lewis NE. (2015).\n
    \n BiGG Models: A platform for integrating, standardizing, and sharing genome-scale models. Nucl Acids Res.\n doi:10.1093/nar/gkv1049\n
    \n \n"]]> + Done after %02d:%02d min. + SBML, MAT or JSON files, or directories. + Output SBML file. + --input is missing, but needs to be provided, aborting. + --output is missing, but needs to be provided, aborting. + Could not open file at {0}. + Cannot write inputs from directory {0} to a output file {1}. Skipping directory. + + \ No newline at end of file diff --git a/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/db/Messages.xml b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/db/Messages.xml new file mode 100644 index 00000000..28b72091 --- /dev/null +++ b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/db/Messages.xml @@ -0,0 +1,16 @@ + + + + Cannot convert to BiGGId, setting as abbreviation: {0} + Could not retrieve unique charge for component {0} and compartment {1} + Could not retrieve unique charge for component {0} and model {1} + No prefix found for gene resource URI: {0} + Could not retrieve unique chemical formula for component {0} and compartment {1} + Could not retrieve unique chemical formula for component {0} and model {1} + Identifier was null for collection {0} and this gene resource URI + Query returned multiple results for parameter {0} + Query: {1} + Taxon id query returned multiple results for abbreviation: {0} + + + \ No newline at end of file diff --git a/src/main/resources/edu/ucsd/sbrg/eco/eco.obo b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/eco/eco.obo similarity index 100% rename from src/main/resources/edu/ucsd/sbrg/eco/eco.obo rename to lib/src/main/resources/de/uni_halle/informatik/biodata/mp/eco/eco.obo diff --git a/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/fixing/Messages.xml b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/fixing/Messages.xml new file mode 100644 index 00000000..f17249b3 --- /dev/null +++ b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/fixing/Messages.xml @@ -0,0 +1,15 @@ + + + + Adding missing kind attribute to group {0}. + Added flux objective for reaction {0} with coefficient {1,number} to model {2}. + The flux coefficients, a comma-separated list + The flux objectives, a colon-separated list + No active objective defined in model {0}. + The problem could be successfully solved by declaring {0} the active objective. + Operation failed! Could not identify biomass reaction. + Operation failed! Missing list of reactions in model {0}. + Operation failed! Could not identify reaction {0} in model {1}. + Trying to identify missing flux objective from model in model {0}. + + \ No newline at end of file diff --git a/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/io/Messages.xml b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/io/Messages.xml new file mode 100644 index 00000000..72ba8e5f --- /dev/null +++ b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/io/Messages.xml @@ -0,0 +1,51 @@ + + + + Could not obtain resource URI for collection {0} and id {1}. + Added resource {0} + Added resource URI {0} to provided CVTerm + Found additional, unknown fields: {0} + Skipping unsupported non-zero b-value of {0,number,######.####} for metabolite {1} + Non-integer charge {0,number} was truncated to {1}. + Unknown prefix: {0} + Decides which format the outputs should be in. + Cell containing confidence score had 0x0 dimensions + Could not create GPR for reaction with index {0}. + Creating directory {0}. + Deleting file: {0}, successful: {1} + Could not create directory {0}. + Reaction {1} has confidence score {0,number,##}. + Skipping duplicate gene with id: {0} + Skipping duplicate reaction with id: {0} + Skipping duplicate species with id: {0} + Could not recognize any of the EC codes from {0}. + Missing field: {0} + There are no genes in this model + Change of identifier of type {0} from {1} to {2} can have unpredictable consequences... + Invalid compartment code {0}, skipping. + Invalid formula for metabolite {0} : {1}. Setting in notes + Started JSONparser + Known fields missing in this model: {0} + Found more than one identifier in cell {0} + Found more than one string in cell {0} + Unsupported nonequality relationship for metabolite with id {0}. + There are {0} compartments in this model. + There are {0} genes in this model. + There are {0} metabolites in this model. + There are {0} reactions in this model. + Please open an issue to see annotation format {0} implemented. + Please open an issue to see parsing for id format {0} implemented. + Please open an issue to see notes format {0} implemented. + Please open an issue to see parsing for notes content format {0} implemented. + Produce output as a single COMBINE Archive including polished model and glossary rdf file. NOTE: Output file name is taken from input to option --output. + Output is {0}. + Identifier {0} did not match the pattern {1} + Skipping comment for resource: {0}, only keeping reference {1} to {2}. + Species {0} in reaction {1} is not defined! + Reaction at index {0} is null. Could not create subsystem link. + Given id String possibly contained more than one id. Only the first one is used: + Expected MLDouble, but received {0}. + Expected character string in data field {1}{2}, but received data type {0}. + Writing output RDF glossary file {0} + + \ No newline at end of file diff --git a/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/polishing/Messages.xml b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/polishing/Messages.xml new file mode 100644 index 00000000..b4ed5568 --- /dev/null +++ b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/polishing/Messages.xml @@ -0,0 +1,27 @@ + + + + Species {0} is supposed to be on the system"s boundary, but its boundary condition flag was not correctly set. + Changing compartment reference in species {0} from {1} to {2} so that it matches the compartment code of its BiGG id {0}. + Changed name {0} to {1} + When set to true, the mass balance of each reaction will be checked where possible. Reactions that are recognized as peudoreactions are excluded from this check, also are reactions that lack information about elementary composition of their participants. + "CompartmentCode {0} does not conform to BiGGId standard" + Creating compartment {0} because it is referenced by {2} {1} but does not yet exist in the model. + Objective {0} does not have any flux objectives + No objectives defined for model {0}. + Processing model {0}. + Only one reaction should be the target of objective {0}. + Trying to convert the model to Level 3 Version 1. + Updating the id of gene product {0} to {1}. + + Set this option to true if generic top-level annotations, such as 'process' should not be applied. Not using those terms will reduce the size of the resulting output file. + If true, the created SBML file will be validated through the online validator service at http://sbml.org. + + Could not parse {0} because {1} + + + No SBML validation possible, process terminated with errors. + Validating {0} using offline validator. + Failed reading file {0} for offline validation. + Run the polishing module on the document, even if it is invalid after potential fixing. Generally, this is not recommended and most likely to cause the ModelPolisher to fail. + diff --git a/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrg-Registry.json b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrg-Registry.json new file mode 100644 index 00000000..23dbb0a1 --- /dev/null +++ b/lib/src/main/resources/de/uni_halle/informatik/biodata/mp/resolver/identifiersorg/IdentifiersOrg-Registry.json @@ -0,0 +1,53040 @@ +{ + "apiVersion": "1.0", + "errorMessage": null, + "payload": { + "namespaces": [ + { + "id": 341, + "prefix": "genedb", + "mirId": "MIR:00000106", + "name": "GeneDB", + "pattern": "^[\\w\\d\\.-]*$", + "description": "GeneDB is a genome database for prokaryotic and eukaryotic organisms and provides a portal through which data generated by the \"Pathogen Genomics\" group at the Wellcome Trust Sanger Institute and other collaborating sequencing centres can be accessed.", + "created": "2019-06-11T14:16:00.951+00:00", + "modified": "2023-09-12T10:55:57.622+00:00", + "resources": [ + { + "id": 343, + "mirId": "MIR:00100139", + "urlPattern": "https://www.genedb.org/gene/{$id}", + "name": "GeneDB at Sanger Institute", + "description": "GeneDB at Sanger Institute", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "LinJ.20.0070", + "resourceHomeUrl": "https://www.genedb.org/", + "institution": { + "id": 342, + "name": "Pathogen Genomics, Sanger Institute and European Bioinformatics Institute", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "LinJ.20.0070", + "namespaceEmbeddedInLui": false, + "deprecated": true, + "deprecationDate": "2023-01-05T20:09:01.370+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3719, + "prefix": "refseq.gcf", + "mirId": "MIR:00001030", + "name": "Genome assembly database - RefSeq accessions", + "pattern": "^GCF_[0-9]{9}(\\.[0-9]+)?$", + "description": "The genome assembly database contains detailed information about genome assemblies for eukaryota, bacteria and archaea. The scope of the genome collections database RefSeq accessions does not extend to viroids and bacteriophage.", + "created": "2023-10-30T09:39:26.272+00:00", + "modified": "2023-10-30T10:34:56.198+00:00", + "resources": [ + { + "id": 3720, + "mirId": "MIR:00001029", + "urlPattern": "https://www.ncbi.nlm.nih.gov/datasets/genome/{$id}", + "name": "National Center for Biotechnology Information", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "official": true, + "providerCode": "ncbi", + "sampleId": "GCF_000001405", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "GCF_000001405", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3808, + "prefix": "synapse", + "mirId": "MIR:00001043", + "name": "Synapse Data Repository", + "pattern": "[0-9]*\\.*[0-9]*", + "description": "Synapse is a collaborative, open-source research platform that allows teams to share data, track analyses, and collaborate.", + "created": "2024-03-20T10:13:27.272+00:00", + "modified": "2024-03-20T10:13:27.272+00:00", + "resources": [ + { + "id": 3809, + "mirId": "MIR:00001042", + "urlPattern": "https://repo-prod.prod.sagebase.org/ga4gh/drs/v1/objects/syn{$id}", + "name": "Sage Bionetworks", + "description": "Sage Bionetworks is a trusted leader in data sharing and reuse, enabling a rapid acceleration in biomedical discoveries and the transformation of medicine.", + "official": true, + "providerCode": "synapse", + "sampleId": "41455251.1", + "resourceHomeUrl": "https://sagebionetworks.org", + "institution": { + "id": 3807, + "name": "Sage Bionetworks", + "homeUrl": "https://www.sagebionetworks.org", + "description": "Sage Bionetworks is a trusted leader in data sharing and reuse, enabling a rapid acceleration in biomedical discoveries and the transformation of medicine.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "41455251.1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3819, + "prefix": "cheminf", + "mirId": "MIR:00001045", + "name": "Chemical Information Ontology", + "pattern": "^CHEMINF:\\d+$", + "description": "The chemical information ontology (cheminf) describes information entities about chemical entities. It provides qualitative and quantitative attributes to richly describe chemicals.", + "created": "2024-03-20T10:24:50.346+00:00", + "modified": "2024-03-20T10:29:26.220+00:00", + "resources": [ + { + "id": 3820, + "mirId": "MIR:00001044", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/cheminf/classes?obo_id=CHEMINF:{$id}", + "name": "CHEMINF via OLS", + "description": "The chemical information ontology (cheminf) describes information entities about chemical entities. It provides qualitative and quantitative attributes to richly describe chemicals.", + "official": true, + "providerCode": "ols", + "sampleId": "000306", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/cheminf", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "000306", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 4053, + "prefix": "mediadive.medium", + "mirId": "MIR:00001078", + "name": "MediaDive mediums", + "pattern": "^[A-Z]?[0-9]{1,5}[a-z]?$", + "description": "MediaDive is a manually curated collection of cultivation media and growth conditions. This namespace specifically references mediums.", + "created": "2024-08-19T08:48:10.806+00:00", + "modified": "2024-08-19T08:48:10.806+00:00", + "resources": [ + { + "id": 4004, + "mirId": "MIR:00001077", + "urlPattern": "https://mediadive.dsmz.de/medium/{$id}", + "name": "Leibniz-Institut DSMZ-Deutsche Sammlung von Mikroorganismen und Zellkulturen", + "description": "The mission of the Leibniz Institute DSMZ is the research, provision and use of microbial and cellular biodiversity. The DSMZ is both a research infrastructure used by science and industry for non-commercial purposes and a research institution in the field of microbial biodiversity research.", + "official": true, + "providerCode": "mediadive", + "sampleId": "1011c", + "resourceHomeUrl": "https://www.dsmz.de/", + "institution": { + "id": 1874, + "name": "Leibniz-Institut DSMZ-Deutsche Sammlung von Mikroorganismen und Zellkulturen", + "homeUrl": "https://www.dsmz.de/", + "description": "The mission of the Leibniz Institute DSMZ is the research, provision and use of microbial and cellular biodiversity. The DSMZ is both a research infrastructure used by science and industry for non-commercial purposes and a research institution in the field of microbial biodiversity research.", + "rorId": "https://ror.org/02tyer376", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1011c", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1211, + "prefix": "bgee.stage", + "mirId": "MIR:00000419", + "name": "Bgee stage", + "pattern": "^(FBvd|XtroDO|HsapDO|MmusDO)\\:\\d+$", + "description": "Bgee is a database of gene expression patterns within particular anatomical structures within a species, and between different animal species. This collection refers to developmental stages.", + "created": "2019-06-11T14:17:16.333+00:00", + "modified": "2023-09-13T08:52:47.196+00:00", + "resources": [ + { + "id": 1212, + "mirId": "MIR:00100542", + "urlPattern": "http://bgee.unil.ch/bgee/bgee?page=anatomy&action=organs&stage_id={$id}&stage_children=on", + "name": "Bgee at Lausanne", + "description": "Bgee at Lausanne", + "official": false, + "providerCode": "sib", + "sampleId": "HsapDO:0000004", + "resourceHomeUrl": "http://bgee.unil.ch/bgee/bgee", + "institution": { + "id": 1730, + "name": "SIB Swiss Institute of Bioinformatics", + "homeUrl": "https://www.sib.swiss", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "rorId": "https://ror.org/002n09z45", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "HsapDO:0000004", + "namespaceEmbeddedInLui": false, + "deprecated": true, + "deprecationDate": "2023-07-04T10:26:40.148+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": true, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3723, + "prefix": "maxo", + "mirId": "MIR:00001032", + "name": "Medical Action Ontology", + "pattern": "\\d{7}", + "description": "An ontology to represent medically relevant actions, procedures, therapies, interventions, and recommendations.", + "created": "2023-10-30T09:40:47.492+00:00", + "modified": "2023-10-30T09:40:47.492+00:00", + "resources": [ + { + "id": 3724, + "mirId": "MIR:00001031", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/maxo/terms?obo_id=MAXO:{$id}", + "name": "MAXO via OLS", + "description": "The Ontology Lookup Service (OLS) is a repository for biomedical ontologies that aims to provide a single point of access to the latest ontology versions. You can browse the ontologies through the website as well as programmatically via the OLS API. OLS is developed and maintained by the\u2009Samples, Phenotypes and Ontologies Team (SPOT)\u2009 at\u2009EMBL-EBI.", + "official": true, + "providerCode": "ols", + "sampleId": "0001073", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/maxo", + "institution": { + "id": 3722, + "name": "Monarch Initiative", + "homeUrl": "https://monarchinitiative.org/", + "description": "The Monarch Initiative is an integrative data and analytic platform connecting phenotypes to genotypes across species, bridging basic and applied research with semantics-based analysis. We have created or currently contribute to many essential bio-ontologies that together enable sophisticated and semantically integrated computational analysis across gene, genotype, variant, disease, and phenotype data. ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0001073", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3827, + "prefix": "opl", + "mirId": "MIR:00001047", + "name": "Ontology for Parasite Lifecycle", + "pattern": "^OPL:\\d+$", + "description": "The Ontology for Parasite Lifecycle (OPL) models the life cycle stage details of various parasites, including Trypanosoma sp., Leishmania major, and Plasmodium sp., etc.", + "created": "2024-03-20T10:39:56.678+00:00", + "modified": "2024-03-20T10:39:56.678+00:00", + "resources": [ + { + "id": 3828, + "mirId": "MIR:00001046", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/opl/classes?obo_id=OPL:{$id}", + "name": "OPL via OLS", + "description": "The Ontology for Parasite Lifecycle (OPL) models the life cycle stage details of various parasites, including Trypanosoma sp., Leishmania major, and Plasmodium sp., etc", + "official": true, + "providerCode": "ols", + "sampleId": "0000134", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/opl", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0000134", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 4103, + "prefix": "biodeep", + "mirId": "MIR:00001080", + "name": "BioDeep Database", + "pattern": "^BioDeep_\\d{11}$", + "description": "The BioDeep database is a comprehensive database of metabolite information in living organisms: by aggregating metabolite information from multiple public databases and large-scale natural language text mining work, we have built a large scale knowledge network for biological knowledge interpretation. By using the BioDeep database, it is possible to query such large scale metabolic knowledge network.", + "created": "2024-09-10T12:45:00.382+00:00", + "modified": "2024-09-10T12:45:00.382+00:00", + "resources": [ + { + "id": 4054, + "mirId": "MIR:00001079", + "urlPattern": "https://query.biodeep.cn/metabolite/{$id}", + "name": "PANOMIX", + "description": "PANOMIX Biomedical Tech Co., LTD (abbreviation: PANOMIX) was established in Suzhou Industrial Park in 2013. The company has more than 80 world-leading mass spectrometry equipment, can provide more than 100 detection and analysis services and more than 20 clinical detection products. The business segment covers scientific research services, industrial services, new drug services, clinical detection services, clinical products and health management, with a layout of universities, research institutes, hospitals and enterprises in 34 provinces, municipalities and autonomous regions, serving more than 1,000 customers. PANOMIX focuses on the research and clinical application development of cutting-edge metabolomics technology, and is committed to becoming a complete solution provider of metabolomics precision medicine and precision nutrition, helping you support a healthy metabolism.", + "official": true, + "providerCode": "biodeep", + "sampleId": "BioDeep_00000000001", + "resourceHomeUrl": "https://en.panomix.com/", + "institution": { + "id": 4008, + "name": "PANOMIX", + "homeUrl": "https://en.panomix.com/", + "description": "PANOMIX Biomedical Tech Co., LTD (abbreviation: PANOMIX) was established in Suzhou Industrial Park in 2013. The company has more than 80 world-leading mass spectrometry equipment, can provide more than 100 detection and analysis services and more than 20 clinical detection products. The business segment covers scientific research services, industrial services, new drug services, clinical detection services, clinical products and health management, with a layout of universities, research institutes, hospitals and enterprises in 34 provinces, municipalities and autonomous regions, serving more than 1,000 customers. PANOMIX focuses on the research and clinical application development of cutting-edge metabolomics technology, and is committed to becoming a complete solution provider of metabolomics precision medicine and precision nutrition, helping you support a healthy metabolism.", + "rorId": null, + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "BioDeep_00000000001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 169, + "prefix": "signaling-gateway", + "mirId": "MIR:00000045", + "name": "Signaling Gateway", + "pattern": "A\\d{6}$", + "description": "The Signaling Gateway provides information on mammalian proteins involved in cellular signaling.", + "created": "2019-06-11T14:15:44.579+00:00", + "modified": "2019-06-11T14:15:44.579+00:00", + "resources": [ + { + "id": 171, + "mirId": "MIR:00100073", + "urlPattern": "http://www.signaling-gateway.org/molecule/query?afcsid={$id}", + "name": "Signaling Gateway Molecule Pages", + "description": "Signaling Gateway Molecule Pages", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "A001094", + "resourceHomeUrl": "http://www.signaling-gateway.org/molecule", + "institution": { + "id": 190, + "name": "University of California, San Diego", + "homeUrl": "https://ucsd.edu/", + "description": "is a public research university in San Diego, California.\nEstablished in 1960 near the pre-existing Scripps Institution of Oceanography, UC San Diego is the seventh-oldest of the 10 University of California campuses and offers over 200 undergraduate and graduate degree programs, enrolling approximately 30,000 undergraduate and 8,500 graduate students.", + "rorId": "https://ror.org/0168r3w48", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "A001094", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1213, + "prefix": "bgee.organ", + "mirId": "MIR:00000420", + "name": "Bgee organ", + "pattern": "^(XAO|ZFA|EHDAA|EMAPA|EV|MA)\\:\\d+$", + "description": "Bgee is a database of gene expression patterns within particular anatomical structures within a species, and between different animal species. This collection refers to anatomical structures.", + "created": "2019-06-11T14:17:16.514+00:00", + "modified": "2023-09-13T08:53:52.558+00:00", + "resources": [ + { + "id": 1214, + "mirId": "MIR:00100543", + "urlPattern": "http://bgee.unil.ch/bgee/bgee?page=anatomy&action=organ_details&organ_id={$id}&organ_children=on", + "name": "Bgee at Lausanne", + "description": "Bgee at Lausanne", + "official": false, + "providerCode": "sib", + "sampleId": "EHDAA:2185", + "resourceHomeUrl": "http://bgee.unil.ch/bgee/bgee", + "institution": { + "id": 1730, + "name": "SIB Swiss Institute of Bioinformatics", + "homeUrl": "https://www.sib.swiss", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "rorId": "https://ror.org/002n09z45", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "EHDAA:2185", + "namespaceEmbeddedInLui": false, + "deprecated": true, + "deprecationDate": "2023-07-04T10:26:56.707+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": true, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3730, + "prefix": "ncbidrs", + "mirId": "MIR:00001034", + "name": "NCBI Data Repository Service", + "pattern": "^[0-9a-fA-F]{32}$", + "description": "This is the namespace for the archive of sequence and other files provided by NCBI e.g. in SRA and dbGaP. These files are related to objects in the sequencing data model managed under the insdc.sra namespace. ", + "created": "2023-10-31T16:13:48.191+00:00", + "modified": "2023-10-31T16:13:48.191+00:00", + "resources": [ + { + "id": 3731, + "mirId": "MIR:00001033", + "urlPattern": "https://locate.be-md.ncbi.nlm.nih.gov/ga4gh/drs/v1/objects/{$id}", + "name": "National Center for Biotechnology Information", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "official": true, + "providerCode": "ncbi", + "sampleId": "72ff6ff882ec447f12df018e6183de59", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "72ff6ff882ec447f12df018e6183de59", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 41, + "prefix": "miriam.collection", + "mirId": "MIR:00000008", + "name": "MIRIAM Registry collection", + "pattern": "^MIR:000\\d{5}$", + "description": "MIRIAM Registry is an online resource created to catalogue collections (Gene Ontology, Taxonomy or PubMed are some examples) and the corresponding resources (physical locations) providing access to those data collections. The Registry provides unique and perennial URIs for each entity of those data collections.", + "created": "2019-06-11T14:15:31.442+00:00", + "modified": "2024-02-06T14:56:58.330+00:00", + "resources": [ + { + "id": 42, + "mirId": "MIR:00100005", + "urlPattern": "https://registry.identifiers.org/deprecation/resources/MIR:00100005/{$id}", + "name": "MIRIAM Resources (data collection)", + "description": "MIRIAM Resources (data collection)", + "official": false, + "providerCode": "ebi", + "sampleId": "MIR:00000008", + "resourceHomeUrl": "https://www.ebi.ac.uk/miriam/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": true, + "deprecationDate": "2020-06-04T10:00:30.300+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MIR:00000008", + "namespaceEmbeddedInLui": false, + "deprecated": true, + "deprecationDate": "2020-06-04T11:17:21.453+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": true, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3832, + "prefix": "mcro", + "mirId": "MIR:00001049", + "name": "Model Card Ontology", + "pattern": "^MCRO:\\d+$", + "description": "An ontology representing the model card structure, he aim of this work is to describe machine learning models to communicate information about specific details about the model (trade offs, intended users, licensing, etc.). ", + "created": "2024-03-20T10:56:06.644+00:00", + "modified": "2024-03-20T10:56:06.644+00:00", + "resources": [ + { + "id": 3833, + "mirId": "MIR:00001048", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/mcro/classes?obo_id=MCRO:{$id}", + "name": "MCRO via OLS", + "description": "ontology modeling the model card report for machine learning model assests", + "official": true, + "providerCode": "ols", + "sampleId": "0000027", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/mcro", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0000027", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 4104, + "prefix": "ice.chem", + "mirId": "MIR:00001082", + "name": "Integrated Chemical Environment - Chemical data", + "pattern": "\\d{2,7}-\\d{2}-\\d|DTXSID\\d{7,9}|[A-Z]{14}-[A-Z]{8}[SN][A-Z]-[A-Z]$", + "description": "The Integrated Chemical Environment (ICE) provides high-quality curated data and appropriate tools to support development and evaluation of new, revised, and alternative methods. ICE provides free online access to curated in vivo and in vitro test data, in silico toxicity predictions and chemical property data, reference chemical lists, and computational tools for chemical characterization and predicting toxicity.\nICE supports the following: (i) Data integration: brings together available data, including data on formulations; (ii) Results exploration: enables dynamic, graphical exploration with publication-quality graphics; (iii) Data analysis: allows characterization of data using online workflows, and (iv) FAIR data access: data are findable, accessible, interoperable, and reusable.", + "created": "2024-09-10T12:53:16.243+00:00", + "modified": "2024-09-10T12:53:16.243+00:00", + "resources": [ + { + "id": 4055, + "mirId": "MIR:00001081", + "urlPattern": "https://ice.ntp.niehs.nih.gov/api/v1/search?chemid={$id}", + "name": "National Institute of Environmental Health Sciences", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "official": true, + "providerCode": "niehs", + "sampleId": "DTXSID7032004", + "resourceHomeUrl": "https://ice.ntp.niehs.nih.gov", + "institution": { + "id": 4009, + "name": "National Institute of Environmental Health Sciences", + "homeUrl": "https://www.niehs.nih.gov/", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "DTXSID7032004", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 197, + "prefix": "eco", + "mirId": "MIR:00000055", + "name": "Evidence Code Ontology", + "pattern": "ECO:\\d{7}$", + "description": "Evidence codes can be used to specify the type of supporting evidence for a piece of knowledge. This allows inference of a 'level of support' between an entity and an annotation made to an entity.", + "created": "2019-06-11T14:15:47.447+00:00", + "modified": "2019-06-11T14:15:47.447+00:00", + "resources": [ + { + "id": 199, + "mirId": "MIR:00100235", + "urlPattern": "http://purl.bioontology.org/ontology/ECO/ECO:{$id}", + "name": "Evidence Code Ontology through BioPortal", + "description": "Evidence Code Ontology through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "0000006", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/ECO", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 198, + "mirId": "MIR:00100083", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/eco/terms?obo_id=ECO:{$id}", + "name": "Evidence Codes via the Ontology Lookup Service (OLS)", + "description": "Evidence Codes via the Ontology Lookup Service (OLS)", + "official": false, + "providerCode": "ols", + "sampleId": "0000006", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/eco", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0000006", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3756, + "prefix": "tricdb", + "mirId": "MIR:00001036", + "name": "tricdb", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", + "description": "Tri\u00a9DB is a newly developed integrated platform functioning as a knowledge base and reporting system for cancer precision medicine. This platform harmonizes and mines cancer-related data from various aspects, presenting them on a centralized platform with enhanced accessibility, rich annotations, and robust analysis capabilities. The development of Tri\u00a9DB is aimed at meeting the needs of a broad range of researchers, thereby propelling both foundational and translational research in cancer precision medicine.", + "created": "2023-11-27T09:57:23.517+00:00", + "modified": "2023-11-27T09:57:23.517+00:00", + "resources": [ + { + "id": 3757, + "mirId": "MIR:00001035", + "urlPattern": "http://biomeddb.org/Disease/Details?DISEASEID={$id}", + "name": "BaoLab", + "description": "Professor Bao's Laboratory at the School of Life Sciences, Hubei University", + "official": true, + "providerCode": "id", + "sampleId": "1eec8393-e598-41ed-9d8b-6d5b0db94470", + "resourceHomeUrl": "http://www.biomeddb.org/", + "institution": { + "id": 3755, + "name": "Hubei University", + "homeUrl": "http://eng.hubu.edu.cn/", + "description": "Hubei University, located in Wuhan, capital city of Central China\u2019s Hubei Province, is a key comprehensive university jointly administered by Hubei Provincial Government and China\u2019s Ministry of Education, covering arts, history, philosophy, science, engineering, economics, law, management, education, agriculture and medicine, with the disciplines of Material Science and Chemistry ranking top 1% in the world ESI.", + "rorId": null, + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1eec8393-e598-41ed-9d8b-6d5b0db94470", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3842, + "prefix": "stato", + "mirId": "MIR:00001051", + "name": "Statistical Ontology", + "pattern": "^STATO:\\d+$", + "description": "STATO is the statistical methods ontology. It contains concepts and properties related to statistical methods, probability distributions and other concepts related to statistical analysis, including relationships to study designs and plots.", + "created": "2024-03-20T11:10:30.918+00:00", + "modified": "2024-03-20T11:10:30.918+00:00", + "resources": [ + { + "id": 3843, + "mirId": "MIR:00001050", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/stato/classes?obo_id=STATO:{$id}", + "name": "European Bioinformatics Institute", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "official": true, + "providerCode": "ols", + "sampleId": "0000138", + "resourceHomeUrl": "https://www.ebi.ac.uk", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0000138", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 4105, + "prefix": "lw", + "mirId": "MIR:00001084", + "name": "LifeWatch Metadata Catalogue", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "description": "The LifeWatch Metadata Catalogues plays a crucial role in managing metadata for digital objects, including Datasets, Services, Workflows and Virtual Research Environments. This catalogue serves as the central repository, ensuring that resources are accessible and reusable by stakeholders.", + "created": "2024-09-24T12:09:20.220+00:00", + "modified": "2024-09-24T12:09:20.220+00:00", + "resources": [ + { + "id": 4056, + "mirId": "MIR:00001083", + "urlPattern": "https://metadatacatalogue.lifewatch.eu/srv/eng/catalog.search#/metadata/{$id}", + "name": "LifeWatch ERIC", + "description": "LifeWatch ERIC is a European Research Infrastructure Consortium dedicated to advancing e-Science in biodiversity and ecosystem studies and unites diverse scientific communities and connects distributed observatories and research centres into unified, accessible online platforms. ", + "official": true, + "providerCode": "lw_eric", + "sampleId": "6e3b1371-59d7-481a-9db4-cd0d0de98436", + "resourceHomeUrl": "https://metadatacatalogue.lifewatch.eu/", + "institution": { + "id": 4010, + "name": "LifeWatch ERIC", + "homeUrl": "https://metadatacatalogue.lifewatch.eu/", + "description": "LifeWatch ERIC is a European Research Infrastructure Consortium dedicated to advancing e-Science in biodiversity and ecosystem studies and unites diverse scientific communities and connects distributed observatories and research centres into unified, accessible online platforms. ", + "rorId": null, + "location": { + "countryCode": "ES", + "countryName": "Spain" + } + }, + "location": { + "countryCode": "ES", + "countryName": "Spain" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "6e3b1371-59d7-481a-9db4-cd0d0de98436", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 261, + "prefix": "macie", + "mirId": "MIR:00000077", + "name": "MACiE", + "pattern": "^M\\d{4}$", + "description": "MACiE (Mechanism, Annotation and Classification in Enzymes) is a database of enzyme reaction mechanisms. Each entry in MACiE consists of an overall reaction describing the chemical compounds involved, as well as the species name in which the reaction occurs. The individual reaction stages for each overall reaction are listed with mechanisms, alternative mechanisms, and amino acids involved.", + "created": "2019-06-11T14:15:53.388+00:00", + "modified": "2019-06-11T14:15:53.388+00:00", + "resources": [ + { + "id": 262, + "mirId": "MIR:00100108", + "urlPattern": "https://www.ebi.ac.uk/thornton-srv/databases/cgi-bin/MACiE/entry/getPage.pl?id={$id}", + "name": "MACiE database of mechanisms, annotation and classification in enzymes", + "description": "MACiE database of mechanisms, annotation and classification in enzymes", + "official": true, + "providerCode": "ebi", + "sampleId": "M0001", + "resourceHomeUrl": "https://www.ebi.ac.uk/thornton-srv/databases/MACiE/index.html", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "M0001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3759, + "prefix": "maggot", + "mirId": "MIR:00001038", + "name": "Maggot", + "pattern": "^[A-Za-z0-9]+$", + "description": "Sharing descriptive Metadata is the first essential step towards Open Scientific Data. With this in mind, Maggot was specifically designed to annotate datasets by creating a metadata file to attach to the storage space. Indeed, it allows users to easily add descriptive metadata to datasets produced within a collective of people (research unit, platform, multi-partner project, etc.). This approach fits perfectly into a data management plan as it addresses the issues of data organization and documentation, data storage and frictionless metadata sharing within this same collective and beyond.", + "created": "2023-11-27T10:19:40.971+00:00", + "modified": "2023-11-27T10:19:40.971+00:00", + "resources": [ + { + "id": 3760, + "mirId": "MIR:00001037", + "urlPattern": "https://pmb-bordeaux.fr/maggot/metadata/{$id}", + "name": "Bordeaux Metabolome", + "description": "Bordeaux Metabolome Facility provides equipments and expertise for the study of metabolome, lipidome and metabolic fluxes.", + "official": true, + "providerCode": "maggot", + "sampleId": "frim1", + "resourceHomeUrl": "https://eng-bfp.bordeaux-aquitaine.hub.inrae.fr/resources/metabolome-platform", + "institution": { + "id": 2292, + "name": "National Research Institute for Agriculture, Food and Environment", + "homeUrl": "https://www.inrae.fr/", + "description": "INRAE is France's new National Research Institute for Agriculture, Food and Environment, created on January 1, 2020, It was formed by the merger of INRA, the National Institute for Agricultural Research, and IRSTEA, the National Research Institute of Science and Technology for the Environment and Agriculture.", + "rorId": "https://ror.org/003vg9w96", + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "frim1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 575, + "prefix": "edam", + "mirId": "MIR:00000189", + "name": "EDAM Ontology", + "pattern": "^(data|topic|operation|format)\\_\\d{4}$", + "description": "EDAM is an ontology of general bioinformatics concepts, including topics, data types, formats, identifiers and operations. EDAM provides a controlled vocabulary for the description, in semantic terms, of things such as: web services (e.g. WSDL files), applications, tool collections and packages, work-benches and workflow software, databases and ontologies, XSD data schema and data objects, data syntax and file formats, web portals and pages, resource catalogues and documents (such as scientific publications).", + "created": "2019-06-11T14:16:22.318+00:00", + "modified": "2024-03-20T11:53:50.927+00:00", + "resources": [ + { + "id": 576, + "mirId": "MIR:00100536", + "urlPattern": "http://purl.bioontology.org/ontology/EDAM/{$id}", + "name": "EDAM through BioPortal", + "description": "EDAM through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "data_1664", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/EDAM", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 577, + "mirId": "MIR:00100762", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/edam/terms?short_form={$id}", + "name": "EDAM through OLS", + "description": "EDAM through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "data_1664", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/edam", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "data_1664", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 312, + "prefix": "neuromorpho", + "mirId": "MIR:00000095", + "name": "NeuroMorpho", + "pattern": "^\\w+$", + "description": "NeuroMorpho.Org is a centrally curated inventory of digitally reconstructed neurons.", + "created": "2019-06-11T14:15:58.342+00:00", + "modified": "2019-06-11T14:15:58.342+00:00", + "resources": [ + { + "id": 314, + "mirId": "MIR:00100126", + "urlPattern": "http://neuromorpho.org/neuron_info.jsp?neuron_name={$id}", + "name": "NeuroMorpho", + "description": "NeuroMorpho", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Rosa2", + "resourceHomeUrl": "http://neuromorpho.org/index.jsp", + "institution": { + "id": 313, + "name": "Krasnow Institute, Virginia", + "homeUrl": "https://catalog.gmu.edu/archives/2019-2020/research/krasnow-institute-advanced-study/", + "description": "The Krasnow Institute for Advanced Study seeks to expand the understanding of mind, brain, and intelligence by conducting research at the intersection of the separate fields of cognitive psychology, neurobiology, and the computer-driven study of artificial intelligence and complex adaptive systems, including social systems. These separate disciplines increasingly overlap and promise progressively deeper insight into human thought processes. The institute also examines how new insights from cognitive science research can be applied for human benefit in the areas of mental health, neurological disease, education, computer design, and social system analysis.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Rosa2", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3781, + "prefix": "hco", + "mirId": "MIR:00001040", + "name": "Human Chromosome Ontology", + "pattern": "^.+$", + "description": "The Human Chromosome Ontology (HCO) provides simple and stable URIs for human reference genome versions to semantically identify human chromosomes.", + "created": "2024-01-05T09:25:24.380+00:00", + "modified": "2024-01-05T09:25:24.380+00:00", + "resources": [ + { + "id": 3782, + "mirId": "MIR:00001039", + "urlPattern": "http://biohackathon.org/resource/hco#{$id}", + "name": "Database Center for Life Science, Kashiwa, Chiba, Japan", + "description": "Database Center for Life Science (DBCLS) is a part of Research Organization of Information and Systems (ROIS) and has been developing new technologies, services and standards for integrating biological databases, which include those developed and maintained in Japan as well as world-renowned databases.", + "official": true, + "providerCode": "dbcls", + "sampleId": "MT", + "resourceHomeUrl": "https://dbcls.rois.ac.jp/", + "institution": { + "id": 3526, + "name": "Database Center for Life Science, Kashiwa, Chiba, Japan", + "homeUrl": "https://dbcls.rois.ac.jp/index-en.html", + "description": "Database Center for Life Science (DBCLS) is a part of Research Organization of Information and Systems (ROIS) and has been developing new technologies, services and standards for integrating biological databases, which include those developed and maintained in Japan as well as world-renowned databases.", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MT", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3852, + "prefix": "obcs", + "mirId": "MIR:00001053", + "name": " Ontology of Biological and Clinical Statistics", + "pattern": "^OBCS:\\d+$", + "description": "OBCS stands for the Ontology of Biological and Clinical Statistics. OBCS is an ontology in the domain of biological and clinical statistics. It is aligned with the Basic Formal Ontology (BFO) and the Ontology for Biomedical Investigations (OBI)", + "created": "2024-03-21T14:43:39.901+00:00", + "modified": "2024-03-21T14:43:39.901+00:00", + "resources": [ + { + "id": 3853, + "mirId": "MIR:00001052", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/obcs/classes?obo_id=OBCS:{$id}", + "name": "OBCS via OLS", + "description": "OBCS stands for the Ontology of Biological and Clinical Statistics", + "official": true, + "providerCode": "ols", + "sampleId": "0000086", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/obcs", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0000086", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 363, + "prefix": "glycomedb", + "mirId": "MIR:00000114", + "name": "GlycomeDB", + "pattern": "^\\w+$", + "description": "GlycomeDB is the result of a systematic data integration effort, and provides an overview of all carbohydrate structures available in public databases, as well as cross-links.", + "created": "2019-06-11T14:16:03.253+00:00", + "modified": "2019-06-11T14:16:03.253+00:00", + "resources": [ + { + "id": 365, + "mirId": "MIR:00100147", + "urlPattern": "https://glytoucan.org/Structures/Glycans/{$id}", + "name": "GlycomeDB carbohydrate structure database", + "description": "GlycomeDB carbohydrate structure database", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "G77500AY", + "resourceHomeUrl": "https://glytoucan.org/", + "institution": { + "id": 843, + "name": "DKFZ TP3, Heidelberg", + "homeUrl": "http://www.dkfz.de/en/index.html", + "description": "To perform research into cancer is the task of the German Cancer Research Center (Deutsches Krebsforschungszentrum, DKFZ) according to its statutes. DKFZ is the largest biomedical research institute in Germany and a member of the Helmholtz Association of National Research Centers. In more than 100 divisions and research groups, our more than 3,000 employees, of which more than 1,200 are scientists, are investigating the mechanisms of cancer, are identifying cancer risk factors and are trying to find strategies to prevent people from getting cancer.They are developing novel approaches to make tumor diagnosis more precise and treatment of cancer patients more successful.", + "rorId": "https://ror.org/04cdgtt98", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "G77500AY", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3142, + "prefix": "dg.4825", + "mirId": "MIR:00001019", + "name": "ACCOuNT Data Commons", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "This website provides a centralized, cloud-based discovery portal for African American pharmacogenomics data and aims to accelerate discovery of novel genetic variants in African Americans related to clinically actionable cardiovascular phenotypes.", + "created": "2022-02-27T20:30:53.595+00:00", + "modified": "2024-01-09T16:21:12.604+00:00", + "resources": [ + { + "id": 3143, + "mirId": "MIR:00001013", + "urlPattern": "https://gen3.datacommons.io/ga4gh/drs/v1/objects/dg.4825/{$id}", + "name": "ACCOuNT Data Commons", + "description": "This website provides a centralized, cloud-based discovery portal for African American pharmacogenomics data and aims to accelerate discovery of novel genetic variants in African Americans related to clinically actionable cardiovascular phenotypes.", + "official": true, + "providerCode": "dg.4825", + "sampleId": "e322c7d9-a0fa-4a1d-83f0-0f06bda87fe8", + "resourceHomeUrl": "https://gen3.datacommons.io", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "e322c7d9-a0fa-4a1d-83f0-0f06bda87fe8", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1735, + "prefix": "mzspec", + "mirId": "MIR:00000625", + "name": "Universal Spectrum Identifier", + "pattern": "^mzspec:(PDX|USI|PXD)[0-9]{6}:[^:]+:(scan|index|nativeId):[0-9]+(:.*)?$", + "description": "The Universal Spectrum Identifier (USI) is a compound identifier that provides an abstract path to refer to a single spectrum generated by a mass spectrometer, and potentially the ion that is thought to have produced it.", + "created": "2019-06-11T14:18:05.468+00:00", + "modified": "2024-06-04T08:49:20.633+00:00", + "resources": [ + { + "id": 2394, + "mirId": "MIR:00000771", + "urlPattern": "http://proteomecentral.proteomexchange.org/usi/?usi=mzspec:{$id}", + "name": "Institute for Systems Biology, Seattle, USA", + "description": "Institute for Systems Biology (ISB), Seattle, USA is an independent research institute focusing on systems biology.", + "official": true, + "providerCode": "pc", + "sampleId": "PXD000865:00603_F01_P004608_B00F_A00_R1:scan:14453:SSLLDVLAAR/2", + "resourceHomeUrl": "http://proteomecentral.proteomexchange.org/", + "institution": { + "id": 193, + "name": "Institute for Systems Biology", + "homeUrl": "https://isbscience.org/", + "description": "ISB was created in 2000 as the first-ever institute dedicated to systems biology.", + "rorId": "https://ror.org/02tpgw303", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1737, + "mirId": "MIR:00100829", + "urlPattern": "https://db.systemsbiology.net/sbeams/cgi/PeptideAtlas/ShowObservedSpectrum?usi=mzspec:{$id}", + "name": "Universal Spectrum Identifier through Peptide Atlas", + "description": "Universal Spectrum Identifier through Peptide Atlas", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "PXD002255:ES_XP_Ubi_97H_HCD_349:scan:9617:LAEIYVNSSFYK/2", + "resourceHomeUrl": "https://db.systemsbiology.net/sbeams/cgi/PeptideAtlas/ShowObservedSpectrum", + "institution": { + "id": 193, + "name": "Institute for Systems Biology", + "homeUrl": "https://isbscience.org/", + "description": "ISB was created in 2000 as the first-ever institute dedicated to systems biology.", + "rorId": "https://ror.org/02tpgw303", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1, + "mirId": "MIR:00001064", + "urlPattern": "https://www.ebi.ac.uk/pride/archive/usi?usi=mzspec:{$id}", + "name": "PRIDE", + "description": "PRIDE is a database of PRoteomics IDEntifications. It contains protein and peptide identifications (including details of post-translational modifications) together with the mass spectrometric evidence supporting these identifications. PRIDE acts as a repository for mass spectrometry data, specifically the fragment ion spectra used to identify peptide sequences.", + "official": false, + "providerCode": "ebi", + "sampleId": "PXD000865:00603_F01_P004608_B00F_A00_R1:scan:14453:SSLLDVLAAR/2", + "resourceHomeUrl": "https://www.ebi.ac.uk/pride", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PXD002255:ES_XP_Ubi_97H_HCD_349:scan:9617:LAEIYVNSSFYK/2", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 687, + "prefix": "vectorbase", + "mirId": "MIR:00000232", + "name": "VectorBase", + "pattern": "^\\D{4}\\d{6}(\\-\\D{2})?$", + "description": "VectorBase is part of the VEuPathDB, a NIAID-funded Bioinformatic Resource Center focused on invertebrate vectors of human pathogens and related species of interest. Currently, VectorBase contains genome information for approximately 80 organisms: mosquitoes, bed bugs, biting midges, ticks, tsetse flies, mites, sand flies, house flies, body lice, stable flies, kissing bugs, and a snail which is an intermediate host.", + "created": "2019-06-11T14:16:32.515+00:00", + "modified": "2024-01-12T10:30:39.284+00:00", + "resources": [ + { + "id": 688, + "mirId": "MIR:00100291", + "urlPattern": "https://vectorbase.org/gene/{$id}", + "name": "Vectorbase at EMBL-EBI", + "description": "Vectorbase at EMBL-EBI", + "official": true, + "providerCode": "ebi", + "sampleId": "ISCW007415", + "resourceHomeUrl": "https://www.vectorbase.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ISCW007415", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 228, + "prefix": "pride", + "mirId": "MIR:00000065", + "name": "PRIDE", + "pattern": "^\\d+$", + "description": "The PRIDE PRoteomics IDEntifications database is a centralized, standards compliant, public data repository that provides protein and peptide identifications together with supporting evidence. This collection references experiments and assays.", + "created": "2019-06-11T14:15:50.454+00:00", + "modified": "2024-03-22T10:18:22.059+00:00", + "resources": [ + { + "id": 229, + "mirId": "MIR:00100094", + "urlPattern": "https://www.ebi.ac.uk/pride/archive/assays/{$id}", + "name": "PRIDE at EBI", + "description": "PRIDE at EBI", + "official": true, + "providerCode": "ebi", + "sampleId": "1", + "resourceHomeUrl": "https://www.ebi.ac.uk/pride/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1", + "namespaceEmbeddedInLui": false, + "deprecated": true, + "deprecationDate": "2024-03-22T09:58:34.344+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": true, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 230, + "prefix": "3dmet", + "mirId": "MIR:00000066", + "name": "3DMET", + "pattern": "^B\\d{5}$", + "description": "3DMET is a database collecting three-dimensional structures of natural metabolites.", + "created": "2019-06-11T14:15:50.652+00:00", + "modified": "2024-02-12T09:37:02.753+00:00", + "resources": [ + { + "id": 232, + "mirId": "MIR:00100095", + "urlPattern": "http://www.3dmet.dna.affrc.go.jp/cgi/show_data.php?acc={$id}", + "name": "3DMET database", + "description": "3DMET database", + "official": false, + "providerCode": "nias", + "sampleId": "B00162", + "resourceHomeUrl": "http://www.3dmet.dna.affrc.go.jp/", + "institution": { + "id": 231, + "name": "National Institute of Agrobiological Sciences", + "homeUrl": "http://www.naro.affrc.go.jp/archive/nias/index_e.html", + "description": "The National Institute of Agrobiological Sciences (NIAS) is the largest agricultural research institute in Japan for basic life sciences. As a major research institute of the Ministry of Agriculture, Forestry and Fisheries (MAFF), it was formerly known as the National Institute of Agrobiological Resources (NIAR) until it was re-established as an independent administrative institution in April 1, 2001. The institute focuses on understanding the biological phenomena of agriculturally important plants, insects, microbes and animals to create innovative technologies, and eventually contribute to the solution of global issues such as food shortage due to rapid population growth and environmental problems due to climate change", + "rorId": "https://ror.org/01786mp71", + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "B00162", + "namespaceEmbeddedInLui": false, + "deprecated": true, + "deprecationDate": "2024-02-12T09:35:45.473+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": true, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3853, + "prefix": "moid", + "mirId": "MIR:00001068", + "name": "Metadata Management and distribution system for Multiple GNSS Networks", + "pattern": "[a-zA-Z0-9]+\\.[a-f0-9]{24}", + "description": "M3G stands for \u201cMetadata Management and distribution system for Multiple GNSS Networks\u201d. M3G allows to upload, validate, and distribute GNSS station metadata such as IGS-style site logs, information about local networks, DOIs, nominal data provision, data licenses attached to the daily RINEX data, etc...", + "created": "2024-05-08T12:45:54.541+00:00", + "modified": "2024-05-08T12:45:54.541+00:00", + "resources": [ + { + "id": 3854, + "mirId": "MIR:00001067", + "urlPattern": "https://gnss-metadata.eu/MOID/{$id}", + "name": "Royal Observatory of Belgium", + "description": "The Royal Observatory of Belgium (ROB) is a scientific research institution. The main activities are Reference Systems and Planetology, Seismology and Gravimetry, Astronomy and Astrophysics and Solar Physics and Space Weather.", + "official": true, + "providerCode": "moid", + "sampleId": "station.6051b2f8b9142a5b8c676342", + "resourceHomeUrl": "https://www.astro.oma.be/en/", + "institution": { + "id": 3808, + "name": "Royal Observatory of Belgium", + "homeUrl": "https://www.astro.oma.be/en/", + "description": "The Royal Observatory of Belgium (ROB) is a scientific research institution. The main activities are Reference Systems and Planetology, Seismology and Gravimetry, Astronomy and Astrophysics and Solar Physics and Space Weather.", + "rorId": null, + "location": { + "countryCode": "BE", + "countryName": "Belgium" + } + }, + "location": { + "countryCode": "BE", + "countryName": "Belgium" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "station.6051b2f8b9142a5b8c676342", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3953, + "prefix": "biofactoid", + "mirId": "MIR:00001074", + "name": "Biofactoid", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Biofactoid is a resource of biological pathways, assembled from author-curated results in papers.\n", + "created": "2024-05-28T14:39:02.062+00:00", + "modified": "2024-05-28T14:39:02.062+00:00", + "resources": [ + { + "id": 3904, + "mirId": "MIR:00001073", + "urlPattern": "https://biofactoid.org/document/{$id}", + "name": "Donnelly Centre for Cellular and Biomolecular Research", + "description": "Donnelly Centre is a global research hub where scientists from diverse fields explore the power of genomic technology to advance discovery, medicine and health.\n", + "official": true, + "providerCode": "utoronto", + "sampleId": "5df17c41-acb7-4c42-a37b-fe323688bc64", + "resourceHomeUrl": "https://thedonnellycentre.utoronto.ca/", + "institution": { + "id": 3908, + "name": "Donnelly Centre for Cellular and Biomolecular Research", + "homeUrl": "https://thedonnellycentre.utoronto.ca/", + "description": "Donnelly Centre is a global research hub where scientists from diverse fields explore the power of genomic technology to advance discovery, medicine and health.\n", + "rorId": null, + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "5df17c41-acb7-4c42-a37b-fe323688bc64", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 991, + "prefix": "unigene", + "mirId": "MIR:00000346", + "name": "UniGene", + "pattern": "^\\d+$", + "description": "A UniGene entry is a set of transcript sequences that appear to come from the same transcription locus (gene or expressed pseudogene), together with information on protein similarities, gene expression, cDNA clone reagents, and genomic location.", + "created": "2019-06-11T14:16:57.856+00:00", + "modified": "2024-05-31T15:47:55.242+00:00", + "resources": [ + { + "id": 993, + "mirId": "MIR:00100441", + "urlPattern": "http://www.ncbi.nlm.nih.gov/UniGene/clust.cgi?UGID={$id}", + "name": "UniGene at NCBI", + "description": "UniGene at NCBI", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "4900", + "resourceHomeUrl": "http://www.ncbi.nlm.nih.gov/unigene", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "4900", + "namespaceEmbeddedInLui": false, + "deprecated": true, + "deprecationDate": "2024-05-31T15:27:28.981+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": true, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 4003, + "prefix": "odam.explorer", + "mirId": "MIR:00001076", + "name": "ODAM Data explorer", + "pattern": "^[A-Za-z][A-Za-z0-9]+$", + "description": "ODAM (Open Data for Access and Mining) is an Experimental data table management software (EDTMS) to make research data accessible and available for reuse with minimal effort on the part of the data provider. Designed to manage experimental data tables in an easy way for users, ODAM provides a model for structuring both data and metadata that facilitates data handling and analysis. It also encourages data dissemination according to FAIR principles by making the data interoperable and reusable by both humans and machines.\n\nODAM allows datasets to be explored and then extracted in whole or in part as needed.\n\nFor more information/explanation, see ODAM User's Guide : https://inrae.github.io/ODAM/", + "created": "2024-06-17T07:59:55.903+00:00", + "modified": "2024-06-17T07:59:55.903+00:00", + "resources": [ + { + "id": 3954, + "mirId": "MIR:00001075", + "urlPattern": "https://pmb-bordeaux.fr/dataexplorer/?ds={$id}", + "name": "Biologie du Fruit et Pathologie", + "description": "Organization is a partnership between INRAE [Divisions of Biology and Plant Breeding (BAP) and Plant Health and Environment (SPE)] and the University of Bordeauxis.", + "official": true, + "providerCode": "bfp", + "sampleId": "frim1", + "resourceHomeUrl": "https://eng-bfp.bordeaux-aquitaine.hub.inrae.fr/", + "institution": { + "id": 3958, + "name": "Biologie du Fruit et Pathologie", + "homeUrl": "https://eng-bfp.bordeaux-aquitaine.hub.inrae.fr/", + "description": "Organization is a partnership between INRAE [Divisions of Biology and Plant Breeding (BAP) and Plant Health and Environment (SPE)] and the University of Bordeauxis.", + "rorId": null, + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "frim1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 873, + "prefix": "dragondb.allele", + "mirId": "MIR:00000300", + "name": "DragonDB Allele", + "pattern": "^\\w+$", + "description": "DragonDB is a genetic and genomic database for Antirrhinum majus (Snapdragon). This collection refers to allele information.", + "created": "2019-06-11T14:16:47.981+00:00", + "modified": "2019-06-11T14:16:47.981+00:00", + "resources": [ + { + "id": 874, + "mirId": "MIR:00100382", + "urlPattern": "http://antirrhinum.net/cgi-bin/ace/generic/tree/DragonDB?name={$id}&class=Allele", + "name": "DragonDB Allele at University of British Columbia", + "description": "DragonDB Allele at University of British Columbia", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "cho", + "resourceHomeUrl": "http://www.antirrhinum.net/", + "institution": { + "id": 867, + "name": "University of British Columbia, Vancouver", + "homeUrl": "https://www.ubc.ca/", + "description": "The University of British Columbia is a global centre for teaching, learning and research, consistently ranked among the top 20 public universities in the world. UBC embraces innovation and transforms ideas into action. Since 1915, UBC has been opening doors of opportunity for people with the curiosity, drive and vision to shape a better world.", + "rorId": "https://ror.org/03rmrcq20", + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "cho", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 923, + "prefix": "vbase2", + "mirId": "MIR:00000320", + "name": "Vbase2", + "pattern": "^\\w+$", + "description": "The database VBASE2 provides germ-line sequences of human and mouse immunoglobulin variable (V) genes.", + "created": "2019-06-11T14:16:52.167+00:00", + "modified": "2019-06-11T14:16:52.167+00:00", + "resources": [ + { + "id": 925, + "mirId": "MIR:00100403", + "urlPattern": "http://www.vbase2.org/vgene.php?id={$id}", + "name": "Vbase2 at German Research Centre for Biotechnology", + "description": "Vbase2 at German Research Centre for Biotechnology", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "humIGHV025", + "resourceHomeUrl": "http://www.vbase2.org/vbase2.php", + "institution": { + "id": 924, + "name": "Department of Experimental Immunology, German Research Centre for Biotechnology, Braunschweig", + "homeUrl": "http://www.helmholtz-hzi.de", + "description": "HZI is Germany\u2019s largest academic institution dedicated exclusively to infection research. In line with its mission, the centre develops new strategies for the early detection, prevention, and treatment of infectious diseases. HZI researchers investigate bacterial and viral pathogens of high clinical relevance, elucidate their interactions with the host\u2018s immune system and explore new ways to prevent and combat infections.", + "rorId": null, + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "humIGHV025", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 935, + "prefix": "mmrrc", + "mirId": "MIR:00000324", + "name": "MMRRC", + "pattern": "^\\d+$", + "description": "The MMRRC database is a repository of available mouse stocks and embryonic stem cell line collections.", + "created": "2019-06-11T14:16:53.082+00:00", + "modified": "2019-06-11T14:16:53.082+00:00", + "resources": [ + { + "id": 937, + "mirId": "MIR:00100414", + "urlPattern": "http://www.mmrrc.org/catalog/getSDS.php?mmrrc_id={$id}", + "name": "MMRRC at University of North Carolina", + "description": "MMRRC at University of North Carolina", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "70", + "resourceHomeUrl": "http://www.mmrrc.org/", + "institution": { + "id": 936, + "name": "University of North Carolina", + "homeUrl": "https://uncw.edu/", + "description": "UNCW students enjoy a powerful and supportive academic experience that nurtures creative inquiry, stimulates critical thinking and welcomes thoughtful expression in a beautiful coastal setting. One of 17 institutions in the UNC System, UNCW is a nationally recognized large public doctoral university with a private feel.", + "rorId": "https://ror.org/02t0qr014", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "70", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1074, + "prefix": "panther.node", + "mirId": "MIR:00000374", + "name": "PANTHER Node", + "pattern": "^PTN\\d{9}$", + "description": "The PANTHER (Protein ANalysis THrough Evolutionary Relationships) Classification System is a resource that classifies genes by their functions, using published scientific experimental evidence and evolutionary relationships to predict function even in the absence of direct experimental evidence. PANTHER tree is a key element of the PANTHER System to represent \u2018all\u2019 of the evolutionary events in the gene family. PANTHER nodes represent the evolutionary events, either speciation or duplication, within the tree. PANTHER is maintaining stable identifier for these nodes.", + "created": "2019-06-11T14:17:04.735+00:00", + "modified": "2019-06-11T14:17:04.735+00:00", + "resources": [ + { + "id": 1075, + "mirId": "MIR:00100475", + "urlPattern": "http://www.pantree.org/node/annotationNode.jsp?id={$id}", + "name": "PANTHER Node at USC (Los Angeles)", + "description": "PANTHER Node at USC (Los Angeles)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "PTN000000026", + "resourceHomeUrl": "http://pantree.org/", + "institution": { + "id": 94, + "name": "Keck School of Medicine, University of Southern California", + "homeUrl": "https://www.keckmedicine.org/", + "description": "Keck Medicine of USC is the University of Southern California\u2019s medical enterprise, one of only two university-based medical systems in the Los Angeles area. Keck Medicine combines academic excellence, world-class research and state-of-the-art facilities to provide highly specialized care for some of the most acute patients in the country. ", + "rorId": "https://ror.org/01rq8ck58", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PTN000000026", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1132, + "prefix": "efo", + "mirId": "MIR:00000391", + "name": "Experimental Factor Ontology", + "pattern": "^\\d{7}$", + "description": "The Experimental Factor Ontology (EFO) provides a systematic description of many experimental variables available in EBI databases. It combines parts of several biological ontologies, such as anatomy, disease and chemical compounds. The scope of EFO is to support the annotation, analysis and visualization of data handled by the EBI Functional Genomics Team.", + "created": "2019-06-11T14:17:09.753+00:00", + "modified": "2019-06-11T14:17:09.753+00:00", + "resources": [ + { + "id": 1134, + "mirId": "MIR:00100510", + "urlPattern": "http://purl.bioontology.org/ontology/EFO/efo:EFO_{$id}", + "name": "EFO through BioPortal", + "description": "EFO through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "0004859", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/EFO", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1135, + "mirId": "MIR:00100511", + "urlPattern": "https://www.ebi.ac.uk/efo/EFO_{$id}", + "name": "EFO through Functional Genomics Group (EBI)", + "description": "EFO through Functional Genomics Group (EBI)", + "official": false, + "providerCode": "ebi", + "sampleId": "0004859", + "resourceHomeUrl": "https://www.ebi.ac.uk/efo/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1133, + "mirId": "MIR:00100509", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/efo/terms?obo_id=EFO:{$id}", + "name": "EFO through OLS", + "description": "EFO through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "0004859", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/efo", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0004859", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1189, + "prefix": "fbol", + "mirId": "MIR:00000410", + "name": "Fungal Barcode", + "pattern": "^\\d+$", + "description": "DNA barcoding is the use of short standardised segments of the genome for identification of species in all the Kingdoms of Life. The goal of the Fungal Barcoding site is to promote the DNA barcoding of fungi and other fungus-like organisms.", + "created": "2019-06-11T14:17:14.533+00:00", + "modified": "2019-06-11T14:17:14.533+00:00", + "resources": [ + { + "id": 1191, + "mirId": "MIR:00100532", + "urlPattern": "http://www.fungalbarcoding.org/BioloMICS.aspx?Table=Fungal barcodes&Rec={$id}&Fields=All&ExactMatch=T", + "name": "Fungal Barcode at Fungal Biodiversity Centre", + "description": "Fungal Barcode at Fungal Biodiversity Centre", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "2224", + "resourceHomeUrl": "http://www.fungalbarcoding.org/", + "institution": { + "id": 547, + "name": "CBS-KNAW Fungal Biodiversity Centre, Utrecht", + "homeUrl": "https://wi.knaw.nl/", + "description": "The Westerdijk Fungal Biodiversity Institute performs highly innovative mycological research that contributes to the discovery and understanding of fungi and its biodiversity and potential solutions to societal challenges. The Westerdijk Institute has an encompassing and high quality collection of living fungi and related meta data that is highly utilized by public and private parties.\nThe main focus of the Westerdijk Fungal Biodiversity Institute is and will continue to be to explore, study and preserve our fungal collection. We recognize the enormous potential of fungi in the application of solving the world\u2019s biggest challenges. We therefore enhance our partnering with the scientific community, both in the academic, medical, agricultural and industrial field for fundamental and applied research. We also built a new wing to our institute, dedicated to novel product discovery. ", + "rorId": "https://ror.org/030a5r161", + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + } + }, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2224", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1270, + "prefix": "genprop", + "mirId": "MIR:00000443", + "name": "Genome Properties", + "pattern": "^GenProp\\d+$", + "description": "Genome properties is an annotation system whereby functional attributes can be assigned to a genome, based on the presence of a defined set of protein signatures within that genome.", + "created": "2019-06-11T14:17:21.507+00:00", + "modified": "2019-06-11T14:17:21.507+00:00", + "resources": [ + { + "id": 1271, + "mirId": "MIR:00100910", + "urlPattern": "https://www.ebi.ac.uk/interpro/genomeproperties/#{$id}", + "name": "Genome Properties", + "description": "Genome Properties", + "official": true, + "providerCode": "ebi", + "sampleId": "GenProp0699", + "resourceHomeUrl": "https://www.ebi.ac.uk/interpro/genomeproperties/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "GenProp0699", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1275, + "prefix": "ma", + "mirId": "MIR:00000445", + "name": "Mouse Adult Gross Anatomy", + "pattern": "^MA:\\d+$", + "description": "A structured controlled vocabulary of the adult anatomy of the mouse (Mus)", + "created": "2019-06-11T14:17:21.919+00:00", + "modified": "2019-06-11T14:17:21.919+00:00", + "resources": [ + { + "id": 1276, + "mirId": "MIR:00100576", + "urlPattern": "http://purl.bioontology.org/ontology/MA/MA:{$id}", + "name": "Mouse Adult Gross Anatomy through BioPortal", + "description": "Mouse Adult Gross Anatomy through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "0002502", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/MA", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1279, + "mirId": "MIR:00100578", + "urlPattern": "http://www.informatics.jax.org/searches/AMA.cgi?id=MA:{$id}", + "name": "Mouse Adult Gross Anatomy at The Jackson Laboratory", + "description": "Mouse Adult Gross Anatomy at The Jackson Laboratory", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "0002502", + "resourceHomeUrl": "http://www.informatics.jax.org/", + "institution": { + "id": 91, + "name": "The Jackson Laboratory", + "homeUrl": "https://www.jax.org/#", + "description": "The Jackson Laboratory (JAX) is an independent, nonprofit biomedical research organization that leverages a unique combination of research, education and resources to achieve our mission: We DISCOVER precise genomic solutions for disease and EMPOWER the global biomedical community in its shared quest to improve human health.", + "rorId": "https://ror.org/021sy4w91", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1277, + "mirId": "MIR:00100577", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/ma/terms?obo_id=MA:{$id}", + "name": "Mouse Adult Gross Anatomy through OLS", + "description": "Mouse Adult Gross Anatomy through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "0002502", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/ma", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0002502", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1395, + "prefix": "adw", + "mirId": "MIR:00000492", + "name": "Animal Diversity Web", + "pattern": "^[A-Z_a-z]+$", + "description": "Animal Diversity Web (ADW) is an online database of animal natural history, distribution, classification, and conservation biology.", + "created": "2019-06-11T14:17:32.366+00:00", + "modified": "2019-06-11T14:17:32.366+00:00", + "resources": [ + { + "id": 1397, + "mirId": "MIR:00100633", + "urlPattern": "https://animaldiversity.org/accounts/{$id}/", + "name": "Animal Diversity Web at University of Michigan", + "description": "Animal Diversity Web at University of Michigan", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Lycalopex_vetulus", + "resourceHomeUrl": "https://animaldiversity.org/", + "institution": { + "id": 1396, + "name": "University of Michigan Museum of Zoology, Ann Arbor, Michigan", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Lycalopex_vetulus", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1507, + "prefix": "google.patent", + "mirId": "MIR:00000537", + "name": "Google Patents", + "pattern": "^[A-Z]{2}\\d+([A-Z])?$", + "description": "Google Patents covers the entire collection of granted patents and published patent applications from the USPTO, EPO, and WIPO. US patent documents date back to 1790, EPO and WIPO to 1978. Google Patents can be searched using patent number, inventor, classification, and filing date.", + "created": "2019-06-11T14:17:43.371+00:00", + "modified": "2019-06-11T14:17:43.371+00:00", + "resources": [ + { + "id": 1509, + "mirId": "MIR:00100714", + "urlPattern": "https://www.google.com/patents/{$id}", + "name": "Google Patents at Google", + "description": "Google Patents at Google", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "US4145692", + "resourceHomeUrl": "https://www.google.com/patents/", + "institution": { + "id": 1508, + "name": "Google Incorporated", + "homeUrl": "https://www.google.co.uk/", + "description": "Google LLC is an American multinational technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, artificial intelligence, and consumer electronics.", + "rorId": "https://ror.org/024bc3e07", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "US4145692", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1528, + "prefix": "lincs.protein", + "mirId": "MIR:00000545", + "name": "LINCS Protein", + "pattern": "^\\d+$", + "description": "The HMS LINCS Database currently contains information on experimental reagents (small molecule perturbagens, cells, and proteins). It aims to collect and disseminate information relating to the fundamental principles of cellular response in humans to perturbation. This collection references proteins.", + "created": "2019-06-11T14:17:45.145+00:00", + "modified": "2019-06-11T14:17:45.145+00:00", + "resources": [ + { + "id": 1529, + "mirId": "MIR:00100722", + "urlPattern": "http://lincs.hms.harvard.edu/db/proteins/{$id}/", + "name": "LINCS Protein at Harvard Medical School", + "description": "LINCS Protein at Harvard Medical School", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "200282", + "resourceHomeUrl": "http://lincs.hms.harvard.edu/db/proteins/", + "institution": { + "id": 2745, + "name": "Harvard Medical School", + "homeUrl": "https://hms.harvard.edu/", + "description": "Since the School was established in 1782, faculty members have improved human health by innovating in their roles as physicians, mentors and scholars. They\u2019ve piloted educational models, developed new curricula to address emerging needs in health care, and produced thousands of leaders and compassionate caregivers who are shaping the fields of science and medicine throughout the world with their expertise and passion.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "200282", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1593, + "prefix": "sasbdb", + "mirId": "MIR:00000572", + "name": "SASBDB", + "pattern": "^[Ss][Aa][Ss][A-Za-z0-9]{3}[0-9]$", + "description": "Small Angle Scattering Biological Data Bank (SASBDB) is a curated repository for small angle X-ray scattering (SAXS) and neutron scattering (SANS) data and derived models. Small angle scattering (SAS) of X-ray and neutrons provides structural information on biological macromolecules in solution at a resolution of 1-2 nm. SASBDB provides freely accessible and downloadable experimental data, which are deposited together with the relevant experimental conditions, sample details, derived models and their fits to the data.", + "created": "2019-06-11T14:17:51.650+00:00", + "modified": "2019-06-11T14:17:51.650+00:00", + "resources": [ + { + "id": 1595, + "mirId": "MIR:00100763", + "urlPattern": "http://www.sasbdb.org/data/{$id}", + "name": "SASBDB at European Molecular Biology Laboratory", + "description": "SASBDB at European Molecular Biology Laboratory", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "SASDAX8", + "resourceHomeUrl": "http://www.sasbdb.org/", + "institution": { + "id": 1594, + "name": "European Molecular Biology Lab Hamburg Outstation", + "homeUrl": "https://www.embl-hamburg.de", + "description": "EMBL is an intergovernmental organisation specialising in basic research in the life sciences, funded by public research monies from more than 20 member states, including much of Europe and Israel, and two associate members, Argentina and Australia. EMBL is led by the Director General, currently Professor Edith Heard, appointed by the governing body, EMBL Council. The Council is comprised of representatives of all member and associate member states.\nActivities at EMBL Hamburg focus on state-of-the-art structural biology methods using synchrotron radiation. The unit is situated on campus of the German Synchrotron Research Centre (DESY), which hosts leading facilities for synchrotron radiation (PETRA-III) and free electron lasers (FLASH and XFEL, under construction).", + "rorId": "https://ror.org/050589e39", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "SASDAX8", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1752, + "prefix": "microscope", + "mirId": "MIR:00000631", + "name": "MicroScope", + "pattern": "^\\d+$", + "description": "MicroScope is an integrative resource that supports systematic and efficient revision of microbial genome annotation, data management and comparative analysis.", + "created": "2019-06-11T14:18:06.853+00:00", + "modified": "2019-06-11T14:18:06.853+00:00", + "resources": [ + { + "id": 1754, + "mirId": "MIR:00100836", + "urlPattern": "http://www.genoscope.cns.fr/agc/microscope/mage/info.php?id={$id}", + "name": "MicroScope", + "description": "MicroScope", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "5601141", + "resourceHomeUrl": "http://www.genoscope.cns.fr/agc/microscope", + "institution": { + "id": 1753, + "name": "Universit\u00e9 \u00c9vry-Val-d'Essonne, CEA, Institut de G\u00e9nomique - Genoscope, Laboratoire d'Analyses Bioinformatiques pour la G\u00e9nomique et le M\u00e9tabolisme, Evry", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "5601141", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1798, + "prefix": "mex", + "mirId": "MIR:00000648", + "name": "Metabolome Express", + "pattern": "^\\d+$", + "description": "A public place to process, interpret and share GC/MS metabolomics datasets.", + "created": "2019-06-11T14:18:10.861+00:00", + "modified": "2019-06-11T14:18:10.861+00:00", + "resources": [ + { + "id": 1800, + "mirId": "MIR:00100862", + "urlPattern": "https://www.metabolome-express.org/datasetview.php?datasetid={$id}", + "name": "Metabolome Express", + "description": "Metabolome Express", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "36", + "resourceHomeUrl": "https://www.metabolome-express.org/", + "institution": { + "id": 1799, + "name": "Centre of Excellence in Plant Energy Biology", + "homeUrl": "https://plantenergy.edu.au/", + "description": "The Australian Research Council Centre of Excellence in Plant Energy Biology (PEB) is a cutting-edge research centre focused on better understanding the ways plants capture, convert and use energy in response to environmental change, with a view towards improved plant energy efficiency.", + "rorId": "https://ror.org/01a1mq059", + "location": { + "countryCode": "AU", + "countryName": "Australia" + } + }, + "location": { + "countryCode": "AU", + "countryName": "Australia" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1801, + "mirId": "MIR:00100863", + "urlPattern": "https://www.omicsdi.org/dataset/metabolome_express/MEX{$id}", + "name": "Metabolome Express through OmicsDI", + "description": "Metabolome Express through OmicsDI", + "official": false, + "providerCode": "omicsdi", + "sampleId": "36", + "resourceHomeUrl": "https://www.omicsdi.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "36", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1942, + "prefix": "erm", + "mirId": "MIR:00000763", + "name": "European Registry of Materials", + "pattern": "^ERM[0-9]{8}$", + "description": "The European Registry of Materials is a simple registry with the sole purpose to mint material identifiers to be used by research projects throughout the life cycle of their project.", + "created": "2019-06-19T15:38:51.382+00:00", + "modified": "2019-06-19T15:38:51.382+00:00", + "resources": [ + { + "id": 1943, + "mirId": "MIR:00000711", + "urlPattern": "https://nanocommons.github.io/identifiers/registry#{$id}", + "name": "European Registry of Materials", + "description": "The European Registry of Materials is a simple registry with the sole purpose to mint material identifiers to be used by research projects throughout the life cycle of their project.", + "official": true, + "providerCode": "erm", + "sampleId": "ERM00000044", + "resourceHomeUrl": "https://nanocommons.github.io/identifiers/", + "institution": { + "id": 283, + "name": "Maastricht University", + "homeUrl": "https://www.maastrichtuniversity.nl", + "description": "Maastricht University (UM) is the most international university in the Netherlands and, with 18,000 students and 4,400 employees, is still growing. The university stands out for its innovative education model, international character and multidisciplinary approach to research and education.\nThanks to its high-quality research and study programmes as well as a strong focus on social engagement, UM has quickly built up a solid reputation. Today it is considered one of the best young universities in the world.", + "rorId": "https://ror.org/02jz4aj89", + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + } + }, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ERM00000044", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2085, + "prefix": "minid.test", + "mirId": "MIR:00000707", + "name": "MINID Test", + "pattern": "[A-Za-z0-9]+$", + "description": "Minid are identifiers used to provide robust reference to intermediate data generated during the course of a research investigation. This is a prefix for referencing identifiers in the minid test namespace. ", + "created": "2020-02-25T11:14:38.686+00:00", + "modified": "2020-02-28T10:24:36.137+00:00", + "resources": [ + { + "id": 2086, + "mirId": "MIR:00000724", + "urlPattern": "https://hdl.handle.net/hdl:20.500.12633/{$id}", + "name": "FAIR Research", + "description": "FAIR Research is a collaboration of the Informatics Systems Research Division at the Information Sciences Institute of University of Southern California and the Computational Systems Division at the University of Chicago.", + "official": true, + "providerCode": "fair", + "sampleId": "3SBPLMKKVEVR", + "resourceHomeUrl": "https://fair-research.org", + "institution": { + "id": 1781, + "name": "University of Southern California", + "homeUrl": "https://www.usc.edu/", + "description": "The University of Southern California is a leading private research university located in Los Angeles \u2014 a global center for arts, technology and international business. It is home to the College of Letters, Arts and Sciences and 21 exceptional academic schools and units. USC\u2019s Health Sciences campus houses renowned specialized care and research in cancer, stem cell and regenerative medicine, orthopedics and sports medicine. The university is the largest private sector employer in the city of Los Angeles, responsible for $8 billion annually in economic activity in the region.", + "rorId": "https://ror.org/03taz7m60", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "3SBPLMKKVEVR", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 794, + "prefix": "knapsack", + "mirId": "MIR:00000271", + "name": "KNApSAcK", + "pattern": "^C\\d{8}", + "description": "KNApSAcK provides information on metabolites and the\ntaxonomic class with which they are associated.", + "created": "2019-06-11T14:16:41.635+00:00", + "modified": "2020-04-22T09:28:07.963+00:00", + "resources": [ + { + "id": 796, + "mirId": "MIR:00100350", + "urlPattern": "http://www.knapsackfamily.com/knapsack_core/information.php?word={$id}", + "name": "KNApSAcK at NAIST", + "description": "KNApSAcK at NAIST", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "C00000001", + "resourceHomeUrl": "http://www.knapsackfamily.com/KNApSAcK/", + "institution": { + "id": 795, + "name": "Nara Institute of Science and Technology", + "homeUrl": "https://www.naist.jp/en/", + "description": "Nara Institute of Science and Technology (NAIST) is a Japanese national university located in Kansai Science City, a border region between Nara, Osaka, and Kyoto. Founded in 1991, NAIST consisted of graduate schools in three integrated areas: information science, biological sciences, and materials science.", + "rorId": "https://ror.org/05bhada84", + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "C00000001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2524, + "prefix": "ped.ensemble", + "mirId": "MIR:00000795", + "name": "Protein Ensemble Database ensemble", + "pattern": "^PED\\d{5}e\\d{3}$", + "description": "The Protein Ensemble Database is an open access database for the deposition of structural ensembles, including intrinsically disordered proteins.", + "created": "2021-02-17T18:06:52.762+00:00", + "modified": "2021-02-17T18:06:52.762+00:00", + "resources": [ + { + "id": 2525, + "mirId": "MIR:00000791", + "urlPattern": "https://proteinensemble.org/{$id}", + "name": "PED - Protein Ensemble Database", + "description": "The Protein Ensemble Database (PED) is an open access database for the deposition of structural ensembles, including intrinsically disordered proteins.", + "official": true, + "providerCode": "ped.ensemble", + "sampleId": "PED00017e001", + "resourceHomeUrl": "https://proteinensemble.org/", + "institution": { + "id": 1769, + "name": "University of Padua", + "homeUrl": "https://www.unipd.it/en/", + "description": "he University of Padua is one of Europe\u2019s oldest and most prestigious seats of learning. As a multi-disciplinary institute of higher education, the University aims to provide its students with professional training and a solid cultural background. The qualification received from the University of Padua act as a symbol of the ambitious objectives respected and coveted by both students and employers alike.", + "rorId": "https://ror.org/00240q980", + "location": { + "countryCode": "IT", + "countryName": "Italy" + } + }, + "location": { + "countryCode": "IT", + "countryName": "Italy" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PED00017e001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2702, + "prefix": "cellrepo", + "mirId": "MIR:00000829", + "name": "Cell Version Control Repository", + "pattern": "^[0-9]+$", + "description": "The Cell Version Control Repository is the single worldwide version control repository for engineered and natural cell lines", + "created": "2021-06-24T15:54:23.109+00:00", + "modified": "2021-06-24T15:54:23.109+00:00", + "resources": [ + { + "id": 2703, + "mirId": "MIR:00000826", + "urlPattern": "https://www.cellrepo.com/repositories/{$id}", + "name": "CellRepo", + "description": "CellRepo is the single worldwide version control repository for engineered and natural cell lines", + "official": true, + "providerCode": "cellrepo", + "sampleId": "7", + "resourceHomeUrl": "https://www.cellrepo.com/", + "institution": { + "id": 2701, + "name": "Interdisciplinary Computing and Complex BioSystems (ICOS) Research Group, Newcastle University, Newcastle upon Tyne, UK", + "homeUrl": "https://ico2s.org/", + "description": "The mission of the ICOS group is to carry out ground breaking research at the interface of computing science and complex biological systems. We seek to create the next generation of algorithms that provide innovative solutions to problems arising in natural complex systems (e.g. in biology, chemistry, physics) as well as synthetic ones (e.g. in biological engineering, health care, software engineering) and derive new knowledge from them. To accomplish its mission, the group leverages its interdisciplinary expertise in Machine Intelligence, Complex Systems and Computational Biology and pursues collaborative activities with relevant stakeholders.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "82", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2709, + "prefix": "mlc", + "mirId": "MIR:00000828", + "name": "MLCommons Association", + "pattern": "^[0-9a-zA-Z\\.\\-\\_]+$", + "description": "MLCommons Association artifacts, including benchmark results, datasets, and saved models.", + "created": "2021-06-24T16:02:06.844+00:00", + "modified": "2021-06-24T16:02:06.844+00:00", + "resources": [ + { + "id": 2710, + "mirId": "MIR:00000823", + "urlPattern": "https://www.mlcommons.org/mlc-id/{$id}", + "name": "MLCommons Association", + "description": "The MLCommons Association is a non-profit founded to \"make ML better for everyone\" through benchmarks, public datasets, and best practices. The MLCommons board has representatives from Alibaba, Google, GraphCore, Facebook, Intel, Qualcomm, Myrtle.ai, NVIDIA, and a Harvard faculty member, and the organization has over 50 members consisting of companies and academics.", + "official": true, + "providerCode": "mlc", + "sampleId": "0.7-123", + "resourceHomeUrl": "https://mlcommons.org/en/", + "institution": { + "id": 2708, + "name": "MLCommons Association", + "homeUrl": "https://mlcommons.org/", + "description": "The MLCommons Association is a non-profit founded to \"make ML better for everyone\" through benchmarks, public datasets, and best practices. The MLCommons board has representatives from Alibaba, Google, GraphCore, Facebook, Intel, Qualcomm, Myrtle.ai, NVIDIA, and a Harvard faculty member, and the organization has over 50 members consisting of companies and academics.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0.7-123", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2995, + "prefix": "vcell", + "mirId": "MIR:00000893", + "name": "VCell Published Models", + "pattern": "^\\d{5,}$", + "description": "Models developed with the Virtual Cell (VCell) software prorgam.", + "created": "2022-01-09T18:57:18.476+00:00", + "modified": "2022-01-09T18:57:18.476+00:00", + "resources": [ + { + "id": 2996, + "mirId": "MIR:00000892", + "urlPattern": "https://vcell.org/biomodel-{$id}", + "name": "University of Connecticut Health Center", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/02kzs4y22' with Wikidata IDs [Q7895298], and ISNI IDs [0000000419370394]", + "official": true, + "providerCode": "uchc", + "sampleId": "201022999", + "resourceHomeUrl": "https://health.uconn.edu/", + "institution": { + "id": 2994, + "name": "University of Connecticut Health Center", + "homeUrl": "https://health.uconn.edu/", + "description": "UConn Health is a vibrant, integrated academic medical center that is entering an era of unprecedented growth in all three areas of its mission: academics, research, and clinical care. A commitment to human health and well-being has been of utmost importance to UConn Health since the founding of the University of Connecticut Schools of Medicine and Dental Medicine in 1961. Based on a strong foundation of groundbreaking research, first-rate education, and quality clinical care, we have expanded our medical missions over the decades. In just over 50 years, UConn Health has evolved to encompass more research endeavors, to provide more ways to access our superior care, and to innovate both practical medicine and our methods of educating the practitioners of tomorrow.", + "rorId": "https://ror.org/02kzs4y22", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "201022999", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3292, + "prefix": "clb", + "mirId": "MIR:00000964", + "name": "ChecklistBank", + "pattern": "^[0-9]+(LR)?$", + "description": "ChecklistBank is an index and repository for taxonomic and nomenclatural datasets", + "created": "2022-11-03T14:17:05.019+00:00", + "modified": "2022-11-03T14:17:05.019+00:00", + "resources": [ + { + "id": 3293, + "mirId": "MIR:00000963", + "urlPattern": "https://www.checklistbank.org/dataset/{$id}", + "name": "ChecklistBank", + "description": "ChecklistBank at GBIF. Codeveloped with the Catalogue of Life", + "official": true, + "providerCode": "clb", + "sampleId": "1010", + "resourceHomeUrl": "https://www.checklistbank.org", + "institution": { + "id": 3291, + "name": "Global Biodiversity Information Facility", + "homeUrl": "https://www.gbif.org/", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/05fjyn938' with Wikidata IDs [Q1531570], and no ISNI information", + "rorId": "https://ror.org/05fjyn938", + "location": { + "countryCode": "DK", + "countryName": "Denmark" + } + }, + "location": { + "countryCode": "DK", + "countryName": "Denmark" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1010", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 220, + "prefix": "mge", + "mirId": "MIR:00000063", + "name": "Aclame", + "pattern": "^mge:\\d+$", + "description": "ACLAME is a database dedicated to the collection and classification of mobile genetic elements (MGEs) from various sources, comprising all known phage genomes, plasmids and transposons.", + "created": "2019-06-11T14:15:49.786+00:00", + "modified": "2023-09-12T09:47:26.445+00:00", + "resources": [ + { + "id": 222, + "mirId": "MIR:00100091", + "urlPattern": "http://aclame.ulb.ac.be/perl/Aclame/Genomes/mge_view.cgi?view=info&id=mge:{$id}", + "name": "Aclame database of mobile genetic elements", + "description": "Aclame database of mobile genetic elements", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "2", + "resourceHomeUrl": "http://aclame.ulb.ac.be/", + "institution": { + "id": 221, + "name": "Service de Conformation de Macromol\u00e9cules Biologiques et de Bioinformatique, Universit\u00e9 Libre de Bruxelles", + "homeUrl": "https://www.ulb.be/", + "description": " Four scientific Nobel Prizes, one Fields Medal, three Wolf Prizes are further evidence of the University's longstanding tradition of excellence. The Universit\u00e9 libre de Bruxelles is an active member of the Research Area: ULB has received HR Excellence in Research award from the EU (EURAXESS) and also EU funding to hire post-doctoral researchers (COFUND program), for example. Over the past few years, it has obtained 49 Grants (24 Starting, 12 Consolidator, 11 Advanced, 1 Synergy and 1 Proof of Concept Grants) from the European Research Area (ERC) to finance research in Medicine, Mathematics, Political Science, Economics, Physics, etc. In addition, the University's Institute for European Studies is recognized as a \u201cJean Monnet European research centre\u201d for its work on European integration.", + "rorId": null, + "location": { + "countryCode": "BE", + "countryName": "Belgium" + } + }, + "location": { + "countryCode": "BE", + "countryName": "Belgium" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2", + "namespaceEmbeddedInLui": true, + "deprecated": true, + "deprecationDate": "2023-01-10T13:18:19.506+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": true, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3355, + "prefix": "sciflection", + "mirId": "MIR:00000973", + "name": "Sciflection", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", + "description": "Sciflection is a public repository for experiments and associated spectra, usually uploaded from Electronic Lab Notebooks, shared under FAIR conditions", + "created": "2022-11-29T12:03:56.649+00:00", + "modified": "2022-11-29T12:03:56.649+00:00", + "resources": [ + { + "id": 3356, + "mirId": "MIR:00000972", + "urlPattern": "https://sciflection.com/{$id}", + "name": "Sciformation Consulting GmbH", + "description": "Sciformation develops scientific software and integrated lab management solutions, comprising of chemical & hazardous material inventory, electronic lab notebook, analytical data management, literature, device databases and ordering systems. The high level of integration helps to gather comprehensive data describing the experiments, i.e. which batches or machinery was employed.", + "official": true, + "providerCode": "sciformation", + "sampleId": "5ede4273-b26c-4ea4-adb7-3ce294ab3397", + "resourceHomeUrl": "https://sciformation.com/sciflection.html", + "institution": { + "id": 3354, + "name": "Sciformation Consulting GmbH", + "homeUrl": "http://sciformation.com", + "description": "Sciformation develops scientific software and integrated lab management solutions, comprising of chemical & hazardous material inventory, electronic lab notebook, analytical data management, literature, device databases and ordering systems. The high level of integration helps to gather comprehensive data describing the experiments, i.e. which batches or machinery was employed.", + "rorId": null, + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "5ede4273-b26c-4ea4-adb7-3ce294ab3397", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1, + "prefix": "chebi", + "mirId": "MIR:00000002", + "name": "ChEBI", + "pattern": "^CHEBI:\\d+$", + "description": "Chemical Entities of Biological Interest (ChEBI) is a freely available dictionary of molecular entities focused on 'small' chemical compounds.", + "created": "2019-06-11T14:15:26.925+00:00", + "modified": "2019-06-11T14:15:26.925+00:00", + "resources": [ + { + "id": 3, + "mirId": "MIR:00100009", + "urlPattern": "https://www.ebi.ac.uk/chebi/searchId.do?chebiId=CHEBI:{$id}", + "name": "ChEBI (Chemical Entities of Biological Interest)", + "description": "ChEBI (Chemical Entities of Biological Interest)", + "official": true, + "providerCode": "ebi", + "sampleId": "36927", + "resourceHomeUrl": "https://www.ebi.ac.uk/chebi/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 6, + "mirId": "MIR:00100565", + "urlPattern": "http://purl.bioontology.org/ontology/CHEBI/CHEBI:{$id}", + "name": "ChEBI through BioPortal", + "description": "ChEBI through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "36927", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/CHEBI", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 4, + "mirId": "MIR:00100158", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/chebi/terms?obo_id=CHEBI:{$id}", + "name": "ChEBI through OLS", + "description": "ChEBI through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "36927", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/chebi", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "36927", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 13, + "prefix": "ec-code", + "mirId": "MIR:00000004", + "name": "Enzyme Nomenclature", + "pattern": "^\\d+\\.-\\.-\\.-|\\d+\\.\\d+\\.-\\.-|\\d+\\.\\d+\\.\\d+\\.-|\\d+\\.\\d+\\.\\d+\\.(n)?\\d+$", + "description": "The Enzyme Classification contains the recommendations of the Nomenclature Committee of the International Union of Biochemistry and Molecular Biology on the nomenclature and classification of enzyme-catalysed reactions.", + "created": "2019-06-11T14:15:28.483+00:00", + "modified": "2019-06-11T14:15:28.483+00:00", + "resources": [ + { + "id": 14, + "mirId": "MIR:00100001", + "urlPattern": "https://www.ebi.ac.uk/intenz/query?cmd=SearchEC&ec={$id}", + "name": "IntEnZ (Integrated relational Enzyme database)", + "description": "IntEnZ (Integrated relational Enzyme database)", + "official": false, + "providerCode": "intenz", + "sampleId": "1.1.1.1", + "resourceHomeUrl": "https://www.ebi.ac.uk/intenz/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 16, + "mirId": "MIR:00100002", + "urlPattern": "https://www.genome.jp/dbget-bin/www_bget?ec:{$id}", + "name": "KEGG Ligand Database for Enzyme Nomenclature", + "description": "KEGG Ligand Database for Enzyme Nomenclature", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1.1.1.1", + "resourceHomeUrl": "https://www.genome.jp/dbget-bin/www_bfind?enzyme", + "institution": { + "id": 15, + "name": "Kyoto University Bioinformatics Center", + "homeUrl": "https://www.bic.kyoto-u.ac.jp/", + "description": "The Bioinformatics Center aims at developing new informatics technologies for deciphering the genome, especially from the viewpoint of how life operates as a system, and promoting both basic and applied research areas in bioinformatics. The Center consists of three research laboratories, named Chemical Life Science, Mathematical Bioinformatics, and Bio-Knowledge Engineering, which focus on scientific discovery, algorithms, and data mining, respectively. ", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 20, + "mirId": "MIR:00100308", + "urlPattern": "http://www.enzyme-database.org/query.php?ec={$id}", + "name": "ExploreEnz at Trinity College", + "description": "ExploreEnz at Trinity College", + "official": false, + "providerCode": "expenz", + "sampleId": "1.1.1.1", + "resourceHomeUrl": "http://www.enzyme-database.org/", + "institution": { + "id": 19, + "name": "Trinity College, Dublin", + "homeUrl": "https://www.tcd.ie/", + "description": "Our university is pulsing with people, energy and ideas. Discover more about our community of staff, students and alumni, and how one of the world\u2019s great cities is home to one of the world\u2019s great universities \u2013 Trinity College Dublin. #ThinkTrinity", + "rorId": "https://ror.org/02tyrky19", + "location": { + "countryCode": "IE", + "countryName": "Ireland" + } + }, + "location": { + "countryCode": "IE", + "countryName": "Ireland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 22, + "mirId": "MIR:00100835", + "urlPattern": "https://www.ebi.ac.uk/enzymeportal/ec/{$id}", + "name": "Enzyme Portal through EMBL-EBI", + "description": "Enzyme Portal through EMBL-EBI", + "official": false, + "providerCode": "enzymeportal", + "sampleId": "1.1.1.1", + "resourceHomeUrl": "https://www.ebi.ac.uk/enzymeportal", + "institution": { + "id": 21, + "name": "Enzyme Portal at European Bioinformatics Institute, Hinxton, Cambridge", + "homeUrl": "https://www.ebi.ac.uk/enzymeportal/", + "description": "Enzyme Portal integrates publicly available information about enzymes, such as reaction mechanism, small-molecule chemistry, biochemical pathways and drug compounds.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 18, + "mirId": "MIR:00100003", + "urlPattern": "https://enzyme.expasy.org/EC/{$id}", + "name": "Enzyme nomenclature database, ExPASy (Expert Protein Analysis System)", + "description": "Enzyme nomenclature database, ExPASy (Expert Protein Analysis System)", + "official": false, + "providerCode": "expasy", + "sampleId": "1.1.1.1", + "resourceHomeUrl": "https://enzyme.expasy.org/", + "institution": { + "id": 1730, + "name": "SIB Swiss Institute of Bioinformatics", + "homeUrl": "https://www.sib.swiss", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "rorId": "https://ror.org/002n09z45", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1.1.1.1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 23, + "prefix": "uniprot", + "mirId": "MIR:00000005", + "name": "UniProt Knowledgebase", + "pattern": "^([A-N,R-Z][0-9]([A-Z][A-Z, 0-9][A-Z, 0-9][0-9]){1,2})|([O,P,Q][0-9][A-Z, 0-9][A-Z, 0-9][A-Z, 0-9][0-9])(\\.\\d+)?$", + "description": "The UniProt Knowledgebase (UniProtKB) is a comprehensive resource for protein sequence and functional information with extensive cross-references to more than 120 external databases. Besides amino acid sequence and a description, it also provides taxonomic data and citation information.", + "created": "2019-06-11T14:15:29.457+00:00", + "modified": "2019-06-11T14:15:29.457+00:00", + "resources": [ + { + "id": 27, + "mirId": "MIR:00100330", + "urlPattern": "https://www.ncbi.nlm.nih.gov/protein/{$id}", + "name": "UniProt through NCBI", + "description": "UniProt through NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "P0DP23", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/protein/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 25, + "mirId": "MIR:00100164", + "urlPattern": "http://purl.uniprot.org/uniprot/{$id}", + "name": "Universal Protein Resource using Persistent URL system", + "description": "Universal Protein Resource using Persistent URL system", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "P0DP23", + "resourceHomeUrl": "https://www.uniprot.org/", + "institution": { + "id": 24, + "name": "UniProt Consortium", + "homeUrl": "https://www.uniprot.org", + "description": "The Universal Protein Resource (UniProt) is a comprehensive resource for protein sequence and annotation data. The UniProt databases are the UniProt Knowledgebase (UniProtKB), the UniProt Reference Clusters (UniRef), and the UniProt Archive (UniParc). The UniProt consortium and host institutions EMBL-EBI, SIB and PIR are committed to the long-term preservation of the UniProt databases.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "P0DP23", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 28, + "prefix": "taxonomy", + "mirId": "MIR:00000006", + "name": "Taxonomy", + "pattern": "^\\d+$", + "description": "The taxonomy contains the relationships between all living forms for which nucleic acid or protein sequence have been determined.", + "created": "2019-06-11T14:15:29.882+00:00", + "modified": "2019-06-11T14:15:29.882+00:00", + "resources": [ + { + "id": 29, + "mirId": "MIR:00100007", + "urlPattern": "https://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?mode=Info&id={$id}", + "name": "NCBI Taxonomy", + "description": "NCBI Taxonomy", + "official": true, + "providerCode": "ncbi", + "sampleId": "9606", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/Taxonomy/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 30, + "mirId": "MIR:00100019", + "urlPattern": "https://purl.uniprot.org/taxonomy/{$id}", + "name": "Taxonomy through UniProt PURL", + "description": "Taxonomy through UniProt PURL", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "9606", + "resourceHomeUrl": "https://www.uniprot.org/taxonomy/", + "institution": { + "id": 24, + "name": "UniProt Consortium", + "homeUrl": "https://www.uniprot.org", + "description": "The Universal Protein Resource (UniProt) is a comprehensive resource for protein sequence and annotation data. The UniProt databases are the UniProt Knowledgebase (UniProtKB), the UniProt Reference Clusters (UniRef), and the UniProt Archive (UniParc). The UniProt consortium and host institutions EMBL-EBI, SIB and PIR are committed to the long-term preservation of the UniProt databases.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 31, + "mirId": "MIR:00100299", + "urlPattern": "https://www.ebi.ac.uk/ena/data/view/Taxon:{$id}", + "name": "European Nucleotide Archive (ENA)", + "description": "European Nucleotide Archive (ENA)", + "official": false, + "providerCode": "ebi", + "sampleId": "9606", + "resourceHomeUrl": "https://www.ebi.ac.uk/ena/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 32, + "mirId": "MIR:00100507", + "urlPattern": "http://purl.bioontology.org/ontology/NCBITAXON/{$id}", + "name": "BioPortal", + "description": "BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "9606", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/NCBITAXON", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 34, + "mirId": "MIR:00100695", + "urlPattern": "https://bio2rdf.org/taxonomy:{$id}", + "name": "Bio2RDF", + "description": "Bio2RDF", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "9606", + "resourceHomeUrl": "https://bio2rdf.org/", + "institution": { + "id": 33, + "name": "Bio2RDF.org", + "homeUrl": "https://bio2rdf.org", + "description": "Bio2RDF is an open-source project that uses Semantic Web technologies to build and provide the largest network of Linked Data for the Life Sciences. Bio2RDF defines a set of simple conventions to create RDF(S) compatible Linked Data from a diverse set of heterogeneously formatted sources obtained from multiple data providers.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 35, + "mirId": "MIR:00100770", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/ncbitaxon/terms?short_form=NCBITaxon_{$id}", + "name": "NCBI Taxonomy through OLS", + "description": "NCBI Taxonomy through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "9606", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/ncbitaxon/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "9606", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 36, + "prefix": "biomodels.db", + "mirId": "MIR:00000007", + "name": "BioModels Database", + "pattern": "^((BIOMD|MODEL)\\d{10})|(BMID\\d{12})$", + "description": "BioModels Database is a data resource that allows biologists to store, search and retrieve published mathematical models of biological interests.", + "created": "2019-06-11T14:15:30.877+00:00", + "modified": "2019-06-11T14:15:30.877+00:00", + "resources": [ + { + "id": 37, + "mirId": "MIR:00100006", + "urlPattern": "https://www.ebi.ac.uk/biomodels/{$id}", + "name": "BioModels Database", + "description": "BioModels Database", + "official": true, + "providerCode": "ebi", + "sampleId": "BIOMD0000000048", + "resourceHomeUrl": "https://www.ebi.ac.uk/biomodels/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 39, + "mirId": "MIR:00100107", + "urlPattern": "http://biomodels.caltech.edu/{$id}", + "name": "Caltech mirror", + "description": "Caltech mirror", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "BIOMD0000000048", + "resourceHomeUrl": "http://biomodels.caltech.edu/", + "institution": { + "id": 38, + "name": "California Institute of Technology", + "homeUrl": "https://ror.org/05dxps055", + "description": "Caltech is a world-renowned science and engineering institute that marshals some of the world's brightest minds and most innovative tools to address fundamental scientific questions and pressing societal challenges.\nThe Institute manages JPL for NASA, sending probes to explore the planets of our solar system and quantify changes on our home planet. Caltech also owns and operates large-scale research facilities such as the Seismological Laboratory and a global network of astronomical observatories, including the Palomar and W. M. Keck Observatories; and cofounded and comanages LIGO.", + "rorId": "https://ror.org/05dxps055", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 40, + "mirId": "MIR:00100855", + "urlPattern": "https://www.omicsdi.org/dataset/biomodels/{$id}", + "name": "BioModels through OmicsDI", + "description": "BioModels through OmicsDI", + "official": false, + "providerCode": "omicsdi", + "sampleId": "BIOMD0000000048", + "resourceHomeUrl": "https://www.omicsdi.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "BIOMD0000000048", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 43, + "prefix": "icd", + "mirId": "MIR:00000009", + "name": "ICD", + "pattern": "^[A-Z]\\d+(\\.[-\\d+])?$", + "description": "The International Classification of Diseases is the international standard diagnostic classification for all general epidemiological and many health management purposes.", + "created": "2019-06-11T14:15:31.658+00:00", + "modified": "2019-06-11T14:15:31.658+00:00", + "resources": [ + { + "id": 45, + "mirId": "MIR:00100016", + "urlPattern": "https://icd.who.int/browse10/2019/en#/{$id}", + "name": "International Statistical Classification of Diseases and Related Health Problems", + "description": "International Statistical Classification of Diseases and Related Health Problems", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "C34", + "resourceHomeUrl": "http://www.who.int/classifications/icd/en/", + "institution": { + "id": 44, + "name": "German Institute of Medical Documentation and Information", + "homeUrl": "https://www.bfarm.de/EN/Home/_node.html", + "description": "The German Institute for Medical Documentation and Information (German: Deutsches Institut f\u00fcr Medizinische Dokumentation und Information), abbreviated DIMDI, was a German organization responsible for medical information classification and management. It was a government Institute of the German Federal Ministry of Health and was located in Cologne, Germany. The DIMDI published official medical classifications such as ICD-10-GM and OPS (German Procedure Classification) and maintained medical terminology dictionaries, thesauri, nomenclatures and catalogs (e.g. MeSH, UMDNS, Alpha-ID, LOINC, OID) that are important for health information exchange and other applications. DIMDI also developed and operated database-supported information systems for drugs and medical devices and was responsible for a program of health technology assessment (HTA). It also provided information intended for patients. On 26 May 2020, the DIMDI was merged with the Federal Institute for Drugs and Medical Devices (BfArM) into a single agency under the auspices of the BfArM \"to combine the resources and expertise of both authorities\".", + "rorId": null, + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "C34", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 46, + "prefix": "intact", + "mirId": "MIR:00000010", + "name": "IntAct", + "pattern": "^EBI\\-[0-9]+$", + "description": "IntAct provides a freely available, open source database system and analysis tools for protein interaction data.", + "created": "2019-06-11T14:15:31.920+00:00", + "modified": "2019-06-11T14:15:31.920+00:00", + "resources": [ + { + "id": 47, + "mirId": "MIR:00100017", + "urlPattern": "https://www.ebi.ac.uk/intact/interaction/{$id}", + "name": "IntAct at EBI", + "description": "IntAct at EBI", + "official": true, + "providerCode": "ebi", + "sampleId": "EBI-2307691", + "resourceHomeUrl": "https://www.ebi.ac.uk/intact/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "EBI-2307691", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 48, + "prefix": "interpro", + "mirId": "MIR:00000011", + "name": "InterPro", + "pattern": "^IPR\\d{6}$", + "description": "InterPro is a database of protein families, domains and functional sites in which identifiable features found in known proteins can be applied to unknown protein sequences.", + "created": "2019-06-11T14:15:32.153+00:00", + "modified": "2019-06-11T14:15:32.153+00:00", + "resources": [ + { + "id": 49, + "mirId": "MIR:00100018", + "urlPattern": "https://www.ebi.ac.uk/interpro/entry/{$id}", + "name": "InterPro", + "description": "InterPro", + "official": true, + "providerCode": "ebi", + "sampleId": "IPR000100", + "resourceHomeUrl": "https://www.ebi.ac.uk/interpro/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 50, + "mirId": "MIR:00100697", + "urlPattern": "http://interpro.bio2rdf.org/describe/?url=http://bio2rdf.org/interpro:{$id}", + "name": "Bio2RDF", + "description": "Bio2RDF", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "IPR000100", + "resourceHomeUrl": "http://interpro.bio2rdf.org/fct/", + "institution": { + "id": 33, + "name": "Bio2RDF.org", + "homeUrl": "https://bio2rdf.org", + "description": "Bio2RDF is an open-source project that uses Semantic Web technologies to build and provide the largest network of Linked Data for the Life Sciences. Bio2RDF defines a set of simple conventions to create RDF(S) compatible Linked Data from a diverse set of heterogeneously formatted sources obtained from multiple data providers.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "IPR000100", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 51, + "prefix": "kegg.pathway", + "mirId": "MIR:00000012", + "name": "KEGG Pathway", + "pattern": "^\\w{2,4}\\d{5}$", + "description": "KEGG PATHWAY is a collection of manually drawn pathway maps representing our knowledge on the molecular interaction and reaction networks.", + "created": "2019-06-11T14:15:32.480+00:00", + "modified": "2019-06-11T14:15:32.480+00:00", + "resources": [ + { + "id": 52, + "mirId": "MIR:00100020", + "urlPattern": "https://www.kegg.jp/entry/{$id}", + "name": "KEGG PATHWAY Database", + "description": "KEGG PATHWAY Database", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "hsa00620", + "resourceHomeUrl": "https://www.genome.jp/kegg/pathway.html", + "institution": { + "id": 15, + "name": "Kyoto University Bioinformatics Center", + "homeUrl": "https://www.bic.kyoto-u.ac.jp/", + "description": "The Bioinformatics Center aims at developing new informatics technologies for deciphering the genome, especially from the viewpoint of how life operates as a system, and promoting both basic and applied research areas in bioinformatics. The Center consists of three research laboratories, named Chemical Life Science, Mathematical Bioinformatics, and Bio-Knowledge Engineering, which focus on scientific discovery, algorithms, and data mining, respectively. ", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "hsa00620", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 53, + "prefix": "kegg.compound", + "mirId": "MIR:00000013", + "name": "KEGG Compound", + "pattern": "^C\\d+$", + "description": "KEGG compound contains our knowledge on the universe of chemical substances that are relevant to life.", + "created": "2019-06-11T14:15:32.730+00:00", + "modified": "2019-06-11T14:15:32.730+00:00", + "resources": [ + { + "id": 54, + "mirId": "MIR:00100021", + "urlPattern": "https://www.kegg.jp/entry/{$id}", + "name": "KEGG LIGAND Database", + "description": "KEGG LIGAND Database", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "C12345", + "resourceHomeUrl": "https://www.genome.jp/kegg/ligand.html", + "institution": { + "id": 15, + "name": "Kyoto University Bioinformatics Center", + "homeUrl": "https://www.bic.kyoto-u.ac.jp/", + "description": "The Bioinformatics Center aims at developing new informatics technologies for deciphering the genome, especially from the viewpoint of how life operates as a system, and promoting both basic and applied research areas in bioinformatics. The Center consists of three research laboratories, named Chemical Life Science, Mathematical Bioinformatics, and Bio-Knowledge Engineering, which focus on scientific discovery, algorithms, and data mining, respectively. ", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "C12345", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 55, + "prefix": "kegg.reaction", + "mirId": "MIR:00000014", + "name": "KEGG Reaction", + "pattern": "^R\\d+$", + "description": "KEGG reaction contains our knowledge on the universe of reactions that are relevant to life.", + "created": "2019-06-11T14:15:32.930+00:00", + "modified": "2019-06-11T14:15:32.930+00:00", + "resources": [ + { + "id": 56, + "mirId": "MIR:00100022", + "urlPattern": "https://www.kegg.jp/entry/{$id}", + "name": "KEGG Reaction Database", + "description": "KEGG Reaction Database", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "R00100", + "resourceHomeUrl": "https://www.genome.jp/kegg/reaction/", + "institution": { + "id": 15, + "name": "Kyoto University Bioinformatics Center", + "homeUrl": "https://www.bic.kyoto-u.ac.jp/", + "description": "The Bioinformatics Center aims at developing new informatics technologies for deciphering the genome, especially from the viewpoint of how life operates as a system, and promoting both basic and applied research areas in bioinformatics. The Center consists of three research laboratories, named Chemical Life Science, Mathematical Bioinformatics, and Bio-Knowledge Engineering, which focus on scientific discovery, algorithms, and data mining, respectively. ", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "R00100", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 57, + "prefix": "pubmed", + "mirId": "MIR:00000015", + "name": "PubMed", + "pattern": "^\\d+$", + "description": "PubMed is a service of the U.S. National Library of Medicine that includes citations from MEDLINE and other life science journals for biomedical articles back to the 1950s.", + "created": "2019-06-11T14:15:33.142+00:00", + "modified": "2019-06-11T14:15:33.142+00:00", + "resources": [ + { + "id": 58, + "mirId": "MIR:00100023", + "urlPattern": "https://www.ncbi.nlm.nih.gov/pubmed/{$id}", + "name": "NCBI PubMed", + "description": "NCBI PubMed", + "official": true, + "providerCode": "ncbi", + "sampleId": "16333295", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/PubMed/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 60, + "mirId": "MIR:00100064", + "urlPattern": "http://www.hubmed.org/display.cgi?uids={$id}", + "name": "HubMed", + "description": "HubMed", + "official": false, + "providerCode": "hubmed", + "sampleId": "16333295", + "resourceHomeUrl": "http://www.hubmed.org/", + "institution": { + "id": 59, + "name": "University Health Network", + "homeUrl": "https://www.uhn.ca/", + "description": "The University Health Network has grown out of a series of mergers between our current hospitals, as we have adjusted and change to accommodate our growing and changing patient community in and around the GTA.", + "rorId": "https://ror.org/042xt5161", + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 62, + "mirId": "MIR:00100497", + "urlPattern": "http://europepmc.org/abstract/MED/{$id}", + "name": "Europe PMC", + "description": "Europe PMC", + "official": false, + "providerCode": "epmc", + "sampleId": "16333295", + "resourceHomeUrl": "http://europepmc.org/", + "institution": { + "id": 61, + "name": "Europe PubMed Central partners", + "homeUrl": "https://europepmc.org/", + "description": "Europe PMC provides comprehensive access to life sciences literature from trusted sources. It's available to anyone, anywhere for free. With Europe PMC you can search and read 42.1 million publications, preprints and other documents enriched with links to supporting data, reviews, protocols, and other relevant resources. ", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 64, + "mirId": "MIR:00100745", + "urlPattern": "http://linkedlifedata.com/resource/pubmed/id/{$id}", + "name": "PubMed through Linkedlife data", + "description": "PubMed through Linkedlife data", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "23735196", + "resourceHomeUrl": "http://linkedlifedata.com/", + "institution": { + "id": 63, + "name": "Linkedlifedata, Ontotext, Sofia", + "homeUrl": "http://linkedlifedata.com/", + "description": "Linked Life Data (LLD) is a data-as-a-service platform that provides access to 25 public biomedical databases through a single access point. The service allows writing of complex data analytical queries, answering complex bioinformatics questions such as 'give me all human genes located in Y-chromosome with the known molecular interactions'; simply navigate through the information, or export subsets like 'all approved drugs and their brand names'. ", + "rorId": null, + "location": { + "countryCode": "BG", + "countryName": "Bulgaria" + } + }, + "location": { + "countryCode": "BG", + "countryName": "Bulgaria" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 2466, + "mirId": "MIR:00000788", + "urlPattern": "https://scholia.toolforge.org/pubmed/{$id}", + "name": "Scholia", + "description": "Scholia is a service that creates visual scholarly profiles for topic, people, organizations, species, chemicals, etc using bibliographic and other information in Wikidata.", + "official": false, + "providerCode": "scholia", + "sampleId": "29029422", + "resourceHomeUrl": "https://scholia.toolforge.org/", + "institution": { + "id": 283, + "name": "Maastricht University", + "homeUrl": "https://www.maastrichtuniversity.nl", + "description": "Maastricht University (UM) is the most international university in the Netherlands and, with 18,000 students and 4,400 employees, is still growing. The university stands out for its innovative education model, international character and multidisciplinary approach to research and education.\nThanks to its high-quality research and study programmes as well as a strong focus on social engagement, UM has quickly built up a solid reputation. Today it is considered one of the best young universities in the world.", + "rorId": "https://ror.org/02jz4aj89", + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + } + }, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "16333295", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 65, + "prefix": "mim", + "mirId": "MIR:00000016", + "name": "OMIM", + "pattern": "^[*#+%^]?\\d{6}$", + "description": "Online Mendelian Inheritance in Man is a catalog of human genes and genetic disorders.", + "created": "2019-06-11T14:15:33.878+00:00", + "modified": "2019-06-11T14:15:33.878+00:00", + "resources": [ + { + "id": 67, + "mirId": "MIR:00100024", + "urlPattern": "https://omim.org/entry/{$id}", + "name": "OMIM at John Hopkins", + "description": "OMIM at John Hopkins", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "603903", + "resourceHomeUrl": "https://omim.org/", + "institution": { + "id": 66, + "name": "Johns Hopkins University, Baltimore, Maryland", + "homeUrl": "https://www.jhu.edu/", + "description": "A place that has revolutionized higher education in the U.S. and continues to bring knowledge and discoveries to the world.", + "rorId": "https://ror.org/00za53h95", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 68, + "mirId": "MIR:00100777", + "urlPattern": "http://mirror.omim.org/entry/{$id}", + "name": "OMIM mirror at John Hopkins", + "description": "OMIM mirror at John Hopkins", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "603903", + "resourceHomeUrl": "http://mirror.omim.org/", + "institution": { + "id": 66, + "name": "Johns Hopkins University, Baltimore, Maryland", + "homeUrl": "https://www.jhu.edu/", + "description": "A place that has revolutionized higher education in the U.S. and continues to bring knowledge and discoveries to the world.", + "rorId": "https://ror.org/00za53h95", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "603903", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 69, + "prefix": "pirsf", + "mirId": "MIR:00000017", + "name": "PIRSF", + "pattern": "^PIRSF\\d{6}$", + "description": "The PIR SuperFamily concept is being used as a guiding principle to provide comprehensive and non-overlapping clustering of UniProtKB sequences into a hierarchical order to reflect their evolutionary relationships.", + "created": "2019-06-11T14:15:34.294+00:00", + "modified": "2019-06-11T14:15:34.294+00:00", + "resources": [ + { + "id": 71, + "mirId": "MIR:00100025", + "urlPattern": "https://pir.georgetown.edu/cgi-bin/ipcSF?id={$id}", + "name": "PIRSF", + "description": "PIRSF", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "PIRSF000100", + "resourceHomeUrl": "https://pir.georgetown.edu/", + "institution": { + "id": 70, + "name": "Georgetown University Medical Center", + "homeUrl": "https://gumc.georgetown.edu", + "description": "As one of approximately 140 academic health and science centers in the United States, Georgetown University Medical Center seeks to provide, in a synergistic fashion, excellence in education \u2014 training physicians, nurses and other health care professionals, as well as biomedical scientists \u2014 and cutting-edge interdisciplinary research collaboration, enhancing our basic science and translational biomedical research capacity in order to improve human health. We have identified several areas of focus for our research. ", + "rorId": "https://ror.org/00hjz7x27", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PIRSF000100", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 72, + "prefix": "reactome", + "mirId": "MIR:00000018", + "name": "Reactome", + "pattern": "(^R-[A-Z]{3}-\\d+(-\\d+)?(\\.\\d+)?$)|(^REACT_\\d+(\\.\\d+)?$)", + "description": "The Reactome project is a collaboration to develop a curated resource of core pathways and reactions in human biology.", + "created": "2019-06-11T14:15:34.555+00:00", + "modified": "2019-06-11T14:15:34.555+00:00", + "resources": [ + { + "id": 74, + "mirId": "MIR:00100026", + "urlPattern": "https://reactome.org/content/detail/{$id}", + "name": "Reactome, a curated knowledgebase of biological pathways", + "description": "Reactome, a curated knowledgebase of biological pathways", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "R-HSA-201451", + "resourceHomeUrl": "https://www.reactome.org/", + "institution": { + "id": 73, + "name": "Ontario Institute for Cancer Research, NYU Medical School, Cold Spring Harbor Laboratory and European Bioinformatics Institute", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "R-HSA-201451", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 78, + "prefix": "pdb", + "mirId": "MIR:00000020", + "name": "Protein Data Bank", + "pattern": "^[0-9][A-Za-z0-9]{3}$", + "description": "The Protein Data Bank is the single worldwide archive of structural data of biological macromolecules.", + "created": "2019-06-11T14:15:35.100+00:00", + "modified": "2019-06-11T14:15:35.100+00:00", + "resources": [ + { + "id": 86, + "mirId": "MIR:00100166", + "urlPattern": "https://www.ebi.ac.uk/pdbsum/{$id}", + "name": "Protein Databank through PDBsum", + "description": "Protein Databank through PDBsum", + "official": false, + "providerCode": "ebi", + "sampleId": "2gc4", + "resourceHomeUrl": "https://www.ebi.ac.uk/pdbsum/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 80, + "mirId": "MIR:00100029", + "urlPattern": "https://www.rcsb.org/structure/{$id}", + "name": "RCSB PDB", + "description": "RCSB PDB", + "official": false, + "providerCode": "rcsb", + "sampleId": "2gc4", + "resourceHomeUrl": "https://www.rcsb.org/", + "institution": { + "id": 79, + "name": "Rutgers, The State University of New Jersey", + "homeUrl": "https://www.rutgers.edu/", + "description": "Rutgers, The State University of New Jersey, stands among America\u2019s highest-ranked, most diverse public research universities. The oldest, largest, and top-ranked public university in the New York/New Jersey metropolitan area, you\u2019ll find us at our main locations in three New Jersey cities, and our footprint can be seen around the region. We\u2019re an academic, health, and research powerhouse and a university of opportunity.", + "rorId": "https://ror.org/05vt9qd57", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 85, + "mirId": "MIR:00100165", + "urlPattern": "https://pdbj.org/mine/summary/{$id}", + "name": "Protein Data Bank Japan (PDBj)", + "description": "Protein Data Bank Japan (PDBj)", + "official": false, + "providerCode": "pdbj", + "sampleId": "2gc4", + "resourceHomeUrl": "http://www.pdbj.org/", + "institution": { + "id": 84, + "name": "Institute for Protein Research, Osaka University", + "homeUrl": "http://www.protein.osaka-u.ac.jp/en/", + "description": "In the genome-to-life process, there are complex networks driven by various molecules including proteins. In order to understand the principle of the network, the technologies that connect and analyze those molecular information are indispensable. Focusing on protein structure science, which is one of the strengths of this institute, we would like to promote cutting-edge protein research by combining technologies for network prediction, verification, design and synthesis. We appreciate your continued support and encouragement. ", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 81, + "mirId": "MIR:00100037", + "urlPattern": "https://www.ebi.ac.uk/pdbe/entry/pdb/{$id}", + "name": "Protein Databank in Europe (PDBe)", + "description": "Protein Databank in Europe (PDBe)", + "official": false, + "providerCode": "pdbe", + "sampleId": "2gc4", + "resourceHomeUrl": "http://www.pdbe.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 3061, + "mirId": "MIR:00001018", + "urlPattern": "https://www.wwpdb.org/pdb?id={$id}", + "name": "Worldwide Protein Data Bank", + "description": "The Worldwide PDB (wwPDB) organization manages the PDB archive and ensures that the PDB is freely and publicly available to the global community.", + "official": true, + "providerCode": "wwpdb", + "sampleId": "2g4c", + "resourceHomeUrl": "https://www.wwpdb.org/", + "institution": { + "id": 3060, + "name": "Worldwide Protein Data Bank", + "homeUrl": "https://www.wwpdb.org/", + "description": "The Worldwide PDB (wwPDB) organization manages the PDB archive and ensures that the PDB is freely and publicly available to the global community.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 83, + "mirId": "MIR:00100096", + "urlPattern": "http://proteopedia.org/wiki/index.php/{$id}", + "name": "Proteopedia", + "description": "Proteopedia", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "2gc4", + "resourceHomeUrl": "http://www.proteopedia.org/", + "institution": { + "id": 328, + "name": "Weizmann Institute", + "homeUrl": "https://www.weizmann.ac.il/pages/", + "description": "The Weizmann Institute of Science is one of the world\u2019s leading multidisciplinary basic research institutions in the natural and exact sciences. It is located in Rehovot, Israel, just south of Tel Aviv. It was initially established as the Daniel Sieff Institute in 1934, by Israel and Rebecca Sieff of London in memory of their son Daniel. In 1949, it was renamed for Dr. Chaim Weizmann, the first President of the State of Israel and Founder of the Institute.", + "rorId": "https://ror.org/0316ej306", + "location": { + "countryCode": "IL", + "countryName": "Israel" + } + }, + "location": { + "countryCode": "IL", + "countryName": "Israel" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2gc4", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 87, + "prefix": "go", + "mirId": "MIR:00000022", + "name": "Gene Ontology", + "pattern": "^GO:\\d{7}$", + "description": "The Gene Ontology project provides a controlled vocabulary to describe gene and gene product attributes in any organism.", + "created": "2019-06-11T14:15:35.970+00:00", + "modified": "2019-06-11T14:15:35.970+00:00", + "resources": [ + { + "id": 88, + "mirId": "MIR:00100012", + "urlPattern": "https://www.ebi.ac.uk/QuickGO/GTerm?id=GO:{$id}", + "name": "QuickGO (Gene Ontology browser)", + "description": "QuickGO (Gene Ontology browser)", + "official": false, + "providerCode": "quickgo", + "sampleId": "0006915", + "resourceHomeUrl": "https://www.ebi.ac.uk/QuickGO/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 90, + "mirId": "MIR:00100013", + "urlPattern": "http://amigo.geneontology.org/amigo/term/GO:{$id}", + "name": "AmiGO 2", + "description": "AmiGO 2", + "official": true, + "providerCode": "amigo", + "sampleId": "0006915", + "resourceHomeUrl": "http://amigo.geneontology.org/", + "institution": { + "id": 89, + "name": "The Gene Ontology Consortium", + "homeUrl": "http://geneontology.org/", + "description": "The mission of the GO Consortium is to develop a comprehensive, computational model of biological systems, ranging from the molecular to the organism level, across the multiplicity of species in the tree of life.\n\nThe Gene Ontology (GO) knowledgebase is the world\u2019s largest source of information on the functions of genes. This knowledge is both human-readable and machine-readable, and is a foundation for computational analysis of large-scale molecular biology and genetics experiments in biomedical research. ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 92, + "mirId": "MIR:00100015", + "urlPattern": "http://www.informatics.jax.org/searches/GO.cgi?id=GO:{$id}", + "name": "GO Browser", + "description": "GO Browser", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "0006915", + "resourceHomeUrl": "http://www.informatics.jax.org/searches/GO_form.shtml", + "institution": { + "id": 91, + "name": "The Jackson Laboratory", + "homeUrl": "https://www.jax.org/#", + "description": "The Jackson Laboratory (JAX) is an independent, nonprofit biomedical research organization that leverages a unique combination of research, education and resources to achieve our mission: We DISCOVER precise genomic solutions for disease and EMPOWER the global biomedical community in its shared quest to improve human health.", + "rorId": "https://ror.org/021sy4w91", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 93, + "mirId": "MIR:00100237", + "urlPattern": "http://purl.bioontology.org/ontology/GO/GO:{$id}", + "name": "GO through BioPortal", + "description": "GO through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "0006915", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/GO", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 95, + "mirId": "MIR:00100585", + "urlPattern": "http://www.pantherdb.org/panther/category.do?categoryAcc=GO:{$id}", + "name": "GO through PANTHER", + "description": "GO through PANTHER", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "0000003", + "resourceHomeUrl": "http://www.pantherdb.org/", + "institution": { + "id": 94, + "name": "Keck School of Medicine, University of Southern California", + "homeUrl": "https://www.keckmedicine.org/", + "description": "Keck Medicine of USC is the University of Southern California\u2019s medical enterprise, one of only two university-based medical systems in the Los Angeles area. Keck Medicine combines academic excellence, world-class research and state-of-the-art facilities to provide highly specialized care for some of the most acute patients in the country. ", + "rorId": "https://ror.org/01rq8ck58", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 96, + "mirId": "MIR:00100675", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/go/terms?obo_id=GO:{$id}", + "name": "GO through OLS", + "description": "GO through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "0006915", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/go", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0006915", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 97, + "prefix": "sgd", + "mirId": "MIR:00000023", + "name": "SGD", + "pattern": "^((S\\d+$)|(Y[A-Z]{2}\\d{3}[a-zA-Z](\\-[A-Z])?))$", + "description": "The Saccharomyces Genome Database (SGD) project collects information and maintains a database of the molecular biology of the yeast Saccharomyces cerevisiae.", + "created": "2019-06-11T14:15:37.056+00:00", + "modified": "2019-06-11T14:15:37.056+00:00", + "resources": [ + { + "id": 99, + "mirId": "MIR:00100033", + "urlPattern": "https://www.yeastgenome.org/locus/{$id}", + "name": "SGD", + "description": "SGD", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "S000003909", + "resourceHomeUrl": "https://www.yeastgenome.org/", + "institution": { + "id": 98, + "name": "Stanford University", + "homeUrl": "http://www.stanford.edu/", + "description": "Stanford was founded almost 150 years ago on a bedrock of societal purpose. Our mission is to contribute to the world by educating students for lives of leadership and purposeful contribution; advancing fundamental knowledge and cultivating creativity; and accelerating solutions and amplifying their impact.", + "rorId": "https://ror.org/00f54p054", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 100, + "mirId": "MIR:00100703", + "urlPattern": "http://sgd.bio2rdf.org/describe/?url=http://bio2rdf.org/sgd:{$id}", + "name": "Bio2RDF", + "description": "Bio2RDF", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "S000003909", + "resourceHomeUrl": "http://sgd.bio2rdf.org/fct", + "institution": { + "id": 33, + "name": "Bio2RDF.org", + "homeUrl": "https://bio2rdf.org", + "description": "Bio2RDF is an open-source project that uses Semantic Web technologies to build and provide the largest network of Linked Data for the Life Sciences. Bio2RDF defines a set of simple conventions to create RDF(S) compatible Linked Data from a diverse set of heterogeneously formatted sources obtained from multiple data providers.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 102, + "mirId": "MIR:00100892", + "urlPattern": "https://bioentity.link/#/lexicon/public/{$id}", + "name": "SGD through BioEntity Link", + "description": "SGD through BioEntity Link", + "official": false, + "providerCode": "bioentitylink", + "sampleId": "S000003909", + "resourceHomeUrl": "https://bioentity.link/", + "institution": { + "id": 101, + "name": "InSilico Inc, in Eugene, Oregon", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 104, + "mirId": "MIR:00100906", + "urlPattern": "https://www.alliancegenome.org/gene/SGD:{$id}", + "name": "SGD through the Alliance of Genome Resources", + "description": "SGD through the Alliance of Genome Resources", + "official": false, + "providerCode": "agr", + "sampleId": "S000003909", + "resourceHomeUrl": "https://www.alliancegenome.org", + "institution": { + "id": 103, + "name": "Alliance of Genome Resources", + "homeUrl": "https://www.alliancegenome.org", + "description": "The primary mission of the Alliance of Genome Resources (the Alliance) is to develop and maintain sustainable genome information resources that facilitate the use of diverse model organisms in understanding the genetic and genomic basis of human biology, health and disease.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "S000003909", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 105, + "prefix": "sbo", + "mirId": "MIR:00000024", + "name": "Systems Biology Ontology", + "pattern": "^SBO:\\d{7}$", + "description": "The goal of the Systems Biology Ontology is to develop controlled vocabularies and ontologies tailored specifically for the kinds of problems being faced in Systems Biology, especially in the context of computational modeling. SBO is a project of the BioModels.net effort.", + "created": "2019-06-11T14:15:37.756+00:00", + "modified": "2019-06-11T14:15:37.756+00:00", + "resources": [ + { + "id": 106, + "mirId": "MIR:00100034", + "urlPattern": "https://registry.identifiers.org/deprecation/resources/MIR:00100034/{$id}", + "name": "SBO", + "description": "SBO", + "official": false, + "providerCode": "biomodels.sbo", + "sampleId": "0000262", + "resourceHomeUrl": "https://www.ebi.ac.uk/sbo/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": true, + "deprecationDate": "2022-11-10T10:15:12.911+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 107, + "mirId": "MIR:00100176", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/sbo/terms?obo_id=SBO:{$id}", + "name": "SBO through OLS", + "description": "SBO through OLS", + "official": true, + "providerCode": "ols", + "sampleId": "0000262", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/sbo", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 108, + "mirId": "MIR:00100242", + "urlPattern": "http://purl.bioontology.org/ontology/SBO/SBO_{$id}", + "name": "SBO through BioPortal", + "description": "SBO through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "0000262", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/SBO", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0000262", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 109, + "prefix": "kegg.drug", + "mirId": "MIR:00000025", + "name": "KEGG Drug", + "pattern": "^D\\d+$", + "description": "KEGG DRUG contains chemical structures of drugs and additional information such as therapeutic categories and target molecules.", + "created": "2019-06-11T14:15:38.268+00:00", + "modified": "2019-06-11T14:15:38.268+00:00", + "resources": [ + { + "id": 110, + "mirId": "MIR:00100035", + "urlPattern": "https://www.kegg.jp/entry/{$id}", + "name": "KEGG DRUG Database", + "description": "KEGG DRUG Database", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "D00123", + "resourceHomeUrl": "https://www.genome.jp/kegg/drug/", + "institution": { + "id": 15, + "name": "Kyoto University Bioinformatics Center", + "homeUrl": "https://www.bic.kyoto-u.ac.jp/", + "description": "The Bioinformatics Center aims at developing new informatics technologies for deciphering the genome, especially from the viewpoint of how life operates as a system, and promoting both basic and applied research areas in bioinformatics. The Center consists of three research laboratories, named Chemical Life Science, Mathematical Bioinformatics, and Bio-Knowledge Engineering, which focus on scientific discovery, algorithms, and data mining, respectively. ", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "D00123", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 111, + "prefix": "kegg.glycan", + "mirId": "MIR:00000026", + "name": "KEGG Glycan", + "pattern": "^G\\d+$", + "description": "KEGG GLYCAN, a part of the KEGG LIGAND database, is a collection of experimentally determined glycan structures. It contains all unique structures taken from CarbBank, structures entered from recent publications, and structures present in KEGG pathways.", + "created": "2019-06-11T14:15:38.579+00:00", + "modified": "2019-06-11T14:15:38.579+00:00", + "resources": [ + { + "id": 112, + "mirId": "MIR:00100036", + "urlPattern": "https://www.kegg.jp/entry/{$id}", + "name": "KEGG GLYCAN Database", + "description": "KEGG GLYCAN Database", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "G00123", + "resourceHomeUrl": "https://www.genome.jp/kegg/glycan/", + "institution": { + "id": 15, + "name": "Kyoto University Bioinformatics Center", + "homeUrl": "https://www.bic.kyoto-u.ac.jp/", + "description": "The Bioinformatics Center aims at developing new informatics technologies for deciphering the genome, especially from the viewpoint of how life operates as a system, and promoting both basic and applied research areas in bioinformatics. The Center consists of three research laboratories, named Chemical Life Science, Mathematical Bioinformatics, and Bio-Knowledge Engineering, which focus on scientific discovery, algorithms, and data mining, respectively. ", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "G00123", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 113, + "prefix": "wb", + "mirId": "MIR:00000027", + "name": "WormBase", + "pattern": "^WB[A-Z][a-z]+\\d+$", + "description": "WormBase is an online bioinformatics database of the biology and genome of the model organism Caenorhabditis elegans and other nematodes. It is used by the C. elegans research community both as an information resource and as a mode to publish and distribute their results. This collection references WormBase-accessioned entities.", + "created": "2019-06-11T14:15:38.790+00:00", + "modified": "2019-06-11T14:15:38.790+00:00", + "resources": [ + { + "id": 114, + "mirId": "MIR:00100038", + "urlPattern": "https://www.wormbase.org/get?name={$id}", + "name": "WormBase", + "description": "WormBase", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "WBGene00000001", + "resourceHomeUrl": "https://www.wormbase.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 115, + "mirId": "MIR:00100890", + "urlPattern": "https://bioentity.link/#/lexicon/public/{$id}", + "name": "WormBase through BioEntity Link", + "description": "WormBase through BioEntity Link", + "official": false, + "providerCode": "bioentitylink", + "sampleId": "WBGene00021291", + "resourceHomeUrl": "https://bioentity.link/", + "institution": { + "id": 101, + "name": "InSilico Inc, in Eugene, Oregon", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 116, + "mirId": "MIR:00100901", + "urlPattern": "https://www.alliancegenome.org/gene/WB:{$id}", + "name": "WormBase through the Alliance of Genome Resources", + "description": "WormBase through the Alliance of Genome Resources", + "official": false, + "providerCode": "agr", + "sampleId": "WBGene00000001", + "resourceHomeUrl": "https://www.alliancegenome.org", + "institution": { + "id": 103, + "name": "Alliance of Genome Resources", + "homeUrl": "https://www.alliancegenome.org", + "description": "The primary mission of the Alliance of Genome Resources (the Alliance) is to develop and maintain sustainable genome information resources that facilitate the use of diverse model organisms in understanding the genetic and genomic basis of human biology, health and disease.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "WBGene00000001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 75, + "prefix": "doi", + "mirId": "MIR:00000019", + "name": "DOI", + "pattern": "^(doi\\:)?10\\.\\d+/.*$", + "description": "The Digital Object Identifier System is for identifying content objects in the digital environment.", + "created": "2019-06-11T14:15:34.841+00:00", + "modified": "2023-01-05T18:09:18.209+00:00", + "resources": [ + { + "id": 77, + "mirId": "MIR:00100010", + "urlPattern": "https://doi.org/{$id}", + "name": "Digital Object Identifier", + "description": "Digital Object Identifier", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "10.1038/nbt1156", + "resourceHomeUrl": "https://www.doi.org/", + "institution": { + "id": 76, + "name": "International DOI Foundation", + "homeUrl": "https://www.doi.org/", + "description": "The DOI Foundation is a not-for-profit organization. We govern the Digital Object Identifier (DOI) system on behalf of the agencies who manage DOI registries and provide services to their respective communities. We are the registration authority for the ISO standard (ISO 26324) for the DOI system and we are governed by our Registration Agencies.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 2462, + "mirId": "MIR:00000793", + "urlPattern": "https://scholia.toolforge.org/doi/{$id}", + "name": "Scholia", + "description": "Scholia is a service that creates visual scholarly profiles for topic, people, organizations, species, chemicals, etc using bibliographic and other information in Wikidata.", + "official": false, + "providerCode": "scholia", + "sampleId": "10.1186/S13321-016-0161-3", + "resourceHomeUrl": "https://scholia.toolforge.org/", + "institution": { + "id": 283, + "name": "Maastricht University", + "homeUrl": "https://www.maastrichtuniversity.nl", + "description": "Maastricht University (UM) is the most international university in the Netherlands and, with 18,000 students and 4,400 employees, is still growing. The university stands out for its innovative education model, international character and multidisciplinary approach to research and education.\nThanks to its high-quality research and study programmes as well as a strong focus on social engagement, UM has quickly built up a solid reputation. Today it is considered one of the best young universities in the world.", + "rorId": "https://ror.org/02jz4aj89", + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + } + }, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "10.1038/nbt1156", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 7, + "prefix": "ensembl", + "mirId": "MIR:00000003", + "name": "Ensembl", + "pattern": "^((ENS[FPTG]\\d{11}(\\.\\d+)?)|(FB\\w{2}\\d{7})|(Y[A-Z]{2}\\d{3}[a-zA-Z](\\-[A-Z])?)|([A-Z_a-z0-9]+(\\.)?(t)?(\\d+)?([a-z])?))$", + "description": "Ensembl is a joint project between EMBL - EBI and the Sanger Institute to develop a software system which produces and maintains automatic annotation on selected eukaryotic genomes. This collections also references outgroup organisms.", + "created": "2019-06-11T14:15:27.869+00:00", + "modified": "2023-01-09T13:51:48.046+00:00", + "resources": [ + { + "id": 9, + "mirId": "MIR:00100011", + "urlPattern": "https://www.ensembl.org/id/{$id}", + "name": "Ensembl at Sanger/EMBL-EBI", + "description": "Ensembl at Sanger/EMBL-EBI", + "official": true, + "providerCode": "ebi", + "sampleId": "ENSG00000139618", + "resourceHomeUrl": "https://www.ensembl.org/", + "institution": { + "id": 8, + "name": "Sanger Institute and European Bioinformatics Institute, Hinxton, Cambridge", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 10, + "mirId": "MIR:00100561", + "urlPattern": "http://uswest.ensembl.org/id/{$id}", + "name": "Ensembl US West mirror", + "description": "Ensembl US West mirror", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ENSG00000139618", + "resourceHomeUrl": "http://uswest.ensembl.org/", + "institution": { + "id": 8, + "name": "Sanger Institute and European Bioinformatics Institute, Hinxton, Cambridge", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 11, + "mirId": "MIR:00100562", + "urlPattern": "http://useast.ensembl.org/id/{$id}", + "name": "Ensembl US East mirror", + "description": "Ensembl US East mirror", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ENSG00000139618", + "resourceHomeUrl": "http://useast.ensembl.org/", + "institution": { + "id": 8, + "name": "Sanger Institute and European Bioinformatics Institute, Hinxton, Cambridge", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 12, + "mirId": "MIR:00100563", + "urlPattern": "http://asia.ensembl.org/id/{$id}", + "name": "Ensembl Asia mirror", + "description": "Ensembl Asia mirror", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ENSG00000139618", + "resourceHomeUrl": "http://asia.ensembl.org/", + "institution": { + "id": 8, + "name": "Sanger Institute and European Bioinformatics Institute, Hinxton, Cambridge", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "SG", + "countryName": "Singapore" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ENSG00000139618", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 117, + "prefix": "pfam", + "mirId": "MIR:00000028", + "name": "Pfam", + "pattern": "^PF\\d{5}$", + "description": "The Pfam database contains information about protein domains and families. For each entry a protein sequence alignment and a Hidden Markov Model is stored.", + "created": "2019-06-11T14:15:39.270+00:00", + "modified": "2019-06-11T14:15:39.270+00:00", + "resources": [ + { + "id": 118, + "mirId": "MIR:00100685", + "urlPattern": "https://www.ebi.ac.uk/interpro/entry/pfam/{$id}", + "name": "Pfam via InterPro at EMBL-EBI", + "description": "Pfam via InterPro at EMBL-EBI", + "official": true, + "providerCode": "ebi", + "sampleId": "PF01234", + "resourceHomeUrl": "https://www.ebi.ac.uk/interpro/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PF01234", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 125, + "prefix": "fb", + "mirId": "MIR:00000030", + "name": "FlyBase", + "pattern": "^FB\\w{2}\\d{7}$", + "description": "FlyBase is the database of the Drosophila Genome Projects and of associated literature.", + "created": "2019-06-11T14:15:40.188+00:00", + "modified": "2019-06-11T14:15:40.188+00:00", + "resources": [ + { + "id": 127, + "mirId": "MIR:00100050", + "urlPattern": "http://flybase.org/reports/{$id}.html", + "name": "The FlyBase Database", + "description": "The FlyBase Database", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "FBgn0011293", + "resourceHomeUrl": "http://flybase.org/", + "institution": { + "id": 126, + "name": "The FlyBase Consortium", + "homeUrl": "http://flybase.org/", + "description": "The FlyBase project is carried out by a consortium of Drosophila researchers and computer scientists at: Harvard University, University of Cambridge (UK), Indiana University and the University of New Mexico. ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 128, + "mirId": "MIR:00100893", + "urlPattern": "https://bioentity.link/#/lexicon/public/{$id}", + "name": "FlyBase through BioEntity Link", + "description": "FlyBase through BioEntity Link", + "official": false, + "providerCode": "bioentitylink", + "sampleId": "FBgn0011293", + "resourceHomeUrl": "https://bioentity.link/", + "institution": { + "id": 101, + "name": "InSilico Inc, in Eugene, Oregon", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 129, + "mirId": "MIR:00100904", + "urlPattern": "https://www.alliancegenome.org/gene/FB:{$id}", + "name": "FlyBase through the Alliance of Genome Resources", + "description": "FlyBase through the Alliance of Genome Resources", + "official": false, + "providerCode": "agr", + "sampleId": "FBgn0011293", + "resourceHomeUrl": "https://www.alliancegenome.org", + "institution": { + "id": 103, + "name": "Alliance of Genome Resources", + "homeUrl": "https://www.alliancegenome.org", + "description": "The primary mission of the Alliance of Genome Resources (the Alliance) is to develop and maintain sustainable genome information resources that facilitate the use of diverse model organisms in understanding the genetic and genomic basis of human biology, health and disease.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "FBgn0011293", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 130, + "prefix": "wormpep", + "mirId": "MIR:00000031", + "name": "Wormpep", + "pattern": "^CE\\d{5}$", + "description": "Wormpep contains the predicted proteins from the Caenorhabditis elegans genome sequencing project.", + "created": "2019-06-11T14:15:40.709+00:00", + "modified": "2019-06-11T14:15:40.709+00:00", + "resources": [ + { + "id": 132, + "mirId": "MIR:00100051", + "urlPattern": "https://www.wormbase.org/db/seq/protein?name={$id}", + "name": "Wormpep (Master)", + "description": "Wormpep (Master)", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "CE28239", + "resourceHomeUrl": "https://www.wormbase.org/db/seq/protein", + "institution": { + "id": 131, + "name": "Cold Spring Harbor Laboratory", + "homeUrl": "https://www.cshl.edu/", + "description": "Founded in 1890, Cold Spring Harbor Laboratory has shaped contemporary biomedical research and education with programs in cancer, neuroscience, plant biology and quantitative biology. Home to eight Nobel Prize winners, the private, not-for-profit Laboratory employs 1,000 people including 600 scientists, students and technicians. The Meetings & Courses Program hosts more than 12,000 scientists from around the world each year on its campuses in Long Island and in Suzhou, China. The Laboratory\u2019s education arm also includes an academic publishing house, a graduate school and programs for middle, high school, and undergraduate students and teachers.", + "rorId": "https://ror.org/02qz8b764", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CE28239", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 133, + "prefix": "prosite", + "mirId": "MIR:00000032", + "name": "PROSITE", + "pattern": "^PS\\d{5}$", + "description": "PROSITE consists of documentation entries describing protein domains, families and functional sites as well as associated patterns and profiles to identify them.", + "created": "2019-06-11T14:15:40.983+00:00", + "modified": "2019-06-11T14:15:40.983+00:00", + "resources": [ + { + "id": 135, + "mirId": "MIR:00100056", + "urlPattern": "https://prosite.expasy.org/{$id}", + "name": "ExPASy PROSITE", + "description": "ExPASy PROSITE", + "official": false, + "providerCode": "expasy", + "sampleId": "PS00001", + "resourceHomeUrl": "https://www.expasy.org/prosite/", + "institution": { + "id": 1730, + "name": "SIB Swiss Institute of Bioinformatics", + "homeUrl": "https://www.sib.swiss", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "rorId": "https://ror.org/002n09z45", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PS00001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 136, + "prefix": "pubchem.substance", + "mirId": "MIR:00000033", + "name": "PubChem-substance", + "pattern": "^\\d+$", + "description": "PubChem provides information on the biological activities of small molecules. It is a component of NIH's Molecular Libraries Roadmap Initiative. PubChem Substance archives chemical substance records.", + "created": "2019-06-11T14:15:41.269+00:00", + "modified": "2019-06-11T14:15:41.269+00:00", + "resources": [ + { + "id": 137, + "mirId": "MIR:00100058", + "urlPattern": "https://pubchem.ncbi.nlm.nih.gov/substance/{$id}", + "name": "NCBI PubChem Substance", + "description": "NCBI PubChem Substance", + "official": false, + "providerCode": "ncbi", + "sampleId": "100101", + "resourceHomeUrl": "https://pubchem.ncbi.nlm.nih.gov/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "100101", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 138, + "prefix": "pubchem.compound", + "mirId": "MIR:00000034", + "name": "PubChem-compound", + "pattern": "^\\d+$", + "description": "PubChem provides information on the biological activities of small molecules. It is a component of NIH's Molecular Libraries Roadmap Initiative. PubChem Compound archives chemical structures and records.", + "created": "2019-06-11T14:15:41.493+00:00", + "modified": "2019-06-11T14:15:41.493+00:00", + "resources": [ + { + "id": 139, + "mirId": "MIR:00100059", + "urlPattern": "https://pubchem.ncbi.nlm.nih.gov/compound/{$id}", + "name": "NCBI PubChem Compound", + "description": "NCBI PubChem Compound", + "official": true, + "providerCode": "ncbi", + "sampleId": "100101", + "resourceHomeUrl": "https://pubchem.ncbi.nlm.nih.gov/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 2449, + "mirId": "MIR:00000698", + "urlPattern": "https://scholia.toolforge.org/pubchem/{$id}", + "name": "Scholia", + "description": "Scholia is a service that creates visual scholarly profiles for topic, people, organizations, species, chemicals, etc using bibliographic and other information in Wikidata.", + "official": false, + "providerCode": "scholia", + "sampleId": "14123361", + "resourceHomeUrl": "https://scholia.toolforge.org/", + "institution": { + "id": 283, + "name": "Maastricht University", + "homeUrl": "https://www.maastrichtuniversity.nl", + "description": "Maastricht University (UM) is the most international university in the Netherlands and, with 18,000 students and 4,400 employees, is still growing. The university stands out for its innovative education model, international character and multidisciplinary approach to research and education.\nThanks to its high-quality research and study programmes as well as a strong focus on social engagement, UM has quickly built up a solid reputation. Today it is considered one of the best young universities in the world.", + "rorId": "https://ror.org/02jz4aj89", + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + } + }, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "100101", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 140, + "prefix": "arxiv", + "mirId": "MIR:00000035", + "name": "arXiv", + "pattern": "^(\\w+(\\-\\w+)?(\\.\\w+)?)?\\d{4,7}(\\.\\d+(v\\d+)?)?$", + "description": "arXiv is an e-print service in the fields of physics, mathematics, non-linear science, computer science, and quantitative biology.", + "created": "2019-06-11T14:15:41.707+00:00", + "modified": "2019-06-11T14:15:41.707+00:00", + "resources": [ + { + "id": 142, + "mirId": "MIR:00100060", + "urlPattern": "https://arxiv.org/abs/{$id}", + "name": "Cornell University arXiv", + "description": "Cornell University arXiv", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "0807.4956v1", + "resourceHomeUrl": "https://arxiv.org/", + "institution": { + "id": 141, + "name": "Cornell University", + "homeUrl": "https://ror.org/05bnh6r87", + "description": "Cornell is a privately endowed research university and a partner of the State University of New York. As the federal land-grant institution in New York State, we have a responsibility\u2014unique within the Ivy League\u2014to make contributions in all fields of knowledge in a manner that prioritizes public engagement to help improve the quality of life in our state, the nation, the world.", + "rorId": "https://ror.org/05bnh6r87", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0807.4956v1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 143, + "prefix": "arrayexpress", + "mirId": "MIR:00000036", + "name": "ArrayExpress", + "pattern": "^[AEP]-\\w{4}-\\d+$", + "description": "ArrayExpress is a public repository for microarray data, which is aimed at storing MIAME-compliant data in accordance with Microarray Gene Expression Data (MGED) recommendations.", + "created": "2019-06-11T14:15:41.970+00:00", + "modified": "2019-06-11T14:15:41.970+00:00", + "resources": [ + { + "id": 144, + "mirId": "MIR:00100061", + "urlPattern": "https://www.ebi.ac.uk/arrayexpress/experiments/{$id}", + "name": "ArrayExpress", + "description": "ArrayExpress", + "official": true, + "providerCode": "ebi", + "sampleId": "E-MEXP-1712", + "resourceHomeUrl": "https://www.ebi.ac.uk/arrayexpress/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 145, + "mirId": "MIR:00100854", + "urlPattern": "https://www.omicsdi.org/dataset/arrayexpress-repository/{$id}", + "name": "ArrayExpress through OmicsDI", + "description": "ArrayExpress through OmicsDI", + "official": false, + "providerCode": "omicsdi", + "sampleId": "E-MEXP-1712", + "resourceHomeUrl": "https://www.omicsdi.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "E-MEXP-1712", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 146, + "prefix": "mgi", + "mirId": "MIR:00000037", + "name": "Mouse Genome Database", + "pattern": "^MGI:\\d+$", + "description": "The Mouse Genome Database (MGD) project includes data on gene characterization, nomenclature, mapping, gene homologies among mammals, sequence links, phenotypes, allelic variants and mutants, and strain data.", + "created": "2019-06-11T14:15:42.331+00:00", + "modified": "2019-06-11T14:15:42.331+00:00", + "resources": [ + { + "id": 147, + "mirId": "MIR:00100062", + "urlPattern": "http://www.informatics.jax.org/accession/MGI:{$id}", + "name": "Mouse Genome Informatics Database", + "description": "Mouse Genome Informatics Database", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "2442292", + "resourceHomeUrl": "http://www.informatics.jax.org/", + "institution": { + "id": 91, + "name": "The Jackson Laboratory", + "homeUrl": "https://www.jax.org/#", + "description": "The Jackson Laboratory (JAX) is an independent, nonprofit biomedical research organization that leverages a unique combination of research, education and resources to achieve our mission: We DISCOVER precise genomic solutions for disease and EMPOWER the global biomedical community in its shared quest to improve human health.", + "rorId": "https://ror.org/021sy4w91", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 148, + "mirId": "MIR:00100894", + "urlPattern": "https://bioentity.link/#/lexicon/public/MGI:{$id}", + "name": "MGD through BioEntity Link", + "description": "MGD through BioEntity Link", + "official": false, + "providerCode": "bioentitylink", + "sampleId": "2442292", + "resourceHomeUrl": "https://bioentity.link/", + "institution": { + "id": 101, + "name": "InSilico Inc, in Eugene, Oregon", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 149, + "mirId": "MIR:00100903", + "urlPattern": "https://www.alliancegenome.org/gene/MGI:{$id}", + "name": "MGI through the Alliance of Genome Resources", + "description": "MGI through the Alliance of Genome Resources", + "official": false, + "providerCode": "agr", + "sampleId": "2442292", + "resourceHomeUrl": "https://www.alliancegenome.org", + "institution": { + "id": 103, + "name": "Alliance of Genome Resources", + "homeUrl": "https://www.alliancegenome.org", + "description": "The primary mission of the Alliance of Genome Resources (the Alliance) is to develop and maintain sustainable genome information resources that facilitate the use of diverse model organisms in understanding the genetic and genomic basis of human biology, health and disease.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2442292", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 150, + "prefix": "sabiork.reaction", + "mirId": "MIR:00000038", + "name": "SABIO-RK Reaction", + "pattern": "^\\d+$", + "description": "SABIO-RK is a relational database system that contains information about biochemical reactions, their kinetic equations with their parameters, and the experimental conditions under which these parameters were measured. The reaction data set provides information regarding the organism in which a reaction is observed, pathways in which it participates, and links to further information.", + "created": "2019-06-11T14:15:42.838+00:00", + "modified": "2019-06-11T14:15:42.838+00:00", + "resources": [ + { + "id": 152, + "mirId": "MIR:00100063", + "urlPattern": "http://sabiork.h-its.org/newSearch?q=sabioreactionid:{$id}", + "name": "SABIO-RK reaction", + "description": "SABIO-RK reaction", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "75", + "resourceHomeUrl": "http://sabiork.h-its.org/", + "institution": { + "id": 151, + "name": "Heidelberg Institute for Theoretical Studies (HITS gGmbH)", + "homeUrl": "http://www.h-its.org/en/", + "description": "HITS conducts basic research in the natural sciences, mathematical and computer science. Major research directions include complex simulations across scales, making sense of data, and enabling science via computational research. Application areas range from molecular biology to astrophysics. An essential characteristic of the Institute is interdisciplinarity, implemented in numerous cross-group and cross-disciplinary projects. The base funding of HITS is provided by the Klaus Tschira Foundation.", + "rorId": "https://ror.org/01f7bcy98", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "75", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 156, + "prefix": "tcdb", + "mirId": "MIR:00000040", + "name": "Transport Classification Database", + "pattern": "^\\d+(\\.[A-Z])?(\\.\\d+)?(\\.\\d+)?(\\.\\d+)?$", + "description": "The database details a comprehensive IUBMB approved classification system for membrane transport proteins known as the Transporter Classification (TC) system. The TC system is analogous to the Enzyme Commission (EC) system for classification of enzymes, but incorporates phylogenetic information additionally.", + "created": "2019-06-11T14:15:43.342+00:00", + "modified": "2019-06-11T14:15:43.342+00:00", + "resources": [ + { + "id": 158, + "mirId": "MIR:00100068", + "urlPattern": "http://www.tcdb.org/search/result.php?tc={$id}", + "name": "TCDB", + "description": "TCDB", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "5.A.1.1.1", + "resourceHomeUrl": "http://www.tcdb.org/", + "institution": { + "id": 157, + "name": "Division of Biological Sciences, UCSD", + "homeUrl": "https://biology.ucsd.edu/", + "description": "Our mission is to advance knowledge of basic biological sciences and apply our research discoveries in ways that improve human health, protect our environment and enrich our economy.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "5.A.1.1.1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 159, + "prefix": "uniparc", + "mirId": "MIR:00000041", + "name": "UniParc", + "pattern": "^UPI[A-F0-9]{10}$", + "description": "The UniProt Archive (UniParc) is a database containing non-redundant protein sequence information from many sources. Each unique sequence is given a stable and unique identifier (UPI) making it possible to identify the same protein from different source databases.", + "created": "2019-06-11T14:15:43.590+00:00", + "modified": "2019-06-11T14:15:43.590+00:00", + "resources": [ + { + "id": 160, + "mirId": "MIR:00100069", + "urlPattern": "https://www.ebi.ac.uk/cgi-bin/dbfetch?db=uniparc&id={$id}", + "name": "UniProt Archive (UniParc)", + "description": "UniProt Archive (UniParc)", + "official": false, + "providerCode": "ebi", + "sampleId": "UPI000000000A", + "resourceHomeUrl": "https://www.ebi.ac.uk/uniparc/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 161, + "mirId": "MIR:00100476", + "urlPattern": "https://www.uniprot.org/uniparc/{$id}", + "name": "UniParc through UniProt", + "description": "UniParc through UniProt", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "UPI000000000A", + "resourceHomeUrl": "http://www.uniprot.org/uniparc/", + "institution": { + "id": 24, + "name": "UniProt Consortium", + "homeUrl": "https://www.uniprot.org", + "description": "The Universal Protein Resource (UniProt) is a comprehensive resource for protein sequence and annotation data. The UniProt databases are the UniProt Knowledgebase (UniProtKB), the UniProt Reference Clusters (UniRef), and the UniProt Archive (UniParc). The UniProt consortium and host institutions EMBL-EBI, SIB and PIR are committed to the long-term preservation of the UniProt databases.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "UPI000000000A", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 162, + "prefix": "mint", + "mirId": "MIR:00000042", + "name": "MINT", + "pattern": "^MINT\\-\\d{1,7}$", + "description": "The Molecular INTeraction database (MINT) stores, in a structured format, information about molecular interactions by extracting experimental details from work published in peer-reviewed journals.", + "created": "2019-06-11T14:15:43.925+00:00", + "modified": "2019-06-11T14:15:43.925+00:00", + "resources": [ + { + "id": 165, + "mirId": "MIR:00100654", + "urlPattern": "https://www.ebi.ac.uk/intact/query/interaction_id:{$id}", + "name": "MINT subset through IntAct", + "description": "MINT subset through IntAct", + "official": false, + "providerCode": "ebi", + "sampleId": "MINT-7905142", + "resourceHomeUrl": "https://www.ebi.ac.uk/intact/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 164, + "mirId": "MIR:00100070", + "urlPattern": "http://mint.bio.uniroma2.it/mint/search/inFrameInteraction.do?interactionAc={$id}", + "name": "The Molecular INTeraction database (MINT)", + "description": "The Molecular INTeraction database (MINT)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "MINT-10000", + "resourceHomeUrl": "http://mint.bio.uniroma2.it/mint/", + "institution": { + "id": 2604, + "name": "University of Rome Tor Vergata", + "homeUrl": "http://web.uniroma2.it/", + "description": "University of Rome Tor Vergata was established in 1982 and is therefore a relatively young University. It was designed on the model of Anglo-Saxon campuses: it stretches on 600 hectares and hosts important research institutions, such as National Research Council \u2013 CNR and the Italian Space Agency \u2013 ASI.", + "rorId": "https://ror.org/02p77k626", + "location": { + "countryCode": "IT", + "countryName": "Italy" + } + }, + "location": { + "countryCode": "IT", + "countryName": "Italy" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MINT-10000", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 166, + "prefix": "dip", + "mirId": "MIR:00000044", + "name": "Database of Interacting Proteins", + "pattern": "^DIP(\\:)?\\-\\d{1,}[ENXS]$", + "description": "The database of interacting protein (DIP) database stores experimentally determined interactions between proteins. It combines information from a variety of sources to create a single, consistent set of protein-protein interactions", + "created": "2019-06-11T14:15:44.329+00:00", + "modified": "2019-06-11T14:15:44.329+00:00", + "resources": [ + { + "id": 168, + "mirId": "MIR:00100072", + "urlPattern": "https://dip.doe-mbi.ucla.edu/dip/DIPview.cgi?ID={$id}", + "name": "Database of interacting proteins", + "description": "Database of interacting proteins", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "DIP-743N", + "resourceHomeUrl": "https://dip.doe-mbi.ucla.edu/", + "institution": { + "id": 167, + "name": "UCLA", + "homeUrl": "http://www.ucla.edu/", + "description": "As a public research university, our mission is the creation, dissemination, preservation and application of knowledge for the betterment of our global society. UCLA combines the close-knit learning environment of a spirited public school with the endless opportunities of a world-class city. Located in beautiful Westwood, minutes from Hollywood and the downtown city center of Los Angeles, the university offers everything you need to reach your full potential.", + "rorId": "https://ror.org/046rm7j60", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "DIP-743N", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 172, + "prefix": "resid", + "mirId": "MIR:00000046", + "name": "RESID", + "pattern": "^AA\\d{4}$", + "description": "The RESID Database of Protein Modifications is a comprehensive collection of annotations and structures for protein modifications including amino-terminal, carboxyl-terminal and peptide chain cross-link post-translational modifications.", + "created": "2019-06-11T14:15:44.821+00:00", + "modified": "2019-06-11T14:15:44.821+00:00", + "resources": [ + { + "id": 174, + "mirId": "MIR:00100653", + "urlPattern": "http://pir0.georgetown.edu/cgi-bin/resid?id={$id}", + "name": "RESID at Georgetown University", + "description": "RESID at Georgetown University", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "AA0001", + "resourceHomeUrl": "http://pir0.georgetown.edu/resid/", + "institution": { + "id": 70, + "name": "Georgetown University Medical Center", + "homeUrl": "https://gumc.georgetown.edu", + "description": "As one of approximately 140 academic health and science centers in the United States, Georgetown University Medical Center seeks to provide, in a synergistic fashion, excellence in education \u2014 training physicians, nurses and other health care professionals, as well as biomedical scientists \u2014 and cutting-edge interdisciplinary research collaboration, enhancing our basic science and translational biomedical research capacity in order to improve human health. We have identified several areas of focus for our research. ", + "rorId": "https://ror.org/00hjz7x27", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AA0001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 175, + "prefix": "rgd", + "mirId": "MIR:00000047", + "name": "Rat Genome Database", + "pattern": "^\\d{4,}$", + "description": "Rat Genome Database seeks to collect, consolidate, and integrate rat genomic and genetic data with curated functional and physiological data and make these data widely available to the scientific community. This collection references genes.", + "created": "2019-06-11T14:15:45.062+00:00", + "modified": "2019-06-11T14:15:45.062+00:00", + "resources": [ + { + "id": 177, + "mirId": "MIR:00100075", + "urlPattern": "http://rgd.mcw.edu/rgdweb/report/gene/main.html?id={$id}", + "name": "Rat Genome Database", + "description": "Rat Genome Database", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "2018", + "resourceHomeUrl": "http://rgd.mcw.edu/", + "institution": { + "id": 176, + "name": "Medical College of Wisconsin", + "homeUrl": "http://www.mcw.edu/MCW", + "description": "We are a distinguished leader and innovator in the education and development of the next generation of physicians, scientists, pharmacists and health professionals; we discover and translate new knowledge in the biomedical and health sciences; we provide cutting-edge, collaborative patient care of the highest quality; and we improve the health of the communities we serve.", + "rorId": "https://ror.org/00qqv6244", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 178, + "mirId": "MIR:00100905", + "urlPattern": "https://www.alliancegenome.org/gene/RGD:{$id}", + "name": "RGD through the Alliance of Genome Resources", + "description": "RGD through the Alliance of Genome Resources", + "official": false, + "providerCode": "agr", + "sampleId": "2018", + "resourceHomeUrl": "https://www.alliancegenome.org", + "institution": { + "id": 103, + "name": "Alliance of Genome Resources", + "homeUrl": "https://www.alliancegenome.org", + "description": "The primary mission of the Alliance of Genome Resources (the Alliance) is to develop and maintain sustainable genome information resources that facilitate the use of diverse model organisms in understanding the genetic and genomic basis of human biology, health and disease.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2018", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 179, + "prefix": "tair.protein", + "mirId": "MIR:00000048", + "name": "TAIR Protein", + "pattern": "^AASequence:\\d{10}$", + "description": "The Arabidopsis Information Resource (TAIR) maintains a database of genetic and molecular biology data for the model higher plant Arabidopsis thaliana. This provides protein information for a given gene model and provides links to other sources such as UniProtKB and GenPept", + "created": "2019-06-11T14:15:45.813+00:00", + "modified": "2019-06-11T14:15:45.813+00:00", + "resources": [ + { + "id": 181, + "mirId": "MIR:00100076", + "urlPattern": "http://arabidopsis.org/servlets/TairObject?accession={$id}", + "name": "The Arabidopsis Information Resource (TAIR) Protein", + "description": "The Arabidopsis Information Resource (TAIR) Protein", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "AASequence:1009107926", + "resourceHomeUrl": "http://arabidopsis.org/index.jsp", + "institution": { + "id": 180, + "name": "Carnegie Institution of Washington Department of Plant Biology and National Center for Genome Resources (NCGR)", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AASequence:1009107926", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 182, + "prefix": "tair.gene", + "mirId": "MIR:00000049", + "name": "TAIR Gene", + "pattern": "^Gene:\\d{7}$", + "description": "The Arabidopsis Information Resource (TAIR) maintains a database of genetic and molecular biology data for the model higher plant Arabidopsis thaliana. This is the reference gene model for a given locus.", + "created": "2019-06-11T14:15:46.061+00:00", + "modified": "2019-06-11T14:15:46.061+00:00", + "resources": [ + { + "id": 183, + "mirId": "MIR:00100077", + "urlPattern": "http://arabidopsis.org/servlets/TairObject?accession={$id}", + "name": "The Arabidopsis Information Resource (TAIR) Gene", + "description": "The Arabidopsis Information Resource (TAIR) Gene", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Gene:2200934", + "resourceHomeUrl": "http://arabidopsis.org/index.jsp", + "institution": { + "id": 180, + "name": "Carnegie Institution of Washington Department of Plant Biology and National Center for Genome Resources (NCGR)", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Gene:2200934", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 184, + "prefix": "tair.locus", + "mirId": "MIR:00000050", + "name": "TAIR Locus", + "pattern": "^\\d{7}$", + "description": "The Arabidopsis Information Resource (TAIR) maintains a database of genetic and molecular biology data for the model higher plant Arabidopsis thaliana. The name of a Locus is unique and used by TAIR, TIGR, and MIPS.", + "created": "2019-06-11T14:15:46.274+00:00", + "modified": "2019-06-11T14:15:46.274+00:00", + "resources": [ + { + "id": 185, + "mirId": "MIR:00100078", + "urlPattern": "http://www.arabidopsis.org/servlets/TairObject?accession=Locus:{$id}", + "name": "The Arabidopsis Information Resource (TAIR) Locus", + "description": "The Arabidopsis Information Resource (TAIR) Locus", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "2200950", + "resourceHomeUrl": "http://arabidopsis.org/index.jsp", + "institution": { + "id": 180, + "name": "Carnegie Institution of Washington Department of Plant Biology and National Center for Genome Resources (NCGR)", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2200950", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 186, + "prefix": "hmdb", + "mirId": "MIR:00000051", + "name": "HMDB", + "pattern": "^HMDB\\d+$", + "description": "The Human Metabolome Database (HMDB) is a database containing detailed information about small molecule metabolites found in the human body.It contains or links 1) chemical 2) clinical and 3) molecular biology/biochemistry data.", + "created": "2019-06-11T14:15:46.469+00:00", + "modified": "2019-06-11T14:15:46.469+00:00", + "resources": [ + { + "id": 188, + "mirId": "MIR:00100079", + "urlPattern": "http://www.hmdb.ca/metabolites/{$id}", + "name": "The Human Metabolome Database", + "description": "The Human Metabolome Database", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "HMDB00001", + "resourceHomeUrl": "http://www.hmdb.ca/", + "institution": { + "id": 334, + "name": "University of Alberta", + "homeUrl": "https://www.ualberta.ca", + "description": "The University of Alberta in Edmonton is one of Canada's top teaching and research universities, with an international reputation for excellence across the humanities, sciences, creative arts, business, engineering and health sciences.", + "rorId": "https://ror.org/0160cpw27", + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "HMDB00001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 119, + "prefix": "insdc", + "mirId": "MIR:00000029", + "name": "Nucleotide Sequence Database", + "pattern": "^([A-Z]\\d{5}|[A-Z]{2}\\d{6}|[A-Z]{4,6}\\d{8,10}|[A-J][A-Z]{2}\\d{5})(\\.\\d+)?$", + "description": "The International Nucleotide Sequence Database Collaboration (INSDC) consists of a joint effort to collect and disseminate databases containing DNA and RNA sequences.", + "created": "2019-06-11T14:15:39.496+00:00", + "modified": "2023-03-06T09:23:15.163+00:00", + "resources": [ + { + "id": 120, + "mirId": "MIR:00100049", + "urlPattern": "https://www.ncbi.nlm.nih.gov/nuccore/{$id}", + "name": "INSDC through GenBank", + "description": "INSDC through GenBank", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "X58356", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/Genbank/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 122, + "mirId": "MIR:00100066", + "urlPattern": "http://getentry.ddbj.nig.ac.jp/getentry?database=ddbj&accession_number={$id}", + "name": "INSDC through DDBJ", + "description": "INSDC through DDBJ", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "X58356", + "resourceHomeUrl": "http://www.ddbj.nig.ac.jp/", + "institution": { + "id": 121, + "name": "DNA Data Bank of Japan, Mishima, Shizuoka", + "homeUrl": "https://www.ddbj.nig.ac.jp/index-e.html", + "description": "DDBJ Center collects nucleotide sequence data as a member of INSDC(International Nucleotide Sequence Database Collaboration) and provides freely available nucleotide sequence data and supercomputer system, to support research\u3000activities in life science.", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 123, + "mirId": "MIR:00100487", + "urlPattern": "https://www.ebi.ac.uk/ena/data/view/{$id}", + "name": "INSDC through European Nucleotide Archive (ENA)", + "description": "INSDC through European Nucleotide Archive (ENA)", + "official": false, + "providerCode": "ebi", + "sampleId": "X58356", + "resourceHomeUrl": "https://www.ebi.ac.uk/ena/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 124, + "mirId": "MIR:00100490", + "urlPattern": "https://www.ncbi.nlm.nih.gov/nuccore/{$id}", + "name": "INSDC through Nucleotide database at NCBI", + "description": "INSDC through Nucleotide database at NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "X58356", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/nuccore/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "X58356", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 252, + "prefix": "hovergen", + "mirId": "MIR:00000074", + "name": "HOVERGEN", + "pattern": "^HBG\\d+$", + "description": "HOVERGEN is a database of homologous vertebrate genes that allows one to select sets of homologous genes among vertebrate species, and to visualize multiple alignments and phylogenetic trees.", + "created": "2019-06-11T14:15:52.667+00:00", + "modified": "2019-06-11T14:15:52.667+00:00", + "resources": [ + { + "id": 254, + "mirId": "MIR:00100104", + "urlPattern": "http://pbil.univ-lyon1.fr/cgi-bin/view-tree.pl?query={$id}&db=HOVERGEN", + "name": "Hovergen", + "description": "Hovergen", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "HBG004341", + "resourceHomeUrl": "http://pbil.univ-lyon1.fr/databases/hovergen.php", + "institution": { + "id": 253, + "name": "Laboratoire de Biom\u00e9trie, G\u00e9n\u00e9tique et Biologie des Populations", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "HBG004341", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 189, + "prefix": "lipidmaps", + "mirId": "MIR:00000052", + "name": "LIPID MAPS", + "pattern": "^LM(FA|GL|GP|SP|ST|PR|SL|PK)[0-9]{4}([0-9a-zA-Z]{4,6})?$", + "description": "The LIPID MAPS Lipid Classification System is comprised of eight lipid categories, each with its own subclassification hierarchy. All lipids in the LIPID MAPS Structure Database (LMSD) have been classified using this system and have been assigned LIPID MAPS ID's which reflects their position in the classification hierarchy.", + "created": "2019-06-11T14:15:46.708+00:00", + "modified": "2019-06-11T14:15:46.708+00:00", + "resources": [ + { + "id": 191, + "mirId": "MIR:00100080", + "urlPattern": "http://www.lipidmaps.org/data/LMSDRecord.php?LMID={$id}", + "name": "LIPID MAPS", + "description": "Free, open-access lipidomics resource", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "LMPR0102010012", + "resourceHomeUrl": "http://www.lipidmaps.org", + "institution": { + "id": 3554, + "name": "Cardiff University, University of California San Diego, the Babraham Institute Cambridge, and Swansea University", + "homeUrl": "https://www.lipidmaps.org", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 2458, + "mirId": "MIR:00000781", + "urlPattern": "https://scholia.toolforge.org/lipidmaps/{$id}", + "name": "Scholia", + "description": "Scholia is a service that creates visual scholarly profiles for topic, people, organizations, species, chemicals, etc using bibliographic and other information in Wikidata.", + "official": false, + "providerCode": "scholia", + "sampleId": "LMFA00000007", + "resourceHomeUrl": "https://scholia.toolforge.org/", + "institution": { + "id": 283, + "name": "Maastricht University", + "homeUrl": "https://www.maastrichtuniversity.nl", + "description": "Maastricht University (UM) is the most international university in the Netherlands and, with 18,000 students and 4,400 employees, is still growing. The university stands out for its innovative education model, international character and multidisciplinary approach to research and education.\nThanks to its high-quality research and study programmes as well as a strong focus on social engagement, UM has quickly built up a solid reputation. Today it is considered one of the best young universities in the world.", + "rorId": "https://ror.org/02jz4aj89", + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + } + }, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "LMPR0102010012", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 192, + "prefix": "peptideatlas", + "mirId": "MIR:00000053", + "name": "PeptideAtlas", + "pattern": "^PAp[0-9]{8}$", + "description": "The PeptideAtlas Project provides a publicly accessible database of peptides identified in tandem mass spectrometry proteomics studies and software tools.", + "created": "2019-06-11T14:15:46.969+00:00", + "modified": "2019-06-11T14:15:46.969+00:00", + "resources": [ + { + "id": 194, + "mirId": "MIR:00100081", + "urlPattern": "https://db.systemsbiology.net/sbeams/cgi/PeptideAtlas/Summarize_Peptide?query=QUERY&searchForThis={$id}", + "name": "PeptideAtlas at ISB", + "description": "PeptideAtlas at ISB", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "PAp00000009", + "resourceHomeUrl": "http://www.peptideatlas.org/", + "institution": { + "id": 193, + "name": "Institute for Systems Biology", + "homeUrl": "https://isbscience.org/", + "description": "ISB was created in 2000 as the first-ever institute dedicated to systems biology.", + "rorId": "https://ror.org/02tpgw303", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PAp00000009", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 195, + "prefix": "geo", + "mirId": "MIR:00000054", + "name": "GEO", + "pattern": "^G(PL|SM|SE|DS)\\d+$", + "description": "The Gene Expression Omnibus (GEO) is a gene expression repository providing a curated, online resource for gene expression data browsing, query and retrieval.", + "created": "2019-06-11T14:15:47.245+00:00", + "modified": "2019-06-11T14:15:47.245+00:00", + "resources": [ + { + "id": 196, + "mirId": "MIR:00100082", + "urlPattern": "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc={$id}", + "name": "Gene Expression Omnibus at NCBI", + "description": "Gene Expression Omnibus at NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "GDS1234", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/geo/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "GDS1234", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 200, + "prefix": "mod", + "mirId": "MIR:00000056", + "name": "Protein Modification Ontology", + "pattern": "^MOD:\\d{5}", + "description": "The Proteomics Standards Initiative modification ontology (PSI-MOD) aims to define a concensus nomenclature and ontology reconciling, in a hierarchical representation, the complementary descriptions of residue modifications.", + "created": "2019-06-11T14:15:47.775+00:00", + "modified": "2019-06-11T14:15:47.775+00:00", + "resources": [ + { + "id": 202, + "mirId": "MIR:00100239", + "urlPattern": "http://bioportal.bioontology.org/ontologies/1041?p=terms&conceptid=MOD:{$id}", + "name": "Protein modifications ontology through BioPortal", + "description": "Protein modifications ontology through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "00001", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/PSIMOD", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 201, + "mirId": "MIR:00100084", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/mod/terms?obo_id=MOD:{$id}", + "name": "Protein modifications ontology via the Ontology Lookup Service (OLS)", + "description": "Protein modifications ontology via the Ontology Lookup Service (OLS)", + "official": false, + "providerCode": "ols", + "sampleId": "00001", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/mod", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "00001", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 203, + "prefix": "sgd.pathways", + "mirId": "MIR:00000057", + "name": "Saccharomyces genome database pathways", + "pattern": "^PWY\\w{2}\\-\\d{3}$", + "description": "Curated biochemical pathways for Saccharomyces cerevisiae at Saccharomyces genome database (SGD).", + "created": "2019-06-11T14:15:48.132+00:00", + "modified": "2019-06-11T14:15:48.132+00:00", + "resources": [ + { + "id": 205, + "mirId": "MIR:00100085", + "urlPattern": "http://pathway.yeastgenome.org/YEAST/new-image?type=PATHWAY&object={$id}", + "name": "Saccharomyces cerevisiae pathways at SGD.", + "description": "Saccharomyces cerevisiae pathways at SGD.", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "PWY3O-214", + "resourceHomeUrl": "http://pathway.yeastgenome.org/", + "institution": { + "id": 204, + "name": "SGD, Stanford University", + "homeUrl": "https://cherrylab.stanford.edu/projects/saccharomyces-genome-database", + "description": "The SGD is a community and bioinformatic resource distributing facts on yeast chromosomes and genes, their products, their functions and interactions. This project focuses on manual curation and integration of published results from both focused single-gene studies and genomic-scale projects. We optimize the manual curatorial workflow using text mining of full-text from peer-reviewed papers and focused identification of laboratory methods typically associated with the determination of protein function. The captured facts are combined in a database that is used by skilled biocurators and verified by bioinformatic analysts. The assimilated knowledge includes gene function, regulation, interactions, pathways, evolutionary relationships, and all observations from genome analysis. Open source computational tools are provided to assist researchers in this exploration leading to discovery.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PWY3O-214", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 206, + "prefix": "biogrid", + "mirId": "MIR:00000058", + "name": "BioGRID", + "pattern": "^\\d+$", + "description": "BioGRID is a database of physical and genetic interactions in Saccharomyces cerevisiae, Caenorhabditis elegans, Drosophila melanogaster, Homo sapiens, and Schizosaccharomyces pombe.", + "created": "2019-06-11T14:15:48.429+00:00", + "modified": "2019-06-11T14:15:48.429+00:00", + "resources": [ + { + "id": 208, + "mirId": "MIR:00100086", + "urlPattern": "http://thebiogrid.org/{$id}", + "name": "BioGRID database of physical and genetic interactions", + "description": "BioGRID database of physical and genetic interactions", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "31623", + "resourceHomeUrl": "http://thebiogrid.org/", + "institution": { + "id": 207, + "name": "Ontario Cancer Institute", + "homeUrl": "https://www.cancercareontario.ca/en", + "description": "Cancer Care Ontario is the Ontario government\u2019s principal cancer advisor and a division of CCO. We equip health professionals, organizations and policy-makers with the most up-to-date cancer knowledge and tools to prevent cancer and deliver high-quality patient care.", + "rorId": "https://ror.org/029n6xw55", + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "31623", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 209, + "prefix": "merops", + "mirId": "MIR:00000059", + "name": "MEROPS", + "pattern": "^[SCTAGMNU]\\d{2}\\.([AB]\\d{2}|\\d{3})$", + "description": "The MEROPS database is an information resource for peptidases (also termed proteases, proteinases and proteolytic enzymes) and the proteins that inhibit them.", + "created": "2019-06-11T14:15:48.677+00:00", + "modified": "2019-06-11T14:15:48.677+00:00", + "resources": [ + { + "id": 211, + "mirId": "MIR:00100087", + "urlPattern": "http://merops.sanger.ac.uk/cgi-bin/pepsum?mid={$id}", + "name": "MEROPS database at Sanger Institute", + "description": "MEROPS database at Sanger Institute", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "S01.001", + "resourceHomeUrl": "http://merops.sanger.ac.uk/index.htm", + "institution": { + "id": 210, + "name": "Wellcome Trust Sanger Institute", + "homeUrl": "https://www.sanger.ac.uk/", + "description": "We tackle some of the most difficult challenges in genomic research. This demands science at scale; a visionary and creative approach to research that pushes the boundaries of our understanding in ever new and exciting ways.", + "rorId": "https://ror.org/05cy4wa09", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "S01.001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 212, + "prefix": "panther.family", + "mirId": "MIR:00000060", + "name": "PANTHER Family", + "pattern": "^PTHR\\d{5}(\\:SF\\d{1,3})?$", + "description": "The PANTHER (Protein ANalysis THrough Evolutionary Relationships) Classification System is a resource that classifies genes by their functions, using published scientific experimental evidence and evolutionary relationships to predict function even in the absence of direct experimental evidence. This collection references groups of genes that have been organised as families.", + "created": "2019-06-11T14:15:48.923+00:00", + "modified": "2019-06-11T14:15:48.923+00:00", + "resources": [ + { + "id": 213, + "mirId": "MIR:00100088", + "urlPattern": "http://www.pantherdb.org/panther/family.do?clsAccession={$id}", + "name": "PANTHER Family at USC (Los Angeles)", + "description": "PANTHER Family at USC (Los Angeles)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "PTHR12345", + "resourceHomeUrl": "http://www.pantherdb.org/", + "institution": { + "id": 94, + "name": "Keck School of Medicine, University of Southern California", + "homeUrl": "https://www.keckmedicine.org/", + "description": "Keck Medicine of USC is the University of Southern California\u2019s medical enterprise, one of only two university-based medical systems in the Los Angeles area. Keck Medicine combines academic excellence, world-class research and state-of-the-art facilities to provide highly specialized care for some of the most acute patients in the country. ", + "rorId": "https://ror.org/01rq8ck58", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PTHR12345", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 214, + "prefix": "prints", + "mirId": "MIR:00000061", + "name": "PRINTS", + "pattern": "^PR\\d{5}$", + "description": "PRINTS is a compendium of protein fingerprints. A fingerprint is a group of conserved motifs used to characterise a protein family; its diagnostic power is refined by iterative scanning of a SWISS-PROT/TrEMBL composite. Usually the motifs do not overlap, but are separated along a sequence, though they may be contiguous in 3D-space. Fingerprints can encode protein folds and functionalities more flexibly and powerfully than can single motifs, full diagnostic potency deriving from the mutual context provided by motif neighbours.", + "created": "2019-06-11T14:15:49.123+00:00", + "modified": "2019-06-11T14:15:49.123+00:00", + "resources": [ + { + "id": 216, + "mirId": "MIR:00100089", + "urlPattern": "http://www.bioinf.manchester.ac.uk/cgi-bin/dbbrowser/sprint/searchprintss.cgi?prints_accn={$id}&display_opts=Prints&category=None&queryform=false®expr=off", + "name": "PRINTS through SPRINT", + "description": "PRINTS through SPRINT", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "PR00001", + "resourceHomeUrl": "http://www.bioinf.manchester.ac.uk/dbbrowser/sprint/", + "institution": { + "id": 215, + "name": "University of Manchester", + "homeUrl": "https://www.manchester.ac.uk/", + "description": "The University of Manchester enjoys a reputation for pioneering research and innovation, which vitalise our undergraduate courses and postgraduate programmes, and introduce you to the latest thinking in your chosen field.", + "rorId": "https://ror.org/027m9bs27", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PR00001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 217, + "prefix": "ligandexpo", + "mirId": "MIR:00000062", + "name": "Ligand Expo", + "pattern": "^(\\w){3}$", + "description": "Ligand Expo is a data resource for finding information about small molecules bound to proteins and nucleic acids.", + "created": "2019-06-11T14:15:49.385+00:00", + "modified": "2019-06-11T14:15:49.385+00:00", + "resources": [ + { + "id": 218, + "mirId": "MIR:00100090", + "urlPattern": "http://ligand-depot.rutgers.edu/pyapps/ldHandler.py?formid=cc-index-search&target={$id}&operation=ccid", + "name": "Ligand Expo at RutgersRCSB PDB", + "description": "Ligand Expo at RutgersRCSB PDB", + "official": false, + "providerCode": "rcsb", + "sampleId": "ABC", + "resourceHomeUrl": "http://ligand-depot.rutgers.edu/index.html", + "institution": { + "id": 79, + "name": "Rutgers, The State University of New Jersey", + "homeUrl": "https://www.rutgers.edu/", + "description": "Rutgers, The State University of New Jersey, stands among America\u2019s highest-ranked, most diverse public research universities. The oldest, largest, and top-ranked public university in the New York/New Jersey metropolitan area, you\u2019ll find us at our main locations in three New Jersey cities, and our footprint can be seen around the region. We\u2019re an academic, health, and research powerhouse and a university of opportunity.", + "rorId": "https://ror.org/05vt9qd57", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 219, + "mirId": "MIR:00100615", + "urlPattern": "http://ligand-expo.rcsb.org/pyapps/ldHandler.py?formid=cc-index-search&target={$id}&operation=ccid", + "name": "Ligand Expo at Rutgers", + "description": "Ligand Expo at Rutgers", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ABC", + "resourceHomeUrl": "http://ligand-expo.rcsb.org/", + "institution": { + "id": 79, + "name": "Rutgers, The State University of New Jersey", + "homeUrl": "https://www.rutgers.edu/", + "description": "Rutgers, The State University of New Jersey, stands among America\u2019s highest-ranked, most diverse public research universities. The oldest, largest, and top-ranked public university in the New York/New Jersey metropolitan area, you\u2019ll find us at our main locations in three New Jersey cities, and our footprint can be seen around the region. We\u2019re an academic, health, and research powerhouse and a university of opportunity.", + "rorId": "https://ror.org/05vt9qd57", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ABC", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 223, + "prefix": "isbn", + "mirId": "MIR:00000064", + "name": "ISBN", + "pattern": "^(ISBN)?(-13|-10)?[:]?[ ]?(\\d{2,3}[ -]?)?\\d{1,5}[ -]?\\d{1,7}[ -]?\\d{1,6}[ -]?(\\d|X)$", + "description": "The International Standard Book Number (ISBN) is for identifying printed books.", + "created": "2019-06-11T14:15:50.037+00:00", + "modified": "2019-06-11T14:15:50.037+00:00", + "resources": [ + { + "id": 225, + "mirId": "MIR:00100092", + "urlPattern": "http://isbndb.com/search-all.html?kw={$id}", + "name": "ISBNDB - ISBN Database", + "description": "ISBNDB - ISBN Database", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "9781584885658", + "resourceHomeUrl": "http://isbndb.com/", + "institution": { + "id": 224, + "name": "ISNBdb project, San Gabriel, California", + "homeUrl": "https://isbndb.com/", + "description": "The ISBNdb database includes over 33 million unique ISBNs with up to 19 data points per book and searchable via our custom API. Choose one of the plans below to access the API for a free 7 day trial.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 227, + "mirId": "MIR:00100093", + "urlPattern": "http://www.worldcat.org/isbn/{$id}", + "name": "ISBN database at WorldCat", + "description": "ISBN database at WorldCat", + "official": false, + "providerCode": "worldcat", + "sampleId": "9781584885658", + "resourceHomeUrl": "http://www.worldcat.org/", + "institution": { + "id": 226, + "name": "OCLC Online Computer Library Center, Inc. Ohio", + "homeUrl": "https://www.oclc.org/", + "description": "OCLC is a nonprofit global library organization that provides shared technology services, original research, and community programs so that libraries can better fuel learning, research, and innovation.", + "rorId": "https://ror.org/02nv42w72", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "9781584885658", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 233, + "prefix": "fma", + "mirId": "MIR:00000067", + "name": "FMA", + "pattern": "^FMA:\\d+$", + "description": "The Foundational Model of Anatomy Ontology (FMA) is a biomedical informatics ontology. It is concerned with the representation of classes or types and relationships necessary for the symbolic representation of the phenotypic structure of the human body. Specifically, the FMA is a domain ontology that represents a coherent body of explicit declarative knowledge about human anatomy.", + "created": "2019-06-11T14:15:50.895+00:00", + "modified": "2019-06-11T14:15:50.895+00:00", + "resources": [ + { + "id": 234, + "mirId": "MIR:00100097", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/fma/terms?obo_id=FMA:{$id}", + "name": "Foundational Model of Anatomy via Ontology Lookup Service (OLS)", + "description": "Foundational Model of Anatomy via Ontology Lookup Service (OLS)", + "official": false, + "providerCode": "ols", + "sampleId": "67112", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/fma/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 235, + "mirId": "MIR:00100236", + "urlPattern": "https://bioportal.bioontology.org/ontologies/FMA/fma:fma{$id}", + "name": "Foundational Model of Anatomy through BioPortal", + "description": "Foundational Model of Anatomy through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "67112", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/FMA", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "67112", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 236, + "prefix": "matrixdb.association", + "mirId": "MIR:00000068", + "name": "MatrixDB", + "pattern": "^([A-N,R-Z][0-9][A-Z][A-Z, 0-9][A-Z, 0-9][0-9])_.*|([O,P,Q][0-9][A-Z, 0-9][A-Z, 0-9][A-Z, 0-9][0-9]_.*)|(GAG_.*)|(MULT_.*)|(PFRAG_.*)|(LIP_.*)|(CAT_.*)$", + "description": "MatrixDB stores experimentally determined interactions involving at least one extracellular biomolecule. It includes mostly protein-protein and protein-glycosaminoglycan interactions, as well as interactions with lipids and cations.", + "created": "2019-06-11T14:15:51.252+00:00", + "modified": "2019-06-11T14:15:51.252+00:00", + "resources": [ + { + "id": 238, + "mirId": "MIR:00100098", + "urlPattern": "http://matrixdb.univ-lyon1.fr//cgi-bin/current/newPort?type=association&value={$id}&class=Association", + "name": "MatrixDB Association", + "description": "MatrixDB Association", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "P00747__P07355", + "resourceHomeUrl": "http://matrixdb.univ-lyon1.fr/", + "institution": { + "id": 618, + "name": "Institut de Biologie et Chimie des Prot\u00e9ines, CNRS, University of Lyon , Lyon-Gerland", + "homeUrl": "https://www.ibcp.fr/?lang=en", + "description": "Cette unit\u00e9 comprend 10 \u00e9quipes (90 personnes) et m\u00e8ne une activit\u00e9 de recherche sur les m\u00e9canismes mol\u00e9culaires des processus infectieux \u00e0 l\u2019origine de pathologies humaines graves avec des approches de biochimie, biologie structurale (RMN et cristallographie aux rayons X), microbiologie et bioinformatique.", + "rorId": "https://ror.org/0019x5d05", + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "P00747__P07355", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 239, + "prefix": "ncbigene", + "mirId": "MIR:00000069", + "name": "NCBI Gene", + "pattern": "^\\d+$", + "description": "Entrez Gene is the NCBI's database for gene-specific information, focusing on completely sequenced genomes, those with an active research community to contribute gene-specific information, or those that are scheduled for intense sequence analysis.", + "created": "2019-06-11T14:15:51.483+00:00", + "modified": "2019-06-11T14:15:51.483+00:00", + "resources": [ + { + "id": 240, + "mirId": "MIR:00100099", + "urlPattern": "https://www.ncbi.nlm.nih.gov/gene/{$id}", + "name": "Entrez Gene (NCBI)", + "description": "Entrez Gene (NCBI)", + "official": true, + "providerCode": "ncbi", + "sampleId": "100010", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/gene", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 241, + "mirId": "MIR:00100693", + "urlPattern": "http://ncbigene.bio2rdf.org/describe/?url=http://bio2rdf.org/ncbigene:{$id}", + "name": "Bio2RDF", + "description": "Bio2RDF", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "100010", + "resourceHomeUrl": "http://ncbigene.bio2rdf.org/fct", + "institution": { + "id": 33, + "name": "Bio2RDF.org", + "homeUrl": "https://bio2rdf.org", + "description": "Bio2RDF is an open-source project that uses Semantic Web technologies to build and provide the largest network of Linked Data for the Life Sciences. Bio2RDF defines a set of simple conventions to create RDF(S) compatible Linked Data from a diverse set of heterogeneously formatted sources obtained from multiple data providers.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "100010", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 242, + "prefix": "kegg.genes", + "mirId": "MIR:00000070", + "name": "KEGG Genes", + "pattern": "^\\w+:[\\w\\d\\.-]*$", + "description": "KEGG GENES is a collection of gene catalogs for all complete genomes and some partial genomes, generated from publicly available resources.", + "created": "2019-06-11T14:15:51.781+00:00", + "modified": "2019-06-11T14:15:51.781+00:00", + "resources": [ + { + "id": 243, + "mirId": "MIR:00100100", + "urlPattern": "http://www.kegg.jp/entry/{$id}", + "name": "KEGG GENES Database", + "description": "KEGG GENES Database", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "syn:ssr3451", + "resourceHomeUrl": "http://www.genome.jp/kegg/genes.html", + "institution": { + "id": 15, + "name": "Kyoto University Bioinformatics Center", + "homeUrl": "https://www.bic.kyoto-u.ac.jp/", + "description": "The Bioinformatics Center aims at developing new informatics technologies for deciphering the genome, especially from the viewpoint of how life operates as a system, and promoting both basic and applied research areas in bioinformatics. The Center consists of three research laboratories, named Chemical Life Science, Mathematical Bioinformatics, and Bio-Knowledge Engineering, which focus on scientific discovery, algorithms, and data mining, respectively. ", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "syn:ssr3451", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 244, + "prefix": "brenda", + "mirId": "MIR:00000071", + "name": "BRENDA", + "pattern": "^((\\d+\\.-\\.-\\.-)|(\\d+\\.\\d+\\.-\\.-)|(\\d+\\.\\d+\\.\\d+\\.-)|(\\d+\\.\\d+\\.\\d+\\.\\d+))$", + "description": "BRENDA is a collection of enzyme functional data available to the scientific community. Data on enzyme function are extracted directly from the primary literature The database covers information on classification and nomenclature, reaction and specificity, functional parameters, occurrence, enzyme structure and stability, mutants and enzyme engineering, preparation and isolation, the application of enzymes, and ligand-related data.", + "created": "2019-06-11T14:15:51.985+00:00", + "modified": "2019-06-11T14:15:51.985+00:00", + "resources": [ + { + "id": 246, + "mirId": "MIR:00100101", + "urlPattern": "https://www.brenda-enzymes.org/php/result_flat.php4?ecno={$id}", + "name": "Brenda enzyme database", + "description": "Brenda enzyme database", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1.1.1.1", + "resourceHomeUrl": "https://www.brenda-enzymes.org/", + "institution": { + "id": 245, + "name": "Technical University Braunschweig, Institute for Bioinformatics and Biochemistry", + "homeUrl": "https://www.tu-braunschweig.de/en/bbt/bioinfo", + "description": "The Department of Bioinformatics and Biochemistry dedicates its research to understanding the role of metabolism during disease development. We are interested in both, the metabolic adaptations of immune cells during inflammation, and the metabolism of microorganisms during an infection. Our research also touches on cells of the central nervous system and how these cells are impacted during neuro-inflammation.", + "rorId": null, + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1.1.1.1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 247, + "prefix": "pubchem.bioassay", + "mirId": "MIR:00000072", + "name": "PubChem-bioassay", + "pattern": "^\\d+$", + "description": "PubChem provides information on the biological activities of small molecules. It is a component of NIH's Molecular Libraries Roadmap Initiative. PubChem bioassay archives active compounds and bioassay results.", + "created": "2019-06-11T14:15:52.227+00:00", + "modified": "2019-06-11T14:15:52.227+00:00", + "resources": [ + { + "id": 248, + "mirId": "MIR:00100102", + "urlPattern": "https://pubchem.ncbi.nlm.nih.gov/bioassay/{$id}", + "name": "PubChem Bioassay at NCBI", + "description": "PubChem Bioassay at NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "1018", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/sites/entrez?db=pcassay", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1018", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1659, + "prefix": "bao", + "mirId": "MIR:00000597", + "name": "BioAssay Ontology", + "pattern": "^\\d{7}$", + "description": "The BioAssay Ontology (BAO) describes chemical biology screening assays and their results including high-throughput screening (HTS) data for the purpose of categorizing assays and data analysis.", + "created": "2019-06-11T14:17:58.671+00:00", + "modified": "2019-06-11T14:17:58.671+00:00", + "resources": [ + { + "id": 1660, + "mirId": "MIR:00100797", + "urlPattern": "http://bioportal.bioontology.org/ontologies/BAO/bao:BAO_{$id}", + "name": "BioAssay Ontology through BioPortal", + "description": "BioAssay Ontology through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "0002989", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/BAO/", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1661, + "mirId": "MIR:00100798", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/bao/terms?obo_id=BAO:{$id}", + "name": "BioAssay Ontology through OLS", + "description": "BioAssay Ontology through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "0002989", + "resourceHomeUrl": "https://bioportal.bioontology.org/ontologies/BAO/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0002989", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 249, + "prefix": "pathwaycommons", + "mirId": "MIR:00000073", + "name": "Pathway Commons", + "pattern": "^\\d+$", + "description": "Pathway Commons is a convenient point of access to biological pathway information collected from public pathway databases, which you can browse or search. It is a collection of publicly available pathways from multiple organisms that provides researchers with convenient access to a comprehensive collection of pathways from multiple sources represented in a common language.", + "created": "2019-06-11T14:15:52.436+00:00", + "modified": "2019-06-11T14:15:52.436+00:00", + "resources": [ + { + "id": 251, + "mirId": "MIR:00100103", + "urlPattern": "http://www.pathwaycommons.org/pc/record2.do?id={$id}", + "name": "Pathway Commons", + "description": "Pathway Commons", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "485991", + "resourceHomeUrl": "http://www.pathwaycommons.org/pc/", + "institution": { + "id": 1882, + "name": "Memorial Sloan Kettering Cancer Center", + "homeUrl": "https://www.mskcc.org/", + "description": "The people of Memorial Sloan Kettering Cancer Center (MSK) are united by a singular mission: ending cancer for life. Our specialized care teams provide personalized, compassionate, expert care to patients of all ages. Informed by basic research done at our Sloan Kettering Institute, scientists across MSK collaborate to conduct innovative translational and clinical research that is driving a revolution in our understanding of cancer as a disease and improving the ability to prevent, diagnose, and treat it. MSK is dedicated to training the next generation of scientists and clinicians, who go on to pursue our mission at MSK and around the globe. One of the world\u2019s most respected comprehensive centers devoted exclusively to cancer, we have been recognized as one of the top two cancer hospitals in the country by U.S. News & World Report for more than 30 years. ", + "rorId": "https://ror.org/02yrq0923", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "485991", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 255, + "prefix": "mmmp:biomaps", + "mirId": "MIR:00000075", + "name": "Melanoma Molecular Map Project Biomaps", + "pattern": "^\\d+$", + "description": "A collection of molecular interaction maps and pathways involved in cancer development and progression with a focus on melanoma.", + "created": "2019-06-11T14:15:52.916+00:00", + "modified": "2019-06-11T14:15:52.916+00:00", + "resources": [ + { + "id": 257, + "mirId": "MIR:00100105", + "urlPattern": "http://www.mmmp.org/MMMP/public/biomap/viewBiomap.mmmp?id={$id}", + "name": "main webpage", + "description": "main webpage", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "37", + "resourceHomeUrl": "http://www.mmmp.org/MMMP/public/biomap/listBiomap.mmmp", + "institution": { + "id": 256, + "name": "Melanoma Molecular Map Project", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "37", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 263, + "prefix": "mirbase", + "mirId": "MIR:00000078", + "name": "miRBase Sequence", + "pattern": "MI\\d{7}", + "description": "The miRBase Sequence Database is a searchable database of published miRNA sequences and annotation. The data were previously provided by the miRNA Registry. Each entry in the miRBase Sequence database represents a predicted hairpin portion of a miRNA transcript (termed mir in the database), with information on the location and sequence of the mature miRNA sequence (termed miR).", + "created": "2019-06-11T14:15:53.607+00:00", + "modified": "2019-06-11T14:15:53.607+00:00", + "resources": [ + { + "id": 265, + "mirId": "MIR:00100135", + "urlPattern": "http://www.mirbase.org/cgi-bin/mirna_entry.pl?acc={$id}", + "name": "miRBase Sequence Database", + "description": "miRBase Sequence Database", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "MI0000001", + "resourceHomeUrl": "http://www.mirbase.org/", + "institution": { + "id": 264, + "name": "Faculty of Life Sciences, University of Manchester", + "homeUrl": "http://www.manchester.ac.uk/lifesciences/", + "description": "Research laboratories are at the core of our Faculty's research.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MI0000001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 266, + "prefix": "zfin", + "mirId": "MIR:00000079", + "name": "ZFIN Bioentity", + "pattern": "^ZDB\\-\\w+\\-\\d+\\-\\d+$", + "description": "ZFIN serves as the zebrafish model organism database. This collection references all zebrafish biological entities in ZFIN.", + "created": "2019-06-11T14:15:53.859+00:00", + "modified": "2019-06-11T14:15:53.859+00:00", + "resources": [ + { + "id": 268, + "mirId": "MIR:00100110", + "urlPattern": "http://zfin.org/{$id}", + "name": "ZFIN at University of Oregon", + "description": "ZFIN at University of Oregon", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ZDB-GENE-041118-11", + "resourceHomeUrl": "http://zfin.org", + "institution": { + "id": 267, + "name": "Zebrafish Information Network, University of Oregon", + "homeUrl": "https://zfin.org/", + "description": "The long term goals for ZFIN are a) to be the community database resource for the laboratory use of zebrafish, b) to develop and support integrated zebrafish genetic, genomic and developmental information, c) to maintain the definitive reference data sets of zebrafish research information, d) to link this information extensively to corresponding data in other model organism and human databases, e) to facilitate the use of zebrafish as a model for human biology and f) to serve the needs of the research community.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 269, + "mirId": "MIR:00100891", + "urlPattern": "https://bioentity.link/#/lexicon/public/{$id}", + "name": "ZFIN through BioEntity Link", + "description": "ZFIN through BioEntity Link", + "official": false, + "providerCode": "bioentitylink", + "sampleId": "ZDB-GENE-041118-11", + "resourceHomeUrl": "https://bioentity.link/", + "institution": { + "id": 101, + "name": "InSilico Inc, in Eugene, Oregon", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 270, + "mirId": "MIR:00100902", + "urlPattern": "https://test.alliancegenome.org/gene/ZFIN:{$id}", + "name": "ZFIN through the Alliance of Genome Resources", + "description": "ZFIN through the Alliance of Genome Resources", + "official": false, + "providerCode": "agr", + "sampleId": "ZDB-GENE-041118-11", + "resourceHomeUrl": "https://www.alliancegenome.org", + "institution": { + "id": 103, + "name": "Alliance of Genome Resources", + "homeUrl": "https://www.alliancegenome.org", + "description": "The primary mission of the Alliance of Genome Resources (the Alliance) is to develop and maintain sustainable genome information resources that facilitate the use of diverse model organisms in understanding the genetic and genomic basis of human biology, health and disease.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ZDB-GENE-041118-11", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 271, + "prefix": "hgnc", + "mirId": "MIR:00000080", + "name": "HGNC", + "pattern": "^((HGNC|hgnc):)?\\d{1,5}$", + "description": "The HGNC (HUGO Gene Nomenclature Committee) provides an approved gene name and symbol (short-form abbreviation) for each known human gene. All approved symbols are stored in the HGNC database, and each symbol is unique. HGNC identifiers refer to records in the HGNC symbol database.", + "created": "2019-06-11T14:15:54.375+00:00", + "modified": "2019-06-11T14:15:54.375+00:00", + "resources": [ + { + "id": 272, + "mirId": "MIR:00100111", + "urlPattern": "https://www.genenames.org/data/gene-symbol-report/#!/hgnc_id/{$id}", + "name": "HUGO Genome Nomenclature Committee", + "description": "HUGO Genome Nomenclature Committee", + "official": true, + "providerCode": "ebi", + "sampleId": "2674", + "resourceHomeUrl": "https://www.genenames.org", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2674", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 273, + "prefix": "so", + "mirId": "MIR:00000081", + "name": "Sequence Ontology", + "pattern": "^SO:\\d{7}$", + "description": "The Sequence Ontology (SO) is a structured controlled vocabulary for the parts of a genomic annotation. It provides a common set of terms and definitions to facilitate the exchange, analysis and management of genomic data.", + "created": "2019-06-11T14:15:54.604+00:00", + "modified": "2019-06-11T14:15:54.604+00:00", + "resources": [ + { + "id": 275, + "mirId": "MIR:00100112", + "urlPattern": "http://www.sequenceontology.org/miso/current_release/term/SO:{$id}", + "name": "Sequence Ontology", + "description": "Sequence Ontology", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "0000704", + "resourceHomeUrl": "http://www.sequenceontology.org/", + "institution": { + "id": 274, + "name": "Department of Molecular and Cellular Biology, University of California, Berkeley", + "homeUrl": "https://mcb.berkeley.edu/", + "description": "The teaching and research activities of the Department of Molecular and Cell Biology (MCB) concern the molecular structures and processes of cellular life and their roles in the function, reproduction, and development of living organisms. This agenda covers a broad range of specialized disciplines, including biochemistry, biophysics, molecular biology, structural biology, genetics, genomics, bioinformatics, cell biology, developmental biology, tumor biology, microbiology, immunology, pathogenesis and neurobiology. The types of living organisms from which the departmental faculty draws its working materials are as diverse as its disciplinary specializations, ranging from viruses and microbes through plants, roundworms, annelids, arthropods, and mollusks to fish, amphibia, and mammals. The faculty of the department is organized into five divisions: Biochemistry and Molecular Biology; Cell and Developmental Biology; Genetics, Genomics and Development; Neurobiology; and Immunology and Molecular Medicine.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 276, + "mirId": "MIR:00100241", + "urlPattern": "http://purl.bioontology.org/ontology/SO/SO:{$id}", + "name": "Sequence Ontology through BioPortal", + "description": "Sequence Ontology through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "0000704", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/SO", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 277, + "mirId": "MIR:00100628", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/so/terms?obo_id=SO:{$id}", + "name": "Sequence Ontology through Ontology Lookup Service (OLS)", + "description": "Sequence Ontology through Ontology Lookup Service (OLS)", + "official": false, + "providerCode": "ols", + "sampleId": "0000704", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/so", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0000704", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 281, + "prefix": "chembl.compound", + "mirId": "MIR:00000084", + "name": "ChEMBL compound", + "pattern": "^CHEMBL\\d+$", + "description": "ChEMBL is a database of bioactive compounds, their quantitative properties and bioactivities (binding constants, pharmacology and ADMET, etc). The data is abstracted and curated from the primary scientific literature.", + "created": "2019-06-11T14:15:55.368+00:00", + "modified": "2019-06-11T14:15:55.368+00:00", + "resources": [ + { + "id": 282, + "mirId": "MIR:00100115", + "urlPattern": "https://www.ebi.ac.uk/chembl/compound/inspect/{$id}", + "name": "ChEMBL compound database at EBI", + "description": "ChEMBL compound database at EBI", + "official": true, + "providerCode": "ebi", + "sampleId": "CHEMBL308052", + "resourceHomeUrl": "https://www.ebi.ac.uk/chembldb/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 284, + "mirId": "MIR:00100484", + "urlPattern": "http://linkedchemistry.info/chembl/chemblid/{$id}", + "name": "ChEMBL compound RDF", + "description": "ChEMBL compound RDF", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "CHEMBL308052", + "resourceHomeUrl": "https://github.com/egonw/chembl.rdf", + "institution": { + "id": 283, + "name": "Maastricht University", + "homeUrl": "https://www.maastrichtuniversity.nl", + "description": "Maastricht University (UM) is the most international university in the Netherlands and, with 18,000 students and 4,400 employees, is still growing. The university stands out for its innovative education model, international character and multidisciplinary approach to research and education.\nThanks to its high-quality research and study programmes as well as a strong focus on social engagement, UM has quickly built up a solid reputation. Today it is considered one of the best young universities in the world.", + "rorId": "https://ror.org/02jz4aj89", + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + } + }, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 285, + "mirId": "MIR:00100744", + "urlPattern": "https://rdf.ebi.ac.uk/resource/chembl/molecule/{$id}", + "name": "ChEMBL compound RDF through EBI RDF Platform", + "description": "ChEMBL compound RDF through EBI RDF Platform", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "CHEMBL308052", + "resourceHomeUrl": "https://www.ebi.ac.uk/rdf/services/chembl/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CHEMBL308052", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 286, + "prefix": "chembl.target", + "mirId": "MIR:00000085", + "name": "ChEMBL target", + "pattern": "^CHEMBL\\d+$", + "description": "ChEMBL is a database of bioactive compounds, their quantitative properties and bioactivities (binding constants, pharmacology and ADMET, etc). The data is abstracted and curated from the primary scientific literature.", + "created": "2019-06-11T14:15:55.880+00:00", + "modified": "2019-06-11T14:15:55.880+00:00", + "resources": [ + { + "id": 287, + "mirId": "MIR:00100116", + "urlPattern": "https://www.ebi.ac.uk/chembl/target/inspect/{$id}", + "name": "ChEMBL targets database at EBI", + "description": "ChEMBL targets database at EBI", + "official": true, + "providerCode": "ebi", + "sampleId": "CHEMBL3467", + "resourceHomeUrl": "https://www.ebi.ac.uk/chembldb/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 288, + "mirId": "MIR:00100485", + "urlPattern": "http://linkedchemistry.info/chembl/chemblid/{$id}", + "name": "ChEMBL target RDF", + "description": "ChEMBL target RDF", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "CHEMBL3467", + "resourceHomeUrl": "https://github.com/egonw/chembl.rdf", + "institution": { + "id": 283, + "name": "Maastricht University", + "homeUrl": "https://www.maastrichtuniversity.nl", + "description": "Maastricht University (UM) is the most international university in the Netherlands and, with 18,000 students and 4,400 employees, is still growing. The university stands out for its innovative education model, international character and multidisciplinary approach to research and education.\nThanks to its high-quality research and study programmes as well as a strong focus on social engagement, UM has quickly built up a solid reputation. Today it is considered one of the best young universities in the world.", + "rorId": "https://ror.org/02jz4aj89", + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + } + }, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 289, + "mirId": "MIR:00100743", + "urlPattern": "https://rdf.ebi.ac.uk/resource/chembl/target/{$id}", + "name": "ChEMBL target RDF through EBI RDF Platform", + "description": "ChEMBL target RDF through EBI RDF Platform", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "CHEMBL3467", + "resourceHomeUrl": "https://rdf.ebi.ac.uk/resource/chembl/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CHEMBL3467", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 290, + "prefix": "sabiork.kineticrecord", + "mirId": "MIR:00000086", + "name": "SABIO-RK Kinetic Record", + "pattern": "^\\d+$", + "description": "SABIO-RK is a relational database system that contains information about biochemical reactions, their kinetic equations with their parameters, and the experimental conditions under which these parameters were measured. The kinetic record data set provides information regarding the kinetic law, measurement conditions, parameter details and other reference information.", + "created": "2019-06-11T14:15:56.334+00:00", + "modified": "2019-06-11T14:15:56.334+00:00", + "resources": [ + { + "id": 291, + "mirId": "MIR:00100117", + "urlPattern": "http://sabiork.h-its.org/kineticLawEntry.jsp?viewData=true&kinlawid={$id}", + "name": "SABIO-RK Reaction Kinetics Database - Kinetic Dataset", + "description": "SABIO-RK Reaction Kinetics Database - Kinetic Dataset", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "5046", + "resourceHomeUrl": "http://sabiork.h-its.org/", + "institution": { + "id": 151, + "name": "Heidelberg Institute for Theoretical Studies (HITS gGmbH)", + "homeUrl": "http://www.h-its.org/en/", + "description": "HITS conducts basic research in the natural sciences, mathematical and computer science. Major research directions include complex simulations across scales, making sense of data, and enabling science via computational research. Application areas range from molecular biology to astrophysics. An essential characteristic of the Institute is interdisciplinarity, implemented in numerous cross-group and cross-disciplinary projects. The base funding of HITS is provided by the Klaus Tschira Foundation.", + "rorId": "https://ror.org/01f7bcy98", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "5046", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 292, + "prefix": "lgic", + "mirId": "MIR:00000087", + "name": "Ligand-Gated Ion Channel database", + "pattern": "^\\w+$", + "description": "The Ligand-Gated Ion Channel database provides nucleic and proteic sequences of the subunits of ligand-gated ion channels. These transmembrane proteins can exist under different conformations, at least one of which forms a pore through the membrane connecting two neighbouring compartments. The database can be used to generate multiple sequence alignments from selected subunits, and gives the atomic coordinates of subunits, or portion of subunits, where available.", + "created": "2019-06-11T14:15:56.548+00:00", + "modified": "2019-06-11T14:15:56.548+00:00", + "resources": [ + { + "id": 293, + "mirId": "MIR:00100118", + "urlPattern": "https://www.ebi.ac.uk/compneur-srv/LGICdb/HTML/{$id}.php", + "name": "Ligand-Gated Ion Channel database at EBI", + "description": "Ligand-Gated Ion Channel database at EBI", + "official": false, + "providerCode": "ebi", + "sampleId": "5HT3Arano", + "resourceHomeUrl": "https://www.ebi.ac.uk/compneur-srv/LGICdb/LGICdb.php", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "5HT3Arano", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 294, + "prefix": "atc", + "mirId": "MIR:00000088", + "name": "Anatomical Therapeutic Chemical", + "pattern": "^[A-Z](\\d+([A-Z]{1,2}(\\d+)?)?)?$", + "description": "The Anatomical Therapeutic Chemical (ATC) classification system, divides active substances into different groups according to the organ or system on which they act and their therapeutic, pharmacological and chemical properties. Drugs are classified in groups at five different levels; Drugs are divided into fourteen main groups (1st level), with pharmacological/therapeutic subgroups (2nd level). The 3rd and 4th levels are chemical/pharmacological/therapeutic subgroups and the 5th level is the chemical substance. The Anatomical Therapeutic Chemical (ATC) classification system and the Defined Daily Dose (DDD) is a tool for exchanging and comparing data on drug use at international, national or local levels.", + "created": "2019-06-11T14:15:56.747+00:00", + "modified": "2019-06-11T14:15:56.747+00:00", + "resources": [ + { + "id": 296, + "mirId": "MIR:00100119", + "urlPattern": "http://www.whocc.no/atc_ddd_index/?code={$id}", + "name": "Anatomical Therapeutic Chemical Index at WHO", + "description": "Anatomical Therapeutic Chemical Index at WHO", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "A10BA02", + "resourceHomeUrl": "http://www.whocc.no/atc_ddd_index/", + "institution": { + "id": 295, + "name": "World Health Organisation", + "homeUrl": "https://www.who.int/", + "description": "Dedicated to the well-being of all people and guided by science, the World Health Organization leads and champions global efforts to give everyone, everywhere an equal chance to live a healthy life. ", + "rorId": null, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "A10BA02", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 297, + "prefix": "pharmgkb.pathways", + "mirId": "MIR:00000089", + "name": "PharmGKB Pathways", + "pattern": "^PA\\d+$", + "description": "The PharmGKB database is a central repository for genetic, genomic, molecular and cellular phenotype data and clinical information about people who have participated in pharmacogenomics research studies. The data includes, but is not limited to, clinical and basic pharmacokinetic and pharmacogenomic research in the cardiovascular, pulmonary, cancer, pathways, metabolic and transporter domains. \r\nPharmGKB Pathways are drug centric, gene based, interactive pathways which focus on candidate genes and gene groups and associated genotype and phenotype data of relevance for pharmacogenetic and pharmacogenomic studies.", + "created": "2019-06-11T14:15:57.006+00:00", + "modified": "2019-06-11T14:15:57.006+00:00", + "resources": [ + { + "id": 299, + "mirId": "MIR:00100120", + "urlPattern": "http://www.pharmgkb.org/pathway/{$id}", + "name": "PharmGKB at Stanford", + "description": "PharmGKB at Stanford", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "PA146123006", + "resourceHomeUrl": "http://www.pharmgkb.org/", + "institution": { + "id": 298, + "name": "Department of Genetics, School of Medicine, Stanford University, Stanford, California", + "homeUrl": "https://med.stanford.edu/genetics.html", + "description": "A leader in the biomedical revolution, Stanford Medicine has a long tradition of leadership in pioneering research, creative teaching protocols and effective clinical therapies.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PA146123006", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 300, + "prefix": "pharmgkb.disease", + "mirId": "MIR:00000090", + "name": "PharmGKB Disease", + "pattern": "^PA\\d+$", + "description": "The PharmGKB database is a central repository for genetic, genomic, molecular and cellular phenotype data and clinical information about people who have participated in pharmacogenomics research studies. The data includes, but is not limited to, clinical and basic pharmacokinetic and pharmacogenomic research in the cardiovascular, pulmonary, cancer, pathways, metabolic and transporter domains.", + "created": "2019-06-11T14:15:57.258+00:00", + "modified": "2019-06-11T14:15:57.258+00:00", + "resources": [ + { + "id": 301, + "mirId": "MIR:00100121", + "urlPattern": "http://www.pharmgkb.org/disease/{$id}", + "name": "PharmGKB Disease at Stanford", + "description": "PharmGKB Disease at Stanford", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "PA447218", + "resourceHomeUrl": "http://www.pharmgkb.org/", + "institution": { + "id": 298, + "name": "Department of Genetics, School of Medicine, Stanford University, Stanford, California", + "homeUrl": "https://med.stanford.edu/genetics.html", + "description": "A leader in the biomedical revolution, Stanford Medicine has a long tradition of leadership in pioneering research, creative teaching protocols and effective clinical therapies.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PA447218", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 258, + "prefix": "wikipathways", + "mirId": "MIR:00000076", + "name": "WikiPathways", + "pattern": "WP\\d{1,5}(\\_r\\d+)?$", + "description": "WikiPathways is a resource providing an open and public collection of pathway maps created and curated by the community in a Wiki-like style.", + "created": "2019-06-11T14:15:53.125+00:00", + "modified": "2023-01-05T18:26:05.922+00:00", + "resources": [ + { + "id": 260, + "mirId": "MIR:00100106", + "urlPattern": "http://www.wikipathways.org/instance/{$id}", + "name": "WikiPathways", + "description": "WikiPathways", + "official": true, + "providerCode": "um", + "sampleId": "WP100", + "resourceHomeUrl": "http://www.wikipathways.org/", + "institution": { + "id": 283, + "name": "Maastricht University", + "homeUrl": "https://www.maastrichtuniversity.nl", + "description": "Maastricht University (UM) is the most international university in the Netherlands and, with 18,000 students and 4,400 employees, is still growing. The university stands out for its innovative education model, international character and multidisciplinary approach to research and education.\nThanks to its high-quality research and study programmes as well as a strong focus on social engagement, UM has quickly built up a solid reputation. Today it is considered one of the best young universities in the world.", + "rorId": "https://ror.org/02jz4aj89", + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 2316, + "mirId": "MIR:00000696", + "urlPattern": "https://scholia.toolforge.org/wikipathways/{$id}", + "name": "Scholia", + "description": "Scholia is a service that creates visual scholarly profiles for topic, people, organizations, species, chemicals, etc using bibliographic and other information in Wikidata.\n", + "official": false, + "providerCode": "scholia", + "sampleId": "WP111", + "resourceHomeUrl": "https://scholia.toolforge.org/", + "institution": { + "id": 283, + "name": "Maastricht University", + "homeUrl": "https://www.maastrichtuniversity.nl", + "description": "Maastricht University (UM) is the most international university in the Netherlands and, with 18,000 students and 4,400 employees, is still growing. The university stands out for its innovative education model, international character and multidisciplinary approach to research and education.\nThanks to its high-quality research and study programmes as well as a strong focus on social engagement, UM has quickly built up a solid reputation. Today it is considered one of the best young universities in the world.", + "rorId": "https://ror.org/02jz4aj89", + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + } + }, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "WP100", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 302, + "prefix": "pharmgkb.drug", + "mirId": "MIR:00000091", + "name": "PharmGKB Drug", + "pattern": "^PA\\d+$", + "description": "The PharmGKB database is a central repository for genetic, genomic, molecular and cellular phenotype data and clinical information about people who have participated in pharmacogenomics research studies. The data includes, but is not limited to, clinical and basic pharmacokinetic and pharmacogenomic research in the cardiovascular, pulmonary, cancer, pathways, metabolic and transporter domains.", + "created": "2019-06-11T14:15:57.451+00:00", + "modified": "2019-06-11T14:15:57.451+00:00", + "resources": [ + { + "id": 303, + "mirId": "MIR:00100122", + "urlPattern": "http://www.pharmgkb.org/drug/{$id}", + "name": "PharmGKB Drug at Stanford", + "description": "PharmGKB Drug at Stanford", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "PA448710", + "resourceHomeUrl": "http://www.pharmgkb.org/", + "institution": { + "id": 298, + "name": "Department of Genetics, School of Medicine, Stanford University, Stanford, California", + "homeUrl": "https://med.stanford.edu/genetics.html", + "description": "A leader in the biomedical revolution, Stanford Medicine has a long tradition of leadership in pioneering research, creative teaching protocols and effective clinical therapies.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PA448710", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 304, + "prefix": "ttd.drug", + "mirId": "MIR:00000092", + "name": "TTD Drug", + "pattern": "^DAP\\d+$", + "description": "The Therapeutic Target Database (TTD) is designed to provide information about the known therapeutic protein and nucleic acid targets described in the literature, the targeted disease conditions, the pathway information and the corresponding drugs/ligands directed at each of these targets. Cross-links to other databases allow the access to information about the sequence, 3D structure, function, nomenclature, drug/ligand binding properties, drug usage and effects, and related literature for each target.", + "created": "2019-06-11T14:15:57.654+00:00", + "modified": "2019-06-11T14:15:57.654+00:00", + "resources": [ + { + "id": 306, + "mirId": "MIR:00100123", + "urlPattern": "http://bidd.nus.edu.sg/group/TTD/ZFTTDDRUG.asp?ID={$id}", + "name": "Therapeutic Target Database Drug", + "description": "Therapeutic Target Database Drug", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "DAP000773", + "resourceHomeUrl": "http://bidd.nus.edu.sg/group/ttd/ttd.asp", + "institution": { + "id": 305, + "name": "Computational Science Department, National University of Singapore", + "homeUrl": "https://www.comp.nus.edu.sg/cs/", + "description": "The NUS School of Computing traces its roots back to the Nanyang University Department of Computer Science that was established in 1975 \u2013 the first of its kind in Singapore. Since then, we have developed into one of the leading computing schools in the world, with faculty members who are both internationally recognised researchers and inspiring teachers.", + "rorId": null, + "location": { + "countryCode": "SG", + "countryName": "Singapore" + } + }, + "location": { + "countryCode": "SG", + "countryName": "Singapore" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "DAP000773", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 307, + "prefix": "ttd.target", + "mirId": "MIR:00000093", + "name": "TTD Target", + "pattern": "^TTDS\\d+$", + "description": "The Therapeutic Target Database (TTD) is designed to provide information about the known therapeutic protein and nucleic acid targets described in the literature, the targeted disease conditions, the pathway information and the corresponding drugs/ligands directed at each of these targets. Cross-links to other databases are also introduced to facilitate the access of information about the sequence, 3D structure, function, nomenclature, drug/ligand binding properties, drug usage and effects, and related literature for each target.", + "created": "2019-06-11T14:15:57.896+00:00", + "modified": "2019-06-11T14:15:57.896+00:00", + "resources": [ + { + "id": 308, + "mirId": "MIR:00100124", + "urlPattern": "http://bidd.nus.edu.sg/group/TTD/ZFTTDDetail.asp?ID={$id}", + "name": "Therapeutic Target Database Target", + "description": "Therapeutic Target Database Target", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "TTDS00056", + "resourceHomeUrl": "http://bidd.nus.edu.sg/group/ttd/ttd.asp", + "institution": { + "id": 305, + "name": "Computational Science Department, National University of Singapore", + "homeUrl": "https://www.comp.nus.edu.sg/cs/", + "description": "The NUS School of Computing traces its roots back to the Nanyang University Department of Computer Science that was established in 1975 \u2013 the first of its kind in Singapore. Since then, we have developed into one of the leading computing schools in the world, with faculty members who are both internationally recognised researchers and inspiring teachers.", + "rorId": null, + "location": { + "countryCode": "SG", + "countryName": "Singapore" + } + }, + "location": { + "countryCode": "SG", + "countryName": "Singapore" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "TTDS00056", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 309, + "prefix": "neurondb", + "mirId": "MIR:00000094", + "name": "NeuronDB", + "pattern": "^\\d+$", + "description": "NeuronDB provides a dynamically searchable database of three types of neuronal properties: voltage gated conductances, neurotransmitter receptors, and neurotransmitter substances. It contains tools that provide for integration of these properties in a given type of neuron and compartment, and for comparison of properties across different types of neurons and compartments.", + "created": "2019-06-11T14:15:58.106+00:00", + "modified": "2019-06-11T14:15:58.106+00:00", + "resources": [ + { + "id": 311, + "mirId": "MIR:00100125", + "urlPattern": "http://senselab.med.yale.edu/NeuronDB/NeuronProp.aspx?id={$id}", + "name": "NeuronDB at SenseLab", + "description": "NeuronDB at SenseLab", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "265", + "resourceHomeUrl": "http://senselab.med.yale.edu/NeuronDB/", + "institution": { + "id": 310, + "name": "Yale University School of Medicine", + "homeUrl": "https://medicine.yale.edu/", + "description": "Yale School of Medicine educates and nurtures creative leaders in medicine and science, promoting curiosity and critical inquiry in an inclusive environment enriched by diversity. We advance discovery and innovation fostered by partnerships across the university, our local community, and the world. We care for patients with compassion, and commit to improving the health of all people. More about YSM's History, Facts & Figures.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "265", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 315, + "prefix": "chemidplus", + "mirId": "MIR:00000096", + "name": "ChemIDplus", + "pattern": "^\\d+\\-\\d+\\-\\d+$", + "description": "ChemIDplus is a web-based search system that provides access to structure and nomenclature authority files used for the identification of chemical substances cited in National Library of Medicine (NLM) databases. It also provides structure searching and direct links to many biomedical resources at NLM and on the Internet for chemicals of interest.", + "created": "2019-06-11T14:15:58.577+00:00", + "modified": "2019-06-11T14:15:58.577+00:00", + "resources": [ + { + "id": 317, + "mirId": "MIR:00100127", + "urlPattern": "https://chem.nlm.nih.gov/chemidplus/rn/{$id}", + "name": "ChemIDplus at National Library of Medicine", + "description": "ChemIDplus at National Library of Medicine", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "57-27-2", + "resourceHomeUrl": "https://chem.nlm.nih.gov/chemidplus/chemidheavy.jsp", + "institution": { + "id": 316, + "name": "National Library of Medicine, Maryland", + "homeUrl": "https://www.nlm.nih.gov/", + "description": "The National Library of Medicine (NLM), on the campus of the National Institutes of Health in Bethesda, Maryland, has been a center of information innovation since its founding in 1836. The world\u2019s largest biomedical library, NLM maintains and makes available a vast print collection and produces electronic information resources on a wide range of topics that are searched billions of times each year by millions of people around the globe. It also supports and conducts research, development, and training in biomedical informatics and health information technology. In addition, the Library coordinates an 8,000+ member Network of the National Library of Medicine that promotes and provides access to health information in communities across the United States.", + "rorId": "https://ror.org/0060t0j89", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "57-27-2", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 318, + "prefix": "biosystems", + "mirId": "MIR:00000097", + "name": "BioSystems", + "pattern": "^\\d+$", + "description": "The NCBI BioSystems database centralizes and cross-links existing biological systems databases, increasing their utility and target audience by integrating their pathways and systems into NCBI resources.", + "created": "2019-06-11T14:15:58.906+00:00", + "modified": "2019-06-11T14:15:58.906+00:00", + "resources": [ + { + "id": 319, + "mirId": "MIR:00100128", + "urlPattern": "https://www.ncbi.nlm.nih.gov/biosystems/{$id}", + "name": "BioSystems database at NCBI", + "description": "BioSystems database at NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "001", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/biosystems/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 320, + "prefix": "ctd.chemical", + "mirId": "MIR:00000098", + "name": "CTD Chemical", + "pattern": "^[CD]\\d+$", + "description": "The Comparative Toxicogenomics Database (CTD) presents scientifically reviewed and curated information on chemicals, relevant genes and proteins, and their interactions in vertebrates and invertebrates. It integrates sequence, reference, species, microarray, and general toxicology information to provide a unique centralized resource for toxicogenomic research. The database also provides visualization capabilities that enable cross-species comparisons of gene and protein sequences.", + "created": "2019-06-11T14:15:59.108+00:00", + "modified": "2019-06-11T14:15:59.108+00:00", + "resources": [ + { + "id": 322, + "mirId": "MIR:00100129", + "urlPattern": "http://ctdbase.org/detail.go?type=chem&acc={$id}", + "name": "Comparative Toxicogenomics Database (Chemical)", + "description": "Comparative Toxicogenomics Database (Chemical)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "D001151", + "resourceHomeUrl": "http://ctdbase.org/", + "institution": { + "id": 321, + "name": "The Mount Desert Island Biological Laboratory", + "homeUrl": "http://mdibl.org/", + "description": "We seek to improve human health by discovering novel mechanisms of tissue repair, aging and regeneration. We translate our discoveries for the benefit of medicine and society and are dedicated to developing the next generation of scientific leaders through hands-on training. We utilize the most advanced scientific technology, computational techniques and comparative model systems to learn how to stimulate tissue repair and regeneration and delay the onset of age-related diseases.", + "rorId": "https://ror.org/04dw1bf40", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "D001151", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 323, + "prefix": "ctd.disease", + "mirId": "MIR:00000099", + "name": "CTD Disease", + "pattern": "^D\\d+$", + "description": "The Comparative Toxicogenomics Database (CTD) presents scientifically reviewed and curated information on chemicals, relevant genes and proteins, and their interactions in vertebrates and invertebrates. It integrates sequence, reference, species, microarray, and general toxicology information to provide a unique centralized resource for toxicogenomic research. The database also provides visualization capabilities that enable cross-species comparisons of gene and protein sequences.", + "created": "2019-06-11T14:15:59.348+00:00", + "modified": "2019-06-11T14:15:59.348+00:00", + "resources": [ + { + "id": 324, + "mirId": "MIR:00100130", + "urlPattern": "http://ctdbase.org/detail.go?type=disease&db=MESH&acc={$id}", + "name": "Comparative Toxicogenomics Database (Disease)", + "description": "Comparative Toxicogenomics Database (Disease)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "D053716", + "resourceHomeUrl": "http://ctdbase.org/", + "institution": { + "id": 321, + "name": "The Mount Desert Island Biological Laboratory", + "homeUrl": "http://mdibl.org/", + "description": "We seek to improve human health by discovering novel mechanisms of tissue repair, aging and regeneration. We translate our discoveries for the benefit of medicine and society and are dedicated to developing the next generation of scientific leaders through hands-on training. We utilize the most advanced scientific technology, computational techniques and comparative model systems to learn how to stimulate tissue repair and regeneration and delay the onset of age-related diseases.", + "rorId": "https://ror.org/04dw1bf40", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "D053716", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 325, + "prefix": "ctd.gene", + "mirId": "MIR:00000100", + "name": "CTD Gene", + "pattern": "^\\d+$", + "description": "The Comparative Toxicogenomics Database (CTD) presents scientifically reviewed and curated information on chemicals, relevant genes and proteins, and their interactions in vertebrates and invertebrates. It integrates sequence, reference, species, microarray, and general toxicology information to provide a unique centralized resource for toxicogenomic research. The database also provides visualization capabilities that enable cross-species comparisons of gene and protein sequences.", + "created": "2019-06-11T14:15:59.547+00:00", + "modified": "2019-06-11T14:15:59.547+00:00", + "resources": [ + { + "id": 326, + "mirId": "MIR:00100131", + "urlPattern": "http://ctdbase.org/detail.go?type=gene&acc={$id}", + "name": "Comparative Toxicogenomics Database (Gene)", + "description": "Comparative Toxicogenomics Database (Gene)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "101", + "resourceHomeUrl": "http://ctdbase.org/", + "institution": { + "id": 321, + "name": "The Mount Desert Island Biological Laboratory", + "homeUrl": "http://mdibl.org/", + "description": "We seek to improve human health by discovering novel mechanisms of tissue repair, aging and regeneration. We translate our discoveries for the benefit of medicine and society and are dedicated to developing the next generation of scientific leaders through hands-on training. We utilize the most advanced scientific technology, computational techniques and comparative model systems to learn how to stimulate tissue repair and regeneration and delay the onset of age-related diseases.", + "rorId": "https://ror.org/04dw1bf40", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "101", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 327, + "prefix": "bionumbers", + "mirId": "MIR:00000101", + "name": "BioNumbers", + "pattern": "^\\d+$", + "description": "BioNumbers is a database of key numberical information that may be used in molecular biology. Along with the numbers, it contains references to the original literature, useful comments, and related numeric data.", + "created": "2019-06-11T14:15:59.756+00:00", + "modified": "2019-06-11T14:15:59.756+00:00", + "resources": [ + { + "id": 329, + "mirId": "MIR:00100132", + "urlPattern": "https://bionumbers.hms.harvard.edu/bionumber.aspx?id={$id}", + "name": "BioNumbers database", + "description": "BioNumbers database", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "104674", + "resourceHomeUrl": "https://bionumbers.hms.harvard.edu", + "institution": { + "id": 328, + "name": "Weizmann Institute", + "homeUrl": "https://www.weizmann.ac.il/pages/", + "description": "The Weizmann Institute of Science is one of the world\u2019s leading multidisciplinary basic research institutions in the natural and exact sciences. It is located in Rehovot, Israel, just south of Tel Aviv. It was initially established as the Daniel Sieff Institute in 1934, by Israel and Rebecca Sieff of London in memory of their son Daniel. In 1949, it was renamed for Dr. Chaim Weizmann, the first President of the State of Israel and Founder of the Institute.", + "rorId": "https://ror.org/0316ej306", + "location": { + "countryCode": "IL", + "countryName": "Israel" + } + }, + "location": { + "countryCode": "IL", + "countryName": "Israel" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "104674", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 330, + "prefix": "drugbank", + "mirId": "MIR:00000102", + "name": "DrugBank", + "pattern": "^DB\\d{5}$", + "description": "The DrugBank database is a bioinformatics and chemoinformatics resource that combines detailed drug (i.e. chemical, pharmacological and pharmaceutical) data with comprehensive drug target (i.e. sequence, structure, and pathway) information. This collection references drug information.", + "created": "2019-06-11T14:16:00.005+00:00", + "modified": "2019-06-11T14:16:00.005+00:00", + "resources": [ + { + "id": 332, + "mirId": "MIR:00100133", + "urlPattern": "http://www.drugbank.ca/drugs/{$id}", + "name": "DrugBank drug information", + "description": "DrugBank drug information", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "DB00001", + "resourceHomeUrl": "http://www.drugbank.ca/", + "institution": { + "id": 331, + "name": "Departments of Computing Science & Biological Sciences, University of Alberta", + "homeUrl": "https://www.ualberta.ca/index.html", + "description": "We are a Top 5 Canadian university and one of the Top 150 in the world. Find out what makes our student experience so rich, meaningful and life-changing.", + "rorId": null, + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "DB00001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 333, + "prefix": "t3db", + "mirId": "MIR:00000103", + "name": "T3DB", + "pattern": "^T3D\\d+$", + "description": "Toxin and Toxin Target Database (T3DB) is a bioinformatics resource that combines detailed toxin data with comprehensive toxin target information.", + "created": "2019-06-11T14:16:00.251+00:00", + "modified": "2019-06-11T14:16:00.251+00:00", + "resources": [ + { + "id": 335, + "mirId": "MIR:00100136", + "urlPattern": "http://www.t3db.org/toxins/{$id}", + "name": "Toxin and Toxin Target Database", + "description": "Toxin and Toxin Target Database", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "T3D0001", + "resourceHomeUrl": "http://www.t3db.org/", + "institution": { + "id": 334, + "name": "University of Alberta", + "homeUrl": "https://www.ualberta.ca", + "description": "The University of Alberta in Edmonton is one of Canada's top teaching and research universities, with an international reputation for excellence across the humanities, sciences, creative arts, business, engineering and health sciences.", + "rorId": "https://ror.org/0160cpw27", + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "T3D0001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 336, + "prefix": "smpdb", + "mirId": "MIR:00000104", + "name": "Small Molecule Pathway Database", + "pattern": "^SMP\\d+$", + "description": "The Small Molecule Pathway Database (SMPDB) contains small molecule pathways found in humans, which are presented visually. All SMPDB pathways include information on the relevant organs, subcellular compartments, protein cofactors, protein locations, metabolite locations, chemical structures and protein quaternary structures. Accompanying data includes detailed descriptions and references, providing an overview of the pathway, condition or processes depicted in each diagram.", + "created": "2019-06-11T14:16:00.499+00:00", + "modified": "2019-06-11T14:16:00.499+00:00", + "resources": [ + { + "id": 337, + "mirId": "MIR:00100137", + "urlPattern": "http://smpdb.ca/view/{$id}", + "name": "Small Molecule Pathway Database", + "description": "Small Molecule Pathway Database", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "SMP00001", + "resourceHomeUrl": "https://smpdb.ca/", + "institution": { + "id": 334, + "name": "University of Alberta", + "homeUrl": "https://www.ualberta.ca", + "description": "The University of Alberta in Edmonton is one of Canada's top teaching and research universities, with an international reputation for excellence across the humanities, sciences, creative arts, business, engineering and health sciences.", + "rorId": "https://ror.org/0160cpw27", + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "SMP00001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 338, + "prefix": "phosphosite.protein", + "mirId": "MIR:00000105", + "name": "PhosphoSite Protein", + "pattern": "^\\d{5}$", + "description": "PhosphoSite is a mammalian protein database that provides information about in vivo phosphorylation sites. This datatype refers to protein-level information, providing a list of phosphorylation sites for each protein in the database.", + "created": "2019-06-11T14:16:00.712+00:00", + "modified": "2019-06-11T14:16:00.712+00:00", + "resources": [ + { + "id": 340, + "mirId": "MIR:00100138", + "urlPattern": "http://www.phosphosite.org/proteinAction.do?id={$id}", + "name": "PhosphoSite", + "description": "PhosphoSite", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "12300", + "resourceHomeUrl": "http://www.phosphosite.org/homeAction.do", + "institution": { + "id": 339, + "name": "Cell Signaling Technology, Inc.", + "homeUrl": "https://www.cellsignal.com/", + "description": "Cell Signaling Technology (CST) is a different kind of life sciences company\u2014one founded, owned, and run by active research scientists, with the highest standards of product and service quality, technological innovation, and scientific rigor for over 20 years. We consistently provide fellow scientists around the globe with best-in-class products and services to fuel their quests for discovery.", + "rorId": "https://ror.org/03k4zc121", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "12300", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 344, + "prefix": "biomodels.teddy", + "mirId": "MIR:00000107", + "name": "TEDDY", + "pattern": "^TEDDY_\\d{7}$", + "description": "The Terminology for Description of Dynamics (TEDDY) is an ontology for dynamical behaviours, observable dynamical phenomena, and control elements of bio-models and biological systems in Systems Biology and Synthetic Biology.", + "created": "2019-06-11T14:16:01.178+00:00", + "modified": "2019-06-11T14:16:01.178+00:00", + "resources": [ + { + "id": 345, + "mirId": "MIR:00100140", + "urlPattern": "http://purl.bioontology.org/ontology/TEDDY/{$id}", + "name": "TEDDY through BioPortal", + "description": "TEDDY through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "TEDDY_0000066", + "resourceHomeUrl": "http://teddyontology.sourceforge.net/", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 346, + "mirId": "MIR:00100761", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/teddy/terms?short_form={$id}", + "name": "TEDDY though OLS", + "description": "TEDDY though OLS", + "official": false, + "providerCode": "ols", + "sampleId": "TEDDY_0000066", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/teddy", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "TEDDY_0000066", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 347, + "prefix": "biomodels.kisao", + "mirId": "MIR:00000108", + "name": "KiSAO", + "pattern": "^KISAO_\\d+$", + "description": "The Kinetic Simulation Algorithm Ontology (KiSAO) is an ontology that describes simulation algorithms and methods used for biological kinetic models, and the relationships between them. This provides a means to unambiguously refer to simulation algorithms when describing a simulation experiment.", + "created": "2019-06-11T14:16:01.508+00:00", + "modified": "2019-06-11T14:16:01.508+00:00", + "resources": [ + { + "id": 348, + "mirId": "MIR:00100141", + "urlPattern": "http://purl.bioontology.org/ontology/KISAO/kisao:{$id}", + "name": "KiSAO via NCBO's Bioportal", + "description": "KiSAO via NCBO's Bioportal", + "official": false, + "providerCode": "bptl", + "sampleId": "KISAO_0000057", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/KISAO", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 349, + "mirId": "MIR:00100757", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/kisao/terms?short_form={$id}", + "name": "KiSAO through OLS", + "description": "KiSAO through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "KISAO_0000057", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/kisao", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "KISAO_0000057", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 352, + "prefix": "cl", + "mirId": "MIR:00000110", + "name": "Cell Type Ontology", + "pattern": "^CL:\\d{7}$", + "description": "The Cell Ontology is designed as a structured controlled vocabulary for cell types. The ontology was constructed for use by the model organism and other bioinformatics databases, incorporating cell types from prokaryotes to mammals, and includes plants and fungi.", + "created": "2019-06-11T14:16:02.066+00:00", + "modified": "2019-06-11T14:16:02.066+00:00", + "resources": [ + { + "id": 354, + "mirId": "MIR:00100234", + "urlPattern": "http://purl.bioontology.org/ontology/CL/CL:{$id}", + "name": "Cell Type Ontology through BioPortal", + "description": "Cell Type Ontology through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "0000232", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/CL", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 353, + "mirId": "MIR:00100143", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/cl/terms?obo_id=CL:{$id}", + "name": "Cell Type Ontology through OLS", + "description": "Cell Type Ontology through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "0000232", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/cl", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0000232", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 355, + "prefix": "bto", + "mirId": "MIR:00000111", + "name": "Brenda Tissue Ontology", + "pattern": "^BTO:\\d{7}$", + "description": "The Brenda tissue ontology is a structured controlled vocabulary eastablished to identify the source of an enzyme cited in the Brenda enzyme database. It comprises terms of tissues, cell lines, cell types and cell cultures from uni- and multicellular organisms.", + "created": "2019-06-11T14:16:02.399+00:00", + "modified": "2019-06-11T14:16:02.399+00:00", + "resources": [ + { + "id": 357, + "mirId": "MIR:00100233", + "urlPattern": "http://purl.bioontology.org/ontology/BTO/BTO:{$id}", + "name": "Brenda Tissue Ontology through BioPortal", + "description": "Brenda Tissue Ontology through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "0000146", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/BTO", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 356, + "mirId": "MIR:00100144", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/bto/terms?obo_id=BTO:{$id}", + "name": "Brenda Tissue Ontology through OLS", + "description": "Brenda Tissue Ontology through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "0000146", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/bto", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0000146", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 358, + "prefix": "pato", + "mirId": "MIR:00000112", + "name": "PATO", + "pattern": "^PATO:\\d{7}$", + "description": "PATO is an ontology of phenotypic qualities, intended for use in a number of applications, primarily defining composite phenotypes and phenotype annotation.", + "created": "2019-06-11T14:16:02.730+00:00", + "modified": "2019-06-11T14:16:02.730+00:00", + "resources": [ + { + "id": 360, + "mirId": "MIR:00100238", + "urlPattern": "http://purl.bioontology.org/ontology/PATO/PATO:{$id}", + "name": "PATO through BioPortal", + "description": "PATO through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "0001998", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/PATO", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 359, + "mirId": "MIR:00100145", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/pato/terms?obo_id=PATO:{$id}", + "name": "PATO through OLS", + "description": "PATO through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "0001998", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/pato", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0001998", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 366, + "prefix": "lipidbank", + "mirId": "MIR:00000115", + "name": "LipidBank", + "pattern": "^\\w+\\d+$", + "description": "LipidBank is an open, publicly free database of natural lipids including fatty acids, glycerolipids, sphingolipids, steroids, and various vitamins.", + "created": "2019-06-11T14:16:03.490+00:00", + "modified": "2019-06-11T14:16:03.490+00:00", + "resources": [ + { + "id": 368, + "mirId": "MIR:00100148", + "urlPattern": "http://lipidbank.jp/cgi-bin/detail.cgi?id={$id}", + "name": "LipidBank the Lipid database", + "description": "LipidBank the Lipid database", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "BBA0001", + "resourceHomeUrl": "http://lipidbank.jp/index.html", + "institution": { + "id": 367, + "name": "Department of Computational Biology, University of Tokyo, Tokyo", + "homeUrl": "https://www.cbms.k.u-tokyo.ac.jp/english/index.html", + "description": "he department of Medical Genome Sciences and the department of Computational Biology have been merged, resulting in the establishment of a unique new major that is unprecedented in Japan. The objectives of this new major are to lead the way in information-oriented life science while significantly contributing to life innovation, and to cultivate personnel capable of translating the results in the clinical setting. To this end,we believe that it is necessary to develop personnel with a novel specialty by actively employing on-the-job training in state-of-the-art informatics and medical science research settings and implementing a basic education environment for integrating information science and medical science. This kind of personnel is required not only in medicine, but also in other technical fields such as agricultural sciences, pharmaceutical sciences, environmental studies and biotechnology.", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "BBA0001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 369, + "prefix": "kegg.orthology", + "mirId": "MIR:00000116", + "name": "KEGG Orthology", + "pattern": "^K\\d+$", + "description": "KEGG Orthology (KO) consists of manually defined, generalised ortholog groups that correspond to KEGG pathway nodes and BRITE hierarchy nodes in all organisms.", + "created": "2019-06-11T14:16:03.735+00:00", + "modified": "2019-06-11T14:16:03.735+00:00", + "resources": [ + { + "id": 370, + "mirId": "MIR:00100149", + "urlPattern": "http://www.kegg.jp/entry/{$id}", + "name": "KEGG Orthology Database", + "description": "KEGG Orthology Database", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "K00001", + "resourceHomeUrl": "http://www.genome.jp/kegg/ko.html", + "institution": { + "id": 367, + "name": "Department of Computational Biology, University of Tokyo, Tokyo", + "homeUrl": "https://www.cbms.k.u-tokyo.ac.jp/english/index.html", + "description": "he department of Medical Genome Sciences and the department of Computational Biology have been merged, resulting in the establishment of a unique new major that is unprecedented in Japan. The objectives of this new major are to lead the way in information-oriented life science while significantly contributing to life innovation, and to cultivate personnel capable of translating the results in the clinical setting. To this end,we believe that it is necessary to develop personnel with a novel specialty by actively employing on-the-job training in state-of-the-art informatics and medical science research settings and implementing a basic education environment for integrating information science and medical science. This kind of personnel is required not only in medicine, but also in other technical fields such as agricultural sciences, pharmaceutical sciences, environmental studies and biotechnology.", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "K00001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 371, + "prefix": "prodom", + "mirId": "MIR:00000117", + "name": "ProDom", + "pattern": "^PD\\d+$", + "description": "ProDom is a database of protein domain families generated from the global comparison of all available protein sequences.", + "created": "2019-06-11T14:16:03.923+00:00", + "modified": "2019-06-11T14:16:03.923+00:00", + "resources": [ + { + "id": 373, + "mirId": "MIR:00100150", + "urlPattern": "http://prodom.prabi.fr/prodom/current/cgi-bin/request.pl?question=DBEN&query={$id}", + "name": "ProDom Protein Domain Database", + "description": "ProDom Protein Domain Database", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "PD10000", + "resourceHomeUrl": "http://prodom.prabi.fr/prodom/current/html/home.php", + "institution": { + "id": 372, + "name": "Laboratoire des Interactions Plantes-Microorganismes, INRA/CNRS", + "homeUrl": "https://www6.toulouse.inrae.fr/lipm_eng", + "description": "The Laboratory of Plants Microbes and Environment Interactions (LIPME), created in 1981, is a combined INRA-CNRS Research Unit, attached to the CNRS Institutes of Biological Sciences (INSB) and Ecology & Environment (INEE), as well as to the INRAE Departments of Plant Health & Environment (SPE) and Biology & Plant Breeding (BAP). From the outset, the LIPME has focused its research on the interactions between plants and either symbiotic or pathogenic microbes, co-ordinating studies on both plant and microbial partners. This research is performed using a small number of model species (Arabidopsis thaliana, Medicago truncatula), and more recently model plants of agronomic importance such as sunflower, tomato and soybean", + "rorId": "https://ror.org/02gwt2810", + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PD10000", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 374, + "prefix": "smart", + "mirId": "MIR:00000118", + "name": "SMART", + "pattern": "^SM\\d{5}$", + "description": "The Simple Modular Architecture Research Tool (SMART) is an online tool for the identification and annotation of protein domains, and the analysis of domain architectures.", + "created": "2019-06-11T14:16:04.151+00:00", + "modified": "2019-06-11T14:16:04.151+00:00", + "resources": [ + { + "id": 376, + "mirId": "MIR:00100151", + "urlPattern": "http://smart.embl-heidelberg.de/smart/do_annotation.pl?DOMAIN={$id}", + "name": "SMART (Simple Modular Architecture Research Tool)", + "description": "SMART (Simple Modular Architecture Research Tool)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "SM00015", + "resourceHomeUrl": "http://smart.embl-heidelberg.de/", + "institution": { + "id": 375, + "name": "EMBL, Heidelberg", + "homeUrl": "http://embl.org/", + "description": "With 28 member states, EMBL has more than 110 independent research groups and service teams covering the spectrum of molecular biology at six sites in Barcelona, Grenoble, Hamburg, Heidelberg, EMBL-EBI Hinxton, and Rome.", + "rorId": "https://ror.org/03mstc592", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "SM00015", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 377, + "prefix": "cdd", + "mirId": "MIR:00000119", + "name": "Conserved Domain Database", + "pattern": "^(cd)?\\d{5}$", + "description": "The Conserved Domain Database (CDD) is a collection of multiple sequence alignments and derived database search models, which represent protein domains conserved in molecular evolution.", + "created": "2019-06-11T14:16:04.400+00:00", + "modified": "2019-06-11T14:16:04.400+00:00", + "resources": [ + { + "id": 379, + "mirId": "MIR:00100152", + "urlPattern": "https://www.ncbi.nlm.nih.gov/Structure/cdd/cddsrv.cgi?uid={$id}", + "name": "Conserved Domain Database at NCBI", + "description": "Conserved Domain Database at NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "cd00400", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/sites/entrez?db=cdd", + "institution": { + "id": 316, + "name": "National Library of Medicine, Maryland", + "homeUrl": "https://www.nlm.nih.gov/", + "description": "The National Library of Medicine (NLM), on the campus of the National Institutes of Health in Bethesda, Maryland, has been a center of information innovation since its founding in 1836. The world\u2019s largest biomedical library, NLM maintains and makes available a vast print collection and produces electronic information resources on a wide range of topics that are searched billions of times each year by millions of people around the globe. It also supports and conducts research, development, and training in biomedical informatics and health information technology. In addition, the Library coordinates an 8,000+ member Network of the National Library of Medicine that promotes and provides access to health information in communities across the United States.", + "rorId": "https://ror.org/0060t0j89", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "cd00400", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 380, + "prefix": "ro", + "mirId": "MIR:00000120", + "name": "Relation Ontology", + "pattern": "^RO_\\d{7}$", + "description": "The OBO Relation Ontology provides consistent and unambiguous formal definitions of the relational expressions used in biomedical ontologies.", + "created": "2019-06-11T14:16:04.654+00:00", + "modified": "2019-06-11T14:16:04.654+00:00", + "resources": [ + { + "id": 382, + "mirId": "MIR:00100764", + "urlPattern": "http://purl.obolibrary.org/obo/{$id}", + "name": "OBO Relation Ontology through OntoBee", + "description": "OBO Relation Ontology through OntoBee", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "RO_0002533", + "resourceHomeUrl": "http://obofoundry.org/ontology/ro.html", + "institution": { + "id": 381, + "name": "University of Michigan Medical School (MI), Lawrence Berkeley National Laboratory (CA) and Science Commons (MA)", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 383, + "mirId": "MIR:00100767", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/ro/terms?short_form={$id}", + "name": "OBO Relation Ontology through OLS", + "description": "OBO Relation Ontology through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "RO_0002533", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/ro", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "RO_0002533", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 384, + "prefix": "mmdb", + "mirId": "MIR:00000121", + "name": "Molecular Modeling Database", + "pattern": "^\\d{1,5}$", + "description": "The Molecular Modeling Database (MMDB) is a database of experimentally determined structures obtained from the Protein Data Bank (PDB). Since structures are known for a large fraction of all protein families, structure homologs may facilitate inference of biological function, or the identification of binding or catalytic sites.", + "created": "2019-06-11T14:16:05.062+00:00", + "modified": "2019-06-11T14:16:05.062+00:00", + "resources": [ + { + "id": 385, + "mirId": "MIR:00100154", + "urlPattern": "http://www.ncbi.nlm.nih.gov/Structure/mmdb/mmdbsrv.cgi?uid={$id}", + "name": "MMDB at NCBI", + "description": "MMDB at NCBI", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "50885", + "resourceHomeUrl": "http://www.ncbi.nlm.nih.gov/sites/entrez?db=structure", + "institution": { + "id": 316, + "name": "National Library of Medicine, Maryland", + "homeUrl": "https://www.nlm.nih.gov/", + "description": "The National Library of Medicine (NLM), on the campus of the National Institutes of Health in Bethesda, Maryland, has been a center of information innovation since its founding in 1836. The world\u2019s largest biomedical library, NLM maintains and makes available a vast print collection and produces electronic information resources on a wide range of topics that are searched billions of times each year by millions of people around the globe. It also supports and conducts research, development, and training in biomedical informatics and health information technology. In addition, the Library coordinates an 8,000+ member Network of the National Library of Medicine that promotes and provides access to health information in communities across the United States.", + "rorId": "https://ror.org/0060t0j89", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "50885", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 386, + "prefix": "imex", + "mirId": "MIR:00000122", + "name": "IMEx", + "pattern": "^IM-\\d+(-?)(\\d+?)$", + "description": "The International Molecular Exchange (IMEx) is a consortium of molecular interaction databases which collaborate to share manual curation efforts and provide accessibility to multiple information sources.", + "created": "2019-06-11T14:16:05.272+00:00", + "modified": "2019-06-11T14:16:05.272+00:00", + "resources": [ + { + "id": 387, + "mirId": "MIR:00100155", + "urlPattern": "https://www.ebi.ac.uk/intact/imex/main.xhtml?query={$id}", + "name": "IMEx Consortium running at EBI", + "description": "IMEx Consortium running at EBI", + "official": false, + "providerCode": "ebi", + "sampleId": "IM-19210-3", + "resourceHomeUrl": "https://www.imexconsortium.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 388, + "mirId": "MIR:00100663", + "urlPattern": "https://imexcentral.org/icentral/imex/rec/{$id}", + "name": "IMEx Consortium though Intact", + "description": "IMEx Consortium though Intact", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "IM-19210-3", + "resourceHomeUrl": "https://www.ebi.ac.uk/intact/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "IM-19210-3", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 389, + "prefix": "irefweb", + "mirId": "MIR:00000123", + "name": "iRefWeb", + "pattern": "^\\d+$", + "description": "iRefWeb is an interface to a relational database containing the latest build of the interaction Reference Index (iRefIndex) which integrates protein interaction data from ten different interaction databases: BioGRID, BIND, CORUM, DIP, HPRD, INTACT, MINT, MPPI, MPACT and OPHID. In addition, iRefWeb associates interactions with the PubMed record from which they are derived.", + "created": "2019-06-11T14:16:05.614+00:00", + "modified": "2019-06-11T14:16:05.614+00:00", + "resources": [ + { + "id": 391, + "mirId": "MIR:00100156", + "urlPattern": "http://wodaklab.org/iRefWeb/interaction/show/{$id}", + "name": "iRefWeb Protein Interaction Reference Index", + "description": "iRefWeb Protein Interaction Reference Index", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "617102", + "resourceHomeUrl": "http://wodaklab.org/iRefWeb/", + "institution": { + "id": 390, + "name": "Wodak Lab, Hospital for Sick Children, Toronto", + "homeUrl": "https://wodaklab.org/", + "description": "The focus of our laboratory is on investigating the principles that govern these interactions. We use molecular simulation and modeling techniques to study protein-protein protein-DNA and protein-ligand interactions at the atomic scale. We furthermore analyze the properties of known protein structures and sequences in order to gain insight into how evolution has shaped the functional specificity of proteins.", + "rorId": null, + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "617102", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 392, + "prefix": "mpid", + "mirId": "MIR:00000124", + "name": "Microbial Protein Interaction Database", + "pattern": "^\\d+$", + "description": "The microbial protein interaction database (MPIDB) provides physical microbial interaction data. The interactions are manually curated from the literature or imported from other databases, and are linked to supporting experimental evidence, as well as evidences based on interaction conservation, protein complex membership, and 3D domain contacts.", + "created": "2019-06-11T14:16:05.849+00:00", + "modified": "2019-06-11T14:16:05.849+00:00", + "resources": [ + { + "id": 394, + "mirId": "MIR:00100157", + "urlPattern": "http://www.jcvi.org/mpidb/experiment.php?interaction_id={$id}", + "name": "Microbial Protein Interaction Database", + "description": "Microbial Protein Interaction Database", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "172", + "resourceHomeUrl": "http://www.jcvi.org/mpidb/about.php", + "institution": { + "id": 393, + "name": "J. Craig Venter Institute, Maryland", + "homeUrl": "https://www.jcvi.org", + "description": "The J. Craig Venter Institute (JCVI) is a world leader in genomic research with approximately 120 scientists and staff who are bold innovators fearlessly pursuing revolutionary ideas. With a long track-record of creativity and an interdisciplinary approach to genomics, JCVI is committed to accelerating foundational scientific research to drive advances in human health and environmental sustainability.", + "rorId": "https://ror.org/049r1ts75", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 395, + "mirId": "MIR:00100655", + "urlPattern": "https://www.ebi.ac.uk/intact/query/interaction_id:MPIDB-INT-{$id}", + "name": "Microbial Protein Interaction Database subset through IntAct", + "description": "Microbial Protein Interaction Database subset through IntAct", + "official": false, + "providerCode": "ebi", + "sampleId": "1776", + "resourceHomeUrl": "https://www.ebi.ac.uk/intact/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "172", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 396, + "prefix": "phosphosite.residue", + "mirId": "MIR:00000125", + "name": "PhosphoSite Residue", + "pattern": "^\\d+$", + "description": "PhosphoSite is a mammalian protein database that provides information about in vivo phosphorylation sites. This datatype refers to residue-level information, providing a information about a single modification position in a specific protein sequence.", + "created": "2019-06-11T14:16:06.208+00:00", + "modified": "2019-06-11T14:16:06.208+00:00", + "resources": [ + { + "id": 397, + "mirId": "MIR:00100159", + "urlPattern": "http://www.phosphosite.org/siteAction.do?id={$id}", + "name": "PhosphoSite Residue", + "description": "PhosphoSite Residue", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "2842", + "resourceHomeUrl": "http://www.phosphosite.org/homeAction.do", + "institution": { + "id": 339, + "name": "Cell Signaling Technology, Inc.", + "homeUrl": "https://www.cellsignal.com/", + "description": "Cell Signaling Technology (CST) is a different kind of life sciences company\u2014one founded, owned, and run by active research scientists, with the highest standards of product and service quality, technological innovation, and scientific rigor for over 20 years. We consistently provide fellow scientists around the globe with best-in-class products and services to fuel their quests for discovery.", + "rorId": "https://ror.org/03k4zc121", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2842", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 398, + "prefix": "neurolex", + "mirId": "MIR:00000126", + "name": "NeuroLex", + "pattern": "^([Bb]irnlex_|Sao|nlx_|GO_|CogPO|HDO|nifext_)\\d+$", + "description": "The NeuroLex project is a dynamic lexicon of terms used in neuroscience. It is supported by the Neuroscience Information Framework project and incorporates information from the NIF standardised ontology (NIFSTD), and its predecessor, the Biomedical Informatics Research Network Lexicon (BIRNLex).", + "created": "2019-06-11T14:16:06.417+00:00", + "modified": "2019-06-11T14:16:06.417+00:00", + "resources": [ + { + "id": 400, + "mirId": "MIR:00100160", + "urlPattern": "http://www.neurolex.org/wiki/{$id}", + "name": "NeuroLex Neuroscience Lexicon", + "description": "NeuroLex Neuroscience Lexicon", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Birnlex_721", + "resourceHomeUrl": "http://www.neurolex.org/wiki/Main_Page", + "institution": { + "id": 399, + "name": "Department of Neuroscience, University of California, San Diego", + "homeUrl": "https://neurosciences.ucsd.edu/", + "description": "To innovate and advance the science that guides us toward improved understanding of our nervous system and allows us to alleviate suffering of neurological disease. We are a team of clinicians and scientists with shared commitment to neurosciences education and research. We seek to apply our discoveries toward development of transformative advancements in the care of those with neurological disorders.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 401, + "mirId": "MIR:00100183", + "urlPattern": "http://purl.bioontology.org/ontology/BIRNLEX/{$id}", + "name": "NeuroLex through NCBO's BioPortal", + "description": "NeuroLex through NCBO's BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "birnlex_1672", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/BIRNLEX", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Birnlex_721", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 402, + "prefix": "obi", + "mirId": "MIR:00000127", + "name": "Ontology for Biomedical Investigations", + "pattern": "(^OBI:\\d{7}$)|(^OBI_\\d{7}$)", + "description": "The Ontology for Biomedical Investigations (OBI) project is developing an integrated ontology for the description of biological and clinical investigations. The ontology will represent the design of an investigation, the protocols and instrumentation used, the material used, the data generated and the type analysis performed on it. Currently OBI is being built under the Basic Formal Ontology (BFO).", + "created": "2019-06-11T14:16:06.780+00:00", + "modified": "2019-06-11T14:16:06.780+00:00", + "resources": [ + { + "id": 404, + "mirId": "MIR:00100162", + "urlPattern": "http://purl.obolibrary.org/obo/{$id}", + "name": "OBI through Ontobee", + "description": "OBI through Ontobee", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "OBI_0000070", + "resourceHomeUrl": "http://www.ontobee.org/", + "institution": { + "id": 403, + "name": "University of Michigan Medical School (MI), awrence Berkeley National Laboratory (CA) and Science Commons (MA)", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 405, + "mirId": "MIR:00100177", + "urlPattern": "http://purl.bioontology.org/ontology/OBI/{$id}", + "name": "Ontology for Biomedical Investigations through Bioportal", + "description": "Ontology for Biomedical Investigations through Bioportal", + "official": false, + "providerCode": "bptl", + "sampleId": "OBI:0000070", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/OBI", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 406, + "mirId": "MIR:00100760", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/obi/terms?obo_id={$id}", + "name": "OBI through OLS", + "description": "OBI through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "OBI:0000070", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/obi", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "OBI_0000070", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 831, + "prefix": "asap", + "mirId": "MIR:00000283", + "name": "ASAP", + "pattern": "^[A-Za-z0-9-]+$", + "description": "ASAP (a systematic annotation package for community analysis of genomes) stores bacterial genome sequence and functional characterization data. It includes multiple genome sequences at various stages of analysis, corresponding experimental data and access to collections of related genome resources.", + "created": "2019-06-11T14:16:44.568+00:00", + "modified": "2019-06-11T14:16:44.568+00:00", + "resources": [ + { + "id": 833, + "mirId": "MIR:00100364", + "urlPattern": "http://asap.ahabs.wisc.edu/asap/feature_info.php?LocationID=WIS&FeatureID={$id}", + "name": "ASAP at University of Wisconsin", + "description": "ASAP at University of Wisconsin", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ABE-0009634", + "resourceHomeUrl": "http://asap.ahabs.wisc.edu/asap/home.php", + "institution": { + "id": 2054, + "name": "University of Wisconsin-Madison", + "homeUrl": "https://www.wisc.edu/", + "description": "The University of Wisconsin\u2013Madison is a public research university in Madison, Wisconsin. Founded when Wisconsin achieved statehood in 1848, UW\u2013Madison is the official state university of Wisconsin, and the flagship campus of the University of Wisconsin System.\nIt was the first public university established in Wisconsin and remains the oldest and largest public university in the state. It became a land-grant institution in 1866.\nThe 933-acre (378 ha) main campus, located on the shores of Lake Mendota, includes four National Historic Landmarks.\nThe University also owns and operates a historic 1,200-acre (486 ha) arboretum established in 1932, located 4 miles (6.4 km) south of the main campus.", + "rorId": "https://ror.org/01y2jtd41", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ABE-0009634", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 407, + "prefix": "sabiork.ec", + "mirId": "MIR:00000128", + "name": "SABIO-RK EC Record", + "pattern": "^((\\d+)|(\\d+\\.\\d+)|(\\d+\\.\\d+\\.\\d+)|(\\d+\\.\\d+\\.\\d+\\.\\d+))$", + "description": "SABIO-RK is a relational database system that contains information about biochemical reactions, their kinetic equations with their parameters, and the experimental conditions under which these parameters were measured. The EC record provides for a given enzyme classification (EC) the associated list of enzyme-catalysed reactions and their corresponding kinetic data.", + "created": "2019-06-11T14:16:07.366+00:00", + "modified": "2019-06-11T14:16:07.366+00:00", + "resources": [ + { + "id": 409, + "mirId": "MIR:00100163", + "urlPattern": "http://sabiork.h-its.org/newSearch?q=ecnumber:{$id}", + "name": "SABIO-RK Reaction Kinetics Database - Enzyme Classification (EC)", + "description": "SABIO-RK Reaction Kinetics Database - Enzyme Classification (EC)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "2.7.1.1", + "resourceHomeUrl": "http://sabiork.h-its.org/", + "institution": { + "id": 151, + "name": "Heidelberg Institute for Theoretical Studies (HITS gGmbH)", + "homeUrl": "http://www.h-its.org/en/", + "description": "HITS conducts basic research in the natural sciences, mathematical and computer science. Major research directions include complex simulations across scales, making sense of data, and enabling science via computational research. Application areas range from molecular biology to astrophysics. An essential characteristic of the Institute is interdisciplinarity, implemented in numerous cross-group and cross-disciplinary projects. The base funding of HITS is provided by the Klaus Tschira Foundation.", + "rorId": "https://ror.org/01f7bcy98", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2.7.1.1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 410, + "prefix": "opb", + "mirId": "MIR:00000129", + "name": "Ontology of Physics for Biology", + "pattern": "^OPB_\\d+$", + "description": "The OPB is a reference ontology of classical physics as applied to the dynamics of biological systems. It is designed to encompass the multiple structural scales (multiscale atoms to organisms) and multiple physical domains (multidomain fluid dynamics, chemical kinetics, particle diffusion, etc.) that are encountered in the study and analysis of biological organisms.", + "created": "2019-06-11T14:16:07.624+00:00", + "modified": "2019-06-11T14:16:07.624+00:00", + "resources": [ + { + "id": 411, + "mirId": "MIR:00100167", + "urlPattern": "http://purl.bioontology.org/ontology/OPB?conceptid=http%3A%2F%2Fbhi.washington.edu%2FOPB%23{$id}", + "name": "Ontology of Physics for Biology through Bioportal", + "description": "Ontology of Physics for Biology through Bioportal", + "official": false, + "providerCode": "bptl", + "sampleId": "OPB_00573", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/OPB", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "OPB_00573", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 412, + "prefix": "jws", + "mirId": "MIR:00000130", + "name": "JWS Online", + "pattern": "^\\w+$", + "description": "JWS Online is a repository of curated biochemical pathway models, and additionally provides the ability to run simulations of these models in a web browser.", + "created": "2019-06-11T14:16:07.820+00:00", + "modified": "2019-06-11T14:16:07.820+00:00", + "resources": [ + { + "id": 414, + "mirId": "MIR:00100168", + "urlPattern": "http://jjj.biochem.sun.ac.za/models/{$id}/", + "name": "JWS Online Model Repository at Stellenbosch", + "description": "JWS Online Model Repository at Stellenbosch", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "curien", + "resourceHomeUrl": "http://jjj.biochem.sun.ac.za/models/", + "institution": { + "id": 413, + "name": "Department of Biochemistry, Stellenbosch University", + "homeUrl": "http://www.sun.ac.za/english/faculty/science/biochemistry", + "description": "Stellenbosch University is a public research university situated in Stellenbosch, a town in the Western Cape province of South Africa. Stellenbosch is the oldest university in South Africa and the oldest extant university in Sub-Saharan Africa, together with the University of Cape Town - which received full university status on the same day in 1918. Stellenbosch University designed and manufactured Africa's first microsatellite, SUNSAT, launched in 1999. Stellenbosch University was the first African university to sign the Berlin Declaration on Open Access to Knowledge in the Sciences and Humanities.", + "rorId": null, + "location": { + "countryCode": "ZA", + "countryName": "South Africa" + } + }, + "location": { + "countryCode": "ZA", + "countryName": "South Africa" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 418, + "mirId": "MIR:00100170", + "urlPattern": "http://jjj.mib.ac.uk/models/{$id}", + "name": "JWS Online Model Repository at Manchester", + "description": "JWS Online Model Repository at Manchester", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "curien", + "resourceHomeUrl": "http://jjj.mib.ac.uk/index.html", + "institution": { + "id": 417, + "name": "Manchester Interdisciplinary Biocentre, University of Manchester", + "homeUrl": "https://www.mib.manchester.ac.uk/", + "description": "The Manchester Institute of Biotechnology, formerly the Manchester Interdisciplinary Biocentre (MIB) is a research institute of the University of Manchester, England. The centre has been designed to enable academic communities to explore specific areas of interdisciplinary quantitative bioscience, largely through the efforts of multidisciplinary research teams. Research at MIB follows three broadly defined, interdisciplinary and complementary themes: Biological Mechanism and Catalysis, Molecular Bioengineering, and Systems biology.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 416, + "mirId": "MIR:00100169", + "urlPattern": "http://jjj.bio.vu.nl/models/{$id}/", + "name": "JWS Online Model Repository at Amsterdam", + "description": "JWS Online Model Repository at Amsterdam", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "curien", + "resourceHomeUrl": "http://jjj.bio.vu.nl/models/", + "institution": { + "id": 415, + "name": "University of Amsterdam", + "homeUrl": "https://www.uva.nl/en/home", + "description": "The University of Amsterdam is ambitious, creative and committed: a leader in international science and a partner in innovation, the UvA has been inspiring generations since 1632. Read our mission and vision.", + "rorId": "https://ror.org/04dkp9463", + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + } + }, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "curien", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 419, + "prefix": "modeldb", + "mirId": "MIR:00000131", + "name": "ModelDB", + "pattern": "^\\d+$", + "description": "ModelDB is a curated, searchable database of published models in the computational neuroscience domain. It accommodates models expressed in textual form, including procedural or declarative languages (e.g. C++, XML dialects) and source code written for any simulation environment.", + "created": "2019-06-11T14:16:08.429+00:00", + "modified": "2019-06-11T14:16:08.429+00:00", + "resources": [ + { + "id": 420, + "mirId": "MIR:00100171", + "urlPattern": "https://modeldb.science/{$id}", + "name": "ModelDB at SenseLab", + "description": "ModelDB at SenseLab", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "45539", + "resourceHomeUrl": "https://modeldb.science", + "institution": { + "id": 310, + "name": "Yale University School of Medicine", + "homeUrl": "https://medicine.yale.edu/", + "description": "Yale School of Medicine educates and nurtures creative leaders in medicine and science, promoting curiosity and critical inquiry in an inclusive environment enriched by diversity. We advance discovery and innovation fostered by partnerships across the university, our local community, and the world. We care for patients with compassion, and commit to improving the health of all people. More about YSM's History, Facts & Figures.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "45539", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 421, + "prefix": "subtiwiki", + "mirId": "MIR:00000132", + "name": "SubtiWiki", + "pattern": "^BSU\\d{5}$", + "description": "SubtiWiki is a scientific wiki for the model bacterium Bacillus subtilis. It provides comprehensive information on all genes and their proteins and RNA products, as well as information related to the current investigation of the gene/protein. \r\nNote: Currently, direct access to RNA products is restricted. This is expected to be rectified soon.", + "created": "2019-06-11T14:16:08.635+00:00", + "modified": "2019-06-11T14:16:08.635+00:00", + "resources": [ + { + "id": 423, + "mirId": "MIR:00100172", + "urlPattern": "http://www.subtiwiki.uni-goettingen.de/wiki/index.php/{$id}", + "name": "SubtiWiki website", + "description": "SubtiWiki website", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "BSU29180", + "resourceHomeUrl": "http://www.subtiwiki.uni-goettingen.de/wiki/index.php/Main_Page", + "institution": { + "id": 422, + "name": "University of G\u00f6ttingen, Department for General Microbiology", + "homeUrl": "https://uni-goettingen.de/en/577601.html", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "BSU29180", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 424, + "prefix": "pid.pathway", + "mirId": "MIR:00000133", + "name": "NCI Pathway Interaction Database: Pathway", + "pattern": "^\\w+$", + "description": "The Pathway Interaction Database is a highly-structured, curated collection of information about known human biomolecular interactions and key cellular processes assembled into signaling pathways. This datatype provides access to pathway information.", + "created": "2019-06-11T14:16:08.872+00:00", + "modified": "2019-06-11T14:16:08.872+00:00", + "resources": [ + { + "id": 426, + "mirId": "MIR:00100173", + "urlPattern": "http://pid.nci.nih.gov/search/pathway_landing.shtml?what=graphic&jpg=on&pathway_id={$id}", + "name": "NCI Pathway Interaction Database (Pathway)", + "description": "NCI Pathway Interaction Database (Pathway)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "pi3kcipathway", + "resourceHomeUrl": "http://pid.nci.nih.gov/", + "institution": { + "id": 425, + "name": "National Cancer Institute, Rockville, Maryland", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "pi3kcipathway", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 427, + "prefix": "doqcs.model", + "mirId": "MIR:00000134", + "name": "Database of Quantitative Cellular Signaling: Model", + "pattern": "^\\d+$", + "description": "The Database of Quantitative Cellular Signaling is a repository of models of signaling pathways. It includes reaction schemes, concentrations, rate constants, as well as annotations on the models. The database provides a range of search, navigation, and comparison functions. This datatype provides access to specific models.", + "created": "2019-06-11T14:16:09.111+00:00", + "modified": "2019-06-11T14:16:09.111+00:00", + "resources": [ + { + "id": 429, + "mirId": "MIR:00100174", + "urlPattern": "http://doqcs.ncbs.res.in/template.php?&y=accessiondetails&an={$id}", + "name": "Database of Quantitative Cellular Signaling (DOQCS) - Model Access", + "description": "Database of Quantitative Cellular Signaling (DOQCS) - Model Access", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "57", + "resourceHomeUrl": "http://doqcs.ncbs.res.in/", + "institution": { + "id": 428, + "name": "National Centre for Biological Sciences, Bangalore", + "homeUrl": "https://www.ncbs.res.in/", + "description": "We are a premier research institute with all the necessary facilities that a research scientist may need. Research interests of our faculty members lie in the frontier areas of biology, and the science at NCBS (a part of the Tata Institute of Fundamental Research ) uses experimental and computational approaches in the study of molecules, cells and organisms. We aim to understand biology at each of these levels to advance an integrated view of life processes. The talent and drive of our students and faculty members continues to show us the way to good science.", + "rorId": "https://ror.org/03gf8rp76", + "location": { + "countryCode": "IN", + "countryName": "India" + } + }, + "location": { + "countryCode": "IN", + "countryName": "India" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "57", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 430, + "prefix": "doqcs.pathway", + "mirId": "MIR:00000135", + "name": "Database of Quantitative Cellular Signaling: Pathway", + "pattern": "^\\d+$", + "description": "The Database of Quantitative Cellular Signaling is a repository of models of signaling pathways. It includes reaction schemes, concentrations, rate constants, as well as annotations on the models. The database provides a range of search, navigation, and comparison functions. This datatype provides access to pathways.", + "created": "2019-06-11T14:16:09.372+00:00", + "modified": "2019-06-11T14:16:09.372+00:00", + "resources": [ + { + "id": 431, + "mirId": "MIR:00100175", + "urlPattern": "http://doqcs.ncbs.res.in/template.php?&y=pathwaydetails&pn={$id}", + "name": "Database of Quantitative Cellular Signaling (DOQCS) - Pathway Access", + "description": "Database of Quantitative Cellular Signaling (DOQCS) - Pathway Access", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "131", + "resourceHomeUrl": "http://doqcs.ncbs.res.in/", + "institution": { + "id": 428, + "name": "National Centre for Biological Sciences, Bangalore", + "homeUrl": "https://www.ncbs.res.in/", + "description": "We are a premier research institute with all the necessary facilities that a research scientist may need. Research interests of our faculty members lie in the frontier areas of biology, and the science at NCBS (a part of the Tata Institute of Fundamental Research ) uses experimental and computational approaches in the study of molecules, cells and organisms. We aim to understand biology at each of these levels to advance an integrated view of life processes. The talent and drive of our students and faculty members continues to show us the way to good science.", + "rorId": "https://ror.org/03gf8rp76", + "location": { + "countryCode": "IN", + "countryName": "India" + } + }, + "location": { + "countryCode": "IN", + "countryName": "India" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "131", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 432, + "prefix": "uo", + "mirId": "MIR:00000136", + "name": "Unit Ontology", + "pattern": "^UO:\\d{7}?", + "description": "Ontology of standardized units", + "created": "2019-06-11T14:16:09.596+00:00", + "modified": "2019-06-11T14:16:09.596+00:00", + "resources": [ + { + "id": 433, + "mirId": "MIR:00100178", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/uo/terms?obo_id=UO:{$id}", + "name": "Unit Ontology via Ontology Lookup Service", + "description": "Unit Ontology via Ontology Lookup Service", + "official": false, + "providerCode": "ols", + "sampleId": "0000080", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/uo", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 434, + "mirId": "MIR:00100243", + "urlPattern": "https://bioportal.bioontology.org/ontologies/UO/?p=classes&conceptid=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FUO_{$id}", + "name": "Unit Ontology through BioPortal", + "description": "Unit Ontology through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "0000080", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/UO", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0000080", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 435, + "prefix": "clinicaltrials", + "mirId": "MIR:00000137", + "name": "ClinicalTrials.gov", + "pattern": "^NCT\\d{8}$", + "description": "ClinicalTrials.gov provides free access to information on clinical studies for a wide range of diseases and conditions. Studies listed in the database are conducted in 175 countries", + "created": "2019-06-11T14:16:09.937+00:00", + "modified": "2019-06-11T14:16:09.937+00:00", + "resources": [ + { + "id": 437, + "mirId": "MIR:00100179", + "urlPattern": "https://clinicaltrials.gov/ct2/show/{$id}", + "name": "ClinicalTrials.gov at NIH", + "description": "ClinicalTrials.gov at NIH", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "NCT00222573", + "resourceHomeUrl": "https://clinicaltrials.gov/", + "institution": { + "id": 436, + "name": "National Library of Medicine and ClinicalTrials.gov, Maryland", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "NCT00222573", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 438, + "prefix": "chemspider", + "mirId": "MIR:00000138", + "name": "ChemSpider", + "pattern": "^\\d+$", + "description": "ChemSpider is a collection of compound data from across the web, which aggregates chemical structures and their associated information into a single searchable repository entry. These entries are supplemented with additional properties, related information and links back to original data sources.", + "created": "2019-06-11T14:16:10.254+00:00", + "modified": "2019-06-11T14:16:10.254+00:00", + "resources": [ + { + "id": 440, + "mirId": "MIR:00100180", + "urlPattern": "http://www.chemspider.com/Chemical-Structure.{$id}.html", + "name": "ChemSpider at RSC", + "description": "ChemSpider at RSC", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "56586", + "resourceHomeUrl": "http://www.chemspider.com/", + "institution": { + "id": 439, + "name": "Royal Society of Chemistry, Cambridge", + "homeUrl": "http://www.rsc.org/", + "description": "We publish new research. We develop, recognise and celebrate professional capabilities. We bring people together to spark new ideas and new partnerships. We support teachers to inspire future generations of scientists. And we speak up to influence the people making decisions that affect us all.", + "rorId": "https://ror.org/025sbr097", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "56586", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 441, + "prefix": "ncit", + "mirId": "MIR:00000139", + "name": "NCIt", + "pattern": "^C\\d+$", + "description": "NCI Thesaurus (NCIt) provides reference terminology covering vocabulary for clinical care, translational and basic research, and public information and administrative activities, providing a stable and unique identification code.", + "created": "2019-06-11T14:16:10.500+00:00", + "modified": "2019-06-11T14:16:10.500+00:00", + "resources": [ + { + "id": 443, + "mirId": "MIR:00100181", + "urlPattern": "http://ncit.nci.nih.gov/ncitbrowser/ConceptReport.jsp?dictionary=NCI%20Thesaurus&code={$id}", + "name": "NCIt at National Cancer Institute", + "description": "NCIt at National Cancer Institute", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "C80519", + "resourceHomeUrl": "http://ncit.nci.nih.gov/", + "institution": { + "id": 442, + "name": "National Cancer Institute, Center for Bioinformatics, Maryland", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 444, + "mirId": "MIR:00100868", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/ncit/terms?short_form=NCIT_{$id}", + "name": "NCIt through OLS", + "description": "NCIt through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "C16353", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/ncit", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "C80519", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 445, + "prefix": "biocatalogue.service", + "mirId": "MIR:00000140", + "name": "BioCatalogue", + "pattern": "^\\d+$", + "description": "The BioCatalogue provides a common interface for registering, browsing and annotating Web Services to the Life Science community. Registered services are monitored, allowing the identification of service problems and changes and the filtering-out of unavailable or unreliable resources. BioCatalogue is free to use, for all.", + "created": "2019-06-11T14:16:10.872+00:00", + "modified": "2019-06-11T14:16:10.872+00:00", + "resources": [ + { + "id": 446, + "mirId": "MIR:00100182", + "urlPattern": "https://www.biocatalogue.org/services/{$id}", + "name": "BioCatalogue at EMBL-EBI", + "description": "BioCatalogue at EMBL-EBI", + "official": false, + "providerCode": "ebi", + "sampleId": "614", + "resourceHomeUrl": "https://www.biocatalogue.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "614", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 451, + "prefix": "omia", + "mirId": "MIR:00000142", + "name": "OMIA", + "pattern": "^\\d+$", + "description": "Online Mendelian Inheritance in Animals is a a database of genes, inherited disorders and traits in animal species (other than human and mouse).", + "created": "2019-06-11T14:16:11.523+00:00", + "modified": "2019-06-11T14:16:11.523+00:00", + "resources": [ + { + "id": 453, + "mirId": "MIR:00100185", + "urlPattern": "https://www.omia.org/OMIA{$id}", + "name": "OMIA at University of Sydney", + "description": "OMIA at University of Sydney", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1000", + "resourceHomeUrl": "https://www.omia.org/home/", + "institution": { + "id": 452, + "name": "Sydney School of Veterinary Science, Faculty of Science, The University of Sydney", + "homeUrl": "https://www.sydney.edu.au/science/schools/sydney-school-of-veterinary-science.html", + "description": "Leading veterinary education, animal science and research that advances the health and welfare of animals and benefits the community.", + "rorId": null, + "location": { + "countryCode": "AU", + "countryName": "Australia" + } + }, + "location": { + "countryCode": "AU", + "countryName": "Australia" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1000", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 454, + "prefix": "csa", + "mirId": "MIR:00000144", + "name": "CSA", + "pattern": "^[0-9][A-Za-z0-9]{3}$", + "description": "The Catalytic Site Atlas (CSA) is a database documenting enzyme active sites and catalytic residues in enzymes of 3D structure. It uses a defined classification for catalytic residues which includes only those residues thought to be directly involved in some aspect of the reaction catalysed by an enzyme.", + "created": "2019-06-11T14:16:11.769+00:00", + "modified": "2019-06-11T14:16:11.769+00:00", + "resources": [ + { + "id": 455, + "mirId": "MIR:00100188", + "urlPattern": "https://www.ebi.ac.uk/thornton-srv/databases/CSA/SearchResults.php?PDBID={$id}", + "name": "CSA at EBI", + "description": "CSA at EBI", + "official": false, + "providerCode": "ebi", + "sampleId": "1a05", + "resourceHomeUrl": "https://www.ebi.ac.uk/thornton-srv/databases/CSA/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1a05", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 456, + "prefix": "cgd", + "mirId": "MIR:00000145", + "name": "Candida Genome Database", + "pattern": "^CAL\\d{7}$", + "description": "The Candida Genome Database (CGD) provides access to genomic sequence data and manually curated functional information about genes and proteins of the human pathogen Candida albicans. It collects gene names and aliases, and assigns gene ontology terms to describe the molecular function, biological process, and subcellular localization of gene products.", + "created": "2019-06-11T14:16:11.955+00:00", + "modified": "2019-06-11T14:16:11.955+00:00", + "resources": [ + { + "id": 458, + "mirId": "MIR:00100189", + "urlPattern": "http://www.candidagenome.org/cgi-bin/locus.pl?dbid={$id}", + "name": "Candida Genome Database at Stanford University", + "description": "Candida Genome Database at Stanford University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "CAL0003079", + "resourceHomeUrl": "http://www.candidagenome.org/", + "institution": { + "id": 98, + "name": "Stanford University", + "homeUrl": "http://www.stanford.edu/", + "description": "Stanford was founded almost 150 years ago on a bedrock of societal purpose. Our mission is to contribute to the world by educating students for lives of leadership and purposeful contribution; advancing fundamental knowledge and cultivating creativity; and accelerating solutions and amplifying their impact.", + "rorId": "https://ror.org/00f54p054", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CAL0003079", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 459, + "prefix": "antweb", + "mirId": "MIR:00000146", + "name": "AntWeb", + "pattern": "^casent\\d+(\\-D\\d+)?$", + "description": "AntWeb is a website documenting the known species of ants, with records for each species linked to their geographical distribution, life history, and includes pictures.", + "created": "2019-06-11T14:16:12.204+00:00", + "modified": "2019-06-11T14:16:12.204+00:00", + "resources": [ + { + "id": 461, + "mirId": "MIR:00100190", + "urlPattern": "http://www.antweb.org/specimen.do?name={$id}", + "name": "AntWeb at California Academy of Sciences", + "description": "AntWeb at California Academy of Sciences", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "casent0106247", + "resourceHomeUrl": "http://www.antweb.org/", + "institution": { + "id": 460, + "name": "California Academy of Sciences, Goldengate Park, San Francisco", + "homeUrl": "http://www.calacademy.org/", + "description": "The mission of the California Academy of Sciences is to regenerate the natural world through science, learning, and collaboration.", + "rorId": "https://ror.org/02wb73912", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "casent0106247", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 462, + "prefix": "pmc", + "mirId": "MIR:00000147", + "name": "PMC International", + "pattern": "PMC\\d+", + "description": "PMC International (PMCI) is a free full-text archive of biomedical and life sciences journal literature. PMCI is a collaborative effort between the U.S. National Institutes of Health and the National Library of Medicine, the publishers whose journal content makes up the PMC archive, and organizations in other countries that share NIH's and NLM's interest in archiving life sciences literature.", + "created": "2019-06-11T14:16:12.446+00:00", + "modified": "2019-06-11T14:16:12.446+00:00", + "resources": [ + { + "id": 465, + "mirId": "MIR:00100498", + "urlPattern": "http://europepmc.org/articles/{$id}", + "name": "Europe PMC", + "description": "Europe PMC", + "official": true, + "providerCode": "epmc", + "sampleId": "PMC3084216", + "resourceHomeUrl": "http://europepmc.org/", + "institution": { + "id": 61, + "name": "Europe PubMed Central partners", + "homeUrl": "https://europepmc.org/", + "description": "Europe PMC provides comprehensive access to life sciences literature from trusted sources. It's available to anyone, anywhere for free. With Europe PMC you can search and read 42.1 million publications, preprints and other documents enriched with links to supporting data, reviews, protocols, and other relevant resources. ", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 464, + "mirId": "MIR:00100191", + "urlPattern": "https://www.ncbi.nlm.nih.gov/pmc/articles/{$id}/?tool=pubmed", + "name": "PubMed Central", + "description": "PubMed Central", + "official": false, + "providerCode": "ncbi", + "sampleId": "PMC3084216", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/pmc/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PMC3084216", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 834, + "prefix": "atcc", + "mirId": "MIR:00000284", + "name": "ATCC", + "pattern": "^\\d+$", + "description": "The American Type Culture Collection (ATCC) is a private, nonprofit biological resource center whose mission focuses on the acquisition, authentication, production, preservation, development and distribution of standard reference microorganisms, cell lines and other materials for research in the life sciences.", + "created": "2019-06-11T14:16:44.811+00:00", + "modified": "2019-06-11T14:16:44.811+00:00", + "resources": [ + { + "id": 836, + "mirId": "MIR:00100365", + "urlPattern": "https://www.atcc.org/products/{$id}", + "name": "ATCC in Virginia", + "description": "ATCC in Virginia", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "11303", + "resourceHomeUrl": "http://www.atcc.org/", + "institution": { + "id": 835, + "name": "American Type Culture Collection", + "homeUrl": "https://atcc.org", + "description": "ATCC is the premier global biological materials resource and standards organization whose mission focuses on the acquisition, authentication, production, preservation, development, and distribution of standard reference microorganisms, cell lines, and other materials. While maintaining traditional collection materials, ATCC develops high quality products, standards, and services to support scientific research and breakthroughs that improve the health of global populations.", + "rorId": "https://ror.org/03thhhv76", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "11303", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 466, + "prefix": "amoebadb", + "mirId": "MIR:00000148", + "name": "AmoebaDB", + "pattern": "^EDI_\\d+$", + "description": "AmoebaDB is one of the databases that can be accessed through the EuPathDB (http://EuPathDB.org; formerly ApiDB) portal, covering eukaryotic pathogens of the genera Cryptosporidium, Giardia, Leishmania, Neospora, Plasmodium, Toxoplasma, Trichomonas and Trypanosoma. While each of these groups is supported by a taxon-specific database built upon the same infrastructure, the EuPathDB portal offers an entry point to all these resources, and the opportunity to leverage orthology for searches across genera.", + "created": "2019-06-11T14:16:12.793+00:00", + "modified": "2019-06-11T14:16:12.793+00:00", + "resources": [ + { + "id": 468, + "mirId": "MIR:00100193", + "urlPattern": "https://amoebadb.org/amoeba/app/record/gene/{$id}", + "name": "AmoebaDB at EuPathDB", + "description": "AmoebaDB at EuPathDB", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "EDI_244000", + "resourceHomeUrl": "http://amoebadb.org/amoeba/", + "institution": { + "id": 467, + "name": "Center for Tropical and Emerging Global Diseases, University of Georgia", + "homeUrl": "https://ctegd.uga.edu/", + "description": "The Center for Tropical and Emerging Global Diseases (CTEGD) of the University of Georgia is a university-wide, interdisciplinary center established in 1998 to foster research, education and service related to tropical and emerging global infectious diseases. ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "EDI_244000", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 469, + "prefix": "cryptodb", + "mirId": "MIR:00000149", + "name": "CryptoDB", + "pattern": "^\\w+", + "description": "CryptoDB is one of the databases that can be accessed through the EuPathDB (http://EuPathDB.org; formerly ApiDB) portal, covering eukaryotic pathogens of the genera Cryptosporidium, Giardia, Leishmania, Neospora, Plasmodium, Toxoplasma, Trichomonas and Trypanosoma. While each of these groups is supported by a taxon-specific database built upon the same infrastructure, the EuPathDB portal offers an entry point to all these resources, and the opportunity to leverage orthology for searches across genera.", + "created": "2019-06-11T14:16:13.024+00:00", + "modified": "2019-06-11T14:16:13.024+00:00", + "resources": [ + { + "id": 470, + "mirId": "MIR:00100194", + "urlPattern": "https://cryptodb.org/cryptodb/app/record/gene/{$id}", + "name": "CryptoDB at EuPathDB", + "description": "CryptoDB at EuPathDB", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "cgd7_230", + "resourceHomeUrl": "https://cryptodb.org/cryptodb/", + "institution": { + "id": 467, + "name": "Center for Tropical and Emerging Global Diseases, University of Georgia", + "homeUrl": "https://ctegd.uga.edu/", + "description": "The Center for Tropical and Emerging Global Diseases (CTEGD) of the University of Georgia is a university-wide, interdisciplinary center established in 1998 to foster research, education and service related to tropical and emerging global infectious diseases. ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "cgd7_230", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 471, + "prefix": "plasmodb", + "mirId": "MIR:00000150", + "name": "PlasmoDB", + "pattern": "^\\w+$", + "description": "AmoebaDB is one of the databases that can be accessed through the EuPathDB (http://EuPathDB.org; formerly ApiDB) portal, covering eukaryotic pathogens of the genera Cryptosporidium, Giardia, Leishmania, Neospora, Plasmodium, Toxoplasma, Trichomonas and Trypanosoma. While each of these groups is supported by a taxon-specific database built upon the same infrastructure, the EuPathDB portal offers an entry point to all these resources, and the opportunity to leverage orthology for searches across genera.", + "created": "2019-06-11T14:16:13.221+00:00", + "modified": "2019-06-11T14:16:13.221+00:00", + "resources": [ + { + "id": 472, + "mirId": "MIR:00100195", + "urlPattern": "http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&source_id={$id}", + "name": "PlasmoDB at EuPathDB", + "description": "PlasmoDB at EuPathDB", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "PF11_0344", + "resourceHomeUrl": "http://plasmodb.org/plasmo/", + "institution": { + "id": 467, + "name": "Center for Tropical and Emerging Global Diseases, University of Georgia", + "homeUrl": "https://ctegd.uga.edu/", + "description": "The Center for Tropical and Emerging Global Diseases (CTEGD) of the University of Georgia is a university-wide, interdisciplinary center established in 1998 to foster research, education and service related to tropical and emerging global infectious diseases. ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PF11_0344", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 473, + "prefix": "giardiadb", + "mirId": "MIR:00000151", + "name": "GiardiaDB", + "pattern": "^\\w+$", + "description": "GiardiaDB is one of the databases that can be accessed through the EuPathDB (http://EuPathDB.org; formerly ApiDB) portal, covering eukaryotic pathogens of the genera Cryptosporidium, Giardia, Leishmania, Neospora, Plasmodium, Toxoplasma, Trichomonas and Trypanosoma. While each of these groups is supported by a taxon-specific database built upon the same infrastructure, the EuPathDB portal offers an entry point to all these resources, and the opportunity to leverage orthology for searches across genera.", + "created": "2019-06-11T14:16:13.424+00:00", + "modified": "2019-06-11T14:16:13.424+00:00", + "resources": [ + { + "id": 474, + "mirId": "MIR:00100196", + "urlPattern": "https://giardiadb.org/giardiadb/app/record/gene/{$id}", + "name": "GiardiaDB at EuPathDB", + "description": "GiardiaDB at EuPathDB", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "GL50803_102438", + "resourceHomeUrl": "https://giardiadb.org/giardiadb/", + "institution": { + "id": 467, + "name": "Center for Tropical and Emerging Global Diseases, University of Georgia", + "homeUrl": "https://ctegd.uga.edu/", + "description": "The Center for Tropical and Emerging Global Diseases (CTEGD) of the University of Georgia is a university-wide, interdisciplinary center established in 1998 to foster research, education and service related to tropical and emerging global infectious diseases. ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "GL50803_102438", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 475, + "prefix": "microsporidia", + "mirId": "MIR:00000152", + "name": "MicrosporidiaDB", + "pattern": "^\\w+$", + "description": "MicrosporidiaDB is one of the databases that can be accessed through the EuPathDB (http://EuPathDB.org; formerly ApiDB) portal, covering eukaryotic pathogens of the genera Cryptosporidium, Giardia, Leishmania, Neospora, Plasmodium, Toxoplasma, Trichomonas and Trypanosoma. While each of these groups is supported by a taxon-specific database built upon the same infrastructure, the EuPathDB portal offers an entry point to all these resources, and the opportunity to leverage orthology for searches across genera.", + "created": "2019-06-11T14:16:13.630+00:00", + "modified": "2019-06-11T14:16:13.630+00:00", + "resources": [ + { + "id": 476, + "mirId": "MIR:00100197", + "urlPattern": "http://microsporidiadb.org/micro/showRecord.do?name=GeneRecordClasses.GeneRecordClass&source_id={$id}", + "name": "MicrosporidiaDB at EuPathDB", + "description": "MicrosporidiaDB at EuPathDB", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ECU03_0820i", + "resourceHomeUrl": "http://microsporidiadb.org/micro/", + "institution": { + "id": 467, + "name": "Center for Tropical and Emerging Global Diseases, University of Georgia", + "homeUrl": "https://ctegd.uga.edu/", + "description": "The Center for Tropical and Emerging Global Diseases (CTEGD) of the University of Georgia is a university-wide, interdisciplinary center established in 1998 to foster research, education and service related to tropical and emerging global infectious diseases. ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ECU03_0820i", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 477, + "prefix": "toxoplasma", + "mirId": "MIR:00000153", + "name": "ToxoDB", + "pattern": "^\\w+$", + "description": "ToxoDB is one of the databases that can be accessed through the EuPathDB (http://EuPathDB.org; formerly ApiDB) portal, covering eukaryotic pathogens of the genera Cryptosporidium, Giardia, Leishmania, Neospora, Plasmodium, Toxoplasma, Trichomonas and Trypanosoma. While each of these groups is supported by a taxon-specific database built upon the same infrastructure, the EuPathDB portal offers an entry point to all these resources, and the opportunity to leverage orthology for searches across genera.", + "created": "2019-06-11T14:16:13.817+00:00", + "modified": "2019-06-11T14:16:13.817+00:00", + "resources": [ + { + "id": 478, + "mirId": "MIR:00100198", + "urlPattern": "http://toxodb.org/toxo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&source_id={$id}", + "name": "ToxoDB at EuPathDB", + "description": "ToxoDB at EuPathDB", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "TGME49_053730", + "resourceHomeUrl": "http://toxodb.org/toxo/", + "institution": { + "id": 467, + "name": "Center for Tropical and Emerging Global Diseases, University of Georgia", + "homeUrl": "https://ctegd.uga.edu/", + "description": "The Center for Tropical and Emerging Global Diseases (CTEGD) of the University of Georgia is a university-wide, interdisciplinary center established in 1998 to foster research, education and service related to tropical and emerging global infectious diseases. ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "TGME49_053730", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 684, + "prefix": "swiss-model", + "mirId": "MIR:00000231", + "name": "SWISS-MODEL Repository", + "pattern": "^\\w+$", + "description": "The SWISS-MODEL Repository is a database of 3D protein structure models generated by the SWISS-MODEL homology-modelling pipeline for UniProtKB protein sequences.", + "created": "2019-06-11T14:16:32.267+00:00", + "modified": "2019-06-11T14:16:32.267+00:00", + "resources": [ + { + "id": 686, + "mirId": "MIR:00100290", + "urlPattern": "https://swissmodel.expasy.org/repository/uniprot/{$id}", + "name": "SWISS-MODEL at SIB Swiss Institute of Bioinformatics", + "description": "SWISS-MODEL at SIB Swiss Institute of Bioinformatics", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "P23298", + "resourceHomeUrl": "https://swissmodel.expasy.org", + "institution": { + "id": 685, + "name": "Biozentrum, University of Basel and SIB Swiss Institute of Bioinformatics, Basel", + "homeUrl": "https://www.biozentrum.unibas.ch/", + "description": "The primary focus of this interdisciplinary institute is basic molecular and biomedical research and teaching. The Biozentrum holds a leading position nationally and internationally and closely networks with partners from the academic world and industry.", + "rorId": null, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "P23298", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 479, + "prefix": "trichdb", + "mirId": "MIR:00000154", + "name": "TrichDB", + "pattern": "^\\w+$", + "description": "TrichDB is one of the databases that can be accessed through the EuPathDB (http://EuPathDB.org; formerly ApiDB) portal, covering eukaryotic pathogens of the genera Cryptosporidium, Giardia, Leishmania, Neospora, Plasmodium, Toxoplasma, Trichomonas and Trypanosoma. While each of these groups is supported by a taxon-specific database built upon the same infrastructure, the EuPathDB portal offers an entry point to all these resources, and the opportunity to leverage orthology for searches across genera.", + "created": "2019-06-11T14:16:14.019+00:00", + "modified": "2019-06-11T14:16:14.019+00:00", + "resources": [ + { + "id": 480, + "mirId": "MIR:00100199", + "urlPattern": "http://trichdb.org/trichdb/showRecord.do?name=GeneRecordClasses.GeneRecordClass&source_id={$id}", + "name": "TrichDB at EuPathDB", + "description": "TrichDB at EuPathDB", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "TVAG_386080", + "resourceHomeUrl": "http://trichdb.org/trichdb/", + "institution": { + "id": 467, + "name": "Center for Tropical and Emerging Global Diseases, University of Georgia", + "homeUrl": "https://ctegd.uga.edu/", + "description": "The Center for Tropical and Emerging Global Diseases (CTEGD) of the University of Georgia is a university-wide, interdisciplinary center established in 1998 to foster research, education and service related to tropical and emerging global infectious diseases. ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "TVAG_386080", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 481, + "prefix": "tritrypdb", + "mirId": "MIR:00000155", + "name": "TriTrypDB", + "pattern": "^\\w+(\\.)?\\w+(\\.)?\\w+", + "description": "TriTrypDB is one of the databases that can be accessed through the EuPathDB (http://EuPathDB.org; formerly ApiDB) portal, covering eukaryotic pathogens of the genera Cryptosporidium, Giardia, Leishmania, Neospora, Plasmodium, Toxoplasma, Trichomonas and Trypanosoma. While each of these groups is supported by a taxon-specific database built upon the same infrastructure, the EuPathDB portal offers an entry point to all these resources, and the opportunity to leverage orthology for searches across genera.", + "created": "2019-06-11T14:16:14.213+00:00", + "modified": "2019-06-11T14:16:14.213+00:00", + "resources": [ + { + "id": 483, + "mirId": "MIR:00100200", + "urlPattern": "http://tritrypdb.org/tritrypdb/showRecord.do?name=GeneRecordClasses.GeneRecordClass&source_id={$id}", + "name": "TriTrypDB at EuPathDB", + "description": "TriTrypDB at EuPathDB", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Tb927.8.620", + "resourceHomeUrl": "http://tritrypdb.org/tritrypdb/", + "institution": { + "id": 210, + "name": "Wellcome Trust Sanger Institute", + "homeUrl": "https://www.sanger.ac.uk/", + "description": "We tackle some of the most difficult challenges in genomic research. This demands science at scale; a visionary and creative approach to research that pushes the boundaries of our understanding in ever new and exciting ways.", + "rorId": "https://ror.org/05cy4wa09", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Tb927.8.620", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 484, + "prefix": "bdgp.insertion", + "mirId": "MIR:00000156", + "name": "BDGP insertion DB", + "pattern": "^\\w+$", + "description": "BDGP gene disruption collection provides a public resource of gene disruptions of Drosophila genes using a single transposable element.", + "created": "2019-06-11T14:16:14.437+00:00", + "modified": "2019-06-11T14:16:14.437+00:00", + "resources": [ + { + "id": 486, + "mirId": "MIR:00100201", + "urlPattern": "http://flypush.imgen.bcm.tmc.edu/pscreen/details.php?line={$id}", + "name": "BDGP Gene Disruption Project", + "description": "BDGP Gene Disruption Project", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "KG09531", + "resourceHomeUrl": "http://flypush.imgen.bcm.tmc.edu/pscreen/", + "institution": { + "id": 485, + "name": "Baylor College of Medicine", + "homeUrl": "https://www.bcm.edu", + "description": "Baylor College of Medicine is a health sciences university that creates knowledge and applies science and discoveries to further education, healthcare and community service locally and globally.", + "rorId": "https://ror.org/02pttbw34", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "KG09531", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 487, + "prefix": "beetlebase", + "mirId": "MIR:00000157", + "name": "BeetleBase", + "pattern": "^TC\\d+$", + "description": "BeetleBase is a comprehensive sequence database and community resource for Tribolium genetics, genomics and developmental biology. It incorporates information about genes, mutants, genetic markers, expressed sequence tags and publications.", + "created": "2019-06-11T14:16:14.695+00:00", + "modified": "2019-06-11T14:16:14.695+00:00", + "resources": [ + { + "id": 489, + "mirId": "MIR:00100202", + "urlPattern": "http://beetlebase.org/cgi-bin/gbrowse/BeetleBase3.gff3/?name={$id}", + "name": "BeetleBase at Kansas State University", + "description": "BeetleBase at Kansas State University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "TC010103", + "resourceHomeUrl": "http://beetlebase.org/", + "institution": { + "id": 488, + "name": "Kansas State University", + "homeUrl": "https://www.k-state.edu/", + "description": "Kansas State University is a comprehensive, research, land-grant institution serving students and the people of Kansas, the nation, and the world.", + "rorId": "https://ror.org/05p1j8758", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "TC010103", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 490, + "prefix": "bold.taxonomy", + "mirId": "MIR:00000158", + "name": "BOLD Taxonomy", + "pattern": "^\\d+$", + "description": "The Barcode of Life Data System (BOLD) is an informatics workbench aiding the acquisition, storage, analysis and publication of DNA barcode records. The associated taxonomy browser shows the progress of DNA barcoding and provides sample collection site distribution, and taxon occurence information.", + "created": "2019-06-11T14:16:14.938+00:00", + "modified": "2019-06-11T14:16:14.938+00:00", + "resources": [ + { + "id": 492, + "mirId": "MIR:00100203", + "urlPattern": "http://www.boldsystems.org/index.php/Taxbrowser_Taxonpage?taxid={$id}", + "name": "BOLD taxonomy browser", + "description": "BOLD taxonomy browser", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "27267", + "resourceHomeUrl": "http://www.boldsystems.org/", + "institution": { + "id": 491, + "name": "Canadian Centre for DNA Barcoding, Biodiversity Institute of Ontario", + "homeUrl": "https://ccdb.ca/", + "description": "The Canadian Centre for DNA Barcoding remains open and fully operational. We are closely following University directives and are adhering to both provincial and University guidelines with respect to physical distancing and remote working operations. While we don\u2019t anticipate a delay in service and reporting of results, there may be a delay in us receiving samples which could impact service and turnaround time. We appreciate your patience during this time and look forward to serving you. Should any change in service occur in response to this rapidly evolving situation, an announcement will be made via our website.", + "rorId": null, + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "27267", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 493, + "prefix": "dbest", + "mirId": "MIR:00000159", + "name": "dbEST", + "pattern": "^([A-Z]+)?\\d+(\\.\\d+)?$", + "description": "The dbEST contains sequence data and other information on \"single-pass\" cDNA sequences, or \"Expressed Sequence Tags\", from a number of organisms.", + "created": "2019-06-11T14:16:15.166+00:00", + "modified": "2019-06-11T14:16:15.166+00:00", + "resources": [ + { + "id": 494, + "mirId": "MIR:00100204", + "urlPattern": "https://www.ncbi.nlm.nih.gov/nucest/{$id}", + "name": "dbEST at NCBI", + "description": "dbEST at NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "BP100000", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/nucest", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 495, + "mirId": "MIR:00100331", + "urlPattern": "https://www.ebi.ac.uk/ena/data/view/{$id}", + "name": "dbEST through European Nucleotide Archive (ENA)", + "description": "dbEST through European Nucleotide Archive (ENA)", + "official": false, + "providerCode": "ebi", + "sampleId": "BP100000.1", + "resourceHomeUrl": "https://www.ebi.ac.uk/ena", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 496, + "mirId": "MIR:00100651", + "urlPattern": "http://getentry.ddbj.nig.ac.jp/getentry/na/{$id}", + "name": "dbEST through DNA Data Bank of Japan (DDBJ)", + "description": "dbEST through DNA Data Bank of Japan (DDBJ)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "BP100000", + "resourceHomeUrl": "http://www.ddbj.nig.ac.jp/", + "institution": { + "id": 121, + "name": "DNA Data Bank of Japan, Mishima, Shizuoka", + "homeUrl": "https://www.ddbj.nig.ac.jp/index-e.html", + "description": "DDBJ Center collects nucleotide sequence data as a member of INSDC(International Nucleotide Sequence Database Collaboration) and provides freely available nucleotide sequence data and supercomputer system, to support research\u3000activities in life science.", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "BP100000", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 497, + "prefix": "dbprobe", + "mirId": "MIR:00000160", + "name": "dbProbe", + "pattern": "^\\d+$", + "description": "The NCBI Probe Database is a public registry of nucleic acid reagents designed for use in a wide variety of biomedical research applications, together with information on reagent distributors, probe effectiveness, and computed sequence similarities.", + "created": "2019-06-11T14:16:15.607+00:00", + "modified": "2019-06-11T14:16:15.607+00:00", + "resources": [ + { + "id": 498, + "mirId": "MIR:00100205", + "urlPattern": "https://www.ncbi.nlm.nih.gov/probe/?term={$id}", + "name": "dbProbe at NCBI", + "description": "dbProbe at NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "1000000", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/sites/entrez?db=probe", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1000000", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 499, + "prefix": "dbsnp", + "mirId": "MIR:00000161", + "name": "dbSNP", + "pattern": "^rs\\d+$", + "description": "The dbSNP database is a repository for both single base nucleotide subsitutions and short deletion and insertion polymorphisms.", + "created": "2019-06-11T14:16:15.831+00:00", + "modified": "2019-06-11T14:16:15.831+00:00", + "resources": [ + { + "id": 500, + "mirId": "MIR:00100206", + "urlPattern": "https://www.ncbi.nlm.nih.gov/snp/{$id}", + "name": "dbSNP at NCBI", + "description": "dbSNP at NCBI", + "official": true, + "providerCode": "ncbi", + "sampleId": "rs121909098", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/snp/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 502, + "mirId": "MIR:00100927", + "urlPattern": "https://ccg.epfl.ch/cgi-bin/snp2tfbs/snpviewer_form_parser.cgi?snpid={$id}", + "name": "SNP2TFBS", + "description": "SNP2TFBS", + "official": false, + "providerCode": "sib", + "sampleId": "rs11603840", + "resourceHomeUrl": "https://ccg.epfl.ch/snp2tfbs/", + "institution": { + "id": 1730, + "name": "SIB Swiss Institute of Bioinformatics", + "homeUrl": "https://www.sib.swiss", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "rorId": "https://ror.org/002n09z45", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "rs121909098", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 503, + "prefix": "unists", + "mirId": "MIR:00000162", + "name": "UniSTS", + "pattern": "^\\d+$", + "description": "UniSTS is a comprehensive database of sequence tagged sites (STSs) derived from STS-based maps and other experiments. STSs are defined by PCR primer pairs and are associated with additional information such as genomic position, genes, and sequences.", + "created": "2019-06-11T14:16:16.225+00:00", + "modified": "2019-06-11T14:16:16.225+00:00", + "resources": [ + { + "id": 504, + "mirId": "MIR:00100207", + "urlPattern": "https://www.ncbi.nlm.nih.gov/genome/sts/sts.cgi?uid={$id}", + "name": "UniSTS at NCBI", + "description": "UniSTS at NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "456789", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/sites/entrez?db=unists", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "456789", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 505, + "prefix": "ecogene", + "mirId": "MIR:00000163", + "name": "EcoGene", + "pattern": "^EG\\d+$", + "description": "The EcoGene database contains updated information about the E. coli K-12 genome and proteome sequences, including extensive gene bibliographies. A major EcoGene focus has been the re-evaluation of translation start sites.", + "created": "2019-06-11T14:16:16.429+00:00", + "modified": "2019-06-11T14:16:16.429+00:00", + "resources": [ + { + "id": 507, + "mirId": "MIR:00100208", + "urlPattern": "http://www.ecogene.org/gene/{$id}", + "name": "EcoGene at University of Miami", + "description": "EcoGene at University of Miami", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "EG10173", + "resourceHomeUrl": "http://ecogene.org/", + "institution": { + "id": 506, + "name": "Miller School of Medicine, University of Miami", + "homeUrl": "https://med.miami.edu/", + "description": "The University of Miami Leonard M. Miller School of Medicine was established in 1952 as Florida\u2019s first medical school, with just four faculty members and 28 medical students in its inaugural class. Since then, the Miller School has grown to become an internationally recognized institution with more than 1,700 faculty members, 48 centers and institutes, 29 clinical and basic science departments, and an average annual class cohort of more than 200 students.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "EG10173", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 837, + "prefix": "bdgp.est", + "mirId": "MIR:00000285", + "name": "BDGP EST", + "pattern": "^\\w+(\\.)?(\\d+)?$", + "description": "The BDGP EST database collects the expressed sequence tags (ESTs) derived from a variety of tissues and developmental stages for Drosophila melanogaster. All BDGP ESTs are available at dbEST (NCBI).", + "created": "2019-06-11T14:16:45.049+00:00", + "modified": "2019-06-11T14:16:45.049+00:00", + "resources": [ + { + "id": 838, + "mirId": "MIR:00100366", + "urlPattern": "https://www.ncbi.nlm.nih.gov/nucest/{$id}", + "name": "BDGP EST at NCBI", + "description": "BDGP EST at NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "EY223054.1", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/dbEST/index.html", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "EY223054.1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 508, + "prefix": "gabi", + "mirId": "MIR:00000164", + "name": "GABI", + "pattern": "^\\w+$", + "description": "GabiPD (Genome Analysis of Plant Biological Systems Primary Database) constitutes a repository for a wide array of heterogeneous data from high-throughput experiments in several plant species. These data (i.e. genomics, transcriptomics, proteomics and metabolomics), originating from different model or crop species, can be accessed through a central gene 'Green Card'.", + "created": "2019-06-11T14:16:16.652+00:00", + "modified": "2019-06-11T14:16:16.652+00:00", + "resources": [ + { + "id": 510, + "mirId": "MIR:00100210", + "urlPattern": "http://www.gabipd.org/database/cgi-bin/GreenCards.pl.cgi?BioObjectId={$id}&Mode=ShowBioObject", + "name": "GABI at Max Planck", + "description": "GABI at Max Planck", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "2679240", + "resourceHomeUrl": "http://www.gabipd.org/", + "institution": { + "id": 509, + "name": "Max Planck Institute of Molecular Plant Physiology, Berlin", + "homeUrl": "http://www.molgen.mpg.de/2168/en", + "description": "Research at the Max Planck Institute for Molecular Genetics (MPIMG) concentrates on understanding function and regulation of the genome in important processes of embryonic development, tissue differentiation, organ formation, and etiology of disease. The focus is on the human genome. The scientists work with automated methods and high-throughput technologies for a systematic analysis of genes and genomes and use a number of different models. The analysis and interpretation of the results is done using computational methods, the close connection of experimental and computational methods is one of the main features of many departments and groups at the MPIMG.", + "rorId": "https://ror.org/03ate3e03", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2679240", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 511, + "prefix": "greengenes", + "mirId": "MIR:00000165", + "name": "GreenGenes", + "pattern": "^\\d+$", + "description": "A 16S rRNA gene database which provides chimera screening, standard alignment, and taxonomic classification using multiple published taxonomies.", + "created": "2019-06-11T14:16:16.885+00:00", + "modified": "2019-06-11T14:16:16.885+00:00", + "resources": [ + { + "id": 513, + "mirId": "MIR:00100211", + "urlPattern": "http://greengenes.lbl.gov/cgi-bin/show_one_record_v2.pl?prokMSA_id={$id}", + "name": "GreenGenes at Lawrence Berkeley", + "description": "GreenGenes at Lawrence Berkeley", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "100000", + "resourceHomeUrl": "http://greengenes.lbl.gov/", + "institution": { + "id": 512, + "name": "Center for Environmental Biotechnology, Lawrence Berkeley National Laboratory, California", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "100000", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 514, + "prefix": "grin.taxonomy", + "mirId": "MIR:00000166", + "name": "GRIN Plant Taxonomy", + "pattern": "^\\d+$", + "description": "GRIN (Germplasm Resources Information Network) Taxonomy for Plants provides information on scientific and common names, classification, distribution, references, and economic impact.", + "created": "2019-06-11T14:16:17.150+00:00", + "modified": "2019-06-11T14:16:17.150+00:00", + "resources": [ + { + "id": 516, + "mirId": "MIR:00100212", + "urlPattern": "http://www.ars-grin.gov/cgi-bin/npgs/html/taxon.pl?{$id}", + "name": "GRIN at Maryland", + "description": "GRIN at Maryland", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "19333", + "resourceHomeUrl": "http://www.ars-grin.gov/cgi-bin/npgs/html/index.pl?language=en", + "institution": { + "id": 515, + "name": "National Germplasm Resources Laboratory, Beltsville, Maryland", + "homeUrl": "https://www.ars.usda.gov/northeast-area/beltsville-md-barc/beltsville-agricultural-research-center/national-germplasm-resources-laboratory/", + "description": "The Agricultural Research Service (ARS) is the U.S. Department of Agriculture's chief scientific in-house research agency. Our job is finding solutions to agricultural problems that affect Americans every day from field to table. Here are a few numbers to illustrate the scope of our organization: 660 research projects within 15 National Programs; 2,000 scientists and post-docs; 6,000 other employees; 90+ research locations, including overseas laboratories; $1.7 billion fiscal year budget.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "19333", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 517, + "prefix": "hinv.locus", + "mirId": "MIR:00000167", + "name": "H-InvDb Locus", + "pattern": "^HIX\\d{7}(\\.\\d+)?$", + "description": "H-Invitational Database (H-InvDB) is an integrated database of human genes and transcripts. It provides curated annotations of human genes and transcripts including gene structures, alternative splicing isoforms, non-coding functional RNAs, protein functions, functional domains, sub-cellular localizations, metabolic pathways, protein 3D structure, genetic polymorphisms (SNPs, indels and microsatellite repeats), relation with diseases, gene expression profiling, molecular evolutionary features, protein-protein interactions (PPIs) and gene families/groups. This datatype provides access to the 'Locus' view.", + "created": "2019-06-11T14:16:17.382+00:00", + "modified": "2019-06-11T14:16:17.382+00:00", + "resources": [ + { + "id": 519, + "mirId": "MIR:00100213", + "urlPattern": "http://h-invitational.jp/hinv/spsoup/locus_view?hix_id={$id}", + "name": "H-Invitational Locus View at BIRC", + "description": "H-Invitational Locus View at BIRC", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "HIX0004394", + "resourceHomeUrl": "http://h-invitational.jp/hinv/ahg-db/index.jsp", + "institution": { + "id": 518, + "name": "BIRC, Tokyo", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "HIX0004394", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 520, + "prefix": "hinv.transcript", + "mirId": "MIR:00000168", + "name": "H-InvDb Transcript", + "pattern": "^HIT\\d{9}(\\.\\d+)?$", + "description": "H-Invitational Database (H-InvDB) is an integrated database of human genes and transcripts. It provides curated annotations of human genes and transcripts including gene structures, alternative splicing isoforms, non-coding functional RNAs, protein functions, functional domains, sub-cellular localizations, metabolic pathways, protein 3D structure, genetic polymorphisms (SNPs, indels and microsatellite repeats), relation with diseases, gene expression profiling, molecular evolutionary features, protein-protein interactions (PPIs) and gene families/groups. This datatype provides access to the 'Transcript' view.", + "created": "2019-06-11T14:16:17.622+00:00", + "modified": "2019-06-11T14:16:17.622+00:00", + "resources": [ + { + "id": 521, + "mirId": "MIR:00100214", + "urlPattern": "http://h-invitational.jp/hinv/spsoup/transcript_view?hit_id={$id}", + "name": "H-Invitational Transcript View at BIRC", + "description": "H-Invitational Transcript View at BIRC", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "HIT000195363", + "resourceHomeUrl": "http://h-invitational.jp/hinv/ahg-db/index.jsp", + "institution": { + "id": 518, + "name": "BIRC, Tokyo", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "HIT000195363", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 522, + "prefix": "hinv.protein", + "mirId": "MIR:00000169", + "name": "H-InvDb Protein", + "pattern": "^HIP\\d{9}(\\.\\d+)?$", + "description": "H-Invitational Database (H-InvDB) is an integrated database of human genes and transcripts. It provides curated annotations of human genes and transcripts including gene structures, alternative splicing isoforms, non-coding functional RNAs, protein functions, functional domains, sub-cellular localizations, metabolic pathways, protein 3D structure, genetic polymorphisms (SNPs, indels and microsatellite repeats), relation with diseases, gene expression profiling, molecular evolutionary features, protein-protein interactions (PPIs) and gene families/groups. This datatype provides access to the 'Protein' view.", + "created": "2019-06-11T14:16:17.817+00:00", + "modified": "2019-06-11T14:16:17.817+00:00", + "resources": [ + { + "id": 523, + "mirId": "MIR:00100215", + "urlPattern": "http://h-invitational.jp/hinv/protein/protein_view.cgi?hip_id={$id}", + "name": "H-Invitational Protein View at BIRC", + "description": "H-Invitational Protein View at BIRC", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "HIP000030660", + "resourceHomeUrl": "http://h-invitational.jp/hinv/ahg-db/index.jsp", + "institution": { + "id": 518, + "name": "BIRC, Tokyo", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "HIP000030660", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 524, + "prefix": "homd.seq", + "mirId": "MIR:00000170", + "name": "HOMD Sequence Metainformation", + "pattern": "^SEQF\\d+$", + "description": "The Human Oral Microbiome Database (HOMD) provides a site-specific comprehensive database for the more than 600 prokaryote species that are present in the human oral cavity. It contains genomic information based on a curated 16S rRNA gene-based provisional naming scheme, and taxonomic information. This datatype contains genomic sequence information.", + "created": "2019-06-11T14:16:18.019+00:00", + "modified": "2019-06-11T14:16:18.019+00:00", + "resources": [ + { + "id": 526, + "mirId": "MIR:00100216", + "urlPattern": "http://www.homd.org/modules.php?op=modload&name=GenomeList&file=index&link=detailinfo&seqid={$id}", + "name": "HOMD sequence metainformation at The Forsyth Institute", + "description": "HOMD sequence metainformation at The Forsyth Institute", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "SEQF1003", + "resourceHomeUrl": "http://www.homd.org/index.php", + "institution": { + "id": 525, + "name": "The Forsyth Institute, Boston", + "homeUrl": "https://www.forsyth.org/", + "description": "The Forsyth Institute's mission is to improve oral and overall health through a combination of innovative research and community outreach by accelerating the delivery of wellness solutions locally and globally.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "SEQF1003", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 527, + "prefix": "homd.taxon", + "mirId": "MIR:00000171", + "name": "HOMD Taxonomy", + "pattern": "^\\d+$", + "description": "The Human Oral Microbiome Database (HOMD) provides a site-specific comprehensive database for the more than 600 prokaryote species that are present in the human oral cavity. It contains genomic information based on a curated 16S rRNA gene-based provisional naming scheme, and taxonomic information. This datatype contains taxonomic information.", + "created": "2019-06-11T14:16:18.268+00:00", + "modified": "2019-06-11T14:16:18.268+00:00", + "resources": [ + { + "id": 528, + "mirId": "MIR:00100217", + "urlPattern": "http://www.homd.org/modules.php?op=modload&name=HOMD&file=index&oraltaxonid={$id}&view=dynamic", + "name": "HOMD taxon information at The Forsyth Institute", + "description": "HOMD taxon information at The Forsyth Institute", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "811", + "resourceHomeUrl": "http://www.homd.org/index.php", + "institution": { + "id": 525, + "name": "The Forsyth Institute, Boston", + "homeUrl": "https://www.forsyth.org/", + "description": "The Forsyth Institute's mission is to improve oral and overall health through a combination of innovative research and community outreach by accelerating the delivery of wellness solutions locally and globally.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "811", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 529, + "prefix": "ird.segment", + "mirId": "MIR:00000172", + "name": "IRD Segment Sequence", + "pattern": "^\\w+(\\_)?\\d+(\\.\\d+)?$", + "description": "Influenza Research Database (IRD) contains information related to influenza virus, including genomic sequence, strain, protein, epitope and bibliographic information. The Segment Details page contains descriptive information and annotation data about a particular genomic segment and its encoded product(s).", + "created": "2019-06-11T14:16:18.461+00:00", + "modified": "2019-06-11T14:16:18.461+00:00", + "resources": [ + { + "id": 531, + "mirId": "MIR:00100218", + "urlPattern": "http://www.fludb.org/brc/fluSegmentDetails.do?ncbiGenomicAccession={$id}", + "name": "IRD at BioHealthBase", + "description": "IRD at BioHealthBase", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "CY077097", + "resourceHomeUrl": "http://www.fludb.org/", + "institution": { + "id": 530, + "name": "Southwestern Medical Center, University of Texas, Dallas", + "homeUrl": "https://www.utsouthwestern.edu/", + "description": "UT Southwestern, one of the premier academic medical centers in the nation, integrates pioneering biomedical research with exceptional clinical care and education. The institution\u2019s faculty includes many distinguished members, including six who have been awarded Nobel Prizes since 1985. The faculty of more than 2,800 is responsible for groundbreaking medical advances and is committed to translating science-driven research quickly to new clinical treatments. UT Southwestern physicians provide medical care in about 80 specialties to more than 105,000 hospitalized patients, nearly 370,000 emergency room cases, and oversee approximately 3 million outpatient visits a year.", + "rorId": "https://ror.org/05byvp690", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CY077097", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 532, + "prefix": "isfinder", + "mirId": "MIR:00000173", + "name": "ISFinder", + "pattern": "^IS\\w+(\\-\\d)?$", + "description": "ISfinder is a database of bacterial insertion sequences (IS). It assigns IS nomenclature and acts as a repository for ISs. Each IS is annotated with information such as the open reading frame DNA sequence, the sequence of the ends of the element and target sites, its origin and distribution together with a bibliography, where available.", + "created": "2019-06-11T14:16:18.690+00:00", + "modified": "2019-06-11T14:16:18.690+00:00", + "resources": [ + { + "id": 534, + "mirId": "MIR:00100219", + "urlPattern": "https://www-is.biotoul.fr/scripts/ficheIS.php?name={$id}", + "name": "IS Finder at CNRS", + "description": "IS Finder at CNRS", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ISA1083-2", + "resourceHomeUrl": "http://www-is.biotoul.fr/i", + "institution": { + "id": 533, + "name": "Laboratoire de Microbiologie et G\u00e9n\u00e9tique Mol\u00e9culaires, CNRS, Toulouse", + "homeUrl": "https://lmgm.cbi-toulouse.fr/en/home/", + "description": "The Laboratoire de Microbiologie et Genetique Moleculaires (LMGM) is part of the Center for Integrative Biology in Toulouse (CBI Toulouse). We study the organization, evolution and expression of the genomes of bacteria. ", + "rorId": "https://ror.org/04rrj3a80", + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ISA1083-2", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 535, + "prefix": "jcm", + "mirId": "MIR:00000174", + "name": "Japan Collection of Microorganisms", + "pattern": "^\\d+$", + "description": "The Japan Collection of Microorganisms (JCM) collects, catalogues, and distributes cultured microbial strains, restricted to those classified in Risk Group 1 or 2.", + "created": "2019-06-11T14:16:18.921+00:00", + "modified": "2019-06-11T14:16:18.921+00:00", + "resources": [ + { + "id": 537, + "mirId": "MIR:00100220", + "urlPattern": "http://www.jcm.riken.go.jp/cgi-bin/jcm/jcm_number?JCM={$id}", + "name": "JCM at RIKEN BioResource Center", + "description": "JCM at RIKEN BioResource Center", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "17254", + "resourceHomeUrl": "http://www.jcm.riken.go.jp/", + "institution": { + "id": 536, + "name": "RIKEN BioResource Center, Ibaraki", + "homeUrl": "https://web.brc.riken.jp/en/", + "description": "RIKEN BRC, as one of the world leading scientific infrastructures, contributes to advancement of life science and human welfare in the 21st century.", + "rorId": "https://ror.org/00s05em53", + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "17254", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 538, + "prefix": "img.taxon", + "mirId": "MIR:00000175", + "name": "Integrated Microbial Genomes Taxon", + "pattern": "^\\d+$", + "description": "The integrated microbial genomes (IMG) system is a data management, analysis and annotation platform for all publicly available genomes. IMG contains both draft and complete JGI (DoE Joint Genome Institute) microbial genomes integrated with all other publicly available genomes from all three domains of life, together with a large number of plasmids and viruses. This datatype refers to taxon information.", + "created": "2019-06-11T14:16:19.173+00:00", + "modified": "2019-06-11T14:16:19.173+00:00", + "resources": [ + { + "id": 540, + "mirId": "MIR:00100221", + "urlPattern": "http://img.jgi.doe.gov/cgi-bin/w/main.cgi?section=TaxonDetail&taxon_oid={$id}", + "name": "Integrated Microbial Genomes Taxon at Lawrence Berkeley National Laboratory", + "description": "Integrated Microbial Genomes Taxon at Lawrence Berkeley National Laboratory", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "648028003", + "resourceHomeUrl": "http://img.jgi.doe.gov/", + "institution": { + "id": 2755, + "name": "Lawrence Berkeley National Laboratory", + "homeUrl": "http://www.lbl.gov/", + "description": "Lawrence Berkeley National Laboratory is advancing the scope of human knowledge & seeking science solutions to the greatest problems facing humankind.", + "rorId": "https://ror.org/02jbv0t02", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "648028003", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 541, + "prefix": "img.gene", + "mirId": "MIR:00000176", + "name": "Integrated Microbial Genomes Gene", + "pattern": "^\\d+$", + "description": "The integrated microbial genomes (IMG) system is a data management, analysis and annotation platform for all publicly available genomes. IMG contains both draft and complete JGI (DoE Joint Genome Institute) microbial genomes integrated with all other publicly available genomes from all three domains of life, together with a large number of plasmids and viruses. This datatype refers to gene information.", + "created": "2019-06-11T14:16:19.420+00:00", + "modified": "2019-06-11T14:16:19.420+00:00", + "resources": [ + { + "id": 542, + "mirId": "MIR:00100222", + "urlPattern": "http://img.jgi.doe.gov/cgi-bin/w/main.cgi?section=GeneDetail&gene_oid={$id}", + "name": "Integrated Microbial Genomes Taxon at Lawrence Berkeley National Laboratory", + "description": "Integrated Microbial Genomes Taxon at Lawrence Berkeley National Laboratory", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "638309541", + "resourceHomeUrl": "http://img.jgi.doe.gov/", + "institution": { + "id": 2755, + "name": "Lawrence Berkeley National Laboratory", + "homeUrl": "http://www.lbl.gov/", + "description": "Lawrence Berkeley National Laboratory is advancing the scope of human knowledge & seeking science solutions to the greatest problems facing humankind.", + "rorId": "https://ror.org/02jbv0t02", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "638309541", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 543, + "prefix": "maizegdb.locus", + "mirId": "MIR:00000177", + "name": "MaizeGDB Locus", + "pattern": "^\\d+$", + "description": "MaizeGDB is the maize research community's central repository for genetics and genomics information.", + "created": "2019-06-11T14:16:19.610+00:00", + "modified": "2019-06-11T14:16:19.610+00:00", + "resources": [ + { + "id": 545, + "mirId": "MIR:00100223", + "urlPattern": "http://www.maizegdb.org/cgi-bin/displaylocusrecord.cgi?id={$id}", + "name": "MaizeGDB at Missouri", + "description": "MaizeGDB at Missouri", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "25011", + "resourceHomeUrl": "http://www.maizegdb.org/", + "institution": { + "id": 544, + "name": "Division of Plant Sciences, Missouri", + "homeUrl": "https://pst.missouri.edu/", + "description": "The world-class researchers in the Division of Plant Science & Technology continue to excel in cutting-edge research. One of the main goals of the research and scholarly activity in the Division is to identify solutions to real-life problems that threaten the agronomic productivity in Missouri, the U.S., and the world.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "25011", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 546, + "prefix": "mycobank", + "mirId": "MIR:00000178", + "name": "MycoBank", + "pattern": "^\\d+$", + "description": "MycoBank is an online database, documenting new mycological names and combinations, eventually combined with descriptions and illustrations.", + "created": "2019-06-11T14:16:19.843+00:00", + "modified": "2019-06-11T14:16:19.843+00:00", + "resources": [ + { + "id": 548, + "mirId": "MIR:00100224", + "urlPattern": "http://www.mycobank.org/Biolomics.aspx?Table=Mycobank&MycoBankNr_={$id}", + "name": "MycoBank at Fungal Biodiversity Centre", + "description": "MycoBank at Fungal Biodiversity Centre", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "349124", + "resourceHomeUrl": "http://www.mycobank.org/", + "institution": { + "id": 547, + "name": "CBS-KNAW Fungal Biodiversity Centre, Utrecht", + "homeUrl": "https://wi.knaw.nl/", + "description": "The Westerdijk Fungal Biodiversity Institute performs highly innovative mycological research that contributes to the discovery and understanding of fungi and its biodiversity and potential solutions to societal challenges. The Westerdijk Institute has an encompassing and high quality collection of living fungi and related meta data that is highly utilized by public and private parties.\nThe main focus of the Westerdijk Fungal Biodiversity Institute is and will continue to be to explore, study and preserve our fungal collection. We recognize the enormous potential of fungi in the application of solving the world\u2019s biggest challenges. We therefore enhance our partnering with the scientific community, both in the academic, medical, agricultural and industrial field for fundamental and applied research. We also built a new wing to our institute, dedicated to novel product discovery. ", + "rorId": "https://ror.org/030a5r161", + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + } + }, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "349124", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 549, + "prefix": "nbrc", + "mirId": "MIR:00000179", + "name": "NITE Biological Research Center Catalogue", + "pattern": "^\\d+$", + "description": "NITE Biological Research Center (NBRC) provides a collection of microbial resources, performing taxonomic characterization of individual microorganisms such as bacteria including actinomycetes and archaea, yeasts, fungi, algaes, bacteriophages and DNA resources for academic research and industrial applications. A catalogue is maintained which states strain nomenclature, synonyms, and culture and sequence information.", + "created": "2019-06-11T14:16:20.103+00:00", + "modified": "2019-06-11T14:16:20.103+00:00", + "resources": [ + { + "id": 551, + "mirId": "MIR:00100225", + "urlPattern": "http://www.nbrc.nite.go.jp/NBRC2/NBRCCatalogueDetailServlet?ID=NBRC&CAT={$id}", + "name": "NBRC Catalogue at National Institute of Technology Evaluation", + "description": "NBRC Catalogue at National Institute of Technology Evaluation", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "00001234", + "resourceHomeUrl": "http://www.nbrc.nite.go.jp/e/index.html", + "institution": { + "id": 550, + "name": "National Institute of Technology Evaluation, Tokyo", + "homeUrl": "http://www.nite.go.jp/", + "description": "Our aim is to provide reliable technologies and information that underpin public safety and help overcome the challenges of the future.", + "rorId": "https://ror.org/044jdke57", + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "00001234", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 552, + "prefix": "pseudomonas", + "mirId": "MIR:00000180", + "name": "Pseudomonas Genome Database", + "pattern": "^P\\w+$", + "description": "The Pseudomonas Genome Database is a resource for peer-reviewed, continually updated annotation for all Pseudomonas species. It includes gene and protein sequence information, as well as regulation and predicted function and annotation.", + "created": "2019-06-11T14:16:20.362+00:00", + "modified": "2019-06-11T14:16:20.362+00:00", + "resources": [ + { + "id": 554, + "mirId": "MIR:00100226", + "urlPattern": "http://www.pseudomonas.com/feature/show/?locus_tag={$id}", + "name": "Pseudomonas Genome Database at Simon Fraser University", + "description": "Pseudomonas Genome Database at Simon Fraser University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "PSEEN0001", + "resourceHomeUrl": "http://www.pseudomonas.com/", + "institution": { + "id": 553, + "name": "Simon Fraser University, British Columbia", + "homeUrl": "http://www.sfu.ca/", + "description": "Consistently ranked among Canada\u2019s top research-intensive universities, SFU is world leader in research, knowledge development, sustainability.", + "rorId": "https://ror.org/0213rcc28", + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PSEEN0001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 555, + "prefix": "gramene.protein", + "mirId": "MIR:00000181", + "name": "Gramene protein", + "pattern": "^\\d+$", + "description": "Gramene is a comparative genome mapping database for grasses and crop plants. It combines a semi-automatically generated database of cereal genomic and expressed sequence tag sequences, genetic maps, map relations, quantitative trait loci (QTL), and publications, with a curated database of mutants (genes and alleles), molecular markers, and proteins. This datatype refers to proteins in Gramene.", + "created": "2019-06-11T14:16:20.589+00:00", + "modified": "2019-06-11T14:16:20.589+00:00", + "resources": [ + { + "id": 557, + "mirId": "MIR:00100227", + "urlPattern": "http://www.gramene.org/db/protein/protein_search?protein_id={$id}", + "name": "Gramene Protein at Cold Spring Harbor", + "description": "Gramene Protein at Cold Spring Harbor", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "78073", + "resourceHomeUrl": "http://www.gramene.org/", + "institution": { + "id": 131, + "name": "Cold Spring Harbor Laboratory", + "homeUrl": "https://www.cshl.edu/", + "description": "Founded in 1890, Cold Spring Harbor Laboratory has shaped contemporary biomedical research and education with programs in cancer, neuroscience, plant biology and quantitative biology. Home to eight Nobel Prize winners, the private, not-for-profit Laboratory employs 1,000 people including 600 scientists, students and technicians. The Meetings & Courses Program hosts more than 12,000 scientists from around the world each year on its campuses in Long Island and in Suzhou, China. The Laboratory\u2019s education arm also includes an academic publishing house, a graduate school and programs for middle, high school, and undergraduate students and teachers.", + "rorId": "https://ror.org/02qz8b764", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "78073", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 558, + "prefix": "gramene.gene", + "mirId": "MIR:00000182", + "name": "Gramene genes", + "pattern": "^GR\\:\\d+$", + "description": "Gramene is a comparative genome mapping database for grasses and crop plants. It combines a semi-automatically generated database of cereal genomic and expressed sequence tag sequences, genetic maps, map relations, quantitative trait loci (QTL), and publications, with a curated database of mutants (genes and alleles), molecular markers, and proteins. This datatype refers to genes in Gramene.", + "created": "2019-06-11T14:16:20.812+00:00", + "modified": "2019-06-11T14:16:20.812+00:00", + "resources": [ + { + "id": 559, + "mirId": "MIR:00100228", + "urlPattern": "http://www.gramene.org/db/genes/search_gene?acc={$id}", + "name": "Gramene Genes at Cold Spring Harbor", + "description": "Gramene Genes at Cold Spring Harbor", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "GR:0080039", + "resourceHomeUrl": "http://www.gramene.org/", + "institution": { + "id": 131, + "name": "Cold Spring Harbor Laboratory", + "homeUrl": "https://www.cshl.edu/", + "description": "Founded in 1890, Cold Spring Harbor Laboratory has shaped contemporary biomedical research and education with programs in cancer, neuroscience, plant biology and quantitative biology. Home to eight Nobel Prize winners, the private, not-for-profit Laboratory employs 1,000 people including 600 scientists, students and technicians. The Meetings & Courses Program hosts more than 12,000 scientists from around the world each year on its campuses in Long Island and in Suzhou, China. The Laboratory\u2019s education arm also includes an academic publishing house, a graduate school and programs for middle, high school, and undergraduate students and teachers.", + "rorId": "https://ror.org/02qz8b764", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "GR:0080039", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 560, + "prefix": "gramene.taxonomy", + "mirId": "MIR:00000183", + "name": "Gramene Taxonomy", + "pattern": "^GR\\_tax\\:\\d+$", + "description": "Gramene is a comparative genome mapping database for grasses and crop plants. It combines a semi-automatically generated database of cereal genomic and expressed sequence tag sequences, genetic maps, map relations, quantitative trait loci (QTL), and publications, with a curated database of mutants (genes and alleles), molecular markers, and proteins. This datatype refers to taxonomic information in Gramene.", + "created": "2019-06-11T14:16:21.008+00:00", + "modified": "2019-06-11T14:16:21.008+00:00", + "resources": [ + { + "id": 561, + "mirId": "MIR:00100229", + "urlPattern": "http://www.gramene.org/db/ontology/search?id={$id}", + "name": "Gramene Taxonomy at Cold Spring Harbor", + "description": "Gramene Taxonomy at Cold Spring Harbor", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "GR_tax:013681", + "resourceHomeUrl": "http://www.gramene.org/", + "institution": { + "id": 131, + "name": "Cold Spring Harbor Laboratory", + "homeUrl": "https://www.cshl.edu/", + "description": "Founded in 1890, Cold Spring Harbor Laboratory has shaped contemporary biomedical research and education with programs in cancer, neuroscience, plant biology and quantitative biology. Home to eight Nobel Prize winners, the private, not-for-profit Laboratory employs 1,000 people including 600 scientists, students and technicians. The Meetings & Courses Program hosts more than 12,000 scientists from around the world each year on its campuses in Long Island and in Suzhou, China. The Laboratory\u2019s education arm also includes an academic publishing house, a graduate school and programs for middle, high school, and undergraduate students and teachers.", + "rorId": "https://ror.org/02qz8b764", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "GR_tax:013681", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 562, + "prefix": "gramene.qtl", + "mirId": "MIR:00000184", + "name": "Gramene QTL", + "pattern": "^\\w+$", + "description": "Gramene is a comparative genome mapping database for grasses and crop plants. It combines a semi-automatically generated database of cereal genomic and expressed sequence tag sequences, genetic maps, map relations, quantitative trait loci (QTL), and publications, with a curated database of mutants (genes and alleles), molecular markers, and proteins. This datatype refers to quantitative trait loci identified in Gramene.", + "created": "2019-06-11T14:16:21.219+00:00", + "modified": "2019-06-11T14:16:21.219+00:00", + "resources": [ + { + "id": 563, + "mirId": "MIR:00100230", + "urlPattern": "http://www.gramene.org/db/qtl/qtl_display?qtl_accession_id={$id}", + "name": "Gramene Quantitative Trait Loci at Cold Spring Harbor", + "description": "Gramene Quantitative Trait Loci at Cold Spring Harbor", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "CQG5", + "resourceHomeUrl": "http://www.gramene.org/", + "institution": { + "id": 131, + "name": "Cold Spring Harbor Laboratory", + "homeUrl": "https://www.cshl.edu/", + "description": "Founded in 1890, Cold Spring Harbor Laboratory has shaped contemporary biomedical research and education with programs in cancer, neuroscience, plant biology and quantitative biology. Home to eight Nobel Prize winners, the private, not-for-profit Laboratory employs 1,000 people including 600 scientists, students and technicians. The Meetings & Courses Program hosts more than 12,000 scientists from around the world each year on its campuses in Long Island and in Suzhou, China. The Laboratory\u2019s education arm also includes an academic publishing house, a graduate school and programs for middle, high school, and undergraduate students and teachers.", + "rorId": "https://ror.org/02qz8b764", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CQG5", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 564, + "prefix": "sgn", + "mirId": "MIR:00000185", + "name": "Sol Genomics Network", + "pattern": "^\\d+$", + "description": "The Sol Genomics Network (SGN) is a database and website dedicated to the genomic information of the nightshade family, which includes species such as tomato, potato, pepper, petunia and eggplant.", + "created": "2019-06-11T14:16:21.425+00:00", + "modified": "2019-06-11T14:16:21.425+00:00", + "resources": [ + { + "id": 566, + "mirId": "MIR:00100231", + "urlPattern": "http://solgenomics.net/phenome/locus_display.pl?locus_id={$id}", + "name": "Sol Genomics Network at Boyce Thompson Institute for Plant Research", + "description": "Sol Genomics Network at Boyce Thompson Institute for Plant Research", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "0001", + "resourceHomeUrl": "http://solgenomics.net/", + "institution": { + "id": 565, + "name": "Boyce Thompson Institute for Plant Research, New York", + "homeUrl": "https://btiscience.org/", + "description": "Boyce Thompson Institute is a premier life sciences research institution located in Ithaca, New York on the Cornell University campus. BTI scientists conduct investigations into fundamental plant and life sciences research with the goals of increasing food security, improving environmental sustainability in agriculture, and making basic discoveries that will enhance human health.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 570, + "prefix": "bioportal", + "mirId": "MIR:00000187", + "name": "BioPortal", + "pattern": "^\\d+$", + "description": "BioPortal is an open repository of biomedical ontologies that provides access via Web services and Web browsers to ontologies developed in OWL, RDF, OBO format and Prot\u00e9g\u00e9 frames. BioPortal functionality includes the ability to browse, search and visualize ontologies.", + "created": "2019-06-11T14:16:21.882+00:00", + "modified": "2019-06-11T14:16:21.882+00:00", + "resources": [ + { + "id": 572, + "mirId": "MIR:00100244", + "urlPattern": "http://bioportal.bioontology.org/ontologies/{$id}", + "name": "BioPortal at National Center for Biomedical Ontology", + "description": "BioPortal at National Center for Biomedical Ontology", + "official": false, + "providerCode": "bptl", + "sampleId": "1046", + "resourceHomeUrl": "http://bioportal.bioontology.org/", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1046", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 573, + "prefix": "miriam.resource", + "mirId": "MIR:00000188", + "name": "MIRIAM Registry resource", + "pattern": "^MIR:001\\d{5}$", + "description": "MIRIAM Registry is an online resource created to catalogue data types (Gene Ontology, Taxonomy or PubMed are some examples), their URIs and the corresponding resources (or physical locations), whether these are controlled vocabularies or databases.", + "created": "2019-06-11T14:16:22.127+00:00", + "modified": "2019-06-11T14:16:22.127+00:00", + "resources": [ + { + "id": 574, + "mirId": "MIR:00100245", + "urlPattern": "https://www.ebi.ac.uk/miriam/main/resources/{$id}", + "name": "MIRIAM Registry (resources)", + "description": "MIRIAM Registry (resources)", + "official": false, + "providerCode": "ebi", + "sampleId": "MIR:00100005", + "resourceHomeUrl": "https://www.ebi.ac.uk/miriam/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MIR:00100005", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 681, + "prefix": "rebase", + "mirId": "MIR:00000230", + "name": "REBASE", + "pattern": "^\\d+$", + "description": "REBASE is a comprehensive database of information about restriction enzymes, DNA methyltransferases and related proteins involved in the biological process of restriction-modification (R-M). It contains fully referenced information about recognition and cleavage sites, isoschizomers, neoschizomers, commercial availability, methylation sensitivity, crystal and sequence data.", + "created": "2019-06-11T14:16:32.004+00:00", + "modified": "2019-06-11T14:16:32.004+00:00", + "resources": [ + { + "id": 683, + "mirId": "MIR:00100289", + "urlPattern": "http://rebase.neb.com/rebase/enz/{$id}.html", + "name": "REBASE at New England Biolabs", + "description": "REBASE at New England Biolabs", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "101", + "resourceHomeUrl": "http://rebase.neb.com/rebase/", + "institution": { + "id": 682, + "name": "New England Biolabs, Ipswich, Massachusetts", + "homeUrl": "https://international.neb.com/", + "description": "Created \"by scientists for scientists\", NEB is renowned for consistently providing exceptional product quality and unsurpassed technical support. For over four decades, NEB has been shaping the landscape of bioscience research by discovering, developing and supporting superior research reagents. From our founding principles \u2013 placing the advancement of science and the stewardship of the environment as our highest priorities \u2013 to our unique corporate culture, NEB\u2019s philosophy can be distilled down to three core values: passion, humility and being genuine. ", + "rorId": "https://ror.org/04ywg3445", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "101", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 578, + "prefix": "pmdb", + "mirId": "MIR:00000190", + "name": "Protein Model Database", + "pattern": "^PM\\d{7}", + "description": "The Protein Model DataBase (PMDB), is a database that collects manually built three dimensional protein models, obtained by different structure prediction techniques.", + "created": "2019-06-11T14:16:22.644+00:00", + "modified": "2019-06-11T14:16:22.644+00:00", + "resources": [ + { + "id": 580, + "mirId": "MIR:00100247", + "urlPattern": "https://bioinformatics.cineca.it/PMDB/user//search.php?idsearch={$id}", + "name": "Protein Model Database at University of Rome", + "description": "Protein Model Database at University of Rome", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "PM0012345", + "resourceHomeUrl": "https://bioinformatics.cineca.it/PMDB/", + "institution": { + "id": 579, + "name": "CASPUR and Biocomputing group, Department of Biochemical Sciences, University of Rome, Rome", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "IT", + "countryName": "Italy" + } + }, + "location": { + "countryCode": "IT", + "countryName": "Italy" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PM0012345", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 581, + "prefix": "arachnoserver", + "mirId": "MIR:00000193", + "name": "ArachnoServer", + "pattern": "^AS\\d{6}$", + "description": "ArachnoServer (www.arachnoserver.org) is a manually curated database providing information on the sequence, structure and biological activity of protein toxins from spider venoms. It include a molecular target ontology designed specifically for venom toxins, as well as current and historic taxonomic information.", + "created": "2019-06-11T14:16:22.902+00:00", + "modified": "2019-06-11T14:16:22.902+00:00", + "resources": [ + { + "id": 583, + "mirId": "MIR:00100250", + "urlPattern": "http://www.arachnoserver.org/toxincard.html?id={$id}", + "name": "ArachnoServer at Brisbane", + "description": "ArachnoServer at Brisbane", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "AS000060", + "resourceHomeUrl": "http://www.arachnoserver.org/", + "institution": { + "id": 582, + "name": "Institute for Molecular Bioscience, The University of Queensland, Brisbane", + "homeUrl": "https://imb.uq.edu.au", + "description": "Every cure starts with a scientific discovery by someone who imagined a better future. At the\nInstitute for Molecular Bioscience our goal is to create a better future by making breakthrough\ndiscoveries to improve health and wellbeing.", + "rorId": null, + "location": { + "countryCode": "AU", + "countryName": "Australia" + } + }, + "location": { + "countryCode": "AU", + "countryName": "Australia" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AS000060", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 584, + "prefix": "biocyc", + "mirId": "MIR:00000194", + "name": "BioCyc", + "pattern": "^[A-Z-0-9]+(\\:)?[A-Za-z0-9+_.%-:]+$", + "description": "BioCyc is a collection of Pathway/Genome Databases (PGDBs) which provides an electronic reference source on the genomes and metabolic pathways of sequenced organisms.", + "created": "2019-06-11T14:16:23.132+00:00", + "modified": "2019-06-11T14:16:23.132+00:00", + "resources": [ + { + "id": 586, + "mirId": "MIR:00100251", + "urlPattern": "http://biocyc.org/getid?id={$id}", + "name": "BioCyc at SRI International", + "description": "BioCyc at SRI International", + "official": false, + "providerCode": "sri", + "sampleId": "ECOLI:CYT-D-UBIOX-CPLX", + "resourceHomeUrl": "http://biocyc.org", + "institution": { + "id": 1692, + "name": "SRI International", + "homeUrl": "https://www.sri.com/", + "description": "SRI is an independent, nonprofit research center that works with clients to take the most advanced R&D from the laboratory to the marketplace.", + "rorId": "https://ror.org/05s570m15", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ECOLI:CYT-D-UBIOX-CPLX", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 587, + "prefix": "cazy", + "mirId": "MIR:00000195", + "name": "CAZy", + "pattern": "^(GT|GH|PL|CE|CBM)\\d+(\\_\\d+)?$", + "description": "The Carbohydrate-Active Enzyme (CAZy) database is a resource specialized in enzymes that build and breakdown complex carbohydrates and glycoconjugates. These enzymes are classified into families based on structural features.", + "created": "2019-06-11T14:16:23.358+00:00", + "modified": "2019-06-11T14:16:23.358+00:00", + "resources": [ + { + "id": 589, + "mirId": "MIR:00100252", + "urlPattern": "http://www.cazy.org/{$id}.html", + "name": "CAZy at CNRS", + "description": "CAZy at CNRS", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "GT10", + "resourceHomeUrl": "http://www.cazy.org/", + "institution": { + "id": 588, + "name": "Architecture et Fonction des Macromol\u00e9cules Biologiques", + "homeUrl": "http://www.afmb.univ-mrs.fr", + "description": "The Architecture et Fonction des Macromol\u00e9cules Biologiques (AFMB) laboratory, overseen by the CNRS and AMU, is a center of structural biology localized on the Luminy campus in the South of Marseilles, France, and in partnership with INRA under contract.", + "rorId": "https://ror.org/04jm8zw14", + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "GT10", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 590, + "prefix": "goa", + "mirId": "MIR:00000196", + "name": "GOA", + "pattern": "^(([A-N,R-Z][0-9][A-Z][A-Z, 0-9][A-Z, 0-9][0-9])|([O,P,Q][0-9][A-Z, 0-9][A-Z, 0-9][A-Z, 0-9][0-9]))|(URS[0-9A-F]{10}(_[0-9]+){0,1})|(EBI-[0-9]+)$", + "description": "The GOA (Gene Ontology Annotation) project provides high-quality Gene Ontology (GO) annotations to proteins in the UniProt Knowledgebase (UniProtKB) and International Protein Index (IPI). This involves electronic annotation and the integration of high-quality manual GO annotation from all GO Consortium model organism groups and specialist groups.", + "created": "2019-06-11T14:16:23.594+00:00", + "modified": "2019-06-11T14:16:23.594+00:00", + "resources": [ + { + "id": 591, + "mirId": "MIR:00100253", + "urlPattern": "https://www.ebi.ac.uk/QuickGO/GProtein?ac={$id}", + "name": "GOA through QuickGO", + "description": "GOA through QuickGO", + "official": false, + "providerCode": "quickgo", + "sampleId": "P12345", + "resourceHomeUrl": "https://www.ebi.ac.uk/GOA/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "P12345", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 592, + "prefix": "paleodb", + "mirId": "MIR:00000197", + "name": "PaleoDB", + "pattern": "^\\d+$", + "description": "The Paleobiology Database seeks to provide researchers and the public with information about the entire fossil record. It stores global, collection-based occurrence and taxonomic data for marine and terrestrial animals and plants of any geological age, as well as web-based software for statistical analysis of the data.", + "created": "2019-06-11T14:16:23.782+00:00", + "modified": "2019-06-11T14:16:23.782+00:00", + "resources": [ + { + "id": 594, + "mirId": "MIR:00100254", + "urlPattern": "http://fossilworks.org/?a=taxonInfo&taxon_no={$id}", + "name": "PaleoDB at Macquarie University", + "description": "PaleoDB at Macquarie University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "83088", + "resourceHomeUrl": "http://paleodb.org/", + "institution": { + "id": 593, + "name": "Macquarie University, Sydney", + "homeUrl": "http://mq.edu.au/", + "description": "Macquarie University is recognised globally for its pre-eminence in key research disciplines, as well as producing graduates who are among the most sought-after professionals in the world.", + "rorId": "https://ror.org/01sf06y89", + "location": { + "countryCode": "AU", + "countryName": "Australia" + } + }, + "location": { + "countryCode": "AU", + "countryName": "Australia" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "83088", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 595, + "prefix": "compulyeast", + "mirId": "MIR:00000198", + "name": "Compulyeast", + "pattern": "^([A-N,R-Z][0-9][A-Z][A-Z, 0-9][A-Z, 0-9][0-9])|([O,P,Q][0-9][A-Z, 0-9][A-Z, 0-9][A-Z, 0-9][0-9])$", + "description": "Compluyeast-2D-DB is a two-dimensional polyacrylamide gel electrophoresis federated database. This collection references a subset of Uniprot, and contains general information about the protein record.", + "created": "2019-06-11T14:16:24.045+00:00", + "modified": "2019-06-11T14:16:24.045+00:00", + "resources": [ + { + "id": 597, + "mirId": "MIR:00100257", + "urlPattern": "http://compluyeast2dpage.dacya.ucm.es/cgi-bin/2d/2d.cgi?ac={$id}", + "name": "Compluyeast database at Universidad Complutense Madrid", + "description": "Compluyeast database at Universidad Complutense Madrid", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "O08709", + "resourceHomeUrl": "http://compluyeast2dpage.dacya.ucm.es/", + "institution": { + "id": 596, + "name": "Department Microbiology II, Universidad Complutense Madrid, Madrid", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "ES", + "countryName": "Spain" + } + }, + "location": { + "countryCode": "ES", + "countryName": "Spain" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "O08709", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 601, + "prefix": "echobase", + "mirId": "MIR:00000200", + "name": "EchoBASE", + "pattern": "^EB\\d+$", + "description": "EchoBASE is a database designed to contain and manipulate information from post-genomic experiments using the model bacterium Escherichia coli K-12. The database is built on an enhanced annotation of the updated genome sequence of strain MG1655 and the association of experimental data with the E.coli genes and their products.", + "created": "2019-06-11T14:16:24.496+00:00", + "modified": "2019-06-11T14:16:24.496+00:00", + "resources": [ + { + "id": 603, + "mirId": "MIR:00100259", + "urlPattern": "http://www.york.ac.uk/res/thomas/Gene.cfm?recordID={$id}", + "name": "EchoBASE at the University of York", + "description": "EchoBASE at the University of York", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "EB0170", + "resourceHomeUrl": "http://www.york.ac.uk/", + "institution": { + "id": 602, + "name": "Department of Biology (Area 10), University of York, York", + "homeUrl": "https://www.york.ac.uk/biology/", + "description": "he Department of Biology at York accepted its first undergraduates in 1965 and moved to its present site in 1968. Over the years it has grown enormously, both in terms of people and infrastructure. As of 2020, we are over 1000 students and more than 300 staff, including around 70 academic staff. We have received considerable investment in infrastructure and facilities to support excellence in Research and Teaching. This includes our innovative Bioscience Technology Facility and the Centre for Novel Agricultural Products (CNAP). The Queen\u2019s Award-winning York Structural Biology Laboratory (YSBL) is part of the Department of Chemistry but located on the Biology site.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "EB0170", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 598, + "prefix": "disprot", + "mirId": "MIR:00000199", + "name": "DisProt", + "pattern": "^DP\\d{5}$", + "description": "DisProt is a database of intrinsically disordered proteins and protein disordered regions, manually curated from literature.", + "created": "2019-06-11T14:16:24.278+00:00", + "modified": "2021-02-17T17:15:29.025+00:00", + "resources": [ + { + "id": 600, + "mirId": "MIR:00100258", + "urlPattern": "https://disprot.org/{$id}", + "name": "DisProt at University of Padua", + "description": "DisProt at University of Padua", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "DP00003", + "resourceHomeUrl": "https://disprot.org/", + "institution": { + "id": 1769, + "name": "University of Padua", + "homeUrl": "https://www.unipd.it/en/", + "description": "he University of Padua is one of Europe\u2019s oldest and most prestigious seats of learning. As a multi-disciplinary institute of higher education, the University aims to provide its students with professional training and a solid cultural background. The qualification received from the University of Padua act as a symbol of the ambitious objectives respected and coveted by both students and employers alike.", + "rorId": "https://ror.org/00240q980", + "location": { + "countryCode": "IT", + "countryName": "Italy" + } + }, + "location": { + "countryCode": "IT", + "countryName": "Italy" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "DP00003", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 604, + "prefix": "eggnog", + "mirId": "MIR:00000201", + "name": "eggNOG", + "pattern": "^\\w+$", + "description": "eggNOG (evolutionary genealogy of genes: Non-supervised Orthologous Groups) is a database of orthologous groups of genes. The orthologous groups are annotated with functional description lines (derived by identifying a common denominator for the genes based on their various annotations), with functional categories (i.e derived from the original COG/KOG categories).", + "created": "2019-06-11T14:16:24.719+00:00", + "modified": "2019-06-11T14:16:24.719+00:00", + "resources": [ + { + "id": 606, + "mirId": "MIR:00100260", + "urlPattern": "http://eggnog.embl.de/version_3.0/cgi/search.py?search_term_0={$id}", + "name": "eggNOG Version 3 at European Molecular Biology Laboratory", + "description": "eggNOG Version 3 at European Molecular Biology Laboratory", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "veNOG12876", + "resourceHomeUrl": "http://eggnog.embl.de/version_3.0/", + "institution": { + "id": 375, + "name": "EMBL, Heidelberg", + "homeUrl": "http://embl.org/", + "description": "With 28 member states, EMBL has more than 110 independent research groups and service teams covering the spectrum of molecular biology at six sites in Barcelona, Grenoble, Hamburg, Heidelberg, EMBL-EBI Hinxton, and Rome.", + "rorId": "https://ror.org/03mstc592", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "veNOG12876", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 607, + "prefix": "ensembl.bacteria", + "mirId": "MIR:00000202", + "name": "Ensembl Bacteria", + "pattern": "^((EB\\w+)|([A-Z0-9]+\\_[A-Z0-9]+))$", + "description": "Ensembl Genomes consists of five sub-portals (for bacteria, protists, fungi, plants and invertebrate metazoa) designed to complement the availability of vertebrate genomes in Ensembl. This collection is concerned with bacterial genomes.", + "created": "2019-06-11T14:16:24.944+00:00", + "modified": "2019-06-11T14:16:24.944+00:00", + "resources": [ + { + "id": 608, + "mirId": "MIR:00100261", + "urlPattern": "https://bacteria.ensembl.org/id/{$id}", + "name": "Ensembl Bacteria at EBI", + "description": "Ensembl Bacteria at EBI", + "official": false, + "providerCode": "ebi", + "sampleId": "MU9_3181", + "resourceHomeUrl": "https://bacteria.ensembl.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MU9_3181", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 609, + "prefix": "ensembl.protist", + "mirId": "MIR:00000203", + "name": "Ensembl Protists", + "pattern": "^\\w+$", + "description": "Ensembl Genomes consists of five sub-portals (for bacteria, protists, fungi, plants and invertebrate metazoa) designed to complement the availability of vertebrate genomes in Ensembl. This collection is concerned with protist genomes.", + "created": "2019-06-11T14:16:25.183+00:00", + "modified": "2019-06-11T14:16:25.183+00:00", + "resources": [ + { + "id": 610, + "mirId": "MIR:00100262", + "urlPattern": "https://protists.ensembl.org/id/{$id}", + "name": "Ensembl Protists at EBI", + "description": "Ensembl Protists at EBI", + "official": false, + "providerCode": "ebi", + "sampleId": "PF3D7_1328700", + "resourceHomeUrl": "https://protists.ensembl.org", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PF3D7_1328700", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 611, + "prefix": "ensembl.metazoa", + "mirId": "MIR:00000204", + "name": "Ensembl Metazoa", + "pattern": "^\\w+(\\.)?\\d+$", + "description": "Ensembl Genomes consists of five sub-portals (for bacteria, protists, fungi, plants and invertebrate metazoa) designed to complement the availability of vertebrate genomes in Ensembl. This collection is concerned with metazoa genomes.", + "created": "2019-06-11T14:16:25.396+00:00", + "modified": "2019-06-11T14:16:25.396+00:00", + "resources": [ + { + "id": 612, + "mirId": "MIR:00100263", + "urlPattern": "https://metazoa.ensembl.org/id/{$id}", + "name": "Enzembl Metazoa at EBI", + "description": "Enzembl Metazoa at EBI", + "official": false, + "providerCode": "ebi", + "sampleId": "FBtr0084214", + "resourceHomeUrl": "https://metazoa.ensembl.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "FBtr0084214", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 613, + "prefix": "ensembl.plant", + "mirId": "MIR:00000205", + "name": "Ensembl Plants", + "pattern": "^\\w+(\\.\\d+)?(\\.\\d+)?$", + "description": "Ensembl Genomes consists of five sub-portals (for bacteria, protists, fungi, plants and invertebrate metazoa) designed to complement the availability of vertebrate genomes in Ensembl. This collection is concerned with plant genomes.", + "created": "2019-06-11T14:16:25.597+00:00", + "modified": "2019-06-11T14:16:25.597+00:00", + "resources": [ + { + "id": 614, + "mirId": "MIR:00100264", + "urlPattern": "https://plants.ensembl.org/id/{$id}", + "name": "Enzembl Plants at EBI", + "description": "Enzembl Plants at EBI", + "official": false, + "providerCode": "ebi", + "sampleId": "AT1G73965", + "resourceHomeUrl": "https://plants.ensembl.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AT1G73965", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 615, + "prefix": "ensembl.fungi", + "mirId": "MIR:00000206", + "name": "Ensembl Fungi", + "pattern": "^[A-Z-a-z0-9]+$", + "description": "Ensembl Genomes consists of five sub-portals (for bacteria, protists, fungi, plants and invertebrate metazoa) designed to complement the availability of vertebrate genomes in Ensembl. This collection is concerned with fungal genomes.", + "created": "2019-06-11T14:16:25.804+00:00", + "modified": "2019-06-11T14:16:25.804+00:00", + "resources": [ + { + "id": 616, + "mirId": "MIR:00100265", + "urlPattern": "https://fungi.ensembl.org/id/{$id}", + "name": "Enzembl Fungi at EBI", + "description": "Enzembl Fungi at EBI", + "official": false, + "providerCode": "ebi", + "sampleId": "CADAFLAT00006211", + "resourceHomeUrl": "https://fungi.ensembl.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CADAFLAT00006211", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 617, + "prefix": "hcvdb", + "mirId": "MIR:00000207", + "name": "HCVDB", + "pattern": "^M\\d{5}$", + "description": "the European Hepatitis C Virus Database (euHCVdb, http://euhcvdb.ibcp.fr), a collection of computer-annotated sequences based on reference genomes.mainly dedicated to HCV protein sequences, 3D structures and functional analyses.", + "created": "2019-06-11T14:16:26.018+00:00", + "modified": "2019-06-11T14:16:26.018+00:00", + "resources": [ + { + "id": 619, + "mirId": "MIR:00100266", + "urlPattern": "https://euhcvdb.ibcp.fr/euHCVdb/do/displayHCVEntry?primaryAC={$id}", + "name": "HCVDB at CNRS", + "description": "HCVDB at CNRS", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "M58335", + "resourceHomeUrl": "http://euhcvdb.ibcp.fr/euHCVdb/", + "institution": { + "id": 618, + "name": "Institut de Biologie et Chimie des Prot\u00e9ines, CNRS, University of Lyon , Lyon-Gerland", + "homeUrl": "https://www.ibcp.fr/?lang=en", + "description": "Cette unit\u00e9 comprend 10 \u00e9quipes (90 personnes) et m\u00e8ne une activit\u00e9 de recherche sur les m\u00e9canismes mol\u00e9culaires des processus infectieux \u00e0 l\u2019origine de pathologies humaines graves avec des approches de biochimie, biologie structurale (RMN et cristallographie aux rayons X), microbiologie et bioinformatique.", + "rorId": "https://ror.org/0019x5d05", + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "M58335", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 620, + "prefix": "genatlas", + "mirId": "MIR:00000208", + "name": "Genatlas", + "pattern": "^\\w+$", + "description": "GenAtlas is a database containing information on human genes, markers and phenotypes.", + "created": "2019-06-11T14:16:26.301+00:00", + "modified": "2019-06-11T14:16:26.301+00:00", + "resources": [ + { + "id": 622, + "mirId": "MIR:00100267", + "urlPattern": "http://genatlas.medecine.univ-paris5.fr/fiche.php?symbol={$id}", + "name": "Genatlas at Paris Descartes University", + "description": "Genatlas at Paris Descartes University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "HBB", + "resourceHomeUrl": "http://genatlas.medecine.univ-paris5.fr/", + "institution": { + "id": 621, + "name": "Paris Descartes University, Paris", + "homeUrl": "https://u-paris.fr/en/", + "description": "Paris Descartes University (French: Universit\u00e9 Paris 5 Ren\u00e9 Descartes), also known as Paris V, was a French public university located in Paris. It was one of the inheritors of the historic University of Paris, which was split into 13 universities in 1970. Paris Descartes completely merged with Paris Diderot University in 2019 to form a new Paris Cit\u00e9 University. ", + "rorId": null, + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "HBB", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 623, + "prefix": "cath.superfamily", + "mirId": "MIR:00000209", + "name": "CATH superfamily", + "pattern": "^\\d+(\\.\\d+(\\.\\d+(\\.\\d+)?)?)?$", + "description": "The CATH database is a hierarchical domain classification of protein structures in the Protein Data Bank. Protein structures are classified using a combination of automated and manual procedures. There are four major levels in this hierarchy; Class (secondary structure classification, e.g. mostly alpha), Architecture (classification based on overall shape), Topology (fold family) and Homologous superfamily (protein domains which are thought to share a common ancestor). This colelction is concerned with superfamily classification.", + "created": "2019-06-11T14:16:26.635+00:00", + "modified": "2019-06-11T14:16:26.635+00:00", + "resources": [ + { + "id": 625, + "mirId": "MIR:00100268", + "urlPattern": "http://www.cathdb.info/cathnode/{$id}", + "name": "CATH superfamily at UCL", + "description": "CATH superfamily at UCL", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1.10.10.200", + "resourceHomeUrl": "http://www.cathdb.info/", + "institution": { + "id": 624, + "name": "Institute of Structural and Molecular Biology, University College London", + "homeUrl": "http://www.ismb.lon.ac.uk/", + "description": "The ISMB thrives on scientific excellence and research integrity within a supportive culture of inclusion and diversity. The institute coordinates UCL's and Birkbeck's strategy in our fields of scientific enquiry. The ISMB was founded in 2003 to promote multi-disciplinary research at the interface of structural-, computational- and chemical biology at UCL and Birkbeck. Since then, we have become one of the internationally premier institutions in multidisciplinary life sciences. Scientists at UCL and Birkbeck work hand-in-hand to deliver our mission, to push the frontiers of science and to communicate our discoveries in research-led teaching. Our research portfolio encompasses several foci, including (i) gene expression & RNA biology, (ii) protein folding, membranes & trafficking, (iii) microbiology & synthetic biology, (iv) metabolism, cancer & biological chemistry and (v) evolution, AI & deep learning. Our activities are supported by our host institutions and generous support from the Research Councils UK as well as key global charities including the Wellcome Trust. We are fortunate to harbour sophisticated high-end instrumentation including cryogenic electron microscopy and electron tomography, nuclear magnetic resonance, mass spectrometry, and single-molecule biophysics that play a pivotal role in enableing our aims and objectives.", + "rorId": "https://ror.org/05wsetc54", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1.10.10.200", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 817, + "prefix": "apd", + "mirId": "MIR:00000278", + "name": "APD", + "pattern": "^\\d{5}$", + "description": "The antimicrobial peptide database (APD) provides information on anticancer, antiviral, antifungal and antibacterial peptides.", + "created": "2019-06-11T14:16:43.451+00:00", + "modified": "2019-06-11T14:16:43.451+00:00", + "resources": [ + { + "id": 819, + "mirId": "MIR:00100359", + "urlPattern": "http://aps.unmc.edu/AP/database/query_output.php?ID={$id}", + "name": "APD at Nebraska", + "description": "APD at Nebraska", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "01001", + "resourceHomeUrl": "http://aps.unmc.edu/AP/", + "institution": { + "id": 818, + "name": "Eppley Institute for Research in Cancer and Allied Diseases, University of Nebraska Medical Center, Omaha", + "homeUrl": "https://www.unmc.edu/eppley/", + "description": "The Eppley Institute for Research in Cancer and Allied Diseases is a multidisciplinary cancer research institute at the University of Nebraska Medical Center (UNMC) in Omaha, Nebraska. Created in 1960 with a $2.5 million grant from the Eugene C. Eppley Foundation and funds from the National Institutes of Health and the University of Nebraska, the Eppley Institute currently has 31 faculty members who conduct basic and translational cancer research in state-of-the-art laboratories. ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "01001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 626, + "prefix": "cath.domain", + "mirId": "MIR:00000210", + "name": "CATH domain", + "pattern": "^\\w+$", + "description": "The CATH database is a hierarchical domain classification of protein structures in the Protein Data Bank. Protein structures are classified using a combination of automated and manual procedures. There are four major levels in this hierarchy; Class (secondary structure classification, e.g. mostly alpha), Architecture (classification based on overall shape), Topology (fold family) and Homologous superfamily (protein domains which are thought to share a common ancestor). This colelction is concerned with CATH domains.", + "created": "2019-06-11T14:16:26.899+00:00", + "modified": "2019-06-11T14:16:26.899+00:00", + "resources": [ + { + "id": 627, + "mirId": "MIR:00100269", + "urlPattern": "http://www.cathdb.info/domain/{$id}", + "name": "CATH domain at UCL", + "description": "CATH domain at UCL", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1cukA01", + "resourceHomeUrl": "http://www.cathdb.info/", + "institution": { + "id": 624, + "name": "Institute of Structural and Molecular Biology, University College London", + "homeUrl": "http://www.ismb.lon.ac.uk/", + "description": "The ISMB thrives on scientific excellence and research integrity within a supportive culture of inclusion and diversity. The institute coordinates UCL's and Birkbeck's strategy in our fields of scientific enquiry. The ISMB was founded in 2003 to promote multi-disciplinary research at the interface of structural-, computational- and chemical biology at UCL and Birkbeck. Since then, we have become one of the internationally premier institutions in multidisciplinary life sciences. Scientists at UCL and Birkbeck work hand-in-hand to deliver our mission, to push the frontiers of science and to communicate our discoveries in research-led teaching. Our research portfolio encompasses several foci, including (i) gene expression & RNA biology, (ii) protein folding, membranes & trafficking, (iii) microbiology & synthetic biology, (iv) metabolism, cancer & biological chemistry and (v) evolution, AI & deep learning. Our activities are supported by our host institutions and generous support from the Research Councils UK as well as key global charities including the Wellcome Trust. We are fortunate to harbour sophisticated high-end instrumentation including cryogenic electron microscopy and electron tomography, nuclear magnetic resonance, mass spectrometry, and single-molecule biophysics that play a pivotal role in enableing our aims and objectives.", + "rorId": "https://ror.org/05wsetc54", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1cukA01", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 628, + "prefix": "genefarm", + "mirId": "MIR:00000211", + "name": "GeneFarm", + "pattern": "^\\d+$", + "description": "GeneFarm is a database whose purpose is to store traceable annotations for Arabidopsis nuclear genes and gene products.", + "created": "2019-06-11T14:16:27.145+00:00", + "modified": "2019-06-11T14:16:27.145+00:00", + "resources": [ + { + "id": 630, + "mirId": "MIR:00100270", + "urlPattern": "https://urgi.versailles.inra.fr/Genefarm/Gene/display_gene.htpl?GENE_ID={$id}", + "name": "GeneFarm at Unit\u00e9 de Recherche en G\u00e9nomique V\u00e9g\u00e9tale", + "description": "GeneFarm at Unit\u00e9 de Recherche en G\u00e9nomique V\u00e9g\u00e9tale", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "4892", + "resourceHomeUrl": "http://urgi.versailles.inra.fr/Genefarm/", + "institution": { + "id": 629, + "name": "Unit\u00e9 de Recherche en G\u00e9nomique V\u00e9g\u00e9tale, Evry", + "homeUrl": "https://www.bionity.com/en/research-institutes/56116/unite-de-recherche-en-genomique-vegetale-urgv.html", + "description": "The URGV, located on the Evry Genopole site 30 km south from Paris, is a recently established unit specialising in Plant Genomics supported by INRA, CNRS and Evry University. The URGV occupies 1000 square metres of laboratories in the same buildings as the Centre National de S\u00e9quen\u00e7age (CNS) and the Centre National de G\u00e9notypage (CNG). The URGV is fully equipped for high-throughput projects (robots, microarray facilities, etc.) and has close contact with the CNS and the CNG for large-scale sequencing and genotyping projects. The major goal of the URGV is to develop and apply modern genomics approaches to the study of plants. ", + "rorId": null, + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "4892", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 631, + "prefix": "gpcrdb", + "mirId": "MIR:00000212", + "name": "GPCRDB", + "pattern": "^\\w+$", + "description": "The G protein-coupled receptor database (GPCRDB) collects, large amounts of heterogeneous data on GPCRs. It contains experimental data on sequences, ligand-binding constants, mutations and oligomers, and derived data such as multiple sequence alignments and homology models.", + "created": "2019-06-11T14:16:27.419+00:00", + "modified": "2019-06-11T14:16:27.419+00:00", + "resources": [ + { + "id": 633, + "mirId": "MIR:00100271", + "urlPattern": "http://www.gpcrdb.org/protein/{$id}/", + "name": "GPCRDB at Radboud University", + "description": "GPCRDB at Radboud University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "RL3R1_HUMAN", + "resourceHomeUrl": "http://www.gpcrdb.org/", + "institution": { + "id": 632, + "name": "Radboud University Nijmegen Medical Centre, Nijmegen", + "homeUrl": "https://www.radboudumc.nl/EN/Pages/default.aspx", + "description": "Radboud university medical center specializes in patient care, scientific research, teaching and training. Our mission is to have a significant impact on health care. We aim to be pioneers in shaping the health care of the future. We do this in a person-centered and innovative way.", + "rorId": "https://ror.org/05wg1m734", + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + } + }, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "RL3R1_HUMAN", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 634, + "prefix": "hogenom", + "mirId": "MIR:00000213", + "name": "HOGENOM", + "pattern": "^\\w+$", + "description": "HOGENOM is a database of homologous genes from fully sequenced organisms (bacteria, archeae and eukarya). This collection references phylogenetic trees which can be retrieved using either UniProt accession numbers, or HOGENOM tree family identifier.", + "created": "2019-06-11T14:16:27.678+00:00", + "modified": "2019-06-11T14:16:27.678+00:00", + "resources": [ + { + "id": 636, + "mirId": "MIR:00100272", + "urlPattern": "http://pbil.univ-lyon1.fr/cgi-bin/view-tree.pl?db=HOGENOM5&query={$id}", + "name": "HOGENOM at CNRS", + "description": "HOGENOM at CNRS", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "HBG284870", + "resourceHomeUrl": "http://pbil.univ-lyon1.fr/databases/hogenom/", + "institution": { + "id": 635, + "name": "Laboratoire de Biom\u00e9trie et Biologie Evolutive, CNRS, Lyon", + "homeUrl": "https://lbbe.univ-lyon1.fr/?lang=en", + "description": "Today, the LBBE is based on three pillars: (i) biometry with methodological developments in statistics, computer science and mathematics for the modelling of living systems; (ii) ecology and evolution approached from molecular and genomic to population and community organization levels; (iii) health, by developing precision medicine and evidence-based medicine The specificity of the laboratory stems from the synergy between methodological challenges and issues in ecology, evolution and health, in order to develop a project on health, dynamics and evolution of living organisms at all scales. In order to successfully orchestrate this research activity, the LBBE is organized into four scientific departments, each composed of multiple research teams (Functional Chart).", + "rorId": "https://ror.org/03skt0t88", + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "HBG284870", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 637, + "prefix": "genetree", + "mirId": "MIR:00000214", + "name": "GeneTree", + "pattern": "^ENSGT\\d+$", + "description": "Genetree displays the maximum likelihood phylogenetic (protein) trees representing the evolutionary history of the genes. These are constructed using the canonical protein for every gene in Ensembl.", + "created": "2019-06-11T14:16:27.950+00:00", + "modified": "2019-06-11T14:16:27.950+00:00", + "resources": [ + { + "id": 638, + "mirId": "MIR:00100273", + "urlPattern": "http://www.ensembl.org/Multi/GeneTree/Image?db=core;gt={$id}", + "name": "GeneTree at Ensembl", + "description": "GeneTree at Ensembl", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ENSGT00550000074763", + "resourceHomeUrl": "http://www.ensembl.org/", + "institution": { + "id": 8, + "name": "Sanger Institute and European Bioinformatics Institute, Hinxton, Cambridge", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ENSGT00550000074763", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 639, + "prefix": "hssp", + "mirId": "MIR:00000215", + "name": "HSSP", + "pattern": "^\\w{4}$", + "description": "HSSP (homology-derived structures of proteins) is a derived database merging structural (2-D and 3-D) and sequence information (1-D). For each protein of known 3D structure from the Protein Data Bank, the database has a file with all sequence homologues, properly aligned to the PDB protein.", + "created": "2019-06-11T14:16:28.184+00:00", + "modified": "2019-06-11T14:16:28.184+00:00", + "resources": [ + { + "id": 641, + "mirId": "MIR:00100274", + "urlPattern": "ftp://ftp.embl-heidelberg.de/pub/databases/protein_extras/hssp/{$id}.hssp.bz2", + "name": "HSSP at EMBL", + "description": "HSSP at EMBL", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "102l", + "resourceHomeUrl": "http://swift.cmbi.kun.nl/swift/hssp/", + "institution": { + "id": 640, + "name": "Protein Design Group, European Molecular Biology Laboratory, Heidelberg", + "homeUrl": "www.embl.org/", + "description": "With 28 member states, laboratories at six locations across Europe and thousands of scientists and engineers working together, the European Molecular Biology Laboratory is a powerhouse of biological expertise. The intergovernmental organisation, headquartered in Heidelberg, was founded in 1974 with the mission of promoting molecular biology research in Europe, training young scientists, and developing new technologies.", + "rorId": null, + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 643, + "mirId": "MIR:00100458", + "urlPattern": "ftp://ftp.cmbi.ru.nl/pub/molbio/data/hssp/{$id}.hssp.bz2", + "name": "HSSP at CMBI", + "description": "HSSP at CMBI", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "102l", + "resourceHomeUrl": "ftp://ftp.cmbi.ru.nl/pub/molbio/data/hssp/", + "institution": { + "id": 642, + "name": "Nijmegen Centre for Molecular Life Sciences, CMBI, Nijmegen", + "homeUrl": "https://www.radboudumc.nl/en/research/departments/center-for-molecular-and-biomolecular-informatics", + "description": " The Center for Molecular and Biomolecular Informatics (CMBI) does research and education, and provides services in bioinformatics and cheminformatics. ", + "rorId": null, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + } + }, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "102l", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 644, + "prefix": "myco.tuber", + "mirId": "MIR:00000216", + "name": "MycoBrowser tuberculosis", + "pattern": "^Rv\\d{4}(A|B|c)?$", + "description": "Mycobrowser is a resource that provides both in silico generated and manually reviewed information within databases dedicated to the complete genomes of Mycobacterium tuberculosis, Mycobacterium leprae, Mycobacterium marinum and Mycobacterium smegmatis. This collection references Mycobacteria tuberculosis information.", + "created": "2019-06-11T14:16:28.639+00:00", + "modified": "2019-06-11T14:16:28.639+00:00", + "resources": [ + { + "id": 646, + "mirId": "MIR:00100275", + "urlPattern": "http://tuberculist.epfl.ch/quicksearch.php?gene+name={$id}", + "name": "MycoBrowser tuberculosis at Global Health Institute", + "description": "MycoBrowser tuberculosis at Global Health Institute", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Rv1908c", + "resourceHomeUrl": "http://tuberculist.epfl.ch/", + "institution": { + "id": 645, + "name": "Global Health Institute, Lausanne", + "homeUrl": "https://www.epfl.ch/schools/sv/ghi/", + "description": "Researchers at the Global Health Institute develop and apply new technologies to investigate human health and infectious diseases spanning from basic to translational sciences.", + "rorId": null, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Rv1908c", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 647, + "prefix": "myco.lepra", + "mirId": "MIR:00000217", + "name": "MycoBrowser leprae", + "pattern": "^ML\\w+$", + "description": "Mycobrowser is a resource that provides both in silico generated and manually reviewed information within databases dedicated to the complete genomes of Mycobacterium tuberculosis, Mycobacterium leprae, Mycobacterium marinum and Mycobacterium smegmatis. This collection references Mycobacteria leprae information.", + "created": "2019-06-11T14:16:28.887+00:00", + "modified": "2019-06-11T14:16:28.887+00:00", + "resources": [ + { + "id": 648, + "mirId": "MIR:00100276", + "urlPattern": "http://mycobrowser.epfl.ch/leprosysearch.php?gene+name={$id}", + "name": "MycoBrowser leprae at Global Health Institute", + "description": "MycoBrowser leprae at Global Health Institute", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ML0224", + "resourceHomeUrl": "http://mycobrowser.epfl.ch/leprosy.html", + "institution": { + "id": 645, + "name": "Global Health Institute, Lausanne", + "homeUrl": "https://www.epfl.ch/schools/sv/ghi/", + "description": "Researchers at the Global Health Institute develop and apply new technologies to investigate human health and infectious diseases spanning from basic to translational sciences.", + "rorId": null, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ML0224", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 649, + "prefix": "myco.marinum", + "mirId": "MIR:00000218", + "name": "MycoBrowser marinum", + "pattern": "^MMAR\\_\\d+$", + "description": "Mycobrowser is a resource that provides both in silico generated and manually reviewed information within databases dedicated to the complete genomes of Mycobacterium tuberculosis, Mycobacterium leprae, Mycobacterium marinum and Mycobacterium smegmatis. This collection references Mycobacteria marinum information.", + "created": "2019-06-11T14:16:29.087+00:00", + "modified": "2019-06-11T14:16:29.087+00:00", + "resources": [ + { + "id": 650, + "mirId": "MIR:00100277", + "urlPattern": "http://mycobrowser.epfl.ch/marinosearch.php?gene+name={$id}", + "name": "MycoBrowser marinum at Global Health Institute", + "description": "MycoBrowser marinum at Global Health Institute", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "MMAR_2462", + "resourceHomeUrl": "http://mycobrowser.epfl.ch/marinolist.html", + "institution": { + "id": 645, + "name": "Global Health Institute, Lausanne", + "homeUrl": "https://www.epfl.ch/schools/sv/ghi/", + "description": "Researchers at the Global Health Institute develop and apply new technologies to investigate human health and infectious diseases spanning from basic to translational sciences.", + "rorId": null, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MMAR_2462", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 651, + "prefix": "myco.smeg", + "mirId": "MIR:00000219", + "name": "MycoBrowser smegmatis", + "pattern": "^MSMEG\\w+$", + "description": "Mycobrowser is a resource that provides both in silico generated and manually reviewed information within databases dedicated to the complete genomes of Mycobacterium tuberculosis, Mycobacterium leprae, Mycobacterium marinum and Mycobacterium smegmatis. This collection references Mycobacteria smegmatis information.", + "created": "2019-06-11T14:16:29.310+00:00", + "modified": "2019-06-11T14:16:29.310+00:00", + "resources": [ + { + "id": 652, + "mirId": "MIR:00100278", + "urlPattern": "http://mycobrowser.epfl.ch/smegmasearch.php?gene+name={$id}", + "name": "MycoBrowser smegmatis at Global Health Institute", + "description": "MycoBrowser smegmatis at Global Health Institute", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "MSMEG_3769", + "resourceHomeUrl": "http://mycobrowser.epfl.ch/smegmalist.html", + "institution": { + "id": 645, + "name": "Global Health Institute, Lausanne", + "homeUrl": "https://www.epfl.ch/schools/sv/ghi/", + "description": "Researchers at the Global Health Institute develop and apply new technologies to investigate human health and infectious diseases spanning from basic to translational sciences.", + "rorId": null, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MSMEG_3769", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 653, + "prefix": "orphanet", + "mirId": "MIR:00000220", + "name": "Orphanet", + "pattern": "^\\d+$", + "description": "Orphanet is a reference portal for information on rare diseases and orphan drugs. It\u2019s aim is to help improve the diagnosis, care and treatment of patients with rare diseases.", + "created": "2019-06-11T14:16:29.544+00:00", + "modified": "2019-06-11T14:16:29.544+00:00", + "resources": [ + { + "id": 655, + "mirId": "MIR:00100279", + "urlPattern": "http://www.orpha.net/consor/cgi-bin/OC_Exp.php?Lng=EN&Expert={$id}", + "name": "Orphanet at Inserm", + "description": "Orphanet at Inserm", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "85163", + "resourceHomeUrl": "http://www.orpha.net/consor/", + "institution": { + "id": 654, + "name": "Inserm, H\u00f4pital Broussais, Paris", + "homeUrl": "https://www.inserm.fr/en/home/", + "description": "Founded in 1964, Inserm is a public scientific and technological institute which operates under the joint authority of the French Ministries of Health and Research. The institute is dedicated to biomedical research and human health, and is involved in the entire range of activities from the laboratory to the patient\u2019s bedside. It also partners with the most prestigious research institutions in the world that are committed to scientific challenges and progress in these fields.", + "rorId": "https://ror.org/02vjkv261", + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 656, + "mirId": "MIR:00100701", + "urlPattern": "http://orphanet.bio2rdf.org/describe/?url=http://bio2rdf.org/orphanet:{$id}", + "name": "Bio2RDF", + "description": "Bio2RDF", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "85163", + "resourceHomeUrl": "http://orphanet.bio2rdf.org/fct", + "institution": { + "id": 33, + "name": "Bio2RDF.org", + "homeUrl": "https://bio2rdf.org", + "description": "Bio2RDF is an open-source project that uses Semantic Web technologies to build and provide the largest network of Linked Data for the Life Sciences. Bio2RDF defines a set of simple conventions to create RDF(S) compatible Linked Data from a diverse set of heterogeneously formatted sources obtained from multiple data providers.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "85163", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 657, + "prefix": "orthodb", + "mirId": "MIR:00000221", + "name": "OrthoDB", + "pattern": "^\\w+$", + "description": "OrthoDB presents a catalog of eukaryotic orthologous protein-coding genes across vertebrates, arthropods, and fungi. Orthology refers to the last common ancestor of the species under consideration, and thus OrthoDB explicitly delineates orthologs at each radiation along the species phylogeny. The database of orthologs presents available protein descriptors, together with Gene Ontology and InterPro attributes, which serve to provide general descriptive annotations of the orthologous groups", + "created": "2019-06-11T14:16:29.860+00:00", + "modified": "2019-06-11T14:16:29.860+00:00", + "resources": [ + { + "id": 659, + "mirId": "MIR:00100280", + "urlPattern": "http://cegg.unige.ch/orthodb/results?searchtext={$id}", + "name": "OrthoDB at Swiss Institute of Bioinformatics", + "description": "OrthoDB at Swiss Institute of Bioinformatics", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Q9P0K8", + "resourceHomeUrl": "http://cegg.unige.ch/orthodb4", + "institution": { + "id": 658, + "name": "Department of Genetic Medicine and Development, Swiss Institute of Bioinformatics, Geneva", + "homeUrl": "https://www.sib.swiss", + "description": "The SIB Swiss Institute of Bioinformatics is an internationally recognized non-profit organization dedicated to biological and biomedical data science. It is present in the main academic institutions of Switzerland and leads numerous national and international projects with a major impact on life science research and health. ", + "rorId": null, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Q9P0K8", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 660, + "prefix": "peroxibase", + "mirId": "MIR:00000222", + "name": "Peroxibase", + "pattern": "^\\d+$", + "description": "Peroxibase provides access to peroxidase sequences from all kingdoms of life, and provides a series of bioinformatics tools and facilities suitable for analysing these sequences.", + "created": "2019-06-11T14:16:30.097+00:00", + "modified": "2019-06-11T14:16:30.097+00:00", + "resources": [ + { + "id": 662, + "mirId": "MIR:00100281", + "urlPattern": "http://peroxibase.toulouse.inra.fr/browse/process/view_perox.php?id={$id}", + "name": "Peroxibase at University of Geneva", + "description": "Peroxibase at University of Geneva", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "5282", + "resourceHomeUrl": "http://peroxibase.toulouse.inra.fr/", + "institution": { + "id": 661, + "name": "Department of Plant Biology, University of Geneva, Geneva", + "homeUrl": "https://biveg.unige.ch/", + "description": "Department of Plant Biology of the University of Geneva", + "rorId": null, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "5282", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 663, + "prefix": "phylomedb", + "mirId": "MIR:00000223", + "name": "PhylomeDB", + "pattern": "^\\w+$", + "description": "PhylomeDB is a database of complete phylomes derived for different genomes within a specific taxonomic range. It provides alignments, phylogentic trees and tree-based orthology predictions for all encoded proteins.", + "created": "2019-06-11T14:16:30.326+00:00", + "modified": "2019-06-11T14:16:30.326+00:00", + "resources": [ + { + "id": 665, + "mirId": "MIR:00100282", + "urlPattern": "http://phylomedb.org/?seqid={$id}", + "name": "PhylomeDB at Centro de Investigaci\u00f3n Pr\u00edncipe Felipe", + "description": "PhylomeDB at Centro de Investigaci\u00f3n Pr\u00edncipe Felipe", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Phy000CLXM_RAT", + "resourceHomeUrl": "http://phylomedb.org/", + "institution": { + "id": 664, + "name": "Centre for Genomic Regulation", + "homeUrl": "https://www.crg.eu", + "description": "The Centre for Genomic Regulation (CRG) is an international biomedical research institute of excellence, created in December 2000. It is a non-profit foundation funded by the Catalan Government through the Departments of Business & Knowledge, the Spanish Ministry of Science, Innovation & Universities, the \"la Caixa\" Banking Foundation, and includes the participation of Pompeu Fabra University.", + "rorId": "https://ror.org/03wyzt892", + "location": { + "countryCode": "ES", + "countryName": "Spain" + } + }, + "location": { + "countryCode": "ES", + "countryName": "Spain" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Phy000CLXM_RAT", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 666, + "prefix": "pmap.substratedb", + "mirId": "MIR:00000224", + "name": "SubstrateDB", + "pattern": "^\\d+$", + "description": "The Proteolysis MAP is a resource for proteolytic networks and pathways. PMAP is comprised of five databases, linked together in one environment. SubstrateDB contains molecular information on documented protease substrates.", + "created": "2019-06-11T14:16:30.547+00:00", + "modified": "2019-06-11T14:16:30.547+00:00", + "resources": [ + { + "id": 668, + "mirId": "MIR:00100283", + "urlPattern": "http://substrate.burnham.org/protein/annotation/{$id}/html", + "name": "SubstrateDB at The Burnham Institute for Medical Research", + "description": "SubstrateDB at The Burnham Institute for Medical Research", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1915", + "resourceHomeUrl": "http://substrate.burnham.org/", + "institution": { + "id": 667, + "name": "The Center on Proteolytic Pathways, The Cancer Research Center and The Inflammatory and Infectious Disease Center, The Burnham Institute for Medical Research, California", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1915", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 669, + "prefix": "pmap.cutdb", + "mirId": "MIR:00000225", + "name": "CutDB", + "pattern": "^\\d+$", + "description": "The Proteolysis MAP is a resource for proteolytic networks and pathways. PMAP is comprised of five databases, linked together in one environment. CutDB is a database of individual proteolytic events (cleavage sites).", + "created": "2019-06-11T14:16:30.793+00:00", + "modified": "2019-06-11T14:16:30.793+00:00", + "resources": [ + { + "id": 670, + "mirId": "MIR:00100284", + "urlPattern": "http://cutdb.burnham.org/relation/show/{$id}", + "name": "CutDB at The Burnham Institute for Medical Research", + "description": "CutDB at The Burnham Institute for Medical Research", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "25782", + "resourceHomeUrl": "http://cutdb.burnham.org", + "institution": { + "id": 667, + "name": "The Center on Proteolytic Pathways, The Cancer Research Center and The Inflammatory and Infectious Disease Center, The Burnham Institute for Medical Research, California", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "25782", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 671, + "prefix": "protclustdb", + "mirId": "MIR:00000226", + "name": "ProtClustDB", + "pattern": "^\\w+$", + "description": "ProtClustDB is a collection of related protein sequences (clusters) consisting of Reference Sequence proteins encoded by complete genomes. This database contains both curated and non-curated clusters.", + "created": "2019-06-11T14:16:31.086+00:00", + "modified": "2019-06-11T14:16:31.086+00:00", + "resources": [ + { + "id": 672, + "mirId": "MIR:00100285", + "urlPattern": "https://www.ncbi.nlm.nih.gov/sites/entrez?Db=proteinclusters&Cmd=DetailsSearch&Term={$id}", + "name": "ProtClustDB at NCBI", + "description": "ProtClustDB at NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "O80725", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/proteinclusters?db=proteinclusters", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "O80725", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 673, + "prefix": "pmp", + "mirId": "MIR:00000227", + "name": "PMP", + "pattern": "^([A-N,R-Z][0-9][A-Z][A-Z, 0-9][A-Z, 0-9][0-9])|([O,P,Q][0-9][A-Z, 0-9][A-Z, 0-9][A-Z, 0-9][0-9])$", + "description": "The number of known protein sequences exceeds those of experimentally solved protein structures. Homology (or comparative) modeling methods make use of experimental protein structures to build models for evolutionary related proteins. The Protein Model Portal (PMP) provides a single portal to access these models, which are accessed through their UniProt identifiers.", + "created": "2019-06-11T14:16:31.282+00:00", + "modified": "2019-06-11T14:16:31.282+00:00", + "resources": [ + { + "id": 675, + "mirId": "MIR:00100286", + "urlPattern": "https://registry.identifiers.org/deprecation/resources/MIR:00100286/{$id}", + "name": "PMP at University of Basel", + "description": "PMP at University of Basel", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Q0VCA6", + "resourceHomeUrl": "http://www.proteinmodelportal.org/", + "institution": { + "id": 674, + "name": "Biozentrum, University of Basel, Basel", + "homeUrl": "https://www.biozentrum.unibas.ch/", + "description": "The primary focus of this interdisciplinary institute is basic molecular and biomedical research and teaching. The Biozentrum holds a leading position nationally and internationally and closely networks with partners from the academic world and industry.", + "rorId": null, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": true, + "deprecationDate": "2020-03-03T06:27:49.602+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Q0VCA6", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 676, + "prefix": "protonet.proteincard", + "mirId": "MIR:00000228", + "name": "ProtoNet ProteinCard", + "pattern": "^\\d+$", + "description": "ProtoNet provides automatic hierarchical classification of protein sequences in the UniProt database, partitioning the protein space into clusters of similar proteins. This collection references protein information.", + "created": "2019-06-11T14:16:31.529+00:00", + "modified": "2019-06-11T14:16:31.529+00:00", + "resources": [ + { + "id": 678, + "mirId": "MIR:00100287", + "urlPattern": "http://www.protonet.cs.huji.ac.il/requested/protein_card.php?protein_id={$id}", + "name": "ProtoNet at Hebrew University", + "description": "ProtoNet at Hebrew University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "16941567", + "resourceHomeUrl": "http://www.protonet.cs.huji.ac.il/", + "institution": { + "id": 677, + "name": "Hebrew University, Jerusalem", + "homeUrl": "https://en.huji.ac.il/", + "description": " The Hebrew University of Jerusalem was the first major Zionist institution established in Israel, as early as 1925. Its founders include some of the greatest scientists and intellectuals of the twentieth century: Albert Einstein, Chaim Weizmann, Haim Nahman Bialik, Martin Buber, and Sigmund Freud. Since its inception, the university's researchers have been at the forefront of global research and have won numerous prestigious awards, including eight Nobel Prizes and hundreds of Israel Prizes. Additionally, over the years, many heads of state and industry leaders have studied at the university. ", + "rorId": "https://ror.org/03qxff017", + "location": { + "countryCode": "IL", + "countryName": "Israel" + } + }, + "location": { + "countryCode": "IL", + "countryName": "Israel" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "16941567", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 679, + "prefix": "protonet.cluster", + "mirId": "MIR:00000229", + "name": "ProtoNet Cluster", + "pattern": "^\\d+$", + "description": "ProtoNet provides automatic hierarchical classification of protein sequences in the UniProt database, partitioning the protein space into clusters of similar proteins. This collection references cluster information.", + "created": "2019-06-11T14:16:31.786+00:00", + "modified": "2019-06-11T14:16:31.786+00:00", + "resources": [ + { + "id": 680, + "mirId": "MIR:00100288", + "urlPattern": "http://www.protonet.cs.huji.ac.il/requested/cluster_card.php?cluster={$id}", + "name": "ProtoNet at Hebrew University", + "description": "ProtoNet at Hebrew University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "4349895", + "resourceHomeUrl": "http://www.protonet.cs.huji.ac.il/", + "institution": { + "id": 677, + "name": "Hebrew University, Jerusalem", + "homeUrl": "https://en.huji.ac.il/", + "description": " The Hebrew University of Jerusalem was the first major Zionist institution established in Israel, as early as 1925. Its founders include some of the greatest scientists and intellectuals of the twentieth century: Albert Einstein, Chaim Weizmann, Haim Nahman Bialik, Martin Buber, and Sigmund Freud. Since its inception, the university's researchers have been at the forefront of global research and have won numerous prestigious awards, including eight Nobel Prizes and hundreds of Israel Prizes. Additionally, over the years, many heads of state and industry leaders have studied at the university. ", + "rorId": "https://ror.org/03qxff017", + "location": { + "countryCode": "IL", + "countryName": "Israel" + } + }, + "location": { + "countryCode": "IL", + "countryName": "Israel" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "4349895", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 696, + "prefix": "mirbase.mature", + "mirId": "MIR:00000235", + "name": "miRBase mature sequence", + "pattern": "MIMAT\\d{7}", + "description": "The miRBase Sequence Database is a searchable database of published miRNA sequences and annotation. This collection refers specifically to the mature miRNA sequence.", + "created": "2019-06-11T14:16:33.415+00:00", + "modified": "2019-06-11T14:16:33.415+00:00", + "resources": [ + { + "id": 697, + "mirId": "MIR:00100296", + "urlPattern": "http://www.mirbase.org/cgi-bin/mature.pl?mature_acc={$id}", + "name": "miRBase", + "description": "miRBase", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "MIMAT0000001", + "resourceHomeUrl": "http://www.mirbase.org/", + "institution": { + "id": 264, + "name": "Faculty of Life Sciences, University of Manchester", + "homeUrl": "http://www.manchester.ac.uk/lifesciences/", + "description": "Research laboratories are at the core of our Faculty's research.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MIMAT0000001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 698, + "prefix": "nextprot", + "mirId": "MIR:00000236", + "name": "nextProt", + "pattern": "^NX_\\w+", + "description": "neXtProt is a resource on human proteins, and includes information such as proteins\u2019 function, subcellular location, expression, interactions and role in diseases.", + "created": "2019-06-11T14:16:33.634+00:00", + "modified": "2019-06-11T14:16:33.634+00:00", + "resources": [ + { + "id": 700, + "mirId": "MIR:00100300", + "urlPattern": "https://www.nextprot.org/db/entry/{$id}", + "name": "nextProt at Swiss Institute of Bioinformatics", + "description": "nextProt at Swiss Institute of Bioinformatics", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "NX_O00165", + "resourceHomeUrl": "https://www.nextprot.org/", + "institution": { + "id": 1730, + "name": "SIB Swiss Institute of Bioinformatics", + "homeUrl": "https://www.sib.swiss", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "rorId": "https://ror.org/002n09z45", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "NX_O00165", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 701, + "prefix": "cas", + "mirId": "MIR:00000237", + "name": "CAS", + "pattern": "^\\d{1,7}\\-\\d{2}\\-\\d$", + "description": "CAS (Chemical Abstracts Service) is a division of the American Chemical Society and is the producer of comprehensive databases of chemical information.", + "created": "2019-06-11T14:16:33.869+00:00", + "modified": "2019-06-11T14:16:33.869+00:00", + "resources": [ + { + "id": 2454, + "mirId": "MIR:00000732", + "urlPattern": "https://scholia.toolforge.org/cas/{$id}", + "name": "Scholia", + "description": "Scholia is a service that creates visual scholarly profiles for topic, people, organizations, species, chemicals, etc using bibliographic and other information in Wikidata.", + "official": false, + "providerCode": "scholia", + "sampleId": "50-00-0", + "resourceHomeUrl": "https://scholia.toolforge.org/", + "institution": { + "id": 283, + "name": "Maastricht University", + "homeUrl": "https://www.maastrichtuniversity.nl", + "description": "Maastricht University (UM) is the most international university in the Netherlands and, with 18,000 students and 4,400 employees, is still growing. The university stands out for its innovative education model, international character and multidisciplinary approach to research and education.\nThanks to its high-quality research and study programmes as well as a strong focus on social engagement, UM has quickly built up a solid reputation. Today it is considered one of the best young universities in the world.", + "rorId": "https://ror.org/02jz4aj89", + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + } + }, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 703, + "mirId": "MIR:00100301", + "urlPattern": "https://commonchemistry.cas.org/detail?cas_rn={$id}", + "name": "CAS Common Chemistry", + "description": "CAS Common Chemistry", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "50-00-0", + "resourceHomeUrl": "https://commonchemistry.cas.org/", + "institution": { + "id": 702, + "name": "CAS of the American Chemical Society", + "homeUrl": "https://www.cas.org", + "description": "CAS is a global organization of expert scientists, technologists, and business leaders with a successful and extended history of delivering scientific information opportunities.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "50-00-0", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 704, + "prefix": "kegg.genome", + "mirId": "MIR:00000238", + "name": "KEGG Genome", + "pattern": "^(T0\\d+|\\w{3,5})$", + "description": "KEGG Genome is a collection of organisms whose genomes have been completely sequenced.", + "created": "2019-06-11T14:16:34.113+00:00", + "modified": "2019-06-11T14:16:34.113+00:00", + "resources": [ + { + "id": 706, + "mirId": "MIR:00100303", + "urlPattern": "http://www.kegg.jp/entry/{$id}", + "name": "KEGG Genome Database", + "description": "KEGG Genome Database", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "eco", + "resourceHomeUrl": "http://www.genome.jp/kegg/catalog/org_list.html", + "institution": { + "id": 15, + "name": "Kyoto University Bioinformatics Center", + "homeUrl": "https://www.bic.kyoto-u.ac.jp/", + "description": "The Bioinformatics Center aims at developing new informatics technologies for deciphering the genome, especially from the viewpoint of how life operates as a system, and promoting both basic and applied research areas in bioinformatics. The Center consists of three research laboratories, named Chemical Life Science, Mathematical Bioinformatics, and Bio-Knowledge Engineering, which focus on scientific discovery, algorithms, and data mining, respectively. ", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "eco", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 707, + "prefix": "kegg.metagenome", + "mirId": "MIR:00000239", + "name": "KEGG Metagenome", + "pattern": "^T3\\d+$", + "description": "The KEGG Metagenome Database collection information on environmental samples (ecosystems) of genome sequences for multiple species.", + "created": "2019-06-11T14:16:34.345+00:00", + "modified": "2019-06-11T14:16:34.345+00:00", + "resources": [ + { + "id": 708, + "mirId": "MIR:00100304", + "urlPattern": "http://www.kegg.jp/entry/{$id}", + "name": "KEGG Metagenome Database", + "description": "KEGG Metagenome Database", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "T30002", + "resourceHomeUrl": "http://www.genome.jp/kegg/catalog/org_list3.html", + "institution": { + "id": 15, + "name": "Kyoto University Bioinformatics Center", + "homeUrl": "https://www.bic.kyoto-u.ac.jp/", + "description": "The Bioinformatics Center aims at developing new informatics technologies for deciphering the genome, especially from the viewpoint of how life operates as a system, and promoting both basic and applied research areas in bioinformatics. The Center consists of three research laboratories, named Chemical Life Science, Mathematical Bioinformatics, and Bio-Knowledge Engineering, which focus on scientific discovery, algorithms, and data mining, respectively. ", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "T30002", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 709, + "prefix": "narcis", + "mirId": "MIR:00000240", + "name": "NARCIS", + "pattern": "^oai\\:cwi\\.nl\\:\\d+$", + "description": "NARCIS provides access to scientific information, including (open access) publications from the repositories of all the Dutch universities, KNAW, NWO and a number of research institutes, which is not referenced in other citation databases.", + "created": "2019-06-11T14:16:34.542+00:00", + "modified": "2019-06-11T14:16:34.542+00:00", + "resources": [ + { + "id": 711, + "mirId": "MIR:00100306", + "urlPattern": "http://www.narcis.nl/publication/RecordID/{$id}", + "name": "NARCIS at The Hague", + "description": "NARCIS at The Hague", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "oai:cwi.nl:4725", + "resourceHomeUrl": "http://www.narcis.nl/?Language=en", + "institution": { + "id": 710, + "name": "NARCIS, Royal Netherlands Academy of Science and Arts", + "homeUrl": "https://www.narcis.nl/", + "description": "NARCIS is the main national portal for those looking for information about researchers and their work. Besides researchers, NARCIS is also used by students, journalists and people working in educational and government institutions as well as the business sector.", + "rorId": null, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + } + }, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "oai:cwi.nl:4725", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 712, + "prefix": "jcsd", + "mirId": "MIR:00000241", + "name": "Japan Chemical Substance Dictionary", + "pattern": "^J\\d{1,3}(\\.\\d{3})?(\\.\\d{1,3})?[A-Za-z]$", + "description": "The Japan Chemical Substance Dictionary is an organic compound dictionary database prepared by the Japan Science and Technology Agency (JST).", + "created": "2019-06-11T14:16:34.772+00:00", + "modified": "2019-06-11T14:16:34.772+00:00", + "resources": [ + { + "id": 714, + "mirId": "MIR:00100307", + "urlPattern": "http://jglobal.jst.go.jp/en/redirect?Nikkaji_No={$id}", + "name": "Japan Chemical Substance Dictionary", + "description": "Japan Chemical Substance Dictionary", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "J55.713G", + "resourceHomeUrl": "http://jglobal.jst.go.jp/en/", + "institution": { + "id": 713, + "name": "Japan Science and Technology Agency", + "homeUrl": "https://www.jst.go.jp/", + "description": "JST (Japan Science and Technology Agency) is a national research and development Agency that plays a central role in the Science, Technology and Innovation Basic Plan* and aims to promote science and technology. In order to promote science and technology and provide solutions to social issues, JST comprehensively implements diverse projects in collaboration with universities, research institutions, and industries in Japan and overseas, and makes contributions to the sustainable development of society and the creation of science, technology, and innovation.", + "rorId": "https://ror.org/00097mb19", + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "J55.713G", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 715, + "prefix": "pw", + "mirId": "MIR:00000242", + "name": "Pathway Ontology", + "pattern": "^PW:\\d{7}$", + "description": "The Pathway Ontology captures information on biological networks, the relationships between netweorks and the alterations or malfunctioning of such networks within a hierarchical structure. The five main branches of the ontology are: classic metabolic pathways, regulatory, signaling, drug, and disease pathwaysfor complex human conditions.", + "created": "2019-06-11T14:16:35.052+00:00", + "modified": "2019-06-11T14:16:35.052+00:00", + "resources": [ + { + "id": 717, + "mirId": "MIR:00100309", + "urlPattern": "http://rgd.mcw.edu/rgdweb/ontology/annot.html?acc_id=PW:{$id}", + "name": "Pathway Ontology at Rat Genome Database", + "description": "Pathway Ontology at Rat Genome Database", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "0000208", + "resourceHomeUrl": "http://rgd.mcw.edu/rgdweb/ontology/search.html", + "institution": { + "id": 176, + "name": "Medical College of Wisconsin", + "homeUrl": "http://www.mcw.edu/MCW", + "description": "We are a distinguished leader and innovator in the education and development of the next generation of physicians, scientists, pharmacists and health professionals; we discover and translate new knowledge in the biomedical and health sciences; we provide cutting-edge, collaborative patient care of the highest quality; and we improve the health of the communities we serve.", + "rorId": "https://ror.org/00qqv6244", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 718, + "mirId": "MIR:00100310", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/pw/terms?obo_id=PW:{$id}", + "name": "Pathway Ontology through OLS", + "description": "Pathway Ontology through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "0000208", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/pw", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 720, + "mirId": "MIR:00100311", + "urlPattern": "http://purl.bioontology.org/ontology/PW/PW:{$id}", + "name": "Pathway Ontology through BioPortal", + "description": "Pathway Ontology through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "0000208", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/PW", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0000208", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 694, + "prefix": "cco", + "mirId": "MIR:00000234", + "name": "Cell Cycle Ontology", + "pattern": "^CCO:\\w+$", + "description": "The Cell Cycle Ontology is an application ontology that captures and integrates detailed knowledge on the cell cycle process.", + "created": "2019-06-11T14:16:33.213+00:00", + "modified": "2023-01-10T14:47:52.365+00:00", + "resources": [ + { + "id": 695, + "mirId": "MIR:00100294", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/cco/terms?obo_id=CCO:{$id}", + "name": "Cell Cycle Ontology through OLS", + "description": "Cell Cycle Ontology through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "0000003", + "resourceHomeUrl": "https://www.ebi.ac.uk/ontology-lookup/browse.do?ontName=CCO", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0000003", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 721, + "prefix": "insdc.sra", + "mirId": "MIR:00000243", + "name": "Sequence Read Archive", + "pattern": "^[SED]R[APRSXZ]\\d+$", + "description": "The Sequence Read Archive (SRA) stores raw sequencing data from the next generation of sequencing platforms Data submitted to SRA. It is organized using a metadata model consisting of six objects: study, sample, experiment, run, analysis and submission. The SRA study contains high-level information including goals of the study and literature references, and may be linked to the INSDC BioProject database.", + "created": "2019-06-11T14:16:35.560+00:00", + "modified": "2019-06-11T14:16:35.560+00:00", + "resources": [ + { + "id": 722, + "mirId": "MIR:00100312", + "urlPattern": "https://www.ncbi.nlm.nih.gov/sra/{$id}", + "name": "Sequence Read Archive at NCBI", + "description": "Sequence Read Archive at NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "SRX000007", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/sra", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 723, + "mirId": "MIR:00100313", + "urlPattern": "https://www.ebi.ac.uk/ena/data/view/{$id}", + "name": "European Nucleotide Archive (ENA)", + "description": "European Nucleotide Archive (ENA)", + "official": false, + "providerCode": "ebi", + "sampleId": "SRX000007", + "resourceHomeUrl": "https://www.ebi.ac.uk/ena", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 724, + "mirId": "MIR:00100314", + "urlPattern": "https://ddbj.nig.ac.jp/resource/sra-experiment/{$id}", + "name": "DDBJ Sequence Read Archive (DRA)", + "description": "DDBJ Sequence Read Archive (DRA)", + "official": false, + "providerCode": "ddbj", + "sampleId": "SRX000007", + "resourceHomeUrl": "https://www.ddbj.nig.ac.jp/dra/index-e.html", + "institution": { + "id": 121, + "name": "DNA Data Bank of Japan, Mishima, Shizuoka", + "homeUrl": "https://www.ddbj.nig.ac.jp/index-e.html", + "description": "DDBJ Center collects nucleotide sequence data as a member of INSDC(International Nucleotide Sequence Database Collaboration) and provides freely available nucleotide sequence data and supercomputer system, to support research\u3000activities in life science.", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "SRX000007", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 725, + "prefix": "scretf", + "mirId": "MIR:00000244", + "name": "ScerTF", + "pattern": "^\\w+$", + "description": "ScerTF is a database of position weight matrices (PWMs) for transcription factors in Saccharomyces species. It identifies a single matrix for each TF that best predicts in vivo data, providing metrics related to the performance of that matrix in accurately representing the DNA binding specificity of the annotated transcription factor.", + "created": "2019-06-11T14:16:35.987+00:00", + "modified": "2019-06-11T14:16:35.987+00:00", + "resources": [ + { + "id": 727, + "mirId": "MIR:00100315", + "urlPattern": "http://stormo.wustl.edu/ScerTF/details/{$id}/", + "name": "ScerTF at Washington University", + "description": "ScerTF at Washington University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "RSC3", + "resourceHomeUrl": "http://stormo.wustl.edu/ScerTF/", + "institution": { + "id": 726, + "name": "Department of Genetics, Washington University Medical School, St Louis, Missouri", + "homeUrl": "http://genetics.wustl.edu/", + "description": "Our mission is to create an exciting and collegial environment where world-class research in Genetics and Genomics is translated into improvements in human health through better understanding of the molecular underpinnings of disease. We have traditional strengths in computational biology, genome science, as well as model organism, evolutionary, and human genetics. More recently, our faculty have focused on neurological disorders, cellular bioenergetics, epigenomics, personalized medicine, and genome technology development.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "RSC3", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 728, + "prefix": "pharmgkb.gene", + "mirId": "MIR:00000245", + "name": "PharmGKB Gene", + "pattern": "^PA\\w+$", + "description": "The PharmGKB database is a central repository for genetic, genomic, molecular and cellular phenotype data and clinical information about people who have participated in pharmacogenomics research studies. The data includes, but is not limited to, clinical and basic pharmacokinetic and pharmacogenomic research in the cardiovascular, pulmonary, cancer, pathways, metabolic and transporter domains.", + "created": "2019-06-11T14:16:36.222+00:00", + "modified": "2019-06-11T14:16:36.222+00:00", + "resources": [ + { + "id": 729, + "mirId": "MIR:00100316", + "urlPattern": "http://www.pharmgkb.org/gene/{$id}", + "name": "PharmGKB Gene at Stanford", + "description": "PharmGKB Gene at Stanford", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "PA131", + "resourceHomeUrl": "http://www.pharmgkb.org/", + "institution": { + "id": 298, + "name": "Department of Genetics, School of Medicine, Stanford University, Stanford, California", + "homeUrl": "https://med.stanford.edu/genetics.html", + "description": "A leader in the biomedical revolution, Stanford Medicine has a long tradition of leadership in pioneering research, creative teaching protocols and effective clinical therapies.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PA131", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 730, + "prefix": "mirnest", + "mirId": "MIR:00000246", + "name": "miRNEST", + "pattern": "^MNEST\\d+$", + "description": "miRNEST is a database of animal, plant and virus microRNAs, containing miRNA predictions conducted on Expressed Sequence Tags of animal and plant species.", + "created": "2019-06-11T14:16:36.416+00:00", + "modified": "2019-06-11T14:16:36.416+00:00", + "resources": [ + { + "id": 732, + "mirId": "MIR:00100317", + "urlPattern": "http://rhesus.amu.edu.pl/mirnest/copy/details.php?id={$id}", + "name": "miRNEST at Adam Mickiewicz University", + "description": "miRNEST at Adam Mickiewicz University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "MNEST029358", + "resourceHomeUrl": "http://rhesus.amu.edu.pl/mirnest/copy/", + "institution": { + "id": 731, + "name": "Institute of Molecular Biology, Adam Mickiewicz University, Poznan", + "homeUrl": "https://amu.edu.pl/en/main-page/amu-directory/faculties/faculty-of-biology", + "description": "The Faculty of Biology's fundamental rule is the integrity of research, education, and knowledge popularization. Its high scientific status has been confirmed by the prestigious title of the National Scientific Leadership Center (KNOW), obtained together with the Institute of Bioorganic Chemistry, Polish Academy of Sciences, Pozna\u0144, awarded to scientific institutions conducting world-class research.", + "rorId": null, + "location": { + "countryCode": "PL", + "countryName": "Poland" + } + }, + "location": { + "countryCode": "PL", + "countryName": "Poland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MNEST029358", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 733, + "prefix": "napp", + "mirId": "MIR:00000247", + "name": "NAPP", + "pattern": "^\\d+$", + "description": "NAPP (Nucleic Acids Phylogenetic Profiling is a clustering method based on conserved noncoding RNA (ncRNA) elements in a bacterial genomes. Short intergenic regions from a reference genome are compared with other genomes to identify RNA rich clusters.", + "created": "2019-06-11T14:16:36.669+00:00", + "modified": "2019-06-11T14:16:36.669+00:00", + "resources": [ + { + "id": 735, + "mirId": "MIR:00100318", + "urlPattern": "http://rna.igmors.u-psud.fr/NAPP/Niveau2.php?specie={$id}", + "name": "NAPP at CNRS", + "description": "NAPP at CNRS", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "351", + "resourceHomeUrl": "http://napp.u-psud.fr/", + "institution": { + "id": 734, + "name": "Institut de G\u00e9n\u00e9tique et Microbiologie, UMR 8621, CNRS, Universit\u00e9 Paris Sud, Paris", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "351", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 736, + "prefix": "noncodev3", + "mirId": "MIR:00000248", + "name": "NONCODE v3", + "pattern": "^\\d+$", + "description": "NONCODE is a database of expression and functional lncRNA (long noncoding RNA) data obtained from microarray studies. LncRNAs have been shown to play key roles in various biological processes such as imprinting control, circuitry controlling pluripotency and differentiation, immune responses and chromosome dynamics. The collection references NONCODE version 3. This was replaced in 2013 by version 4.", + "created": "2019-06-11T14:16:36.900+00:00", + "modified": "2019-06-11T14:16:36.900+00:00", + "resources": [ + { + "id": 738, + "mirId": "MIR:00100319", + "urlPattern": "http://www.noncode.org/NONCODERv3/ncrna.php?ncid={$id}", + "name": "NONCODE at Chinese Academy of Sciences", + "description": "NONCODE at Chinese Academy of Sciences", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "377550", + "resourceHomeUrl": "http://www.noncode.org/", + "institution": { + "id": 737, + "name": "Chinese Academy of Sciences", + "homeUrl": "http://english.cas.cn/", + "description": "The Chinese Academy of Sciences is the linchpin of China\u2019s drive to explore and harness high technology and the natural sciences for the benefit of China and the world. CAS brings together scientists and engineers from China and around the world to address both theoretical and applied problems using world-class scientific and management approaches.", + "rorId": "https://ror.org/034t30j35", + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "377550", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 739, + "prefix": "virsirna", + "mirId": "MIR:00000249", + "name": "VIRsiRNA", + "pattern": "^virsi\\d+$", + "description": "The VIRsiRNA database contains details of siRNA/shRNA which target viral genome regions. It provides efficacy information where available, as well as the siRNA sequence, viral target and subtype, as well as the target genomic region.", + "created": "2019-06-11T14:16:37.163+00:00", + "modified": "2019-06-11T14:16:37.163+00:00", + "resources": [ + { + "id": 741, + "mirId": "MIR:00100320", + "urlPattern": "http://crdd.osdd.net/servers/virsirnadb/record.php?details={$id}", + "name": "VIRsiRNA at Institute of Microbial Technology", + "description": "VIRsiRNA at Institute of Microbial Technology", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "virsi1909", + "resourceHomeUrl": "http://crdd.osdd.net/servers/virsirnadb", + "institution": { + "id": 1018, + "name": "Institute of Microbial Technology, Council of Scientific and Industrial Research (CSIR), Chandigarh", + "homeUrl": "http://www.imtech.res.in/", + "description": "Established in 1984, the CSIR-Institute of Microbial Technology (IMTech) is one among the chain of 38 national laboratories, 6 units and 39 outreach centres of the Council of Scientific & Industrial Research. Set-up to be a fore-runner in the niche domain of microbial biotechnology, the Institute in its initial years functioned from a start-up laboratory that provided a truly world-class R&D ambience in an area of over 10,000 sq. ft. to its researchers. In September, 1989, upon completion of the permanent campus, the Institute shifted to occupy an area of about 47 acres, of which the labs covered 22 acres and the residential campus 25 acres. The Institute covering a built up area of about 3.60 lakh sq. ft., is spread over four main buildings, namely, Main R&D block, Fermentation block, Animal House, Workshop, Stores and Services area, several service building including a guest house and Cafeteria. Recently another block of almost 50000 sq. ft. area (the G.N. Ramachandran Protein Centre) has been added, to cater to R&D in all aspects of Protein science and engineering. The Institute provides laboratories which are functionally modular and offer large, air-conditioned, clean research areas to all the scientists.", + "rorId": "https://ror.org/055rjs771", + "location": { + "countryCode": "IN", + "countryName": "India" + } + }, + "location": { + "countryCode": "IN", + "countryName": "India" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "virsi1909", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 742, + "prefix": "elm", + "mirId": "MIR:00000250", + "name": "ELM", + "pattern": "^[A-Za-z_0-9]+$", + "description": "Linear motifs are short, evolutionarily plastic components of regulatory proteins. Mainly focused on the eukaryotic sequences,the Eukaryotic Linear Motif resource (ELM) is a database of curated motif classes and instances.", + "created": "2019-06-11T14:16:37.386+00:00", + "modified": "2019-06-11T14:16:37.386+00:00", + "resources": [ + { + "id": 744, + "mirId": "MIR:00100321", + "urlPattern": "http://elm.eu.org/elms/elmPages/{$id}.html", + "name": "ELM at EMBL (Germany)", + "description": "ELM at EMBL (Germany)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "CLV_MEL_PAP_1", + "resourceHomeUrl": "http://elm.eu.org/", + "institution": { + "id": 743, + "name": "Structural and Computational Biology, European Molecular Biology Laboratory, Heidelberg", + "homeUrl": "https://www.embl.org/research/units/structural-and-computational-biology/", + "description": "The unit pursues an ambitious research programme in integrated structural and computational systems biology bridging between various spatial and temporal scales.", + "rorId": null, + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CLV_MEL_PAP_1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 745, + "prefix": "mimodb", + "mirId": "MIR:00000251", + "name": "MimoDB", + "pattern": "^\\d+$", + "description": "MimoDB is a database collecting peptides that have been selected from random peptide libraries based on their ability to bind small compounds, nucleic acids, proteins, cells, tissues and organs. It also stores other information such as the corresponding target, template, library, and structures. As of March 2016, this database was renamed Biopanning Data Bank.", + "created": "2019-06-11T14:16:37.622+00:00", + "modified": "2019-06-11T14:16:37.622+00:00", + "resources": [ + { + "id": 747, + "mirId": "MIR:00100322", + "urlPattern": "http://immunet.cn/bdb/index.php/mimoset/{$id}", + "name": "BDB at University of Electronic Science and Technology of China", + "description": "BDB at University of Electronic Science and Technology of China", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1", + "resourceHomeUrl": "http://immunet.cn/bdb/", + "institution": { + "id": 746, + "name": "Key Laboratory for Neuroinformation of Ministry of Education, University of Electronic Science and Technology of China, Sichuan", + "homeUrl": "https://neuro.uestc.edu.cn/en/", + "description": "The overall positioning of the laboratory is to become a scientific research center, an academic exchange center and a high-level talent training base that can represent the national research level, have strong independent innovation capabilities, and can demonstrate China's status as a major country in the neuro-information intersection field.", + "rorId": null, + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 748, + "prefix": "sitex", + "mirId": "MIR:00000252", + "name": "SitEx", + "pattern": "^\\d+$", + "description": "SitEx is a database containing information on eukaryotic protein functional sites. It stores the amino acid sequence positions in the functional site, in relation to the exon structure of encoding gene This can be used to detect the exons involved in shuffling in protein evolution, or to design protein-engineering experiments.", + "created": "2019-06-11T14:16:37.867+00:00", + "modified": "2019-06-11T14:16:37.867+00:00", + "resources": [ + { + "id": 750, + "mirId": "MIR:00100323", + "urlPattern": "http://www-bionet.sscc.ru/sitex/index.php?siteid={$id}", + "name": "SitEx at Novosibirsk State University", + "description": "SitEx at Novosibirsk State University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1000", + "resourceHomeUrl": "http://www-bionet.sscc.ru/sitex/", + "institution": { + "id": 749, + "name": "Novosibirsk State University, Novosibirsk", + "homeUrl": "http://www.nsu.ru/exp/index.jz?lang=en", + "description": "Novosibirsk State University is located in the world-famous scientific center \u2013 Akademgorodok. 80% of NSU faculty members are scientists from the Siberian Branch of the Russian Academy of Sciences. That means education is closely connected to world-class scientific achievements. ", + "rorId": "https://ror.org/04t2ss102", + "location": { + "countryCode": "RU", + "countryName": "Russian Federation" + } + }, + "location": { + "countryCode": "RU", + "countryName": "Russian Federation" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1000", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 751, + "prefix": "bykdb", + "mirId": "MIR:00000253", + "name": "BYKdb", + "pattern": "^[A-Z0-9]+$", + "description": "The bacterial tyrosine kinase database (BYKdb) that collects sequences of putative and authentic bacterial tyrosine kinases, providing structural and functional information.", + "created": "2019-06-11T14:16:38.105+00:00", + "modified": "2019-06-11T14:16:38.105+00:00", + "resources": [ + { + "id": 753, + "mirId": "MIR:00100324", + "urlPattern": "https://bykdb.ibcp.fr/data/html/annotated/{$id}.html", + "name": "BYKdb at CNRS", + "description": "BYKdb at CNRS", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "A0A009E7X8", + "resourceHomeUrl": "https://bykdb.ibcp.fr/BYKdb/", + "institution": { + "id": 752, + "name": "Unit\u00e9 Bases Mol\u00e9culaires et Structurales des Syst\u00e8mes Infectieux; CNRS - Universit\u00e9 Claude Bernard, Lyon", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "A0A009E7X8", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 754, + "prefix": "conoserver", + "mirId": "MIR:00000254", + "name": "Conoserver", + "pattern": "^\\d+$", + "description": "ConoServer is a database specialized in the sequence and structures of conopeptides, which are peptides expressed by carnivorous marine cone snails.", + "created": "2019-06-11T14:16:38.340+00:00", + "modified": "2019-06-11T14:16:38.340+00:00", + "resources": [ + { + "id": 755, + "mirId": "MIR:00100325", + "urlPattern": "http://www.conoserver.org/?page=card&table=protein&id={$id}", + "name": "ConoServer at University of Queensland", + "description": "ConoServer at University of Queensland", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "2639", + "resourceHomeUrl": "http://www.conoserver.org/", + "institution": { + "id": 582, + "name": "Institute for Molecular Bioscience, The University of Queensland, Brisbane", + "homeUrl": "https://imb.uq.edu.au", + "description": "Every cure starts with a scientific discovery by someone who imagined a better future. At the\nInstitute for Molecular Bioscience our goal is to create a better future by making breakthrough\ndiscoveries to improve health and wellbeing.", + "rorId": null, + "location": { + "countryCode": "AU", + "countryName": "Australia" + } + }, + "location": { + "countryCode": "AU", + "countryName": "Australia" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2639", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 756, + "prefix": "topfind", + "mirId": "MIR:00000255", + "name": "TopFind", + "pattern": "^([A-N,R-Z][0-9][A-Z][A-Z, 0-9][A-Z, 0-9][0-9])|([O,P,Q][0-9][A-Z, 0-9][A-Z, 0-9][A-Z, 0-9][0-9])$", + "description": "TopFIND is a database of protein termini, terminus modifications and their proteolytic processing in the species: Homo sapiens, Mus musculus, Arabidopsis thaliana, Saccharomyces cerevisiae and Escherichia coli.", + "created": "2019-06-11T14:16:38.521+00:00", + "modified": "2019-06-11T14:16:38.521+00:00", + "resources": [ + { + "id": 758, + "mirId": "MIR:00100326", + "urlPattern": "http://clipserve.clip.ubc.ca/topfind/proteins/{$id}", + "name": "TopFind at University of British Columbia", + "description": "TopFind at University of British Columbia", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Q9UKQ2", + "resourceHomeUrl": "http://clipserve.clip.ubc.ca/topfind", + "institution": { + "id": 757, + "name": "Department of Oral Biological and Medical Sciences, University of British Columbia, Vancouver", + "homeUrl": "https://www.grad.ubc.ca/unit/department-oral-biological-medical-sciences", + "description": "In support of the University of British Columbia\u2019s mission to be one of the world\u2019s very best universities, the Faculty of Graduate and Postdoctoral Studies strives to elevate achievement and enhance the education of graduate students in a global context, providing", + "rorId": null, + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Q9UKQ2", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 759, + "prefix": "mipmod", + "mirId": "MIR:00000256", + "name": "MIPModDB", + "pattern": "^\\w+$", + "description": "MIPModDb is a database of comparative protein structure models of MIP (Major Intrinsic Protein) family of proteins, identified from complete genome sequence. It provides key information of MIPs based on their sequence and structures.", + "created": "2019-06-11T14:16:38.756+00:00", + "modified": "2019-06-11T14:16:38.756+00:00", + "resources": [ + { + "id": 761, + "mirId": "MIR:00100327", + "urlPattern": "http://bioinfo.iitk.ac.in/MIPModDB/result.php?code={$id}", + "name": "MIPModDB at Indian Institute of Technology Kanpur", + "description": "MIPModDB at Indian Institute of Technology Kanpur", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "HOSAPI0399", + "resourceHomeUrl": "http://bioinfo.iitk.ac.in/MIPModDB", + "institution": { + "id": 760, + "name": "Department of Biological Sciences and Bioengineering, Indian Institute of Technology Kanpur, Kanpur", + "homeUrl": "http://www.iitk.ac.in/bsbe/", + "description": "The department is engaged in cutting-edge research and training in basic biology, biomedical and bioengineering fields. Its aim is to produce quality professionals in modern biology and allied fields who will engage in addressing country\u2019s challenges by advancing the discovery in biology and applying the knowledge that can help to improve the quality of life of the citizens. The department currently offers three academic programs; B. Tech, M. Tech and PhD in biological sciences & bioengineering. The department is housed in a three storied building, with 16 research labs, 6 labs for core facilities, and 3 teaching labs, besides the office space. From the initial strength of 4 faculty members in 2002, today the BSBE department has grown with 16 faculty members and about 100 postgraduate (75 PhD. and 25 M. Tech.) and 145 undergraduate students. Ongoing research projects are spread in broadly three major domains that include (a) molecular, cellular and developmental biology, (b) structural and computational biology and (c) bioengineering. In years to come, BSBE aspires to become one of the world\u2019s leading centers for biomedical research, training and teaching. For this the department wishes to increase the faculty strength to 35-40 for strengthening the existing research areas and to expand the bioengineering domain. This requires substantial addition of the laboratory space and core facilities. To attract bright students, the department plans to offer more cross-disciplinary and innovative UG & PG teaching and research programs in the near future, and some of them could be in partnership with leading universities in the world.", + "rorId": null, + "location": { + "countryCode": "IN", + "countryName": "India" + } + }, + "location": { + "countryCode": "IN", + "countryName": "India" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "HOSAPI0399", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 762, + "prefix": "cellimage", + "mirId": "MIR:00000257", + "name": "Cell Image Library", + "pattern": "^\\d+$", + "description": "The Cell: An Image Library\u2122 is a freely accessible, public repository of reviewed and annotated images, videos, and animations of cells from a variety of organisms, showcasing cell architecture, intracellular functionalities, and both normal and abnormal processes.", + "created": "2019-06-11T14:16:38.984+00:00", + "modified": "2019-06-11T14:16:38.984+00:00", + "resources": [ + { + "id": 764, + "mirId": "MIR:00100328", + "urlPattern": "http://cellimagelibrary.org/images/{$id}", + "name": "Cell Image Library at American Society for Cell Biology", + "description": "Cell Image Library at American Society for Cell Biology", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "24801", + "resourceHomeUrl": "http://cellimagelibrary.org/", + "institution": { + "id": 763, + "name": "National Center for Microscopy and Imaging Research", + "homeUrl": "https://ncmir.ucsd.edu", + "description": "The mission of NCMIR is to develop technologies to bridge understanding of biological systems between the gross anatomical and molecular scales and to make these technologies broadly available to biomedical researchers. NCMIR provides expertise, infrastructure, technological development, and an environment in which new information about the 3D ultrastructure of tissues, cells, and macromolecular complexes may be accurately and easily obtained and analyzed.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "24801", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 767, + "prefix": "cabri", + "mirId": "MIR:00000261", + "name": "CABRI", + "pattern": "^([A-Za-z]+)?(\\_)?([A-Za-z-]+)\\:([A-Za-z0-9 ]+)$", + "description": "CABRI (Common Access to Biotechnological Resources and Information) is an online service where users can search a number of European Biological Resource Centre catalogues. It lists the availability of a particular organism or genetic resource and defines the set of technical specifications and procedures which should be used to handle it.", + "created": "2019-06-11T14:16:39.396+00:00", + "modified": "2019-06-11T14:16:39.396+00:00", + "resources": [ + { + "id": 769, + "mirId": "MIR:00100334", + "urlPattern": "http://www.cabri.org/CABRI/srs-bin/wgetz?-e+-page+EntryPage+[{$id}]", + "name": "CABRI Cell Lines catalogue in Genova (SRS)", + "description": "CABRI Cell Lines catalogue in Genova (SRS)", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "dsmz_mutz-id:ACC 291", + "resourceHomeUrl": "http://www.cabri.org/", + "institution": { + "id": 768, + "name": "National Cancer Research Institute of Genova, Genova", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "IT", + "countryName": "Italy" + } + }, + "location": { + "countryCode": "IT", + "countryName": "Italy" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 771, + "mirId": "MIR:00100335", + "urlPattern": "http://www.be.cabri.org/CABRI/srs-bin/wgetz?-e+-page+EntryPage+[{$id}]", + "name": "CABRI Cell Lines catalogue in Brussels (SRS)", + "description": "CABRI Cell Lines catalogue in Brussels (SRS)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "dsmz_mutz-id:ACC 291", + "resourceHomeUrl": "http://www.be.cabri.org/", + "institution": { + "id": 770, + "name": "Belgian Coordinated Collections of Microorganisms", + "homeUrl": "http://bccm.belspo.be/", + "description": "The BCCM consortium has grown to become one of the most important culture collections in the world, both in terms of the size and quality of the collections (bacteria, yeasts, moulds, plasmids, diatoms, DNA libraries) and its expertise. Not only does the consortium keep more than 200,000 quality controlled, characterised and documented units of biological material, but it also offers its expertise through services and partnership projects.", + "rorId": null, + "location": { + "countryCode": "BE", + "countryName": "Belgium" + } + }, + "location": { + "countryCode": "BE", + "countryName": "Belgium" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "dsmz_mutz-id:ACC 291", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 772, + "prefix": "huge", + "mirId": "MIR:00000263", + "name": "HUGE", + "pattern": "^KIAA\\d{4}$", + "description": "The Human Unidentified Gene-Encoded (HUGE) protein database contains results from sequence analysis of human novel large (>4 kb) cDNAs identified in the Kazusa cDNA sequencing project.", + "created": "2019-06-11T14:16:39.763+00:00", + "modified": "2019-06-11T14:16:39.763+00:00", + "resources": [ + { + "id": 774, + "mirId": "MIR:00100339", + "urlPattern": "http://www.kazusa.or.jp/huge/gfpage/{$id}/", + "name": "HUGE at Kazusa DNA Research Institute", + "description": "HUGE at Kazusa DNA Research Institute", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "KIAA0001", + "resourceHomeUrl": "http://www.kazusa.or.jp/huge/", + "institution": { + "id": 859, + "name": "Kazusa DNA Research Institute, Chiba", + "homeUrl": "http://www.kazusa.or.jp/e/index.html", + "description": "KDRI was founded in 1991 and has since then been engaged in large-scale sequencing and analysis of the genomes of plants and related bacteria as well as human cDNAs. Based on these results, research has been carried out on various genes that function in plant and human cells. ", + "rorId": "https://ror.org/04pnjx786", + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "KIAA0001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 775, + "prefix": "bindingdb", + "mirId": "MIR:00000264", + "name": "BindingDB", + "pattern": "^\\w\\d+$", + "description": "BindingDB is the first public database of protein-small molecule affinity data.", + "created": "2019-06-11T14:16:39.982+00:00", + "modified": "2019-06-11T14:16:39.982+00:00", + "resources": [ + { + "id": 777, + "mirId": "MIR:00100340", + "urlPattern": "http://www.bindingdb.org/compact/{$id}", + "name": "BindingDB", + "description": "BindingDB", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "e999", + "resourceHomeUrl": "https://www.bindingdb.org", + "institution": { + "id": 190, + "name": "University of California, San Diego", + "homeUrl": "https://ucsd.edu/", + "description": "is a public research university in San Diego, California.\nEstablished in 1960 near the pre-existing Scripps Institution of Oceanography, UC San Diego is the seventh-oldest of the 10 University of California campuses and offers over 200 undergraduate and graduate degree programs, enrolling approximately 30,000 undergraduate and 8,500 graduate students.", + "rorId": "https://ror.org/0168r3w48", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "e999", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 839, + "prefix": "dictybase.gene", + "mirId": "MIR:00000286", + "name": "Dictybase Gene", + "pattern": "^DDB_G\\d+$", + "description": "The dictyBase database provides data on the model organism Dictyostelium discoideum and related species. It contains the complete genome sequence, ESTs, gene models and functional annotations. This collection references gene information.", + "created": "2019-06-11T14:16:45.247+00:00", + "modified": "2019-06-11T14:16:45.247+00:00", + "resources": [ + { + "id": 841, + "mirId": "MIR:00100367", + "urlPattern": "http://dictybase.org/gene/{$id}", + "name": "Dictybase Gene at Northwestern University", + "description": "Dictybase Gene at Northwestern University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "DDB_G0267522", + "resourceHomeUrl": "http://dictybase.org/", + "institution": { + "id": 840, + "name": "Northwestern University Biomedical Informatics Center and Center for Genetic Medicine, Chicago, Illinois", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "DDB_G0267522", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 778, + "prefix": "string", + "mirId": "MIR:00000265", + "name": "STRING", + "pattern": "^([A-N,R-Z][0-9][A-Z][A-Z, 0-9][A-Z, 0-9][0-9])|([O,P,Q][0-9][A-Z, 0-9][A-Z, 0-9][A-Z, 0-9][0-9])|([0-9][A-Za-z0-9]{3})$", + "description": "STRING (Search Tool for Retrieval of Interacting Genes/Proteins) is a database of known and predicted protein interactions.\r\nThe interactions include direct (physical) and indirect (functional) associations; they are derived from four sources:Genomic Context, High-throughput Experiments,(Conserved) Coexpression, Previous Knowledge. STRING quantitatively integrates interaction data from these sources for a large number of organisms, and transfers information between these organisms where applicable.", + "created": "2019-06-11T14:16:40.213+00:00", + "modified": "2019-06-11T14:16:40.213+00:00", + "resources": [ + { + "id": 779, + "mirId": "MIR:00100341", + "urlPattern": "http://string.embl.de/interactions/{$id}", + "name": "STRING at Heidelberg", + "description": "STRING at Heidelberg", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "P53350", + "resourceHomeUrl": "http://string.embl.de/", + "institution": { + "id": 375, + "name": "EMBL, Heidelberg", + "homeUrl": "http://embl.org/", + "description": "With 28 member states, EMBL has more than 110 independent research groups and service teams covering the spectrum of molecular biology at six sites in Barcelona, Grenoble, Hamburg, Heidelberg, EMBL-EBI Hinxton, and Rome.", + "rorId": "https://ror.org/03mstc592", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 780, + "mirId": "MIR:00100342", + "urlPattern": "http://string-db.org/interactions/{$id}", + "name": "STRING Mirror at Heidelberg", + "description": "STRING Mirror at Heidelberg", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "P53350", + "resourceHomeUrl": "http://string-db.org/", + "institution": { + "id": 375, + "name": "EMBL, Heidelberg", + "homeUrl": "http://embl.org/", + "description": "With 28 member states, EMBL has more than 110 independent research groups and service teams covering the spectrum of molecular biology at six sites in Barcelona, Grenoble, Hamburg, Heidelberg, EMBL-EBI Hinxton, and Rome.", + "rorId": "https://ror.org/03mstc592", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "P53350", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 781, + "prefix": "stitch", + "mirId": "MIR:00000266", + "name": "STITCH", + "pattern": "^\\w{14}$", + "description": "STITCH is a resource to explore known and predicted interactions of chemicals and proteins. Chemicals are linked to other chemicals and proteins by evidence derived from experiments, databases and the literature.", + "created": "2019-06-11T14:16:40.524+00:00", + "modified": "2019-06-11T14:16:40.524+00:00", + "resources": [ + { + "id": 782, + "mirId": "MIR:00100343", + "urlPattern": "http://stitch.embl.de/interactions/{$id}", + "name": "STITCH", + "description": "STITCH", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "BQJCRHHNABKAKU", + "resourceHomeUrl": "http://stitch.embl.de/", + "institution": { + "id": 375, + "name": "EMBL, Heidelberg", + "homeUrl": "http://embl.org/", + "description": "With 28 member states, EMBL has more than 110 independent research groups and service teams covering the spectrum of molecular biology at six sites in Barcelona, Grenoble, Hamburg, Heidelberg, EMBL-EBI Hinxton, and Rome.", + "rorId": "https://ror.org/03mstc592", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "BQJCRHHNABKAKU", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 783, + "prefix": "atcvet", + "mirId": "MIR:00000267", + "name": "Anatomical Therapeutic Chemical Vetinary", + "pattern": "^Q[A-Z0-9]+$", + "description": "The ATCvet system for the classification of veterinary medicines is based on the same overall principles as the ATC system for substances used in human medicine. In ATCvet systems, preparations are divided into groups, according to their therapeutic use. First, they are divided into 15 anatomical groups (1st level), classified as QA-QV in the ATCvet system, on the basis of their main therapeutic use.", + "created": "2019-06-11T14:16:40.712+00:00", + "modified": "2019-06-11T14:16:40.712+00:00", + "resources": [ + { + "id": 784, + "mirId": "MIR:00100344", + "urlPattern": "http://www.whocc.no/atcvet/atcvet_index/?code={$id}", + "name": "Anatomical Therapeutic Chemical Vet Index at WHO", + "description": "Anatomical Therapeutic Chemical Vet Index at WHO", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "QJ51RV02", + "resourceHomeUrl": "http://www.whocc.no/atcvet/atcvet_index/", + "institution": { + "id": 295, + "name": "World Health Organisation", + "homeUrl": "https://www.who.int/", + "description": "Dedicated to the well-being of all people and guided by science, the World Health Organization leads and champions global efforts to give everyone, everywhere an equal chance to live a healthy life. ", + "rorId": null, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "QJ51RV02", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 785, + "prefix": "phenolexplorer", + "mirId": "MIR:00000268", + "name": "Phenol-Explorer", + "pattern": "^\\d+$", + "description": "Phenol-Explorer is an electronic database on polyphenol content in foods. Polyphenols form a wide group of natural antioxidants present in a large number of foods and beverages. They contribute to food characteristics such as taste, colour or shelf-life. They also participate in the prevention of several major chronic diseases such as cardiovascular diseases, diabetes, cancers, neurodegenerative diseases or osteoporosis.", + "created": "2019-06-11T14:16:40.928+00:00", + "modified": "2019-06-11T14:16:40.928+00:00", + "resources": [ + { + "id": 787, + "mirId": "MIR:00100345", + "urlPattern": "http://phenol-explorer.eu/foods/{$id}", + "name": "Phenol-Explorer Database on Phenol content of foods", + "description": "Phenol-Explorer Database on Phenol content of foods", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "75", + "resourceHomeUrl": "http://www.phenol-explorer.eu/foods/", + "institution": { + "id": 786, + "name": "INRA and University of Alberta", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "75", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 788, + "prefix": "snomedct", + "mirId": "MIR:00000269", + "name": "SNOMED CT", + "pattern": "^(\\w+)?\\d+$", + "description": "SNOMED CT (Systematized Nomenclature of Medicine -- Clinical Terms), is a systematically organized computer processable collection of medical terminology covering most areas of clinical information such as diseases, findings, procedures, microorganisms, pharmaceuticals, etc.", + "created": "2019-06-11T14:16:41.184+00:00", + "modified": "2019-06-11T14:16:41.184+00:00", + "resources": [ + { + "id": 790, + "mirId": "MIR:00100405", + "urlPattern": "http://www.snomedbrowser.com/Codes/Details/{$id}", + "name": "SNOMED-CT at The National Pathology Exchange", + "description": "SNOMED-CT at The National Pathology Exchange", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "284196006", + "resourceHomeUrl": "http://www.snomedbrowser.com/", + "institution": { + "id": 789, + "name": "The Health Informatics Service, NHS, West Yorkshire", + "homeUrl": "https://www.this.nhs.uk/home", + "description": "The Health Informatics Service is an innovative, collaborative NHS organisation providing digital and IT services to health and care providers across the UK in primary, secondary and third sectors. Our tried and trusted solutions have been developed and refined by our dedicated team of health informatics experts who share the sector\u2019s passion and values for providing the best possible care, insight and service for patients and customers. Take a look through our range of expert services and support, and the benefits and opportunities these offer to health and care organisations and stakeholders. Get in touch to discuss your particular needs, ambitions and solutions. We\u2019re here to help and guide the UK\u2019s health and care community.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "284196006", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 791, + "prefix": "mesh.2012", + "mirId": "MIR:00000270", + "name": "MeSH 2012", + "pattern": "^[A-Za-z0-9]+$", + "description": "MeSH (Medical Subject Headings) is the National Library of Medicine's controlled vocabulary thesaurus. It consists of sets of terms naming descriptors in a hierarchical structure that permits searching at various levels of specificity. This thesaurus is used by NLM for indexing articles from biomedical journals, cataloging of books, documents, etc. This collection references MeSH terms published in 2012.", + "created": "2019-06-11T14:16:41.417+00:00", + "modified": "2019-06-11T14:16:41.417+00:00", + "resources": [ + { + "id": 793, + "mirId": "MIR:00100349", + "urlPattern": "http://www.nlm.nih.gov/cgi/mesh/2012/MB_cgi?mode=&index={$id}&view=expanded", + "name": "MeSH at National Library of Medicine", + "description": "MeSH at National Library of Medicine", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "17186", + "resourceHomeUrl": "http://www.nlm.nih.gov/mesh/", + "institution": { + "id": 316, + "name": "National Library of Medicine, Maryland", + "homeUrl": "https://www.nlm.nih.gov/", + "description": "The National Library of Medicine (NLM), on the campus of the National Institutes of Health in Bethesda, Maryland, has been a center of information innovation since its founding in 1836. The world\u2019s largest biomedical library, NLM maintains and makes available a vast print collection and produces electronic information resources on a wide range of topics that are searched billions of times each year by millions of people around the globe. It also supports and conducts research, development, and training in biomedical informatics and health information technology. In addition, the Library coordinates an 8,000+ member Network of the National Library of Medicine that promotes and provides access to health information in communities across the United States.", + "rorId": "https://ror.org/0060t0j89", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "17186", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 797, + "prefix": "cdpd", + "mirId": "MIR:00000272", + "name": "Canadian Drug Product Database", + "pattern": "^\\d+$", + "description": "The Canadian Drug Product Database (DPD) contains product specific information on drugs approved for use in Canada, and includes human pharmaceutical and biological drugs, veterinary drugs and disinfectant products. This information includes 'brand name', 'route of administration' and a Canadian 'Drug Identification Number' (DIN).", + "created": "2019-06-11T14:16:41.852+00:00", + "modified": "2019-06-11T14:16:41.852+00:00", + "resources": [ + { + "id": 799, + "mirId": "MIR:00100351", + "urlPattern": "http://webprod3.hc-sc.gc.ca/dpd-bdpp/info.do?lang=eng&code={$id}", + "name": "Canadian Drug Identification Number at Health Canada", + "description": "Canadian Drug Identification Number at Health Canada", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "63250", + "resourceHomeUrl": "http://webprod3.hc-sc.gc.ca/dpd-bdpp/index-eng.jsp", + "institution": { + "id": 798, + "name": "Health Canada, Ottawa, Ontario", + "homeUrl": "http://www.hc-sc.gc.ca/index-eng.php", + "description": "Health Canada is responsible for helping Canadians maintain and improve their health. It ensures that high-quality health services are accessible, and works to reduce health risks.", + "rorId": "https://ror.org/05p8nb362", + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "63250", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 805, + "prefix": "gmd", + "mirId": "MIR:00000274", + "name": "Golm Metabolome Database", + "pattern": "^([0-9a-fA-F]){8}(-([0-9a-fA-F]){4}){3}-([0-9a-fA-F]){12}$", + "description": "Golm Metabolome Database (GMD) provides public access to custom mass spectral libraries, metabolite profiling experiments as well as additional information and tools. This collection references metabolite information, relating the biologically active substance to metabolic pathways or signalling phenomena.", + "created": "2019-06-11T14:16:42.514+00:00", + "modified": "2019-06-11T14:16:42.514+00:00", + "resources": [ + { + "id": 807, + "mirId": "MIR:00100354", + "urlPattern": "http://gmd.mpimp-golm.mpg.de/Metabolites/{$id}.aspx", + "name": "Golm Metabolome Database at Max Planck Institute of Molecular Plant Physiology", + "description": "Golm Metabolome Database at Max Planck Institute of Molecular Plant Physiology", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "68513255-fc44-4041-bc4b-4fd2fae7541d", + "resourceHomeUrl": "http://gmd.mpimp-golm.mpg.de/", + "institution": { + "id": 806, + "name": "Max Planck Institute of Molecular Plant Physiology, Potsdam", + "homeUrl": "http://www.mpimp-golm.mpg.de/2168/en", + "description": "The Max Planck Institute of Molecular Plant Physiology (MPI-MP) was founded in 1994, as one of 18 institutes on the territory of the former GDR. The founding director was Prof. Dr. Dr. h.c. Lothar Willmitzer, who is the director of one of the three departments which have been established since then. From originally only 16 employees the institute grew into a large institute, which now employs about 360 people from all over the world, who put their combined efforts into elucidating the secrets of plants.", + "rorId": "https://ror.org/01fbde567", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "68513255-fc44-4041-bc4b-4fd2fae7541d", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 808, + "prefix": "homologene", + "mirId": "MIR:00000275", + "name": "HomoloGene", + "pattern": "^\\d+$", + "description": "HomoloGene is a system for automated detection of homologs among the annotated genes of several completely sequenced eukaryotic genomes.", + "created": "2019-06-11T14:16:42.733+00:00", + "modified": "2019-06-11T14:16:42.733+00:00", + "resources": [ + { + "id": 809, + "mirId": "MIR:00100355", + "urlPattern": "https://www.ncbi.nlm.nih.gov/homologene/{$id}", + "name": "Homologene at NCBI", + "description": "Homologene at NCBI", + "official": true, + "providerCode": "ncbi", + "sampleId": "1000", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/homologene/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 810, + "mirId": "MIR:00100699", + "urlPattern": "http://homologene.bio2rdf.org/describe/?url=http://bio2rdf.org/homologene:{$id}", + "name": "Bio2RDF", + "description": "Bio2RDF", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1000", + "resourceHomeUrl": "http://homologene.bio2rdf.org/fct", + "institution": { + "id": 33, + "name": "Bio2RDF.org", + "homeUrl": "https://bio2rdf.org", + "description": "Bio2RDF is an open-source project that uses Semantic Web technologies to build and provide the largest network of Linked Data for the Life Sciences. Bio2RDF defines a set of simple conventions to create RDF(S) compatible Linked Data from a diverse set of heterogeneously formatted sources obtained from multiple data providers.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1000", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 811, + "prefix": "umbbd.compound", + "mirId": "MIR:00000276", + "name": "UM-BBD Compound", + "pattern": "^c\\d+$", + "description": "The University of Minnesota Biocatalysis/Biodegradation Database (UM-BBD) contains information on microbial biocatalytic reactions and biodegradation pathways for primarily xenobiotic, chemical compounds. The goal of the UM-BBD is to provide information on microbial enzyme-catalyzed reactions that are important for biotechnology. This collection refers to compound information.", + "created": "2019-06-11T14:16:42.994+00:00", + "modified": "2019-06-11T14:16:42.994+00:00", + "resources": [ + { + "id": 813, + "mirId": "MIR:00100357", + "urlPattern": "http://umbbd.ethz.ch/servlets/pageservlet?ptype=c&compID={$id}", + "name": "Biocatalysis/Biodegradation Database Mirror (Compound) at ETH Zurich", + "description": "Biocatalysis/Biodegradation Database Mirror (Compound) at ETH Zurich", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "c0001", + "resourceHomeUrl": "http://umbbd.ethz.ch/", + "institution": { + "id": 2483, + "name": "ETH Zurich", + "homeUrl": "https://ethz.ch/en.html", + "description": "We serve society by educating the next generations of critical and creative thinkers and doers. With our research, we create knowledge and develop technologies to meet the global challenges of our time. We project a future-\u200b\u200boriented and innovative image of Switzerland to the world and network our country with the global community. Together with our partners from science, business, politics and society, we rely on the power of teamwork and strive for excellence - in everything we do.", + "rorId": "https://ror.org/05a28rw58", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "c0001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 814, + "prefix": "abs", + "mirId": "MIR:00000277", + "name": "ABS", + "pattern": "^A\\d+$", + "description": "The database of Annotated regulatory Binding Sites (from orthologous promoters), ABS, is a public database of known binding sites identified in promoters of orthologous vertebrate genes that have been manually curated from bibliography.", + "created": "2019-06-11T14:16:43.224+00:00", + "modified": "2019-06-11T14:16:43.224+00:00", + "resources": [ + { + "id": 816, + "mirId": "MIR:00100358", + "urlPattern": "http://genome.crg.es/datasets/abs2005/entries/{$id}.html", + "name": "ABS at IMIM", + "description": "ABS at IMIM", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "A0014", + "resourceHomeUrl": "http://genome.crg.es/datasets/abs2005/", + "institution": { + "id": 815, + "name": "Institut Municipal d'Investigació Mèdica, Barcelona", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "ES", + "countryName": "Spain" + } + }, + "location": { + "countryCode": "ES", + "countryName": "Spain" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "A0014", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 820, + "prefix": "chemdb", + "mirId": "MIR:00000279", + "name": "ChemDB", + "pattern": "^\\d+$", + "description": "ChemDB is a chemical database containing commercially available small molecules, important for use as synthetic building blocks, probes in systems biology and as leads for the discovery of drugs and other useful compounds.", + "created": "2019-06-11T14:16:43.696+00:00", + "modified": "2019-06-11T14:16:43.696+00:00", + "resources": [ + { + "id": 822, + "mirId": "MIR:00100360", + "urlPattern": "http://cdb.ics.uci.edu/cgibin/ChemicalDetailWeb.py?chemical_id={$id}", + "name": "ChemDB at UC Irvine", + "description": "ChemDB at UC Irvine", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "3966782", + "resourceHomeUrl": "http://cdb.ics.uci.edu/", + "institution": { + "id": 821, + "name": "University of California, Irvine", + "homeUrl": "https://uci.edu/", + "description": "In 1965, the University of California, Irvine was founded with a mission to catalyze the community and enhance lives through rigorous academics, cutting-edge research, and dedicated public service. Today, we draw on the unyielding spirit of our pioneering faculty, staff and students who arrived on campus with a dream to inspire change and generate new ideas. We believe that true progress is made when different perspectives come together to advance our understanding of the world around us. And we enlighten our communities and point the way to a better future. At UCI, we shine brighter.", + "rorId": "https://ror.org/04gyf1771", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "3966782", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 823, + "prefix": "dpv", + "mirId": "MIR:00000280", + "name": "DPV", + "pattern": "^\\d+$", + "description": "Description of Plant Viruses (DPV) provides information about viruses, viroids and satellites of plants, fungi and protozoa. It provides taxonomic information, including brief descriptions of each family and genus, and classified lists of virus sequences. The database also holds detailed information for all sequences of viruses, viroids and satellites of plants, fungi and protozoa that are complete or that contain at least one complete gene.", + "created": "2019-06-11T14:16:43.916+00:00", + "modified": "2019-06-11T14:16:43.916+00:00", + "resources": [ + { + "id": 825, + "mirId": "MIR:00100361", + "urlPattern": "http://www.dpvweb.net/dpv/showdpv.php?dpvno={$id}", + "name": "DPV at Rothamsted", + "description": "DPV at Rothamsted", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "100", + "resourceHomeUrl": "http://www.dpvweb.net/", + "institution": { + "id": 824, + "name": "Plant-Pathogen Interactions Division, Wheat Pathogenesis Programme, Rothamsted Research Harpenden, Hertfordshire", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "100", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 826, + "prefix": "iuphar.receptor", + "mirId": "MIR:00000281", + "name": "IUPHAR receptor", + "pattern": "^\\d+$", + "description": "The IUPHAR Compendium details the molecular, biophysical and pharmacological properties of identified mammalian sodium, calcium and potassium channels, as well as the related cyclic nucleotide-modulated ion channels and transient receptor potential channels. It includes information on nomenclature systems, and on inter and intra-species molecular structure variation. This collection references individual receptors or subunits.", + "created": "2019-06-11T14:16:44.139+00:00", + "modified": "2019-06-11T14:16:44.139+00:00", + "resources": [ + { + "id": 828, + "mirId": "MIR:00100362", + "urlPattern": "http://www.guidetopharmacology.org/GRAC/ObjectDisplayForward?objectId={$id}", + "name": "IUPHAR Receptor at University of Edinburgh", + "description": "IUPHAR Receptor at University of Edinburgh", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "101", + "resourceHomeUrl": "http://www.guidetopharmacology.org/targets.jsp", + "institution": { + "id": 827, + "name": "Centre for Cardiovascular Science, University of Edinburgh, Edinburgh", + "homeUrl": "https://www.ed.ac.uk/cardiovascular-science", + "description": "The Centre for Cardiovascular Science (CVS) was one of the first multidisciplinary research centers in Edinburgh and has been a model for many more. Initiated in 1998 by a \u00a37M Wellcome Trust Cardiovascular Research Initiative Award and consolidated by over \u00a320M in serial BHF strategic awards, the groups constituting the CVS came together on the Little France campus in 2005 to form a \"Centre for Cardiovascular Risk & Resolution\" in the Queen's Medical Research Institute (QMRI). Today CVS has core facilities and training programs across three buildings at Little France - the QMRI, the Chancellor's Building, and the Scottish Centre for Regenerative Medicine.", + "rorId": "https://ror.org/002g4nt27", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "101", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 829, + "prefix": "aceview.worm", + "mirId": "MIR:00000282", + "name": "Aceview Worm", + "pattern": "^[a-z0-9-]+$", + "description": "AceView provides a curated sequence representation of all public mRNA sequences (mRNAs from GenBank or RefSeq, and single pass cDNA sequences from dbEST and Trace). These are aligned on the genome and clustered into a minimal number of alternative transcript variants and grouped into genes. In addition, alternative features such as promoters, and expression in tissues is recorded. This collection references C. elegans genes and expression.", + "created": "2019-06-11T14:16:44.374+00:00", + "modified": "2019-06-11T14:16:44.374+00:00", + "resources": [ + { + "id": 830, + "mirId": "MIR:00100363", + "urlPattern": "https://www.ncbi.nlm.nih.gov/IEB/Research/Acembly/av.cgi?db=worm&c=Gene&l={$id}", + "name": "AceView Worm at NCBI", + "description": "AceView Worm at NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "aap-1", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/IEB/Research/Acembly/index.html?worm", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "aap-1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 800, + "prefix": "massbank", + "mirId": "MIR:00000273", + "name": "MassBank", + "pattern": "^MSBNK-[0-9a-zA-Z_]+-[A-Z0-9_]+$", + "description": "MassBank is a federated database of reference spectra from different instruments, including high-resolution mass spectra of small metabolites (<3000 Da).", + "created": "2019-06-11T14:16:42.071+00:00", + "modified": "2022-12-13T16:15:18.652+00:00", + "resources": [ + { + "id": 804, + "mirId": "MIR:00100666", + "urlPattern": "https://massbank.eu/MassBank/RecordDisplay?id={$id}", + "name": "MassBank in Europe", + "description": "MassBank in Europe", + "official": false, + "providerCode": "massbankeu", + "sampleId": "PB000166", + "resourceHomeUrl": "https://massbank.eu/", + "institution": { + "id": 803, + "name": "NORMAN Network and The MassBank Consortium", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 802, + "mirId": "MIR:00100353", + "urlPattern": "https://massbank.jp/RecordDisplay?id={$id}", + "name": "MassBank in Japan", + "description": "MassBank in Japan", + "official": true, + "providerCode": "massbankjp", + "sampleId": "PB000166", + "resourceHomeUrl": "http://www.massbank.jp", + "institution": { + "id": 801, + "name": "The MassBank Consortium", + "homeUrl": "http://www.massbank.jp/", + "description": "MassBank is an open source mass spectral library for the identification of small chemical molecules of metabolomics, exposomics and environmental relevance. The vast majority of MassBank contents now features high-resolution mass spectrometry data, although all kinds of mass spectral data are accepted. A range of search options are available for browsing the data. The MassBank library is based on text file records containing the record metadata and the mass spectral information in the MassBank record format. All data is archived on GitHub and Zenodo; the code is also on GitHub. The MassBank library can be downloaded in different formats such as text records, database files (sql) and MSP files.", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MSBNK-IPB_Halle-PB000166", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 842, + "prefix": "imgt.ligm", + "mirId": "MIR:00000287", + "name": "IMGT LIGM", + "pattern": "^M\\d+$", + "description": "IMGT, the international ImMunoGeneTics project, is a collection of high-quality integrated databases specialising in Immunoglobulins, T cell receptors and the Major Histocompatibility Complex (MHC) of all vertebrate species. IMGT/LIGM is a comprehensive database of fully annotated sequences of Immunoglobulins and T cell receptors from human and other vertebrates.", + "created": "2019-06-11T14:16:45.469+00:00", + "modified": "2019-06-11T14:16:45.469+00:00", + "resources": [ + { + "id": 844, + "mirId": "MIR:00100369", + "urlPattern": "http://genius.embnet.dkfz-heidelberg.de/menu/cgi-bin/srs7.1.3.1/wgetz?-id+4ktAl1fNMTA+-e+[IMGT:'{$id}']", + "name": "IMGT LIGM through DKFZ (SRS)", + "description": "IMGT LIGM through DKFZ (SRS)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "M94112", + "resourceHomeUrl": "http://genius.embnet.dkfz-heidelberg.de/", + "institution": { + "id": 843, + "name": "DKFZ TP3, Heidelberg", + "homeUrl": "http://www.dkfz.de/en/index.html", + "description": "To perform research into cancer is the task of the German Cancer Research Center (Deutsches Krebsforschungszentrum, DKFZ) according to its statutes. DKFZ is the largest biomedical research institute in Germany and a member of the Helmholtz Association of National Research Centers. In more than 100 divisions and research groups, our more than 3,000 employees, of which more than 1,200 are scientists, are investigating the mechanisms of cancer, are identifying cancer risk factors and are trying to find strategies to prevent people from getting cancer.They are developing novel approaches to make tumor diagnosis more precise and treatment of cancer patients more successful.", + "rorId": "https://ror.org/04cdgtt98", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 846, + "mirId": "MIR:00100428", + "urlPattern": "http://www.imgt.org/ligmdb/view?id={$id}", + "name": "IMGT LIGM at CNRS", + "description": "IMGT LIGM at CNRS", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "M94112", + "resourceHomeUrl": "http://www.imgt.org/", + "institution": { + "id": 845, + "name": "CNRS, Montpellier University, Montpellier", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "M94112", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 847, + "prefix": "worfdb", + "mirId": "MIR:00000288", + "name": "Worfdb", + "pattern": "^\\w+(\\.\\d+)?", + "description": "WOrfDB (Worm ORFeome DataBase) contains data from the cloning of complete set of predicted protein-encoding Open Reading Frames (ORFs) of Caenorhabditis elegans. This collection describes experimentally defined transcript structures of unverified genes through RACE (Rapid Amplification of cDNA Ends).", + "created": "2019-06-11T14:16:45.846+00:00", + "modified": "2019-06-11T14:16:45.846+00:00", + "resources": [ + { + "id": 849, + "mirId": "MIR:00100370", + "urlPattern": "http://worfdb.dfci.harvard.edu/index.php?search_type=name&page=showresultrc&race_query={$id}", + "name": "Worm Orf DB at Harvard", + "description": "Worm Orf DB at Harvard", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "T01B6.1", + "resourceHomeUrl": "http://worfdb.dfci.harvard.edu/", + "institution": { + "id": 848, + "name": "Center for Cancer Systems Biology, Harvard Medical School, Massachusetts", + "homeUrl": "https://csb.mgh.harvard.edu/", + "description": "At CSB we develop innovative technologies to enable the discovery of new biology, drug targets, and diagnostics. Our approach is to develop new integrated systems for subcellular analysis and use innovative imaging tools to decipher dynamic networks. This allows us to interrogate networks at multiple scales from populations to molecules. ", + "rorId": "https://ror.org/05r3dyn47", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "T01B6.1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 850, + "prefix": "nextdb", + "mirId": "MIR:00000289", + "name": "NEXTDB", + "pattern": "^[A-Za-z0-9]+$", + "description": "NextDb is a database that provides information on the expression pattern map of the 100Mb genome of the nematode Caenorhabditis elegans. This was done through EST analysis and systematic whole mount in situ hybridization. Information available includes 5' and 3' ESTs, and in-situ hybridization images of 11,237 cDNA clones.", + "created": "2019-06-11T14:16:46.065+00:00", + "modified": "2019-06-11T14:16:46.065+00:00", + "resources": [ + { + "id": 852, + "mirId": "MIR:00100371", + "urlPattern": "http://nematode.lab.nig.ac.jp/db2/ShowCloneInfo.php?clone={$id}", + "name": "NEXTDB at Shizuoka", + "description": "NEXTDB at Shizuoka", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "6b1", + "resourceHomeUrl": "http://nematode.lab.nig.ac.jp/", + "institution": { + "id": 851, + "name": "National Institute of Genetics, Shizuoka", + "homeUrl": "http://www.nig.ac.jp/nig/", + "description": "National Institute of Genetics is the national research institute on genetics. Our mission is to provide infrastructure and opportunities for international collaboration, to train young scientists, and to build new frontiers of life sciences. ", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "6b1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 853, + "prefix": "soybase", + "mirId": "MIR:00000291", + "name": "SoyBase", + "pattern": "^\\w+(\\-)?\\w+(\\-)?\\w+$", + "description": "SoyBase is a repository for curated genetics, genomics and related data resources for soybean.", + "created": "2019-06-11T14:16:46.310+00:00", + "modified": "2019-06-11T14:16:46.310+00:00", + "resources": [ + { + "id": 855, + "mirId": "MIR:00100373", + "urlPattern": "http://www.soybase.org/sbt/search/search_results.php?category=SNP&search_term={$id}", + "name": "SoyBase at Iowa State University", + "description": "SoyBase at Iowa State University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "BARC-013845-01256", + "resourceHomeUrl": "http://soybase.org/", + "institution": { + "id": 854, + "name": "USDA-ARS-CICGRU, Iowa State University, Iowa", + "homeUrl": "https://monarch.ent.iastate.edu/usda-ars-corn-insects-and-crop-genetics-research-unit", + "description": "The mission of the Unit is to increase crop productivity by basic and applied research on insects, cereals and legumes.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "BARC-013845-01256", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 856, + "prefix": "hamap", + "mirId": "MIR:00000292", + "name": "HAMAP", + "pattern": "^MF_\\d+$", + "description": "HAMAP is a system that identifies and semi-automatically annotates proteins that are part of well-conserved and orthologous microbial families or subfamilies. These are used to build rules which are used to propagate annotations to member bacterial, archaeal and plastid-encoded protein entries.", + "created": "2019-06-11T14:16:46.532+00:00", + "modified": "2019-06-11T14:16:46.532+00:00", + "resources": [ + { + "id": 857, + "mirId": "MIR:00100374", + "urlPattern": "https://hamap.expasy.org/unirule/{$id}", + "name": "HAPMAP at Swiss Institute of Bioinformatics", + "description": "HAPMAP at Swiss Institute of Bioinformatics", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "MF_01400", + "resourceHomeUrl": "https://hamap.expasy.org/", + "institution": { + "id": 1730, + "name": "SIB Swiss Institute of Bioinformatics", + "homeUrl": "https://www.sib.swiss", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "rorId": "https://ror.org/002n09z45", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MF_01400", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 858, + "prefix": "rouge", + "mirId": "MIR:00000293", + "name": "Rouge", + "pattern": "^m\\w+$", + "description": "The Rouge protein database contains results from sequence analysis of novel large (>4 kb) cDNAs identified in the Kazusa cDNA sequencing project.", + "created": "2019-06-11T14:16:46.721+00:00", + "modified": "2019-06-11T14:16:46.721+00:00", + "resources": [ + { + "id": 860, + "mirId": "MIR:00100375", + "urlPattern": "http://www.kazusa.or.jp/rouge/gfpage/{$id}/", + "name": "Rouge at Kazusa DNA Research Institute", + "description": "Rouge at Kazusa DNA Research Institute", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "mKIAA4200", + "resourceHomeUrl": "http://www.kazusa.or.jp/rouge/", + "institution": { + "id": 859, + "name": "Kazusa DNA Research Institute, Chiba", + "homeUrl": "http://www.kazusa.or.jp/e/index.html", + "description": "KDRI was founded in 1991 and has since then been engaged in large-scale sequencing and analysis of the genomes of plants and related bacteria as well as human cDNAs. Based on these results, research has been carried out on various genes that function in plant and human cells. ", + "rorId": "https://ror.org/04pnjx786", + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "mKIAA4200", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 861, + "prefix": "arrayexpress.platform", + "mirId": "MIR:00000294", + "name": "ArrayExpress Platform", + "pattern": "^[AEP]-\\w{4}-\\d+$", + "description": "ArrayExpress is a public repository for microarray data, which is aimed at storing MIAME-compliant data in accordance with Microarray Gene Expression Data (MGED) recommendations.This collection references the specific platforms used in the generation of experimental results.", + "created": "2019-06-11T14:16:46.944+00:00", + "modified": "2019-06-11T14:16:46.944+00:00", + "resources": [ + { + "id": 862, + "mirId": "MIR:00100376", + "urlPattern": "https://www.ebi.ac.uk/arrayexpress/arrays/{$id}", + "name": "ArrayExpress Platform at EBI", + "description": "ArrayExpress Platform at EBI", + "official": false, + "providerCode": "ebi", + "sampleId": "A-GEOD-50", + "resourceHomeUrl": "https://www.ebi.ac.uk/arrayexpress/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "A-GEOD-50", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 863, + "prefix": "cgsc", + "mirId": "MIR:00000295", + "name": "CGSC Strain", + "pattern": "^\\d+$", + "description": "The CGSC Database of E. coli genetic information includes genotypes and reference information for the strains in the CGSC collection, the names, synonyms, properties, and map position for genes, gene product information, and information on specific mutations and references to primary literature.", + "created": "2019-06-11T14:16:47.138+00:00", + "modified": "2019-06-11T14:16:47.138+00:00", + "resources": [ + { + "id": 865, + "mirId": "MIR:00100377", + "urlPattern": "http://cgsc.biology.yale.edu/Site.php?ID={$id}", + "name": "CGSC at Yale university", + "description": "CGSC at Yale university", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "74", + "resourceHomeUrl": "http://cgsc.biology.yale.edu/index.php", + "institution": { + "id": 864, + "name": "Dept. of Molecular, Cellular, and Developmental Biology, Yale University, Connecticut", + "homeUrl": "https://mcdb.yale.edu/", + "description": "Research groups in the Department of Molecular, Cellular and Developmental Biology share a common interest in exploring the mechanisms underlying the coordinated behaviors of molecules, cells and tissues to form living organisms. We combine genetic, biochemical, molecular, cell biological and quantitative approaches to investigate fundamental biological processes across a range of organisms, from viruses and microbes to plants, worms, flies, fish and mammals. We are committed to excellence in research and teaching, and offer students a diversity of course offerings and research opportunities. The commonalities of our research interests combined with varied experimental approaches help forge a rigorous yet interdisciplinary and collaborative environment.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "74", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 866, + "prefix": "dragondb.dna", + "mirId": "MIR:00000297", + "name": "DragonDB DNA", + "pattern": "^\\d\\w+$", + "description": "DragonDB is a genetic and genomic database for Antirrhinum majus (Snapdragon). This collection refers to DNA sequence information.", + "created": "2019-06-11T14:16:47.375+00:00", + "modified": "2019-06-11T14:16:47.375+00:00", + "resources": [ + { + "id": 868, + "mirId": "MIR:00100379", + "urlPattern": "http://antirrhinum.net/cgi-bin/ace/generic/tree/DragonDB?name={$id};class=DNA", + "name": "DragonDB DNA at University of British Columbia", + "description": "DragonDB DNA at University of British Columbia", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "3hB06", + "resourceHomeUrl": "http://www.antirrhinum.net/", + "institution": { + "id": 867, + "name": "University of British Columbia, Vancouver", + "homeUrl": "https://www.ubc.ca/", + "description": "The University of British Columbia is a global centre for teaching, learning and research, consistently ranked among the top 20 public universities in the world. UBC embraces innovation and transforms ideas into action. Since 1915, UBC has been opening doors of opportunity for people with the curiosity, drive and vision to shape a better world.", + "rorId": "https://ror.org/03rmrcq20", + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "3hB06", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 869, + "prefix": "dragondb.protein", + "mirId": "MIR:00000298", + "name": "DragonDB Protein", + "pattern": "^\\w+$", + "description": "DragonDB is a genetic and genomic database for Antirrhinum majus (Snapdragon). This collection refers to protein sequence information.", + "created": "2019-06-11T14:16:47.607+00:00", + "modified": "2019-06-11T14:16:47.607+00:00", + "resources": [ + { + "id": 870, + "mirId": "MIR:00100380", + "urlPattern": "http://antirrhinum.net/cgi-bin/ace/generic/tree/DragonDB?name={$id};class=Peptide", + "name": "DragonDB Protein at University of British Columbia", + "description": "DragonDB Protein at University of British Columbia", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "AMDEFA", + "resourceHomeUrl": "http://www.antirrhinum.net/", + "institution": { + "id": 867, + "name": "University of British Columbia, Vancouver", + "homeUrl": "https://www.ubc.ca/", + "description": "The University of British Columbia is a global centre for teaching, learning and research, consistently ranked among the top 20 public universities in the world. UBC embraces innovation and transforms ideas into action. Since 1915, UBC has been opening doors of opportunity for people with the curiosity, drive and vision to shape a better world.", + "rorId": "https://ror.org/03rmrcq20", + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AMDEFA", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 871, + "prefix": "dragondb.locus", + "mirId": "MIR:00000299", + "name": "DragonDB Locus", + "pattern": "^\\w+$", + "description": "DragonDB is a genetic and genomic database for Antirrhinum majus (Snapdragon). This collection refers to Locus information.", + "created": "2019-06-11T14:16:47.798+00:00", + "modified": "2019-06-11T14:16:47.798+00:00", + "resources": [ + { + "id": 872, + "mirId": "MIR:00100381", + "urlPattern": "http://antirrhinum.net/cgi-bin/ace/generic/tree/DragonDB?name={$id}&class=Locus", + "name": "DragonDB Locus at University of British Columbia", + "description": "DragonDB Locus at University of British Columbia", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "DEF", + "resourceHomeUrl": "http://www.antirrhinum.net/", + "institution": { + "id": 867, + "name": "University of British Columbia, Vancouver", + "homeUrl": "https://www.ubc.ca/", + "description": "The University of British Columbia is a global centre for teaching, learning and research, consistently ranked among the top 20 public universities in the world. UBC embraces innovation and transforms ideas into action. Since 1915, UBC has been opening doors of opportunity for people with the curiosity, drive and vision to shape a better world.", + "rorId": "https://ror.org/03rmrcq20", + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "DEF", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 875, + "prefix": "issn", + "mirId": "MIR:00000301", + "name": "ISSN", + "pattern": "^\\d{4}-\\d{3}[\\dX]$", + "description": "The International Standard Serial Number (ISSN) is a unique eight-digit number used to identify a print or electronic periodical publication, rather than individual articles or books.", + "created": "2019-06-11T14:16:48.189+00:00", + "modified": "2019-06-11T14:16:48.189+00:00", + "resources": [ + { + "id": 877, + "mirId": "MIR:00100383", + "urlPattern": "https://catalog.loc.gov/vwebv/search?searchCode=STNO&searchArg={$id}&searchType=1&recCount=25", + "name": "ISSN at Library of Congress", + "description": "ISSN at Library of Congress", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "0745-4570", + "resourceHomeUrl": "http://catalog.loc.gov/webvoy.htm", + "institution": { + "id": 876, + "name": "Library of Congress, Washington DC", + "homeUrl": "http://www.loc.gov/", + "description": "The Library of Congress is the largest library in the world, with millions of books, films and video, audio recordings, photographs, newspapers, maps and manuscripts in its collections. The Library is the main research arm of the U.S. Congress and the home of the U.S. Copyright Office.", + "rorId": "https://ror.org/04p405e02", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 879, + "mirId": "MIR:00100924", + "urlPattern": "https://portal.issn.org/resource/ISSN/{$id}", + "name": "ISSN Portal", + "description": "ISSN Portal", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1776-3045", + "resourceHomeUrl": "https://portal.issn.org", + "institution": { + "id": 878, + "name": "ISSN International Centre, Paris", + "homeUrl": "https://www.issn.org/", + "description": "The CIEPS, also known as the ISSN International Centre, is an intergovernmental organization which manages at the international level the identification and description of serial publications and ongoing resources, print and online, in any subject.", + "rorId": null, + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0745-4570", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 880, + "prefix": "merops.family", + "mirId": "MIR:00000302", + "name": "MEROPS Family", + "pattern": "^[SCTAGMNU]\\d+$", + "description": "The MEROPS database is an information resource for peptidases (also termed proteases, proteinases and proteolytic enzymes) and the proteins that inhibit them. These are hierarchically classified and assigned to a Family on the basis of statistically significant similarities in amino acid sequence. Families thought to be homologous are grouped together in a Clan. This collection references peptidase families.", + "created": "2019-06-11T14:16:48.579+00:00", + "modified": "2019-06-11T14:16:48.579+00:00", + "resources": [ + { + "id": 881, + "mirId": "MIR:00100384", + "urlPattern": "http://merops.sanger.ac.uk/cgi-bin/famsum?family={$id}", + "name": "Merops Family at Sanger Institute", + "description": "Merops Family at Sanger Institute", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "S1", + "resourceHomeUrl": "http://merops.sanger.ac.uk/index.htm", + "institution": { + "id": 210, + "name": "Wellcome Trust Sanger Institute", + "homeUrl": "https://www.sanger.ac.uk/", + "description": "We tackle some of the most difficult challenges in genomic research. This demands science at scale; a visionary and creative approach to research that pushes the boundaries of our understanding in ever new and exciting ways.", + "rorId": "https://ror.org/05cy4wa09", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "S1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 882, + "prefix": "mo", + "mirId": "MIR:00000303", + "name": "MGED Ontology", + "pattern": "^\\w+$", + "description": "The MGED Ontology (MO) provides terms for annotating all aspects of a microarray experiment from the design of the experiment and array layout, through to the preparation of the biological sample and the protocols used to hybridize the RNA and analyze the data.", + "created": "2019-06-11T14:16:48.772+00:00", + "modified": "2019-06-11T14:16:48.772+00:00", + "resources": [ + { + "id": 885, + "mirId": "MIR:00100568", + "urlPattern": "https://mged.sourceforge.net/ontologies/MGEDontology.php#{$id}", + "name": "MGED Ontology at SourceForge", + "description": "MGED Ontology at SourceForge", + "official": false, + "providerCode": "ebi", + "sampleId": "ArrayGroup", + "resourceHomeUrl": "https://mged.sourceforge.net/ontologies/MGEDontology.php", + "institution": { + "id": 884, + "name": "(Ontology Working Group), European Bioinformatics Institute, Hinxton, Cambridge", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 883, + "mirId": "MIR:00100385", + "urlPattern": "http://purl.bioontology.org/ontology/MO/{$id}", + "name": "MGED Ontology at BioPortal", + "description": "MGED Ontology at BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "ArrayGroup", + "resourceHomeUrl": "http://bioportal.bioontology.org/", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ArrayGroup", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 886, + "prefix": "nasc", + "mirId": "MIR:00000304", + "name": "NASC code", + "pattern": "^(\\w+)?\\d+$", + "description": "The Nottingham Arabidopsis Stock Centre (NASC) provides seed and information resources to the International Arabidopsis Genome Programme and the wider research community.", + "created": "2019-06-11T14:16:49.131+00:00", + "modified": "2019-06-11T14:16:49.131+00:00", + "resources": [ + { + "id": 888, + "mirId": "MIR:00100386", + "urlPattern": "http://arabidopsis.info/StockInfo?NASC_id={$id}", + "name": "NASC at University of Nottingham", + "description": "NASC at University of Nottingham", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "N1899", + "resourceHomeUrl": "http://arabidopsis.info/", + "institution": { + "id": 887, + "name": "The Nottingham Arabidopsis Stock Centre, University of Nottingham", + "homeUrl": "https://arabidopsis.info/", + "description": "The Nottingham Arabidopsis Stock Centre (NASC) provides seed and information resources to the International Arabidopsis Genome Programme and the wider research community. ", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "N1899", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1347, + "prefix": "vfdb.gene", + "mirId": "MIR:00000472", + "name": "VFDB Gene", + "pattern": "^\\w+$", + "description": "VFDB is a repository of virulence factors (VFs) of pathogenic bacteria.This collection references VF genes.", + "created": "2019-06-11T14:17:28.027+00:00", + "modified": "2019-06-11T14:17:28.027+00:00", + "resources": [ + { + "id": 1348, + "mirId": "MIR:00100607", + "urlPattern": "http://www.mgc.ac.cn/cgi-bin/VFs/gene.cgi?GeneID={$id}", + "name": "VFDB Gene at Institute of Pathogen Biology", + "description": "VFDB Gene at Institute of Pathogen Biology", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "VFG2154", + "resourceHomeUrl": "http://www.mgc.ac.cn/VFs/", + "institution": { + "id": 1345, + "name": "State Key Laboratory for Molecular Virology and Genetic Engineering, Institute of Pathogen Biology, Chinese Academy Medical Sciences and Peking Union Medical College, Beijing", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "VFG2154", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 889, + "prefix": "niaest", + "mirId": "MIR:00000305", + "name": "NIAEST", + "pattern": "^\\w\\d{4}\\w\\d{2}(\\-[35])?$", + "description": "A catalog of mouse genes expressed in early embryos, embryonic and adult stem cells, including 250000 ESTs, was assembled by the NIA (National Institute on Aging) assembled.This collection represents the name and sequence from individual cDNA clones.", + "created": "2019-06-11T14:16:49.376+00:00", + "modified": "2019-06-11T14:16:49.376+00:00", + "resources": [ + { + "id": 891, + "mirId": "MIR:00100387", + "urlPattern": "http://lgsun.grc.nia.nih.gov/cgi-bin/pro3?sname1={$id}", + "name": "NIAEST at National Institute on Aging", + "description": "NIAEST at National Institute on Aging", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "J0705A10", + "resourceHomeUrl": "http://lgsun.grc.nia.nih.gov/cDNA/", + "institution": { + "id": 890, + "name": "National Institute on Aging, NIH", + "homeUrl": "https://www.nia.nih.gov/", + "description": "NIA leads a broad scientific effort to understand the nature of aging and to extend the healthy, active years of life. NIA is the primary federal agency supporting and conducting Alzheimer's disease research.", + "rorId": "https://ror.org/049v75w11", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "J0705A10", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 892, + "prefix": "pazar", + "mirId": "MIR:00000306", + "name": "Pazar Transcription Factor", + "pattern": "^TF\\w+$", + "description": "The PAZAR database unites independently created and maintained data collections of transcription factor and regulatory sequence annotation. It provides information on the sequence and target of individual transcription factors.", + "created": "2019-06-11T14:16:49.605+00:00", + "modified": "2019-06-11T14:16:49.605+00:00", + "resources": [ + { + "id": 894, + "mirId": "MIR:00100388", + "urlPattern": "http://www.pazar.info/cgi-bin/tf_search.cgi?geneID={$id}", + "name": "Pazar Transcription Factor at University of British Columbia", + "description": "Pazar Transcription Factor at University of British Columbia", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "TF0001053", + "resourceHomeUrl": "http://www.pazar.info/", + "institution": { + "id": 893, + "name": "Centre for Molecular Medicine and Therapeutics, University of British Columbia, Vancouver", + "homeUrl": "https://www.grad.ubc.ca/research-centre/centre-molecular-medicine-therapeutics", + "description": "The Centre for Molecular Medicine and Therapeutics is dedicated to unravelling and solving the many genetic questions surrounding human illness and well-being, and finding novel approaches to treatment and prevention that can overcome the causes of illness.", + "rorId": null, + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "TF0001053", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 895, + "prefix": "po", + "mirId": "MIR:00000307", + "name": "Plant Ontology", + "pattern": "^PO:\\d+$", + "description": "The Plant Ontology is a structured vocabulary and database resource that links plant anatomy, morphology and growth and development to plant genomics data.", + "created": "2019-06-11T14:16:49.830+00:00", + "modified": "2019-06-11T14:16:49.830+00:00", + "resources": [ + { + "id": 898, + "mirId": "MIR:00100390", + "urlPattern": "http://purl.bioontology.org/ontology/PO/PO:{$id}", + "name": "Plant Ontology through BioPortal", + "description": "Plant Ontology through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "0009089", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/PO", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 899, + "mirId": "MIR:00100676", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/po/terms?obo_id=PO:{$id}", + "name": "Plant Ontology through OLS", + "description": "Plant Ontology through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "0009089", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/po", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 897, + "mirId": "MIR:00100389", + "urlPattern": "http://www.plantontology.org/amigo/go.cgi?view=details&query=PO:{$id}", + "name": "Plant Ontology through Amigo", + "description": "Plant Ontology through Amigo", + "official": false, + "providerCode": "amigo", + "sampleId": "0009089", + "resourceHomeUrl": "http://www.plantontology.org/", + "institution": { + "id": 131, + "name": "Cold Spring Harbor Laboratory", + "homeUrl": "https://www.cshl.edu/", + "description": "Founded in 1890, Cold Spring Harbor Laboratory has shaped contemporary biomedical research and education with programs in cancer, neuroscience, plant biology and quantitative biology. Home to eight Nobel Prize winners, the private, not-for-profit Laboratory employs 1,000 people including 600 scientists, students and technicians. The Meetings & Courses Program hosts more than 12,000 scientists from around the world each year on its campuses in Long Island and in Suzhou, China. The Laboratory\u2019s education arm also includes an academic publishing house, a graduate school and programs for middle, high school, and undergraduate students and teachers.", + "rorId": "https://ror.org/02qz8b764", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0009089", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 900, + "prefix": "rnamods", + "mirId": "MIR:00000308", + "name": "RNA Modification Database", + "pattern": "^\\d{3}$", + "description": "The RNA modification database provides a comprehensive listing of post-transcriptionally modified nucleosides from RNA. The database consists of all RNA-derived ribonucleosides of known structure, including those from established sequence positions, as well as those detected or characterized from hydrolysates of RNA.", + "created": "2019-06-11T14:16:50.326+00:00", + "modified": "2019-06-11T14:16:50.326+00:00", + "resources": [ + { + "id": 902, + "mirId": "MIR:00100391", + "urlPattern": "http://mods.rna.albany.edu/mods/modifications/view/{$id}", + "name": "RNA Modification Database at University of Utah", + "description": "RNA Modification Database at University of Utah", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "101", + "resourceHomeUrl": "http://rna-mdb.cas.albany.edu/RNAmods/rnaover.htm", + "institution": { + "id": 901, + "name": "Department of Medicinal Chemistry and Department of Biochemistry, University of Utah, Salt Lake City, Utah", + "homeUrl": "https://medicine.utah.edu/biochemistry", + "description": "We are a diverse and inclusive community conducting biochemical research at the forefront of current knowledge; educating medical students, graduate students and fellows; and serving the institution, the extended scientific community, and society at large. Our particular focus is the characterization of macromolecules and biological processes at the molecular level. Research groups in the department determine the structures of biological macromolecules, elucidate the mechanisms by which they function, and translate this information to advance research technology and medicine.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "101", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 903, + "prefix": "treebase", + "mirId": "MIR:00000312", + "name": "TreeBASE", + "pattern": "^TB[1,2]?:[A-Z][a-z]?\\d+$", + "description": "TreeBASE is a relational database designed to manage and explore information on phylogenetic relationships. It includes phylogenetic trees and data matrices, together with information about the relevant publication, taxa, morphological and sequence-based characters, and published analyses. Data in TreeBASE are exposed to the public if they are used in a publication that is in press or published in a peer-reviewed scientific journal, etc.", + "created": "2019-06-11T14:16:50.556+00:00", + "modified": "2019-06-11T14:16:50.556+00:00", + "resources": [ + { + "id": 905, + "mirId": "MIR:00100395", + "urlPattern": "http://purl.org/phylo/treebase/phylows/study/{$id}?format=html", + "name": "TreeBASE (hosted at National Evolutionary Synthesis Center)", + "description": "TreeBASE (hosted at National Evolutionary Synthesis Center)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "TB2:S1000", + "resourceHomeUrl": "http://treebase.org/", + "institution": { + "id": 904, + "name": "Phyloinformatics Research Foundation, Durham, North Carolina", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "TB2:S1000", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1235, + "prefix": "cst.ab", + "mirId": "MIR:00000430", + "name": "Cell Signaling Technology Antibody", + "pattern": "^\\d+$", + "description": "Cell Signaling Technology is a commercial organisation which provides a pathway portal to showcase their phospho-antibody products. This collection references antibody products.", + "created": "2019-06-11T14:17:18.559+00:00", + "modified": "2019-06-11T14:17:18.559+00:00", + "resources": [ + { + "id": 1236, + "mirId": "MIR:00100553", + "urlPattern": "http://www.cellsignal.com/products/{$id}.html", + "name": "CST Antibody at Cell Signaling Technology", + "description": "CST Antibody at Cell Signaling Technology", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "3305", + "resourceHomeUrl": "http://www.cellsignal.com/catalog/index.html", + "institution": { + "id": 339, + "name": "Cell Signaling Technology, Inc.", + "homeUrl": "https://www.cellsignal.com/", + "description": "Cell Signaling Technology (CST) is a different kind of life sciences company\u2014one founded, owned, and run by active research scientists, with the highest standards of product and service quality, technological innovation, and scientific rigor for over 20 years. We consistently provide fellow scientists around the globe with best-in-class products and services to fuel their quests for discovery.", + "rorId": "https://ror.org/03k4zc121", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "3305", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 906, + "prefix": "tgd", + "mirId": "MIR:00000313", + "name": "Tetrahymena Genome Database", + "pattern": "^TTHERM\\_\\d+$", + "description": "The Tetrahymena Genome Database (TGD) Wiki is a database of information about the Tetrahymena thermophila genome sequence. It provides information curated from the literature about each published gene, including a standardized gene name, a link to the genomic locus, gene product annotations utilizing the Gene Ontology, and links to published literature.", + "created": "2019-06-11T14:16:50.779+00:00", + "modified": "2019-06-11T14:16:50.779+00:00", + "resources": [ + { + "id": 907, + "mirId": "MIR:00100396", + "urlPattern": "http://ciliate.org/index.php/feature/details/{$id}", + "name": "TGD at Stanford University", + "description": "TGD at Stanford University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "TTHERM_00648910", + "resourceHomeUrl": "http://ciliate.org/index.php/", + "institution": { + "id": 298, + "name": "Department of Genetics, School of Medicine, Stanford University, Stanford, California", + "homeUrl": "https://med.stanford.edu/genetics.html", + "description": "A leader in the biomedical revolution, Stanford Medicine has a long tradition of leadership in pioneering research, creative teaching protocols and effective clinical therapies.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "TTHERM_00648910", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 908, + "prefix": "tigrfam", + "mirId": "MIR:00000315", + "name": "TIGRFAMS", + "pattern": "^TIGR\\d+$", + "description": "TIGRFAMs is a resource consisting of curated multiple sequence alignments, Hidden Markov Models (HMMs) for protein sequence classification, and associated information designed to support automated annotation of (mostly prokaryotic) proteins.", + "created": "2019-06-11T14:16:50.975+00:00", + "modified": "2019-06-11T14:16:50.975+00:00", + "resources": [ + { + "id": 910, + "mirId": "MIR:00100398", + "urlPattern": "http://www.jcvi.org/cgi-bin/tigrfams/HmmReportPage.cgi?acc={$id}", + "name": "TIGRFAM at JCVI", + "description": "TIGRFAM at JCVI", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "TIGR00010", + "resourceHomeUrl": "http://www.jcvi.org/cgi-bin/tigrfams/Listing.cgi", + "institution": { + "id": 909, + "name": "The Institute for Genomic Research, Rockville, Maryland", + "homeUrl": "https://www.jcvi.org/", + "description": "The J. Craig Venter Institute (JCVI) is a world leader in genomic research with approximately 120 scientists and staff who are bold innovators fearlessly pursuing revolutionary ideas. With a long track-record of creativity and an interdisciplinary approach to genomics, JCVI is committed to accelerating foundational scientific research to drive advances in human health and environmental sustainability.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "TIGR00010", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 911, + "prefix": "atfdb.family", + "mirId": "MIR:00000316", + "name": "Animal TFDB Family", + "pattern": "^\\w+$", + "description": "The Animal Transcription Factor DataBase (AnimalTFDB) classifies TFs in sequenced animal genomes, as well as collecting the transcription co-factors and chromatin remodeling factors of those genomes. This collections refers to transcription factor families, and the species in which they are found.", + "created": "2019-06-11T14:16:51.241+00:00", + "modified": "2019-06-11T14:16:51.241+00:00", + "resources": [ + { + "id": 913, + "mirId": "MIR:00100399", + "urlPattern": "http://www.bioguo.org/AnimalTFDB/family.php?fam={$id}", + "name": "Animal TFDB at Hubei Bioinformatics & Molecular Imaging Key Laboratory", + "description": "Animal TFDB at Hubei Bioinformatics & Molecular Imaging Key Laboratory", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "CUT", + "resourceHomeUrl": "http://www.bioguo.org/AnimalTFDB/family_index.php", + "institution": { + "id": 912, + "name": "Hubei Bioinformatics and Molecular Imaging Key Laboratory, Wuhan", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CUT", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 914, + "prefix": "iuphar.family", + "mirId": "MIR:00000317", + "name": "IUPHAR family", + "pattern": "^\\d+$", + "description": "The IUPHAR Compendium details the molecular, biophysical and pharmacological properties of identified mammalian sodium, calcium and potassium channels, as well as the related cyclic nucleotide-modulated ion channels and the recently described transient receptor potential channels. It includes information on nomenclature systems, and on inter and intra-species molecular structure variation. This collection references families of receptors or subunits.", + "created": "2019-06-11T14:16:51.481+00:00", + "modified": "2019-06-11T14:16:51.481+00:00", + "resources": [ + { + "id": 916, + "mirId": "MIR:00100708", + "urlPattern": "http://www.guidetopharmacology.org/GRAC/FamilyDisplayForward?familyId={$id}", + "name": "The IUPHAR/BPS Guide to PHARMACOLOGY", + "description": "The IUPHAR/BPS Guide to PHARMACOLOGY", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "78", + "resourceHomeUrl": "http://www.guidetopharmacology.org/", + "institution": { + "id": 915, + "name": "International Union of Pharmacology, Edinburgh", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "78", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 917, + "prefix": "dbg2introns", + "mirId": "MIR:00000318", + "name": "DBG2 Introns", + "pattern": "^\\w{1,2}\\.(\\w{1,2}\\.)?[A-Za-z0-9]+$", + "description": "The Database for Bacterial Group II Introns provides a catalogue of full-length, non-redundant group II introns present in bacterial DNA sequences in GenBank.", + "created": "2019-06-11T14:16:51.708+00:00", + "modified": "2019-06-11T14:16:51.708+00:00", + "resources": [ + { + "id": 919, + "mirId": "MIR:00100401", + "urlPattern": "http://webapps2.ucalgary.ca/~groupii/cgi-bin/intron.cgi?name={$id}", + "name": "Bacterial Group II Introns at University of Calgary", + "description": "Bacterial Group II Introns at University of Calgary", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Cu.me.I1", + "resourceHomeUrl": "http://webapps2.ucalgary.ca/~groupii/", + "institution": { + "id": 568, + "name": "University of Calgary", + "homeUrl": "https://www.ucalgary.ca/", + "description": "The University of Calgary is one of Canada\u2019s top comprehensive research universities, combining the best of university tradition with the city of Calgary\u2019s vibrant energy and diversity.", + "rorId": "https://ror.org/03yjb2x39", + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Cu.me.I1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 920, + "prefix": "sdbs", + "mirId": "MIR:00000319", + "name": "Spectral Database for Organic Compounds", + "pattern": "\\d+$", + "description": "The Spectral Database for Organic Compounds (SDBS) is an integrated spectral database system for organic compounds. It provides access to 6 different types of spectra for each compound, including Mass spectrum (EI-MS), a Fourier transform infrared spectrum (FT-IR), and NMR spectra.", + "created": "2019-06-11T14:16:51.940+00:00", + "modified": "2019-06-11T14:16:51.940+00:00", + "resources": [ + { + "id": 922, + "mirId": "MIR:00100402", + "urlPattern": "http://riodb01.ibase.aist.go.jp/sdbs/cgi-bin/cre_frame_disp.cgi?sdbsno={$id}", + "name": "SDBS at AIST", + "description": "SDBS at AIST", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "4544", + "resourceHomeUrl": "http://riodb01.ibase.aist.go.jp/sdbs/cgi-bin/direct_frame_top.cgi", + "institution": { + "id": 921, + "name": "National Institute of Advanced Industrial Science and Technology (AIST)", + "homeUrl": "https://www.aist.go.jp/index_en.html", + "description": "The National Institute of Advanced Industrial Science and Technology (AIST), one of the largest public research organizations in Japan, focuses on the creation and practical realization of technologies useful to Japanese industry and society, and on \u201cbridging\u201d the gap between innovative technological seeds and commercialization.", + "rorId": "https://ror.org/01703db54", + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "4544", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 926, + "prefix": "spike.map", + "mirId": "MIR:00000321", + "name": "SPIKE Map", + "pattern": "^spike\\d{5}$", + "description": "SPIKE (Signaling Pathways Integrated Knowledge Engine) is a repository that can store, organise and allow retrieval of pathway information in a way that will be useful for the research community. The database currently focuses primarily on pathways describing DNA damage response, cell cycle, programmed cell death and hearing related pathways. Pathways are regularly updated, and additional pathways are gradually added. The complete database and the individual maps are freely exportable in several formats. This collection references pathway maps.", + "created": "2019-06-11T14:16:52.396+00:00", + "modified": "2019-06-11T14:16:52.396+00:00", + "resources": [ + { + "id": 928, + "mirId": "MIR:00100404", + "urlPattern": "http://www.cs.tau.ac.il/~spike/maps/{$id}.html", + "name": "SPIKE database at Tel Aviv University", + "description": "SPIKE database at Tel Aviv University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "spike00001", + "resourceHomeUrl": "http://www.cs.tau.ac.il/~spike/", + "institution": { + "id": 927, + "name": "School of Computer Sciences and School of Medicine, Tel Aviv University", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "IL", + "countryName": "Israel" + } + }, + "location": { + "countryCode": "IL", + "countryName": "Israel" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "spike00001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 929, + "prefix": "metlin", + "mirId": "MIR:00000322", + "name": "METLIN", + "pattern": "^\\d{4}$", + "description": "The METLIN (Metabolite and Tandem Mass Spectrometry) Database is a repository of metabolite information as well as tandem mass spectrometry data, providing public access to its comprehensive MS and MS/MS metabolite data. An annotated list of known metabolites and their mass, chemical formula, and structure are available, with each metabolite linked to external resources for further reference and inquiry.", + "created": "2019-06-11T14:16:52.640+00:00", + "modified": "2019-06-11T14:16:52.640+00:00", + "resources": [ + { + "id": 931, + "mirId": "MIR:00100406", + "urlPattern": "http://metlin.scripps.edu/metabo_info.php?molid={$id}", + "name": "METLIN at Scripps Center, Molecular Biology and Center for Mass Spectrometry, La Jolla", + "description": "METLIN at Scripps Center, Molecular Biology and Center for Mass Spectrometry, La Jolla", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1455", + "resourceHomeUrl": "http://masspec.scripps.edu/", + "institution": { + "id": 930, + "name": "Scripps Research Institute, San Diego", + "homeUrl": "http://www.scripps.edu/", + "description": "Scripps Research is ranked the most influential institution in the world for its impact on innovation. We expand basic knowledge in the biosciences, and use these fundamental advancements to develop profound innovations that improve wellbeing. Our researchers lead breakthrough studies that address the world\u2019s most pressing health concerns. Our educational and training programs mold talented and committed students and postdocs into the next generation of leading scientists. We are accelerating the creation and delivery of medical breakthroughs to better human health around the globe.", + "rorId": "https://ror.org/02dxx6824", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1455", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 932, + "prefix": "genecards", + "mirId": "MIR:00000323", + "name": "GeneCards", + "pattern": "^[A-Za-z-0-9_]+(\\@)?$", + "description": "The GeneCards human gene database stores gene related transcriptomic, genetic, proteomic, functional and disease information. It uses standard nomenclature and approved gene symbols. GeneCards presents a complete summary for each human gene.", + "created": "2019-06-11T14:16:52.858+00:00", + "modified": "2019-06-11T14:16:52.858+00:00", + "resources": [ + { + "id": 934, + "mirId": "MIR:00100407", + "urlPattern": "https://www.genecards.org/cgi-bin/carddisp.pl?gene={$id}", + "name": "GeneCards at Weizmann Institute", + "description": "GeneCards at Weizmann Institute", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ABL1", + "resourceHomeUrl": "http://www.genecards.org/", + "institution": { + "id": 933, + "name": "Department of Molecular Genetics, Weizmann Institute of Science, Rehovot", + "homeUrl": "https://www.weizmann.ac.il/molgen/", + "description": "The Department of Molecular Genetics investigates the molecular, cellular and genetic mechanisms that underlie basic biological processes in complex organisms, such as human, mouse and fruit fly, at the level of single cell organisms, including bacteria and yeast.", + "rorId": null, + "location": { + "countryCode": "IL", + "countryName": "Israel" + } + }, + "location": { + "countryCode": "IL", + "countryName": "Israel" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ABL1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 938, + "prefix": "umbbd.reaction", + "mirId": "MIR:00000325", + "name": "UM-BBD Reaction", + "pattern": "^r\\d+$", + "description": "The University of Minnesota Biocatalysis/Biodegradation Database (UM-BBD) contains information on microbial biocatalytic reactions and biodegradation pathways for primarily xenobiotic, chemical compounds. The goal of the UM-BBD is to provide information on microbial enzyme-catalyzed reactions that are important for biotechnology. This collection refers to reaction information.", + "created": "2019-06-11T14:16:53.335+00:00", + "modified": "2019-06-11T14:16:53.335+00:00", + "resources": [ + { + "id": 939, + "mirId": "MIR:00100416", + "urlPattern": "http://umbbd.ethz.ch/servlets/pageservlet?ptype=r&reacID={$id}", + "name": "Biocatalysis/Biodegradation Database Mirror (Reaction) at ETH Zurich", + "description": "Biocatalysis/Biodegradation Database Mirror (Reaction) at ETH Zurich", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "r0001", + "resourceHomeUrl": "http://umbbd.ethz.ch/", + "institution": { + "id": 2483, + "name": "ETH Zurich", + "homeUrl": "https://ethz.ch/en.html", + "description": "We serve society by educating the next generations of critical and creative thinkers and doers. With our research, we create knowledge and develop technologies to meet the global challenges of our time. We project a future-\u200b\u200boriented and innovative image of Switzerland to the world and network our country with the global community. Together with our partners from science, business, politics and society, we rely on the power of teamwork and strive for excellence - in everything we do.", + "rorId": "https://ror.org/05a28rw58", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "r0001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 940, + "prefix": "umbbd.enzyme", + "mirId": "MIR:00000326", + "name": "UM-BBD Enzyme", + "pattern": "^e\\d+$", + "description": "The University of Minnesota Biocatalysis/Biodegradation Database (UM-BBD) contains information on microbial biocatalytic reactions and biodegradation pathways for primarily xenobiotic, chemical compounds. The goal of the UM-BBD is to provide information on microbial enzyme-catalyzed reactions that are important for biotechnology. This collection refers to enzyme information.", + "created": "2019-06-11T14:16:53.546+00:00", + "modified": "2019-06-11T14:16:53.546+00:00", + "resources": [ + { + "id": 941, + "mirId": "MIR:00100418", + "urlPattern": "http://umbbd.ethz.ch/servlets/pageservlet?ptype=ep&enzymeID={$id}", + "name": "Biocatalysis/Biodegradation Database Mirror (Enzyme) at ETH Zurich", + "description": "Biocatalysis/Biodegradation Database Mirror (Enzyme) at ETH Zurich", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "e0333", + "resourceHomeUrl": "http://umbbd.ethz.ch/", + "institution": { + "id": 2483, + "name": "ETH Zurich", + "homeUrl": "https://ethz.ch/en.html", + "description": "We serve society by educating the next generations of critical and creative thinkers and doers. With our research, we create knowledge and develop technologies to meet the global challenges of our time. We project a future-\u200b\u200boriented and innovative image of Switzerland to the world and network our country with the global community. Together with our partners from science, business, politics and society, we rely on the power of teamwork and strive for excellence - in everything we do.", + "rorId": "https://ror.org/05a28rw58", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "e0333", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 942, + "prefix": "umbbd.pathway", + "mirId": "MIR:00000327", + "name": "UM-BBD Pathway", + "pattern": "^\\w+$", + "description": "The University of Minnesota Biocatalysis/Biodegradation Database (UM-BBD) contains information on microbial biocatalytic reactions and biodegradation pathways for primarily xenobiotic, chemical compounds. The goal of the UM-BBD is to provide information on microbial enzyme-catalyzed reactions that are important for biotechnology. This collection refers to pathway information.", + "created": "2019-06-11T14:16:53.741+00:00", + "modified": "2019-06-11T14:16:53.741+00:00", + "resources": [ + { + "id": 943, + "mirId": "MIR:00100420", + "urlPattern": "http://umbbd.ethz.ch/servlets/pageservlet?ptype=p&pathway_abbr={$id}", + "name": "Biocatalysis/Biodegradation Database Mirror (Pathway) at ETH Zurich", + "description": "Biocatalysis/Biodegradation Database Mirror (Pathway) at ETH Zurich", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ala", + "resourceHomeUrl": "http://umbbd.ethz.ch/", + "institution": { + "id": 2483, + "name": "ETH Zurich", + "homeUrl": "https://ethz.ch/en.html", + "description": "We serve society by educating the next generations of critical and creative thinkers and doers. With our research, we create knowledge and develop technologies to meet the global challenges of our time. We project a future-\u200b\u200boriented and innovative image of Switzerland to the world and network our country with the global community. Together with our partners from science, business, politics and society, we rely on the power of teamwork and strive for excellence - in everything we do.", + "rorId": "https://ror.org/05a28rw58", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ala", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 944, + "prefix": "umbbd.rule", + "mirId": "MIR:00000328", + "name": "UM-BBD Biotransformation Rule", + "pattern": "^bt\\d+$", + "description": "The University of Minnesota Biocatalysis/Biodegradation Database (UM-BBD) contains information on microbial biocatalytic reactions and biodegradation pathways for primarily xenobiotic, chemical compounds. The UM-BBD Pathway Prediction System (PPS) predicts microbial catabolic reactions using substructure searching, a rule-base, and atom-to-atom mapping. The PPS recognizes organic functional groups found in a compound and predicts transformations based on biotransformation rules. These rules are based on reactions found in the UM-BBD database. This collection references those rules.", + "created": "2019-06-11T14:16:53.927+00:00", + "modified": "2019-06-11T14:16:53.927+00:00", + "resources": [ + { + "id": 945, + "mirId": "MIR:00100421", + "urlPattern": "http://www.umbbd.ethz.ch/servlets/rule.jsp?rule={$id}", + "name": "Biocatalysis/Biodegradation Database Mirror (Biotransformation Rule) at ETH Zurich", + "description": "Biocatalysis/Biodegradation Database Mirror (Biotransformation Rule) at ETH Zurich", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "bt0001", + "resourceHomeUrl": "http://umbbd.ethz.ch/servlets/pageservlet?ptype=allrules", + "institution": { + "id": 2483, + "name": "ETH Zurich", + "homeUrl": "https://ethz.ch/en.html", + "description": "We serve society by educating the next generations of critical and creative thinkers and doers. With our research, we create knowledge and develop technologies to meet the global challenges of our time. We project a future-\u200b\u200boriented and innovative image of Switzerland to the world and network our country with the global community. Together with our partners from science, business, politics and society, we rely on the power of teamwork and strive for excellence - in everything we do.", + "rorId": "https://ror.org/05a28rw58", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "bt0001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 946, + "prefix": "mirex", + "mirId": "MIR:00000329", + "name": "mirEX", + "pattern": "^\\d+(\\w+)?$", + "description": "mirEX is a comprehensive platform for comparative analysis of primary microRNA expression data, storing RT\u2013qPCR-based gene expression profile over seven development stages of Arabidopsis. It also provides RNA structural models, publicly available deep sequencing results and experimental procedure details. This collection provides profile information for a single microRNA over all development stages.", + "created": "2019-06-11T14:16:54.147+00:00", + "modified": "2019-06-11T14:16:54.147+00:00", + "resources": [ + { + "id": 947, + "mirId": "MIR:00100423", + "urlPattern": "http://comgen.pl/mirex1/?page=results/record&name={$id}&exref=pp2a&limit=yes", + "name": "mirEX at Adam Mickiewicz University", + "description": "mirEX at Adam Mickiewicz University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "165a", + "resourceHomeUrl": "http://comgen.pl/mirex/?page=home", + "institution": { + "id": 731, + "name": "Institute of Molecular Biology, Adam Mickiewicz University, Poznan", + "homeUrl": "https://amu.edu.pl/en/main-page/amu-directory/faculties/faculty-of-biology", + "description": "The Faculty of Biology's fundamental rule is the integrity of research, education, and knowledge popularization. Its high scientific status has been confirmed by the prestigious title of the National Scientific Leadership Center (KNOW), obtained together with the Institute of Bioorganic Chemistry, Polish Academy of Sciences, Pozna\u0144, awarded to scientific institutions conducting world-class research.", + "rorId": null, + "location": { + "countryCode": "PL", + "countryName": "Poland" + } + }, + "location": { + "countryCode": "PL", + "countryName": "Poland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "165a", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 948, + "prefix": "dictybase.est", + "mirId": "MIR:00000330", + "name": "Dictybase EST", + "pattern": "^DDB\\d+$", + "description": "The dictyBase database provides data on the model organism Dictyostelium discoideum and related species. It contains the complete genome sequence, ESTs, gene models and functional annotations. This collection references expressed sequence tag (EST) information.", + "created": "2019-06-11T14:16:54.345+00:00", + "modified": "2019-06-11T14:16:54.345+00:00", + "resources": [ + { + "id": 949, + "mirId": "MIR:00100424", + "urlPattern": "http://dictybase.org/db/cgi-bin/feature_page.pl?primary_id={$id}", + "name": "Dictybase Gene at Northwestern University", + "description": "Dictybase Gene at Northwestern University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "DDB0016567", + "resourceHomeUrl": "http://dictybase.org/", + "institution": { + "id": 840, + "name": "Northwestern University Biomedical Informatics Center and Center for Genetic Medicine, Chicago, Illinois", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "DDB0016567", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1768, + "prefix": "mobidb", + "mirId": "MIR:00000637", + "name": "MobiDB", + "pattern": "^[OPQ][0-9][A-Z0-9]{3}[0-9]|[A-NR-Z][0-9]([A-Z][A-Z0-9]{2}[0-9]){1,2}$", + "description": "MobiDB is a database of protein disorder and mobility annotations.", + "created": "2019-06-11T14:18:08.223+00:00", + "modified": "2019-06-11T14:18:08.223+00:00", + "resources": [ + { + "id": 1770, + "mirId": "MIR:00100842", + "urlPattern": "https://mobidb.org/{$id}", + "name": "MobiDB", + "description": "MobiDB", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "P10636", + "resourceHomeUrl": "https://mobidb.org/", + "institution": { + "id": 1769, + "name": "University of Padua", + "homeUrl": "https://www.unipd.it/en/", + "description": "he University of Padua is one of Europe\u2019s oldest and most prestigious seats of learning. As a multi-disciplinary institute of higher education, the University aims to provide its students with professional training and a solid cultural background. The qualification received from the University of Padua act as a symbol of the ambitious objectives respected and coveted by both students and employers alike.", + "rorId": "https://ror.org/00240q980", + "location": { + "countryCode": "IT", + "countryName": "Italy" + } + }, + "location": { + "countryCode": "IT", + "countryName": "Italy" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "P10636", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 950, + "prefix": "imgt.hla", + "mirId": "MIR:00000331", + "name": "IMGT HLA", + "pattern": "^[A-Z0-9*:]+$", + "description": "IMGT, the international ImMunoGeneTics project, is a collection of high-quality integrated databases specialising in Immunoglobulins, T cell receptors and the Major Histocompatibility Complex (MHC) of all vertebrate species. IMGT/HLA is a database for sequences of the human MHC, referred to as HLA. It includes all the official sequences for the WHO Nomenclature Committee For Factors of the HLA System. This collection references allele information through the WHO nomenclature.", + "created": "2019-06-11T14:16:54.535+00:00", + "modified": "2019-06-11T14:16:54.535+00:00", + "resources": [ + { + "id": 951, + "mirId": "MIR:00100425", + "urlPattern": "https://www.ebi.ac.uk/cgi-bin/imgt/hla/get_allele.cgi?{$id}", + "name": "IMGT HLA at EBI", + "description": "IMGT HLA at EBI", + "official": false, + "providerCode": "ebi", + "sampleId": "A*01:01:01:01", + "resourceHomeUrl": "https://www.ebi.ac.uk/imgt/hla/allele.html", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "A*01:01:01:01", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 952, + "prefix": "bdsc", + "mirId": "MIR:00000332", + "name": "Bloomington Drosophila Stock Center", + "pattern": "^\\d+$", + "description": "The Bloomington Drosophila Stock Center collects, maintains and distributes Drosophila melanogaster strains for research.", + "created": "2019-06-11T14:16:54.741+00:00", + "modified": "2019-06-11T14:16:54.741+00:00", + "resources": [ + { + "id": 954, + "mirId": "MIR:00100426", + "urlPattern": "https://bdsc.indiana.edu/stocks/{$id}", + "name": "BDSC at Indiana University", + "description": "BDSC at Indiana University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "33607", + "resourceHomeUrl": "https://bdsc.indiana.edu/about/mission.html", + "institution": { + "id": 953, + "name": "Department of Biology, Indiana University, Bloomington", + "homeUrl": "https://biology.indiana.edu/", + "description": "IU Biology is nationally recognized as an outstanding example of an integrated and unified department. We provide undergraduate and graduate students access to the full breadth of the exciting and dynamic fields within the biological sciences. Our students benefit from vibrant research programs and access to the latest technologies in research and teaching facilities.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "33607", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 955, + "prefix": "opm", + "mirId": "MIR:00000333", + "name": "OPM", + "pattern": "^[0-9][A-Za-z0-9]{3}$", + "description": "The Orientations of Proteins in Membranes (OPM) database provides spatial positions of membrane-bound peptides and proteins of known three-dimensional structure in the lipid bilayer, together with their structural classification, topology and intracellular localization.", + "created": "2019-06-11T14:16:54.970+00:00", + "modified": "2019-06-11T14:16:54.970+00:00", + "resources": [ + { + "id": 957, + "mirId": "MIR:00100427", + "urlPattern": "http://opm.phar.umich.edu/protein.php?pdbid={$id}", + "name": "OPM at University of Michigan", + "description": "OPM at University of Michigan", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1h68", + "resourceHomeUrl": "http://opm.phar.umich.edu/", + "institution": { + "id": 956, + "name": "Department of Medicinal Chemistry, College of Pharmacy, University of Michigan", + "homeUrl": "https://pharmacy.umich.edu/medchem", + "description": "Our well-earned reputation for academic and research excellence makes Michigan\u2019s PharmD and PhD programs among the most sought out in the U.S. Contributing to our standing is our enviable record of faculty and alumni success. No college of pharmacy has had \u2014 or continues to have \u2014 a greater positive impact on the world than has the University of Michigan College of Pharmacy. ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1h68", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 958, + "prefix": "allergome", + "mirId": "MIR:00000334", + "name": "Allergome", + "pattern": "^\\d+$", + "description": "Allergome is a repository of data related to all IgE-binding compounds. Its purpose is to collect a list of allergenic sources and molecules by using the widest selection criteria and sources.", + "created": "2019-06-11T14:16:55.214+00:00", + "modified": "2019-06-11T14:16:55.214+00:00", + "resources": [ + { + "id": 960, + "mirId": "MIR:00100429", + "urlPattern": "http://www.allergome.org/script/dettaglio.php?id_molecule={$id}", + "name": "Allergome at Rome", + "description": "Allergome at Rome", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1948", + "resourceHomeUrl": "http://www.allergome.org/", + "institution": { + "id": 959, + "name": "Center for Clinical and Experimental Allergology, Rome", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "IT", + "countryName": "Italy" + } + }, + "location": { + "countryCode": "IT", + "countryName": "Italy" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1948", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 961, + "prefix": "pombase", + "mirId": "MIR:00000335", + "name": "PomBase", + "pattern": "^S\\w+(\\.)?\\w+(\\.)?$", + "description": "PomBase is a model organism database established to provide access to molecular data and biological information for the fission yeast Schizosaccharomyces pombe. It encompasses annotation of genomic sequence and features, comprehensive manual literature curation and genome-wide data sets.", + "created": "2019-06-11T14:16:55.438+00:00", + "modified": "2019-06-11T14:16:55.438+00:00", + "resources": [ + { + "id": 963, + "mirId": "MIR:00100430", + "urlPattern": "https://www.pombase.org/gene/{$id}", + "name": "PomBase at University of Cambridge", + "description": "PomBase at University of Cambridge", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "SPCC13B11.01", + "resourceHomeUrl": "https://www.pombase.org/", + "institution": { + "id": 962, + "name": "Cambridge Systems Biology Centre, Department of Biochemistry, University of Cambridge", + "homeUrl": "https://www.sysbiol.cam.ac.uk/", + "description": "The Cambridge Systems Biology Centre (CSBC) is a virtual centre bringing together research groups from across the University of Cambridge with an interest in the development and integration of the large-scale experimental technologies that facilitate systems research. The centre also promotes access to these technologies for the wider Cambridge research communities.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "SPCC13B11.01", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 964, + "prefix": "hpa", + "mirId": "MIR:00000336", + "name": "HPA", + "pattern": "^ENSG\\d{11}$", + "description": "The Human Protein Atlas (HPA) is a publicly available database with high-resolution images showing the spatial distribution of proteins in different normal and cancer human cell lines. Primary access to this collection is through Ensembl Gene identifiers.", + "created": "2019-06-11T14:16:55.662+00:00", + "modified": "2019-06-11T14:16:55.662+00:00", + "resources": [ + { + "id": 966, + "mirId": "MIR:00100431", + "urlPattern": "http://www.proteinatlas.org/{$id}", + "name": "Human Protein Atlas at AlbaNova University", + "description": "Human Protein Atlas at AlbaNova University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ENSG00000026508", + "resourceHomeUrl": "http://www.proteinatlas.org/", + "institution": { + "id": 965, + "name": "Department of Proteomics, School of Biotechnology, AlbaNova University Center, Stockholm", + "homeUrl": "https://www.albanova.se/", + "description": "AlbaNova University Center, the Stockholm Center for Physics, Astronomy and Biotechnology (in Swedish, AlbaNova universitetscentrum, Stockholms centrum f\u00f6r fysik, astronomi och bioteknik) is an exciting interdisciplinary project linking three subject areas,", + "rorId": null, + "location": { + "countryCode": "SE", + "countryName": "Sweden" + } + }, + "location": { + "countryCode": "SE", + "countryName": "Sweden" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ENSG00000026508", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 967, + "prefix": "jaxmice", + "mirId": "MIR:00000337", + "name": "JAX Mice", + "pattern": "^\\d+$", + "description": "JAX Mice is a catalogue of mouse strains supplied by the Jackson Laboratory.", + "created": "2019-06-11T14:16:55.877+00:00", + "modified": "2019-06-11T14:16:55.877+00:00", + "resources": [ + { + "id": 969, + "mirId": "MIR:00100432", + "urlPattern": "http://jaxmice.jax.org/strain/{$id}.html", + "name": "JAX Mice at Jackson Laboratory", + "description": "JAX Mice at Jackson Laboratory", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "005012", + "resourceHomeUrl": "http://jaxmice.jax.org/", + "institution": { + "id": 91, + "name": "The Jackson Laboratory", + "homeUrl": "https://www.jax.org/#", + "description": "The Jackson Laboratory (JAX) is an independent, nonprofit biomedical research organization that leverages a unique combination of research, education and resources to achieve our mission: We DISCOVER precise genomic solutions for disease and EMPOWER the global biomedical community in its shared quest to improve human health.", + "rorId": "https://ror.org/021sy4w91", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "005012", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 970, + "prefix": "ubio.namebank", + "mirId": "MIR:00000338", + "name": "uBio NameBank", + "pattern": "^\\d+$", + "description": "NameBank is a \"biological name server\" focused on storing names and objectively-derived nomenclatural attributes. NameBank is a repository for all recorded names including scientific names, vernacular (or common names), misspelled names, as well as ad-hoc nomenclatural labels that may have limited context.", + "created": "2019-06-11T14:16:56.122+00:00", + "modified": "2019-06-11T14:16:56.122+00:00", + "resources": [ + { + "id": 972, + "mirId": "MIR:00100433", + "urlPattern": "http://www.ubio.org/browser/details.php?namebankID={$id}", + "name": "uBio NameBank at The Marine Biological Laboratory", + "description": "uBio NameBank at The Marine Biological Laboratory", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "2555646", + "resourceHomeUrl": "http://www.ubio.org", + "institution": { + "id": 971, + "name": "Marine Biological Laboratory, Woods Hole, Massachusetts", + "homeUrl": "http://www.mbl.edu/", + "description": "The Marine Biological Laboratory (MBL) is dedicated to scientific discovery \u2013 exploring fundamental biology, understanding biodiversity and the environment, and informing the human condition through research and education. Founded in Woods Hole, Massachusetts in 1888, the MBL is a private, nonprofit institution and an affiliate of the University of Chicago.", + "rorId": "https://ror.org/046dg4z72", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2555646", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 973, + "prefix": "yetfasco", + "mirId": "MIR:00000339", + "name": "YeTFasCo", + "pattern": "^\\w+\\_\\d+(\\.\\d+)?$", + "description": "The Yeast Transcription Factor Specificity Compendium (YeTFasCO) is a database of transcription factor specificities for the yeast Saccharomyces cerevisiae in Position Frequency Matrix (PFM) or Position Weight Matrix (PWM) formats.", + "created": "2019-06-11T14:16:56.366+00:00", + "modified": "2019-06-11T14:16:56.366+00:00", + "resources": [ + { + "id": 975, + "mirId": "MIR:00100434", + "urlPattern": "http://yetfasco.ccbr.utoronto.ca/showPFM.php?mot={$id}", + "name": "YeTFasCo at University of Toronto", + "description": "YeTFasCo at University of Toronto", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "YOR172W_571.0", + "resourceHomeUrl": "http://yetfasco.ccbr.utoronto.ca/", + "institution": { + "id": 974, + "name": "Department of Molecular Genetics, Terrence Donnelly Centre for Cellular and Biomolecular Research, University of Toronto, Toronto", + "homeUrl": "https://thedonnellycentre.utoronto.ca", + "description": "Our scientific team encompasses both newly-emerging and highly-recognized leaders in fields ranging from systems biology to bioengineering and computer science, and they have made some of the key technological advances that have transformed research in biology over the past decade.", + "rorId": null, + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "YOR172W_571.0", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 976, + "prefix": "tarbase", + "mirId": "MIR:00000340", + "name": "TarBase", + "pattern": "^[a-z]{3}\\-(mir|let|lin)\\-\\w+(\\-\\w+\\-\\w+)?", + "description": "TarBase stores microRNA (miRNA) information for miRNA\u2013gene interactions, as well as miRNA- and gene-related facts to information specific to the interaction and the experimental validation methodologies used.", + "created": "2019-06-11T14:16:56.599+00:00", + "modified": "2019-06-11T14:16:56.599+00:00", + "resources": [ + { + "id": 978, + "mirId": "MIR:00100713", + "urlPattern": "http://diana.imis.athena-innovation.gr/DianaTools/index.php?r=tarbase/index&mirnas={$id}", + "name": "TarBase v7 at University of Thessaly", + "description": "TarBase v7 at University of Thessaly", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "hsa-let-7a-2-3p", + "resourceHomeUrl": "http://diana.imis.athena-innovation.gr/DianaTools/index.php?r=tarbase/index", + "institution": { + "id": 977, + "name": "DIANA-Lab, Department of Electrical & Computer Engineering, University of Thessaly", + "homeUrl": "https://www.e-ce.uth.gr/?lang=en", + "description": "The Department of Electrical and Computer Engineering belongs to the School of Engineering of the University of Thessaly, Greece. It was founded in March 2000 and accepted its first students in September of the same year. In June 2003, the department was granted administrative independence. Annual enrollment is approximately 150-200 undergraduates, including transfer and special status students, and 60-70 graduate students.", + "rorId": null, + "location": { + "countryCode": "GR", + "countryName": "Greece" + } + }, + "location": { + "countryCode": "GR", + "countryName": "Greece" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "hsa-let-7a-2-3p", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 979, + "prefix": "charprot", + "mirId": "MIR:00000341", + "name": "CharProt", + "pattern": "^CH_\\d+$", + "description": "CharProt is a database of biochemically characterized proteins designed to support automated annotation pipelines. Entries are annotated with gene name, symbol and various controlled vocabulary terms, including Gene Ontology terms, Enzyme Commission number and TransportDB accession.", + "created": "2019-06-11T14:16:56.827+00:00", + "modified": "2019-06-11T14:16:56.827+00:00", + "resources": [ + { + "id": 981, + "mirId": "MIR:00100436", + "urlPattern": "http://www.jcvi.org/charprotdb/index.cgi/view/{$id}", + "name": "CharProt at JCVI", + "description": "CharProt at JCVI", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "CH_001923", + "resourceHomeUrl": "http://www.jcvi.org/charprotdb", + "institution": { + "id": 393, + "name": "J. Craig Venter Institute, Maryland", + "homeUrl": "https://www.jcvi.org", + "description": "The J. Craig Venter Institute (JCVI) is a world leader in genomic research with approximately 120 scientists and staff who are bold innovators fearlessly pursuing revolutionary ideas. With a long track-record of creativity and an interdisciplinary approach to genomics, JCVI is committed to accelerating foundational scientific research to drive advances in human health and environmental sustainability.", + "rorId": "https://ror.org/049r1ts75", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CH_001923", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 982, + "prefix": "oma.protein", + "mirId": "MIR:00000342", + "name": "OMA Protein", + "pattern": "^[A-Z0-9]{5}\\d+$", + "description": "OMA (Orthologous MAtrix) is a database that identifies orthologs among publicly available, complete genome sequences. It identifies orthologous relationships which can be accessed either group-wise, where all group members are orthologous to all other group members, or on a sequence-centric basis, where for a given protein all its orthologs in all other species are displayed. This collection references individual protein records.", + "created": "2019-06-11T14:16:57.058+00:00", + "modified": "2019-06-11T14:16:57.058+00:00", + "resources": [ + { + "id": 984, + "mirId": "MIR:00100437", + "urlPattern": "https://omabrowser.org/cgi-bin/gateway.pl?f=DisplayEntry&p1={$id}", + "name": "OMA Protein through OMA browser at ETH Zurich", + "description": "OMA Protein through OMA browser at ETH Zurich", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "HUMAN16963", + "resourceHomeUrl": "https://omabrowser.org/cgi-bin/gateway.pl", + "institution": { + "id": 2483, + "name": "ETH Zurich", + "homeUrl": "https://ethz.ch/en.html", + "description": "We serve society by educating the next generations of critical and creative thinkers and doers. With our research, we create knowledge and develop technologies to meet the global challenges of our time. We project a future-\u200b\u200boriented and innovative image of Switzerland to the world and network our country with the global community. Together with our partners from science, business, politics and society, we rely on the power of teamwork and strive for excellence - in everything we do.", + "rorId": "https://ror.org/05a28rw58", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "HUMAN16963", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 985, + "prefix": "oma.grp", + "mirId": "MIR:00000343", + "name": "OMA Group", + "pattern": "^[A-Z]+$", + "description": "OMA (Orthologous MAtrix) is a database that identifies orthologs among publicly available, complete genome sequences. It identifies orthologous relationships which can be accessed either group-wise, where all group members are orthologous to all other group members, or on a sequence-centric basis, where for a given protein all its orthologs in all other species are displayed. This collection references groupings of orthologs.", + "created": "2019-06-11T14:16:57.285+00:00", + "modified": "2019-06-11T14:16:57.285+00:00", + "resources": [ + { + "id": 986, + "mirId": "MIR:00100438", + "urlPattern": "https://omabrowser.org/cgi-bin/gateway.pl?f=DisplayGroup&p1={$id}", + "name": "OMA Group through OMA browser at ETH Zurich", + "description": "OMA Group through OMA browser at ETH Zurich", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "LCSCCPN", + "resourceHomeUrl": "https://omabrowser.org/cgi-bin/gateway.pl", + "institution": { + "id": 2483, + "name": "ETH Zurich", + "homeUrl": "https://ethz.ch/en.html", + "description": "We serve society by educating the next generations of critical and creative thinkers and doers. With our research, we create knowledge and develop technologies to meet the global challenges of our time. We project a future-\u200b\u200boriented and innovative image of Switzerland to the world and network our country with the global community. Together with our partners from science, business, politics and society, we rely on the power of teamwork and strive for excellence - in everything we do.", + "rorId": "https://ror.org/05a28rw58", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "LCSCCPN", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 987, + "prefix": "ncbiprotein", + "mirId": "MIR:00000344", + "name": "NCBI Protein", + "pattern": "^(\\w+\\d+(\\.\\d+)?)|(NP_\\d+)$", + "description": "The Protein database is a collection of sequences from several sources, including translations from annotated coding regions in GenBank, RefSeq and TPA, as well as records from SwissProt, PIR, PRF, and PDB.", + "created": "2019-06-11T14:16:57.477+00:00", + "modified": "2019-06-11T14:16:57.477+00:00", + "resources": [ + { + "id": 988, + "mirId": "MIR:00100439", + "urlPattern": "https://www.ncbi.nlm.nih.gov/protein/{$id}", + "name": "NCBI Protein at NCBI", + "description": "NCBI Protein at NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "CAA71118.1", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/protein", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CAA71118.1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 989, + "prefix": "genpept", + "mirId": "MIR:00000345", + "name": "GenPept", + "pattern": "^\\w{3}\\d{5}(\\.\\d+)?$", + "description": "The GenPept database is a collection of sequences based on translations from annotated coding regions in GenBank.", + "created": "2019-06-11T14:16:57.671+00:00", + "modified": "2019-06-11T14:16:57.671+00:00", + "resources": [ + { + "id": 990, + "mirId": "MIR:00100440", + "urlPattern": "https://www.ncbi.nlm.nih.gov/protein/{$id}?report=genpept", + "name": "GenPept at NCBI", + "description": "GenPept at NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "CAA71118.1", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/protein", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CAA71118.1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 994, + "prefix": "bitterdb.rec", + "mirId": "MIR:00000347", + "name": "BitterDB Receptor", + "pattern": "^\\d+$", + "description": "BitterDB is a database of compounds reported to taste bitter to humans. The compounds can be searched by name, chemical structure, similarity to other bitter compounds, association with a particular human bitter taste receptor, and so on. The database also contains information on mutations in bitter taste receptors that were shown to influence receptor activation by bitter compounds. The aim of BitterDB is to facilitate studying the chemical features associated with bitterness. This collection references receptors.", + "created": "2019-06-11T14:16:58.089+00:00", + "modified": "2019-06-11T14:16:58.089+00:00", + "resources": [ + { + "id": 996, + "mirId": "MIR:00100442", + "urlPattern": "http://bitterdb.agri.huji.ac.il/Receptor.php?id={$id}", + "name": "BitterDB Receptor at The Hebrew University of Jerusalem", + "description": "BitterDB Receptor at The Hebrew University of Jerusalem", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1", + "resourceHomeUrl": "http://bitterdb.agri.huji.ac.il/dbbitter.php", + "institution": { + "id": 995, + "name": "The Robert H Smith Faculty of Agriculture, Food and Environment, The Institute of Biochemistry, Food Science and Nutrition, The Hebrew University of Jerusalem, Rehovot", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "IL", + "countryName": "Israel" + } + }, + "location": { + "countryCode": "IL", + "countryName": "Israel" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 997, + "prefix": "bitterdb.cpd", + "mirId": "MIR:00000348", + "name": "BitterDB Compound", + "pattern": "^\\d+$", + "description": "BitterDB is a database of compounds reported to taste bitter to humans. The compounds can be searched by name, chemical structure, similarity to other bitter compounds, association with a particular human bitter taste receptor, and so on. The database also contains information on mutations in bitter taste receptors that were shown to influence receptor activation by bitter compounds. The aim of BitterDB is to facilitate studying the chemical features associated with bitterness. This collection references compounds.", + "created": "2019-06-11T14:16:58.347+00:00", + "modified": "2019-06-11T14:16:58.347+00:00", + "resources": [ + { + "id": 998, + "mirId": "MIR:00100443", + "urlPattern": "http://bitterdb.agri.huji.ac.il/bitterdb/compound.php?id={$id}", + "name": "BitterDB Compound at The Hebrew University of Jerusalem", + "description": "BitterDB Compound at The Hebrew University of Jerusalem", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "46", + "resourceHomeUrl": "http://bitterdb.agri.huji.ac.il/dbbitter.php", + "institution": { + "id": 995, + "name": "The Robert H Smith Faculty of Agriculture, Food and Environment, The Institute of Biochemistry, Food Science and Nutrition, The Hebrew University of Jerusalem, Rehovot", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "IL", + "countryName": "Israel" + } + }, + "location": { + "countryCode": "IL", + "countryName": "Israel" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "46", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 999, + "prefix": "bioproject", + "mirId": "MIR:00000349", + "name": "BioProject", + "pattern": "^PRJ[DEN][A-Z]\\d+$", + "description": "BioProject provides an organizational framework to access metadata about research projects and the data from the projects that are deposited into different databases. It provides information about a project\u2019s scope, material, objectives, funding source and general relevance categories.", + "created": "2019-06-11T14:16:58.543+00:00", + "modified": "2019-06-11T14:16:58.543+00:00", + "resources": [ + { + "id": 1002, + "mirId": "MIR:00100445", + "urlPattern": "https://www.ncbi.nlm.nih.gov/bioproject?term={$id}", + "name": "BioProject at NCBI", + "description": "BioProject at NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "PRJDB3", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/bioproject", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1001, + "mirId": "MIR:00100444", + "urlPattern": "http://trace.ddbj.nig.ac.jp/BPSearch/bioproject?acc={$id}", + "name": "BioProject at DNA Data Bank of Japan", + "description": "BioProject at DNA Data Bank of Japan", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "PRJDB3", + "resourceHomeUrl": "http://trace.ddbj.nig.ac.jp/bioproject/", + "institution": { + "id": 121, + "name": "DNA Data Bank of Japan, Mishima, Shizuoka", + "homeUrl": "https://www.ddbj.nig.ac.jp/index-e.html", + "description": "DDBJ Center collects nucleotide sequence data as a member of INSDC(International Nucleotide Sequence Database Collaboration) and provides freely available nucleotide sequence data and supercomputer system, to support research\u3000activities in life science.", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1003, + "mirId": "MIR:00100446", + "urlPattern": "https://www.ebi.ac.uk/ena/browser/view/{$id}", + "name": "BioProject at European Nucleotide Archive (ENA)", + "description": "BioProject at European Nucleotide Archive (ENA)", + "official": false, + "providerCode": "ebi", + "sampleId": "PRJDB3", + "resourceHomeUrl": "https://www.ebi.ac.uk/ena/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PRJDB3", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1004, + "prefix": "biosample", + "mirId": "MIR:00000350", + "name": "BioSample", + "pattern": "^SAM[NED](\\w)?\\d+$", + "description": "The BioSample Database stores information about biological samples used in molecular experiments, such as sequencing, gene expression or proteomics. It includes reference samples, such as cell lines, which are repeatedly used in experiments. Accession numbers for the reference samples will be exchanged with a similar database at NCBI, and DDBJ (Japan). Record access may be affected due to different release cycles and inter-institutional synchronisation.", + "created": "2019-06-11T14:16:59.017+00:00", + "modified": "2019-06-11T14:16:59.017+00:00", + "resources": [ + { + "id": 1005, + "mirId": "MIR:00100447", + "urlPattern": "https://www.ebi.ac.uk/biosamples/sample/{$id}", + "name": "BioSamples Database at EBI", + "description": "BioSamples Database at EBI", + "official": true, + "providerCode": "ebi", + "sampleId": "SAMEA2397676", + "resourceHomeUrl": "https://www.ebi.ac.uk/biosamples/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1006, + "mirId": "MIR:00100706", + "urlPattern": "http://www.ncbi.nlm.nih.gov/biosample?term={$id}", + "name": "BioSample at NCBI", + "description": "BioSample at NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "SAMN00000002", + "resourceHomeUrl": "http://www.ncbi.nlm.nih.gov/biosample", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1008, + "mirId": "MIR:00100707", + "urlPattern": "http://trace.ddbj.nig.ac.jp/BSSearch/biosample?acc={$id}", + "name": "BioSample at DNA Data Bank of Japan", + "description": "BioSample at DNA Data Bank of Japan", + "official": false, + "providerCode": "ddbj", + "sampleId": "SAMD00005257", + "resourceHomeUrl": "http://trace.ddbj.nig.ac.jp/biosample/", + "institution": { + "id": 121, + "name": "DNA Data Bank of Japan, Mishima, Shizuoka", + "homeUrl": "https://www.ddbj.nig.ac.jp/index-e.html", + "description": "DDBJ Center collects nucleotide sequence data as a member of INSDC(International Nucleotide Sequence Database Collaboration) and provides freely available nucleotide sequence data and supercomputer system, to support research\u3000activities in life science.", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "SAMEA2397676", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1009, + "prefix": "piroplasma", + "mirId": "MIR:00000351", + "name": "PiroplasmaDB", + "pattern": "^TA\\d+$", + "description": "PiroplasmaDB is one of the databases that can be accessed through the EuPathDB (http://EuPathDB.org; formerly ApiDB) portal, covering eukaryotic pathogens of the genera Cryptosporidium, Giardia, Leishmania, Neospora, Plasmodium, Toxoplasma, Trichomonas and Trypanosoma. While each of these groups is supported by a taxon-specific database built upon the same infrastructure, the EuPathDB portal offers an entry point to all these resources, and the opportunity to leverage orthology for searches across genera.", + "created": "2019-06-11T14:16:59.494+00:00", + "modified": "2019-06-11T14:16:59.494+00:00", + "resources": [ + { + "id": 1011, + "mirId": "MIR:00100448", + "urlPattern": "http://piroplasmadb.org/piro/showRecord.do?name=GeneRecordClasses.GeneRecordClass&source_id={$id}", + "name": "PiroplasmaBD at EuPathDB", + "description": "PiroplasmaBD at EuPathDB", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "TA14985", + "resourceHomeUrl": "http://piroplasmadb.org/", + "institution": { + "id": 467, + "name": "Center for Tropical and Emerging Global Diseases, University of Georgia", + "homeUrl": "https://ctegd.uga.edu/", + "description": "The Center for Tropical and Emerging Global Diseases (CTEGD) of the University of Georgia is a university-wide, interdisciplinary center established in 1998 to foster research, education and service related to tropical and emerging global infectious diseases. ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "TA14985", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1012, + "prefix": "unite", + "mirId": "MIR:00000352", + "name": "Unite", + "pattern": "^UDB\\d{6}$", + "description": "UNITE is a fungal rDNA internal transcribed spacer (ITS) sequence database. It focuses on high-quality ITS sequences generated from fruiting bodies collected and identified by experts and deposited in public herbaria. Entries may be supplemented with metadata on describing locality, habitat, soil, climate, and interacting taxa.", + "created": "2019-06-11T14:16:59.723+00:00", + "modified": "2019-06-11T14:16:59.723+00:00", + "resources": [ + { + "id": 1014, + "mirId": "MIR:00100449", + "urlPattern": "http://unite.ut.ee/bl_forw.php?nimi={$id}", + "name": "Unite at University of Tartu", + "description": "Unite at University of Tartu", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "UDB000691", + "resourceHomeUrl": "http://unite.ut.ee/", + "institution": { + "id": 1013, + "name": "Institute of Botany, University of Tartu, Tartu", + "homeUrl": "https://botany.ut.ee/en", + "description": "Our department studies ecology and systematics of plants at several organisational levels \u2013 from photosynthetic apparatus to global vegetation patterns. Molecular methods have found their way into all branches of biology. Our department attempts to be at the cutting edge \u2013 utilisation of novel molecular techniques has become the rule rather than exception. At the same time, we have not forgotten classical botany and ecology \u2013 we still respect our plants and fungi and teach our students to be able to identify them from sight.", + "rorId": null, + "location": { + "countryCode": "EE", + "countryName": "Estonia" + } + }, + "location": { + "countryCode": "EE", + "countryName": "Estonia" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "UDB000691", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1015, + "prefix": "ncim", + "mirId": "MIR:00000353", + "name": "NCIm", + "pattern": "^C\\d+$", + "description": "NCI Metathesaurus (NCIm) is a wide-ranging biomedical terminology database that covers most terminologies used by NCI for clinical care, translational and basic research, and public information and administrative activities. It integrates terms and definitions from different terminologies, including NCI Thesaurus, however the representation is not identical.", + "created": "2019-06-11T14:16:59.945+00:00", + "modified": "2019-06-11T14:16:59.945+00:00", + "resources": [ + { + "id": 1016, + "mirId": "MIR:00100450", + "urlPattern": "http://ncim.nci.nih.gov/ncimbrowser/ConceptReport.jsp?dictionary=NCI%20MetaThesaurus&code={$id}", + "name": "NCIm at National Cancer Institue", + "description": "NCIm at National Cancer Institue", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "C0026339", + "resourceHomeUrl": "http://ncim.nci.nih.gov/", + "institution": { + "id": 442, + "name": "National Cancer Institute, Center for Bioinformatics, Maryland", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "C0026339", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1017, + "prefix": "proglyc", + "mirId": "MIR:00000354", + "name": "ProGlycProt", + "pattern": "^[A-Z]C\\d{1,3}$", + "description": "ProGlycProt (Prokaryotic Glycoprotein) is a repository of bacterial and archaeal glycoproteins with at least one experimentally validated glycosite (glycosylated residue). Each entry in the database is fully cross-referenced and enriched with available published information about source organism, coding gene, protein, glycosites, glycosylation type, attached glycan, associated oligosaccharyl/glycosyl transferases (OSTs/GTs), supporting references, and applicable additional information.", + "created": "2019-06-11T14:17:00.162+00:00", + "modified": "2019-06-11T14:17:00.162+00:00", + "resources": [ + { + "id": 1019, + "mirId": "MIR:00100451", + "urlPattern": "http://www.proglycprot.org/detail.aspx?ProId={$id}", + "name": "ProGlycProt at IMT", + "description": "ProGlycProt at IMT", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "AC119", + "resourceHomeUrl": "http://www.proglycprot.org/", + "institution": { + "id": 1018, + "name": "Institute of Microbial Technology, Council of Scientific and Industrial Research (CSIR), Chandigarh", + "homeUrl": "http://www.imtech.res.in/", + "description": "Established in 1984, the CSIR-Institute of Microbial Technology (IMTech) is one among the chain of 38 national laboratories, 6 units and 39 outreach centres of the Council of Scientific & Industrial Research. Set-up to be a fore-runner in the niche domain of microbial biotechnology, the Institute in its initial years functioned from a start-up laboratory that provided a truly world-class R&D ambience in an area of over 10,000 sq. ft. to its researchers. In September, 1989, upon completion of the permanent campus, the Institute shifted to occupy an area of about 47 acres, of which the labs covered 22 acres and the residential campus 25 acres. The Institute covering a built up area of about 3.60 lakh sq. ft., is spread over four main buildings, namely, Main R&D block, Fermentation block, Animal House, Workshop, Stores and Services area, several service building including a guest house and Cafeteria. Recently another block of almost 50000 sq. ft. area (the G.N. Ramachandran Protein Centre) has been added, to cater to R&D in all aspects of Protein science and engineering. The Institute provides laboratories which are functionally modular and offer large, air-conditioned, clean research areas to all the scientists.", + "rorId": "https://ror.org/055rjs771", + "location": { + "countryCode": "IN", + "countryName": "India" + } + }, + "location": { + "countryCode": "IN", + "countryName": "India" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AC119", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1020, + "prefix": "polbase", + "mirId": "MIR:00000355", + "name": "PolBase", + "pattern": "^[A-Za-z-0-9]+$", + "description": "Polbase is a database of DNA polymerases providing information on polymerase protein sequence, target DNA sequence, enzyme structure, sequence mutations and details on polymerase activity.", + "created": "2019-06-11T14:17:00.403+00:00", + "modified": "2019-06-11T14:17:00.403+00:00", + "resources": [ + { + "id": 1021, + "mirId": "MIR:00100452", + "urlPattern": "https://polbase.neb.com/polymerases/{$id}#sequences", + "name": "PolBase at New England BioLabs", + "description": "PolBase at New England BioLabs", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "19-T4", + "resourceHomeUrl": "http://polbase.neb.com/", + "institution": { + "id": 682, + "name": "New England Biolabs, Ipswich, Massachusetts", + "homeUrl": "https://international.neb.com/", + "description": "Created \"by scientists for scientists\", NEB is renowned for consistently providing exceptional product quality and unsurpassed technical support. For over four decades, NEB has been shaping the landscape of bioscience research by discovering, developing and supporting superior research reagents. From our founding principles \u2013 placing the advancement of science and the stewardship of the environment as our highest priorities \u2013 to our unique corporate culture, NEB\u2019s philosophy can be distilled down to three core values: passion, humility and being genuine. ", + "rorId": "https://ror.org/04ywg3445", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "19-T4", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1022, + "prefix": "nuclearbd", + "mirId": "MIR:00000356", + "name": "NucleaRDB", + "pattern": "^\\w+\\_\\w+$", + "description": "NucleaRDB is an information system that stores heterogenous data on Nuclear Hormone Receptors (NHRs). It contains data on sequences, ligand binding constants and mutations for NHRs.", + "created": "2019-06-11T14:17:00.593+00:00", + "modified": "2019-06-11T14:17:00.593+00:00", + "resources": [ + { + "id": 1024, + "mirId": "MIR:00100453", + "urlPattern": "http://www.receptors.org/nucleardb/proteins/{$id}", + "name": "NucleaRDB at Radboud University Nijmegen Medical Centre", + "description": "NucleaRDB at Radboud University Nijmegen Medical Centre", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "prgr_human", + "resourceHomeUrl": "http://www.receptors.org/nucleardb/", + "institution": { + "id": 1023, + "name": " Center for Molecular and Biomolecular Informatics (CMBI), Radboud University Nijmegen Medical Centre", + "homeUrl": "https://www.radboudumc.nl/en/research", + "description": "Radboud university medical center is a university medical center for patient care, research, and education, located in Nijmegen. Radboud university medical center strives to be at the forefront of shaping the health and healthcare of the future. This is reflected in our mission: \u201cto have a significant impact on health (care)\u201d. It demands that we innovate and reinvigorate through collaboration within our networks and with a focus on the individual person. We mainly concentrate on prevention, meaningful and prudent healthcare, sustainability, artificial intelligence, and data-driven systems, the molecular mechanisms of diseases and new treatments, and training the professionals of tomorrow.", + "rorId": null, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + } + }, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "prgr_human", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1025, + "prefix": "supfam", + "mirId": "MIR:00000357", + "name": "SUPFAM", + "pattern": "^\\w+$", + "description": "SUPERFAMILY provides structural, functional and evolutionary information for proteins from all completely sequenced genomes, and large sequence collections such as UniProt.", + "created": "2019-06-11T14:17:00.815+00:00", + "modified": "2019-06-11T14:17:00.815+00:00", + "resources": [ + { + "id": 1027, + "mirId": "MIR:00100454", + "urlPattern": "http://supfam.org/SUPERFAMILY/cgi-bin/scop.cgi?ipid={$id}", + "name": "SUPFAM at MRC and University of Bristol", + "description": "SUPFAM at MRC and University of Bristol", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "SSF57615", + "resourceHomeUrl": "http://supfam.org/SUPERFAMILY/", + "institution": { + "id": 1026, + "name": "MRC Laboratory of Molecular Biology, Cambridge", + "homeUrl": "http://www2.mrc-lmb.cam.ac.uk/", + "description": "The MRC Laboratory of Molecular Biology (LMB) is a research institute dedicated to the understanding of important biological processes at the levels of atoms, molecules, cells and organisms. In doing so, we provide knowledge needed to solve key problems in human health.", + "rorId": "https://ror.org/00tw3jy02", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "SSF57615", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1028, + "prefix": "ricegap", + "mirId": "MIR:00000358", + "name": "Rice Genome Annotation Project", + "pattern": "^LOC\\_Os\\d{1,2}g\\d{5}$", + "description": "The objective of this project is to provide high quality annotation for the rice genome Oryza sativa spp japonica cv Nipponbare. All genes are annotated with functional annotation including expression data, gene ontologies, and tagged lines.", + "created": "2019-06-11T14:17:01.041+00:00", + "modified": "2019-06-11T14:17:01.041+00:00", + "resources": [ + { + "id": 1029, + "mirId": "MIR:00100455", + "urlPattern": "http://rice.plantbiology.msu.edu/cgi-bin/ORF_infopage.cgi?&orf={$id}", + "name": "Rice Genome Annotation Project at TIGR", + "description": "Rice Genome Annotation Project at TIGR", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "LOC_Os02g13300", + "resourceHomeUrl": "http://rice.plantbiology.msu.edu/annotation_pseudo_current.shtml", + "institution": { + "id": 909, + "name": "The Institute for Genomic Research, Rockville, Maryland", + "homeUrl": "https://www.jcvi.org/", + "description": "The J. Craig Venter Institute (JCVI) is a world leader in genomic research with approximately 120 scientists and staff who are bold innovators fearlessly pursuing revolutionary ideas. With a long track-record of creativity and an interdisciplinary approach to genomics, JCVI is committed to accelerating foundational scientific research to drive advances in human health and environmental sustainability.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "LOC_Os02g13300", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1030, + "prefix": "pina", + "mirId": "MIR:00000359", + "name": "PINA", + "pattern": "^([A-N,R-Z][0-9][A-Z][A-Z, 0-9][A-Z, 0-9][0-9])|([O,P,Q][0-9][A-Z, 0-9][A-Z, 0-9][A-Z, 0-9][0-9])$", + "description": "Protein Interaction Network Analysis (PINA) platform is an integrated platform for protein interaction network construction, filtering, analysis, visualization and management. It integrates protein-protein interaction data from six public curated databases and builds a complete, non-redundant protein interaction dataset for six model organisms.", + "created": "2019-06-11T14:17:01.276+00:00", + "modified": "2019-06-11T14:17:01.276+00:00", + "resources": [ + { + "id": 1032, + "mirId": "MIR:00100456", + "urlPattern": "http://cbg.garvan.unsw.edu.au/pina/interactome.oneP.do?ac={$id}&showExtend=null", + "name": "Protein Interaction Network Analysis (PINA) at Garvan Institute", + "description": "Protein Interaction Network Analysis (PINA) at Garvan Institute", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Q13485", + "resourceHomeUrl": "http://cbg.garvan.unsw.edu.au/pina/", + "institution": { + "id": 1031, + "name": "Garvan Institute of Medical Research, Sydney", + "homeUrl": "https://www.garvan.org.au/", + "description": "The Garvan Institute of Medical Research brings together clinicians with world-leading basic and translational researchers. We are patient-focused \u2014 our researchers break down barriers between traditional scientific disciplines to find solutions to disease.", + "rorId": "https://ror.org/01b3dvp57", + "location": { + "countryCode": "AU", + "countryName": "Australia" + } + }, + "location": { + "countryCode": "AU", + "countryName": "Australia" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Q13485", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1033, + "prefix": "tissuelist", + "mirId": "MIR:00000360", + "name": "Tissue List", + "pattern": "^TS-\\d{4}$", + "description": "The UniProt Tissue List is a controlled vocabulary of terms used to annotate biological tissues. It also contains cross-references to other ontologies where tissue types are specified.", + "created": "2019-06-11T14:17:01.500+00:00", + "modified": "2019-06-11T14:17:01.500+00:00", + "resources": [ + { + "id": 1035, + "mirId": "MIR:00100457", + "urlPattern": "https://www.uniprot.org/tissues/{$id}", + "name": "Tissue List at Swiss Institute of Bioinformatics", + "description": "Tissue List at Swiss Institute of Bioinformatics", + "official": false, + "providerCode": "sib", + "sampleId": "TS-0285", + "resourceHomeUrl": "https://www.uniprot.org/docs/tisslist.txt", + "institution": { + "id": 1730, + "name": "SIB Swiss Institute of Bioinformatics", + "homeUrl": "https://www.sib.swiss", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "rorId": "https://ror.org/002n09z45", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "TS-0285", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1036, + "prefix": "bacmap.biog", + "mirId": "MIR:00000361", + "name": "BacMap Biography", + "pattern": "^\\d+$", + "description": "BacMap is an electronic, interactive atlas of fully sequenced bacterial genomes. It contains labeled, zoomable and searchable chromosome maps for sequenced prokaryotic (archaebacterial and eubacterial) species. Each map can be zoomed to the level of individual genes and each gene is hyperlinked to a richly annotated gene card. All bacterial genome maps are supplemented with separate prophage genome maps as well as separate tRNA and rRNA maps. Each bacterial chromosome entry in BacMap contains graphs and tables on a variety of gene and protein statistics. Likewise, every bacterial species entry contains a bacterial 'biography' card, with taxonomic details, phenotypic details, textual descriptions and images. This collection references 'biography' information.", + "created": "2019-06-11T14:17:01.735+00:00", + "modified": "2019-06-11T14:17:01.735+00:00", + "resources": [ + { + "id": 1038, + "mirId": "MIR:00100459", + "urlPattern": "http://bacmap.wishartlab.com/organisms/{$id}", + "name": "BacMap Biography at University of Alberta", + "description": "BacMap Biography at University of Alberta", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1050", + "resourceHomeUrl": "http://bacmap.wishartlab.com/", + "institution": { + "id": 1037, + "name": "Department of Computing Science, Food and Nutritional Science, University of Alberta, Edmonton", + "homeUrl": "https://www.ualberta.ca/agricultural-food-nutritional-science/index.html", + "description": "The department of Agricultural, Food & Nutritional Science (AFNS) offers research and teachings related to the fields of Animal Science, Food Science and Bioresource, Human Nutrition and Plant Biosystems. AFNS offers undergraduate Bachelor of Science degrees in Agriculture, Animal Health, Agricultural/Food Business Science and Nutrition & Food Science each with a variety of majors. AFNS students can also pursue a course-based or thesis-based Master of Agriculture, Master of Science or a PhD.", + "rorId": null, + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1050", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1039, + "prefix": "hgnc.symbol", + "mirId": "MIR:00000362", + "name": "HGNC Symbol", + "pattern": "^[A-Za-z-0-9_]+(\\@)?$", + "description": "The HGNC (HUGO Gene Nomenclature Committee) provides an approved gene name and symbol (short-form abbreviation) for each known human gene. All approved symbols are stored in the HGNC database, and each symbol is unique. This collection refers to records using the HGNC symbol.", + "created": "2019-06-11T14:17:01.955+00:00", + "modified": "2019-06-11T14:17:01.955+00:00", + "resources": [ + { + "id": 1040, + "mirId": "MIR:00100460", + "urlPattern": "https://www.genenames.org/data/gene-symbol-report/#!/symbol/{$id}", + "name": "HGNC Symbol at HUGO Genome Nomenclature Committee", + "description": "HGNC Symbol at HUGO Genome Nomenclature Committee", + "official": false, + "providerCode": "ebi", + "sampleId": "DAPK1", + "resourceHomeUrl": "https://www.genenames.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "DAPK1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1041, + "prefix": "panther.pathway", + "mirId": "MIR:00000363", + "name": "PANTHER Pathway", + "pattern": "^P\\d{5}$", + "description": "The PANTHER (Protein ANalysis THrough Evolutionary Relationships) Classification System is a resource that classifies genes by their functions, using published scientific experimental evidence and evolutionary relationships to predict function even in the absence of direct experimental evidence. The PANTHER Pathway collection references pathway information, primarily for signaling pathways, each with subfamilies and protein sequences mapped to individual pathway components.", + "created": "2019-06-11T14:17:02.153+00:00", + "modified": "2019-06-11T14:17:02.153+00:00", + "resources": [ + { + "id": 1042, + "mirId": "MIR:00100461", + "urlPattern": "http://www.pantherdb.org/pathway/pathwayDiagram.jsp?catAccession={$id}", + "name": "PANTHER Pathway at USC (Los Angeles)", + "description": "PANTHER Pathway at USC (Los Angeles)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "P00024", + "resourceHomeUrl": "http://www.pantherdb.org/", + "institution": { + "id": 94, + "name": "Keck School of Medicine, University of Southern California", + "homeUrl": "https://www.keckmedicine.org/", + "description": "Keck Medicine of USC is the University of Southern California\u2019s medical enterprise, one of only two university-based medical systems in the Los Angeles area. Keck Medicine combines academic excellence, world-class research and state-of-the-art facilities to provide highly specialized care for some of the most acute patients in the country. ", + "rorId": "https://ror.org/01rq8ck58", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "P00024", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1043, + "prefix": "fairsharing", + "mirId": "MIR:00000364", + "name": "FAIRsharing", + "pattern": "^bsg-[dscp]?\\d{6}$", + "description": "The web-based FAIRSharing catalogues aim to centralize bioscience data policies, reporting standards and links to other related portals. This collection references bioinformatics data exchange standards, which includes 'Reporting Guidelines', Format Specifications and Terminologies.", + "created": "2019-06-11T14:17:02.358+00:00", + "modified": "2019-06-11T14:17:02.358+00:00", + "resources": [ + { + "id": 1045, + "mirId": "MIR:00100463", + "urlPattern": "https://fairsharing.org/{$id}", + "name": "FAIRSharing at University of Oxford", + "description": "FAIRSharing at University of Oxford", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "bsg-000052", + "resourceHomeUrl": "https://fairsharing.org/", + "institution": { + "id": 1044, + "name": "Oxford e-Research Centre, University of Oxford, Oxford", + "homeUrl": "https://oerc.ox.ac.uk/", + "description": "We are a multidisciplinary data science research and education institute, part of the University of Oxford's Department of Engineering Science. We research and implement innovative digital methodologies, information and computational solutions for academic research and industrial applications. The Centre provides a world-leading environment for over 50 staff, including academics, students, data scientists, postdocs, as well as professional research software and knowledge engineers, who work together on interdisciplinary projects for the benefit of research and society.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "bsg-000052", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1046, + "prefix": "fungidb", + "mirId": "MIR:00000365", + "name": "FungiDB", + "pattern": "^[A-Za-z_0-9]+$", + "description": "FungiDB is a genomic resource for fungal genomes. It contains contains genome sequence and annotation from several fungal classes, including the Ascomycota classes, Eurotiomycetes, Sordariomycetes, Saccharomycetes and the Basidiomycota orders, Pucciniomycetes and Tremellomycetes, and the basal 'Zygomycete' lineage Mucormycotina.", + "created": "2019-06-11T14:17:02.591+00:00", + "modified": "2019-06-11T14:17:02.591+00:00", + "resources": [ + { + "id": 1048, + "mirId": "MIR:00100464", + "urlPattern": "https://fungidb.org/fungidb/app/record/gene/{$id}", + "name": "FungiDB at University of California", + "description": "FungiDB at University of California", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "CNBG_0001", + "resourceHomeUrl": "https://fungidb.org/fungidb", + "institution": { + "id": 1047, + "name": "Department of Plant Pathology & Microbiology, University of California, Riverside, California", + "homeUrl": "https://microplantpath.ucr.edu/", + "description": "The department of Microbiology and Plant Pathology at the University of California, Riverside is committed to conducting research on the basic biology of plant pathogens and microbes; developing methods for the management of plant and microbiological diseases of organisms; providing a quality education to its students; and, providing expert advice on plant diseases and microbiology to the citizens of California and the world.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CNBG_0001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1771, + "prefix": "neurovault.image", + "mirId": "MIR:00000638", + "name": "NeuroVault Image", + "pattern": "^[1-9][0-9]*$", + "description": "Neurovault is an online repository for statistical maps, parcellations and atlases of the brain. This collection references individual images.", + "created": "2019-06-11T14:18:08.473+00:00", + "modified": "2019-06-11T14:18:08.473+00:00", + "resources": [ + { + "id": 1772, + "mirId": "MIR:00100843", + "urlPattern": "https://neurovault.org/images/{$id}", + "name": "NeuroVault", + "description": "NeuroVault", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "58788", + "resourceHomeUrl": "http://neurovault.org", + "institution": { + "id": 98, + "name": "Stanford University", + "homeUrl": "http://www.stanford.edu/", + "description": "Stanford was founded almost 150 years ago on a bedrock of societal purpose. Our mission is to contribute to the world by educating students for lives of leadership and purposeful contribution; advancing fundamental knowledge and cultivating creativity; and accelerating solutions and amplifying their impact.", + "rorId": "https://ror.org/00f54p054", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "58788", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1049, + "prefix": "darc", + "mirId": "MIR:00000366", + "name": "DARC", + "pattern": "^\\d+$", + "description": "DARC (Database of Aligned Ribosomal Complexes) stores available cryo-EM (electron microscopy) data and atomic coordinates of ribosomal particles from the PDB, which are aligned within a common coordinate system. The aligned coordinate system simplifies direct visualization of conformational changes in the ribosome, such as subunit rotation and head-swiveling, as well as direct comparison of bound ligands, such as antibiotics or translation factors.", + "created": "2019-06-11T14:17:02.814+00:00", + "modified": "2019-06-11T14:17:02.814+00:00", + "resources": [ + { + "id": 1051, + "mirId": "MIR:00100465", + "urlPattern": "http://darcsite.genzentrum.lmu.de/darc/view.php?id={$id}", + "name": "DARC at University of Munich", + "description": "DARC at University of Munich", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1250", + "resourceHomeUrl": "http://darcsite.genzentrum.lmu.de/darc/index.php", + "institution": { + "id": 1050, + "name": "Gene Center and Department for Biochemistry and Center for integrated Protein Science Munich, University of Munich, Munich", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1250", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1052, + "prefix": "drsc", + "mirId": "MIR:00000367", + "name": "DRSC", + "pattern": "^DRSC\\d+$", + "description": "The DRSC (Drosophila RNAi Screening Cente) tracks both production of reagents for RNA interference (RNAi) screening in Drosophila cells and RNAi screen results. It maintains a list of Drosophila gene names, identifiers, symbols and synonyms and provides information for cell-based or in vivo RNAi reagents, other types of reagents, screen results, etc. corresponding for a given gene.", + "created": "2019-06-11T14:17:03.033+00:00", + "modified": "2019-06-11T14:17:03.033+00:00", + "resources": [ + { + "id": 1054, + "mirId": "MIR:00100466", + "urlPattern": "http://www.flyrnai.org/cgi-bin/RNAi_gene_lookup_public.pl?gname={$id}", + "name": "DRSC at Harvard Medical School", + "description": "DRSC at Harvard Medical School", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "DRSC05221", + "resourceHomeUrl": "http://flyrnai.org/", + "institution": { + "id": 1053, + "name": "Department of Genetics, Harvard Medical School, Boston, Massachusetts", + "homeUrl": "https://genetics.hms.harvard.edu/", + "description": "the Department of Genetics at Harvard Medical School houses a faculty working on diverse problems, using a variety of approaches and model organisms, and having a unified focus on the genome as an organizing principle for understanding biological phenomena.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "DRSC05221", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1055, + "prefix": "oridb.schizo", + "mirId": "MIR:00000368", + "name": "OriDB Schizosaccharomyces", + "pattern": "^\\d+$", + "description": "OriDB is a database of collated genome-wide mapping studies of confirmed and predicted replication origin sites in Saccharomyces cerevisiae and the fission yeast Schizosaccharomyces pombe. This collection references Schizosaccharomyces pombe.", + "created": "2019-06-11T14:17:03.255+00:00", + "modified": "2019-06-11T14:17:03.255+00:00", + "resources": [ + { + "id": 1057, + "mirId": "MIR:00100467", + "urlPattern": "http://pombe.oridb.org/details.php?id={$id}", + "name": "OriDB Schizosaccharomyces at University of Nottingham", + "description": "OriDB Schizosaccharomyces at University of Nottingham", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1", + "resourceHomeUrl": "http://pombe.oridb.org/index.php", + "institution": { + "id": 1056, + "name": "Centre for Genetics and Genomics, The University of Nottingham, Queen's Medical Centre, Nottingham", + "homeUrl": "http://www.nottingham.ac.uk/genetics/", + "description": "Our vision is to develop inspirational leaders of education, research and commercial innovation within a supportive and professional environment at the forefront of research in the Life Sciences for human and planet health.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1058, + "prefix": "oridb.sacch", + "mirId": "MIR:00000369", + "name": "OriDB Saccharomyces", + "pattern": "^\\d+$", + "description": "OriDB is a database of collated genome-wide mapping studies of confirmed and predicted replication origin sites in Saccharomyces cerevisiae and the fission yeast Schizosaccharomyces pombe. This collection references Saccharomyces cerevisiae.", + "created": "2019-06-11T14:17:03.475+00:00", + "modified": "2019-06-11T14:17:03.475+00:00", + "resources": [ + { + "id": 1059, + "mirId": "MIR:00100468", + "urlPattern": "http://cerevisiae.oridb.org/details.php?id={$id}", + "name": "OriDB Saccharomyces at University of Nottingham", + "description": "OriDB Saccharomyces at University of Nottingham", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1", + "resourceHomeUrl": "http://cerevisiae.oridb.org/index.php", + "institution": { + "id": 1056, + "name": "Centre for Genetics and Genomics, The University of Nottingham, Queen's Medical Centre, Nottingham", + "homeUrl": "http://www.nottingham.ac.uk/genetics/", + "description": "Our vision is to develop inspirational leaders of education, research and commercial innovation within a supportive and professional environment at the forefront of research in the Life Sciences for human and planet health.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1060, + "prefix": "pscdb", + "mirId": "MIR:00000370", + "name": "PSCDB", + "pattern": "^\\d+$", + "description": "The PSCDB (Protein Structural Change DataBase) collects information on the relationship between protein structural change upon ligand binding. Each entry page provides detailed information about this structural motion.", + "created": "2019-06-11T14:17:03.650+00:00", + "modified": "2019-06-11T14:17:03.650+00:00", + "resources": [ + { + "id": 1062, + "mirId": "MIR:00100469", + "urlPattern": "http://idp1.force.cs.is.nagoya-u.ac.jp/pscdb/{$id}.html", + "name": "PSCDB at Nagoya University", + "description": "PSCDB at Nagoya University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "051", + "resourceHomeUrl": "http://idp1.force.cs.is.nagoya-u.ac.jp/pscdb/index.html", + "institution": { + "id": 1061, + "name": "Graduate School of Information Science, Nagoya University, Furo-cho, Chikusa-ku", + "homeUrl": "https://en.nagoya-u.ac.jp/about_nu/admin/sch/deta/is.html", + "description": "The Graduate School of Information Science (GSIS) consists of fi ve Departments established in April 2003, i.e. the Department of Computer Science and Mathematical Informatics, the Department of Information Engineering, the Department of Media Science, the Department of Complex Systems Science, and the Department of Systems and Social Informatics. The GSIS covers widely fundamental science, applied science, and interdisciplinary fields, as an academic education/ research university organization for promoting the information communication technology age.", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "051", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1063, + "prefix": "scop", + "mirId": "MIR:00000371", + "name": "SCOP", + "pattern": "^\\d+$", + "description": "The SCOP (Structural Classification of Protein) database is a comprehensive ordering of all proteins of known structure according to their evolutionary, functional and structural relationships. The basic classification unit is the protein domain. Domains are hierarchically classified into species, proteins, families, superfamilies, folds, and classes.", + "created": "2019-06-11T14:17:03.870+00:00", + "modified": "2019-06-11T14:17:03.870+00:00", + "resources": [ + { + "id": 1065, + "mirId": "MIR:00100470", + "urlPattern": "http://scop.mrc-lmb.cam.ac.uk/scop/search.cgi?sunid={$id}", + "name": "SCOP at MRC", + "description": "SCOP at MRC", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "47419", + "resourceHomeUrl": "http://scop.mrc-lmb.cam.ac.uk/scop/", + "institution": { + "id": 1064, + "name": "MRC Laboratory of Molecular Biology, Centre for Protein Engineering, Hills Road, Cambridge", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1067, + "mirId": "MIR:00100471", + "urlPattern": "http://scop.berkeley.edu/sunid={$id}", + "name": "SCOP at Berkeley", + "description": "SCOP at Berkeley", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "47419", + "resourceHomeUrl": "http://scop.berkeley.edu/", + "institution": { + "id": 1066, + "name": "University of California, Berkeley", + "homeUrl": "https://www.berkeley.edu/", + "description": "From a group of academic pioneers in 1868 to the Free Speech Movement in 1964, Berkeley is a place where the brightest minds from across the globe come together to explore, ask questions and improve the world.", + "rorId": "https://ror.org/01an7q238", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "47419", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1068, + "prefix": "ena.embl", + "mirId": "MIR:00000372", + "name": "ENA", + "pattern": "^[A-Z]+[0-9]+(\\.\\d+)?$", + "description": "The European Nucleotide Archive (ENA) captures and presents information relating to experimental workflows that are based around nucleotide sequencing. ENA is made up of a number of distinct databases that includes EMBL-Bank, the Sequence Read Archive (SRA) and the Trace Archive each with their own data formats and standards. This collection references Embl-Bank identifiers.", + "created": "2019-06-11T14:17:04.223+00:00", + "modified": "2019-06-11T14:17:04.223+00:00", + "resources": [ + { + "id": 1070, + "mirId": "MIR:00100889", + "urlPattern": "https://www.ncbi.nlm.nih.gov/nuccore/{$id}", + "name": "ENA through GenBank", + "description": "ENA through GenBank", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "BN000065", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/Genbank/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1069, + "mirId": "MIR:00100473", + "urlPattern": "https://www.ebi.ac.uk/ena/browser/view/{$id}", + "name": "ENA at European Bioinformatics Institute", + "description": "ENA at European Bioinformatics Institute", + "official": true, + "providerCode": "ebi", + "sampleId": "BN000065", + "resourceHomeUrl": "https://www.ebi.ac.uk/ena/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "BN000065", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1071, + "prefix": "dommino", + "mirId": "MIR:00000373", + "name": "DOMMINO", + "pattern": "^[0-9][A-Za-z0-9]{3}$", + "description": "DOMMINO is a database of macromolecular interactions that includes the interactions between protein domains, interdomain linkers, N- and C-terminal regions and protein peptides.", + "created": "2019-06-11T14:17:04.514+00:00", + "modified": "2019-06-11T14:17:04.514+00:00", + "resources": [ + { + "id": 1073, + "mirId": "MIR:00100474", + "urlPattern": "http://orion.rnet.missouri.edu/~nz953/DOMMINO/index.php/result/show_network/{$id}", + "name": "DOMMINO at University of Missouri", + "description": "DOMMINO at University of Missouri", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "2GC4", + "resourceHomeUrl": "http://dommino.org/", + "institution": { + "id": 1072, + "name": "Informatics Institute and Department of Computer Science and Bond Life Science Center, University of Missouri, Columbia", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2GC4", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1076, + "prefix": "ccds", + "mirId": "MIR:00000375", + "name": "Consensus CDS", + "pattern": "^CCDS\\d+\\.\\d+$", + "description": "The Consensus CDS (CCDS) project is a collaborative effort to identify a core set of human and mouse protein coding regions that are consistently annotated and of high quality. The CCDS set is calculated following coordinated whole genome annotation updates carried out by the NCBI, WTSI, and Ensembl. The long term goal is to support convergence towards a standard set of gene annotations.", + "created": "2019-06-11T14:17:04.925+00:00", + "modified": "2019-06-11T14:17:04.925+00:00", + "resources": [ + { + "id": 1077, + "mirId": "MIR:00100477", + "urlPattern": "http://www.ncbi.nlm.nih.gov/CCDS/CcdsBrowse.cgi?REQUEST=CCDS&DATA={$id}", + "name": "Consensus CDS at NCBI", + "description": "Consensus CDS at NCBI", + "official": true, + "providerCode": "ncbi", + "sampleId": "CCDS13573.1", + "resourceHomeUrl": "http://www.ncbi.nlm.nih.gov/CCDS/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CCDS13573.1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1086, + "prefix": "hprd", + "mirId": "MIR:00000377", + "name": "HPRD", + "pattern": "^\\d+$", + "description": "The Human Protein Reference Database (HPRD) represents a centralized platform to visually depict and integrate information pertaining to domain architecture, post-translational modifications, interaction networks and disease association for each protein in the human proteome.", + "created": "2019-06-11T14:17:05.741+00:00", + "modified": "2019-06-11T14:17:05.741+00:00", + "resources": [ + { + "id": 1088, + "mirId": "MIR:00100479", + "urlPattern": "http://www.hprd.org/protein/{$id}", + "name": "Human Protein Reference Database", + "description": "Human Protein Reference Database", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "00001", + "resourceHomeUrl": "http://www.hprd.org/", + "institution": { + "id": 1087, + "name": "Institute of Bioinformatics, International Tech Park, Bangalore", + "homeUrl": "http://www.ibioinformatics.org/", + "description": "The Institute of Bioinformatics is a not-for-profit organization engaged in research in Bioinformatics. This institute is located in Bangalore, India and was established in May 2002. Bangalore is a prime center for research and development and is the hub of information technology in India. The Institute of Bioinformatics emphasizes cutting edge research in Databases, Computational Genomics, Proteomics Comparative Genomics, Metabolomics and Lipidomics. The initial goal of this Institute was to create a freely available Human Protein Reference Database using open source technologies and to experimentally verify predicted human genes using molecular biology and proteomics-based methods.", + "rorId": "https://ror.org/04hqfvm50", + "location": { + "countryCode": "IN", + "countryName": "India" + } + }, + "location": { + "countryCode": "IN", + "countryName": "India" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "00001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1089, + "prefix": "gxa.gene", + "mirId": "MIR:00000378", + "name": "GXA Gene", + "pattern": "^\\w+$", + "description": "The Gene Expression Atlas (GXA) is a semantically enriched database of meta-analysis based summary statistics over a curated subset of ArrayExpress Archive, servicing queries for condition-specific gene expression patterns as well as broader exploratory searches for biologically interesting genes/samples. This collection references genes.", + "created": "2019-06-11T14:17:05.964+00:00", + "modified": "2019-06-11T14:17:05.964+00:00", + "resources": [ + { + "id": 1090, + "mirId": "MIR:00100482", + "urlPattern": "https://www.ebi.ac.uk/gxa/genes/{$id}", + "name": "GXA Gene at EBI", + "description": "GXA Gene at EBI", + "official": false, + "providerCode": "ebi", + "sampleId": "AT4G01080", + "resourceHomeUrl": "https://www.ebi.ac.uk/gxa/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AT4G01080", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1091, + "prefix": "gxa.expt", + "mirId": "MIR:00000379", + "name": "GXA Expt", + "pattern": "^[AEP]-\\w{4}-\\d+$", + "description": "The Gene Expression Atlas (GXA) is a semantically enriched database of meta-analysis based summary statistics over a curated subset of ArrayExpress Archive, servicing queries for condition-specific gene expression patterns as well as broader exploratory searches for biologically interesting genes/samples. This collection references experiments.", + "created": "2019-06-11T14:17:06.163+00:00", + "modified": "2019-06-11T14:17:06.163+00:00", + "resources": [ + { + "id": 1092, + "mirId": "MIR:00100483", + "urlPattern": "https://www.ebi.ac.uk/gxa/experiments/{$id}", + "name": "GXA Expt at EBI", + "description": "GXA Expt at EBI", + "official": true, + "providerCode": "ebi", + "sampleId": "E-MTAB-2037", + "resourceHomeUrl": "https://www.ebi.ac.uk/gxa/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1093, + "mirId": "MIR:00100857", + "urlPattern": "https://www.omicsdi.org/dataset/atlas-experiments/{$id}", + "name": "GXA Expt through OmicsDI", + "description": "GXA Expt through OmicsDI", + "official": false, + "providerCode": "omicsdi", + "sampleId": "E-MTAB-2037", + "resourceHomeUrl": "https://www.omicsdi.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "E-MTAB-2037", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1094, + "prefix": "metabolights", + "mirId": "MIR:00000380", + "name": "MetaboLights", + "pattern": "^MTBLS\\d+$", + "description": "MetaboLights is a database for Metabolomics experiments and derived information. The database is cross-species, cross-technique and covers metabolite structures and their reference spectra as well as their biological roles, locations and concentrations, and experimental data from metabolic experiments. This collection references individual metabolomics studies.", + "created": "2019-06-11T14:17:06.457+00:00", + "modified": "2019-06-11T14:17:06.457+00:00", + "resources": [ + { + "id": 1095, + "mirId": "MIR:00100486", + "urlPattern": "https://www.ebi.ac.uk/metabolights/{$id}", + "name": "MetaboLights at EBI", + "description": "MetaboLights at EBI", + "official": true, + "providerCode": "ebi", + "sampleId": "MTBLS1", + "resourceHomeUrl": "https://www.ebi.ac.uk/metabolights/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1096, + "mirId": "MIR:00100853", + "urlPattern": "https://www.omicsdi.org/dataset/metabolights_dataset/{$id}", + "name": "MataboLights through OmicsDI", + "description": "MataboLights through OmicsDI", + "official": false, + "providerCode": "omicsdi", + "sampleId": "MTBLS1", + "resourceHomeUrl": "https://www.omicsdi.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MTBLS1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1100, + "prefix": "orcid", + "mirId": "MIR:00000382", + "name": "ORCID", + "pattern": "^\\d{4}-\\d{4}-\\d{4}-\\d{3}(\\d|X)$", + "description": "ORCID (Open Researcher and Contributor ID) is an open, non-profit, community-based effort to create and maintain a registry of unique identifiers for individual researchers. ORCID records hold non-sensitive information such as name, email, organization name, and research activities.", + "created": "2019-06-11T14:17:06.994+00:00", + "modified": "2019-06-11T14:17:06.994+00:00", + "resources": [ + { + "id": 1102, + "mirId": "MIR:00100489", + "urlPattern": "https://orcid.org/{$id}", + "name": "ORCID at Bethesda", + "description": "ORCID at Bethesda", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "0000-0002-5355-2576", + "resourceHomeUrl": "https://orcid.org", + "institution": { + "id": 1101, + "name": "ORCID Inc, Bethesda, Mayrland", + "homeUrl": "http://orcid.org/", + "description": "ORCID, which stands for Open Researcher and Contributor ID, is a global, not-for-profit organization sustained by fees from our member organizations. We are community-built and governed by a Board of Directors representative of our membership with wide stakeholder representation. ORCID is supported by a dedicated and knowledgeable professional staff.", + "rorId": "https://ror.org/04fa4r544", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0000-0002-5355-2576", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1103, + "prefix": "inchi", + "mirId": "MIR:00000383", + "name": "InChI", + "pattern": "^InChI\\=1S?\\/[A-Za-z0-9\\.]+(\\+[0-9]+)?(\\/[cnpqbtmsih][A-Za-z0-9\\-\\+\\(\\)\\,\\/\\?\\;\\.]+)*$", + "description": "The IUPAC International Chemical Identifier (InChI) is a non-proprietary identifier for chemical substances that can be used in printed and electronic data sources. It is derived solely from a structural representation of that substance, such that a single compound always yields the same identifier.", + "created": "2019-06-11T14:17:07.236+00:00", + "modified": "2019-06-11T14:17:07.236+00:00", + "resources": [ + { + "id": 1106, + "mirId": "MIR:00100492", + "urlPattern": "http://www.chemspider.com/{$id}", + "name": "InChI through Chemspider", + "description": "InChI through Chemspider", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "InChI=1S/C2H6O/c1-2-3/h3H,2H2,1H3", + "resourceHomeUrl": "http://www.chemspider.com/", + "institution": { + "id": 439, + "name": "Royal Society of Chemistry, Cambridge", + "homeUrl": "http://www.rsc.org/", + "description": "We publish new research. We develop, recognise and celebrate professional capabilities. We bring people together to spark new ideas and new partnerships. We support teachers to inspire future generations of scientists. And we speak up to influence the people making decisions that affect us all.", + "rorId": "https://ror.org/025sbr097", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1108, + "mirId": "MIR:00100493", + "urlPattern": "http://webbook.nist.gov/cgi/cbook.cgi?{$id}", + "name": "InChI through NIST", + "description": "InChI through NIST", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "InChI=1S/C2H6O/c1-2-3/h3H,2H2,1H3", + "resourceHomeUrl": "http://webbook.nist.gov/chemistry", + "institution": { + "id": 1107, + "name": "National Institute of Standards and Technology, Gaithersburg, Maryland", + "homeUrl": "http://www.nist.gov/", + "description": "NIST promotes U.S. innovation and industrial competitiveness by advancing measurement science, standards, and technology in ways that enhance economic security and improve our quality of life. ", + "rorId": "https://ror.org/05xpvk416", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1109, + "mirId": "MIR:00100494", + "urlPattern": "https://www.ebi.ac.uk/chebi/advancedSearchFT.do?searchString={$id}", + "name": "InChI through ChEBI", + "description": "InChI through ChEBI", + "official": false, + "providerCode": "ebi", + "sampleId": "InChI=1S/C2H6O/c1-2-3/h3H,2H2,1H3", + "resourceHomeUrl": "https://www.ebi.ac.uk/chebi/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1105, + "mirId": "MIR:00100491", + "urlPattern": "http://rdf.openmolecules.net/?{$id}", + "name": "InChI through RDF Open Molecules", + "description": "InChI through RDF Open Molecules", + "official": false, + "providerCode": "um", + "sampleId": "InChI=1S/C2H6O/c1-2-3/h3H,2H2,1H3", + "resourceHomeUrl": "http://rdf.openmolecules.net/", + "institution": { + "id": 283, + "name": "Maastricht University", + "homeUrl": "https://www.maastrichtuniversity.nl", + "description": "Maastricht University (UM) is the most international university in the Netherlands and, with 18,000 students and 4,400 employees, is still growing. The university stands out for its innovative education model, international character and multidisciplinary approach to research and education.\nThanks to its high-quality research and study programmes as well as a strong focus on social engagement, UM has quickly built up a solid reputation. Today it is considered one of the best young universities in the world.", + "rorId": "https://ror.org/02jz4aj89", + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + } + }, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "InChI=1S/C2H6O/c1-2-3/h3H,2H2,1H3", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1110, + "prefix": "wikipedia.en", + "mirId": "MIR:00000384", + "name": "Wikipedia (En)", + "pattern": "^[A-Za-z-0-9_]+$", + "description": "Wikipedia is a multilingual, web-based, free-content encyclopedia project based on an openly editable model. It is written collaboratively by largely anonymous Internet volunteers who write without pay.", + "created": "2019-06-11T14:17:07.845+00:00", + "modified": "2019-06-11T14:17:07.845+00:00", + "resources": [ + { + "id": 1112, + "mirId": "MIR:00100495", + "urlPattern": "http://en.wikipedia.org/wiki/{$id}", + "name": "Wikipedia (English)", + "description": "Wikipedia (English)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "SM_UB-81", + "resourceHomeUrl": "http://en.wikipedia.org/wiki/Main_Page", + "institution": { + "id": 1111, + "name": "Wikimedia Foundation, San Francisco, California", + "homeUrl": "https://wikimediafoundation.org/", + "description": "The nonprofit Wikimedia Foundation provides the essential infrastructure for free knowledge. We host Wikipedia, the free online encyclopedia, created, edited, and verified by volunteers around the world, as well as many other vital community projects. All of which is made possible thanks to donations from individuals like you. We welcome anyone who shares our vision to join us in collecting and sharing knowledge that fully represents human diversity.", + "rorId": "https://ror.org/032q98j12", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1114, + "mirId": "MIR:00100496", + "urlPattern": "http://dbpedia.org/page/{$id}", + "name": "Wikipedia structured content through DBpedia", + "description": "Wikipedia structured content through DBpedia", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "SM_UB-81", + "resourceHomeUrl": "http://wiki.dbpedia.org/", + "institution": { + "id": 1113, + "name": "OpenLink Software, Burlington, Massachusetts", + "homeUrl": "https://www.openlinksw.com/", + "description": "OpenLink Software is an acclaimed technology innovator and leading vendor of secure, high-performance, platform-independent technology for data access, integration, virtualization, and management. Everything we build is an expression of what's possible using existing open standards -- ensuring that you retain a perpetual freedom to mix and match \"best of class\" technologies when developing and deploying solutions.", + "rorId": "https://ror.org/03sqxy896", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "SM_UB-81", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1115, + "prefix": "phosphopoint.kinase", + "mirId": "MIR:00000385", + "name": "PhosphoPoint Kinase", + "pattern": "^\\w+$", + "description": "PhosphoPOINT is a database of the human kinase and phospho-protein interactome. It describes the interactions among kinases, their potential substrates and their interacting (phospho)-proteins. It also incorporates gene expression and uses gene ontology (GO) terms to annotate interactions. This collection references kinase information.", + "created": "2019-06-11T14:17:08.222+00:00", + "modified": "2019-06-11T14:17:08.222+00:00", + "resources": [ + { + "id": 1117, + "mirId": "MIR:00100499", + "urlPattern": "http://kinase.bioinformatics.tw/showall.jsp?type=Kinase&info=Gene&name={$id}&drawing=0&sorting=0&kinome=1", + "name": "PhosphoPoint Kinase at National Taiwan University", + "description": "PhosphoPoint Kinase at National Taiwan University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "AURKA", + "resourceHomeUrl": "http://kinase.bioinformatics.tw/", + "institution": { + "id": 1116, + "name": "Department of Computer Science and Information Engineering, National Taiwan University", + "homeUrl": "https://en.ntnu.edu.tw/p-Computerscience.php", + "description": "Founded in 1985 as Department of Information and Computer Education, then officially renamed to Computer Science and Information Engineering in 2006. The department offers Bachelor, Master and Doctoral degrees with special emphasis in all fields of computer science and engineering. Currently there are approximately 200 undergraduate students and 150 graduate students enrolled, and there are 16 full-time faculties.", + "rorId": null, + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AURKA", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1118, + "prefix": "phosphopoint.protein", + "mirId": "MIR:00000386", + "name": "PhosphoPoint Phosphoprotein", + "pattern": "^\\w+$", + "description": "PhosphoPOINT is a database of the human kinase and phospho-protein interactome. It describes the interactions among kinases, their potential substrates and their interacting (phospho)-proteins. It also incorporates gene expression and uses gene ontology (GO) terms to annotate interactions. This collection references phosphoprotein information.", + "created": "2019-06-11T14:17:08.458+00:00", + "modified": "2019-06-11T14:17:08.458+00:00", + "resources": [ + { + "id": 1119, + "mirId": "MIR:00100500", + "urlPattern": "http://kinase.bioinformatics.tw/showall.jsp?type=PhosphoProtein&info=Gene&name={$id}&drawing=0&sorting=0&kinome=0", + "name": "PhosphoPoint Phosphoprotein at National Taiwan University", + "description": "PhosphoPoint Phosphoprotein at National Taiwan University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "AURKA", + "resourceHomeUrl": "http://kinase.bioinformatics.tw/", + "institution": { + "id": 1116, + "name": "Department of Computer Science and Information Engineering, National Taiwan University", + "homeUrl": "https://en.ntnu.edu.tw/p-Computerscience.php", + "description": "Founded in 1985 as Department of Information and Computer Education, then officially renamed to Computer Science and Information Engineering in 2006. The department offers Bachelor, Master and Doctoral degrees with special emphasis in all fields of computer science and engineering. Currently there are approximately 200 undergraduate students and 150 graduate students enrolled, and there are 16 full-time faculties.", + "rorId": null, + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AURKA", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1120, + "prefix": "inchikey", + "mirId": "MIR:00000387", + "name": "InChIKey", + "pattern": "^[A-Z]{14}\\-[A-Z]{10}(\\-[A-Z])?", + "description": "The IUPAC International Chemical Identifier (InChI, see MIR:00000383) is an identifier for chemical substances, and is derived solely from a structural representation of that substance. Since these can be quite unwieldly, particularly for web use, the InChIKey was developed. These are of a fixed length (25 character) and were created as a condensed, more web friendly, digital representation of the InChI.", + "created": "2019-06-11T14:17:08.649+00:00", + "modified": "2019-06-11T14:17:08.649+00:00", + "resources": [ + { + "id": 1121, + "mirId": "MIR:00100501", + "urlPattern": "http://www.chemspider.com/inchikey={$id}", + "name": "InChIKey through ChemSpider", + "description": "InChIKey through ChemSpider", + "official": true, + "providerCode": "chemspider", + "sampleId": "RYYVLZVUVIJVGH-UHFFFAOYSA-N", + "resourceHomeUrl": "http://www.chemspider.com/", + "institution": { + "id": 439, + "name": "Royal Society of Chemistry, Cambridge", + "homeUrl": "http://www.rsc.org/", + "description": "We publish new research. We develop, recognise and celebrate professional capabilities. We bring people together to spark new ideas and new partnerships. We support teachers to inspire future generations of scientists. And we speak up to influence the people making decisions that affect us all.", + "rorId": "https://ror.org/025sbr097", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1122, + "mirId": "MIR:00100505", + "urlPattern": "http://cactus.nci.nih.gov/chemical/structure/{$id}/names", + "name": "InChiKey resolver at NCI", + "description": "InChiKey resolver at NCI", + "official": true, + "providerCode": "cactus", + "sampleId": "RYYVLZVUVIJVGH-UHFFFAOYSA-N", + "resourceHomeUrl": "http://cactus.nci.nih.gov/chemical/structure", + "institution": { + "id": 425, + "name": "National Cancer Institute, Rockville, Maryland", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 2470, + "mirId": "MIR:00000779", + "urlPattern": "https://scholia.toolforge.org/inchikey/{$id}", + "name": "Scholia", + "description": "Scholia is a service that creates visual scholarly profiles for topic, people, organizations, species, chemicals, etc using bibliographic and other information in Wikidata.", + "official": false, + "providerCode": "scholia", + "sampleId": "WUUVSJBKHXDKBS-ROFOPDMZSA-N", + "resourceHomeUrl": "https://scholia.toolforge.org/", + "institution": { + "id": 283, + "name": "Maastricht University", + "homeUrl": "https://www.maastrichtuniversity.nl", + "description": "Maastricht University (UM) is the most international university in the Netherlands and, with 18,000 students and 4,400 employees, is still growing. The university stands out for its innovative education model, international character and multidisciplinary approach to research and education.\nThanks to its high-quality research and study programmes as well as a strong focus on social engagement, UM has quickly built up a solid reputation. Today it is considered one of the best young universities in the world.", + "rorId": "https://ror.org/02jz4aj89", + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + } + }, + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "RYYVLZVUVIJVGH-UHFFFAOYSA-N", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1123, + "prefix": "uniprot.isoform", + "mirId": "MIR:00000388", + "name": "UniProt Isoform", + "pattern": "^([A-N,R-Z][0-9][A-Z][A-Z, 0-9][A-Z, 0-9][0-9])|([O,P,Q][0-9][A-Z, 0-9][A-Z, 0-9][A-Z, 0-9][0-9])(\\-\\d+)$", + "description": "The UniProt Knowledgebase (UniProtKB) is a comprehensive resource for protein sequence and functional information with extensive cross-references to more than 120 external databases. This collection is a subset of UniProtKB, and provides a means to reference isoform information.", + "created": "2019-06-11T14:17:08.943+00:00", + "modified": "2019-06-11T14:17:08.943+00:00", + "resources": [ + { + "id": 1124, + "mirId": "MIR:00100502", + "urlPattern": "http://www.uniprot.org/uniprot/{$id}", + "name": "UniProt Isoform through Universal Protein Resource", + "description": "UniProt Isoform through Universal Protein Resource", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Q5BJF6-3", + "resourceHomeUrl": "http://www.uniprot.org/", + "institution": { + "id": 24, + "name": "UniProt Consortium", + "homeUrl": "https://www.uniprot.org", + "description": "The Universal Protein Resource (UniProt) is a comprehensive resource for protein sequence and annotation data. The UniProt databases are the UniProt Knowledgebase (UniProtKB), the UniProt Reference Clusters (UniRef), and the UniProt Archive (UniParc). The UniProt consortium and host institutions EMBL-EBI, SIB and PIR are committed to the long-term preservation of the UniProt databases.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1125, + "mirId": "MIR:00100503", + "urlPattern": "http://purl.uniprot.org/uniprot/{$id}", + "name": "UniProt Isoform through Universal Protein Resource using Persistent URL system", + "description": "UniProt Isoform through Universal Protein Resource using Persistent URL system", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Q5BJF6-3", + "resourceHomeUrl": "http://purl.uniprot.org/", + "institution": { + "id": 24, + "name": "UniProt Consortium", + "homeUrl": "https://www.uniprot.org", + "description": "The Universal Protein Resource (UniProt) is a comprehensive resource for protein sequence and annotation data. The UniProt databases are the UniProt Knowledgebase (UniProtKB), the UniProt Reference Clusters (UniRef), and the UniProt Archive (UniParc). The UniProt consortium and host institutions EMBL-EBI, SIB and PIR are committed to the long-term preservation of the UniProt databases.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1126, + "mirId": "MIR:00100504", + "urlPattern": "http://www.uniprot.org/uniparc/?query={$id}", + "name": "UniProt Isoform through UniParc", + "description": "UniProt Isoform through UniParc", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Q5BJF6-3", + "resourceHomeUrl": "http://www.uniprot.org/uniparc/", + "institution": { + "id": 24, + "name": "UniProt Consortium", + "homeUrl": "https://www.uniprot.org", + "description": "The Universal Protein Resource (UniProt) is a comprehensive resource for protein sequence and annotation data. The UniProt databases are the UniProt Knowledgebase (UniProtKB), the UniProt Reference Clusters (UniRef), and the UniProt Archive (UniParc). The UniProt consortium and host institutions EMBL-EBI, SIB and PIR are committed to the long-term preservation of the UniProt databases.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Q5BJF6-3", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1127, + "prefix": "kegg.environ", + "mirId": "MIR:00000389", + "name": "KEGG Environ", + "pattern": "^(ev\\:)?E\\d+$", + "description": "KEGG ENVIRON (renamed from EDRUG) is a collection of crude drugs, essential oils, and other health-promoting substances, which are mostly natural products of plants. It will contain environmental substances and other health-damagine substances as well. Each KEGG ENVIRON entry is identified by the E number and is associated with the chemical component, efficacy information, and source species information whenever applicable.", + "created": "2019-06-11T14:17:09.349+00:00", + "modified": "2019-06-11T14:17:09.349+00:00", + "resources": [ + { + "id": 1128, + "mirId": "MIR:00100506", + "urlPattern": "http://www.kegg.jp/entry/{$id}", + "name": "KEGG ENVIRON Database", + "description": "KEGG ENVIRON Database", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ev:E00032", + "resourceHomeUrl": "http://www.genome.jp/kegg/drug/environ.html", + "institution": { + "id": 15, + "name": "Kyoto University Bioinformatics Center", + "homeUrl": "https://www.bic.kyoto-u.ac.jp/", + "description": "The Bioinformatics Center aims at developing new informatics technologies for deciphering the genome, especially from the viewpoint of how life operates as a system, and promoting both basic and applied research areas in bioinformatics. The Center consists of three research laboratories, named Chemical Life Science, Mathematical Bioinformatics, and Bio-Knowledge Engineering, which focus on scientific discovery, algorithms, and data mining, respectively. ", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ev:E00032", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1129, + "prefix": "cldb", + "mirId": "MIR:00000390", + "name": "CLDB", + "pattern": "^(cl|tum)\\d+$", + "description": "The Cell Line Data Base (CLDB) is a reference information source for human and animal cell lines. It provides the characteristics of the cell lines and their availability through distributors, allowing cell line requests to be made from collections and laboratories.", + "created": "2019-06-11T14:17:09.531+00:00", + "modified": "2019-06-11T14:17:09.531+00:00", + "resources": [ + { + "id": 1131, + "mirId": "MIR:00100508", + "urlPattern": "http://bioinformatics.hsanmartino.it/hypercldb/{$id}.html", + "name": "CLDB at Genova", + "description": "CLDB at Genova", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "cl3603", + "resourceHomeUrl": "http://bioinformatics.hsanmartino.it/hypercldb/indexes.html", + "institution": { + "id": 1130, + "name": "Ospedale San Martino", + "homeUrl": "http://www.ospedalesanmartino.it", + "description": "The San Martino Polyclinic Hospital has always been a point of reference for the health needs of the citizens of the Genoese and Ligurian metropolitan area.\nIn five centuries of history, the high level and quality of the services offered have attracted users from all over Italy and abroad, helping to make this structure an important reference centre.", + "rorId": "https://ror.org/04d7es448", + "location": { + "countryCode": "IT", + "countryName": "Italy" + } + }, + "location": { + "countryCode": "IT", + "countryName": "Italy" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "cl3603", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1136, + "prefix": "hgmd", + "mirId": "MIR:00000392", + "name": "HGMD", + "pattern": "^[A-Z_0-9]+$", + "description": "The Human Gene Mutation Database (HGMD) collates data on germ-line mutations in nuclear genes associated with human inherited disease. It includes information on single base-pair substitutions in coding, regulatory and splicing-relevant regions; micro-deletions and micro-insertions; indels; triplet repeat expansions as well as gross deletions; insertions; duplications; and complex rearrangements. Each mutation entry is unique, and includes cDNA reference sequences for most genes, splice junction sequences, disease-associated and functional polymorphisms, as well as links to data present in publicly available online locus-specific mutation databases.", + "created": "2019-06-11T14:17:10.208+00:00", + "modified": "2019-06-11T14:17:10.208+00:00", + "resources": [ + { + "id": 1138, + "mirId": "MIR:00100512", + "urlPattern": "http://www.hgmd.cf.ac.uk/ac/gene.php?gene={$id}", + "name": "HGMD at Cardiff University", + "description": "HGMD at Cardiff University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "CALM1", + "resourceHomeUrl": "http://www.hgmd.cf.ac.uk/ac/index.php", + "institution": { + "id": 1137, + "name": "Cardiff University, Cardiff", + "homeUrl": "https://www.cardiff.ac.uk/", + "description": "Founded in 1883, Cardiff University is established as one of Britain's leading research universities. Our ambition is to rank consistently among the top 100 universities in the world and the top 20 in the UK. We excel in education, research, and innovation and are building strong international relationships whilst demonstrating our commitment to Wales. We have a significant economic and social impact on Wales and the UK as a whole, contributing in areas such as employment, research funding, and teaching and learning activities. Explore our history from the mergers that created the University to a timeline that gives a unique view of the events that have shaped who we are now.", + "rorId": "https://ror.org/03kk7td41", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CALM1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1139, + "prefix": "aphidbase.transcript", + "mirId": "MIR:00000393", + "name": "AphidBase Transcript", + "pattern": "^ACYPI\\d{6}(-RA)?$", + "description": "AphidBase is a centralized bioinformatic resource that was developed to facilitate community annotation of the pea aphid genome by the International Aphid Genomics Consortium (IAGC). The AphidBase Information System was designed to organize and distribute genomic data and annotations for a large international community. This collection references the transcript report, which describes genomic location, sequence and exon information.", + "created": "2019-06-11T14:17:10.425+00:00", + "modified": "2019-06-11T14:17:10.425+00:00", + "resources": [ + { + "id": 1141, + "mirId": "MIR:00100513", + "urlPattern": "http://bipaa.genouest.org/apps/grs-2.3/grs?reportID=aphidbase_transcript_report&objectID={$id}", + "name": "AphidBase at INRA", + "description": "AphidBase at INRA", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ACYPI000159", + "resourceHomeUrl": "http://www.aphidbase.com/aphidbase", + "institution": { + "id": 1140, + "name": "INRA UMR, Le Rheu", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ACYPI000159", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1142, + "prefix": "affy.probeset", + "mirId": "MIR:00000394", + "name": "Affymetrix Probeset", + "pattern": "\\d{4,}((_[asx])?_at)?", + "description": "An Affymetrix ProbeSet is a collection of up to 11 short (~22 nucleotide) microarray probes designed to measure a single gene or a family of genes as a unit. Multiple probe sets may be available for each gene under consideration.", + "created": "2019-06-11T14:17:10.647+00:00", + "modified": "2019-06-11T14:17:10.647+00:00", + "resources": [ + { + "id": 1144, + "mirId": "MIR:00100514", + "urlPattern": "https://www.affymetrix.com/LinkServlet?probeset={$id}", + "name": "Affymetrix ProbeSet in Santa Clara", + "description": "Affymetrix ProbeSet in Santa Clara", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "243002_at", + "resourceHomeUrl": "http://www.affymetrix.com/", + "institution": { + "id": 1143, + "name": "Affymetrix", + "homeUrl": "https://www.thermofisher.com/uk/en/home/life-science/microarray-analysis.html", + "description": "Thermo Fisher Scientific provides innovative Affymetrix\u2122 products, tools, and resources that help advance the work of researchers via microarray analysis", + "rorId": "https://ror.org/012kjw534", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1145, + "mirId": "MIR:00100672", + "urlPattern": "http://cu.affymetrix.bio2rdf.org/describe/?url=http://bio2rdf.org/affymetrix:{$id}", + "name": "Bio2RDF", + "description": "Bio2RDF", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "243002_at", + "resourceHomeUrl": "http://cu.affymetrix.bio2rdf.org/fct/", + "institution": { + "id": 33, + "name": "Bio2RDF.org", + "homeUrl": "https://bio2rdf.org", + "description": "Bio2RDF is an open-source project that uses Semantic Web technologies to build and provide the largest network of Linked Data for the Life Sciences. Bio2RDF defines a set of simple conventions to create RDF(S) compatible Linked Data from a diverse set of heterogeneously formatted sources obtained from multiple data providers.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "243002_at", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1146, + "prefix": "treefam", + "mirId": "MIR:00000395", + "name": "TreeFam", + "pattern": "^\\w{1,2}\\d+$", + "description": "TreeFam is a database of phylogenetic trees of gene families found in animals. Automatically generated trees are curated, to create a curated resource that presents the accurate evolutionary history of all animal gene families, as well as reliable ortholog and paralog assignments.", + "created": "2019-06-11T14:17:10.973+00:00", + "modified": "2019-06-11T14:17:10.973+00:00", + "resources": [ + { + "id": 1148, + "mirId": "MIR:00100515", + "urlPattern": "http://www.treefam.org/family/{$id}", + "name": "TreeFam database", + "description": "TreeFam database", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "TF101014", + "resourceHomeUrl": "http://www.treefam.org/", + "institution": { + "id": 1147, + "name": "Beijing Genomics Institute", + "homeUrl": "https://www.bgi.com", + "description": "BGI Genomics is a publicly listed commercial genomics company, providing a wide range of next generation sequencing services and a broad portfolio of genetic tests for medical institutions, research institutions and other public and private partners.\nEstablished in 1999, we have almost 20 years of genomics experience. Our mission is to leverage our genomics expertise in order to advance life science research and improve human health for the benefit of mankind.", + "rorId": "https://ror.org/045pn2j94", + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "TF101014", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1149, + "prefix": "caps", + "mirId": "MIR:00000396", + "name": "CAPS-DB", + "pattern": "^\\d+$", + "description": "CAPS-DB is a structural classification of helix-cappings or caps compiled from protein structures. The regions of the polypeptide chain immediately preceding or following an alpha-helix are known as Nt- and Ct cappings, respectively. Caps extracted from protein structures have been structurally classified based on geometry and conformation and organized in a tree-like hierarchical classification where the different levels correspond to different properties of the caps.", + "created": "2019-06-11T14:17:11.199+00:00", + "modified": "2019-06-11T14:17:11.199+00:00", + "resources": [ + { + "id": 1151, + "mirId": "MIR:00100516", + "urlPattern": "http://www.bioinsilico.org/cgi-bin/CAPSDB/getCAPScluster?nidcl={$id}", + "name": "CAPS-DB at Leeds Institute of Molecular Medicine", + "description": "CAPS-DB at Leeds Institute of Molecular Medicine", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "434", + "resourceHomeUrl": "http://www.bioinsilico.org/cgi-bin/CAPSDB/staticHTML/home", + "institution": { + "id": 1150, + "name": "Leeds Institute of Molecular Medicine, Section of Experimental Therapeutics, University of Leeds, Leeds", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "434", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1152, + "prefix": "cubedb", + "mirId": "MIR:00000397", + "name": "Cube db", + "pattern": "^[A-Za-z_0-9]+$", + "description": "Cube-DB is a database of pre-evaluated results for detection of functional divergence in human/vertebrate protein families. It analyzes comparable taxonomical samples for all paralogues under consideration, storing functional specialisation at the level of residues. The data are presented as a table of per-residue scores, and mapped onto related structures where available.", + "created": "2019-06-11T14:17:11.437+00:00", + "modified": "2019-06-11T14:17:11.437+00:00", + "resources": [ + { + "id": 1154, + "mirId": "MIR:00100517", + "urlPattern": "http://epsf.bmad.bii.a-star.edu.sg/cube/db/data/{$id}/", + "name": "Cube db at Bioinformatics Institute (Singapore)", + "description": "Cube db at Bioinformatics Institute (Singapore)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "AKR", + "resourceHomeUrl": "http://epsf.bmad.bii.a-star.edu.sg/cube/db/html/home.html", + "institution": { + "id": 1153, + "name": "BII Bioinformatics Institute", + "homeUrl": "http://www.bii.a-star.edu.sg", + "description": "The BII focuses on theoretical approaches aimed at understanding biomolecular mechanisms that underlie biological phenomena, the development of computational methods to support this discovery process, and experimental verification of predicted molecular and cellular functions of genes and proteins with biochemical methods.", + "rorId": "https://ror.org/044w3nw43", + "location": { + "countryCode": "SG", + "countryName": "Singapore" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AKR", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1155, + "prefix": "ideal", + "mirId": "MIR:00000398", + "name": "IDEAL", + "pattern": "^IID\\d+$", + "description": "IDEAL provides a collection of knowledge on experimentally verified intrinsically disordered proteins. It contains manual annotations by curators on intrinsically disordered regions, interaction regions to other molecules, post-translational modification sites, references and structural domain assignments.", + "created": "2019-06-11T14:17:11.651+00:00", + "modified": "2019-06-11T14:17:11.651+00:00", + "resources": [ + { + "id": 1157, + "mirId": "MIR:00100518", + "urlPattern": "http://idp1.force.cs.is.nagoya-u.ac.jp/IDEAL/ideal.php?id={$id}", + "name": "IDEAL at Nagoya University", + "description": "IDEAL at Nagoya University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "IID00001", + "resourceHomeUrl": "http://www.ideal.force.cs.is.nagoya-u.ac.jp/IDEAL/", + "institution": { + "id": 1156, + "name": "Nagoya University", + "homeUrl": "http://en.nagoya-u.ac.jp/", + "description": "Nagoya University has a 144-year history, dating from when the Temporary\u3000Medical School/Public Hospital -- the forerunner of today's Nagoya University -- was established in 1871. The University became the last Imperial University of Japan in 1939, and the educational reforms in 1949 led to the beginning of Nagoya University under the new education system. From that time to this day, the University has been pursuing steady development.", + "rorId": "https://ror.org/04chrp450", + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "IID00001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1158, + "prefix": "stap", + "mirId": "MIR:00000399", + "name": "STAP", + "pattern": "^[0-9][A-Za-z0-9]{3}$", + "description": "STAP (Statistical Torsional Angles Potentials) was developed since, according to several studies, some nuclear magnetic resonance (NMR) structures are of lower quality, are less reliable and less suitable for structural analysis than high-resolution X-ray crystallographic structures. The refined NMR solution structures (statistical torsion angle potentials; STAP) in the database are refined from the Protein Data Bank (PDB).", + "created": "2019-06-11T14:17:11.871+00:00", + "modified": "2019-06-11T14:17:11.871+00:00", + "resources": [ + { + "id": 1160, + "mirId": "MIR:00100519", + "urlPattern": "http://psb.kobic.re.kr/STAP/refinement1/result.php?search={$id}", + "name": "STAP at Korean Bioinformation Center", + "description": "STAP at Korean Bioinformation Center", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1a24", + "resourceHomeUrl": "http://psb.kobic.re.kr/STAP/refinement/", + "institution": { + "id": 1159, + "name": "Korean Bioinformation Center, Korea Research Institute of Bioscience and Biotechnology, Daejeon", + "homeUrl": "https://www.kribb.re.kr/eng/sub02/sub02_07_03.jsp", + "description": "The Korean Bioinformation Center (KOBIC) is the national research center for bioinformatics which plays a key role in various areas such as genomics, proteomics, systems biology, and personalized medicine. KOBIC is also responsible for the integration and management of bioresource/biodiversity information from various research laboratories and institutions across the country. ", + "rorId": null, + "location": { + "countryCode": "KR", + "countryName": "Korea, Republic of" + } + }, + "location": { + "countryCode": "KR", + "countryName": "Korea, Republic of" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1a24", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1161, + "prefix": "pocketome", + "mirId": "MIR:00000400", + "name": "Pocketome", + "pattern": "^[A-Za-z_0-9]+", + "description": "Pocketome is an encyclopedia of conformational ensembles of all druggable binding sites that can be identified experimentally from co-crystal structures in the Protein Data Bank. Each Pocketome entry corresponds to a small molecule binding site in a protein which has been co-crystallized in complex with at least one drug-like small molecule, and is represented in at least two PDB entries.", + "created": "2019-06-11T14:17:12.099+00:00", + "modified": "2019-06-11T14:17:12.099+00:00", + "resources": [ + { + "id": 1163, + "mirId": "MIR:00100520", + "urlPattern": "http://www.pocketome.org/files/{$id}.html", + "name": "Pocketome at UCSD Skaggs School", + "description": "Pocketome at UCSD Skaggs School", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1433C_TOBAC_1_252", + "resourceHomeUrl": "http://www.pocketome.org/sfSearch.cgi?act=browseall", + "institution": { + "id": 1162, + "name": "UCSD Skaggs School of Pharmacy and Pharmaceutical Sciences, La Jolla, California", + "homeUrl": "https://pharmacy.ucsd.edu/", + "description": "UC San Diego SSPPS offers students an innovative and flexible curriculum leading to the Doctor of Pharmacy (Pharm.D.) degree, taught by a stellar health sciences faculty in a program closely associated with the outstanding clinical, research and academic programs in the School of Medicine. The steady-state enrollment is 280 Pharm.D. students.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1433C_TOBAC_1_252", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1169, + "prefix": "bugbase.protocol", + "mirId": "MIR:00000403", + "name": "BugBase Protocol", + "pattern": "^\\d+$", + "description": "BugBase is a MIAME-compliant microbial gene expression and comparative genomic database. It stores experimental annotation and multiple raw and analysed data formats, as well as protocols for bacterial microarray designs. This collection references design protocols.", + "created": "2019-06-11T14:17:12.749+00:00", + "modified": "2019-06-11T14:17:12.749+00:00", + "resources": [ + { + "id": 1171, + "mirId": "MIR:00100523", + "urlPattern": "http://bugs.sgul.ac.uk/bugsbase/tabs/protocol.php?protocol_id={$id}&action=view", + "name": "BugBase Protocol at University of London", + "description": "BugBase Protocol at University of London", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "67", + "resourceHomeUrl": "http://bugs.sgul.ac.uk/E-BUGS", + "institution": { + "id": 1170, + "name": "St George's, University of London", + "homeUrl": "https://www.sgul.ac.uk/", + "description": "St George\u2019s Hospital Medical School was established in 1733 and initially based at Hyde Park Corner, before moving to our Tooting site in 1980. It was the second institution in England to provide formal training courses for doctors.\nSt George\u2019s has a dynamic research culture, with teams working to improve the health of people of all ages, from children to the elderly, in populations locally and globally.", + "rorId": "https://ror.org/040f08y74", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "67", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1172, + "prefix": "bugbase.expt", + "mirId": "MIR:00000404", + "name": "BugBase Expt", + "pattern": "^\\d+$", + "description": "BugBase is a MIAME-compliant microbial gene expression and comparative genomic database. It stores experimental annotation and multiple raw and analysed data formats, as well as protocols for bacterial microarray designs. This collection references microarray experiments.", + "created": "2019-06-11T14:17:12.968+00:00", + "modified": "2019-06-11T14:17:12.968+00:00", + "resources": [ + { + "id": 1173, + "mirId": "MIR:00100524", + "urlPattern": "http://bugs.sgul.ac.uk/bugsbase/tabs/experiment.php?expt_id={$id}&action=view", + "name": "BugBase Expt at University of London", + "description": "BugBase Expt at University of London", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "288", + "resourceHomeUrl": "http://bugs.sgul.ac.uk/E-BUGS", + "institution": { + "id": 1170, + "name": "St George's, University of London", + "homeUrl": "https://www.sgul.ac.uk/", + "description": "St George\u2019s Hospital Medical School was established in 1733 and initially based at Hyde Park Corner, before moving to our Tooting site in 1980. It was the second institution in England to provide formal training courses for doctors.\nSt George\u2019s has a dynamic research culture, with teams working to improve the health of people of all ages, from children to the elderly, in populations locally and globally.", + "rorId": "https://ror.org/040f08y74", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "288", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1174, + "prefix": "tol", + "mirId": "MIR:00000405", + "name": "Tree of Life", + "pattern": "^\\d+$", + "description": "The Tree of Life Web Project (ToL) is a collaborative effort of biologists and nature enthusiasts from around the world. On more than 10,000 World Wide Web pages, the project provides information about biodiversity, the characteristics of different groups of organisms, and their evolutionary history (phylogeny). \r\n\r\nEach page contains information about a particular group, with pages linked one to another hierarchically, in the form of the evolutionary tree of life. Starting with the root of all Life on Earth and moving out along diverging branches to individual species, the structure of the ToL project thus illustrates the genetic connections between all living things.", + "created": "2019-06-11T14:17:13.167+00:00", + "modified": "2019-06-11T14:17:13.167+00:00", + "resources": [ + { + "id": 1176, + "mirId": "MIR:00100525", + "urlPattern": "http://tolweb.org/{$id}", + "name": "Tree of Life Web", + "description": "Tree of Life Web", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "98034", + "resourceHomeUrl": "http://tolweb.org/tree/", + "institution": { + "id": 1175, + "name": "University of Arizona", + "homeUrl": "https://www.arizona.edu/", + "description": "As Arizona\u2019s land-grant university, we are driven to do great things. It\u2019s our passion to transform the lives of our student Wildcats and to solve some of the biggest challenges facing our state and the world.", + "rorId": "https://ror.org/03m2x1q45", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "98034", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1177, + "prefix": "vario", + "mirId": "MIR:00000406", + "name": "VariO", + "pattern": "^VariO:\\d+$", + "description": "The Variation Ontology (VariO) is an ontology for the standardized, systematic description of effects, consequences and mechanisms of variations. It describes the effects of variations at the DNA, RNA and/or protein level.", + "created": "2019-06-11T14:17:13.429+00:00", + "modified": "2019-06-11T14:17:13.429+00:00", + "resources": [ + { + "id": 1180, + "mirId": "MIR:00100566", + "urlPattern": "https://purl.bioontology.org/ontology/VARIO?conceptid=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FVariO_{$id}", + "name": "VariO through BioPortal", + "description": "VariO through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "0294", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/VARIO", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1179, + "mirId": "MIR:00100526", + "urlPattern": "http://www.ontobee.org/search?ontology=VariO&keywords=VariO_{$id}&submit=Search+terms", + "name": "VariO at Lund University", + "description": "VariO at Lund University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "0294", + "resourceHomeUrl": "http://www.variationontology.org/", + "institution": { + "id": 1178, + "name": "Department of Experimental Medical Science, Lund University", + "homeUrl": "https://www.medicine.lu.se/faculty-medicine-lund-university/departments/department-experimental-medical-science", + "description": "Our mission is to perform molecular, cellular and integrative research at the highest international level and to train a new generation of successful scientists. We study biological processes that govern normal human bodily functions that are involved in disease pathogenesis. Several of our research environments have been recognized as outstanding both on the national and the European level. ", + "rorId": null, + "location": { + "countryCode": "SE", + "countryName": "Sweden" + } + }, + "location": { + "countryCode": "SE", + "countryName": "Sweden" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1181, + "mirId": "MIR:00100677", + "urlPattern": "https://www.ebi.ac.uk/ols/ontologies/vario/terms?obo_id=VariO:{$id}", + "name": "VariO through OLS", + "description": "VariO through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "0294", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols/ontologies/vario", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0294", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1182, + "prefix": "vipr", + "mirId": "MIR:00000407", + "name": "ViPR Strain", + "pattern": "^[A-Za-z 0-9]+$", + "description": "The Virus Pathogen Database and Analysis Resource (ViPR) supports bioinformatics workflows for a broad range of human virus pathogens and other related viruses. It provides access to sequence records, gene and protein annotations, immune epitopes, 3D structures, and host factor data. This collection references viral strain information.", + "created": "2019-06-11T14:17:13.893+00:00", + "modified": "2019-06-11T14:17:13.893+00:00", + "resources": [ + { + "id": 1184, + "mirId": "MIR:00100527", + "urlPattern": "http://www.viprbrc.org/brc/viprStrainDetails.do?strainName={$id}&decorator=arena", + "name": "ViPR Strain at J. Craig Venter Institute", + "description": "ViPR Strain at J. Craig Venter Institute", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "BeAn 70563", + "resourceHomeUrl": "http://www.viprbrc.org/brc/home.do?decorator=vipr", + "institution": { + "id": 393, + "name": "J. Craig Venter Institute, Maryland", + "homeUrl": "https://www.jcvi.org", + "description": "The J. Craig Venter Institute (JCVI) is a world leader in genomic research with approximately 120 scientists and staff who are bold innovators fearlessly pursuing revolutionary ideas. With a long track-record of creativity and an interdisciplinary approach to genomics, JCVI is committed to accelerating foundational scientific research to drive advances in human health and environmental sustainability.", + "rorId": "https://ror.org/049r1ts75", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "BeAn 70563", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1185, + "prefix": "epd", + "mirId": "MIR:00000408", + "name": "EPD", + "pattern": "^[A-Z-_0-9]+$", + "description": "The Eukaryotic Promoter Database (EPD) is an annotated non-redundant collection of eukaryotic POL II promoters, for which the transcription start site has been determined experimentally. Access to promoter sequences is provided by pointers to positions in nucleotide sequence entries. The annotation part of an entry includes description of the initiation site mapping data, cross-references to other databases, and bibliographic references. EPD is structured in a way that facilitates dynamic extraction of biologically meaningful promoter subsets for comparative sequence analysis.", + "created": "2019-06-11T14:17:14.109+00:00", + "modified": "2019-06-11T14:17:14.109+00:00", + "resources": [ + { + "id": 1186, + "mirId": "MIR:00100528", + "urlPattern": "https://epd.expasy.org/cgi-bin/epd/query_result.pl?out_format=NICE&Entry_0={$id}", + "name": "EPD at Swiss Institute of Bioinformatics", + "description": "EPD at Swiss Institute of Bioinformatics", + "official": false, + "providerCode": "sib", + "sampleId": "TA_H3", + "resourceHomeUrl": "https://epd.expasy.org/epd", + "institution": { + "id": 1730, + "name": "SIB Swiss Institute of Bioinformatics", + "homeUrl": "https://www.sib.swiss", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "rorId": "https://ror.org/002n09z45", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "TA_H3", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1187, + "prefix": "rfam", + "mirId": "MIR:00000409", + "name": "RFAM", + "pattern": "^RF\\d{5}$", + "description": "The Rfam database is a collection of RNA families, each represented by multiple sequence alignments, consensus secondary structures and covariance models (CMs). The families in Rfam break down into three broad functional classes: non-coding RNA genes, structured cis-regulatory elements and self-splicing RNAs. Typically these functional RNAs often have a conserved secondary structure which may be better preserved than the RNA sequence. The CMs used to describe each family are a slightly more complicated relative of the profile hidden Markov models (HMMs) used by Pfam. CMs can simultaneously model RNA sequence and the structure in an elegant and accurate fashion.", + "created": "2019-06-11T14:17:14.331+00:00", + "modified": "2019-06-11T14:17:14.331+00:00", + "resources": [ + { + "id": 1188, + "mirId": "MIR:00100686", + "urlPattern": "https://rfam.org/family/{$id}", + "name": "Rfam at EMBL-EBI", + "description": "Rfam at EMBL-EBI", + "official": true, + "providerCode": "ebi", + "sampleId": "RF00230", + "resourceHomeUrl": "https://rfam.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "RF00230", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1192, + "prefix": "aftol.taxonomy", + "mirId": "MIR:00000411", + "name": "AFTOL", + "pattern": "^\\d+$", + "description": "The Assembling the Fungal Tree of Life (AFTOL) project is dedicated to significantly enhancing our understanding of the evolution of the Kingdom Fungi, which represents one of the major clades of life. There are roughly 80,000 described species of Fungi, but the actual diversity in the group has been estimated to be about 1.5 million species.", + "created": "2019-06-11T14:17:14.756+00:00", + "modified": "2019-06-11T14:17:14.756+00:00", + "resources": [ + { + "id": 1194, + "mirId": "MIR:00100533", + "urlPattern": "http://wasabi.lutzonilab.net/pub/displayTaxonInfo?aftol_id={$id}", + "name": "AFTOL at University of Minnesota", + "description": "AFTOL at University of Minnesota", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "959", + "resourceHomeUrl": "http://aftol.org/data.php", + "institution": { + "id": 1193, + "name": "Department of Plant Biology, University of Minnesota, Minnesota", + "homeUrl": "https://cbs.umn.edu/pmb", + "description": "The Department of Plant and Microbial Biology is the academic home for a diverse and integrative group of scientists who study the genetics, ecology, evolution, and molecular biology of plants, fungi, and microbes. ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "959", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1195, + "prefix": "aspgd.locus", + "mirId": "MIR:00000412", + "name": "AspGD Locus", + "pattern": "^[A-Za-z_0-9]+$", + "description": "The Aspergillus Genome Database (AspGD) is a repository for information relating to fungi of the genus Aspergillus, which includes organisms of clinical, agricultural and industrial importance. AspGD facilitates comparative genomics by providing a full-featured genomics viewer, as well as matched and standardized sets of genomic information for the sequenced aspergilli. This collection references gene information.", + "created": "2019-06-11T14:17:14.975+00:00", + "modified": "2019-06-11T14:17:14.975+00:00", + "resources": [ + { + "id": 1197, + "mirId": "MIR:00100534", + "urlPattern": "http://www.aspergillusgenome.org/cgi-bin/locus.pl?dbid={$id}", + "name": "AspGD at Stanford Medical School", + "description": "AspGD at Stanford Medical School", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ASPL0000349247", + "resourceHomeUrl": "http://www.aspgd.org/", + "institution": { + "id": 298, + "name": "Department of Genetics, School of Medicine, Stanford University, Stanford, California", + "homeUrl": "https://med.stanford.edu/genetics.html", + "description": "A leader in the biomedical revolution, Stanford Medicine has a long tradition of leadership in pioneering research, creative teaching protocols and effective clinical therapies.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ASPL0000349247", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1198, + "prefix": "aspgd.protein", + "mirId": "MIR:00000413", + "name": "AspGD Protein", + "pattern": "^[A-Za-z_0-9]+$", + "description": "The Aspergillus Genome Database (AspGD) is a repository for information relating to fungi of the genus Aspergillus, which includes organisms of clinical, agricultural and industrial importance. AspGD facilitates comparative genomics by providing a full-featured genomics viewer, as well as matched and standardized sets of genomic information for the sequenced aspergilli. This collection references protein information.", + "created": "2019-06-11T14:17:15.227+00:00", + "modified": "2019-06-11T14:17:15.227+00:00", + "resources": [ + { + "id": 1199, + "mirId": "MIR:00100535", + "urlPattern": "http://www.aspergillusgenome.org/cgi-bin/protein/proteinPage.pl?dbid={$id}", + "name": "AspGD Protein at Stanford Medical School", + "description": "AspGD Protein at Stanford Medical School", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ASPL0000349247", + "resourceHomeUrl": "http://www.aspgd.org/", + "institution": { + "id": 298, + "name": "Department of Genetics, School of Medicine, Stanford University, Stanford, California", + "homeUrl": "https://med.stanford.edu/genetics.html", + "description": "A leader in the biomedical revolution, Stanford Medicine has a long tradition of leadership in pioneering research, creative teaching protocols and effective clinical therapies.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ASPL0000349247", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1237, + "prefix": "ndc", + "mirId": "MIR:00000431", + "name": "National Drug Code", + "pattern": "^\\d+\\-\\d+\\-\\d+", + "description": "The National Drug Code (NDC) is a unique, three-segment number used by the Food and Drug Administration (FDA) to identify drug products for commercial use. This is required by the Drug Listing Act of 1972. The FDA publishes and updates the listed NDC numbers daily.", + "created": "2019-06-11T14:17:18.754+00:00", + "modified": "2019-06-11T14:17:18.754+00:00", + "resources": [ + { + "id": 1240, + "mirId": "MIR:00100700", + "urlPattern": "http://ndc.bio2rdf.org/describe/?url=http://bio2rdf.org/ndc:{$id}", + "name": "Bio2RDF", + "description": "Bio2RDF", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "0002-1975-61", + "resourceHomeUrl": "http://ndc.bio2rdf.org/fct", + "institution": { + "id": 33, + "name": "Bio2RDF.org", + "homeUrl": "https://bio2rdf.org", + "description": "Bio2RDF is an open-source project that uses Semantic Web technologies to build and provide the largest network of Linked Data for the Life Sciences. Bio2RDF defines a set of simple conventions to create RDF(S) compatible Linked Data from a diverse set of heterogeneously formatted sources obtained from multiple data providers.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1239, + "mirId": "MIR:00100554", + "urlPattern": "http://www.hipaaspace.com/Medical_Billing/Coding/National.Drug.Codes/{$id}", + "name": "National Drug Code at Food and Drug Administration", + "description": "National Drug Code at Food and Drug Administration", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "0002-1975-61", + "resourceHomeUrl": "http://www.accessdata.fda.gov/scripts/cder/ndc/", + "institution": { + "id": 1238, + "name": "U.S. Food and Drug Administration, Maryland", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0002-1975-61", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1200, + "prefix": "autdb", + "mirId": "MIR:00000415", + "name": "AutDB", + "pattern": "^[A-Z]+[A-Z-0-9]{2,}$", + "description": "AutDB is a curated database for autism research. It is built on information extracted from the studies on molecular genetics and biology of Autism Spectrum Disorders (ASD). The four modules of AutDB include information on Human Genes, Animal models, Protein Interactions (PIN) and Copy Number Variants (CNV) respectively. It provides an annotated list of ASD candidate genes in the form of reference dataset for interrogating molecular mechanisms underlying the disorder.", + "created": "2019-06-11T14:17:15.426+00:00", + "modified": "2019-06-11T14:17:15.426+00:00", + "resources": [ + { + "id": 1202, + "mirId": "MIR:00100538", + "urlPattern": "http://autism.mindspec.org/GeneDetail/{$id}", + "name": "AutDB at MindSpec", + "description": "AutDB at MindSpec", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ADA", + "resourceHomeUrl": "http://autism.mindspec.org/autdb/", + "institution": { + "id": 1201, + "name": "MindSpec Inc., Fairfax, Virginia", + "homeUrl": "http://www.mindspec.org/", + "description": "Our core mission at MindSpec, a 501(c)(3) non profit organization, is to advance research on neurodevelopmental conditions. Founded in 2006, MindSpec is an independent, non-profit research organization established to facilitate the discovery of a cure for autism. Although we initially focused on autism, we hope to expand our research to other types of neuropsychiatric illness.", + "rorId": "https://ror.org/033p51247", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ADA", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1203, + "prefix": "bacmap.map", + "mirId": "MIR:00000416", + "name": "BacMap Map", + "pattern": "^\\w+(\\_)?\\d+(\\.\\d+)?$", + "description": "BacMap is an electronic, interactive atlas of fully sequenced bacterial genomes. It contains labeled, zoomable and searchable chromosome maps for sequenced prokaryotic (archaebacterial and eubacterial) species. Each map can be zoomed to the level of individual genes and each gene is hyperlinked to a richly annotated gene card. All bacterial genome maps are supplemented with separate prophage genome maps as well as separate tRNA and rRNA maps. Each bacterial chromosome entry in BacMap contains graphs and tables on a variety of gene and protein statistics. Likewise, every bacterial species entry contains a bacterial 'biography' card, with taxonomic details, phenotypic details, textual descriptions and images. This collection references genome map information.", + "created": "2019-06-11T14:17:15.634+00:00", + "modified": "2019-06-11T14:17:15.634+00:00", + "resources": [ + { + "id": 1204, + "mirId": "MIR:00100539", + "urlPattern": "http://bacmap.wishartlab.com/maps/{$id}/index.html", + "name": "BacMap Genome Map at University of Alberta", + "description": "BacMap Genome Map at University of Alberta", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "AP011135", + "resourceHomeUrl": "http://bacmap.wishartlab.com/", + "institution": { + "id": 1037, + "name": "Department of Computing Science, Food and Nutritional Science, University of Alberta, Edmonton", + "homeUrl": "https://www.ualberta.ca/agricultural-food-nutritional-science/index.html", + "description": "The department of Agricultural, Food & Nutritional Science (AFNS) offers research and teachings related to the fields of Animal Science, Food Science and Bioresource, Human Nutrition and Plant Biosystems. AFNS offers undergraduate Bachelor of Science degrees in Agriculture, Animal Health, Agricultural/Food Business Science and Nutrition & Food Science each with a variety of majors. AFNS students can also pursue a course-based or thesis-based Master of Agriculture, Master of Science or a PhD.", + "rorId": null, + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AP011135", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1215, + "prefix": "biocarta.pathway", + "mirId": "MIR:00000421", + "name": "BioCarta Pathway", + "pattern": "^([hm]\\_)?\\w+Pathway$", + "description": "BioCarta is a supplier and distributor of characterized reagents and assays for biopharmaceutical and academic research. It catalogs community produced online maps depicting molecular relationships from areas of active research, generating classical pathways as well as suggestions for new pathways. This collections references pathway maps.", + "created": "2019-06-11T14:17:16.688+00:00", + "modified": "2019-06-11T14:17:16.688+00:00", + "resources": [ + { + "id": 1216, + "mirId": "MIR:00100544", + "urlPattern": "https://cgap.nci.nih.gov/Pathways/BioCarta/{$id}", + "name": "BioCarta Pathway at NCI", + "description": "BioCarta Pathway at NCI", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "h_aktPathway", + "resourceHomeUrl": "https://www.biocarta.com/", + "institution": { + "id": 442, + "name": "National Cancer Institute, Center for Bioinformatics, Maryland", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "h_aktPathway", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1219, + "prefix": "gmd.profile", + "mirId": "MIR:00000423", + "name": "Golm Metabolome Database Profile", + "pattern": "^([0-9a-fA-F]){8}(-([0-9a-fA-F]){4}){3}-([0-9a-fA-F]){12}$", + "description": "Golm Metabolome Database (GMD) provides public access to custom mass spectral libraries, metabolite profiling experiments as well as additional information and tools. GMD's metabolite profiles provide relative metabolite concentrations normalised according to fresh weight (or comparable quantitative data, such as volume, cell count, etc.) and internal standards (e.g. ribotol) of biological reference conditions and tissues.", + "created": "2019-06-11T14:17:17.038+00:00", + "modified": "2019-06-11T14:17:17.038+00:00", + "resources": [ + { + "id": 1220, + "mirId": "MIR:00100546", + "urlPattern": "http://gmd.mpimp-golm.mpg.de/profile/default.aspx?XemlId={$id}", + "name": "Golm Metabolome Database (Profile) at Max Planck Institute of Molecular Plant Physiology", + "description": "Golm Metabolome Database (Profile) at Max Planck Institute of Molecular Plant Physiology", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "10b38aaf-b977-4950-85b8-f4775f66658d", + "resourceHomeUrl": "http://gmd.mpimp-golm.mpg.de/", + "institution": { + "id": 806, + "name": "Max Planck Institute of Molecular Plant Physiology, Potsdam", + "homeUrl": "http://www.mpimp-golm.mpg.de/2168/en", + "description": "The Max Planck Institute of Molecular Plant Physiology (MPI-MP) was founded in 1994, as one of 18 institutes on the territory of the former GDR. The founding director was Prof. Dr. Dr. h.c. Lothar Willmitzer, who is the director of one of the three departments which have been established since then. From originally only 16 employees the institute grew into a large institute, which now employs about 360 people from all over the world, who put their combined efforts into elucidating the secrets of plants.", + "rorId": "https://ror.org/01fbde567", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "10b38aaf-b977-4950-85b8-f4775f66658d", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1221, + "prefix": "gmd.gcms", + "mirId": "MIR:00000424", + "name": "Golm Metabolome Database GC-MS spectra", + "pattern": "^([0-9a-fA-F]){8}(-([0-9a-fA-F]){4}){3}-([0-9a-fA-F]){12}$", + "description": "Golm Metabolome Database (GMD) provides public access to custom mass spectral libraries, metabolite profiling experiments as well as additional information and tools. Analytes are subjected to a gas chromatograph coupled to a mass spectrometer, which records the mass spectrum and the retention time linked to an analyte. This collection references GC-MS spectra.", + "created": "2019-06-11T14:17:17.255+00:00", + "modified": "2019-06-11T14:17:17.255+00:00", + "resources": [ + { + "id": 1222, + "mirId": "MIR:00100547", + "urlPattern": "http://gmd.mpimp-golm.mpg.de/Spectrums/{$id}", + "name": "Golm Metabolome Database (GC-MS Spectra) at Max Planck Institute of Molecular Plant Physiology", + "description": "Golm Metabolome Database (GC-MS Spectra) at Max Planck Institute of Molecular Plant Physiology", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "53d583d8-40c6-40e1-9296-23f821cd77a5", + "resourceHomeUrl": "http://gmd.mpimp-golm.mpg.de/", + "institution": { + "id": 806, + "name": "Max Planck Institute of Molecular Plant Physiology, Potsdam", + "homeUrl": "http://www.mpimp-golm.mpg.de/2168/en", + "description": "The Max Planck Institute of Molecular Plant Physiology (MPI-MP) was founded in 1994, as one of 18 institutes on the territory of the former GDR. The founding director was Prof. Dr. Dr. h.c. Lothar Willmitzer, who is the director of one of the three departments which have been established since then. From originally only 16 employees the institute grew into a large institute, which now employs about 360 people from all over the world, who put their combined efforts into elucidating the secrets of plants.", + "rorId": "https://ror.org/01fbde567", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "53d583d8-40c6-40e1-9296-23f821cd77a5", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1223, + "prefix": "gmd.ref", + "mirId": "MIR:00000425", + "name": "Golm Metabolome Database Reference Substance", + "pattern": "^([0-9a-fA-F]){8}(-([0-9a-fA-F]){4}){3}-([0-9a-fA-F]){12}$", + "description": "Golm Metabolome Database (GMD) provides public access to custom mass spectral libraries, metabolite profiling experiments as well as additional information and tools. Since metabolites often cannot be obtained in their respective native biological state, for example organic acids may be only acquirable as salts, the concept of reference substance was introduced. This collection references reference substances.", + "created": "2019-06-11T14:17:17.475+00:00", + "modified": "2019-06-11T14:17:17.475+00:00", + "resources": [ + { + "id": 1224, + "mirId": "MIR:00100548", + "urlPattern": "http://gmd.mpimp-golm.mpg.de/ReferenceSubstances/{$id}", + "name": "Golm Metabolome Database (Reference Substance) at Max Planck Institute of Molecular Plant Physiology", + "description": "Golm Metabolome Database (Reference Substance) at Max Planck Institute of Molecular Plant Physiology", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "8cf84adb-b4db-4807-ac98-0004247c35df", + "resourceHomeUrl": "http://gmd.mpimp-golm.mpg.de/", + "institution": { + "id": 806, + "name": "Max Planck Institute of Molecular Plant Physiology, Potsdam", + "homeUrl": "http://www.mpimp-golm.mpg.de/2168/en", + "description": "The Max Planck Institute of Molecular Plant Physiology (MPI-MP) was founded in 1994, as one of 18 institutes on the territory of the former GDR. The founding director was Prof. Dr. Dr. h.c. Lothar Willmitzer, who is the director of one of the three departments which have been established since then. From originally only 16 employees the institute grew into a large institute, which now employs about 360 people from all over the world, who put their combined efforts into elucidating the secrets of plants.", + "rorId": "https://ror.org/01fbde567", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "8cf84adb-b4db-4807-ac98-0004247c35df", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1225, + "prefix": "gmd.analyte", + "mirId": "MIR:00000426", + "name": "Golm Metabolome Database Analyte", + "pattern": "^([0-9a-fA-F]){8}(-([0-9a-fA-F]){4}){3}-([0-9a-fA-F]){12}$", + "description": "Golm Metabolome Database (GMD) provides public access to custom mass spectral libraries, metabolite profiling experiments as well as additional information and tools. For GC-MS profiling analyses, polar metabolite extracts are chemically converted, i.e. derivatised into less polar and volatile compounds, so called analytes. This collection references analytes.", + "created": "2019-06-11T14:17:17.661+00:00", + "modified": "2019-06-11T14:17:17.661+00:00", + "resources": [ + { + "id": 1226, + "mirId": "MIR:00100549", + "urlPattern": "http://gmd.mpimp-golm.mpg.de/Analytes/{$id}", + "name": "Golm Metabolome Database (Analyte) at Max Planck Institute of Molecular Plant Physiology", + "description": "Golm Metabolome Database (Analyte) at Max Planck Institute of Molecular Plant Physiology", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "4f0fa9b6-514f-4ff4-98cc-0009bc08eb80", + "resourceHomeUrl": "http://gmd.mpimp-golm.mpg.de/", + "institution": { + "id": 806, + "name": "Max Planck Institute of Molecular Plant Physiology, Potsdam", + "homeUrl": "http://www.mpimp-golm.mpg.de/2168/en", + "description": "The Max Planck Institute of Molecular Plant Physiology (MPI-MP) was founded in 1994, as one of 18 institutes on the territory of the former GDR. The founding director was Prof. Dr. Dr. h.c. Lothar Willmitzer, who is the director of one of the three departments which have been established since then. From originally only 16 employees the institute grew into a large institute, which now employs about 360 people from all over the world, who put their combined efforts into elucidating the secrets of plants.", + "rorId": "https://ror.org/01fbde567", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "4f0fa9b6-514f-4ff4-98cc-0009bc08eb80", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1227, + "prefix": "intact.molecule", + "mirId": "MIR:00000427", + "name": "IntAct Molecule", + "pattern": "^EBI\\-[0-9]+$", + "description": "IntAct provides a freely available, open source database system and analysis tools for protein interaction data. This collection references interactor molecules.", + "created": "2019-06-11T14:17:17.850+00:00", + "modified": "2019-06-11T14:17:17.850+00:00", + "resources": [ + { + "id": 1228, + "mirId": "MIR:00100550", + "urlPattern": "https://www.ebi.ac.uk/intact/molecule/{$id}", + "name": "IntAct Molecule at EBI", + "description": "IntAct Molecule at EBI", + "official": false, + "providerCode": "ebi", + "sampleId": "EBI-366083", + "resourceHomeUrl": "https://www.ebi.ac.uk/intact/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "EBI-366083", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1229, + "prefix": "depod", + "mirId": "MIR:00000428", + "name": "DEPOD", + "pattern": "^[A-Z0-9]+$", + "description": "The human DEPhOsphorylation Database (DEPOD) contains information on known human active phosphatases and their experimentally verified protein and nonprotein substrates. Reliability scores are provided for dephosphorylation interactions, according to the type of assay used, as well as the number of laboratories that have confirmed such interaction. Phosphatase and substrate entries are listed along with the dephosphorylation site, bioassay type, and original literature, and contain links to other resources.", + "created": "2019-06-11T14:17:18.034+00:00", + "modified": "2019-06-11T14:17:18.034+00:00", + "resources": [ + { + "id": 1231, + "mirId": "MIR:00100551", + "urlPattern": "http://www.depod.bioss.uni-freiburg.de/showp.php?gene={$id}", + "name": "DEPOD at EMBL", + "description": "DEPOD at EMBL", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "PTPN1", + "resourceHomeUrl": "http://www.depod.bioss.uni-freiburg.de", + "institution": { + "id": 375, + "name": "EMBL, Heidelberg", + "homeUrl": "http://embl.org/", + "description": "With 28 member states, EMBL has more than 110 independent research groups and service teams covering the spectrum of molecular biology at six sites in Barcelona, Grenoble, Hamburg, Heidelberg, EMBL-EBI Hinxton, and Rome.", + "rorId": "https://ror.org/03mstc592", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PTPN1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1232, + "prefix": "cst", + "mirId": "MIR:00000429", + "name": "Cell Signaling Technology Pathways", + "pattern": "^[A-Za-z0-9_-]+$", + "description": "Cell Signaling Technology is a commercial organisation which provides a pathway portal to showcase their phospho-antibody products. This collection references pathways.", + "created": "2019-06-11T14:17:18.324+00:00", + "modified": "2019-06-11T14:17:18.324+00:00", + "resources": [ + { + "id": 1234, + "mirId": "MIR:00100552", + "urlPattern": "http://www.cellsignal.com/reference/pathway/{$id}.html", + "name": "CST Pathways at Cell Signaling Technology", + "description": "CST Pathways at Cell Signaling Technology", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Akt_PKB", + "resourceHomeUrl": "http://www.cellsignal.com/pathways/index.html", + "institution": { + "id": 339, + "name": "Cell Signaling Technology, Inc.", + "homeUrl": "https://www.cellsignal.com/", + "description": "Cell Signaling Technology (CST) is a different kind of life sciences company\u2014one founded, owned, and run by active research scientists, with the highest standards of product and service quality, technological innovation, and scientific rigor for over 20 years. We consistently provide fellow scientists around the globe with best-in-class products and services to fuel their quests for discovery.", + "rorId": "https://ror.org/03k4zc121", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Akt_PKB", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1241, + "prefix": "phytozome.locus", + "mirId": "MIR:00000432", + "name": "Phytozome Locus", + "pattern": "^[A-Za-z0-9]+$", + "description": "Phytozome is a project to facilitate comparative genomic studies amongst green plants. Famlies of orthologous and paralogous genes that represent the modern descendents of ancestral gene sets are constructed at key phylogenetic nodes. These families allow easy access to clade specific orthology/paralogy relationships as well as clade specific genes and gene expansions. This collection references locus information.", + "created": "2019-06-11T14:17:19.049+00:00", + "modified": "2019-06-11T14:17:19.049+00:00", + "resources": [ + { + "id": 1243, + "mirId": "MIR:00100556", + "urlPattern": "http://www.phytozome.net/genePage.php?crown&method=0&search=1&detail=1&searchText=locusname:{$id}", + "name": "Phytozome Locus at Joint Genome Institute", + "description": "Phytozome Locus at Joint Genome Institute", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Glyma0021s00410", + "resourceHomeUrl": "http://www.phytozome.net/", + "institution": { + "id": 1242, + "name": "Joint Genome Institute, California, and the Center for Integrative Genomics, Lausanne", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Glyma0021s00410", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1244, + "prefix": "subtilist", + "mirId": "MIR:00000433", + "name": "SubtiList", + "pattern": "^BG\\d+$", + "description": "SubtiList serves to collate and integrate various aspects of the genomic information from B. subtilis, the paradigm of sporulating Gram-positive bacteria.\r\nSubtiList provides a complete dataset of DNA and protein sequences derived from the paradigm strain B. subtilis 168, linked to the relevant annotations and functional assignments.", + "created": "2019-06-11T14:17:19.310+00:00", + "modified": "2019-06-11T14:17:19.310+00:00", + "resources": [ + { + "id": 1246, + "mirId": "MIR:00100557", + "urlPattern": "http://genolist.pasteur.fr/SubtiList/genome.cgi?external_query+{$id}", + "name": "SubtiList at Pasteur Institute", + "description": "SubtiList at Pasteur Institute", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "BG11523", + "resourceHomeUrl": "http://genolist.pasteur.fr/SubtiList/", + "institution": { + "id": 1245, + "name": "Pasteur Institute, Paris", + "homeUrl": "http://www.pasteur.fr/en", + "description": "The Institut Pasteur is a private, non-profit foundation. Its mission is to help prevent and treat diseases, mainly those of infectious origin, through research, teaching, and public health initiatives.", + "rorId": "https://ror.org/0495fxg12", + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "BG11523", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1247, + "prefix": "dailymed", + "mirId": "MIR:00000434", + "name": "DailyMed", + "pattern": "^[A-Za-z0-9-]+", + "description": "DailyMed provides information about marketed drugs. This information includes FDA labels (package inserts). The Web site provides a standard, comprehensive, up-to-date, look-up and download resource of medication content and labeling as found in medication package inserts. Drug labeling is the most recent submitted to the Food and Drug Administration (FDA) and currently in use; it may include, for example, strengthened warnings undergoing FDA review or minor editorial changes. These labels have been reformatted to make them easier to read.", + "created": "2019-06-11T14:17:19.532+00:00", + "modified": "2019-06-11T14:17:19.532+00:00", + "resources": [ + { + "id": 1249, + "mirId": "MIR:00100558", + "urlPattern": "https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid={$id}", + "name": "DailyMed at NLM", + "description": "DailyMed at NLM", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "973a9333-fec7-46dd-8eb5-25738f06ee54", + "resourceHomeUrl": "https://dailymed.nlm.nih.gov/dailymed/", + "institution": { + "id": 316, + "name": "National Library of Medicine, Maryland", + "homeUrl": "https://www.nlm.nih.gov/", + "description": "The National Library of Medicine (NLM), on the campus of the National Institutes of Health in Bethesda, Maryland, has been a center of information innovation since its founding in 1836. The world\u2019s largest biomedical library, NLM maintains and makes available a vast print collection and produces electronic information resources on a wide range of topics that are searched billions of times each year by millions of people around the globe. It also supports and conducts research, development, and training in biomedical informatics and health information technology. In addition, the Library coordinates an 8,000+ member Network of the National Library of Medicine that promotes and provides access to health information in communities across the United States.", + "rorId": "https://ror.org/0060t0j89", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "973a9333-fec7-46dd-8eb5-25738f06ee54", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1250, + "prefix": "sider.drug", + "mirId": "MIR:00000435", + "name": "SIDER Drug", + "pattern": "^\\d+$", + "description": "SIDER (Side Effect Resource) is a public, computer-readable side effect resource that connects drugs to side effect terms. It aggregates dispersed public information on side effects. This collection references drugs in SIDER.", + "created": "2019-06-11T14:17:19.846+00:00", + "modified": "2019-06-11T14:17:19.846+00:00", + "resources": [ + { + "id": 1252, + "mirId": "MIR:00100559", + "urlPattern": "http://sideeffects.embl.de/drugs/{$id}/", + "name": "SIDER Drug v2 at EMBL (Heidelberg)", + "description": "SIDER Drug v2 at EMBL (Heidelberg)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "2244", + "resourceHomeUrl": "http://sideeffects.embl.de/", + "institution": { + "id": 743, + "name": "Structural and Computational Biology, European Molecular Biology Laboratory, Heidelberg", + "homeUrl": "https://www.embl.org/research/units/structural-and-computational-biology/", + "description": "The unit pursues an ambitious research programme in integrated structural and computational systems biology bridging between various spatial and temporal scales.", + "rorId": null, + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2244", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1253, + "prefix": "sider.effect", + "mirId": "MIR:00000436", + "name": "SIDER Side Effect", + "pattern": "^C\\d+$", + "description": "SIDER (Side Effect Resource) is a public, computer-readable side effect resource that connects drugs to side effect terms. It aggregates dispersed public information on side effects. This collection references side effects of drugs as referenced in SIDER.", + "created": "2019-06-11T14:17:20.079+00:00", + "modified": "2019-06-11T14:17:20.079+00:00", + "resources": [ + { + "id": 1254, + "mirId": "MIR:00100560", + "urlPattern": "http://sideeffects.embl.de/se/{$id}/", + "name": "SIDER Side Effect v2 at EMBL (Heidelberg)", + "description": "SIDER Side Effect v2 at EMBL (Heidelberg)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "C0017565", + "resourceHomeUrl": "http://sideeffects.embl.de/", + "institution": { + "id": 743, + "name": "Structural and Computational Biology, European Molecular Biology Laboratory, Heidelberg", + "homeUrl": "https://www.embl.org/research/units/structural-and-computational-biology/", + "description": "The unit pursues an ambitious research programme in integrated structural and computational systems biology bridging between various spatial and temporal scales.", + "rorId": null, + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "C0017565", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2796, + "prefix": "pmr", + "mirId": "MIR:00000845", + "name": "Physiome Model Repository", + "pattern": "^[a-z0-9]{32,32}$", + "description": "Resource for the community to store, retrieve, search, reference, and reuse CellML models.", + "created": "2021-08-08T09:39:33.533+00:00", + "modified": "2021-08-08T09:39:33.533+00:00", + "resources": [ + { + "id": 2797, + "mirId": "MIR:00000844", + "urlPattern": "https://models.physiomeproject.org/exposure/{$id}", + "name": "University of Auckland", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/03b94tp07' with Wikidata IDs [Q492467], and ISNI IDs [0000 0004 0372 3343]", + "official": true, + "providerCode": "abi", + "sampleId": "ebf69ca24298b28b2361e7d43eb52d6c", + "resourceHomeUrl": "https://www.auckland.ac.nz/en.html", + "institution": { + "id": 2795, + "name": "University of Auckland", + "homeUrl": "https://www.auckland.ac.nz/en.html", + "description": "Founded in 1883, Auckland is the country\u2019s largest university with over 40,000 students, nearly 10,000 of whom graduate annually. ", + "rorId": "https://ror.org/03b94tp07", + "location": { + "countryCode": "NZ", + "countryName": "New Zealand" + } + }, + "location": { + "countryCode": "NZ", + "countryName": "New Zealand" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ebf69ca24298b28b2361e7d43eb52d6c", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1205, + "prefix": "bgee.family", + "mirId": "MIR:00000417", + "name": "Bgee family", + "pattern": "^(ENSFM|ENSGTV:)\\d+$", + "description": "Bgee is a database of gene expression patterns within particular anatomical structures within a species, and between different animal species. This collection refers to expression across species.", + "created": "2019-06-11T14:17:15.821+00:00", + "modified": "2023-09-13T08:55:41.857+00:00", + "resources": [ + { + "id": 1207, + "mirId": "MIR:00100540", + "urlPattern": "http://bgee.unil.ch/bgee/bgee?page=gene_family&action=family_details&gene_family_id={$id}", + "name": "Bgee at Lausanne", + "description": "Bgee at Lausanne", + "official": false, + "providerCode": "sib", + "sampleId": "ENSFM00500000270089", + "resourceHomeUrl": "http://bgee.unil.ch/bgee/bgee", + "institution": { + "id": 1730, + "name": "SIB Swiss Institute of Bioinformatics", + "homeUrl": "https://www.sib.swiss", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "rorId": "https://ror.org/002n09z45", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ENSFM00500000270089", + "namespaceEmbeddedInLui": false, + "deprecated": true, + "deprecationDate": "2023-07-04T10:27:03.694+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": true, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1255, + "prefix": "wikigenes", + "mirId": "MIR:00000437", + "name": "WikiGenes", + "pattern": "^\\d+$", + "description": "WikiGenes is a collaborative knowledge resource for the life sciences, which is based on the general wiki idea but employs specifically developed technology to serve as a rigorous scientific tool. The rationale behind WikiGenes is to provide a platform for the scientific community to collect, communicate and evaluate knowledge about genes, chemicals, diseases and other biomedical concepts in a bottom-up process.", + "created": "2019-06-11T14:17:20.303+00:00", + "modified": "2019-06-11T14:17:20.303+00:00", + "resources": [ + { + "id": 1257, + "mirId": "MIR:00100567", + "urlPattern": "http://www.wikigenes.org/e/gene/e/{$id}.html", + "name": "WikiGenes at Massachusetts Institute of Technology", + "description": "WikiGenes at Massachusetts Institute of Technology", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "3771877", + "resourceHomeUrl": "http://www.wikigenes.org/", + "institution": { + "id": 1256, + "name": "Computer Science and Artificial Intelligence Laboratory, Massachusetts Institute of Technology, Cambridge, Massachusetts", + "homeUrl": "https://www.csail.mit.edu/", + "description": "MIT's Computer Science and Artificial Intelligence Laboratory pioneers research in computing that improves the way people work, play, and learn. We focus on developing fundamentally new technologies, conducting basic research that furthers the field of computing, and inspiring and educating future generations of scientists and technologists.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "3771877", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1258, + "prefix": "broad", + "mirId": "MIR:00000438", + "name": "Broad Fungal Genome Initiative", + "pattern": "^S\\d+$", + "description": "Magnaporthe grisea, the causal agent of rice blast disease, is one of the most devasting threats to food security worldwide and is a model organism for studying fungal phytopathogenicity and host-parasite interactions. The Magnaporthe comparative genomics database provides accesses to multiple fungal genomes from the Magnaporthaceae family to facilitate the comparative analysis. As part of the Broad Fungal Genome Initiative, the Magnaporthe comparative project includes the finished M. oryzae (formerly M. grisea) genome, as well as the draft assemblies of Gaeumannomyces graminis var. tritici and M. poae.", + "created": "2019-06-11T14:17:20.539+00:00", + "modified": "2019-06-11T14:17:20.539+00:00", + "resources": [ + { + "id": 1260, + "mirId": "MIR:00100569", + "urlPattern": "https://www.broadinstitute.org/annotation/genome/magnaporthe_grisea/GeneDetails.html?sp={$id}", + "name": "Broad Fungal Genome Initiative at Broad Institute", + "description": "Broad Fungal Genome Initiative at Broad Institute", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "S7000002168151102", + "resourceHomeUrl": "https://www.broadinstitute.org/annotation/genome/magnaporthe_grisea/", + "institution": { + "id": 1259, + "name": "Broad Institute of MIT and Harvard, Cambridge, Massachuchetts", + "homeUrl": "https://ror.org/05a0ya142", + "description": "The Broad Institute of MIT and Harvard is a research organization that convenes a community of researchers from across many disciplines and partner institutions\u2014MIT, Harvard, and Harvard-affiliated hospitals.", + "rorId": "https://ror.org/05a0ya142", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "S7000002168151102", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1261, + "prefix": "coriell", + "mirId": "MIR:00000439", + "name": "Coriell Cell Repositories", + "pattern": "^[A-Z]{2}\\d+$", + "description": "The Coriell Cell Repositories provide essential research reagents to the scientific community by establishing, verifying, maintaining, and distributing cell cultures and DNA derived from cell cultures. These collections, supported by funds from the National Institutes of Health (NIH) and several foundations, are extensively utilized by research scientists around the world.", + "created": "2019-06-11T14:17:20.763+00:00", + "modified": "2019-06-11T14:17:20.763+00:00", + "resources": [ + { + "id": 1263, + "mirId": "MIR:00100570", + "urlPattern": "http://ccr.coriell.org/Sections/Search/Sample_Detail.aspx?Ref={$id}", + "name": "Coriell Cell Repositories at Coriell Institute", + "description": "Coriell Cell Repositories at Coriell Institute", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "GM17027", + "resourceHomeUrl": "http://ccr.coriell.org/", + "institution": { + "id": 1262, + "name": "Coriell Institute for Medical Research, New Jersey", + "homeUrl": "https://ror.org/04npwsp41", + "description": "Research is our driving mission at Coriell. We supply the global scientific community with the high quality cells and DNA needed to conduct their research and offer our laboratory and biobanking expertise to researchers who require assistance processing, storing and distributing their samples.", + "rorId": "https://ror.org/04npwsp41", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "GM17027", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1264, + "prefix": "corum", + "mirId": "MIR:00000440", + "name": "CORUM", + "pattern": "^\\d+$", + "description": "The CORUM database provides a resource of manually annotated protein complexes from mammalian organisms. Annotation includes protein complex function, localization, subunit composition, literature references and more. All information is obtained from individual experiments published in scientific articles, data from high-throughput experiments is excluded.", + "created": "2019-06-11T14:17:20.995+00:00", + "modified": "2019-06-11T14:17:20.995+00:00", + "resources": [ + { + "id": 1266, + "mirId": "MIR:00100571", + "urlPattern": "https://mips.helmholtz-muenchen.de/corum/?id={$id}", + "name": "CORUM at Institute for Bioinformatics and Systems Biology (Germany)", + "description": "CORUM at Institute for Bioinformatics and Systems Biology (Germany)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "100", + "resourceHomeUrl": "https://mips.helmholtz-muenchen.de/genre/proj/corum/", + "institution": { + "id": 1265, + "name": "Institute for Bioinformatics and Systems Biology, Helmholtz Zentrum M&uuml;nchen-German Research Center for Environmental Health, Neuherberg", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "100", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1267, + "prefix": "ecoliwiki", + "mirId": "MIR:00000442", + "name": "EcoliWiki", + "pattern": "^[A-Za-z0-9-]+$", + "description": "EcoliWiki is a wiki-based resource to store information related to non-pathogenic E. coli, its phages, plasmids, and mobile genetic elements. This collection references genes.", + "created": "2019-06-11T14:17:21.287+00:00", + "modified": "2019-06-11T14:17:21.287+00:00", + "resources": [ + { + "id": 1269, + "mirId": "MIR:00100573", + "urlPattern": "http://ecoliwiki.net/colipedia/index.php/{$id}:Gene", + "name": "EcoliWiki at Texas Agrilife Research", + "description": "EcoliWiki at Texas Agrilife Research", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "aaeA", + "resourceHomeUrl": "http://ecoliwiki.net/colipedia/", + "institution": { + "id": 1268, + "name": "Texas Agrilife Research, Texas A&M University College Station", + "homeUrl": "https://agriliferesearch.tamu.edu/", + "description": "Texas A&M AgriLife Research is the state\u2019s premier research agency in agriculture, natural resources and the life sciences. We conduct hundreds of projects spanning many scientific disciplines to deliver life-sustaining and industry-changing impacts to Texans and around the world. We are a state agriculture agency part of Texas A&M AgriLife, which allows us to fund research across many fields.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "aaeA", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1272, + "prefix": "jstor", + "mirId": "MIR:00000444", + "name": "JSTOR", + "pattern": "^\\d+$", + "description": "JSTOR (Journal Storage) is a digital library containing digital versions of historical academic journals, as well as books, pamphlets and current issues of journals. Some public domain content is free to access, while other articles require registration.", + "created": "2019-06-11T14:17:21.690+00:00", + "modified": "2019-06-11T14:17:21.690+00:00", + "resources": [ + { + "id": 1274, + "mirId": "MIR:00100575", + "urlPattern": "http://www.jstor.org/stable/{$id}", + "name": "JSTOR Online", + "description": "JSTOR Online", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "3075966", + "resourceHomeUrl": "http://www.jstor.org/", + "institution": { + "id": 1273, + "name": "Ithaka Harbors, Inc., New York", + "homeUrl": "https://www.ithaka.org/", + "description": "We are a nonprofit with a mission to improve access to knowledge and education for people around the world. We believe education is key to the well-being of individuals and society, and we work to make it more effective and affordable. We help make higher education and access to knowledge more affordable; we improve outcomes for students and researchers; and we preserve knowledge for future generations.", + "rorId": "https://ror.org/018xens77", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "3075966", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1283, + "prefix": "unimod", + "mirId": "MIR:00000447", + "name": "Unimod", + "pattern": "^\\d+$", + "description": "Unimod is a public domain database created to provide a community supported, comprehensive database of protein modifications for mass spectrometry applications. That is, accurate and verifiable values, derived from elemental compositions, for the mass differences introduced by all types of natural and artificial modifications. Other important information includes any mass change, (neutral loss), that occurs during MS/MS analysis, and site specificity, (which residues are susceptible to modification and any constraints on the position of the modification within the protein or peptide).", + "created": "2019-06-11T14:17:22.748+00:00", + "modified": "2019-06-11T14:17:22.748+00:00", + "resources": [ + { + "id": 1285, + "mirId": "MIR:00100581", + "urlPattern": "http://www.unimod.org/modifications_view.php?editid1={$id}", + "name": "Unimod at Matrix Sciences Ltd.", + "description": "Unimod at Matrix Sciences Ltd.", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1200", + "resourceHomeUrl": "http://www.unimod.org/", + "institution": { + "id": 1284, + "name": "Matrix Science Ltd., London", + "homeUrl": "https://www.matrixscience.com/", + "description": " Matrix Science is an independent provider of bioinformatics tools to proteomics researchers and scientists, enabling the rapid, confident identification and quantitation of proteins. The company was founded in 1998 and is based in London, United Kingdom. ", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1200", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1286, + "prefix": "vbrc", + "mirId": "MIR:00000448", + "name": "VBRC", + "pattern": "^\\d+$", + "description": "The VBRC provides bioinformatics resources to support scientific research directed at viruses belonging to the Arenaviridae, Bunyaviridae, Filoviridae, Flaviviridae, Paramyxoviridae, Poxviridae, and Togaviridae families. The Center consists of a relational database and web application that support the data storage, annotation, analysis, and information exchange goals of this work. Each data release contains the complete genomic sequences for all viral pathogens and related strains that are available for species in the above-named families. In addition to sequence data, the VBRC provides a curation for each virus species, resulting in a searchable, comprehensive mini-review of gene function relating genotype to biological phenotype, with special emphasis on pathogenesis.", + "created": "2019-06-11T14:17:22.962+00:00", + "modified": "2019-06-11T14:17:22.962+00:00", + "resources": [ + { + "id": 1288, + "mirId": "MIR:00100582", + "urlPattern": "http://vbrc.org/gene_detail.asp?gene_id={$id}", + "name": "VBRC at University of Alabama", + "description": "VBRC at University of Alabama", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "35742", + "resourceHomeUrl": "http://vbrc.org/", + "institution": { + "id": 1287, + "name": "University of Alabama, Birmingham and the University of Victoria, British Columbia", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "35742", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1289, + "prefix": "viralzone", + "mirId": "MIR:00000449", + "name": "ViralZone", + "pattern": "^\\d+$", + "description": "ViralZone is a resource bridging textbook knowledge with genomic and proteomic sequences. It provides fact sheets on all known virus families/genera with easy access to sequence data. A selection of reference strains (RefStrain) provides annotated standards to circumvent the exponential increase of virus sequences. Moreover ViralZone offers a complete set of detailed and accurate virion pictures.", + "created": "2019-06-11T14:17:23.207+00:00", + "modified": "2019-06-11T14:17:23.207+00:00", + "resources": [ + { + "id": 1291, + "mirId": "MIR:00100583", + "urlPattern": "http://viralzone.expasy.org/all_by_protein/{$id}.html", + "name": "ViralZone at SIB", + "description": "ViralZone at SIB", + "official": false, + "providerCode": "sib", + "sampleId": "992", + "resourceHomeUrl": "http://www.expasy.org/viralzone/", + "institution": { + "id": 1730, + "name": "SIB Swiss Institute of Bioinformatics", + "homeUrl": "https://www.sib.swiss", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "rorId": "https://ror.org/002n09z45", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "992", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1294, + "prefix": "rgd.qtl", + "mirId": "MIR:00000451", + "name": "Rat Genome Database qTL", + "pattern": "^\\d+$", + "description": "Rat Genome Database seeks to collect, consolidate, and integrate rat genomic and genetic data with curated functional and physiological data and make these data widely available to the scientific community. This collection references quantitative trait loci (qTLs), providing phenotype and disease descriptions, mapping, and strain information as well as links to markers and candidate genes.", + "created": "2019-06-11T14:17:23.659+00:00", + "modified": "2019-06-11T14:17:23.659+00:00", + "resources": [ + { + "id": 1296, + "mirId": "MIR:00100586", + "urlPattern": "http://rgd.mcw.edu/rgdweb/report/qtl/main.html?id={$id}", + "name": "Rat Genome Database qTL at Medical College of Wisconsin", + "description": "Rat Genome Database qTL at Medical College of Wisconsin", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1354581", + "resourceHomeUrl": "http://rgd.mcw.edu/", + "institution": { + "id": 176, + "name": "Medical College of Wisconsin", + "homeUrl": "http://www.mcw.edu/MCW", + "description": "We are a distinguished leader and innovator in the education and development of the next generation of physicians, scientists, pharmacists and health professionals; we discover and translate new knowledge in the biomedical and health sciences; we provide cutting-edge, collaborative patient care of the highest quality; and we improve the health of the communities we serve.", + "rorId": "https://ror.org/00qqv6244", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1354581", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1297, + "prefix": "rgd.strain", + "mirId": "MIR:00000452", + "name": "Rat Genome Database strain", + "pattern": "^\\d+$", + "description": "Rat Genome Database seeks to collect, consolidate, and integrate rat genomic and genetic data with curated functional and physiological data and make these data widely available to the scientific community. This collection references strain reports, which include a description of strain origin, disease, phenotype, genetics and immunology.", + "created": "2019-06-11T14:17:23.876+00:00", + "modified": "2019-06-11T14:17:23.876+00:00", + "resources": [ + { + "id": 1298, + "mirId": "MIR:00100587", + "urlPattern": "http://rgd.mcw.edu/rgdweb/report/strain/main.html?id={$id}", + "name": "Rat Genome Database strain at Medical College of Wisconsin", + "description": "Rat Genome Database strain at Medical College of Wisconsin", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "5688061", + "resourceHomeUrl": "http://rgd.mcw.edu/", + "institution": { + "id": 176, + "name": "Medical College of Wisconsin", + "homeUrl": "http://www.mcw.edu/MCW", + "description": "We are a distinguished leader and innovator in the education and development of the next generation of physicians, scientists, pharmacists and health professionals; we discover and translate new knowledge in the biomedical and health sciences; we provide cutting-edge, collaborative patient care of the highest quality; and we improve the health of the communities we serve.", + "rorId": "https://ror.org/00qqv6244", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "5688061", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1299, + "prefix": "door", + "mirId": "MIR:00000453", + "name": "DOOR", + "pattern": "^\\d+$", + "description": "DOOR (Database for prOkaryotic OpeRons) contains computationally predicted operons of all the sequenced prokaryotic genomes. It includes operons for RNA genes.", + "created": "2019-06-11T14:17:24.062+00:00", + "modified": "2019-06-11T14:17:24.062+00:00", + "resources": [ + { + "id": 1301, + "mirId": "MIR:00100588", + "urlPattern": "http://csbl.bmb.uga.edu/DOOR/operon.php?id={$id}", + "name": "DOOR v1 at University of Georgia", + "description": "DOOR v1 at University of Georgia", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1398574", + "resourceHomeUrl": "http://csbl.bmb.uga.edu/DOOR/operon.php", + "institution": { + "id": 1300, + "name": "Computational Systems Biology Laboratory, Department of Biochemistry and Molecular Biology, University of Georgia, Athens, Georgia", + "homeUrl": "http://csbl.bmb.uga.edu/new/", + "description": "The Computational Systems Biology Lab (CSBL) in the Department of Biochemistry and Molecular Biology at the University of Georgia consists of scientists with highly diversified training backgrounds, ranging from biochemistry, computational chemistry, molecular biology, biophysics, physics to computer science, statistics, and mathematics. Our common interests are in the development of computational tools for solving biological problems. Our work ranges from the construction of mathematical/statistical models to the development of algorithms to code implementation to applications of computational tools to solve various bio-data analysis and modeling problems.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1398574", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1302, + "prefix": "degradome", + "mirId": "MIR:00000454", + "name": "Degradome Database", + "pattern": "^[AMCST][0-9x][0-9]$", + "description": "The Degradome Database contains information on the complete set of predicted proteases present in a a variety of mammalian species that have been subjected to whole genome sequencing. Each protease sequence is curated and, when necessary, cloned and sequenced.", + "created": "2019-06-11T14:17:24.294+00:00", + "modified": "2019-06-11T14:17:24.294+00:00", + "resources": [ + { + "id": 1304, + "mirId": "MIR:00100589", + "urlPattern": "http://degradome.uniovi.es/cgi-bin/protease/{$id}", + "name": "Degradome Database at", + "description": "Degradome Database at", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Ax1", + "resourceHomeUrl": "http://degradome.uniovi.es/", + "institution": { + "id": 1303, + "name": "Departamento de Bioqu\u00edmica y Biolog\u00eda Molecular, Facultad de Medicina, Universidad de Oviedo", + "homeUrl": "https://bbm.uniovi.es/", + "description": "El Departamento de Bioqu\u00edmica y Biolog\u00eda Molecular es la unidad de docencia e investigaci\u00f3n encargada de coordinar las ense\u00f1anzas en este \u00e1rea de acuerdo con la programaci\u00f3n docente de la Universidad de Oviedo, as\u00ed como de apoyar e impulsar las actividades e iniciativas docentes e investigadoras del profesorado en esta materia.", + "rorId": null, + "location": { + "countryCode": "ES", + "countryName": "Spain" + } + }, + "location": { + "countryCode": "ES", + "countryName": "Spain" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Ax1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1305, + "prefix": "dbd", + "mirId": "MIR:00000455", + "name": "DBD", + "pattern": "^\\d+$", + "description": "The DBD (transcription factor database) provides genome-wide transcription factor predictions for organisms across the tree of life. The prediction method identifies sequence-specific DNA-binding transcription factors through homology using profile hidden Markov models (HMMs) of domains from Pfam and SUPERFAMILY. It does not include basal transcription factors or chromatin-associated proteins.", + "created": "2019-06-11T14:17:24.514+00:00", + "modified": "2019-06-11T14:17:24.514+00:00", + "resources": [ + { + "id": 1306, + "mirId": "MIR:00100590", + "urlPattern": "http://www.transcriptionfactor.org/index.cgi?Search/Domain+domain:{$id}+cat:DBD", + "name": "DBD at MRC Laboratory of Molecular Biology", + "description": "DBD at MRC Laboratory of Molecular Biology", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "0045310", + "resourceHomeUrl": "http://www.transcriptionfactor.org/", + "institution": { + "id": 1026, + "name": "MRC Laboratory of Molecular Biology, Cambridge", + "homeUrl": "http://www2.mrc-lmb.cam.ac.uk/", + "description": "The MRC Laboratory of Molecular Biology (LMB) is a research institute dedicated to the understanding of important biological processes at the levels of atoms, molecules, cells and organisms. In doing so, we provide knowledge needed to solve key problems in human health.", + "rorId": "https://ror.org/00tw3jy02", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0045310", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1307, + "prefix": "datf", + "mirId": "MIR:00000456", + "name": "DATF", + "pattern": "^AT[1-5]G\\d{5}(\\.\\d+)?$", + "description": "DATF contains known and predicted Arabidopsis transcription factors (1827 genes in 56 families) with the unique information of 1177 cloned sequences and many other features including 3D structure templates, EST expression information, transcription factor binding sites and nuclear location signals.", + "created": "2019-06-11T14:17:24.701+00:00", + "modified": "2019-06-11T14:17:24.701+00:00", + "resources": [ + { + "id": 1309, + "mirId": "MIR:00100591", + "urlPattern": "http://planttfdb.cbi.pku.edu.cn/tf.php?sp=Ath&did={$id}", + "name": "DATF through PlantTFDB", + "description": "DATF through PlantTFDB", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "AT1G01030.1", + "resourceHomeUrl": "http://datf.cbi.pku.edu.cn/", + "institution": { + "id": 1612, + "name": "Peking University", + "homeUrl": "http://english.pku.edu.cn/", + "description": "Peking University is a comprehensive and national key university. The campus, known as \"Yan Yuan\"\uff08the garden of Yan\uff09, is situated at Haidian District in the western suburb of Beijing, with a total area of 2,743,532 square metres (or 274 hectares). It stands near to the Yuanmingyuan Garden and the Summer Palace.\nPeking University is proud of its outstanding faculty, including 48 members of the Chinese Academy of Sciences (CAS), 9 members of the Chinese Academy of Engineering (CAE), and 21 members of the Third World Academy of Sciences (TWAS).", + "rorId": "https://ror.org/02v51f717", + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AT1G01030.1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1433, + "prefix": "pigqtldb", + "mirId": "MIR:00000506", + "name": "Animal Genome Pig QTL", + "pattern": "^\\d+$", + "description": "The Animal Quantitative Trait Loci (QTL) database (Animal QTLdb) is designed to house publicly all available QTL and single-nucleotide polymorphism/gene association data on livestock animal species. This collection references pig QTLs.", + "created": "2019-06-11T14:17:35.969+00:00", + "modified": "2019-06-11T14:17:35.969+00:00", + "resources": [ + { + "id": 1434, + "mirId": "MIR:00100647", + "urlPattern": "https://www.animalgenome.org/QTLdb/q?id=QTL_ID:{$id}", + "name": "Animal QTL Pig at Iowa State University", + "description": "Animal QTL Pig at Iowa State University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "14", + "resourceHomeUrl": "https://www.animalgenome.org/QTLdb", + "institution": { + "id": 1429, + "name": "Department of Animal Science and Center for Integrated Animal Genomics, Iowa State University, Iowa", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "14", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1310, + "prefix": "iuphar.ligand", + "mirId": "MIR:00000457", + "name": "IUPHAR ligand", + "pattern": "^\\d+$", + "description": "The IUPHAR Compendium details the molecular, biophysical and pharmacological properties of identified mammalian sodium, calcium and potassium channels, as well as the related cyclic nucleotide-modulated ion channels and the recently described transient receptor potential channels. It includes information on nomenclature systems, and on inter and intra-species molecular structure variation. This collection references ligands.", + "created": "2019-06-11T14:17:24.936+00:00", + "modified": "2019-06-11T14:17:24.936+00:00", + "resources": [ + { + "id": 1311, + "mirId": "MIR:00100592", + "urlPattern": "http://www.guidetopharmacology.org/GRAC/LigandDisplayForward?ligandId={$id}", + "name": "IUPHAR ligand at University of Edinburgh", + "description": "IUPHAR ligand at University of Edinburgh", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1755", + "resourceHomeUrl": "http://www.guidetopharmacology.org/GRAC/LigandListForward?database=all", + "institution": { + "id": 827, + "name": "Centre for Cardiovascular Science, University of Edinburgh, Edinburgh", + "homeUrl": "https://www.ed.ac.uk/cardiovascular-science", + "description": "The Centre for Cardiovascular Science (CVS) was one of the first multidisciplinary research centers in Edinburgh and has been a model for many more. Initiated in 1998 by a \u00a37M Wellcome Trust Cardiovascular Research Initiative Award and consolidated by over \u00a320M in serial BHF strategic awards, the groups constituting the CVS came together on the Little France campus in 2005 to form a \"Centre for Cardiovascular Risk & Resolution\" in the Queen's Medical Research Institute (QMRI). Today CVS has core facilities and training programs across three buildings at Little France - the QMRI, the Chancellor's Building, and the Scottish Centre for Regenerative Medicine.", + "rorId": "https://ror.org/002g4nt27", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1755", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1312, + "prefix": "molbase", + "mirId": "MIR:00000458", + "name": "Molbase", + "pattern": "^(\\d{1,7}\\-\\d{2}\\-\\d)|([A-Za-z0-9\\+\\-\\_]+)$", + "description": "Molbase provides compound data information for researchers as well as listing suppliers and price information. It can be searched by keyword or CAS indetifier.", + "created": "2019-06-11T14:17:25.144+00:00", + "modified": "2019-06-11T14:17:25.144+00:00", + "resources": [ + { + "id": 1314, + "mirId": "MIR:00100593", + "urlPattern": "http://www.molbase.com/en/index.php?app=search&search_keyword={$id}", + "name": "Molbase at Chinese Academy of Sciences", + "description": "Molbase at Chinese Academy of Sciences", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "128796-39-4", + "resourceHomeUrl": "http://www.molbase.com/", + "institution": { + "id": 737, + "name": "Chinese Academy of Sciences", + "homeUrl": "http://english.cas.cn/", + "description": "The Chinese Academy of Sciences is the linchpin of China\u2019s drive to explore and harness high technology and the natural sciences for the benefit of China and the world. CAS brings together scientists and engineers from China and around the world to address both theoretical and applied problems using world-class scientific and management approaches.", + "rorId": "https://ror.org/034t30j35", + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "128796-39-4", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1315, + "prefix": "yrcpdr", + "mirId": "MIR:00000459", + "name": "YRC PDR", + "pattern": "^\\d+$", + "description": "The Yeast Resource Center Public Data Repository (YRC PDR) serves as a single point of access for the experimental data produced from many collaborations typically studying Saccharomyces cerevisiae (baker's yeast). The experimental data include large amounts of mass spectrometry results from protein co-purification experiments, yeast two-hybrid interaction experiments, fluorescence microscopy images and protein structure predictions.", + "created": "2019-06-11T14:17:25.397+00:00", + "modified": "2019-06-11T14:17:25.397+00:00", + "resources": [ + { + "id": 1317, + "mirId": "MIR:00100594", + "urlPattern": "http://yeastrc.org/pdr/viewProtein.do?id={$id}", + "name": "YRC PDR at University of Washington", + "description": "YRC PDR at University of Washington", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "2673500", + "resourceHomeUrl": "http://www.yeastrc.org/pdr/", + "institution": { + "id": 1316, + "name": "Department of Biochemistry, University of Washington, Seattle", + "homeUrl": "https://sites.uw.edu/biochemistry/", + "description": "The Department of Biochemistry at the University of Washington has contributed to many phases of this research. Initially recognized for incisive studies of the structure and function of proteins, and the mechanisms of enzyme action, the department branched out into a multitude of other areas. These included: developmental biology of flies, fish, frogs, and mice; molecular mechanisms of aging in yeast and mammals; vertebrate visual and immune responses; chromosome dynamics, cell division, DNA replication and repair; energy transduction during photosynthesis; protein secretion and membrane fusion; translational control and regulated protein degradation; protein structure determination by crystallography and NMR spectroscopy; and protein structure prediction and enzyme design.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2673500", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1318, + "prefix": "yid", + "mirId": "MIR:00000460", + "name": "Yeast Intron Database v3", + "pattern": "^[A-Z0-9]+$", + "description": "The YEast Intron Database (version 3) contains information on the spliceosomal introns of the yeast Saccharomyces cerevisiae. It includes expression data that relates to the efficiency of splicing relative to other processes in strains of yeast lacking nonessential splicing factors. The data are displayed on each intron page. An updated version of the database is available through [MIR:00000521].", + "created": "2019-06-11T14:17:25.610+00:00", + "modified": "2019-06-11T14:17:25.610+00:00", + "resources": [ + { + "id": 1320, + "mirId": "MIR:00100595", + "urlPattern": "http://metarray.ucsc.edu/cgi-bin/intron/yirIntrondb?orfName={$id}", + "name": "Yeast Intron Database version 3 at Baskin School of Engineering", + "description": "Yeast Intron Database version 3 at Baskin School of Engineering", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "SNR17A", + "resourceHomeUrl": "http://compbio.soe.ucsc.edu/yeast_introns.html", + "institution": { + "id": 1319, + "name": "University of California, Santa Cruz", + "homeUrl": "https://www.ucsc.edu", + "description": "UC Santa Cruz opened in 1965 with 650 students. During the 2018-2019 academic year, 16,983 undergraduate and 1,822 graduate students were enrolled.\n", + "rorId": "https://ror.org/03s65by71", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "SNR17A", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1321, + "prefix": "funcbase.fly", + "mirId": "MIR:00000461", + "name": "FuncBase Fly", + "pattern": "^\\d+$", + "description": "Computational gene function prediction can serve to focus experimental resources on high-priority experimental tasks. FuncBase is a web resource for viewing quantitative machine learning-based gene function annotations. Quantitative annotations of genes, including fungal and mammalian genes, with Gene Ontology terms are accompanied by a community feedback system. Evidence underlying function annotations is shown. FuncBase provides links to external resources, and may be accessed directly or via links from species-specific databases. This collection references Drosophila data.", + "created": "2019-06-11T14:17:25.854+00:00", + "modified": "2019-06-11T14:17:25.854+00:00", + "resources": [ + { + "id": 1323, + "mirId": "MIR:00100596", + "urlPattern": "http://func.mshri.on.ca/fly/genes/list_functional_scores/{$id}", + "name": "FuncBase Fly at Harvard Medical School", + "description": "FuncBase Fly at Harvard Medical School", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "10194", + "resourceHomeUrl": "http://func.mshri.on.ca/fly", + "institution": { + "id": 2745, + "name": "Harvard Medical School", + "homeUrl": "https://hms.harvard.edu/", + "description": "Since the School was established in 1782, faculty members have improved human health by innovating in their roles as physicians, mentors and scholars. They\u2019ve piloted educational models, developed new curricula to address emerging needs in health care, and produced thousands of leaders and compassionate caregivers who are shaping the fields of science and medicine throughout the world with their expertise and passion.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "10194", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1324, + "prefix": "funcbase.human", + "mirId": "MIR:00000462", + "name": "FuncBase Human", + "pattern": "^\\d+$", + "description": "Computational gene function prediction can serve to focus experimental resources on high-priority experimental tasks. FuncBase is a web resource for viewing quantitative machine learning-based gene function annotations. Quantitative annotations of genes, including fungal and mammalian genes, with Gene Ontology terms are accompanied by a community feedback system. Evidence underlying function annotations is shown. FuncBase provides links to external resources, and may be accessed directly or via links from species-specific databases. This collection references human data.", + "created": "2019-06-11T14:17:26.074+00:00", + "modified": "2019-06-11T14:17:26.074+00:00", + "resources": [ + { + "id": 1325, + "mirId": "MIR:00100597", + "urlPattern": "http://func.mshri.on.ca/human/genes/list_functional_scores/{$id}", + "name": "FuncBase Human at Harvard Medical School", + "description": "FuncBase Human at Harvard Medical School", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "119514", + "resourceHomeUrl": "http://func.mshri.on.ca/human/", + "institution": { + "id": 2745, + "name": "Harvard Medical School", + "homeUrl": "https://hms.harvard.edu/", + "description": "Since the School was established in 1782, faculty members have improved human health by innovating in their roles as physicians, mentors and scholars. They\u2019ve piloted educational models, developed new curricula to address emerging needs in health care, and produced thousands of leaders and compassionate caregivers who are shaping the fields of science and medicine throughout the world with their expertise and passion.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "119514", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1326, + "prefix": "funcbase.mouse", + "mirId": "MIR:00000463", + "name": "FuncBase Mouse", + "pattern": "^\\d+$", + "description": "Computational gene function prediction can serve to focus experimental resources on high-priority experimental tasks. FuncBase is a web resource for viewing quantitative machine learning-based gene function annotations. Quantitative annotations of genes, including fungal and mammalian genes, with Gene Ontology terms are accompanied by a community feedback system. Evidence underlying function annotations is shown. FuncBase provides links to external resources, and may be accessed directly or via links from species-specific databases. This collection references mouse.", + "created": "2019-06-11T14:17:26.285+00:00", + "modified": "2019-06-11T14:17:26.285+00:00", + "resources": [ + { + "id": 1327, + "mirId": "MIR:00100598", + "urlPattern": "http://func.mshri.on.ca/mouse/genes/list_functional_scores/{$id}", + "name": "FuncBase Mouse at Harvard Medical School", + "description": "FuncBase Mouse at Harvard Medical School", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1351341", + "resourceHomeUrl": "http://func.mshri.on.ca/mouse/", + "institution": { + "id": 2745, + "name": "Harvard Medical School", + "homeUrl": "https://hms.harvard.edu/", + "description": "Since the School was established in 1782, faculty members have improved human health by innovating in their roles as physicians, mentors and scholars. They\u2019ve piloted educational models, developed new curricula to address emerging needs in health care, and produced thousands of leaders and compassionate caregivers who are shaping the fields of science and medicine throughout the world with their expertise and passion.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1351341", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1881, + "prefix": "cbioportal", + "mirId": "MIR:00000679", + "name": "The cBioPortal for Cancer Genomics", + "pattern": "^[a-z0-9\\_]+$", + "description": "The cBioPortal for Cancer Genomics provides visualization, analysis and download of large-scale cancer genomics data sets.", + "created": "2019-06-11T14:18:18.874+00:00", + "modified": "2019-06-11T14:18:18.874+00:00", + "resources": [ + { + "id": 1883, + "mirId": "MIR:00100909", + "urlPattern": "http://www.cbioportal.org/study?id={$id}#summary", + "name": "The cBioPortal for Cancer Genomics", + "description": "The cBioPortal for Cancer Genomics", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "laml_tcga_pub", + "resourceHomeUrl": "http://www.cbioportal.org", + "institution": { + "id": 1882, + "name": "Memorial Sloan Kettering Cancer Center", + "homeUrl": "https://www.mskcc.org/", + "description": "The people of Memorial Sloan Kettering Cancer Center (MSK) are united by a singular mission: ending cancer for life. Our specialized care teams provide personalized, compassionate, expert care to patients of all ages. Informed by basic research done at our Sloan Kettering Institute, scientists across MSK collaborate to conduct innovative translational and clinical research that is driving a revolution in our understanding of cancer as a disease and improving the ability to prevent, diagnose, and treat it. MSK is dedicated to training the next generation of scientists and clinicians, who go on to pursue our mission at MSK and around the globe. One of the world\u2019s most respected comprehensive centers devoted exclusively to cancer, we have been recognized as one of the top two cancer hospitals in the country by U.S. News & World Report for more than 30 years. ", + "rorId": "https://ror.org/02yrq0923", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "laml_tcga_pub", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1328, + "prefix": "funcbase.yeast", + "mirId": "MIR:00000464", + "name": "FuncBase Yeast", + "pattern": "^\\d+$", + "description": "Computational gene function prediction can serve to focus experimental resources on high-priority experimental tasks. FuncBase is a web resource for viewing quantitative machine learning-based gene function annotations. Quantitative annotations of genes, including fungal and mammalian genes, with Gene Ontology terms are accompanied by a community feedback system. Evidence underlying function annotations is shown. FuncBase provides links to external resources, and may be accessed directly or via links from species-specific databases. This collection references yeast.", + "created": "2019-06-11T14:17:26.470+00:00", + "modified": "2019-06-11T14:17:26.470+00:00", + "resources": [ + { + "id": 1329, + "mirId": "MIR:00100599", + "urlPattern": "http://func.mshri.on.ca/yeast/genes/list_functional_scores/{$id}", + "name": "FuncBase Yeast at Harvard Medical School", + "description": "FuncBase Yeast at Harvard Medical School", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "2701", + "resourceHomeUrl": "http://func.mshri.on.ca/yeast", + "institution": { + "id": 2745, + "name": "Harvard Medical School", + "homeUrl": "https://hms.harvard.edu/", + "description": "Since the School was established in 1782, faculty members have improved human health by innovating in their roles as physicians, mentors and scholars. They\u2019ve piloted educational models, developed new curricula to address emerging needs in health care, and produced thousands of leaders and compassionate caregivers who are shaping the fields of science and medicine throughout the world with their expertise and passion.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2701", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1330, + "prefix": "ydpm", + "mirId": "MIR:00000465", + "name": "YDPM", + "pattern": "^Y[A-Z]{2}\\d+[CW]$", + "description": "The YDPM database serves to support the Yeast Deletion and the Mitochondrial Proteomics Project. The project aims to increase the understanding of mitochondrial function and biogenesis in the context of the cell. In the Deletion Project, strains from the deletion collection were monitored under 9 different media conditions selected for the study of mitochondrial function. The YDPM database contains both the raw data and growth rates calculated for each strain in each media condition.", + "created": "2019-06-11T14:17:26.654+00:00", + "modified": "2019-06-11T14:17:26.654+00:00", + "resources": [ + { + "id": 1332, + "mirId": "MIR:00100600", + "urlPattern": "http://www-deletion.stanford.edu/cgi-bin/YDPM/YDPM_search.cgi?thelist={$id}", + "name": "YDPM at Stanford University School of Medicine", + "description": "YDPM at Stanford University School of Medicine", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "YAL001C", + "resourceHomeUrl": "http://www-deletion.stanford.edu/YDPM/", + "institution": { + "id": 1331, + "name": "Stanford University School of Medicine, Stanford, California", + "homeUrl": "http://med.stanford.edu/", + "description": "A leader in the biomedical revolution, Stanford Medicine has a long tradition of leadership in pioneering research, creative teaching protocols and effective clinical therapies.", + "rorId": "https://ror.org/03mtd9a03", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "YAL001C", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1333, + "prefix": "wb.rnai", + "mirId": "MIR:00000466", + "name": "WormBase RNAi", + "pattern": "^WBRNAi\\d{8}$", + "description": "WormBase is an online bioinformatics database of the biology and genome of the model organism Caenorhabditis elegans and related nematodes. It is used by the C. elegans research community both as an information resource and as a mode to publish and distribute their results. This collection references RNAi experiments, detailing target and phenotypes.", + "created": "2019-06-11T14:17:26.886+00:00", + "modified": "2019-06-11T14:17:26.886+00:00", + "resources": [ + { + "id": 1334, + "mirId": "MIR:00100601", + "urlPattern": "https://www.wormbase.org/species/c_elegans/rnai/{$id}", + "name": "WormBase RNAi", + "description": "WormBase RNAi", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "WBRNAi00086878", + "resourceHomeUrl": "https://www.wormbase.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "WBRNAi00086878", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1335, + "prefix": "pass2", + "mirId": "MIR:00000468", + "name": "PASS2", + "pattern": "^\\d+$", + "description": "The PASS2 database provides alignments of proteins related at the superfamily level and are characterized by low sequence identity.", + "created": "2019-06-11T14:17:27.086+00:00", + "modified": "2019-06-11T14:17:27.086+00:00", + "resources": [ + { + "id": 1337, + "mirId": "MIR:00100603", + "urlPattern": "http://caps.ncbs.res.in/cgi-bin/pass2//show_sf.py?sf_id={$id}", + "name": "PASS2 at National centre for Biological Sciences (India)", + "description": "PASS2 at National centre for Biological Sciences (India)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "46977", + "resourceHomeUrl": "http://caps.ncbs.res.in/pass2/", + "institution": { + "id": 428, + "name": "National Centre for Biological Sciences, Bangalore", + "homeUrl": "https://www.ncbs.res.in/", + "description": "We are a premier research institute with all the necessary facilities that a research scientist may need. Research interests of our faculty members lie in the frontier areas of biology, and the science at NCBS (a part of the Tata Institute of Fundamental Research ) uses experimental and computational approaches in the study of molecules, cells and organisms. We aim to understand biology at each of these levels to advance an integrated view of life processes. The talent and drive of our students and faculty members continues to show us the way to good science.", + "rorId": "https://ror.org/03gf8rp76", + "location": { + "countryCode": "IN", + "countryName": "India" + } + }, + "location": { + "countryCode": "IN", + "countryName": "India" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "46977", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1338, + "prefix": "iceberg.element", + "mirId": "MIR:00000469", + "name": "ICEberg element", + "pattern": "^\\d+$", + "description": "ICEberg (Integrative and conjugative elements) is a database of integrative and conjugative elements (ICEs) found in bacteria. ICEs are conjugative self-transmissible elements that can integrate into and excise from a host chromosome, and can carry likely virulence determinants, antibiotic-resistant factors and/or genes coding for other beneficial traits. It contains details of ICEs found in representatives bacterial species, and which are organised as families. This collection references ICE elements.", + "created": "2019-06-11T14:17:27.338+00:00", + "modified": "2019-06-11T14:17:27.338+00:00", + "resources": [ + { + "id": 1340, + "mirId": "MIR:00100604", + "urlPattern": "http://db-mml.sjtu.edu.cn/ICEberg/feature_page.php?ice_id={$id}", + "name": "ICEberg element at Shanghai Jiaotong University", + "description": "ICEberg element at Shanghai Jiaotong University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "100", + "resourceHomeUrl": "http://db-mml.sjtu.edu.cn/ICEberg/", + "institution": { + "id": 1339, + "name": "State Key Laboratory of Microbial Metabolism and School of Life Sciences &amp;amp;amp; Biotechnology, Shanghai Jiaotong University, Shanghai", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "100", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1341, + "prefix": "iceberg.family", + "mirId": "MIR:00000470", + "name": "ICEberg family", + "pattern": "^\\d+$", + "description": "ICEberg (Integrative and conjugative elements) is a database of integrative and conjugative elements (ICEs) found in bacteria. ICEs are conjugative self-transmissible elements that can integrate into and excise from a host chromosome, and can carry likely virulence determinants, antibiotic-resistant factors and/or genes coding for other beneficial traits. It contains details of ICEs found in representatives bacterial species, and which are organised as families. This collection references ICE families.", + "created": "2019-06-11T14:17:27.601+00:00", + "modified": "2019-06-11T14:17:27.601+00:00", + "resources": [ + { + "id": 1343, + "mirId": "MIR:00100605", + "urlPattern": "http://db-mml.sjtu.edu.cn/ICEberg/browse_result.php?type=fam&fam_id={$id}", + "name": "ICEberg family at Shanghai Jiaotong University", + "description": "ICEberg family at Shanghai Jiaotong University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1", + "resourceHomeUrl": "http://db-mml.sjtu.edu.cn/ICEberg/", + "institution": { + "id": 1342, + "name": "State Key Laboratory of Microbial Metabolism and School of Life Sciences &amp; Biotechnology, Shanghai Jiaotong University, Shanghai", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1344, + "prefix": "vfdb.genus", + "mirId": "MIR:00000471", + "name": "VFDB Genus", + "pattern": "^\\w+$", + "description": "VFDB is a repository of virulence factors (VFs) of pathogenic bacteria.This collection references VF information by Genus.", + "created": "2019-06-11T14:17:27.811+00:00", + "modified": "2019-06-11T14:17:27.811+00:00", + "resources": [ + { + "id": 1346, + "mirId": "MIR:00100606", + "urlPattern": "http://www.mgc.ac.cn/cgi-bin/VFs/genus.cgi?Genus={$id}", + "name": "VFDB Genus at Institute of Pathogen Biology", + "description": "VFDB Genus at Institute of Pathogen Biology", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Chlamydia", + "resourceHomeUrl": "http://www.mgc.ac.cn/VFs/", + "institution": { + "id": 1345, + "name": "State Key Laboratory for Molecular Virology and Genetic Engineering, Institute of Pathogen Biology, Chinese Academy Medical Sciences and Peking Union Medical College, Beijing", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Chlamydia", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1349, + "prefix": "mesh.2013", + "mirId": "MIR:00000473", + "name": "MeSH 2013", + "pattern": "^[A-Za-z0-9]+$", + "description": "MeSH (Medical Subject Headings) is the National Library of Medicine's controlled vocabulary thesaurus. It consists of sets of terms naming descriptors in a hierarchical structure that permits searching at various levels of specificity. This thesaurus is used by NLM for indexing articles from biomedical journals, cataloging of books, documents, etc. This collection references MeSH terms published in 2013.", + "created": "2019-06-11T14:17:28.224+00:00", + "modified": "2019-06-11T14:17:28.224+00:00", + "resources": [ + { + "id": 1350, + "mirId": "MIR:00100608", + "urlPattern": "http://www.nlm.nih.gov/cgi/mesh/2013/MB_cgi?mode=&index={$id}&view=expanded", + "name": "MeSH 2013 at National Library of Medicine", + "description": "MeSH 2013 at National Library of Medicine", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "17165", + "resourceHomeUrl": "http://www.nlm.nih.gov/mesh/", + "institution": { + "id": 316, + "name": "National Library of Medicine, Maryland", + "homeUrl": "https://www.nlm.nih.gov/", + "description": "The National Library of Medicine (NLM), on the campus of the National Institutes of Health in Bethesda, Maryland, has been a center of information innovation since its founding in 1836. The world\u2019s largest biomedical library, NLM maintains and makes available a vast print collection and produces electronic information resources on a wide range of topics that are searched billions of times each year by millions of people around the globe. It also supports and conducts research, development, and training in biomedical informatics and health information technology. In addition, the Library coordinates an 8,000+ member Network of the National Library of Medicine that promotes and provides access to health information in communities across the United States.", + "rorId": "https://ror.org/0060t0j89", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "17165", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1351, + "prefix": "kegg.module", + "mirId": "MIR:00000474", + "name": "KEGG Module", + "pattern": "^([a-z]{3,5}_)?M\\d{5}$", + "description": "KEGG Modules are manually defined functional units used in the annotation and biological interpretation of sequenced genomes. Each module corresponds to a set of 'KEGG Orthology' (MIR:00000116) entries. KEGG Modules can represent pathway, structural, functional or signature modules.", + "created": "2019-06-11T14:17:28.414+00:00", + "modified": "2019-06-11T14:17:28.414+00:00", + "resources": [ + { + "id": 1352, + "mirId": "MIR:00100609", + "urlPattern": "http://www.kegg.jp/entry/{$id}", + "name": "KEGG Module at Kyoto University Bioinformatics Center", + "description": "KEGG Module at Kyoto University Bioinformatics Center", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "M00002", + "resourceHomeUrl": "http://www.kegg.jp/kegg/module.html", + "institution": { + "id": 367, + "name": "Department of Computational Biology, University of Tokyo, Tokyo", + "homeUrl": "https://www.cbms.k.u-tokyo.ac.jp/english/index.html", + "description": "he department of Medical Genome Sciences and the department of Computational Biology have been merged, resulting in the establishment of a unique new major that is unprecedented in Japan. The objectives of this new major are to lead the way in information-oriented life science while significantly contributing to life innovation, and to cultivate personnel capable of translating the results in the clinical setting. To this end,we believe that it is necessary to develop personnel with a novel specialty by actively employing on-the-job training in state-of-the-art informatics and medical science research settings and implementing a basic education environment for integrating information science and medical science. This kind of personnel is required not only in medicine, but also in other technical fields such as agricultural sciences, pharmaceutical sciences, environmental studies and biotechnology.", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "M00002", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1353, + "prefix": "kegg.disease", + "mirId": "MIR:00000475", + "name": "KEGG Disease", + "pattern": "^H\\d+$", + "description": "The KEGG DISEASE database is a collection of disease entries capturing knowledge on genetic and environmental perturbations. Each disease entry contains a list of known genetic factors (disease genes), environmental factors, diagnostic markers, and therapeutic drugs. Diseases are viewed as perturbed states of the molecular system, and drugs as perturbants to the molecular system.", + "created": "2019-06-11T14:17:28.601+00:00", + "modified": "2019-06-11T14:17:28.601+00:00", + "resources": [ + { + "id": 1354, + "mirId": "MIR:00100610", + "urlPattern": "http://www.kegg.jp/entry/{$id}", + "name": "KEGG Disease at Kyoto University Bioinformatics Center", + "description": "KEGG Disease at Kyoto University Bioinformatics Center", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "H00076", + "resourceHomeUrl": "http://www.genome.jp/kegg/disease/", + "institution": { + "id": 15, + "name": "Kyoto University Bioinformatics Center", + "homeUrl": "https://www.bic.kyoto-u.ac.jp/", + "description": "The Bioinformatics Center aims at developing new informatics technologies for deciphering the genome, especially from the viewpoint of how life operates as a system, and promoting both basic and applied research areas in bioinformatics. The Center consists of three research laboratories, named Chemical Life Science, Mathematical Bioinformatics, and Bio-Knowledge Engineering, which focus on scientific discovery, algorithms, and data mining, respectively. ", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "H00076", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1355, + "prefix": "medlineplus", + "mirId": "MIR:00000476", + "name": "MedlinePlus", + "pattern": "^\\d+$", + "description": "MedlinePlus is the National Institutes of Health's Web site for patients and their families and friends. Produced by the National Library of Medicine, it provides information about diseases, conditions, and wellness issues using non-technical terms and language.", + "created": "2019-06-11T14:17:28.795+00:00", + "modified": "2019-06-11T14:17:28.795+00:00", + "resources": [ + { + "id": 1356, + "mirId": "MIR:00100611", + "urlPattern": "http://www.nlm.nih.gov/medlineplus/ency/article/{$id}.htm", + "name": "MedlinePlus at NCBI", + "description": "MedlinePlus at NCBI", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "002804", + "resourceHomeUrl": "http://www.nlm.nih.gov/medlineplus/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "002804", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1360, + "prefix": "glycoepitope", + "mirId": "MIR:00000478", + "name": "GlycoEpitope", + "pattern": "^EP\\d{4}$", + "description": "GlycoEpitope is a database containing useful information about carbohydrate antigens (glyco-epitopes) and the antibodies (polyclonal or monoclonal) that can be used to analyze their expression. This collection references Glycoepitopes.", + "created": "2019-06-11T14:17:29.214+00:00", + "modified": "2019-06-11T14:17:29.214+00:00", + "resources": [ + { + "id": 1362, + "mirId": "MIR:00100613", + "urlPattern": "https://www.glycoepitope.jp/epitopes/{$id}", + "name": "GlycoEpitope at Ritsumeikan University", + "description": "GlycoEpitope at Ritsumeikan University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "EP0311", + "resourceHomeUrl": "https://www.glycoepitope.jp/epitopes/", + "institution": { + "id": 1361, + "name": "Kawasaki laboratory, Research Center for Glycobiotechnology, Ritsumeikan University", + "homeUrl": "https://en.ritsumei.ac.jp/research/overview/", + "description": "Ritsumeikan will pursue the creation of universal values based on academic freedom and search for solutions to the pressing issues facing humankind, with its educational endeavours based on its founding spirit and educational ideals, bearing in mind \u201cto believe in the future, to live for the future.\u201d Ritsumeikan will foster learning and the development of individual talents in order to nurture just and ethical global citizens. Ritsumeikan, as an institute of education and research, pledges to promote peace, democracy and sustainable development in Japan and throughout the world, in keeping with the spirit of this Charter. ", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "EP0311", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1363, + "prefix": "jcggdb", + "mirId": "MIR:00000479", + "name": "JCGGDB", + "pattern": "^JCGG-STR\\d{6}$", + "description": "JCGGDB (Japan Consortium for Glycobiology and Glycotechnology DataBase) is a database that aims to integrate all glycan-related data held in various repositories in Japan. This includes databases for large-quantity synthesis of glycogenes and glycans, analysis and detection of glycan structure and glycoprotein, glycan-related differentiation markers, glycan functions, glycan-related diseases and transgenic and knockout animals, etc.", + "created": "2019-06-11T14:17:29.437+00:00", + "modified": "2019-06-11T14:17:29.437+00:00", + "resources": [ + { + "id": 1365, + "mirId": "MIR:00100614", + "urlPattern": "http://jcggdb.jp/idb/jcggdb/{$id}", + "name": "JCGGDB at Advanced Science Institute (Japan)", + "description": "JCGGDB at Advanced Science Institute (Japan)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "JCGG-STR008690", + "resourceHomeUrl": "http://jcggdb.jp/index_en.html", + "institution": { + "id": 1364, + "name": "RIKEN Advanced Science Institute", + "homeUrl": "http://www.riken.jp/en/about/reports/evaluation/asi/", + "description": "Established by RIKEN in April 2008, based on the DRI (Discovery Research Institute) and the FRS (Frontier Research System). ASI is unique since it is structured as comprehensive system supporting the full range of scientific fields including high energy/nuclear/astro-physics, condensed matter physics, chemistry, electronic engineering, biology and medicine.", + "rorId": "https://ror.org/030vbmf58", + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "JCGG-STR008690", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1366, + "prefix": "noncodev4.gene", + "mirId": "MIR:00000480", + "name": "NONCODE v4 Gene", + "pattern": "^NONHSAG\\d{5}$", + "description": "NONCODE is a database of expression and functional lncRNA (long noncoding RNA) data obtained from microarray studies. LncRNAs have been shown to play key roles in various biological processes such as imprinting control, circuitry controlling pluripotency and differentiation, immune responses and chromosome dynamics. The collection references NONCODE version 4 and relates to gene regions.", + "created": "2019-06-11T14:17:29.649+00:00", + "modified": "2019-06-11T14:17:29.649+00:00", + "resources": [ + { + "id": 1367, + "mirId": "MIR:00100616", + "urlPattern": "http://www.bioinfo.org/NONCODEv4/show_gene.php?id={$id}", + "name": "NONCODE v4 Gene at Chinese Academy of Sciences", + "description": "NONCODE v4 Gene at Chinese Academy of Sciences", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "NONHSAG00001", + "resourceHomeUrl": "http://www.bioinfo.org/NONCODEv4/", + "institution": { + "id": 737, + "name": "Chinese Academy of Sciences", + "homeUrl": "http://english.cas.cn/", + "description": "The Chinese Academy of Sciences is the linchpin of China\u2019s drive to explore and harness high technology and the natural sciences for the benefit of China and the world. CAS brings together scientists and engineers from China and around the world to address both theoretical and applied problems using world-class scientific and management approaches.", + "rorId": "https://ror.org/034t30j35", + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "NONHSAG00001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1884, + "prefix": "vfb", + "mirId": "MIR:00000680", + "name": "Virtual Fly Brain", + "pattern": "^[0-9a-zA-Z]{8}$", + "description": "An interactive tool for neurobiologists to explore the detailed neuroanatomy, neuron connectivity and gene expression of the Drosophila melanogaster.", + "created": "2019-06-11T14:18:19.150+00:00", + "modified": "2019-06-11T14:18:19.150+00:00", + "resources": [ + { + "id": 1886, + "mirId": "MIR:00100911", + "urlPattern": "http://virtualflybrain.org/reports/{$id}", + "name": "Virtual Fly Brain", + "description": "Virtual Fly Brain", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "00000001", + "resourceHomeUrl": "https://VirtualFlyBrain.org", + "institution": { + "id": 1885, + "name": "The University of Cambridge", + "homeUrl": "https://www.cam.ac.uk/", + "description": "The mission of the University of Cambridge is to contribute to society through education, learning and research at the highest international level.", + "rorId": "https://ror.org/013meh722", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "00000001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1368, + "prefix": "noncodev4.rna", + "mirId": "MIR:00000481", + "name": "NONCODE v4 Transcript", + "pattern": "^NONHSAT\\d{6}$", + "description": "NONCODE is a database of expression and functional lncRNA (long noncoding RNA) data obtained from microarray studies. LncRNAs have been shown to play key roles in various biological processes such as imprinting control, circuitry controlling pluripotency and differentiation, immune responses and chromosome dynamics. The collection references NONCODE version 4 and relates to individual transcripts.", + "created": "2019-06-11T14:17:29.833+00:00", + "modified": "2019-06-11T14:17:29.833+00:00", + "resources": [ + { + "id": 1369, + "mirId": "MIR:00100617", + "urlPattern": "http://www.bioinfo.org/NONCODEv4/show_rna.php?id={$id}", + "name": "NONCODE v4 Transcript at Chinese Academy of Sciences", + "description": "NONCODE v4 Transcript at Chinese Academy of Sciences", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "NONHSAT000001", + "resourceHomeUrl": "http://www.bioinfo.org/NONCODEv4/", + "institution": { + "id": 737, + "name": "Chinese Academy of Sciences", + "homeUrl": "http://english.cas.cn/", + "description": "The Chinese Academy of Sciences is the linchpin of China\u2019s drive to explore and harness high technology and the natural sciences for the benefit of China and the world. CAS brings together scientists and engineers from China and around the world to address both theoretical and applied problems using world-class scientific and management approaches.", + "rorId": "https://ror.org/034t30j35", + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "NONHSAT000001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1370, + "prefix": "oryzabase.gene", + "mirId": "MIR:00000482", + "name": "Oryzabase Gene", + "pattern": "^\\d+$", + "description": "Oryzabase provides a view of rice (Oryza sativa) as a model monocot plant by integrating biological data with molecular genomic information. It contains information about rice development and anatomy, rice mutants, and genetic resources, especially for wild varieties of rice. Developmental and anatomical descriptions include in situ gene expression data serving as stage and tissue markers. This collection references gene information.", + "created": "2019-06-11T14:17:30.027+00:00", + "modified": "2019-06-11T14:17:30.027+00:00", + "resources": [ + { + "id": 1372, + "mirId": "MIR:00100618", + "urlPattern": "http://www.shigen.nig.ac.jp/rice/oryzabaseV4/gene/detail/{$id}", + "name": "Oryzabase v4 Gene at National Institute of Genetics (Japan)", + "description": "Oryzabase v4 Gene at National Institute of Genetics (Japan)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "117", + "resourceHomeUrl": "http://www.shigen.nig.ac.jp/rice/oryzabaseV4/", + "institution": { + "id": 1371, + "name": "Genetic Strains Research Center, National Institute of Genetics, Mishima, Shizuoka", + "homeUrl": "http://www.nig.ac.jp/nig/", + "description": "Research NIG conducts top-level research in life sciences leveraging on approaches and resources in Genetics. NIG also develops new research fields within the broader concept of Genetics. ", + "rorId": "https://ror.org/02xg1m795", + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "117", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1373, + "prefix": "oryzabase.mutant", + "mirId": "MIR:00000483", + "name": "Oryzabase Mutant", + "pattern": "^\\d+$", + "description": "Oryzabase provides a view of rice (Oryza sativa) as a model monocot plant by integrating biological data with molecular genomic information. It contains information about rice development and anatomy, rice mutants, and genetic resources, especially for wild varieties of rice. Developmental and anatomical descriptions include in situ gene expression data serving as stage and tissue markers. This collection references mutant strain information.", + "created": "2019-06-11T14:17:30.248+00:00", + "modified": "2019-06-11T14:17:30.248+00:00", + "resources": [ + { + "id": 1374, + "mirId": "MIR:00100619", + "urlPattern": "http://www.shigen.nig.ac.jp/rice/oryzabaseV4/strain/inducedMutationLine/detail/{$id}", + "name": "Oryzabase v4 Mutant at National Institute of Genetics (Japan)", + "description": "Oryzabase v4 Mutant at National Institute of Genetics (Japan)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "21393", + "resourceHomeUrl": "http://www.shigen.nig.ac.jp/rice/oryzabaseV4/", + "institution": { + "id": 1371, + "name": "Genetic Strains Research Center, National Institute of Genetics, Mishima, Shizuoka", + "homeUrl": "http://www.nig.ac.jp/nig/", + "description": "Research NIG conducts top-level research in life sciences leveraging on approaches and resources in Genetics. NIG also develops new research fields within the broader concept of Genetics. ", + "rorId": "https://ror.org/02xg1m795", + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "21393", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1375, + "prefix": "oryzabase.strain", + "mirId": "MIR:00000484", + "name": "Oryzabase Strain", + "pattern": "^\\d+$", + "description": "Oryzabase provides a view of rice (Oryza sativa) as a model monocot plant by integrating biological data with molecular genomic information. It contains information about rice development and anatomy, rice mutants, and genetic resources, especially for wild varieties of rice. Developmental and anatomical descriptions include in situ gene expression data serving as stage and tissue markers. This collection references wild strain information.", + "created": "2019-06-11T14:17:30.425+00:00", + "modified": "2019-06-11T14:17:30.425+00:00", + "resources": [ + { + "id": 1376, + "mirId": "MIR:00100620", + "urlPattern": "http://www.shigen.nig.ac.jp/rice/oryzabaseV4/strain/wildCore/detail/{$id}", + "name": "Oryzabase v4 Strain at National Institute of Genetics (Japan)", + "description": "Oryzabase v4 Strain at National Institute of Genetics (Japan)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1", + "resourceHomeUrl": "http://www.shigen.nig.ac.jp/rice/oryzabaseV4/", + "institution": { + "id": 1371, + "name": "Genetic Strains Research Center, National Institute of Genetics, Mishima, Shizuoka", + "homeUrl": "http://www.nig.ac.jp/nig/", + "description": "Research NIG conducts top-level research in life sciences leveraging on approaches and resources in Genetics. NIG also develops new research fields within the broader concept of Genetics. ", + "rorId": "https://ror.org/02xg1m795", + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1377, + "prefix": "oryzabase.stage", + "mirId": "MIR:00000485", + "name": "Oryzabase Stage", + "pattern": "^\\d+$", + "description": "Oryzabase provides a view of rice (Oryza sativa) as a model monocot plant by integrating biological data with molecular genomic information. It contains information about rice development and anatomy, rice mutants, and genetic resources, especially for wild varieties of rice. Developmental and anatomical descriptions include in situ gene expression data serving as stage and tissue markers. This collection references development stage information.", + "created": "2019-06-11T14:17:30.616+00:00", + "modified": "2019-06-11T14:17:30.616+00:00", + "resources": [ + { + "id": 1378, + "mirId": "MIR:00100621", + "urlPattern": "http://www.shigen.nig.ac.jp/rice/oryzabaseV4/devstageineachorgan/detail/{$id}", + "name": "Oryzabase v4 Stage at National Institute of Genetics (Japan)", + "description": "Oryzabase v4 Stage at National Institute of Genetics (Japan)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "34", + "resourceHomeUrl": "http://www.shigen.nig.ac.jp/rice/oryzabaseV4/", + "institution": { + "id": 1371, + "name": "Genetic Strains Research Center, National Institute of Genetics, Mishima, Shizuoka", + "homeUrl": "http://www.nig.ac.jp/nig/", + "description": "Research NIG conducts top-level research in life sciences leveraging on approaches and resources in Genetics. NIG also develops new research fields within the broader concept of Genetics. ", + "rorId": "https://ror.org/02xg1m795", + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "34", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1379, + "prefix": "otl", + "mirId": "MIR:00000486", + "name": "Oryza Tag Line", + "pattern": "^A[A-Z]+\\d+$", + "description": "Oryza Tag Line is a database that was developed to collect information generated from the characterization of rice (Oryza sativa L cv. Nipponbare) insertion lines resulting in potential gene disruptions. It collates morpho-physiological alterations observed during field evaluation, with each insertion line documented through a generic passport data including production records, seed stocks and FST information.", + "created": "2019-06-11T14:17:30.833+00:00", + "modified": "2019-06-11T14:17:30.833+00:00", + "resources": [ + { + "id": 1381, + "mirId": "MIR:00100622", + "urlPattern": "http://oryzatagline.cirad.fr/cgi-bin/general_mutant.pl?line={$id}", + "name": "Oryza Tag Line at CIRAD-INRA-SUPAGRO-UMI", + "description": "Oryza Tag Line at CIRAD-INRA-SUPAGRO-UMI", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "AADB12", + "resourceHomeUrl": "http://oryzatagline.cirad.fr/", + "institution": { + "id": 1380, + "name": "CIRAD-INRA-SUPAGRO-UMII, Biological Systems Department, Montpellier", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AADB12", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1382, + "prefix": "genewiki", + "mirId": "MIR:00000487", + "name": "Gene Wiki", + "pattern": "^\\d+$", + "description": "The Gene Wiki is project which seeks to provide detailed information on human genes. Initial 'stub' articles are created in an automated manner, with further information added by the community. Gene Wiki can be accessed in wikipedia using Gene identifiers from NCBI.", + "created": "2019-06-11T14:17:31.086+00:00", + "modified": "2019-06-11T14:17:31.086+00:00", + "resources": [ + { + "id": 1383, + "mirId": "MIR:00100623", + "urlPattern": "http://plugins.biogps.org/cgi-bin/wp.cgi?id={$id}", + "name": "Gene Wiki through BioGPS", + "description": "Gene Wiki through BioGPS", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1017", + "resourceHomeUrl": "http://en.wikipedia.org/wiki/Gene_Wiki", + "institution": { + "id": 1111, + "name": "Wikimedia Foundation, San Francisco, California", + "homeUrl": "https://wikimediafoundation.org/", + "description": "The nonprofit Wikimedia Foundation provides the essential infrastructure for free knowledge. We host Wikipedia, the free online encyclopedia, created, edited, and verified by volunteers around the world, as well as many other vital community projects. All of which is made possible thanks to donations from individuals like you. We welcome anyone who shares our vision to join us in collecting and sharing knowledge that fully represents human diversity.", + "rorId": "https://ror.org/032q98j12", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1017", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1384, + "prefix": "paxdb.organism", + "mirId": "MIR:00000488", + "name": "PaxDb Organism", + "pattern": "^\\d+$", + "description": "PaxDb is a resource dedicated to integrating information on absolute protein abundance levels across different organisms. Publicly available experimental data are mapped onto a common namespace and, in the case of tandem mass spectrometry data, re-processed using a standardized spectral counting pipeline. Data sets are scored and ranked to assess consistency against externally provided protein-network information. PaxDb provides whole-organism data as well as tissue-resolved data, for numerous proteins. This collection references protein abundance information by species.", + "created": "2019-06-11T14:17:31.315+00:00", + "modified": "2019-06-11T14:17:31.315+00:00", + "resources": [ + { + "id": 1386, + "mirId": "MIR:00100624", + "urlPattern": "http://pax-db.org/#!species/{$id}", + "name": "PaxDb v3 at University of Zurich", + "description": "PaxDb v3 at University of Zurich", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "9606", + "resourceHomeUrl": "http://pax-db.org/", + "institution": { + "id": 1385, + "name": "Institute of Molecular Life Sciences, University of Zurich, Zurich", + "homeUrl": "https://www.mls.uzh.ch/en.html", + "description": "Bottom-up research to enhance our understanding of the molecular basis of life. It is only by understanding how biological processes work that we can hope to intervene in cases where things go awry.", + "rorId": null, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "9606", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1387, + "prefix": "paxdb.protein", + "mirId": "MIR:00000489", + "name": "PaxDb Protein", + "pattern": "^\\d+$", + "description": "PaxDb is a resource dedicated to integrating information on absolute protein abundance levels across different organisms. Publicly available experimental data are mapped onto a common namespace and, in the case of tandem mass spectrometry data, re-processed using a standardized spectral counting pipeline. Data sets are scored and ranked to assess consistency against externally provided protein-network information. PaxDb provides whole-organism data as well as tissue-resolved data, for numerous proteins. This collection references individual protein abundance levels.", + "created": "2019-06-11T14:17:31.566+00:00", + "modified": "2019-06-11T14:17:31.566+00:00", + "resources": [ + { + "id": 1388, + "mirId": "MIR:00100625", + "urlPattern": "http://pax-db.org/#!protein/{$id}", + "name": "PaxDb v3 at University of Zurich", + "description": "PaxDb v3 at University of Zurich", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "977869", + "resourceHomeUrl": "http://pax-db.org/", + "institution": { + "id": 1385, + "name": "Institute of Molecular Life Sciences, University of Zurich, Zurich", + "homeUrl": "https://www.mls.uzh.ch/en.html", + "description": "Bottom-up research to enhance our understanding of the molecular basis of life. It is only by understanding how biological processes work that we can hope to intervene in cases where things go awry.", + "rorId": null, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "977869", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1389, + "prefix": "pdb.ligand", + "mirId": "MIR:00000490", + "name": "Protein Data Bank Ligand", + "pattern": "^[A-Za-z0-9]+$", + "description": "The Protein Data Bank is the single worldwide archive of structural data of biological macromolecules. This collection references ligands.", + "created": "2019-06-11T14:17:31.784+00:00", + "modified": "2019-06-11T14:17:31.784+00:00", + "resources": [ + { + "id": 1390, + "mirId": "MIR:00100626", + "urlPattern": "http://www.rcsb.org/pdb/ligand/ligandsummary.do?hetId={$id}", + "name": "PDB Ligand at RCSB", + "description": "PDB Ligand at RCSB", + "official": false, + "providerCode": "rcsb", + "sampleId": "TRQ", + "resourceHomeUrl": "http://www.pdb.org/", + "institution": { + "id": 79, + "name": "Rutgers, The State University of New Jersey", + "homeUrl": "https://www.rutgers.edu/", + "description": "Rutgers, The State University of New Jersey, stands among America\u2019s highest-ranked, most diverse public research universities. The oldest, largest, and top-ranked public university in the New York/New Jersey metropolitan area, you\u2019ll find us at our main locations in three New Jersey cities, and our footprint can be seen around the region. We\u2019re an academic, health, and research powerhouse and a university of opportunity.", + "rorId": "https://ror.org/05vt9qd57", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1391, + "mirId": "MIR:00100650", + "urlPattern": "https://www.ebi.ac.uk/pdbe-srv/pdbechem/chemicalCompound/show/{$id}", + "name": "PDB Ligand at Protein Databank in Europe (PDBe)", + "description": "PDB Ligand at Protein Databank in Europe (PDBe)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "TRQ", + "resourceHomeUrl": "https://www.pdbe.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "TRQ", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1392, + "prefix": "merops.inhibitor", + "mirId": "MIR:00000491", + "name": "MEROPS Inhibitor", + "pattern": "^I\\d{2}\\.\\d{3}$", + "description": "The MEROPS database is an information resource for peptidases (also termed proteases, proteinases and proteolytic enzymes) and the proteins that inhibit them. This collections references inhibitors.", + "created": "2019-06-11T14:17:32.129+00:00", + "modified": "2019-06-11T14:17:32.129+00:00", + "resources": [ + { + "id": 1394, + "mirId": "MIR:00100632", + "urlPattern": "http://merops.sanger.ac.uk/cgi-bin/pepsum?id={$id}", + "name": "MEROPS Inhibitor at Sanger Institute", + "description": "MEROPS Inhibitor at Sanger Institute", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "I31.952", + "resourceHomeUrl": "http://merops.sanger.ac.uk/index.htm", + "institution": { + "id": 210, + "name": "Wellcome Trust Sanger Institute", + "homeUrl": "https://www.sanger.ac.uk/", + "description": "We tackle some of the most difficult challenges in genomic research. This demands science at scale; a visionary and creative approach to research that pushes the boundaries of our understanding in ever new and exciting ways.", + "rorId": "https://ror.org/05cy4wa09", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "I31.952", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1398, + "prefix": "glida.gpcr", + "mirId": "MIR:00000493", + "name": "GLIDA GPCR", + "pattern": "^[A-Z-_0-9]+$", + "description": "The GPCR-LIgand DAtabase (GLIDA) is a GPCR-related chemical genomic database that is primarily focused on the correlation of information between GPCRs and their ligands. It provides correlation data between GPCRs and their ligands, along with chemical information on the ligands. This collection references G-protein coupled receptors.", + "created": "2019-06-11T14:17:32.633+00:00", + "modified": "2019-06-11T14:17:32.633+00:00", + "resources": [ + { + "id": 1400, + "mirId": "MIR:00100634", + "urlPattern": "http://pharminfo.pharm.kyoto-u.ac.jp/services/glida/gpcr_information.php?id={$id}", + "name": "GLIDA GPCR at Kyoto University", + "description": "GLIDA GPCR at Kyoto University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ACM1_HUMAN", + "resourceHomeUrl": "http://pharminfo.pharm.kyoto-u.ac.jp/services/glida/", + "institution": { + "id": 1399, + "name": "Department of Genomic Drug Discovery Science, Graduate School of Pharmaceutical Sciences, Kyoto University, Sakyo-ku, Kyoto", + "homeUrl": "https://www.pharm.kyoto-u.ac.jp/en/research/research-organization/research-profile/ciepps/", + "description": "Development of tissue/intracellular targeted drug delivery systems using biomolecular recognition mechanisms. Development of pharmacokinetics and toxicity evaluation systems using the microfluidic devices. Information analysis of adverse event databases and its application to risk assessment. Molecular dynamics and pharmacological analysis of adverse reaction and research on development for prevention and treatment.", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ACM1_HUMAN", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1401, + "prefix": "glida.ligand", + "mirId": "MIR:00000494", + "name": "GLIDA Ligand", + "pattern": "^L\\d+$", + "description": "The GPCR-LIgand DAtabase (GLIDA) is a GPCR-related chemical genomic database that is primarily focused on the correlation of information between GPCRs and their ligands. It provides correlation data between GPCRs and their ligands, along with chemical information on the ligands. This collection references ligands.", + "created": "2019-06-11T14:17:32.872+00:00", + "modified": "2019-06-11T14:17:32.872+00:00", + "resources": [ + { + "id": 1402, + "mirId": "MIR:00100635", + "urlPattern": "http://pharminfo.pharm.kyoto-u.ac.jp/services/glida/ligand_information.php?id={$id}", + "name": "GLIDA Ligand at Kyoto University", + "description": "GLIDA Ligand at Kyoto University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "L000001", + "resourceHomeUrl": "http://pharminfo.pharm.kyoto-u.ac.jp/services/glida/", + "institution": { + "id": 1399, + "name": "Department of Genomic Drug Discovery Science, Graduate School of Pharmaceutical Sciences, Kyoto University, Sakyo-ku, Kyoto", + "homeUrl": "https://www.pharm.kyoto-u.ac.jp/en/research/research-organization/research-profile/ciepps/", + "description": "Development of tissue/intracellular targeted drug delivery systems using biomolecular recognition mechanisms. Development of pharmacokinetics and toxicity evaluation systems using the microfluidic devices. Information analysis of adverse event databases and its application to risk assessment. Molecular dynamics and pharmacological analysis of adverse reaction and research on development for prevention and treatment.", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "L000001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1403, + "prefix": "grsdb", + "mirId": "MIR:00000495", + "name": "GRSDB", + "pattern": "^\\d+$", + "description": "GRSDB is a database of G-quadruplexes and contains information on composition and distribution of putative Quadruplex-forming G-Rich Sequences (QGRS) mapped in the eukaryotic pre-mRNA sequences, including those that are alternatively processed (alternatively spliced or alternatively polyadenylated). The data stored in the GRSDB is based on computational analysis of NCBI Entrez Gene entries and their corresponding annotated genomic nucleotide sequences of RefSeq/GenBank.", + "created": "2019-06-11T14:17:33.087+00:00", + "modified": "2019-06-11T14:17:33.087+00:00", + "resources": [ + { + "id": 1405, + "mirId": "MIR:00100636", + "urlPattern": "http://bioinformatics.ramapo.edu/GRSDB2/geneview.php?geneID={$id}", + "name": "GRSDB v2 at Ramapo College of New Jersey", + "description": "GRSDB v2 at Ramapo College of New Jersey", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "10142", + "resourceHomeUrl": "http://bioinformatics.ramapo.edu/GRSDB2/", + "institution": { + "id": 1404, + "name": "Ramapo College", + "homeUrl": "https://www.ramapo.edu/", + "description": "Established in 1969, Ramapo College offers bachelor\u2019s degrees in the arts, business, humanities, social sciences and the sciences, as well as in professional studies, which include business, elementary education, nursing and social work. In fall 2020, the College will be enrolling students in both a bachelor\u2019s and master\u2019s degree in data science, only one of two higher education institutions in New Jersey to offer both programs.", + "rorId": "https://ror.org/03s2x9d90", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "10142", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1447, + "prefix": "px", + "mirId": "MIR:00000513", + "name": "ProteomeXchange", + "pattern": "^(R)?PXD\\d{6}$", + "description": "The ProteomeXchange provides a single point of submission of Mass Spectrometry (MS) proteomics data for the main existing proteomics repositories, and encourages the data exchange between them for optimal data dissemination.", + "created": "2019-06-11T14:17:37.549+00:00", + "modified": "2019-06-11T14:17:37.549+00:00", + "resources": [ + { + "id": 1449, + "mirId": "MIR:00100660", + "urlPattern": "http://proteomecentral.proteomexchange.org/cgi/GetDataset?ID={$id}", + "name": "ProteomeXchange at Seattle", + "description": "ProteomeXchange at Seattle", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "PXD000500", + "resourceHomeUrl": "http://www.proteomexchange.org/", + "institution": { + "id": 193, + "name": "Institute for Systems Biology", + "homeUrl": "https://isbscience.org/", + "description": "ISB was created in 2000 as the first-ever institute dedicated to systems biology.", + "rorId": "https://ror.org/02tpgw303", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PXD000500", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1450, + "prefix": "biomodels.vocabulary", + "mirId": "MIR:00000514", + "name": "SBML RDF Vocabulary", + "pattern": "^[A-Za-z]+$", + "description": "Vocabulary used in the RDF representation of SBML models.", + "created": "2019-06-11T14:17:37.784+00:00", + "modified": "2019-06-11T14:17:37.784+00:00", + "resources": [ + { + "id": 1452, + "mirId": "MIR:00100661", + "urlPattern": "http://biomodels.net/rdf/vocabulary.rdf#{$id}", + "name": "Vocabulary via BioModels.net", + "description": "Vocabulary via BioModels.net", + "official": false, + "providerCode": "ebi", + "sampleId": "rateRule", + "resourceHomeUrl": "http://biomodels.net/rdf/vocabulary.rdf", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "rateRule", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1406, + "prefix": "fsnp", + "mirId": "MIR:00000496", + "name": "F-SNP", + "pattern": "^rs\\d+$", + "description": "The Functional Single Nucleotide Polymorphism (F-SNP) database integrates information obtained from databases about the functional effects of SNPs. These effects are predicted and indicated at the splicing, transcriptional, translational and post-translational level. In particular, users can retrieve SNPs that disrupt genomic regions known to be functional, including splice sites and transcriptional regulatory regions. Users can also identify non-synonymous SNPs that may have deleterious effects on protein structure or function, interfere with protein translation or impede post-translational modification.", + "created": "2019-06-11T14:17:33.340+00:00", + "modified": "2019-06-11T14:17:33.340+00:00", + "resources": [ + { + "id": 1408, + "mirId": "MIR:00100637", + "urlPattern": "http://compbio.cs.queensu.ca/cgi-bin/compbio/search/main.cgi?search_mode=id&id_type=snp_id&id_val={$id}", + "name": "F-SNP at Queen's University (Canada)", + "description": "F-SNP at Queen's University (Canada)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "rs17852708", + "resourceHomeUrl": "http://compbio.cs.queensu.ca/F-SNP/", + "institution": { + "id": 1407, + "name": "Computational Biology and Machine Learning Lab, School of Computing, Queen's University, Kingston, Ontario", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "rs17852708", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1409, + "prefix": "hdr", + "mirId": "MIR:00000497", + "name": "Homeodomain Research", + "pattern": "^\\d+$", + "description": "The Homeodomain Resource is a curated collection of sequence, structure, interaction, genomic and functional information on the homeodomain family. It contains sets of curated homeodomain sequences from fully sequenced genomes, including experimentally derived homeodomain structures, homeodomain protein-protein interactions, homeodomain DNA-binding sites and homeodomain proteins implicated in human genetic disorders.", + "created": "2019-06-11T14:17:33.593+00:00", + "modified": "2019-06-11T14:17:33.593+00:00", + "resources": [ + { + "id": 1411, + "mirId": "MIR:00100638", + "urlPattern": "http://research.nhgri.nih.gov/apps/homeodomain/web/index.cgi?mode=view&view=proteins&id={$id}", + "name": "Homeodomain Research at National Human Genome Research Institute (NIH)", + "description": "Homeodomain Research at National Human Genome Research Institute (NIH)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "63", + "resourceHomeUrl": "http://research.nhgri.nih.gov/apps/homeodomain/web/", + "institution": { + "id": 1410, + "name": "Genome Technology Branch, National Human Genome Research Institute, National Institutes of Health, Bethesda, Maryland", + "homeUrl": "https://www.genome.gov/", + "description": "Led by Director Eric Green, M.D., Ph.D., the National Human Genome Research Institute (NHGRI) is the driving force for advancing genomics research at the National Institutes of Health (NIH), the largest biomedical research agency in the world. ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "63", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1412, + "prefix": "norine", + "mirId": "MIR:00000498", + "name": "NORINE", + "pattern": "^NOR\\d+$", + "description": "Norine is a database dedicated to nonribosomal peptides (NRPs). In bacteria and fungi, in addition to the traditional ribosomal proteic biosynthesis, an alternative ribosome-independent pathway called NRP synthesis allows peptide production. The molecules synthesized by NRPS contain a high proportion of nonproteogenic amino acids whose primary structure is not always linear, often being more complex and containing cycles and branchings.", + "created": "2019-06-11T14:17:33.862+00:00", + "modified": "2019-06-11T14:17:33.862+00:00", + "resources": [ + { + "id": 1414, + "mirId": "MIR:00100639", + "urlPattern": "http://bioinfo.lifl.fr/norine/result.jsp?ID={$id}", + "name": "NORINE at Computer Science Laboratory of Lille", + "description": "NORINE at Computer Science Laboratory of Lille", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "NOR00681", + "resourceHomeUrl": "http://bioinfo.lifl.fr/norine/", + "institution": { + "id": 1413, + "name": "Computer Science Laboratory of Lille, INRIA and ProBioGEM, University of Sciences and Technologies of Lille, Lille", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "NOR00681", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1415, + "prefix": "ordb", + "mirId": "MIR:00000499", + "name": "Olfactory Receptor Database", + "pattern": "^\\d+$", + "description": "The Olfactory Receptor Database (ORDB) is a repository of genomics and proteomics information of olfactory receptors (ORs). It includes a broad range of chemosensory genes and proteins, that includes in addition to ORs the taste papilla receptors (TPRs), vomeronasal organ receptors (VNRs), insect olfactory receptors (IORs), Caenorhabditis elegans chemosensory receptors (CeCRs), fungal pheromone receptors (FPRs).", + "created": "2019-06-11T14:17:34.104+00:00", + "modified": "2019-06-11T14:17:34.104+00:00", + "resources": [ + { + "id": 1417, + "mirId": "MIR:00100640", + "urlPattern": "http://senselab.med.yale.edu/ORDB/Data/{$id}", + "name": "Olfactory Receptor Database at Yale University School of Medicine", + "description": "Olfactory Receptor Database at Yale University School of Medicine", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "8497", + "resourceHomeUrl": "http://senselab.med.yale.edu/OrDB/", + "institution": { + "id": 1416, + "name": "Center for Medical Informatics, Yale University School of Medicine, New Haven, Connecticut", + "homeUrl": "https://medicine.yale.edu/intmed/drc/research/institutional/ycmi/", + "description": "The YCMI serves as a focus for training and systems development for a range of research projects. YCMI occupies 8,000 sq ft in the same building as the Keck Lab. It is headed by Perry Miller, M.D.,Ph.D., and has 15 core faculty members. It offers DERC investigators access to a novel data base management system, Trial/DB, a powerful, flexible, web-accessible database designed to support clinical trials and clinical research in a variety of areas, including diabetes.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "8497", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1418, + "prefix": "odor", + "mirId": "MIR:00000500", + "name": "Odor Molecules DataBase", + "pattern": "^\\d+$", + "description": "OdorDB stores information related to odorous compounds, specifically identifying those that have been shown to interact with olfactory receptors", + "created": "2019-06-11T14:17:34.340+00:00", + "modified": "2019-06-11T14:17:34.340+00:00", + "resources": [ + { + "id": 1419, + "mirId": "MIR:00100641", + "urlPattern": "http://senselab.med.yale.edu/OdorDB/Data/{$id}/?db=5", + "name": "Odor Molecules DataBase at Yale University School of Medicine", + "description": "Odor Molecules DataBase at Yale University School of Medicine", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "74", + "resourceHomeUrl": "http://senselab.med.yale.edu/OdorDB", + "institution": { + "id": 1416, + "name": "Center for Medical Informatics, Yale University School of Medicine, New Haven, Connecticut", + "homeUrl": "https://medicine.yale.edu/intmed/drc/research/institutional/ycmi/", + "description": "The YCMI serves as a focus for training and systems development for a range of research projects. YCMI occupies 8,000 sq ft in the same building as the Keck Lab. It is headed by Perry Miller, M.D.,Ph.D., and has 15 core faculty members. It offers DERC investigators access to a novel data base management system, Trial/DB, a powerful, flexible, web-accessible database designed to support clinical trials and clinical research in a variety of areas, including diabetes.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "74", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1420, + "prefix": "p3db.protein", + "mirId": "MIR:00000501", + "name": "P3DB Protein", + "pattern": "^\\d+$", + "description": "Plant Protein Phosphorylation DataBase (P3DB) is a database that provides information on experimentally determined phosphorylation sites in the proteins of various plant species. This collection references plant proteins that contain phosphorylation sites.", + "created": "2019-06-11T14:17:34.528+00:00", + "modified": "2019-06-11T14:17:34.528+00:00", + "resources": [ + { + "id": 1422, + "mirId": "MIR:00100642", + "urlPattern": "http://www.p3db.org/protein.php?id={$id}&ref=0", + "name": "P3DB Protein at University of Missouri", + "description": "P3DB Protein at University of Missouri", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "70", + "resourceHomeUrl": "http://www.p3db.org/", + "institution": { + "id": 1421, + "name": "Department of Computer Science, University of Missouri, Columbia, Missouri", + "homeUrl": "https://engineering.missouri.edu/departments/eecs/", + "description": "Mizzou Engineering educates engineering leaders who are driven by curiosity, wonder and a desire to make the world a better place. Here, you will have opportunities to collaborate with peers and faculty across campus to gain hands-on experience that complements your in-class coursework. And with 50+ engineering organizations and more than 600 student clubs at Mizzou, you will be able to connect with fellow Tigers who share your interests and passions.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "70", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1423, + "prefix": "p3db.site", + "mirId": "MIR:00000502", + "name": "P3DB Site", + "pattern": "^\\d+$", + "description": "Plant Protein Phosphorylation DataBase (P3DB) is a database that provides information on experimentally determined phosphorylation sites in the proteins of various plant species. This collection references phosphorylation sites in proteins.", + "created": "2019-06-11T14:17:34.763+00:00", + "modified": "2019-06-11T14:17:34.763+00:00", + "resources": [ + { + "id": 1424, + "mirId": "MIR:00100643", + "urlPattern": "http://www.p3db.org/phosphosite.php?id={$id}&ref=0", + "name": "P3DB Site at University of Missouri", + "description": "P3DB Site at University of Missouri", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "65", + "resourceHomeUrl": "http://www.p3db.org/", + "institution": { + "id": 1421, + "name": "Department of Computer Science, University of Missouri, Columbia, Missouri", + "homeUrl": "https://engineering.missouri.edu/departments/eecs/", + "description": "Mizzou Engineering educates engineering leaders who are driven by curiosity, wonder and a desire to make the world a better place. Here, you will have opportunities to collaborate with peers and faculty across campus to gain hands-on experience that complements your in-class coursework. And with 50+ engineering organizations and more than 600 student clubs at Mizzou, you will be able to connect with fellow Tigers who share your interests and passions.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "65", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1425, + "prefix": "topdb", + "mirId": "MIR:00000503", + "name": "TOPDB", + "pattern": "^[A-Z0-9]+$", + "description": "The Topology Data Bank of Transmembrane Proteins (TOPDB) is a collection of transmembrane protein datasets containing experimentally derived topology information. It contains information gathered from the literature and from public databases availableon transmembrane proteins. Each record in TOPDB also contains information on the given protein sequence, name, organism and cross references to various other databases.", + "created": "2019-06-11T14:17:35.217+00:00", + "modified": "2019-06-11T14:17:35.217+00:00", + "resources": [ + { + "id": 1427, + "mirId": "MIR:00100644", + "urlPattern": "http://topdb.enzim.hu/?m=show&id={$id}", + "name": "TOPDB at Hungarian Academy of Sciences", + "description": "TOPDB at Hungarian Academy of Sciences", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "AP00378", + "resourceHomeUrl": "http://topdb.enzim.hu/", + "institution": { + "id": 1426, + "name": "Institute of Enzymology, Hungarian Academy of Sciences, Budapest", + "homeUrl": "http://www.ttk.hu/ei/en/", + "description": "The Institute of Enzymology pursues research goals stretching across multiple fields of science, resulting in interdisciplinary research using the methods of biology, chemistry physics and informatics at the same time. Structural biological basic research of the institute is directed towards understanding physiological and pathophysiological processes on the scale of molecules and cells. Research topics are continuously extended from structural biology towards system biology to reveal complex biological processes by the utilization of advances in proteomics and bioinformatics.\n", + "rorId": "https://ror.org/04t4pws42", + "location": { + "countryCode": "HU", + "countryName": "Hungary" + } + }, + "location": { + "countryCode": "HU", + "countryName": "Hungary" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AP00378", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1428, + "prefix": "cattleqtldb", + "mirId": "MIR:00000504", + "name": "Animal Genome Cattle QTL", + "pattern": "^\\d+$", + "description": "The Animal Quantitative Trait Loci (QTL) database (Animal QTLdb) is designed to house publicly all available QTL and single-nucleotide polymorphism/gene association data on livestock animal species. This collection references cattle QTLs.", + "created": "2019-06-11T14:17:35.485+00:00", + "modified": "2019-06-11T14:17:35.485+00:00", + "resources": [ + { + "id": 1430, + "mirId": "MIR:00100645", + "urlPattern": "https://www.animalgenome.org/QTLdb/q?id=QTL_ID:{$id}", + "name": "Animal QTL Cattle at Iowa State University", + "description": "Animal QTL Cattle at Iowa State University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "4685", + "resourceHomeUrl": "https://www.animalgenome.org/QTLdb", + "institution": { + "id": 1429, + "name": "Department of Animal Science and Center for Integrated Animal Genomics, Iowa State University, Iowa", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "4685", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1431, + "prefix": "chickenqtldb", + "mirId": "MIR:00000505", + "name": "Animal Genome Chicken QTL", + "pattern": "^\\d+$", + "description": "The Animal Quantitative Trait Loci (QTL) database (Animal QTLdb) is designed to house publicly all available QTL and single-nucleotide polymorphism/gene association data on livestock animal species. This collection references chicken QTLs.", + "created": "2019-06-11T14:17:35.752+00:00", + "modified": "2019-06-11T14:17:35.752+00:00", + "resources": [ + { + "id": 1432, + "mirId": "MIR:00100646", + "urlPattern": "https://www.animalgenome.org/QTLdb/q?id=QTL_ID:{$id}", + "name": "Animal QTL Chicken at Iowa State University", + "description": "Animal QTL Chicken at Iowa State University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "14362", + "resourceHomeUrl": "https://www.animalgenome.org/QTLdb", + "institution": { + "id": 1429, + "name": "Department of Animal Science and Center for Integrated Animal Genomics, Iowa State University, Iowa", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "14362", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1435, + "prefix": "sheepqtldb", + "mirId": "MIR:00000507", + "name": "Animal Genome Sheep QTL", + "pattern": "^\\d+$", + "description": "The Animal Quantitative Trait Loci (QTL) database (Animal QTLdb) is designed to house publicly all available QTL and single-nucleotide polymorphism/gene association data on livestock animal species. This collection references sheep QTLs.", + "created": "2019-06-11T14:17:36.183+00:00", + "modified": "2019-06-11T14:17:36.183+00:00", + "resources": [ + { + "id": 1436, + "mirId": "MIR:00100648", + "urlPattern": "https://www.animalgenome.org/QTLdb/q?id=QTL_ID:{$id}", + "name": "Animal QTL Sheep at Iowa State University", + "description": "Animal QTL Sheep at Iowa State University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "19803", + "resourceHomeUrl": "https://www.animalgenome.org/QTLdb", + "institution": { + "id": 1429, + "name": "Department of Animal Science and Center for Integrated Animal Genomics, Iowa State University, Iowa", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "19803", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1439, + "prefix": "mgnify.samp", + "mirId": "MIR:00000510", + "name": "MGnify Sample", + "pattern": "^[A-Z]+[0-9]+$", + "description": "The EBI Metagenomics service is an automated pipeline for the analysis and archiving of metagenomic data that aims to provide insights into the phylogenetic diversity as well as the functional and metabolic potential of a sample. Metagenomics is the study of all genomes present in any given environment without the need for prior individual identification or amplification. This collection references samples.", + "created": "2019-06-11T14:17:36.594+00:00", + "modified": "2019-06-11T14:17:36.594+00:00", + "resources": [ + { + "id": 1440, + "mirId": "MIR:00100656", + "urlPattern": "https://www.ebi.ac.uk/metagenomics/samples/{$id}", + "name": "MGnify Sample", + "description": "MGnify Sample", + "official": false, + "providerCode": "ebi", + "sampleId": "SRS086444", + "resourceHomeUrl": "https://www.ebi.ac.uk/metagenomics", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "SRS086444", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1441, + "prefix": "ega.study", + "mirId": "MIR:00000511", + "name": "European Genome-phenome Archive Study", + "pattern": "^EGAS\\d{11}$", + "description": "The EGA is a service for permanent archiving and sharing of all types of personally identifiable genetic and phenotypic data resulting from biomedical research projects. The EGA contains exclusive data collected from individuals whose consent agreements authorize data release only for specific research use or to bona fide researchers. Strict protocols govern how information is managed, stored and distributed by the EGA project. This collection references 'Studies' which are experimental investigations of a particular phenomenon, often drawn from different datasets.", + "created": "2019-06-11T14:17:36.823+00:00", + "modified": "2019-06-11T14:17:36.823+00:00", + "resources": [ + { + "id": 1442, + "mirId": "MIR:00100657", + "urlPattern": "https://www.ebi.ac.uk/ega/studies/{$id}", + "name": "EGA Study at European Bioinformatics Institute", + "description": "EGA Study at European Bioinformatics Institute", + "official": true, + "providerCode": "ebi", + "sampleId": "EGAS00000000001", + "resourceHomeUrl": "https://www.ebi.ac.uk/ega/studies", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1443, + "mirId": "MIR:00100851", + "urlPattern": "https://www.omicsdi.org/dataset/ega/{$id}", + "name": "EGA Study through OmicsDI", + "description": "EGA Study through OmicsDI", + "official": false, + "providerCode": "omicsdi", + "sampleId": "EGAS00000000001", + "resourceHomeUrl": "https://www.omicsdi.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "EGAS00000000001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1444, + "prefix": "ega.dataset", + "mirId": "MIR:00000512", + "name": "European Genome-phenome Archive Dataset", + "pattern": "^EGAD\\d{11}$", + "description": "The EGA is a service for permanent archiving and sharing of all types of personally identifiable genetic and phenotypic data resulting from biomedical research projects. The EGA contains exclusive data collected from individuals whose consent agreements authorize data release only for specific research use or to bona fide researchers. Strict protocols govern how information is managed, stored and distributed by the EGA project. This collection references 'Datasets'.", + "created": "2019-06-11T14:17:37.233+00:00", + "modified": "2019-06-11T14:17:37.233+00:00", + "resources": [ + { + "id": 1445, + "mirId": "MIR:00100658", + "urlPattern": "https://www.ebi.ac.uk/ega/datasets/{$id}", + "name": "EGA Dataset at European Bioinformatics Institute", + "description": "EGA Dataset at European Bioinformatics Institute", + "official": true, + "providerCode": "ebi", + "sampleId": "EGAD00000000001", + "resourceHomeUrl": "https://www.ebi.ac.uk/ega/dataset", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1446, + "mirId": "MIR:00100852", + "urlPattern": "https://www.omicsdi.org/dataset/ega/{$id}", + "name": "EGA Dataset through OmicsDI", + "description": "EGA Dataset through OmicsDI", + "official": false, + "providerCode": "omicsdi", + "sampleId": "EGAD00000000001", + "resourceHomeUrl": "https://www.omicsdi.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "EGAD00000000001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1453, + "prefix": "pride.project", + "mirId": "MIR:00000515", + "name": "PRIDE Project", + "pattern": "^P(X|R)D\\d{6}$", + "description": "The PRIDE PRoteomics IDEntifications database is a centralized, standards compliant, public data repository that provides protein and peptide identifications together with supporting evidence. This collection references projects.", + "created": "2019-06-11T14:17:38.030+00:00", + "modified": "2019-06-11T14:17:38.030+00:00", + "resources": [ + { + "id": 1454, + "mirId": "MIR:00100662", + "urlPattern": "https://www.ebi.ac.uk/pride/archive/projects/{$id}", + "name": "PRIDE Project at EBI", + "description": "PRIDE Project at EBI", + "official": true, + "providerCode": "ebi", + "sampleId": "PXD000440", + "resourceHomeUrl": "https://www.ebi.ac.uk/pride/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1455, + "mirId": "MIR:00100858", + "urlPattern": "https://www.omicsdi.org/dataset/pride/{$id}", + "name": "PRIDE Project through OmicsDI", + "description": "PRIDE Project through OmicsDI", + "official": false, + "providerCode": "omicsdi", + "sampleId": "PXD000440", + "resourceHomeUrl": "https://www.omicsdi.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PXD000440", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1456, + "prefix": "antibodyregistry", + "mirId": "MIR:00000516", + "name": "Antibody Registry", + "pattern": "^\\d{6}$", + "description": "The Antibody Registry provides identifiers for antibodies used in publications. It lists commercial antibodies from numerous vendors, each assigned with a unique identifier. Unlisted antibodies can be submitted by providing the catalog number and vendor information.", + "created": "2019-06-11T14:17:38.379+00:00", + "modified": "2019-06-11T14:17:38.379+00:00", + "resources": [ + { + "id": 1458, + "mirId": "MIR:00100664", + "urlPattern": "http://antibodyregistry.org/AB_{$id}", + "name": "Antibody Registry at University of California", + "description": "Antibody Registry at University of California", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "493771", + "resourceHomeUrl": "http://antibodyregistry.org/", + "institution": { + "id": 1457, + "name": "Neuroscience Information Framework, University of California, San Diego, California", + "homeUrl": "https://neuinfo.org/", + "description": "The Neuroscience Information Framework is a dynamic inventory of Web-based neuroscience resources: data, materials, and tools accessible via any computer connected.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "493771", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1459, + "prefix": "mamo", + "mirId": "MIR:00000517", + "name": "Mathematical Modelling Ontology", + "pattern": "^MAMO_\\d{7}$", + "description": "The Mathematical Modelling Ontology (MAMO) is a classification of the types of mathematical models used mostly in the life sciences, their variables, relationships and other relevant features.", + "created": "2019-06-11T14:17:38.625+00:00", + "modified": "2019-06-11T14:17:38.625+00:00", + "resources": [ + { + "id": 1460, + "mirId": "MIR:00100665", + "urlPattern": "http://bioportal.bioontology.org/ontologies/MAMO/?p=classes&conceptid=http://identifiers.org/mamo/{$id}", + "name": "MAMO through BioPortal", + "description": "MAMO through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "MAMO_0000026", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/MAMO", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1461, + "mirId": "MIR:00100758", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/mamo/terms?short_form={$id}", + "name": "MaMO through OLS", + "description": "MaMO through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "MAMO_0000026", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/mamo", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MAMO_0000026", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1462, + "prefix": "eo", + "mirId": "MIR:00000518", + "name": "Plant Environment Ontology", + "pattern": "^(P)?EO\\:\\d{7}$", + "description": "The Plant Environment Ontology is a set of standardized controlled vocabularies to describe various types of treatments given to an individual plant / a population or a cultured tissue and/or cell type sample to evaluate the response on its exposure. It also includes the study types, where the terms can be used to identify the growth study facility. Each growth facility such as field study, growth chamber, green house etc is a environment on its own it may also involve instances of biotic and abiotic environments as supplemental treatments used in these studies.", + "created": "2019-06-11T14:17:38.985+00:00", + "modified": "2019-06-11T14:17:38.985+00:00", + "resources": [ + { + "id": 1464, + "mirId": "MIR:00100668", + "urlPattern": "http://purl.bioontology.org/ontology/PECO/EO:{$id}", + "name": "Plant Environment Ontology through BioPortal", + "description": "Plant Environment Ontology through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "0007404", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/PECO", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1465, + "mirId": "MIR:00100669", + "urlPattern": "https://www.ebi.ac.uk/ols/ontologies/eo/terms?obo_id=EO:{$id}", + "name": "Plant Environment Ontology through OLS", + "description": "Plant Environment Ontology through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "0007404", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols/ontologies/eo", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1463, + "mirId": "MIR:00100667", + "urlPattern": "http://archive.gramene.org/db/ontology/search?query=EO:{$id}", + "name": "Plant Environment Ontology through Gramene", + "description": "Plant Environment Ontology through Gramene", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "0007404", + "resourceHomeUrl": "http://archive.gramene.org/db/ontology/search_term?id=EO:0007359", + "institution": { + "id": 131, + "name": "Cold Spring Harbor Laboratory", + "homeUrl": "https://www.cshl.edu/", + "description": "Founded in 1890, Cold Spring Harbor Laboratory has shaped contemporary biomedical research and education with programs in cancer, neuroscience, plant biology and quantitative biology. Home to eight Nobel Prize winners, the private, not-for-profit Laboratory employs 1,000 people including 600 scientists, students and technicians. The Meetings & Courses Program hosts more than 12,000 scientists from around the world each year on its campuses in Long Island and in Suzhou, China. The Laboratory\u2019s education arm also includes an academic publishing house, a graduate school and programs for middle, high school, and undergraduate students and teachers.", + "rorId": "https://ror.org/02qz8b764", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0007404", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1466, + "prefix": "idot", + "mirId": "MIR:00000519", + "name": "Identifiers.org Terms", + "pattern": "^[A-Za-z]+$", + "description": "Identifiers.org Terms (idot) is an RDF vocabulary providing useful terms for describing datasets.", + "created": "2019-06-11T14:17:39.487+00:00", + "modified": "2019-06-11T14:17:39.487+00:00", + "resources": [ + { + "id": 1467, + "mirId": "MIR:00100670", + "urlPattern": "https://biomodels.net/vocab/idot.rdf#{$id}", + "name": "IdoT via biomodels.net", + "description": "IdoT via biomodels.net", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "identifierPattern", + "resourceHomeUrl": "https://identifiers.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "identifierPattern", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1470, + "prefix": "yeastintron", + "mirId": "MIR:00000521", + "name": "Yeast Intron Database v4.3", + "pattern": "^[A-Z0-9]+$", + "description": "The YEast Intron Database (version 4.3) contains information on the spliceosomal introns of the yeast Saccharomyces cerevisiae. It includes expression data that relates to the efficiency of splicing relative to other processes in strains of yeast lacking nonessential splicing factors. The data are displayed on each intron page. This is an updated version of the previous dataset, which can be accessed through [MIR:00000460].", + "created": "2019-06-11T14:17:39.906+00:00", + "modified": "2019-06-11T14:17:39.906+00:00", + "resources": [ + { + "id": 1471, + "mirId": "MIR:00100673", + "urlPattern": "http://intron.ucsc.edu/cgi-bin/yeast4.3/intronreports.pl?outputformat=full&orfName={$id}", + "name": "Yeast Intron Database version 4.3 at Baskin School of Engineering", + "description": "Yeast Intron Database version 4.3 at Baskin School of Engineering", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "SNR17A", + "resourceHomeUrl": "http://intron.ucsc.edu/yeast4.3/", + "institution": { + "id": 1319, + "name": "University of California, Santa Cruz", + "homeUrl": "https://www.ucsc.edu", + "description": "UC Santa Cruz opened in 1965 with 650 students. During the 2018-2019 academic year, 16,983 undergraduate and 1,822 graduate students were enrolled.\n", + "rorId": "https://ror.org/03s65by71", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "SNR17A", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1472, + "prefix": "ardb", + "mirId": "MIR:00000522", + "name": "Antibiotic Resistance Genes Database", + "pattern": "^[A-Z_]{3}[0-9]{4,}$", + "description": "The Antibiotic Resistance Genes Database (ARDB) is a manually curated database which characterises genes involved in antibiotic resistance. Each gene and resistance type is annotated with information, including resistance profile, mechanism of action, ontology, COG and CDD annotations, as well as external links to sequence and protein databases. This collection references resistance genes.", + "created": "2019-06-11T14:17:40.104+00:00", + "modified": "2019-06-11T14:17:40.104+00:00", + "resources": [ + { + "id": 1474, + "mirId": "MIR:00100678", + "urlPattern": "http://ardb.cbcb.umd.edu/cgi/search.cgi?db=L&field=ni&term={$id}", + "name": "ARDB at University of Maryland", + "description": "ARDB at University of Maryland", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "CAE46076", + "resourceHomeUrl": "http://ardb.cbcb.umd.edu/", + "institution": { + "id": 1473, + "name": "Center for Bioinformatics and Computational Biology, University of Maryland, Maryland", + "homeUrl": "https://www.cbcb.umd.edu/", + "description": "The University of Maryland Center for Bioinformatics and Computational Biology is a multidisciplinary center dedicated to research on questions arising from the genome revolution. CBCB brings together scientists and engineers from many fields, including computer science, molecular biology, genomics, genetics, mathematics, statistics, and physics, all of whom share a common interest in gaining a better understanding of how life works. The Center for Bioinformatics and Computational Biology is organized as a center within the University of Maryland Institute for Advanced Computer Studies (UMIACS), an interdisciplinary research institute supporting high-impact computing research across the College Park campus. ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CAE46076", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1475, + "prefix": "proteomicsdb.protein", + "mirId": "MIR:00000524", + "name": "ProteomicsDB Protein", + "pattern": "^\\d+$", + "description": "ProteomicsDB is an effort dedicated to expedite the identification of the human proteome and its use across the scientific community. This human proteome data is assembled primarily using information from liquid chromatography tandem-mass-spectrometry (LC-MS/MS) experiments involving human tissues, cell lines and body fluids. Information is accessible for individual proteins, or on the basis of protein coverage on the encoding chromosome, and for peptide components of a protein. This collection provides access to individual proteins.", + "created": "2019-06-11T14:17:40.344+00:00", + "modified": "2019-06-11T14:17:40.344+00:00", + "resources": [ + { + "id": 1477, + "mirId": "MIR:00100680", + "urlPattern": "https://www.proteomicsdb.org/#human/proteinDetails/{$id}/summary", + "name": "Proteomics DB Protein at Center for Integrated Protein Science", + "description": "Proteomics DB Protein at Center for Integrated Protein Science", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "53504", + "resourceHomeUrl": "https://www.proteomicsdb.org/#human", + "institution": { + "id": 1476, + "name": "Center for Integrated Protein Science, Munich,", + "homeUrl": "https://www.cipsm.de/", + "description": "CIPSM brings together internationally recognized scientists in the Munich area from the two leading Universities in Germany, LMU, and TUM, as well as from the neighboring Max Planck Institutes and the Helmholtz society. CISPM forms an umbrella under which the individual research facilities can develop their expertise jointly to form a center of scientific gravity in southern Germany. The Center will strengthen existing expertise by hiring new research groups to work on complementary aspects. These measures will catalyze the transition from classical protein science scattered over the Munich region to a new systemic protein science that is expected to dominate research in the molecular life sciences beyond the funding period.", + "rorId": null, + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "53504", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1478, + "prefix": "proteomicsdb.peptide", + "mirId": "MIR:00000525", + "name": "ProteomicsDB Peptide", + "pattern": "^\\d+$", + "description": "ProteomicsDB is an effort dedicated to expedite the identification of the human proteome and its use across the scientific community. This human proteome data is assembled primarily using information from liquid chromatography tandem-mass-spectrometry (LC-MS/MS) experiments involving human tissues, cell lines and body fluids. Information is accessible for individual proteins, or on the basis of protein coverage on the encoding chromosome, and for peptide components of a protein. This collection provides access to the peptides identified for a given protein.", + "created": "2019-06-11T14:17:40.583+00:00", + "modified": "2019-06-11T14:17:40.583+00:00", + "resources": [ + { + "id": 1480, + "mirId": "MIR:00100681", + "urlPattern": "https://www.proteomicsdb.org/#human/proteinDetails/{$id}/peptides/", + "name": "Proteomics DB Peptide at Center for Integrated Protein Science", + "description": "Proteomics DB Peptide at Center for Integrated Protein Science", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "53504", + "resourceHomeUrl": "https://www.proteomicsdb.org/#peptideSearch", + "institution": { + "id": 1479, + "name": "Center for Integrated Protein Science, Munich", + "homeUrl": "https://www.cipsm.de/", + "description": "CIPSM brings together internationally recognized scientists in the Munich area from the two leading Universities in Germany, LMU, and TUM, as well as from the neighboring Max Planck Institutes and the Helmholtz society. CISPM forms an umbrella under which the individual research facilities can develop their expertise jointly to form a center of scientific gravity in southern Germany. The Center will strengthen existing expertise by hiring new research groups to work on complementary aspects. These measures will catalyze the transition from classical protein science scattered over the Munich region to a new systemic protein science that is expected to dominate research in the molecular life sciences beyond the funding period.", + "rorId": "https://ror.org/032hzb643", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "53504", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1481, + "prefix": "hpm.protein", + "mirId": "MIR:00000526", + "name": "Human Proteome Map Protein", + "pattern": "^\\d+$", + "description": "The Human Proteome Map (HPM) portal integrates the peptide sequencing result from the draft map of the human proteome project. The project was based on LC-MS/MS by utilizing of high resolution and high accuracy Fourier transform mass spectrometry. The HPM contains direct evidence of translation of a number of protein products derived from human genes, based on peptide identifications of multiple organs/tissues and cell types from individuals with clinically defined healthy tissues. The HPM portal provides data on individual proteins, as well as on individual peptide spectra. This collection references proteins.", + "created": "2019-06-11T14:17:40.825+00:00", + "modified": "2019-06-11T14:17:40.825+00:00", + "resources": [ + { + "id": 1482, + "mirId": "MIR:00100682", + "urlPattern": "http://www.humanproteomemap.org/protein.php?hpm_id={$id}", + "name": "Human Proteome Map Protein at Institute of Bioinformatics (Bangalore)", + "description": "Human Proteome Map Protein at Institute of Bioinformatics (Bangalore)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1968", + "resourceHomeUrl": "http://www.humanproteomemap.org/index.php", + "institution": { + "id": 1087, + "name": "Institute of Bioinformatics, International Tech Park, Bangalore", + "homeUrl": "http://www.ibioinformatics.org/", + "description": "The Institute of Bioinformatics is a not-for-profit organization engaged in research in Bioinformatics. This institute is located in Bangalore, India and was established in May 2002. Bangalore is a prime center for research and development and is the hub of information technology in India. The Institute of Bioinformatics emphasizes cutting edge research in Databases, Computational Genomics, Proteomics Comparative Genomics, Metabolomics and Lipidomics. The initial goal of this Institute was to create a freely available Human Protein Reference Database using open source technologies and to experimentally verify predicted human genes using molecular biology and proteomics-based methods.", + "rorId": "https://ror.org/04hqfvm50", + "location": { + "countryCode": "IN", + "countryName": "India" + } + }, + "location": { + "countryCode": "IN", + "countryName": "India" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1968", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1596, + "prefix": "hgnc.genefamily", + "mirId": "MIR:00000573", + "name": "HGNC gene family", + "pattern": "^\\d+$", + "description": "The HGNC (HUGO Gene Nomenclature Committee) provides an approved gene name and symbol (short-form abbreviation) for each known human gene. All approved symbols are stored in the HGNC database, and each symbol is unique. In addition, HGNC also provides a unique numerical ID to identify gene families, providing a display of curated hierarchical relationships between families.", + "created": "2019-06-11T14:17:51.916+00:00", + "modified": "2019-06-11T14:17:51.916+00:00", + "resources": [ + { + "id": 1597, + "mirId": "MIR:00100765", + "urlPattern": "https://www.genenames.org/cgi-bin/genefamilies/set/{$id}", + "name": "HGNC gene family at HUGO Genome Nomenclature Committee", + "description": "HGNC gene family at HUGO Genome Nomenclature Committee", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "141", + "resourceHomeUrl": "https://www.genenames.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "141", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1483, + "prefix": "hpm.peptide", + "mirId": "MIR:00000527", + "name": "Human Proteome Map Peptide", + "pattern": "^\\d+$", + "description": "The Human Proteome Map (HPM) portal integrates the peptide sequencing result from the draft map of the human proteome project. The project was based on LC-MS/MS by utilizing of high resolution and high accuracy Fourier transform mass spectrometry. The HPM contains direct evidence of translation of a number of protein products derived from human genes, based on peptide identifications of multiple organs/tissues and cell types from individuals with clinically defined healthy tissues. The HPM portal provides data on individual proteins, as well as on individual peptide spectra. This collection references individual peptides through spectra.", + "created": "2019-06-11T14:17:41.032+00:00", + "modified": "2019-06-11T14:17:41.032+00:00", + "resources": [ + { + "id": 1484, + "mirId": "MIR:00100683", + "urlPattern": "http://www.humanproteomemap.org/spectrum.php?pep_id={$id}", + "name": "Human Proteome Map Peptide at Institute of Bioinformatics (Bangalore)", + "description": "Human Proteome Map Peptide at Institute of Bioinformatics (Bangalore)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "9606117", + "resourceHomeUrl": "http://www.humanproteomemap.org/index.php", + "institution": { + "id": 1087, + "name": "Institute of Bioinformatics, International Tech Park, Bangalore", + "homeUrl": "http://www.ibioinformatics.org/", + "description": "The Institute of Bioinformatics is a not-for-profit organization engaged in research in Bioinformatics. This institute is located in Bangalore, India and was established in May 2002. Bangalore is a prime center for research and development and is the hub of information technology in India. The Institute of Bioinformatics emphasizes cutting edge research in Databases, Computational Genomics, Proteomics Comparative Genomics, Metabolomics and Lipidomics. The initial goal of this Institute was to create a freely available Human Protein Reference Database using open source technologies and to experimentally verify predicted human genes using molecular biology and proteomics-based methods.", + "rorId": "https://ror.org/04hqfvm50", + "location": { + "countryCode": "IN", + "countryName": "India" + } + }, + "location": { + "countryCode": "IN", + "countryName": "India" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "9606117", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1485, + "prefix": "drugbankv4.target", + "mirId": "MIR:00000528", + "name": "DrugBank Target v4", + "pattern": "^BE\\d{7}$", + "description": "The DrugBank database is a bioinformatics and chemoinformatics resource that combines detailed drug (i.e. chemical, pharmacological and pharmaceutical) data with comprehensive drug target (i.e. sequence, structure, and pathway) information. This collection references target information from version 4 of the database.", + "created": "2019-06-11T14:17:41.273+00:00", + "modified": "2019-06-11T14:17:41.273+00:00", + "resources": [ + { + "id": 1487, + "mirId": "MIR:00100687", + "urlPattern": "http://www.drugbank.ca/biodb/bio_entities/{$id}", + "name": "DrugBank Target information version 4", + "description": "DrugBank Target information version 4", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "BE0000048", + "resourceHomeUrl": "http://www.drugbank.ca/targets", + "institution": { + "id": 331, + "name": "Departments of Computing Science & Biological Sciences, University of Alberta", + "homeUrl": "https://www.ualberta.ca/index.html", + "description": "We are a Top 5 Canadian university and one of the Top 150 in the world. Find out what makes our student experience so rich, meaningful and life-changing.", + "rorId": null, + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "BE0000048", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1488, + "prefix": "zinc", + "mirId": "MIR:00000529", + "name": "ZINC", + "pattern": "^(ZINC)?\\d+$", + "description": "ZINC is a free public resource for ligand discovery. The database contains over twenty million commercially available molecules in biologically relevant representations that may be downloaded in popular ready-to-dock formats and subsets. The Web site enables searches by structure, biological activity, physical property, vendor, catalog number, name, and CAS number.", + "created": "2019-06-11T14:17:41.559+00:00", + "modified": "2019-06-11T14:17:41.559+00:00", + "resources": [ + { + "id": 1490, + "mirId": "MIR:00100688", + "urlPattern": "http://zinc15.docking.org/substances/{$id}", + "name": "ZINC at University of California (San Francisco)", + "description": "ZINC at University of California (San Francisco)", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ZINC1084", + "resourceHomeUrl": "http://zinc15.docking.org/", + "institution": { + "id": 1489, + "name": "Shoichet Laboratory, Department of Pharmaceutical Chemistry, University of California, San Francisco", + "homeUrl": "https://bkslab.org/home", + "description": "The Shoichet lab seeks to bring chemical reagents to biology, combining computation and experiment. In a protein-centric approach, molecular docking, we discover new ligands that complement protein structures. Using a ligand-centric approach, we discover new targets for known drugs and reagents. A focus for both is the discovery of reagents to modulate G-Protein Coupled Receptors (GPCRs). ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ZINC1084", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1491, + "prefix": "foodb.compound", + "mirId": "MIR:00000530", + "name": "FooDB Compound", + "pattern": "^FDB\\d+$", + "description": "FooDB is resource on food and its constituent compounds. It includes data on the compound\u2019s nomenclature, its description, information on its structure, chemical class, its physico-chemical data, its food source(s), its color, its aroma, its taste, its physiological effect, presumptive health effects (from published studies), and concentrations in various foods. This collection references compounds.", + "created": "2019-06-11T14:17:41.796+00:00", + "modified": "2019-06-11T14:17:41.796+00:00", + "resources": [ + { + "id": 1492, + "mirId": "MIR:00100689", + "urlPattern": "http://foodb.ca/compounds/{$id}", + "name": "FooDB database of food additives at University of Alberta", + "description": "FooDB database of food additives at University of Alberta", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "FDB002100", + "resourceHomeUrl": "http://foodb.ca/foods", + "institution": { + "id": 334, + "name": "University of Alberta", + "homeUrl": "https://www.ualberta.ca", + "description": "The University of Alberta in Edmonton is one of Canada's top teaching and research universities, with an international reputation for excellence across the humanities, sciences, creative arts, business, engineering and health sciences.", + "rorId": "https://ror.org/0160cpw27", + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "FDB002100", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1493, + "prefix": "unii", + "mirId": "MIR:00000531", + "name": "UNII", + "pattern": "^[A-Z0-9]+$", + "description": "The purpose of the joint FDA/USP Substance Registration System (SRS) is to support health information technology initiatives by generating unique ingredient identifiers (UNIIs) for substances in drugs, biologics, foods, and devices. The UNII is a non- proprietary, free, unique, unambiguous, non semantic, alphanumeric identifier based on a substance\u2019s molecular structure and/or descriptive information.", + "created": "2019-06-11T14:17:41.988+00:00", + "modified": "2019-06-11T14:17:41.988+00:00", + "resources": [ + { + "id": 1494, + "mirId": "MIR:00100690", + "urlPattern": "http://fdasis.nlm.nih.gov/srs/srsdirect.jsp?regno={$id}", + "name": "UNII at U.S. Food and Drug Administration", + "description": "UNII at U.S. Food and Drug Administration", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "3G6A5W338E", + "resourceHomeUrl": "http://fdasis.nlm.nih.gov/srs/", + "institution": { + "id": 3440, + "name": "United States Food and Drug Administration", + "homeUrl": "https://www.fda.gov/", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/034xvzb47' with Wikidata IDs [Q204711], and ISNI IDs [0000 0001 2243 3366]", + "rorId": "https://ror.org/034xvzb47", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 3441, + "mirId": "MIR:00000990", + "urlPattern": "https://precision.fda.gov/uniisearch/srs/unii/{$id}", + "name": "United States Food and Drug Administration", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/034xvzb47' with Wikidata IDs [Q204711], and ISNI IDs [0000 0001 2243 3366]", + "official": true, + "providerCode": "fda", + "sampleId": "3G6A5W338E", + "resourceHomeUrl": "https://precision.fda.gov/uniisearch", + "institution": { + "id": 3440, + "name": "United States Food and Drug Administration", + "homeUrl": "https://www.fda.gov/", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/034xvzb47' with Wikidata IDs [Q204711], and ISNI IDs [0000 0001 2243 3366]", + "rorId": "https://ror.org/034xvzb47", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "3G6A5W338E", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1495, + "prefix": "orphanet.ordo", + "mirId": "MIR:00000532", + "name": "Orphanet Rare Disease Ontology", + "pattern": "^Orphanet(_|:)C?\\d+$", + "description": "The Orphanet Rare Disease ontology (ORDO) is a structured vocabulary for rare diseases, capturing relationships between diseases, genes and other relevant features which will form a useful resource for the computational analysis of rare diseases.\r\nIt integrates a nosology (classification of rare diseases), relationships (gene-disease relations, epiemological data) and connections with other terminologies (MeSH, UMLS, MedDRA), databases (OMIM, UniProtKB, HGNC, ensembl, Reactome, IUPHAR, Geantlas) and classifications (ICD10).", + "created": "2019-06-11T14:17:42.194+00:00", + "modified": "2019-06-11T14:17:42.194+00:00", + "resources": [ + { + "id": 1496, + "mirId": "MIR:00100705", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/ordo/terms?short_form={$id}", + "name": "ORDO via OLS", + "description": "ORDO via OLS", + "official": true, + "providerCode": "ols", + "sampleId": "Orphanet_C023", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/ordo", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Orphanet_C023", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1497, + "prefix": "psipar", + "mirId": "MIR:00000533", + "name": "Protein Affinity Reagents", + "pattern": "^PAR:\\d+$", + "description": "Protein Affinity Reagents (PSI-PAR) provides a structured controlled vocabulary for the annotation of experiments concerned with interactions, and interactor production methods. PAR is developed by the HUPO Proteomics Standards Initiative and contains the majority of the terms from the PSI-MI controlled vocabular, as well as additional terms.", + "created": "2019-06-11T14:17:42.461+00:00", + "modified": "2019-06-11T14:17:42.461+00:00", + "resources": [ + { + "id": 1498, + "mirId": "MIR:00100709", + "urlPattern": "https://www.ebi.ac.uk/ontology-lookup/?termId={$id}", + "name": "Protein Affinity Reagents through OLS", + "description": "Protein Affinity Reagents through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "PAR:0116", + "resourceHomeUrl": "https://www.ebi.ac.uk/ontology-lookup/browse.do?ontName=PAR", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PAR:0116", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1499, + "prefix": "clinvar.record", + "mirId": "MIR:00000534", + "name": "ClinVar Record", + "pattern": "^RCV\\d+(\\.\\d+)?$", + "description": "ClinVar archives reports of relationships among medically important variants and phenotypes. It records human variation, interpretations of the relationship specific variations to human health, and supporting evidence for each interpretation. Each ClinVar record (RCV identifier) represents an aggregated view of interpretations of the same variation and condition from one or more submitters. Submissions for individual variation/phenotype combinations (SCV identifier) are also collected and made available separately. This collection references the Record Report, based on RCV accession.", + "created": "2019-06-11T14:17:42.685+00:00", + "modified": "2019-06-11T14:17:42.685+00:00", + "resources": [ + { + "id": 1501, + "mirId": "MIR:00100710", + "urlPattern": "http://www.ncbi.nlm.nih.gov/clinvar/{$id}/", + "name": "ClinVar Record at NCBI", + "description": "ClinVar Record at NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "RCV000033555.3", + "resourceHomeUrl": "http://www.ncbi.nlm.nih.gov/clinvar/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "RCV000033555.3", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1502, + "prefix": "mgnify.proj", + "mirId": "MIR:00000535", + "name": "MGnify Project", + "pattern": "^[A-Z]+[0-9]+$", + "description": "MGnify is a resource for the analysis and archiving of microbiome data to help determine the taxonomic diversity and functional & metabolic potential of environmental samples. Users can submit their own data for analysis or freely browse all of the analysed public datasets held within the repository. In addition, users can request analysis of any appropriate dataset within the European Nucleotide Archive (ENA). User-submitted or ENA-derived datasets can also be assembled on request, prior to analysis.", + "created": "2019-06-11T14:17:42.938+00:00", + "modified": "2019-06-11T14:17:42.938+00:00", + "resources": [ + { + "id": 1503, + "mirId": "MIR:00100711", + "urlPattern": "https://www.ebi.ac.uk/metagenomics/projects/{$id}", + "name": "MGnify Project", + "description": "MGnify Project", + "official": false, + "providerCode": "ebi", + "sampleId": "ERP004492", + "resourceHomeUrl": "https://www.ebi.ac.uk/metagenomics", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ERP004492", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1504, + "prefix": "euclinicaltrials", + "mirId": "MIR:00000536", + "name": "EU Clinical Trials", + "pattern": "^\\d{4}\\-\\d{6}\\-\\d{2}$", + "description": "The EU Clinical Trials Register contains information on clinical trials conducted in the European Union (EU), or the European Economic Area (EEA) which started after 1 May 2004.\r\nIt also includes trials conducted outside these areas if they form part of a paediatric investigation plan (PIP), or are sponsored by a marketing authorisation holder, and involve the use of a medicine in the paediatric population.", + "created": "2019-06-11T14:17:43.129+00:00", + "modified": "2019-06-11T14:17:43.129+00:00", + "resources": [ + { + "id": 1506, + "mirId": "MIR:00100712", + "urlPattern": "https://www.clinicaltrialsregister.eu/ctr-search/search?query={$id}", + "name": "EU Clinical Trials at European Medicines Agency", + "description": "EU Clinical Trials at European Medicines Agency", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "2008-005144-16", + "resourceHomeUrl": "https://www.clinicaltrialsregister.eu/", + "institution": { + "id": 1505, + "name": "European Medicines Agency", + "homeUrl": "http://www.ema.europa.eu/ema/", + "description": "EMA guarantees the scientific evaluation, supervision & safety monitoring of human & veterinary medicines in the EU.", + "rorId": "https://ror.org/01z0wsw92", + "location": { + "countryCode": "NL", + "countryName": "Netherlands" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2008-005144-16", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1510, + "prefix": "uspto", + "mirId": "MIR:00000538", + "name": "USPTO", + "pattern": "^(D|PP|R|T|H|X|AI)?\\d+$", + "description": "The United States Patent and Trademark Office (USPTO) is the federal agency for granting U.S. patents and registering trademarks. As a mechanism that protects new ideas and investments in innovation and creativity, the USPTO is at the cutting edge of the nation's technological progress and achievement.", + "created": "2019-06-11T14:17:43.583+00:00", + "modified": "2019-06-11T14:17:43.583+00:00", + "resources": [ + { + "id": 1512, + "mirId": "MIR:00100715", + "urlPattern": "http://patft.uspto.gov/netacgi/nph-Parser?Sect2=PTO1&Sect2=HITOFF&p=1&u=/netahtml/PTO/search-bool.html&r=1&f=G&l=50&d=PALL&RefSrch=yes&Query=PN/{$id}", + "name": "USPTO patents at USPTO", + "description": "USPTO patents at USPTO", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "4145692", + "resourceHomeUrl": "http://patft.uspto.gov/netahtml/PTO/index.html", + "institution": { + "id": 1511, + "name": "United States Patent and Trademark Office", + "homeUrl": "https://www.uspto.gov/", + "description": "The United States Patent and Trademark Office (USPTO) is the federal agency for granting U.S. patents and registering trademarks. In doing this, the USPTO fulfills the mandate of Article I, Section 8, Clause 8, of the Constitution that the legislative branch \"promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries.\" The USPTO registers trademarks based on the commerce clause of the Constitution (Article I, Section 8, Clause 3). Under this system of protection, American industry has flourished. New products have been invented, new uses for old ones discovered, and employment opportunities created for millions of Americans. The strength and vitality of the U.S. economy depends directly on effective mechanisms that protect new ideas and investments in innovation and creativity. The continued demand for patents and trademarks underscores the ingenuity of American inventors and entrepreneurs. The USPTO is at the cutting edge of the nation's technological progress and achievement.", + "rorId": "https://ror.org/0114yjq47", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "4145692", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1513, + "prefix": "cpc", + "mirId": "MIR:00000539", + "name": "Cooperative Patent Classification", + "pattern": "^([A-H,Y]|[A-H, Y]\\d{2}|[A-H, Y]\\d{2}[A-Z]|[A-H, Y]\\d{2}[A-Z]\\d{1,3}|[A-H, Y]\\d{2}[A-Z]\\d{1,3}(\\/)?\\d{2,})$", + "description": "The Cooperative Patent Classification (CPC) is a patent classification system, developed jointly by the European Patent Office (EPO) and the United States Patent and Trademark Office (USPTO). It is based on the previous European classification system (ECLA), which itself was a version of the International Patent Classification (IPC) system. The CPC patent classification system has been used by EPO and USPTO since 1st January, 2013.", + "created": "2019-06-11T14:17:43.853+00:00", + "modified": "2019-06-11T14:17:43.853+00:00", + "resources": [ + { + "id": 1515, + "mirId": "MIR:00100716", + "urlPattern": "https://worldwide.espacenet.com/classification?locale=en_EP#!/CPC={$id}", + "name": "Cooperative Patent Classification at Espace", + "description": "Cooperative Patent Classification at Espace", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "A01M1/026", + "resourceHomeUrl": "https://worldwide.espacenet.com/classification", + "institution": { + "id": 1514, + "name": "Espace, European Patent Office", + "homeUrl": "https://worldwide.espacenet.com/", + "description": " The Office's core activity is the search and examination of patent applications and the grant of European patents. We also provide patent information and training services. ", + "rorId": "https://ror.org/016vvkz13", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "A01M1/026", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1516, + "prefix": "gwascentral.study", + "mirId": "MIR:00000540", + "name": "GWAS Central Study", + "pattern": "^HGVST\\d+$", + "description": "GWAS Central (previously the Human Genome Variation database of Genotype-to-Phenotype information) is a database of summary level findings from genetic association studies, both large and small. It gathers datasets from public domain projects, and accepts direct data submission. It is based upon Marker information encompassing SNP and variant information from public databases, to which allele and genotype frequency data, and genetic association findings are additionally added. A Study (most generic level) contains one or more Experiments, one or more Sample Panels of test subjects, and one or more Phenotypes. This collection references a GWAS Central Study.", + "created": "2019-06-11T14:17:44.062+00:00", + "modified": "2019-06-11T14:17:44.062+00:00", + "resources": [ + { + "id": 1517, + "mirId": "MIR:00100717", + "urlPattern": "https://www.gwascentral.org/study/{$id}", + "name": "GWAS Central Study at University of Leicester", + "description": "GWAS Central Study at University of Leicester", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "HGVST1828", + "resourceHomeUrl": "https://www.gwascentral.org/studies", + "institution": { + "id": 1079, + "name": "Department of Genetics, University of Leicester, Leicester", + "homeUrl": "https://le.ac.uk/ggb", + "description": "We are an internationally-recognised centre for pioneering research into genetics with specific expertise in patterns of human inheritance, identification of genetic determinants of human diseases, cancer genetics, circadian rhythms and microbial pathogenesis. Our renowned research includes the discovery by Professor Sir Alec Jeffreys of the technique of DNA fingerprinting and, more recently, for the identification of the bones of Richard III. We are proud of our cross-organism approach, which emphasises the fundamental importance of genetics as a common language for understanding the biology of organisms as diverse as bacteriophages, bacteria, yeast, fruit flies, insects, plants and humans.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "HGVST1828", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1702, + "prefix": "mmp.ref", + "mirId": "MIR:00000613", + "name": "MarRef", + "pattern": "^MMP\\d+.\\d+$", + "description": "MarRef is a manually curated marine microbial reference genome database that contains completely sequenced genomes.", + "created": "2019-06-11T14:18:02.696+00:00", + "modified": "2019-06-11T14:18:02.696+00:00", + "resources": [ + { + "id": 1704, + "mirId": "MIR:00100817", + "urlPattern": "https://mmp.sfb.uit.no/databases/marref/#/records/{$id}", + "name": "MarRef through SfB", + "description": "MarRef through SfB", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "MMP3312982.2", + "resourceHomeUrl": "https://mmp.sfb.uit.no/databases/marref/", + "institution": { + "id": 1703, + "name": "Center for Bioinformatics (SfB), UiT The Arctic university of Norway", + "homeUrl": "https://en.uit.no/forskning/forskningsgrupper/gruppe?p_document_id=347053", + "description": "The Center for Bioinformatics at the Faculty of Science and Technology is a research-based service center established to facilitate cross-disciplinary research, teaching, and services at the interface of biotechnology and computer science. The center currently comprises researchers and students from the Department of Chemistry and the Department of Computer Science. The center provides research collaboration and services related to bioinformatics.", + "rorId": null, + "location": { + "countryCode": "NO", + "countryName": "Norway" + } + }, + "location": { + "countryCode": "NO", + "countryName": "Norway" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MMP3312982.2", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1518, + "prefix": "exac.variant", + "mirId": "MIR:00000541", + "name": "ExAC Variant", + "pattern": "^\\d{1,2}\\-\\d+\\-[GATC]\\-[GATC]$", + "description": "The Exome Aggregation Consortium (ExAC) is a coalition of investigators seeking to aggregate and harmonize exome sequencing data from a variety of large-scale sequencing projects, and to make summary data available for the wider scientific community. The data pertains to unrelated individuals sequenced as part of various disease-specific and population genetic studies and serves as a reference set of allele frequencies for severe disease studies. This collection references variant information.", + "created": "2019-06-11T14:17:44.275+00:00", + "modified": "2019-06-11T14:17:44.275+00:00", + "resources": [ + { + "id": 1520, + "mirId": "MIR:00100718", + "urlPattern": "http://exac.broadinstitute.org/variant/{$id}", + "name": "ExAC Variant at Exome Aggregation Consortium", + "description": "ExAC Variant at Exome Aggregation Consortium", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "22-46615880-T-C", + "resourceHomeUrl": "http://exac.broadinstitute.org/", + "institution": { + "id": 1519, + "name": "Exome Aggregation Consortium (ExAC), Cambridge, Massachusetts", + "homeUrl": "https://exac.broadinstitute.org/", + "description": "The Exome Aggregation Consortium (ExAC) was a coalition of investigators seeking to aggregate and harmonize exome sequencing data from a variety of large-scale sequencing projects, and to make summary data available for the wider scientific community. ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "22-46615880-T-C", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1521, + "prefix": "gwascentral.marker", + "mirId": "MIR:00000542", + "name": "GWAS Central Marker", + "pattern": "^HGVM\\d+$", + "description": "GWAS Central (previously the Human Genome Variation database of Genotype-to-Phenotype information) is a database of summary level findings from genetic association studies, both large and small. It gathers datasets from public domain projects, and accepts direct data submission. It is based upon Marker information encompassing SNP and variant information from public databases, to which allele and genotype frequency data, and genetic association findings are additionally added. A Study (most generic level) contains one or more Experiments, one or more Sample Panels of test subjects, and one or more Phenotypes. This collection references a GWAS Central Marker.", + "created": "2019-06-11T14:17:44.511+00:00", + "modified": "2019-06-11T14:17:44.511+00:00", + "resources": [ + { + "id": 1522, + "mirId": "MIR:00100719", + "urlPattern": "https://www.gwascentral.org/marker/{$id}", + "name": "GWAS Central Marker at University of Leicester", + "description": "GWAS Central Marker at University of Leicester", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "HGVM15354", + "resourceHomeUrl": "https://www.gwascentral.org/markers/", + "institution": { + "id": 1079, + "name": "Department of Genetics, University of Leicester, Leicester", + "homeUrl": "https://le.ac.uk/ggb", + "description": "We are an internationally-recognised centre for pioneering research into genetics with specific expertise in patterns of human inheritance, identification of genetic determinants of human diseases, cancer genetics, circadian rhythms and microbial pathogenesis. Our renowned research includes the discovery by Professor Sir Alec Jeffreys of the technique of DNA fingerprinting and, more recently, for the identification of the bones of Richard III. We are proud of our cross-organism approach, which emphasises the fundamental importance of genetics as a common language for understanding the biology of organisms as diverse as bacteriophages, bacteria, yeast, fruit flies, insects, plants and humans.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "HGVM15354", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1525, + "prefix": "lincs.cell", + "mirId": "MIR:00000544", + "name": "LINCS Cell", + "pattern": "(^LCL-\\d+$)|(^LDC-\\d+$)|(^ES-\\d+$)|(^LSC-\\d+$)|(^LPC-\\d+$)", + "description": "The Library of Network-Based Cellular Signatures (LINCS) Program aims to create a network-based understanding of biology by cataloging changes in gene expression and other cellular processes that occur when cells are exposed to a variety of perturbing agents. The LINCS cell model system can have the following cell categories: cell lines, primary cells, induced pluripotent stem cells, differentiated cells, and embryonic stem cells. The metadata contains information provided by each LINCS Data and Signature Generation Center (DSGC) and the association with a tissue or organ from which the cells were derived, in many cases are also associated to a disease.", + "created": "2019-06-11T14:17:44.903+00:00", + "modified": "2019-06-11T14:17:44.903+00:00", + "resources": [ + { + "id": 1527, + "mirId": "MIR:00100721", + "urlPattern": "http://lincsportal.ccs.miami.edu/cells/#/view/{$id}", + "name": "LINCS Portal", + "description": "LINCS Portal", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "LCL-2085", + "resourceHomeUrl": "http://lincsportal.ccs.miami.edu/cells/", + "institution": { + "id": 1526, + "name": "University of Miami, BD2K-LINCS DCIC", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "LCL-2085", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1530, + "prefix": "lincs.smallmolecule", + "mirId": "MIR:00000546", + "name": "LINCS Small Molecule", + "pattern": "^LSM-\\d+$", + "description": "The Library of Network-Based Cellular Signatures (LINCS) Program aims to create a network-based understanding of biology by cataloging changes in gene expression and other cellular processes that occur when cells are exposed to a variety of perturbing agents. The LINCS small molecule collection is used as perturbagens in LINCS experiments. The small molecule metadata includes substance-specific batch information provided by each LINCS Data and Signature Generation Center (DSGC).", + "created": "2019-06-11T14:17:45.396+00:00", + "modified": "2019-06-11T14:17:45.396+00:00", + "resources": [ + { + "id": 1532, + "mirId": "MIR:00100723", + "urlPattern": "http://lincsportal.ccs.miami.edu/SmallMolecules/#/view/{$id}", + "name": "LINCS Portal", + "description": "LINCS Portal", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "LSM-6306", + "resourceHomeUrl": "http://lincsportal.ccs.miami.edu/SmallMolecules/", + "institution": { + "id": 1531, + "name": "University of Miami, BD2K-LINCS DCIC, USA", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "LSM-6306", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1533, + "prefix": "exac.transcript", + "mirId": "MIR:00000547", + "name": "ExAC Transcript", + "pattern": "^ENST\\d{11}$", + "description": "The Exome Aggregation Consortium (ExAC) is a coalition of investigators seeking to aggregate and harmonize exome sequencing data from a variety of large-scale sequencing projects, and to make summary data available for the wider scientific community. The data pertains to unrelated individuals sequenced as part of various disease-specific and population genetic studies and serves as a reference set of allele frequencies for severe disease studies. This collection references transcript information.", + "created": "2019-06-11T14:17:45.691+00:00", + "modified": "2019-06-11T14:17:45.691+00:00", + "resources": [ + { + "id": 1534, + "mirId": "MIR:00100724", + "urlPattern": "http://exac.broadinstitute.org/transcript/{$id}", + "name": "ExAC Transcript at Exome Aggregation Consortium", + "description": "ExAC Transcript at Exome Aggregation Consortium", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ENST00000407236", + "resourceHomeUrl": "http://exac.broadinstitute.org/", + "institution": { + "id": 1519, + "name": "Exome Aggregation Consortium (ExAC), Cambridge, Massachusetts", + "homeUrl": "https://exac.broadinstitute.org/", + "description": "The Exome Aggregation Consortium (ExAC) was a coalition of investigators seeking to aggregate and harmonize exome sequencing data from a variety of large-scale sequencing projects, and to make summary data available for the wider scientific community. ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ENST00000407236", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1535, + "prefix": "exac.gene", + "mirId": "MIR:00000548", + "name": "ExAC Gene", + "pattern": "^ENSG\\d{11}$", + "description": "The Exome Aggregation Consortium (ExAC) is a coalition of investigators seeking to aggregate and harmonize exome sequencing data from a variety of large-scale sequencing projects, and to make summary data available for the wider scientific community. The data pertains to unrelated individuals sequenced as part of various disease-specific and population genetic studies and serves as a reference set of allele frequencies for severe disease studies. This collection references gene information.", + "created": "2019-06-11T14:17:45.890+00:00", + "modified": "2019-06-11T14:17:45.890+00:00", + "resources": [ + { + "id": 1536, + "mirId": "MIR:00100725", + "urlPattern": "http://exac.broadinstitute.org/gene/{$id}", + "name": "ExAC Gene at Exome Aggregation Consortium", + "description": "ExAC Gene at Exome Aggregation Consortium", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ENSG00000169174", + "resourceHomeUrl": "http://exac.broadinstitute.org/", + "institution": { + "id": 1519, + "name": "Exome Aggregation Consortium (ExAC), Cambridge, Massachusetts", + "homeUrl": "https://exac.broadinstitute.org/", + "description": "The Exome Aggregation Consortium (ExAC) was a coalition of investigators seeking to aggregate and harmonize exome sequencing data from a variety of large-scale sequencing projects, and to make summary data available for the wider scientific community. ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ENSG00000169174", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1542, + "prefix": "unipathway.compound", + "mirId": "MIR:00000551", + "name": "UniPathway Compound", + "pattern": "^UPC\\d{5}$", + "description": "UniPathway is a manually curated resource of enzyme-catalyzed and spontaneous chemical reactions. It provides a hierarchical representation of metabolic pathways and a controlled vocabulary for pathway annotation in UniProtKB. UniPathway data are cross-linked to existing metabolic resources such as ChEBI/Rhea, KEGG and MetaCyc. This collection references compounds.", + "created": "2019-06-11T14:17:46.612+00:00", + "modified": "2019-06-11T14:17:46.612+00:00", + "resources": [ + { + "id": 1544, + "mirId": "MIR:00100728", + "urlPattern": "http://www.grenoble.prabi.fr/obiwarehouse/unipathway/upc?upid={$id}", + "name": "UniPathway Compound at Swiss Institute of Bioinformatics (SIB)", + "description": "UniPathway Compound at Swiss Institute of Bioinformatics (SIB)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "UPC04349", + "resourceHomeUrl": "http://www.grenoble.prabi.fr/obiwarehouse/unipathway", + "institution": { + "id": 1730, + "name": "SIB Swiss Institute of Bioinformatics", + "homeUrl": "https://www.sib.swiss", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "rorId": "https://ror.org/002n09z45", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": true, + "deprecationDate": "2019-10-01T12:10:54.792+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "UPC04349", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1545, + "prefix": "seed", + "mirId": "MIR:00000552", + "name": "SEED Subsystem", + "pattern": "^\\w+$", + "description": "This cooperative effort, which includes Fellowship for Interpretation of Genomes (FIG), Argonne National Laboratory, and the University of Chicago, focuses on the development of the comparative genomics environment called the SEED. It is a framework to support comparative analysis and annotation of genomes, and the development of curated genomic data (annotation). Curation is performed at the level of subsystems by an expert annotator, across many genomes, and not on a gene by gene basis. This collection references subsystems.", + "created": "2019-06-11T14:17:46.875+00:00", + "modified": "2019-06-11T14:17:46.875+00:00", + "resources": [ + { + "id": 1547, + "mirId": "MIR:00100729", + "urlPattern": "https://registry.identifiers.org/deprecation/resources/MIR:00100729/{$id}", + "name": "SEED Subsystem at Argonne National Laboratory", + "description": "SEED Subsystem at Argonne National Laboratory", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Biotin_biosynthesis", + "resourceHomeUrl": "http://seed-viewer.theseed.org/seedviewer.cgi", + "institution": { + "id": 1546, + "name": "Argonne National Laboratory", + "homeUrl": "https://www.anl.gov", + "description": "Argonne is a multidisciplinary science and engineering research center, where talented scientists and engineers work together to answer the biggest questions facing humanity, from how to obtain affordable clean energy to protecting ourselves and our environment.", + "rorId": "https://ror.org/05gvnxz63", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": true, + "deprecationDate": "2019-10-08T08:49:23.021+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Biotin_biosynthesis", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1548, + "prefix": "seed.compound", + "mirId": "MIR:00000553", + "name": "SEED Compound", + "pattern": "^cpd\\d+$", + "description": "This cooperative effort, which includes Fellowship for Interpretation of Genomes (FIG), Argonne National Laboratory, and the University of Chicago, focuses on the development of the comparative genomics environment called the SEED. It is a framework to support comparative analysis and annotation of genomes, and the development of curated genomic data (annotation). Curation is performed at the level of subsystems by an expert annotator, across many genomes, and not on a gene by gene basis. This collection references subsystems.", + "created": "2019-06-11T14:17:47.133+00:00", + "modified": "2019-06-11T14:17:47.133+00:00", + "resources": [ + { + "id": 1549, + "mirId": "MIR:00100730", + "urlPattern": "http://modelseed.org/biochem/compounds/{$id}", + "name": "SEED Compound at Argonne National Laboratory", + "description": "SEED Compound at Argonne National Laboratory", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "cpd15380", + "resourceHomeUrl": "http://modelseed.org/", + "institution": { + "id": 1546, + "name": "Argonne National Laboratory", + "homeUrl": "https://www.anl.gov", + "description": "Argonne is a multidisciplinary science and engineering research center, where talented scientists and engineers work together to answer the biggest questions facing humanity, from how to obtain affordable clean energy to protecting ourselves and our environment.", + "rorId": "https://ror.org/05gvnxz63", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "cpd15380", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1550, + "prefix": "bigg.model", + "mirId": "MIR:00000554", + "name": "BiGG Model", + "pattern": "^[a-z_A-Z0-9]+$", + "description": "BiGG is a knowledgebase of Biochemically, Genetically and Genomically structured genome-scale metabolic network reconstructions. It more published genome-scale metabolic networks into a single database with a set of stardized identifiers called BiGG IDs. Genes in the BiGG models are mapped to NCBI genome annotations, and metabolites are linked to many external databases (KEGG, PubChem, and many more). This collection references individual models.", + "created": "2019-06-11T14:17:47.362+00:00", + "modified": "2019-06-11T14:17:47.362+00:00", + "resources": [ + { + "id": 1552, + "mirId": "MIR:00100731", + "urlPattern": "http://bigg.ucsd.edu/models/{$id}", + "name": "BiGG Model at University of California", + "description": "BiGG Model at University of California", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "iECABU_c1320", + "resourceHomeUrl": "http://bigg.ucsd.edu/models", + "institution": { + "id": 190, + "name": "University of California, San Diego", + "homeUrl": "https://ucsd.edu/", + "description": "is a public research university in San Diego, California.\nEstablished in 1960 near the pre-existing Scripps Institution of Oceanography, UC San Diego is the seventh-oldest of the 10 University of California campuses and offers over 200 undergraduate and graduate degree programs, enrolling approximately 30,000 undergraduate and 8,500 graduate students.", + "rorId": "https://ror.org/0168r3w48", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "iECABU_c1320", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1553, + "prefix": "bigg.compartment", + "mirId": "MIR:00000555", + "name": "BiGG Compartment", + "pattern": "^[a-z_A-Z]+$", + "description": "BiGG is a knowledgebase of Biochemically, Genetically and Genomically structured genome-scale metabolic network reconstructions. It more published genome-scale metabolic networks into a single database with a set of stardized identifiers called BiGG IDs. Genes in the BiGG models are mapped to NCBI genome annotations, and metabolites are linked to many external databases (KEGG, PubChem, and many more). This collection references model compartments.", + "created": "2019-06-11T14:17:47.621+00:00", + "modified": "2019-06-11T14:17:47.621+00:00", + "resources": [ + { + "id": 1554, + "mirId": "MIR:00100732", + "urlPattern": "http://bigg.ucsd.edu/compartments/{$id}", + "name": "BiGG Compartment at University of California", + "description": "BiGG Compartment at University of California", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "c", + "resourceHomeUrl": "http://bigg.ucsd.edu/compartments/", + "institution": { + "id": 190, + "name": "University of California, San Diego", + "homeUrl": "https://ucsd.edu/", + "description": "is a public research university in San Diego, California.\nEstablished in 1960 near the pre-existing Scripps Institution of Oceanography, UC San Diego is the seventh-oldest of the 10 University of California campuses and offers over 200 undergraduate and graduate degree programs, enrolling approximately 30,000 undergraduate and 8,500 graduate students.", + "rorId": "https://ror.org/0168r3w48", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "c", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1537, + "prefix": "wikidata", + "mirId": "MIR:00000549", + "name": "Wikidata", + "pattern": "^(Q|P)\\d+$", + "description": "Wikidata is a collaboratively edited knowledge base operated by the Wikimedia Foundation. It is intended to provide a common source of certain types of data which can be used by Wikimedia projects such as Wikipedia. Wikidata functions as a document-oriented database, centred on individual items. Items represent topics, for which basic information is stored that identifies each topic.", + "created": "2019-06-11T14:17:46.087+00:00", + "modified": "2020-11-30T14:15:44.647+00:00", + "resources": [ + { + "id": 1538, + "mirId": "MIR:00100726", + "urlPattern": "http://www.wikidata.org/entity/{$id}", + "name": "Wikidata at Wikimedia Foundation", + "description": "Wikidata at Wikimedia Foundation", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Q2207226", + "resourceHomeUrl": "https://www.wikidata.org/", + "institution": { + "id": 1111, + "name": "Wikimedia Foundation, San Francisco, California", + "homeUrl": "https://wikimediafoundation.org/", + "description": "The nonprofit Wikimedia Foundation provides the essential infrastructure for free knowledge. We host Wikipedia, the free online encyclopedia, created, edited, and verified by volunteers around the world, as well as many other vital community projects. All of which is made possible thanks to donations from individuals like you. We welcome anyone who shares our vision to join us in collecting and sharing knowledge that fully represents human diversity.", + "rorId": "https://ror.org/032q98j12", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Q2207226", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1705, + "prefix": "mmp.db", + "mirId": "MIR:00000614", + "name": "MarDB", + "pattern": "^MMP\\d+.\\d+$", + "description": "MarDB includes all sequenced marine microbial genomes regardless of level of completeness.", + "created": "2019-06-11T14:18:02.934+00:00", + "modified": "2019-06-11T14:18:02.934+00:00", + "resources": [ + { + "id": 1706, + "mirId": "MIR:00100818", + "urlPattern": "https://mmp.sfb.uit.no/databases/mardb/#/records/{$id}", + "name": "MarDB through SfB", + "description": "MarDB through SfB", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "MMP02954345.1", + "resourceHomeUrl": "https://mmp.sfb.uit.no/databases/mardb/", + "institution": { + "id": 1703, + "name": "Center for Bioinformatics (SfB), UiT The Arctic university of Norway", + "homeUrl": "https://en.uit.no/forskning/forskningsgrupper/gruppe?p_document_id=347053", + "description": "The Center for Bioinformatics at the Faculty of Science and Technology is a research-based service center established to facilitate cross-disciplinary research, teaching, and services at the interface of biotechnology and computer science. The center currently comprises researchers and students from the Department of Chemistry and the Department of Computer Science. The center provides research collaboration and services related to bioinformatics.", + "rorId": null, + "location": { + "countryCode": "NO", + "countryName": "Norway" + } + }, + "location": { + "countryCode": "NO", + "countryName": "Norway" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MMP02954345.1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1557, + "prefix": "bigg.reaction", + "mirId": "MIR:00000557", + "name": "BiGG Reaction", + "pattern": "^[a-z_A-Z0-9]+$", + "description": "BiGG is a knowledgebase of Biochemically, Genetically and Genomically structured genome-scale metabolic network reconstructions. It more published genome-scale metabolic networks into a single database with a set of stardized identifiers called BiGG IDs. Genes in the BiGG models are mapped to NCBI genome annotations, and metabolites are linked to many external databases (KEGG, PubChem, and many more). This collection references reactions.", + "created": "2019-06-11T14:17:48.059+00:00", + "modified": "2019-06-11T14:17:48.059+00:00", + "resources": [ + { + "id": 1558, + "mirId": "MIR:00100734", + "urlPattern": "http://bigg.ucsd.edu/models/universal/reactions/{$id}", + "name": "BiGG Reaction at University of California", + "description": "BiGG Reaction at University of California", + "official": false, + "providerCode": "ucsd", + "sampleId": "13GS", + "resourceHomeUrl": "http://bigg.ucsd.edu/universal/reactions", + "institution": { + "id": 190, + "name": "University of California, San Diego", + "homeUrl": "https://ucsd.edu/", + "description": "is a public research university in San Diego, California.\nEstablished in 1960 near the pre-existing Scripps Institution of Oceanography, UC San Diego is the seventh-oldest of the 10 University of California campuses and offers over 200 undergraduate and graduate degree programs, enrolling approximately 30,000 undergraduate and 8,500 graduate students.", + "rorId": "https://ror.org/0168r3w48", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "13GS", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1561, + "prefix": "umls", + "mirId": "MIR:00000559", + "name": "UMLS", + "pattern": "^C\\d+$", + "description": "The Unified Medical Language System is a repository of biomedical vocabularies. Vocabularies integrated in the UMLS Metathesaurus include the NCBI taxonomy, Gene Ontology, the Medical Subject Headings (MeSH), OMIM and the Digital Anatomist Symbolic Knowledge Base. UMLS concepts are not only inter-related, but may also be linked to external resources such as GenBank.", + "created": "2019-06-11T14:17:48.502+00:00", + "modified": "2019-06-11T14:17:48.502+00:00", + "resources": [ + { + "id": 1562, + "mirId": "MIR:00100736", + "urlPattern": "http://linkedlifedata.com/resource/umls/id/{$id}", + "name": "Unified Medical Language System at LinkedLifeData", + "description": "Unified Medical Language System at LinkedLifeData", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "C0021390", + "resourceHomeUrl": "http://linkedlifedata.com/", + "institution": { + "id": 63, + "name": "Linkedlifedata, Ontotext, Sofia", + "homeUrl": "http://linkedlifedata.com/", + "description": "Linked Life Data (LLD) is a data-as-a-service platform that provides access to 25 public biomedical databases through a single access point. The service allows writing of complex data analytical queries, answering complex bioinformatics questions such as 'give me all human genes located in Y-chromosome with the known molecular interactions'; simply navigate through the information, or export subsets like 'all approved drugs and their brand names'. ", + "rorId": null, + "location": { + "countryCode": "BG", + "countryName": "Bulgaria" + } + }, + "location": { + "countryCode": "BG", + "countryName": "Bulgaria" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "C0021390", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1567, + "prefix": "mirtarbase", + "mirId": "MIR:00000562", + "name": "miRTarBase", + "pattern": "^MIRT\\d{6}$", + "description": "miRTarBase is a database of miRNA-target interactions (MTIs), collected manually from relevant literature, following Natural Language Processing of the text to identify research articles related to functional studies of miRNAs. Generally, the collected MTIs are validated experimentally by reporter assay, western blot, microarray and next-generation sequencing experiments.", + "created": "2019-06-11T14:17:49.171+00:00", + "modified": "2019-06-11T14:17:49.171+00:00", + "resources": [ + { + "id": 1569, + "mirId": "MIR:00100739", + "urlPattern": "http://mirtarbase.mbc.nctu.edu.tw/php/detail.php?mirtid={$id}", + "name": "miRTarBase at National Chiao Tung University", + "description": "miRTarBase at National Chiao Tung University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "MIRT000002", + "resourceHomeUrl": "http://mirtarbase.mbc.nctu.edu.tw/", + "institution": { + "id": 1568, + "name": "Institute of Bioinformatics and Systems Biology, National Chiao Tung University, Hsinchu", + "homeUrl": "http://bioinfo.nctu.edu.tw/", + "description": "The NCTU Institute of Bioinformatics and Systems Biology carries out research in structural bioinformatics, systems biology (e.g. gene networks and metabolic pathways), drug discovery, biological databases and algorithms, molecular evolution, computational chemistry, and functional genomics. Supporting by National Science Council and Ministry of Education, the Institute has installed the sole Structural Bioinformatics and Computer-aided Drug Design Core Facilities. On average, each faculty publishes 5 papers/year and the sum of impact factor is over 20/year; and the grant is over 3,000,000/year. These Principle Investigators have produced renowned computational packages and databases: GEMDOCK, for drug design; 3D-BLAST, for a super fast structure database search; miRNAMap, genomic maps of microRNAs in mammalian genomes; and CELLO, for sub-cellular localization prediction.", + "rorId": null, + "location": { + "countryCode": "TW", + "countryName": "Taiwan, Province of China" + } + }, + "location": { + "countryCode": "TW", + "countryName": "Taiwan, Province of China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MIRT000002", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1570, + "prefix": "meddra", + "mirId": "MIR:00000563", + "name": "MedDRA", + "pattern": "^\\d+$", + "description": "The Medical Dictionary for Regulatory Activities (MedDRA) was developed by the International Council for Harmonisation of Technical Requirements for Registration of Pharmaceuticals for Human Use (ICH)to provide a standardised medical terminology to facilitate sharing of regulatory information internationally for medical products used by humans. It is used within regulatory processes, safety monitoring, as well as for marketing activities. Products covered by the scope of MedDRA include pharmaceuticals, biologics, vaccines and drug-device combination products. The MedDRA dictionary is organized by System Organ Class (SOC), divided into High-Level Group Terms (HLGT), High-Level Terms (HLT), Preferred Terms (PT) and finally into Lowest Level Terms (LLT).", + "created": "2019-06-11T14:17:49.428+00:00", + "modified": "2019-06-11T14:17:49.428+00:00", + "resources": [ + { + "id": 1571, + "mirId": "MIR:00100740", + "urlPattern": "http://purl.bioontology.org/ontology/MEDDRA/{$id}", + "name": "MedDRA through BioPortal", + "description": "MedDRA through BioPortal", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "10015919", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/MEDDRA", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "10015919", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1572, + "prefix": "dashr", + "mirId": "MIR:00000564", + "name": "DASHR", + "pattern": "^(hsa-(let|mir)-\\w+(-\\w+)?)|(piR-\\d+)|(chr\\w+.tRNA\\d+-\\w+)|(chr\\w+.tRNA\\d+-\\w+-tRF\\d)|((SNORD|SNORA|ACA|HBII|HBI|U)(-)?\\w+)|(HY\\d\\+(-L\\d+)?)|((LSU|SSU|5S)(-rRNA_Hsa)?(-L\\d+)?)$", + "description": "DASHR reports the annotation, expression and evidence for specific RNA processing (cleavage specificity scores/entropy) of human sncRNA genes, precursor and mature sncRNA products across different human tissues and cell types. DASHR integrates information from multiple existing annotation resources for small non-coding RNAs, including microRNAs (miRNAs), Piwi-interacting (piRNAs), small nuclear (snRNAs), nucleolar (snoRNAs), cytoplasmic (scRNAs), transfer (tRNAs), tRNA fragments (tRFs), and ribosomal RNAs (rRNAs). These datasets were obtained from non-diseased human tissues and cell types and were generated for studying or profiling small non-coding RNAs. This collection references RNA records.", + "created": "2019-06-11T14:17:49.634+00:00", + "modified": "2019-06-11T14:17:49.634+00:00", + "resources": [ + { + "id": 1574, + "mirId": "MIR:00100741", + "urlPattern": "http://lisanwanglab.org/DASHR/entry/{$id}", + "name": "DASHR at University of Pennsylvania", + "description": "DASHR at University of Pennsylvania", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "hsa-mir-200a", + "resourceHomeUrl": "http://lisanwanglab.org/DASHR/", + "institution": { + "id": 1573, + "name": "Department of Pathology and Laboratory Medicine, University of Pennsylvania, Philadelphia", + "homeUrl": "https://pathology.med.upenn.edu/", + "description": "Combining the full gamut of possible activities found within academic pathology departments, the Department has solidified its national reputation as one of the leading, fully integrated academic departments of its kind. It has also positioned itself at the crossroads of the intellectual life at Penn, as the home to many of the School of Medicine\u2019s centralized resource laboratories and with substantive ties to multiple centers, institutes, departments and other schools on campus.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "hsa-mir-200a", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1575, + "prefix": "dashr.expression", + "mirId": "MIR:00000565", + "name": "DASHR expression", + "pattern": "^(hsa-(let|mir)-\\w+(-\\w+)?)|(piR-\\d+)|(chr\\w+.tRNA\\d+-\\w+)|(chr\\w+.tRNA\\d+-\\w+-tRF\\d)|((SNORD|SNORA|ACA|HBII|HBI|U)(-)?\\w+)|(HY\\d\\+(-L\\d+)?)|((LSU|SSU|5S)(-rRNA_Hsa)?(-L\\d+)?)$", + "description": "DASHR reports the annotation, expression and evidence for specific RNA processing (cleavage specificity scores/entropy) of human sncRNA genes, precursor and mature sncRNA products across different human tissues and cell types. DASHR integrates information from multiple existing annotation resources for small non-coding RNAs, including microRNAs (miRNAs), Piwi-interacting (piRNAs), small nuclear (snRNAs), nucleolar (snoRNAs), cytoplasmic (scRNAs), transfer (tRNAs), tRNA fragments (tRFs), and ribosomal RNAs (rRNAs). These datasets were obtained from non-diseased human tissues and cell types and were generated for studying or profiling small non-coding RNAs. This collection references RNA expression.", + "created": "2019-06-11T14:17:49.866+00:00", + "modified": "2019-06-11T14:17:49.866+00:00", + "resources": [ + { + "id": 1576, + "mirId": "MIR:00100742", + "urlPattern": "https://dashr1.lisanwanglab.org/entry/hsa-mir-200a#{$id}#exprPerTissueTable", + "name": "DASHR expression at University of Pennsylvania", + "description": "DASHR expression at University of Pennsylvania", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "hsa-mir-200a", + "resourceHomeUrl": "https://dashr1.lisanwanglab.org/show-expression-table.php?start=0", + "institution": { + "id": 1573, + "name": "Department of Pathology and Laboratory Medicine, University of Pennsylvania, Philadelphia", + "homeUrl": "https://pathology.med.upenn.edu/", + "description": "Combining the full gamut of possible activities found within academic pathology departments, the Department has solidified its national reputation as one of the leading, fully integrated academic departments of its kind. It has also positioned itself at the crossroads of the intellectual life at Penn, as the home to many of the School of Medicine\u2019s centralized resource laboratories and with substantive ties to multiple centers, institutes, departments and other schools on campus.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "hsa-mir-200a", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1577, + "prefix": "splash", + "mirId": "MIR:00000566", + "name": "SPLASH", + "pattern": "^splash\\d[A-Z-a-z0-9]-[A-Za-z0-9]+-[A-Za-z0-9]+$", + "description": "The spectra hash code (SPLASH) is a unique and non-proprietary identifier for spectra, and is independent of how the spectra were acquired or processed. It can be easily calculated for a wide range of spectra, including Mass spectroscopy, infrared spectroscopy, ultraviolet and nuclear magnetic resonance.", + "created": "2019-06-11T14:17:50.083+00:00", + "modified": "2019-06-11T14:17:50.083+00:00", + "resources": [ + { + "id": 1579, + "mirId": "MIR:00100746", + "urlPattern": "http://mona.fiehnlab.ucdavis.edu/#/spectra/splash/{$id}", + "name": "Mass Bank of North America (MoNA)", + "description": "Mass Bank of North America (MoNA)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "splash10-0zq2000000-77302b0326a418630a84", + "resourceHomeUrl": "http://mona.fiehnlab.ucdavis.edu/", + "institution": { + "id": 1578, + "name": "University of California, Davis, California", + "homeUrl": "https://www.ucdavis.edu/", + "description": "UC Davis was founded in 1908 to serve the state of California. We do and we always will. And today, the seed that was planted those years ago has grown into one of the world\u2019s top universities. ", + "rorId": "https://ror.org/05rrcem69", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "splash10-0zq2000000-77302b0326a418630a84", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1563, + "prefix": "mesh", + "mirId": "MIR:00000560", + "name": "MeSH", + "pattern": "^(C|D)\\d{6,9}$", + "description": "MeSH (Medical Subject Headings) is the National Library of Medicine's controlled vocabulary thesaurus. It consists of sets of terms naming descriptors in a hierarchical structure that permits searching at various levels of specificity. This thesaurus is used by NLM for indexing articles from biomedical journals, cataloguing of books, documents, etc.", + "created": "2019-06-11T14:17:48.752+00:00", + "modified": "2020-04-21T17:40:51.334+00:00", + "resources": [ + { + "id": 1564, + "mirId": "MIR:00100737", + "urlPattern": "http://id.nlm.nih.gov/mesh/{$id}", + "name": "MeSH Linked Data at National Library of Medicine", + "description": "MeSH Linked Data at National Library of Medicine", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "C000100", + "resourceHomeUrl": "http://id.nlm.nih.gov/mesh/", + "institution": { + "id": 316, + "name": "National Library of Medicine, Maryland", + "homeUrl": "https://www.nlm.nih.gov/", + "description": "The National Library of Medicine (NLM), on the campus of the National Institutes of Health in Bethesda, Maryland, has been a center of information innovation since its founding in 1836. The world\u2019s largest biomedical library, NLM maintains and makes available a vast print collection and produces electronic information resources on a wide range of topics that are searched billions of times each year by millions of people around the globe. It also supports and conducts research, development, and training in biomedical informatics and health information technology. In addition, the Library coordinates an 8,000+ member Network of the National Library of Medicine that promotes and provides access to health information in communities across the United States.", + "rorId": "https://ror.org/0060t0j89", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "C000100", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1580, + "prefix": "metanetx.chemical", + "mirId": "MIR:00000567", + "name": "MetaNetX chemical", + "pattern": "^(MNXM\\d+|BIOMASS|WATER)$", + "description": "MetaNetX/MNXref integrates various information from genome-scale metabolic network reconstructions such as information on reactions, metabolites and compartments. This information undergoes a reconciliation process to minimise for discrepancies between different data sources, and makes the data accessible under a common namespace. This collection references chemical or metabolic components.", + "created": "2019-06-11T14:17:50.332+00:00", + "modified": "2021-02-26T09:36:59.253+00:00", + "resources": [ + { + "id": 1582, + "mirId": "MIR:00100748", + "urlPattern": "https://www.metanetx.org/chem_info/{$id}", + "name": "MetaNetX chemical at SIB Swiss Institute of Bioinformatics", + "description": "MetaNetX chemical at SIB Swiss Institute of Bioinformatics", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "MNXM1723", + "resourceHomeUrl": "https://www.metanetx.org/", + "institution": { + "id": 1581, + "name": "Vital-IT group, SIB Swiss Institute of Bioinformatics, Lausanne", + "homeUrl": "https://www.vital-it.ch/", + "description": "Vital-IT is a Competency Centre in Bioinformatics and Computational Biology that provides support and technological R&D for life science and clinical research in Switzerland and internationally.", + "rorId": null, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MNXM1723", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1583, + "prefix": "metanetx.reaction", + "mirId": "MIR:00000568", + "name": "MetaNetX reaction", + "pattern": "^(MNXR\\d+|EMPTY)$", + "description": "MetaNetX/MNXref integrates various information from genome-scale metabolic network reconstructions such as information on reactions, metabolites and compartments. This information undergoes a reconciliation process to minimise for discrepancies between different data sources, and makes the data accessible under a common namespace. This collection references reactions.", + "created": "2019-06-11T14:17:50.605+00:00", + "modified": "2021-02-26T09:43:13.847+00:00", + "resources": [ + { + "id": 1584, + "mirId": "MIR:00100749", + "urlPattern": "https://www.metanetx.org/equa_info/{$id}", + "name": "MetaNetX reaction at SIB Swiss Institute of Bioinformatics", + "description": "MetaNetX reaction at SIB Swiss Institute of Bioinformatics", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "MNXR101574", + "resourceHomeUrl": "https://www.metanetx.org/", + "institution": { + "id": 1581, + "name": "Vital-IT group, SIB Swiss Institute of Bioinformatics, Lausanne", + "homeUrl": "https://www.vital-it.ch/", + "description": "Vital-IT is a Competency Centre in Bioinformatics and Computational Biology that provides support and technological R&D for life science and clinical research in Switzerland and internationally.", + "rorId": null, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MNXR101574", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1565, + "prefix": "emdb", + "mirId": "MIR:00000561", + "name": "Electron Microscopy Data Bank", + "pattern": "^EMD-\\d{4,5}$", + "description": "The Electron Microscopy Data Bank (EMDB) is a public repository for electron microscopy density maps of macromolecular complexes and subcellular structures. It covers a variety of techniques, including single-particle analysis, electron tomography, and electron (2D) crystallography. The EMDB map distribution format follows the CCP4 definition, which is widely recognized by software packages used by the structural biology community.", + "created": "2019-06-11T14:17:48.947+00:00", + "modified": "2023-02-20T08:55:04.411+00:00", + "resources": [ + { + "id": 1566, + "mirId": "MIR:00100738", + "urlPattern": "https://www.ebi.ac.uk/pdbe/entry/emdb/{$id}", + "name": "EMDB at Protein Data Bank in Europe", + "description": "EMDB at Protein Data Bank in Europe", + "official": false, + "providerCode": "ebi", + "sampleId": "EMD-1001", + "resourceHomeUrl": "https://www.ebi.ac.uk/pdbe/emdb/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "EMD-1001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1587, + "prefix": "unipathway.reaction", + "mirId": "MIR:00000570", + "name": "UniPathway Reaction", + "pattern": "^UCR\\d{5}$", + "description": "UniPathway is a manually curated resource of enzyme-catalyzed and spontaneous chemical reactions. It provides a hierarchical representation of metabolic pathways and a controlled vocabulary for pathway annotation in UniProtKB. UniPathway data are cross-linked to existing metabolic resources such as ChEBI/Rhea, KEGG and MetaCyc. This collection references individual reactions.", + "created": "2019-06-11T14:17:51.017+00:00", + "modified": "2019-06-11T14:17:51.017+00:00", + "resources": [ + { + "id": 1588, + "mirId": "MIR:00100752", + "urlPattern": "http://www.grenoble.prabi.fr/obiwarehouse/unipathway/ucr?upid={$id}", + "name": "UniPathway Reaction at Swiss Institute of Bioinformatics (SIB)", + "description": "UniPathway Reaction at Swiss Institute of Bioinformatics (SIB)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "UCR00226", + "resourceHomeUrl": "http://www.grenoble.prabi.fr/obiwarehouse/unipathway", + "institution": { + "id": 1730, + "name": "SIB Swiss Institute of Bioinformatics", + "homeUrl": "https://www.sib.swiss", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "rorId": "https://ror.org/002n09z45", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": true, + "deprecationDate": "2019-10-01T12:11:20.049+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "UCR00226", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1589, + "prefix": "hp", + "mirId": "MIR:00000571", + "name": "Human Phenotype Ontology", + "pattern": "^HP:\\d{7}$", + "description": "The Human Phenotype Ontology (HPO) aims to provide a standardized vocabulary of phenotypic abnormalities encountered in human disease. Each term in the HPO describes a phenotypic abnormality, such as atrial septal defect. The HPO is currently being developed using the medical literature, Orphanet, DECIPHER, and OMIM.", + "created": "2019-06-11T14:17:51.237+00:00", + "modified": "2019-06-11T14:17:51.237+00:00", + "resources": [ + { + "id": 1591, + "mirId": "MIR:00100753", + "urlPattern": "https://hpo.jax.org/app/browse/term/HP:{$id}", + "name": "Human Phenotype Ontology at Institute for Medical Genetics and Human Genetics", + "description": "Human Phenotype Ontology at Institute for Medical Genetics and Human Genetics", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "0000118", + "resourceHomeUrl": "http://human-phenotype-ontology.github.io/", + "institution": { + "id": 1590, + "name": "Institute for Medical Genetics and Human Genetics, Charit\u00e9-Universit\u00e4tsmedizin, Berlin", + "homeUrl": "https://genetik.charite.de/en/", + "description": "Medical genetics examines the origins and mechanisms of diseases caused by genetic disorders. Medical genetics connects basic research with clinical medicine and thereby allows for the application of findings when making predictive and preventive assessments. In addition to the standard methods used for diagnostics, medical genetics makes use of an increasing number of molecular genetic methods. The use of these methods enables us to identify an ever increasing number of genetic diseases. Molecular genetics exhibits an exceptional potential to assist us in the comprehension of the etiology and pathogenesis of diseases and will contribute to the development of novel therapeutic concepts.", + "rorId": null, + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1592, + "mirId": "MIR:00100754", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/hp/terms?obo_id=HP:{$id}", + "name": "Human Phenotype Ontology through OLS", + "description": "Human Phenotype Ontology through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "0000118", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/hp", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0000118", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1598, + "prefix": "mdm", + "mirId": "MIR:00000574", + "name": "MDM", + "pattern": "^\\d+$", + "description": "The MDM (Medical Data Models) Portal is a meta-data registry for creating, analysing, sharing and reusing medical forms. Electronic forms are central in numerous processes involving data, including the collection of data through electronic health records (EHRs), Electronic Data Capture (EDC), and as case report forms (CRFs) for clinical trials. The MDM Portal provides medical forms in numerous export formats, facilitating the sharing and reuse of medical data models and exchange between information systems.", + "created": "2019-06-11T14:17:52.138+00:00", + "modified": "2019-06-11T14:17:52.138+00:00", + "resources": [ + { + "id": 1600, + "mirId": "MIR:00100766", + "urlPattern": "https://medical-data-models.org/forms/{$id}", + "name": "MDM at University of Muenster", + "description": "MDM at University of Muenster", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "4776", + "resourceHomeUrl": "https://medical-data-models.org/", + "institution": { + "id": 1599, + "name": "Institute of Medical Informatics, University of Muenster", + "homeUrl": "https://imi.uni-muenster.de", + "description": "Research for digital, personalised medicine ", + "rorId": null, + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "4776", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1601, + "prefix": "probonto", + "mirId": "MIR:00000575", + "name": "ProbOnto", + "pattern": "^PROB_c\\d+$", + "description": "ProbOnto, is an ontology-based knowledge base of probability distributions, featuring uni- and multivariate distributions with their defining functions, characteristics, relationships and reparameterisation formulae. It can be used for annotation of models, facilitating the encoding of distribution-based models, related functions and quantities.", + "created": "2019-06-11T14:17:52.483+00:00", + "modified": "2019-06-11T14:17:52.483+00:00", + "resources": [ + { + "id": 1602, + "mirId": "MIR:00100768", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/probonto/terms?short_form={$id}", + "name": "ProbOnto through OLS", + "description": "ProbOnto through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "PROB_c0000005", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/probonto", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PROB_c0000005", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1603, + "prefix": "apid.interactions", + "mirId": "MIR:00000576", + "name": "APID Interactomes", + "pattern": "^([A-N,R-Z][0-9]([A-Z][A-Z, 0-9][A-Z, 0-9][0-9]){1,2})|([O,P,Q][0-9][A-Z, 0-9][A-Z, 0-9][A-Z, 0-9][0-9])(\\.\\d+)?$", + "description": "APID (Agile Protein Interactomes DataServer) provides information on the protein interactomes of numerous organisms, based on the integration of known experimentally validated protein-protein physical interactions (PPIs). Interactome data includes a report on quality levels and coverage over the proteomes for each organism included. APID integrates PPIs from primary databases of molecular interactions (BIND, BioGRID, DIP, HPRD, IntAct, MINT) and also from experimentally resolved 3D structures (PDB) where more than two distinct proteins have been identified. This collection references protein interactors, through a UniProt identifier.", + "created": "2019-06-11T14:17:52.731+00:00", + "modified": "2019-06-11T14:17:52.731+00:00", + "resources": [ + { + "id": 1605, + "mirId": "MIR:00100769", + "urlPattern": "http://cicblade.dep.usal.es:8080/APID/Interactions.action?protein={$id}", + "name": "APID at Salamanca", + "description": "APID at Salamanca", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "P01116", + "resourceHomeUrl": "http://cicblade.dep.usal.es:8080/APID/", + "institution": { + "id": 1604, + "name": "Cancer Research Center (CiC-IBMCC), Consejo Superior de Investigaciones Cient\u00edficas (CSIC) and Universidad de Salamanca (USAL), Salamanca", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "ES", + "countryName": "Spain" + } + }, + "location": { + "countryCode": "ES", + "countryName": "Spain" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "P01116", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1606, + "prefix": "storedb", + "mirId": "MIR:00000577", + "name": "STOREDB", + "pattern": "^STOREDB:(STUDY|FILE|DATASET)\\d+$", + "description": "STOREDB database is a repository for data used by the international radiobiology community, archiving and sharing primary data outputs from research on low dose radiation. It also provides a directory of bioresources and databases for radiobiology projects containing information and materials that investigators are willing to share. STORE supports the creation of a low dose radiation research commons.", + "created": "2019-06-11T14:17:53.021+00:00", + "modified": "2019-06-11T14:17:53.021+00:00", + "resources": [ + { + "id": 1608, + "mirId": "MIR:00100771", + "urlPattern": "https://www.storedb.org/?{$id}", + "name": "STOREDB at University of Cambridge", + "description": "STOREDB at University of Cambridge", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "STOREDB:STUDY1040", + "resourceHomeUrl": "https://www.storedb.org/", + "institution": { + "id": 1607, + "name": "University of Cambridge, Department of Physiology, Downing Street, Cambridge", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "STOREDB:STUDY1040", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1609, + "prefix": "kegg", + "mirId": "MIR:00000578", + "name": "Kyoto Encyclopedia of Genes and Genomes", + "pattern": "^([CHDEGTMKR]\\d+)|(\\w+:[\\w\\d\\.-]*)|([a-z]{3,5})|(\\w{2,4}\\d{5})$", + "description": "Kyoto Encyclopedia of Genes and Genomes (KEGG) is a database resource for understanding high-level functions and utilities of the biological system, such as the cell, the organism and the ecosystem, from molecular-level information, especially large-scale molecular datasets generated by genome sequencing and other high-throughput experimental technologies.", + "created": "2019-06-11T14:17:53.298+00:00", + "modified": "2019-06-11T14:17:53.298+00:00", + "resources": [ + { + "id": 1610, + "mirId": "MIR:00100773", + "urlPattern": "http://www.kegg.jp/entry/{$id}", + "name": "KEGG at Kyoto University Bioinformatics Center", + "description": "KEGG at Kyoto University Bioinformatics Center", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "hsa00190", + "resourceHomeUrl": "http://www.kegg.jp/", + "institution": { + "id": 15, + "name": "Kyoto University Bioinformatics Center", + "homeUrl": "https://www.bic.kyoto-u.ac.jp/", + "description": "The Bioinformatics Center aims at developing new informatics technologies for deciphering the genome, especially from the viewpoint of how life operates as a system, and promoting both basic and applied research areas in bioinformatics. The Center consists of three research laboratories, named Chemical Life Science, Mathematical Bioinformatics, and Bio-Knowledge Engineering, which focus on scientific discovery, algorithms, and data mining, respectively. ", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "hsa00190", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1611, + "prefix": "planttfdb", + "mirId": "MIR:00000579", + "name": "Plant Transcription Factor Database", + "pattern": "^[A-Z][a-z]{2}_([A-Za-z]{3}[0-9]{6})|([A-Za-z0-9\\._\\-#]*)$", + "description": "The Plant TF database (PlantTFDB) systematically identifies transcription factors for plant species. It includes annotation for identified TFs, including information on expression, regulation, interaction, conserved elements, phenotype information. It also provides curated descriptions and cross-references to other life science databases, as well as identifying evolutionary relationship among identified factors.", + "created": "2019-06-11T14:17:53.641+00:00", + "modified": "2019-06-11T14:17:53.641+00:00", + "resources": [ + { + "id": 1613, + "mirId": "MIR:00100772", + "urlPattern": "http://planttfdb.cbi.pku.edu.cn/tf.php?uid={$id}", + "name": "PlantTFDB at Peking University", + "description": "PlantTFDB at Peking University", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Ath_AT1G01030.1", + "resourceHomeUrl": "http://planttfdb.cbi.pku.edu.cn", + "institution": { + "id": 1612, + "name": "Peking University", + "homeUrl": "http://english.pku.edu.cn/", + "description": "Peking University is a comprehensive and national key university. The campus, known as \"Yan Yuan\"\uff08the garden of Yan\uff09, is situated at Haidian District in the western suburb of Beijing, with a total area of 2,743,532 square metres (or 274 hectares). It stands near to the Yuanmingyuan Garden and the Summer Palace.\nPeking University is proud of its outstanding faculty, including 48 members of the Chinese Academy of Sciences (CAS), 9 members of the Chinese Academy of Engineering (CAE), and 21 members of the Third World Academy of Sciences (TWAS).", + "rorId": "https://ror.org/02v51f717", + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Ath_AT1G01030.1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1614, + "prefix": "mp", + "mirId": "MIR:00000580", + "name": "Mammalian Phenotype Ontology", + "pattern": "^MP:\\d{7}$", + "description": "The Mammalian Phenotype Ontology (MP) classifies and organises phenotypic information related to the mouse and other mammalian species. This ontology has been applied to mouse phenotype descriptions in various databases allowing comparisons of data from diverse mammalian sources. It can facilitate in the identification of appropriate experimental disease models, and aid in the discovery of candidate disease genes and molecular signaling pathways.", + "created": "2019-06-11T14:17:53.926+00:00", + "modified": "2019-06-11T14:17:53.926+00:00", + "resources": [ + { + "id": 1617, + "mirId": "MIR:00100776", + "urlPattern": "https://bioportal.bioontology.org/ontologies/MP/MP:{$id}", + "name": "Mammalian Phenotype Ontology through BioPortal", + "description": "Mammalian Phenotype Ontology through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "0005452", + "resourceHomeUrl": "https://bioportal.bioontology.org/ontologies/MP", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1616, + "mirId": "MIR:00100775", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/mp/terms?obo_id=MP:{$id}", + "name": "Mammalian Phenotype Ontology through OLS", + "description": "Mammalian Phenotype Ontology through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "0005452", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/mp/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1615, + "mirId": "MIR:00100774", + "urlPattern": "http://www.informatics.jax.org/searches/Phat.cgi?id=MP:{$id}", + "name": "Mammalian Phenotype Ontology at The Jackson Lab", + "description": "Mammalian Phenotype Ontology at The Jackson Lab", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "0005452", + "resourceHomeUrl": "http://www.informatics.jax.org/", + "institution": { + "id": 91, + "name": "The Jackson Laboratory", + "homeUrl": "https://www.jax.org/#", + "description": "The Jackson Laboratory (JAX) is an independent, nonprofit biomedical research organization that leverages a unique combination of research, education and resources to achieve our mission: We DISCOVER precise genomic solutions for disease and EMPOWER the global biomedical community in its shared quest to improve human health.", + "rorId": "https://ror.org/021sy4w91", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0005452", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1618, + "prefix": "worms", + "mirId": "MIR:00000581", + "name": "World Register of Marine Species", + "pattern": "^\\d+$", + "description": "The World Register of Marine Species (WoRMS) provides an authoritative and comprehensive list of names of marine organisms. It includes synonyms for valid taxonomic names allowing a more complete interpretation of taxonomic literature. The content of WoRMS is administered by taxonomic experts.", + "created": "2019-06-11T14:17:54.476+00:00", + "modified": "2019-06-11T14:17:54.476+00:00", + "resources": [ + { + "id": 1620, + "mirId": "MIR:00100778", + "urlPattern": "http://www.marinespecies.org/aphia.php?p=taxdetails&id={$id}", + "name": "World Register of Marine Species", + "description": "World Register of Marine Species", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "146421", + "resourceHomeUrl": "http://www.marinespecies.org/", + "institution": { + "id": 1619, + "name": "Flanders Marine Institute, Ostend", + "homeUrl": "https://www.vliz.be/", + "description": "The Flanders Marine Institute promotes marine knowledge creation and excellence through sound interdisciplinary research about the ocean, seas, coast and tidal estuaries. We do this in close collaboration with other (marine) research groups, citizens, policy makers and industrial partners in Flanders, Belgium, and through international collaboration.", + "rorId": "https://ror.org/0496vr396", + "location": { + "countryCode": "BE", + "countryName": "Belgium" + } + }, + "location": { + "countryCode": "BE", + "countryName": "Belgium" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "146421", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1621, + "prefix": "multicellds.collection", + "mirId": "MIR:00000582", + "name": "MultiCellDS collection", + "pattern": "^MCDS_C_[a-zA-Z0-9]{1,10}$", + "description": "MultiCellDS is data standard for multicellular simulation, experimental, and clinical data. A collection groups one or more individual uniquely identified cell lines, snapshots, or collections. Primary uses are times series (collections of snapshots), patient cohorts (collections of cell lines), and studies (collections of time series collections).", + "created": "2019-06-11T14:17:54.753+00:00", + "modified": "2019-06-11T14:17:54.753+00:00", + "resources": [ + { + "id": 1623, + "mirId": "MIR:00100779", + "urlPattern": "http://multicellds.org/MultiCellDB/{$id}", + "name": "MultiCellDScollection at Keck School of Medicine", + "description": "MultiCellDScollection at Keck School of Medicine", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "MCDS_C_0000000001", + "resourceHomeUrl": "http://multicellds.org/MultiCellDB.php", + "institution": { + "id": 1622, + "name": "Center for Applied Molecular Medicine, Keck School of Medicine, University of Southern California, California", + "homeUrl": "https://keck.usc.edu/", + "description": "This center comprises a multidisciplinary team of investigators dedicated to furthering the development and use of proteomic technologies to guide doctors in patient management decisions. The center is based within the Department of Medicine.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MCDS_C_0000000001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1624, + "prefix": "multicellds.snapshot", + "mirId": "MIR:00000583", + "name": "MultiCellDS Digital snapshot", + "pattern": "^MCDS_S_[a-zA-Z0-9]{1,10}$", + "description": "MultiCellDS is data standard for multicellular simulation, experimental, and clinical data. A digital snapshot is a single-time output of the microenvironment (including basement membranes and the vascular network), any cells contained within, and essential metadata. Cells may include phenotypic data.", + "created": "2019-06-11T14:17:55.012+00:00", + "modified": "2019-06-11T14:17:55.012+00:00", + "resources": [ + { + "id": 1625, + "mirId": "MIR:00100780", + "urlPattern": "http://multicellds.org/MultiCellDB/{$id}", + "name": "MultiCellDS snapshot at Keck School of Medicine", + "description": "MultiCellDS snapshot at Keck School of Medicine", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "MCDS_S_0000000001", + "resourceHomeUrl": "http://multicellds.org/MultiCellDB.php", + "institution": { + "id": 1622, + "name": "Center for Applied Molecular Medicine, Keck School of Medicine, University of Southern California, California", + "homeUrl": "https://keck.usc.edu/", + "description": "This center comprises a multidisciplinary team of investigators dedicated to furthering the development and use of proteomic technologies to guide doctors in patient management decisions. The center is based within the Department of Medicine.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MCDS_S_0000000001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1626, + "prefix": "multicellds.cell_line", + "mirId": "MIR:00000584", + "name": "MultiCellDS Digital Cell Line", + "pattern": "^MCDS_L_[a-zA-Z0-9]{1,10}$", + "description": "MultiCellDS is data standard for multicellular simulation, experimental, and clinical data. A digital cell line is a hierarchical organization of quantitative phenotype data for a single biological cell line, including the microenvironmental context of the measurements and essential metadata.", + "created": "2019-06-11T14:17:55.320+00:00", + "modified": "2019-06-11T14:17:55.320+00:00", + "resources": [ + { + "id": 1627, + "mirId": "MIR:00100781", + "urlPattern": "http://multicellds.org/MultiCellDB/{$id}", + "name": "MultiCellDS Digital Cell Line at Keck School of Medicine", + "description": "MultiCellDS Digital Cell Line at Keck School of Medicine", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "MCDS_L_0000000001", + "resourceHomeUrl": "http://multicellds.org/MultiCellDB.php", + "institution": { + "id": 1622, + "name": "Center for Applied Molecular Medicine, Keck School of Medicine, University of Southern California, California", + "homeUrl": "https://keck.usc.edu/", + "description": "This center comprises a multidisciplinary team of investigators dedicated to furthering the development and use of proteomic technologies to guide doctors in patient management decisions. The center is based within the Department of Medicine.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MCDS_L_0000000001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1628, + "prefix": "ecyano.entity", + "mirId": "MIR:00000585", + "name": "E-cyanobacterium entity", + "pattern": "^\\d+$", + "description": "E-cyanobacterium.org is a web-based platform for public sharing, annotation, analysis, and visualisation of dynamical models and wet-lab experiments related to cyanobacteria. It allows models to be represented at different levels of abstraction \u2014 as biochemical reaction networks or ordinary differential equations.It provides concise mappings of mathematical models to a formalised consortium-agreed biochemical description, with the aim of connecting the world of biological knowledge with benefits of mathematical description of dynamic processes. This collection references entities.", + "created": "2019-06-11T14:17:55.541+00:00", + "modified": "2019-06-11T14:17:55.541+00:00", + "resources": [ + { + "id": 1630, + "mirId": "MIR:00100782", + "urlPattern": "http://e-cyanobacterium.org/bcs/entity/{$id}/", + "name": "e-cyanobacterium entity at Masaryk University Brno", + "description": "e-cyanobacterium entity at Masaryk University Brno", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "23", + "resourceHomeUrl": "http://www.e-cyanobacterium.org/bcs/entity/", + "institution": { + "id": 1629, + "name": "Systems Biology Laboratory, Faculty of Informatics, Masaryk University Brno", + "homeUrl": "https://sybila.fi.muni.cz/", + "description": "From January 1, 2016 we became part of the national research infrastructure C4Sys (Centre for System Biology), representing a Czech node of the ISBE (Infrastructure for Systems Biology \u2013 Europe), and our activities are supported from the program for large research infrastructures of the Ministry of Education, Youth and Sports. ", + "rorId": null, + "location": { + "countryCode": "CZ", + "countryName": "Czech Republic" + } + }, + "location": { + "countryCode": "CZ", + "countryName": "Czech Republic" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "23", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1631, + "prefix": "ecyano.model", + "mirId": "MIR:00000586", + "name": "E-cyanobacterium model", + "pattern": "^\\d+$", + "description": "E-cyanobacterium.org is a web-based platform for public sharing, annotation, analysis, and visualisation of dynamical models and wet-lab experiments related to cyanobacteria. It allows models to be represented at different levels of abstraction \u2014 as biochemical reaction networks or ordinary differential equations.It provides concise mappings of mathematical models to a formalised consortium-agreed biochemical description, with the aim of connecting the world of biological knowledge with benefits of mathematical description of dynamic processes. This collection references models.", + "created": "2019-06-11T14:17:55.864+00:00", + "modified": "2019-06-11T14:17:55.864+00:00", + "resources": [ + { + "id": 1632, + "mirId": "MIR:00100783", + "urlPattern": "http://e-cyanobacterium.org/models/model/{$id}/", + "name": "e-cyanobacterium entity at Masaryk University Brno", + "description": "e-cyanobacterium entity at Masaryk University Brno", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "26", + "resourceHomeUrl": "http://e-cyanobacterium.org/models/", + "institution": { + "id": 1629, + "name": "Systems Biology Laboratory, Faculty of Informatics, Masaryk University Brno", + "homeUrl": "https://sybila.fi.muni.cz/", + "description": "From January 1, 2016 we became part of the national research infrastructure C4Sys (Centre for System Biology), representing a Czech node of the ISBE (Infrastructure for Systems Biology \u2013 Europe), and our activities are supported from the program for large research infrastructures of the Ministry of Education, Youth and Sports. ", + "rorId": null, + "location": { + "countryCode": "CZ", + "countryName": "Czech Republic" + } + }, + "location": { + "countryCode": "CZ", + "countryName": "Czech Republic" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "26", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1707, + "prefix": "mmp.cat", + "mirId": "MIR:00000615", + "name": "MarCat", + "pattern": "^MMP\\d+.\\d+$", + "description": "MarCat is a gene (protein) catalogue of uncultivable and cultivable marine genes and proteins derived from metagenomics samples.", + "created": "2019-06-11T14:18:03.141+00:00", + "modified": "2019-06-11T14:18:03.141+00:00", + "resources": [ + { + "id": 1708, + "mirId": "MIR:00100819", + "urlPattern": "https://mmp.sfb.uit.no/databases/marcat/#/records/{$id}", + "name": "MarCat through SfB", + "description": "MarCat through SfB", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "MMP743597.11", + "resourceHomeUrl": "https://mmp.sfb.uit.no/databases/marcat/", + "institution": { + "id": 1703, + "name": "Center for Bioinformatics (SfB), UiT The Arctic university of Norway", + "homeUrl": "https://en.uit.no/forskning/forskningsgrupper/gruppe?p_document_id=347053", + "description": "The Center for Bioinformatics at the Faculty of Science and Technology is a research-based service center established to facilitate cross-disciplinary research, teaching, and services at the interface of biotechnology and computer science. The center currently comprises researchers and students from the Department of Chemistry and the Department of Computer Science. The center provides research collaboration and services related to bioinformatics.", + "rorId": null, + "location": { + "countryCode": "NO", + "countryName": "Norway" + } + }, + "location": { + "countryCode": "NO", + "countryName": "Norway" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MMP743597.11", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1712, + "prefix": "aop", + "mirId": "MIR:00000617", + "name": "AOPWiki", + "pattern": "^\\d+$", + "description": "International repository of Adverse Outcome Pathways.", + "created": "2019-06-11T14:18:03.584+00:00", + "modified": "2019-06-11T14:18:03.584+00:00", + "resources": [ + { + "id": 1714, + "mirId": "MIR:00100821", + "urlPattern": "https://aopwiki.org/aops/{$id}", + "name": "AOPWiki", + "description": "AOPWiki", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "98", + "resourceHomeUrl": "https://aopwiki.org/", + "institution": { + "id": 1713, + "name": "European Commision - DG Joint Research Centre and U.S Environmental Protection Agency", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "98", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1633, + "prefix": "ecyano.rule", + "mirId": "MIR:00000587", + "name": "E-cyanobacterium rule", + "pattern": "^\\d+$", + "description": "E-cyanobacterium.org is a web-based platform for public sharing, annotation, analysis, and visualisation of dynamical models and wet-lab experiments related to cyanobacteria. It allows models to be represented at different levels of abstraction \u2014 as biochemical reaction networks or ordinary differential equations.It provides concise mappings of mathematical models to a formalised consortium-agreed biochemical description, with the aim of connecting the world of biological knowledge with benefits of mathematical description of dynamic processes. This collection references rules.", + "created": "2019-06-11T14:17:56.089+00:00", + "modified": "2019-06-11T14:17:56.089+00:00", + "resources": [ + { + "id": 1634, + "mirId": "MIR:00100784", + "urlPattern": "http://e-cyanobacterium.org/bcs/rule/{$id}/", + "name": "e-cyanobacterium entity at Masaryk University Brno", + "description": "e-cyanobacterium entity at Masaryk University Brno", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "56", + "resourceHomeUrl": "http://www.e-cyanobacterium.org/bcs/rule/", + "institution": { + "id": 1629, + "name": "Systems Biology Laboratory, Faculty of Informatics, Masaryk University Brno", + "homeUrl": "https://sybila.fi.muni.cz/", + "description": "From January 1, 2016 we became part of the national research infrastructure C4Sys (Centre for System Biology), representing a Czech node of the ISBE (Infrastructure for Systems Biology \u2013 Europe), and our activities are supported from the program for large research infrastructures of the Ministry of Education, Youth and Sports. ", + "rorId": null, + "location": { + "countryCode": "CZ", + "countryName": "Czech Republic" + } + }, + "location": { + "countryCode": "CZ", + "countryName": "Czech Republic" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "56", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1635, + "prefix": "lincs.data", + "mirId": "MIR:00000588", + "name": "LINCS Data", + "pattern": "^[EL]D[SG]-\\d+$", + "description": "The Library of Network-Based Cellular Signatures (LINCS) Program aims to create a network-based understanding of biology by cataloguing changes in gene expression and other cellular processes that occur when cells are exposed to perturbing agents. The data is organized and available as datasets, each including experimental data, metadata and a description of the dataset and assay. The dataset group comprises datasets for the same experiment but with different data level results (data processed to a different level).", + "created": "2019-06-11T14:17:56.343+00:00", + "modified": "2019-06-11T14:17:56.343+00:00", + "resources": [ + { + "id": 1636, + "mirId": "MIR:00100785", + "urlPattern": "http://lincsportal.ccs.miami.edu/datasets/#/view/{$id}", + "name": "LINCS Data at University of Miami", + "description": "LINCS Data at University of Miami", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "LDS-1110", + "resourceHomeUrl": "http://lincsportal.ccs.miami.edu/datasets/", + "institution": { + "id": 1526, + "name": "University of Miami, BD2K-LINCS DCIC", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1637, + "mirId": "MIR:00100856", + "urlPattern": "https://www.omicsdi.org/dataset/lincs/{$id}", + "name": "Lincs through OmicsDI", + "description": "Lincs through OmicsDI", + "official": false, + "providerCode": "omicsdi", + "sampleId": "LDS-1110", + "resourceHomeUrl": "https://www.omicsdi.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "LDS-1110", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1638, + "prefix": "agricola", + "mirId": "MIR:00000589", + "name": "AGRICOLA", + "pattern": "^\\d+$", + "description": "AGRICOLA (AGRICultural OnLine Access) serves as the catalog and index to the collections of the National Agricultural Library, as well as a primary public source for world-wide access to agricultural information. The database covers materials in all formats and periods, including printed works from as far back as the 15th century.", + "created": "2019-06-11T14:17:56.660+00:00", + "modified": "2019-06-11T14:17:56.660+00:00", + "resources": [ + { + "id": 1640, + "mirId": "MIR:00100789", + "urlPattern": "http://ddr.nal.usda.gov/dspace/handle/10113/{$id}", + "name": "AGRICOLA at National Agricultural Library", + "description": "AGRICOLA at National Agricultural Library", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "50018", + "resourceHomeUrl": "http://agricola.nal.usda.gov/", + "institution": { + "id": 1639, + "name": "National Agricultural Library, United States Department of Agriculture", + "homeUrl": "https://www.nal.usda.gov/", + "description": "The National Agricultural Library (NAL) is one of five national libraries of the United States. It houses one of the world's largest collections devoted to agriculture and its related sciences.", + "rorId": "https://ror.org/00z6b1508", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "50018", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1641, + "prefix": "ms", + "mirId": "MIR:00000590", + "name": "Mass Spectrometry Controlled Vocabulary", + "pattern": "^MS:\\d{7}$", + "description": "The PSI-Mass Spectrometry (MS) CV contains all the terms used in the PSI MS-related data standards. The CV contains a logical hierarchical structure to ensure ease of maintenance and the development of software that makes use of complex semantics. The CV contains terms required for a complete description of an MS analysis pipeline used in proteomics, including sample labeling, digestion enzymes, instrumentation parts and parameters, software used for identification and quantification of peptides/proteins and the parameters and scores used to determine their significance.", + "created": "2019-06-11T14:17:56.919+00:00", + "modified": "2019-06-11T14:17:56.919+00:00", + "resources": [ + { + "id": 1643, + "mirId": "MIR:00100787", + "urlPattern": "http://purl.bioontology.org/ontology/MS/MS:{$id}", + "name": "Mass Spectrometry Controlled Vocabulary through BioPortal", + "description": "Mass Spectrometry Controlled Vocabulary through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "1000001", + "resourceHomeUrl": "https://bioportal.bioontology.org/ontologies/MS", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1642, + "mirId": "MIR:00100786", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/ms/terms?obo_id=MS:{$id}", + "name": "Mass Spectrometry Controlled Vocabulary through OLS", + "description": "Mass Spectrometry Controlled Vocabulary through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "1000001", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/ms", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1000001", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1650, + "prefix": "grid", + "mirId": "MIR:00000593", + "name": "GRID", + "pattern": "^grid\\.[0-9]+\\.[a-f0-9]{1,2}$", + "description": "International coverage of the world's leading research organisations, indexing 92% of funding allocated globally.", + "created": "2019-06-11T14:17:57.806+00:00", + "modified": "2019-06-11T14:17:57.806+00:00", + "resources": [ + { + "id": 1652, + "mirId": "MIR:00100793", + "urlPattern": "https://www.grid.ac/institutes/{$id}", + "name": "GRID at Digital Science & Research Ltd.", + "description": "GRID at Digital Science & Research Ltd.", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "grid.225360.0", + "resourceHomeUrl": "https://www.grid.ac/", + "institution": { + "id": 1651, + "name": "Digital Science & Research Ltd, London", + "homeUrl": "http://www.digital-science.com/", + "description": "Digital Science believes research is the single most powerful transformational force for the long-term improvement of society. A future where a trusted, frictionless, collaborative research ecosystem drives progress for all. Our work and our staff embody these values which guide what we do every day, how we partner and work with the research community.", + "rorId": "https://ror.org/02ktfc112", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "grid.225360.0", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1653, + "prefix": "medgen", + "mirId": "MIR:00000594", + "name": "MedGen", + "pattern": "^[CN]*\\d{4,7}$", + "description": "MedGen is a portal for information about conditions and phenotypes related to Medical Genetics. Terms from multiple sources are aggregated into concepts, each of which is assigned a unique identifier and a preferred name and symbol. The core content of the record may include names, identifiers used by other databases, mode of inheritance, clinical features, and map location of the loci affecting the disorder.", + "created": "2019-06-11T14:17:58.068+00:00", + "modified": "2019-06-11T14:17:58.068+00:00", + "resources": [ + { + "id": 1654, + "mirId": "MIR:00100794", + "urlPattern": "https://www.ncbi.nlm.nih.gov/medgen/{$id}", + "name": "MedGen at NCBI", + "description": "MedGen at NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "760050", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/medgen/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "760050", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1655, + "prefix": "clinvar.submission", + "mirId": "MIR:00000595", + "name": "ClinVar Submission", + "pattern": "^SCV\\d+(\\.\\d+)?$", + "description": "ClinVar archives reports of relationships among medically important variants and phenotypes. It records human variation, interpretations of the relationship specific variations to human health, and supporting evidence for each interpretation. Each ClinVar record (RCV identifier) represents an aggregated view of interpretations of the same variation and condition from one or more submitters. Submissions for individual variation/phenotype combinations (SCV identifier) are also collected and made available separately. This collection references submissions, and is based on SCV accession.", + "created": "2019-06-11T14:17:58.273+00:00", + "modified": "2019-06-11T14:17:58.273+00:00", + "resources": [ + { + "id": 1656, + "mirId": "MIR:00100795", + "urlPattern": "http://www.ncbi.nlm.nih.gov/clinvar?term={$id}", + "name": "ClinVar Submission at NCBI", + "description": "ClinVar Submission at NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "SCV000151292", + "resourceHomeUrl": "http://www.ncbi.nlm.nih.gov/clinvar/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "SCV000151292", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1657, + "prefix": "clinvar", + "mirId": "MIR:00000596", + "name": "ClinVar Variant", + "pattern": "^\\d+$", + "description": "ClinVar archives reports of relationships among medically important variants and phenotypes. It records human variation, interpretations of the relationship specific variations to human health, and supporting evidence for each interpretation. Each ClinVar record (RCV identifier) represents an aggregated view of interpretations of the same variation and condition from one or more submitters. Submissions for individual variation/phenotype combinations (SCV identifier) are also collected and made available separately. This collection references the Variant identifier.", + "created": "2019-06-11T14:17:58.490+00:00", + "modified": "2019-06-11T14:17:58.490+00:00", + "resources": [ + { + "id": 1658, + "mirId": "MIR:00100796", + "urlPattern": "https://www.ncbi.nlm.nih.gov/clinvar/variation/{$id}", + "name": "ClinVar Variant at NCBI", + "description": "ClinVar Variant at NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "12345", + "resourceHomeUrl": "http://www.ncbi.nlm.nih.gov/clinvar/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "12345", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1664, + "prefix": "mir", + "mirId": "MIR:00000599", + "name": "Identifiers.org Registry", + "pattern": "^MIR:\\d{8}$", + "description": "The Identifiers.org registry contains registered namespace and provider prefixes with associated access URIs for a large number of high quality data collections. These prefixes are used in web resolution of compact identifiers of the form \u201cPREFIX:ACCESSION\u201d or \"PROVIDER/PREFIX:ACCESSION\u201d commonly used to specify bioinformatics and other data resources.", + "created": "2019-06-11T14:17:59.221+00:00", + "modified": "2019-06-11T14:17:59.221+00:00", + "resources": [ + { + "id": 1665, + "mirId": "MIR:00100800", + "urlPattern": "https://resolver.api.identifiers.org/resolveMirId/MIR:{$id}", + "name": "Identifiers.org Registry through EBI", + "description": "Identifiers.org Registry through EBI", + "official": false, + "providerCode": "ebi", + "sampleId": "00100037", + "resourceHomeUrl": "https://registry.identifiers.org/registry", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "00100037", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1669, + "prefix": "cosmic", + "mirId": "MIR:00000601", + "name": "COSMIC Gene", + "pattern": "^[A-Z0-9]+$", + "description": "COSMIC is a comprehensive global resource for information on somatic mutations in human cancer, combining curation of the scientific literature with tumor resequencing data from the Cancer Genome Project at the Sanger Institute, U.K. This collection references genes.", + "created": "2019-06-11T14:17:59.699+00:00", + "modified": "2019-06-11T14:17:59.699+00:00", + "resources": [ + { + "id": 1670, + "mirId": "MIR:00100802", + "urlPattern": "http://cancer.sanger.ac.uk/cosmic/gene/overview?ln={$id}", + "name": "COSMIC Gene at Sanger", + "description": "COSMIC Gene at Sanger", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "BRAF", + "resourceHomeUrl": "http://cancer.sanger.ac.uk/cosmic/", + "institution": { + "id": 210, + "name": "Wellcome Trust Sanger Institute", + "homeUrl": "https://www.sanger.ac.uk/", + "description": "We tackle some of the most difficult challenges in genomic research. This demands science at scale; a visionary and creative approach to research that pushes the boundaries of our understanding in ever new and exciting ways.", + "rorId": "https://ror.org/05cy4wa09", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "BRAF", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1671, + "prefix": "dbgap", + "mirId": "MIR:00000602", + "name": "dbGaP", + "pattern": "^phs[0-9]{6}(.v\\d+.p\\d+)?$", + "description": "The database of Genotypes and Phenotypes (dbGaP) archives and distributes the results of studies that have investigated the interaction of genotype and phenotype.", + "created": "2019-06-11T14:17:59.890+00:00", + "modified": "2019-06-11T14:17:59.890+00:00", + "resources": [ + { + "id": 1672, + "mirId": "MIR:00100803", + "urlPattern": "https://www.ncbi.nlm.nih.gov/projects/gap/cgi-bin/study.cgi?study_id={$id}", + "name": "dbGaP through NCBI", + "description": "dbGaP through NCBI", + "official": true, + "providerCode": "ncbi", + "sampleId": "phs000768.v2.p1", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/gap/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "phs000768.v2.p1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1673, + "prefix": "iao", + "mirId": "MIR:00000603", + "name": "Information Artifact Ontology", + "pattern": "^\\d{7}$", + "description": "An ontology of information entities, originally driven by work by the Ontology of Biomedical Investigation (OBI) digital entity and realizable information entity branch.", + "created": "2019-06-11T14:18:00.081+00:00", + "modified": "2019-06-11T14:18:00.081+00:00", + "resources": [ + { + "id": 1675, + "mirId": "MIR:00100804", + "urlPattern": "http://purl.obolibrary.org/obo/IAO_{$id}", + "name": "IAO through Ontobee", + "description": "IAO through Ontobee", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "0000030", + "resourceHomeUrl": "http://www.ontobee.org/ontology/IAO", + "institution": { + "id": 1674, + "name": "University of Pennsylvania", + "homeUrl": "https://www.upenn.edu/", + "description": "Penn\u2019s academics are boosted by its inherent culture and ecosystem of innovation. You name it, if it\u2019s cutting-edge, the University\u2019s faculty\u2014and students\u2014have their hands in it. Grounded in the liberal arts and sciences and enriched by the integrated resources of four undergraduate and 12 graduate schools, Penn offers students an unparalleled education informed by inclusivity, intellectual rigor, research, and the impetus to create new knowledge to the benefit of individuals and communities around the world.", + "rorId": "https://ror.org/00b30xv10", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0000030", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1676, + "prefix": "gdc", + "mirId": "MIR:00000604", + "name": "Genomic Data Commons Data Portal", + "pattern": "^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$", + "description": "The GDC Data Portal is a robust data-driven platform that allows cancer researchers and bioinformaticians to search and download cancer data for analysis.", + "created": "2019-06-11T14:18:00.311+00:00", + "modified": "2019-06-11T14:18:00.311+00:00", + "resources": [ + { + "id": 1678, + "mirId": "MIR:00100805", + "urlPattern": "https://portal.gdc.cancer.gov/cases/{$id}", + "name": "Genomic Data Commons", + "description": "Genomic Data Commons", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ae8c77fe-e6c8-44d5-8265-4a38c637bbef", + "resourceHomeUrl": "https://gdc.cancer.gov", + "institution": { + "id": 1677, + "name": "National Cancer Institute Genomic Data Commons, NIH", + "homeUrl": "https://gdc.cancer.gov/", + "description": "The GDC provides researchers with access to standardized clinical, proteomic, epigenomics, and genomic data from cancer studies to enable exploratory analysis that cannot be considered definitive for outcomes.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ae8c77fe-e6c8-44d5-8265-4a38c637bbef", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1679, + "prefix": "omit", + "mirId": "MIR:00000605", + "name": "OMIT", + "pattern": "^\\d{7}$", + "description": "The purpose of the OMIT ontology is to establish data exchange standards and common data elements in the microRNA (miR) domain. Biologists (cell biologists in particular) and bioinformaticians can make use of OMIT to leverage emerging semantic technologies in knowledge acquisition and discovery for more effective identification of important roles performed by miRs in humans' various diseases and biological processes (usually through miRs' respective target genes).", + "created": "2019-06-11T14:18:00.566+00:00", + "modified": "2019-06-11T14:18:00.566+00:00", + "resources": [ + { + "id": 1680, + "mirId": "MIR:00100806", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/omit/terms?short_form=OMIT_{$id}", + "name": "Ontology for miRNA Target (OMIT) through OLS", + "description": "Ontology for miRNA Target (OMIT) through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "0005506", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/omit/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0005506", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1681, + "prefix": "insdc.cds", + "mirId": "MIR:00000606", + "name": "INSDC CDS", + "pattern": "^([A-Z]\\d{5}|[A-Z]{2}\\d{6}|[A-Z]{4}\\d{8}|[A-J][A-Z]{2}\\d{5})(\\.\\d+)?$", + "description": "The coding sequence or protein identifiers as maintained in INSDC.", + "created": "2019-06-11T14:18:00.782+00:00", + "modified": "2019-06-11T14:18:00.782+00:00", + "resources": [ + { + "id": 1684, + "mirId": "MIR:00100809", + "urlPattern": "http://getentry.ddbj.nig.ac.jp/getentry/dad/{$id}", + "name": "INSDC CDS through DDBJ", + "description": "INSDC CDS through DDBJ", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "AAA35559", + "resourceHomeUrl": "http://getentry.ddbj.nig.ac.jp", + "institution": { + "id": 121, + "name": "DNA Data Bank of Japan, Mishima, Shizuoka", + "homeUrl": "https://www.ddbj.nig.ac.jp/index-e.html", + "description": "DDBJ Center collects nucleotide sequence data as a member of INSDC(International Nucleotide Sequence Database Collaboration) and provides freely available nucleotide sequence data and supercomputer system, to support research\u3000activities in life science.", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1682, + "mirId": "MIR:00100807", + "urlPattern": "https://www.ebi.ac.uk/ena/data/view/{$id}", + "name": "INSDC CDS through ENA", + "description": "INSDC CDS through ENA", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "AAA35559", + "resourceHomeUrl": "https://www.ebi.ac.uk/ena", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1683, + "mirId": "MIR:00100808", + "urlPattern": "https://www.ncbi.nlm.nih.gov/protein/{$id}", + "name": "INSDC CDS through NCBI", + "description": "INSDC CDS through NCBI", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "AAA35559", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/protein/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AAA35559", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1688, + "prefix": "glytoucan", + "mirId": "MIR:00000608", + "name": "GlyTouCan", + "pattern": "^G[0-9]{5}[A-Z]{2}$", + "description": "GlyTouCan is the single worldwide registry of glycan (carbohydrate sugar chain) data.", + "created": "2019-06-11T14:18:01.543+00:00", + "modified": "2019-06-11T14:18:01.543+00:00", + "resources": [ + { + "id": 1690, + "mirId": "MIR:00100812", + "urlPattern": "https://glytoucan.org/Structures/Glycans/{$id}", + "name": "The Glycan Repository", + "description": "The Glycan Repository", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "G00054MO", + "resourceHomeUrl": "https://glytoucan.org", + "institution": { + "id": 1689, + "name": "Soka University, Hachioji, Tokyo", + "homeUrl": "https://www.soka.ac.jp/en/", + "description": "Be the highest seat of learning for humanistic education. Be the cradle of a new culture. Be a fortress for the peace of humankind.", + "rorId": "https://ror.org/003qdfg20", + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "G00054MO", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1696, + "prefix": "d1id", + "mirId": "MIR:00000611", + "name": "DataONE", + "pattern": "\\S+", + "description": "DataONE provides infrastructure facilitating long-term access to scientific research data of relevance to the earth sciences.", + "created": "2019-06-11T14:18:02.239+00:00", + "modified": "2019-06-11T14:18:02.239+00:00", + "resources": [ + { + "id": 1698, + "mirId": "MIR:00100815", + "urlPattern": "https://cn.dataone.org/cn/v2/resolve/{{$id}}", + "name": "DataONE", + "description": "DataONE", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "00030692-0FE1-4A1B-955E-A2E55D659267", + "resourceHomeUrl": "https://www.dataone.org", + "institution": { + "id": 1697, + "name": "DataONE, Albuquerque, NM", + "homeUrl": "http://dataone.org/", + "description": "DataONE is a community driven program providing access to data across multiple member repositories, supporting enhanced search and discovery of Earth and environmental data. DataONE promotes best practices in data management through responsive educational resources and materials. We envision researchers, educators, and the public using DataONE to better understand and conserve life on earth and the environment that sustains it.", + "rorId": "https://ror.org/00hr5y405", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "00030692-0FE1-4A1B-955E-A2E55D659267", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1715, + "prefix": "ngl", + "mirId": "MIR:00000618", + "name": "NASA GeneLab", + "pattern": "^GLDS-\\d+$", + "description": "NASA's GeneLab gathers spaceflight genomic data, RNA and protein expression, and metabolic profiles, interfaces with existing databases for expanded research, will offer tools to conduct data analysis, and is in the process of creating a place online where scientists, researchers, teachers and students can connect with their peers, share their results, and communicate with NASA.", + "created": "2019-06-11T14:18:03.826+00:00", + "modified": "2019-06-11T14:18:03.826+00:00", + "resources": [ + { + "id": 1717, + "mirId": "MIR:00100822", + "urlPattern": "https://genelab-data.ndc.nasa.gov/genelab/accession/{$id}", + "name": "NASA GeneLab", + "description": "NASA GeneLab", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "GLDS-141", + "resourceHomeUrl": "https://genelab-data.ndc.nasa.gov/genelab/", + "institution": { + "id": 1716, + "name": "NASA's Ames Research Center", + "homeUrl": "http://www.nasa.gov/centers/ames/home/index.html", + "description": "NASA's Ames Research Center, one of ten NASA field centers, is located in the heart of California's Silicon Valley. Since 1939, Ames has led NASA in conducting world-class research and development in aeronautics, exploration technology and science aligned with the center's core capabilities.", + "rorId": "https://ror.org/02acart68", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "GLDS-141", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1699, + "prefix": "cath", + "mirId": "MIR:00000612", + "name": "CATH Protein Structural Domain Superfamily", + "pattern": "^[1-6]\\.[0-9]+\\.[0-9]+\\.[0-9]+$", + "description": "CATH is a classification of protein structural domains. We group protein domains into superfamilies when there is sufficient evidence they have diverged from a common ancestor. CATH can be used to predict structural and functional information directly from protein sequence.", + "created": "2019-06-11T14:18:02.470+00:00", + "modified": "2021-02-01T16:12:25.234+00:00", + "resources": [ + { + "id": 1701, + "mirId": "MIR:00100816", + "urlPattern": "http://www.cathdb.info/cathnode/{$id}", + "name": "CATH Node through UCL", + "description": "CATH Node through UCL", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1.10.8.10", + "resourceHomeUrl": "http://www.cathdb.info", + "institution": { + "id": 1700, + "name": "University College London", + "homeUrl": "https://www.ucl.ac.uk/", + "description": "UCL is a diverse global community of world-class academics, students, industry links, external partners, and alumni. Our powerful collective of individuals and institutions work together to explore new possibilities.", + "rorId": "https://ror.org/02jx3x895", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1.10.8.10", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1691, + "prefix": "metacyc.compound", + "mirId": "MIR:00000609", + "name": "MetaCyc Compound", + "pattern": "^[A-Za-z0-9+_.%-:]+$", + "description": "MetaCyc is a curated database of experimentally elucidated metabolic pathways from all domains of life. MetaCyc contains 2526 pathways from 2844 different organisms. MetaCyc contains pathways involved in both primary and secondary metabolism, as well as associated metabolites, reactions, enzymes, and genes. The goal of MetaCyc is to catalog the universe of metabolism by storing a representative sample of each experimentally elucidated pathway.", + "created": "2019-06-11T14:18:01.783+00:00", + "modified": "2021-04-17T19:53:03.023+00:00", + "resources": [ + { + "id": 1693, + "mirId": "MIR:00100813", + "urlPattern": "https://metacyc.org/compound?orgid=META&id={$id}", + "name": "MetaCyc Metabolic Pathway Database", + "description": "MetaCyc Metabolic Pathway Database", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "CPD-10330", + "resourceHomeUrl": "https://metacyc.org", + "institution": { + "id": 1692, + "name": "SRI International", + "homeUrl": "https://www.sri.com/", + "description": "SRI is an independent, nonprofit research center that works with clients to take the most advanced R&D from the laboratory to the marketplace.", + "rorId": "https://ror.org/05s570m15", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CPD-10330", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1694, + "prefix": "metacyc.reaction", + "mirId": "MIR:00000610", + "name": "MetaCyc Reaction", + "pattern": "^[A-Za-z0-9+_.%-:]+$", + "description": "MetaCyc is a curated database of experimentally elucidated metabolic pathways from all domains of life. MetaCyc contains 2526 pathways from 2844 different organisms. MetaCyc contains pathways involved in both primary and secondary metabolism, as well as associated metabolites, reactions, enzymes, and genes. The goal of MetaCyc is to catalog the universe of metabolism by storing a representative sample of each experimentally elucidated pathway.", + "created": "2019-06-11T14:18:02.043+00:00", + "modified": "2021-04-17T19:55:01.284+00:00", + "resources": [ + { + "id": 1695, + "mirId": "MIR:00100814", + "urlPattern": "https://metacyc.org/META/NEW-IMAGE?type=REACTION&object={$id}", + "name": "MetaCyc Metabolic Pathway Database - Reaction", + "description": "MetaCyc Metabolic Pathway Database - Reaction", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "RXN-14904", + "resourceHomeUrl": "https://metacyc.org", + "institution": { + "id": 1692, + "name": "SRI International", + "homeUrl": "https://www.sri.com/", + "description": "SRI is an independent, nonprofit research center that works with clients to take the most advanced R&D from the laboratory to the marketplace.", + "rorId": "https://ror.org/05s570m15", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "RXN-14904", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1709, + "prefix": "biotools", + "mirId": "MIR:00000616", + "name": "BioTools", + "pattern": "^[-A-Za-z0-9\\_]*$", + "description": "Tool and data services registry.", + "created": "2019-06-11T14:18:03.353+00:00", + "modified": "2023-01-05T19:09:45.468+00:00", + "resources": [ + { + "id": 1711, + "mirId": "MIR:00100820", + "urlPattern": "https://bio.tools/{$id}", + "name": "BioTools", + "description": "BioTools", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "uniprotkb", + "resourceHomeUrl": "https://bio.tools/", + "institution": { + "id": 1710, + "name": "Elixir-DK", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "DK", + "countryName": "Denmark" + } + }, + "location": { + "countryCode": "DK", + "countryName": "Denmark" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "uniprotkb", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1662, + "prefix": "cellosaurus", + "mirId": "MIR:00000598", + "name": "Cellosaurus", + "pattern": "^CVCL_[A-Z0-9]{4}(\\.txt)?$", + "description": "The Cellosaurus is a knowledge resource on cell lines. It attempts to describe all cell lines used in biomedical research. Its scope includes: Immortalized cell lines; naturally immortal cell lines (example: stem cell lines); finite life cell lines when those are distributed and used widely; vertebrate cell line with an emphasis on human, mouse and rat cell lines; and invertebrate (insects and ticks) cell lines. Its scope does not include primary cell lines (with the exception of the finite life cell lines described above) and plant cell lines.", + "created": "2019-06-11T14:17:59.000+00:00", + "modified": "2023-01-09T15:31:03.506+00:00", + "resources": [ + { + "id": 1663, + "mirId": "MIR:00100799", + "urlPattern": "https://www.cellosaurus.org/{$id}", + "name": "Cellosaurus through SIB", + "description": "Cellosaurus through SIB", + "official": false, + "providerCode": "sib", + "sampleId": "CVCL_0030", + "resourceHomeUrl": "https://www.cellosaurus.org/", + "institution": { + "id": 1730, + "name": "SIB Swiss Institute of Bioinformatics", + "homeUrl": "https://www.sib.swiss", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "rorId": "https://ror.org/002n09z45", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CVCL_0030", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1718, + "prefix": "erv", + "mirId": "MIR:00000619", + "name": "Human Endogenous Retrovirus Database", + "pattern": "^[A-Za-z0-9\\-\\_]+$", + "description": "Endogenous retroviruses (ERVs) are common in vertebrate genomes; a typical mammalian genome contains tens to hundreds of thousands of ERV elements. Most ERVs are evolutionarily old and have accumulated multiple mutations, playing important roles in physiology and disease processes. The Human Endogenous Retrovirus Database (hERV) is compiled from the human genome nucleotide sequences obtained from Human Genome Projects, and screens those sequences for hERVs, whilst continuously improving classification and characterization of retroviral families. It provides access to individual reconstructed HERV elements, their sequence, structure and features.", + "created": "2019-06-11T14:18:04.072+00:00", + "modified": "2019-06-11T14:18:04.072+00:00", + "resources": [ + { + "id": 1720, + "mirId": "MIR:00100823", + "urlPattern": "https://herv.img.cas.cz/s/{$id}", + "name": "Human Endogenous Retrovirus Database", + "description": "Human Endogenous Retrovirus Database", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "THE1B", + "resourceHomeUrl": "https://herv.img.cas.cz/", + "institution": { + "id": 1719, + "name": "Institute of Molecular Genetics, Academy of Sciences of the Czech Republic", + "homeUrl": "https://www.img.cas.cz", + "description": "Public scientific institution, part of the Czech Academy of Sciences. Research in molecular, structure and cell biology, immunology, genomics and bioinformatics.", + "rorId": "https://ror.org/045syc608", + "location": { + "countryCode": "CZ", + "countryName": "Czech Republic" + } + }, + "location": { + "countryCode": "CZ", + "countryName": "Czech Republic" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "THE1B", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1721, + "prefix": "napdi", + "mirId": "MIR:00000620", + "name": "Natural Product-Drug Interaction Research Data Repository", + "pattern": "^[0-9]+$", + "description": "The Natural Product-Drug Interaction Research Data Repository, a publicly accessible database where researchers can access scientific results, raw data, and recommended approaches to optimally assess the clinical significance of pharmacokinetic natural product-drug interactions (PK-NPDIs).", + "created": "2019-06-11T14:18:04.316+00:00", + "modified": "2019-06-11T14:18:04.316+00:00", + "resources": [ + { + "id": 1723, + "mirId": "MIR:00100824", + "urlPattern": "https://repo.napdi.org/study/{$id}", + "name": "Natural Product-Drug Interaction Research Data Repository", + "description": "Natural Product-Drug Interaction Research Data Repository", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "28", + "resourceHomeUrl": "https://repo.napdi.org/", + "institution": { + "id": 1722, + "name": "National Center for Complementary and Integrative Health, National Institutes of Health, Washington D.C.", + "homeUrl": "https://nccih.nih.gov/", + "description": "The National Center for Complementary and Integrative Health (NCCIH) is the Federal Government\u2019s lead agency for scientific research on complementary and integrative health approaches. We are 1 of the 27 Institutes, Centers, and Offices that make up the National Institutes of Health (NIH) within the U.S. Department of Health and Human Services.", + "rorId": "https://ror.org/00190t495", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "28", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1724, + "prefix": "arraymap", + "mirId": "MIR:00000621", + "name": "ArrayMap", + "pattern": "^[\\w\\-:,]{3,64}$", + "description": "arrayMap is a collection of pre-processed oncogenomic array data sets and CNA (somatic copy number aberrations) profiles. CNA are a type of mutation commonly found in cancer genomes. arrayMap data is assembled from public repositories and supplemented with additional sources, using custom curation pipelines. This information has been mapped to multiple editions of the reference human genome.", + "created": "2019-06-11T14:18:04.557+00:00", + "modified": "2019-06-11T14:18:04.557+00:00", + "resources": [ + { + "id": 1725, + "mirId": "MIR:00100825", + "urlPattern": "https://www.arraymap.org/pgx:{$id}", + "name": "ArrayMap", + "description": "ArrayMap", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "icdom:8500_3", + "resourceHomeUrl": "https://www.arraymap.org", + "institution": { + "id": 1385, + "name": "Institute of Molecular Life Sciences, University of Zurich, Zurich", + "homeUrl": "https://www.mls.uzh.ch/en.html", + "description": "Bottom-up research to enhance our understanding of the molecular basis of life. It is only by understanding how biological processes work that we can hope to intervene in cases where things go awry.", + "rorId": null, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "icdom:8500_3", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1726, + "prefix": "begdb", + "mirId": "MIR:00000622", + "name": "Benchmark Energy & Geometry Database", + "pattern": "^[0-9]+$", + "description": "The Benchmark Energy & Geometry Database (BEGDB) collects results of highly accurate quantum mechanics (QM) calculations of molecular structures, energies and properties. These data can serve as benchmarks for testing and parameterization of other computational methods.", + "created": "2019-06-11T14:18:04.748+00:00", + "modified": "2019-06-11T14:18:04.748+00:00", + "resources": [ + { + "id": 1728, + "mirId": "MIR:00100826", + "urlPattern": "http://www.begdb.com/index.php?action=oneMolecule&state=show&id={$id}", + "name": "Benchmark Energy & Geometry Database", + "description": "Benchmark Energy & Geometry Database", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "4214", + "resourceHomeUrl": "http://www.begdb.com", + "institution": { + "id": 1727, + "name": "Institute of Organic Chemistry and Biochemistry, Academy of Sciences of the Czech Republic, Prague", + "homeUrl": "https://www.uochb.cz/en", + "description": "IOCB Prague is a leading research institution under the umbrella of the Czech Academy of Sciences. Our mission is basic research at the interface of chemical and biological sciences and translation of results from basic research into applications and commercial assets.", + "rorId": null, + "location": { + "countryCode": "CZ", + "countryName": "Czech Republic" + } + }, + "location": { + "countryCode": "CZ", + "countryName": "Czech Republic" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "4214", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1732, + "prefix": "sisu", + "mirId": "MIR:00000624", + "name": "SISu", + "pattern": "^[0-9]+:[0-9]+$", + "description": "The Sequencing Initiative Suomi (SISu) project is an international collaboration to harmonize and aggregate whole genome and exome sequence data from Finnish samples, providing data for researchers and clinicians. The SISu project allows for the search of variants to determine their attributes and occurrence in Finnish cohorts, and provides summary data on single nucleotide variants and indels from exomes, sequenced in disease-specific and population genetic studies.", + "created": "2019-06-11T14:18:05.215+00:00", + "modified": "2019-06-11T14:18:05.215+00:00", + "resources": [ + { + "id": 1734, + "mirId": "MIR:00100828", + "urlPattern": "http://search.sisuproject.fi/#/variant/{$id}", + "name": "SISu", + "description": "SISu", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "17:41223048", + "resourceHomeUrl": "http://www.sisuproject.fi/", + "institution": { + "id": 1733, + "name": "Sequencing Initiative Suomi project (SISu), Institute for Molecular Medicine Finland (FIMM), University of Helsinki, Helsinki", + "homeUrl": "https://www.helsinki.fi/en/hilife-helsinki-institute-life-science/units/fimm", + "description": "FIMM \u2013 Institute for Molecular Medicine Finland is a translational research institute focusing on human genomics and precision medicine as part of the Helsinki Institute of Life Science HiLIFE at the University of Helsinki.", + "rorId": null, + "location": { + "countryCode": "FI", + "countryName": "Finland" + } + }, + "location": { + "countryCode": "FI", + "countryName": "Finland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "17:41223048", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1738, + "prefix": "crisprdb", + "mirId": "MIR:00000626", + "name": "CRISPRdb", + "pattern": "^[0-9]+$", + "description": "Repeated CRISPR (\"clustered regularly interspaced short palindromic repeats\") elements found in archaebacteria and eubacteria are believed to defend against viral infection, potentially targeting invading DNA for degradation. CRISPRdb is a database that stores information on CRISPRs that are automatically extracted from newly released genome sequence data.", + "created": "2019-06-11T14:18:05.694+00:00", + "modified": "2019-06-11T14:18:05.694+00:00", + "resources": [ + { + "id": 1740, + "mirId": "MIR:00100830", + "urlPattern": "http://crispr.i2bc.paris-saclay.fr/cgi-bin/crispr/SpecieProperties_db.cgi?Taxon_id[]={$id}", + "name": "CRISPRdb", + "description": "CRISPRdb", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "551115", + "resourceHomeUrl": "http://crispr.i2bc.paris-saclay.fr/", + "institution": { + "id": 1739, + "name": "Universit\u00e9 Paris-Sud, Institut de G\u00e9n\u00e9tique et Microbiologie, Orsay,", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "551115", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1741, + "prefix": "gnpis", + "mirId": "MIR:00000627", + "name": "GnpIS", + "pattern": "^[A-Za-z0-9]+$", + "description": "GnpIS is an integrative information system focused on plants and fungal pests. It provides both genetic (e.g. genetic maps, quantitative trait loci, markers, single nucleotide polymorphisms, germplasms and genotypes) and genomic data (e.g. genomic sequences, physical maps, genome annotation and expression data) for species of agronomical interest.", + "created": "2019-06-11T14:18:05.948+00:00", + "modified": "2019-06-11T14:18:05.948+00:00", + "resources": [ + { + "id": 1743, + "mirId": "MIR:00100831", + "urlPattern": "https://urgi.versailles.inra.fr/gnpis/#result/term={$id}", + "name": "GnpIS", + "description": "GnpIS", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "AY109603", + "resourceHomeUrl": "https://urgi.versailles.inra.fr/gnpis/", + "institution": { + "id": 1742, + "name": "URGI (Research Unit in Genomics-Info), INRA de Versailles, Route de Saint-Cyr, Versailles", + "homeUrl": "https://urgi.versailles.inra.fr/", + "description": "The research goal at URGI is to acquire a better understanding of genome structure, evolution and functioning to help researchers to interpret their data. A focus is made on transposable elements and repeats that appear today to be very pertinent to understand genome evolution and its functioning. Indeed, they play a major role to explain genome size and structure. Transposable elements, viewed for a long time as intra-genomic parasites, are also considered, today, to be at the origin of many essential biological functions such as the immune system, the centromeres, the heterochromatin or the telomerases. Knowledge and data gained are added to the information system increasing the value of deposited data. The methods and tools developed by this research activity are proposed to the platform users.", + "rorId": null, + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AY109603", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1744, + "prefix": "licebase", + "mirId": "MIR:00000628", + "name": "LiceBase", + "pattern": "^[A-Za-z0-9\\-\\/]+$", + "description": "Sea lice (Lepeophtheirus salmonis and Caligus species) are the major pathogens of salmon, significantly impacting upon the global salmon farming industry. Lice control is primarily accomplished through chemotherapeutants, though emerging resistance necessitates the development of new treatment methods (biological agents, prophylactics and new drugs). LiceBase is a database for sea lice genomics, providing genome annotation of the Atlantic salmon louse Lepeophtheirus salmonis, a genome browser, and access to related high-thoughput genomics data. LiceBase also mines and stores data from related genome sequencing and functional genomics projects.", + "created": "2019-06-11T14:18:06.185+00:00", + "modified": "2019-06-11T14:18:06.185+00:00", + "resources": [ + { + "id": 1746, + "mirId": "MIR:00100832", + "urlPattern": "https://licebase.org/?q={$id}", + "name": "LiceBase", + "description": "LiceBase", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "EMLSAT00000003403", + "resourceHomeUrl": "https://licebase.org", + "institution": { + "id": 1745, + "name": "Sea Lice Research Centre (SLRC), University of Bergen", + "homeUrl": "https://www.uib.no/en/rg/fdrg/62356/sea-lice-research-centre", + "description": "The research at the Centre is focused on development of novel tools for parasite control in the aquaculture sector to achieve sea lice pest management. Implicit is to shorten the time from basic research to new products.", + "rorId": null, + "location": { + "countryCode": "NO", + "countryName": "Norway" + } + }, + "location": { + "countryCode": "NO", + "countryName": "Norway" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "EMLSAT00000003403", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1747, + "prefix": "sugarbind", + "mirId": "MIR:00000629", + "name": "SugarBind", + "pattern": "^[A-Za-z]+\\/[0-9]+$", + "description": "The SugarBind Database captures knowledge of glycan binding of human pathogen lectins and adhesins, where each glycan-protein binding pair is associated with at least one published reference. It provides information on the pathogen agent, the lectin/adhesin involved, and the human glycan ligand. This collection provides information on ligands.", + "created": "2019-06-11T14:18:06.412+00:00", + "modified": "2019-06-11T14:18:06.412+00:00", + "resources": [ + { + "id": 1749, + "mirId": "MIR:00100833", + "urlPattern": "http://sugarbind.expasy.org/{$id}", + "name": "SugarBind", + "description": "SugarBind", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "lectins/172", + "resourceHomeUrl": "http://sugarbind.expasy.org/", + "institution": { + "id": 1748, + "name": "Proteome Informatics Group, SIB Swiss Institute of Bioinformatics, Geneva", + "homeUrl": "https://www.sib.swiss/frederique-lisacek-group", + "description": "In the Proteome Informatics Group (PIG), we are involved in software and database development for the benefit of the proteomics and glycomics communities. These resources are made available through the Expasy server. Software tools support experimental mass spectrometry data analysis, mainly for the detection of posttranslational modifications, with a strong focus on glycosylation. We also develop integrated tools and databases to query knowledge of carbohydrates attached to proteins, carbohydrate structures and protein-carbohydrate interactions.", + "rorId": null, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "lectins/172", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1750, + "prefix": "rnacentral", + "mirId": "MIR:00000630", + "name": "RNAcentral", + "pattern": "^URS[0-9A-F]{10}(\\_\\d+)?$", + "description": "RNAcentral is a public resource that offers integrated access to a comprehensive and up-to-date set of non-coding RNA sequences provided by a collaborating group of Expert Databases.", + "created": "2019-06-11T14:18:06.653+00:00", + "modified": "2019-06-11T14:18:06.653+00:00", + "resources": [ + { + "id": 1751, + "mirId": "MIR:00100834", + "urlPattern": "https://rnacentral.org/rna/{$id}", + "name": "RNAcentral through EMBL-EBI", + "description": "RNAcentral through EMBL-EBI", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "URS0000759CF4", + "resourceHomeUrl": "https://rnacentral.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "URS0000759CF4", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1755, + "prefix": "swissregulon", + "mirId": "MIR:00000632", + "name": "SwissRegulon", + "pattern": "^[A-Za-z0-9]+$", + "description": "A database of genome-wide annotations of regulatory sites. It contains annotations for 17 prokaryotes and 3 eukaryotes. The database frontend offers an intuitive interface showing genomic information in a graphical form.", + "created": "2019-06-11T14:18:07.113+00:00", + "modified": "2019-06-11T14:18:07.113+00:00", + "resources": [ + { + "id": 1756, + "mirId": "MIR:00100837", + "urlPattern": "http://swissregulon.unibas.ch/query/{$id}", + "name": "SwissRegulon", + "description": "SwissRegulon", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "AHR", + "resourceHomeUrl": "http://swissregulon.unibas.ch", + "institution": { + "id": 1730, + "name": "SIB Swiss Institute of Bioinformatics", + "homeUrl": "https://www.sib.swiss", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "rorId": "https://ror.org/002n09z45", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AHR", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1757, + "prefix": "validatordb", + "mirId": "MIR:00000633", + "name": "ValidatorDB", + "pattern": "^[A-Za-z0-9\\/]+$", + "description": "Database of validation results for ligands and non-standard residues in the Protein Data Bank.", + "created": "2019-06-11T14:18:07.321+00:00", + "modified": "2019-06-11T14:18:07.321+00:00", + "resources": [ + { + "id": 1759, + "mirId": "MIR:00100838", + "urlPattern": "https://webchem.ncbr.muni.cz/Platform/ValidatorDb/{$id}", + "name": "ValidatorDB", + "description": "ValidatorDB", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ByStructure/2h6o", + "resourceHomeUrl": "https://webchem.ncbr.muni.cz/Platform/ValidatorDb/", + "institution": { + "id": 1758, + "name": "Central European Institute of Technology", + "homeUrl": "https://www.ceitec.eu/", + "description": "Since its establishment in 2011, CEITEC has quickly developed into a cutting-edge infrastructure for research which performs highly alongside the best institutes in Europe. Among the main priorities of CEITEC are the promotion of a motivating and dynamic international scientific environment, the provision of state-of-the-art research infrastructure, and the policy of open communication and equal opportunities. ", + "rorId": "https://ror.org/01p7k1986", + "location": { + "countryCode": "CZ", + "countryName": "Czech Republic" + } + }, + "location": { + "countryCode": "CZ", + "countryName": "Czech Republic" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ByStructure/2h6o", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1760, + "prefix": "biominder", + "mirId": "MIR:00000634", + "name": "Bio-MINDER Tissue Database", + "pattern": "^[a-z0-9\\-]+$", + "description": "Database of the dielectric properties of biological tissues.", + "created": "2019-06-11T14:18:07.548+00:00", + "modified": "2019-06-11T14:18:07.548+00:00", + "resources": [ + { + "id": 1762, + "mirId": "MIR:00100839", + "urlPattern": "https://datalab.rwth-aachen.de/MINDER/resource/{$id}", + "name": "Bio-MINDER Tissue Database", + "description": "Bio-MINDER Tissue Database", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "aef4c195-9cf9-46db-a12a-7cfd1ff3eec3", + "resourceHomeUrl": "https://datalab.rwth-aachen.de/MINDER", + "institution": { + "id": 1761, + "name": "RWTH Aachen University / NUIG Galway", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "IE", + "countryName": "Ireland" + } + }, + "location": { + "countryCode": "IE", + "countryName": "Ireland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "aef4c195-9cf9-46db-a12a-7cfd1ff3eec3", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1763, + "prefix": "neurovault.collection", + "mirId": "MIR:00000635", + "name": "NeuroVault Collection", + "pattern": "^[1-9][0-9]*$", + "description": "Neurovault is an online repository for statistical maps, parcellations and atlases of the brain. This collection references sets (collections) of images.", + "created": "2019-06-11T14:18:07.777+00:00", + "modified": "2019-06-11T14:18:07.777+00:00", + "resources": [ + { + "id": 1764, + "mirId": "MIR:00100840", + "urlPattern": "https://neurovault.org/collections/{$id}", + "name": "NeuroVault Collection", + "description": "NeuroVault Collection", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "3304", + "resourceHomeUrl": "http://neurovault.org", + "institution": { + "id": 98, + "name": "Stanford University", + "homeUrl": "http://www.stanford.edu/", + "description": "Stanford was founded almost 150 years ago on a bedrock of societal purpose. Our mission is to contribute to the world by educating students for lives of leadership and purposeful contribution; advancing fundamental knowledge and cultivating creativity; and accelerating solutions and amplifying their impact.", + "rorId": "https://ror.org/00f54p054", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "3304", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1765, + "prefix": "vmhmetabolite", + "mirId": "MIR:00000636", + "name": "VMH metabolite", + "pattern": "[a-zA-Z0-9_\\(\\_\\)\\[\\]]+", + "description": "The Virtual Metabolic Human (VMH) is a resource that combines human and gut microbiota metabolism with nutrition and disease.", + "created": "2019-06-11T14:18:07.981+00:00", + "modified": "2019-06-11T14:18:07.981+00:00", + "resources": [ + { + "id": 1767, + "mirId": "MIR:00100841", + "urlPattern": "https://www.vmh.life/#metabolite/{$id}", + "name": "VMH metabolite", + "description": "VMH metabolite", + "official": false, + "providerCode": "NUI", + "sampleId": "h2o", + "resourceHomeUrl": "https://www.vmh.life/", + "institution": { + "id": 2496, + "name": "National University of Ireland, Galway", + "homeUrl": "http://www.nuigalway.ie/", + "description": "Since 1845, University of Galway has been sharing the highest quality teaching and research with Ireland and the world. Find out what makes our University so special \u2013 from our distinguished history to the latest news and campus developments. ", + "rorId": "https://ror.org/03bea9k73", + "location": { + "countryCode": "IE", + "countryName": "Ireland" + } + }, + "location": { + "countryCode": "IE", + "countryName": "Ireland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "h2o", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1773, + "prefix": "nmr", + "mirId": "MIR:00000639", + "name": "Nuclear Magnetic Resonance Controlled Vocabulary", + "pattern": "^NMR:\\d+$", + "description": "nmrCV is a controlled vocabulary to deliver standardized descriptors for the open mark-up language for NMR raw and spectrum data, sanctioned by the metabolomics standards initiative msi.", + "created": "2019-06-11T14:18:08.710+00:00", + "modified": "2019-06-11T14:18:08.710+00:00", + "resources": [ + { + "id": 1774, + "mirId": "MIR:00100844", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/nmrcv/terms?short_form=NMR:{$id}", + "name": "NMR through OLS", + "description": "NMR through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "1000003", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/nmrcv", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1000003", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1775, + "prefix": "vmhreaction", + "mirId": "MIR:00000640", + "name": "VMH reaction", + "pattern": "[a-zA-Z0-9_\\(\\_\\)\\[\\]]+", + "description": "The Virtual Metabolic Human (VMH) is a resource that combines human and gut microbiota metabolism with nutrition and disease.", + "created": "2019-06-11T14:18:08.921+00:00", + "modified": "2019-06-11T14:18:08.921+00:00", + "resources": [ + { + "id": 1776, + "mirId": "MIR:00100845", + "urlPattern": "https://www.vmh.life/#reaction/{$id}", + "name": "VMH reaction", + "description": "VMH reaction", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "HEX1", + "resourceHomeUrl": "https://www.vmh.life/", + "institution": { + "id": 2496, + "name": "National University of Ireland, Galway", + "homeUrl": "http://www.nuigalway.ie/", + "description": "Since 1845, University of Galway has been sharing the highest quality teaching and research with Ireland and the world. Find out what makes our University so special \u2013 from our distinguished history to the latest news and campus developments. ", + "rorId": "https://ror.org/03bea9k73", + "location": { + "countryCode": "IE", + "countryName": "Ireland" + } + }, + "location": { + "countryCode": "IE", + "countryName": "Ireland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "HEX1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1777, + "prefix": "ascl", + "mirId": "MIR:00000641", + "name": "Astrophysics Source Code Library", + "pattern": "^[0-9\\.]+$", + "description": "The Astrophysics Source Code Library (ASCL) is a free online registry for software that have been used in research that has appeared in, or been submitted to, peer-reviewed publications. The ASCL is indexed by the SAO/NASA Astrophysics Data System (ADS) and Web of Science's Data Citation Index (WoS DCI), and is citable by using the unique ascl ID assigned to each code. The ascl ID can be used to link to the code entry by prefacing the number with ascl.net (i.e., ascl.net/1201.001).", + "created": "2019-06-11T14:18:09.136+00:00", + "modified": "2019-06-11T14:18:09.136+00:00", + "resources": [ + { + "id": 1779, + "mirId": "MIR:00100846", + "urlPattern": "http://ascl.net/{$id}", + "name": "Astrophysics Source Code Library", + "description": "Astrophysics Source Code Library", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1801.012", + "resourceHomeUrl": "http://ascl.net/", + "institution": { + "id": 1778, + "name": "Astrophysics Source Code Library", + "homeUrl": "http://ascl.net/", + "description": "The Astrophysics Source Code Library (ASCL), founded in 1999 by Robert Nemiroff and John Wallin, takes an active approach to sharing astrophysical source code.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1801.012", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1780, + "prefix": "facebase", + "mirId": "MIR:00000642", + "name": "FaceBase Data Repository", + "pattern": "^FB\\d{8}$", + "description": "FaceBase is a collaborative NIDCR-funded consortium to generate data in support of advancing research into craniofacial development and malformation. It serves as a community resource by generating large datasets of a variety of types and making them available to the wider research community via this website. Practices emphasize a comprehensive and multidisciplinary approach to understanding the developmental processes that create the face. The data offered spotlights high-throughput genetic, molecular, biological, imaging and computational techniques. One of the missions of this consortium is to facilitate cooperation and collaboration between projects.", + "created": "2019-06-11T14:18:09.365+00:00", + "modified": "2019-06-11T14:18:09.365+00:00", + "resources": [ + { + "id": 1782, + "mirId": "MIR:00100847", + "urlPattern": "https://www.facebase.org/data/record/#1/isa:dataset/accession={$id}", + "name": "FaceBase Data Repository", + "description": "FaceBase Data Repository", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "FB00000917", + "resourceHomeUrl": "https://www.facebase.org", + "institution": { + "id": 1781, + "name": "University of Southern California", + "homeUrl": "https://www.usc.edu/", + "description": "The University of Southern California is a leading private research university located in Los Angeles \u2014 a global center for arts, technology and international business. It is home to the College of Letters, Arts and Sciences and 21 exceptional academic schools and units. USC\u2019s Health Sciences campus houses renowned specialized care and research in cancer, stem cell and regenerative medicine, orthopedics and sports medicine. The university is the largest private sector employer in the city of Los Angeles, responsible for $8 billion annually in economic activity in the region.", + "rorId": "https://ror.org/03taz7m60", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "FB00000917", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1783, + "prefix": "gudmap", + "mirId": "MIR:00000643", + "name": "GUDMAP", + "pattern": "^[-0-9a-zA-Z]+(@[-0-9a-zA-Z]+)?$", + "description": "The GenitoUrinary Development Molecular Anatomy Project (GUDMAP) is a consortium of laboratories working to provide the scientific and medical community with tools to facilitate research on the GenitoUrinary (GU) tract.", + "created": "2019-06-11T14:18:09.598+00:00", + "modified": "2019-06-11T14:18:09.598+00:00", + "resources": [ + { + "id": 1785, + "mirId": "MIR:00100848", + "urlPattern": "https://gudmap.org/id/{$id}", + "name": "GUDMAP", + "description": "GUDMAP", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Q-2958", + "resourceHomeUrl": "http://www.gudmap.org/", + "institution": { + "id": 1784, + "name": "GenitoUrinary Development Molecular Anatomy Project (GUDMAP) Consortium", + "homeUrl": "https://www.gudmap.org/", + "description": "The GenitoUrinary Development Molecular Anatomy Project (GUDMAP) is a consortium of laboratories working to provide the scientific and medical community with curated data and tools to facilitate research on the GenitoUrinary (GU) tract. The key components are: a molecular atlas of gene expression for the developing and mature organs of the human and mouse GU tract; a high resolution molecular anatomy that highlights development of the GU system; mouse strains to facilitate developmental and functional studies within the GU system; tutorials describing GU organogenesis and innervation; and access to consortium generated data, unpublished and published, via the GUDMAP data repository. The GUDMAP tools, website and database are a public resource funded by the National Institutes of Health, USA.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Q-2958", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1786, + "prefix": "eu89h", + "mirId": "MIR:00000644", + "name": "JRC Data Catalogue", + "pattern": "^[a-z0-9\\-_]+$", + "description": "The JRC Data Catalogue gives access to the multidisciplinary data produced and maintained by the Joint Research Centre, the European Commission's in-house science service providing independent scientific advice and support to policies of the European Union.", + "created": "2019-06-11T14:18:09.859+00:00", + "modified": "2019-06-11T14:18:09.859+00:00", + "resources": [ + { + "id": 1788, + "mirId": "MIR:00100849", + "urlPattern": "http://data.europa.eu/89h/{$id}", + "name": "JRC Data Catalogue", + "description": "JRC Data Catalogue", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "jrc-eurl-ecvam-chemagora", + "resourceHomeUrl": "http://data.jrc.ec.europa.eu/", + "institution": { + "id": 1787, + "name": "European Commission, Joint Research Centre (JRC)", + "homeUrl": "https://ec.europa.eu/jrc/en", + "description": "The JRC provides independent, evidence-based knowledge and science, supporting EU policies to positively impact society.\u202f ", + "rorId": "https://ror.org/02ptz5951", + "location": { + "countryCode": "BE", + "countryName": "Belgium" + } + }, + "location": { + "countryCode": "BE", + "countryName": "Belgium" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "jrc-eurl-ecvam-chemagora", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1792, + "prefix": "mw.study", + "mirId": "MIR:00000646", + "name": "Metabolomics Workbench Study", + "pattern": "^ST[0-9]{6}$", + "description": "Metabolomics Workbench stores metabolomics data for small and large studies on cells, tissues and organisms for the Metabolomics Consortium Data Repository and Coordinating Center (DRCC).", + "created": "2019-06-11T14:18:10.316+00:00", + "modified": "2019-06-11T14:18:10.316+00:00", + "resources": [ + { + "id": 1795, + "mirId": "MIR:00100860", + "urlPattern": "https://www.omicsdi.org/dataset/metabolomics_workbench/{$id}", + "name": "Metabolomics Workbench Study through OmicsDI", + "description": "Metabolomics Workbench Study through OmicsDI", + "official": false, + "providerCode": "omicsdi", + "sampleId": "ST000900", + "resourceHomeUrl": "https://www.omicsdi.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1794, + "mirId": "MIR:00100859", + "urlPattern": "http://www.metabolomicsworkbench.org/data/DRCCMetadata.php?Mode=Study&StudyID={$id}", + "name": "Metabolomics Workbench Study", + "description": "Metabolomics Workbench Study", + "official": true, + "providerCode": "ucsd", + "sampleId": "ST000900", + "resourceHomeUrl": "http://www.metabolomicsworkbench.org/", + "institution": { + "id": 190, + "name": "University of California, San Diego", + "homeUrl": "https://ucsd.edu/", + "description": "is a public research university in San Diego, California.\nEstablished in 1960 near the pre-existing Scripps Institution of Oceanography, UC San Diego is the seventh-oldest of the 10 University of California campuses and offers over 200 undergraduate and graduate degree programs, enrolling approximately 30,000 undergraduate and 8,500 graduate students.", + "rorId": "https://ror.org/0168r3w48", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ST000900", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1796, + "prefix": "mw.project", + "mirId": "MIR:00000647", + "name": "Metabolomics Workbench Project", + "pattern": "^PR[0-9]{6}$", + "description": "Metabolomics Workbench stores metabolomics data for small and large studies on cells, tissues and organisms for the Metabolomics Consortium Data Repository and Coordinating Center (DRCC).", + "created": "2019-06-11T14:18:10.677+00:00", + "modified": "2019-06-11T14:18:10.677+00:00", + "resources": [ + { + "id": 1797, + "mirId": "MIR:00100861", + "urlPattern": "http://www.metabolomicsworkbench.org/data/DRCCMetadata.php?Mode=Project&ProjectID={$id}", + "name": "Metabolomics Workbench Project", + "description": "Metabolomics Workbench Project", + "official": true, + "providerCode": "ucsd", + "sampleId": "PR000001", + "resourceHomeUrl": "http://www.metabolomicsworkbench.org/", + "institution": { + "id": 190, + "name": "University of California, San Diego", + "homeUrl": "https://ucsd.edu/", + "description": "is a public research university in San Diego, California.\nEstablished in 1960 near the pre-existing Scripps Institution of Oceanography, UC San Diego is the seventh-oldest of the 10 University of California campuses and offers over 200 undergraduate and graduate degree programs, enrolling approximately 30,000 undergraduate and 8,500 graduate students.", + "rorId": "https://ror.org/0168r3w48", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PR000001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1802, + "prefix": "gpmdb", + "mirId": "MIR:00000649", + "name": "GPMDB", + "pattern": "^GPM\\d+$", + "description": "The Global Proteome Machine Database was constructed to utilize the information obtained by GPM servers to aid in the difficult process of validating peptide MS/MS spectra as well as protein coverage patterns.", + "created": "2019-06-11T14:18:11.249+00:00", + "modified": "2019-06-11T14:18:11.249+00:00", + "resources": [ + { + "id": 1804, + "mirId": "MIR:00100864", + "urlPattern": "http://gpmdb.thegpm.org/~/dblist_gpmnum/gpmnum={$id}", + "name": "GPMDB", + "description": "GPMDB", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "GPM32310002988", + "resourceHomeUrl": "http://gpmdb.thegpm.org/", + "institution": { + "id": 1803, + "name": "The Global Proteome Machine Organization", + "homeUrl": "https://thegpm.org/", + "description": "The Global Proteome Machine Organisation. The organisation supports open source bioinformatics tools for large scale proteomics and systems biology.", + "rorId": null, + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1805, + "mirId": "MIR:00100865", + "urlPattern": "https://www.omicsdi.org/dataset/gpmdb/{$id}", + "name": "GPMDB through OmicsDI", + "description": "GPMDB through OmicsDI", + "official": false, + "providerCode": "omicsdi", + "sampleId": "GPM32310002988", + "resourceHomeUrl": "https://www.omicsdi.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "GPM32310002988", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1806, + "prefix": "massive", + "mirId": "MIR:00000650", + "name": "MassIVE", + "pattern": "^MSV\\d+$", + "description": "MassIVE is a community resource developed by the NIH-funded Center for Computational Mass Spectrometry to promote the global, free exchange of mass spectrometry data.", + "created": "2019-06-11T14:18:11.594+00:00", + "modified": "2019-06-11T14:18:11.594+00:00", + "resources": [ + { + "id": 1807, + "mirId": "MIR:00100866", + "urlPattern": "https://massive.ucsd.edu/ProteoSAFe/QueryMSV?id={$id}", + "name": "MassIVE", + "description": "MassIVE", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "MSV000082131", + "resourceHomeUrl": "https://massive.ucsd.edu/ProteoSAFe/static/massive.jsp", + "institution": { + "id": 190, + "name": "University of California, San Diego", + "homeUrl": "https://ucsd.edu/", + "description": "is a public research university in San Diego, California.\nEstablished in 1960 near the pre-existing Scripps Institution of Oceanography, UC San Diego is the seventh-oldest of the 10 University of California campuses and offers over 200 undergraduate and graduate degree programs, enrolling approximately 30,000 undergraduate and 8,500 graduate students.", + "rorId": "https://ror.org/0168r3w48", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1808, + "mirId": "MIR:00100867", + "urlPattern": "https://www.omicsdi.org/dataset/massive/{$id}", + "name": "MassIVE through OmicsDI", + "description": "MassIVE through OmicsDI", + "official": false, + "providerCode": "omicsdi", + "sampleId": "MSV000082131", + "resourceHomeUrl": "https://www.omicsdi.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MSV000082131", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1809, + "prefix": "fplx", + "mirId": "MIR:00000651", + "name": "FamPlex", + "pattern": "^[a-zA-Z0-9][A-Za-z0-9_]+$", + "description": "FamPlex is a collection of resources for grounding biological entities from text and describing their hierarchical relationships.", + "created": "2019-06-11T14:18:11.924+00:00", + "modified": "2019-06-11T14:18:11.924+00:00", + "resources": [ + { + "id": 1810, + "mirId": "MIR:00100869", + "urlPattern": "https://registry.identifiers.org/deprecation/resources/MIR:00100869/{$id}", + "name": "FPLX through BioPortal", + "description": "FPLX through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "RAS", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/FPLX/", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": true, + "deprecationDate": "2021-05-10T19:46:22.120+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 2617, + "mirId": "MIR:00000809", + "urlPattern": "https://sorgerlab.github.io/famplex/{$id}", + "name": "Sorger lab at Harvard Medical School", + "description": "FamPlex is provided by the Sorger lab at Harvard Medical School.", + "official": true, + "providerCode": "sorgerlab", + "sampleId": "ABL_family", + "resourceHomeUrl": "https://sorgerlab.github.io/famplex", + "institution": { + "id": 2616, + "name": "Harvard University", + "homeUrl": "https://www.harvard.edu/", + "description": "Harvard is at the frontier of academic and intellectual discovery. Those who venture here\u2014to learn, research, teach, work, and grow\u2014join nearly four centuries of students and scholars in the pursuit of truth, knowledge, and a better world.", + "rorId": "https://ror.org/03vek6s52", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "RAS", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1811, + "prefix": "aop.events", + "mirId": "MIR:00000652", + "name": "AOPWiki (Key Event)", + "pattern": "^\\d+$", + "description": "International repository of Adverse Outcome Pathways.", + "created": "2019-06-11T14:18:12.154+00:00", + "modified": "2019-06-11T14:18:12.154+00:00", + "resources": [ + { + "id": 1812, + "mirId": "MIR:00100870", + "urlPattern": "https://aopwiki.org/events/{$id}", + "name": "AOPWiki (Key Event)", + "description": "AOPWiki (Key Event)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "3", + "resourceHomeUrl": "https://aopwiki.org/", + "institution": { + "id": 1713, + "name": "European Commision - DG Joint Research Centre and U.S Environmental Protection Agency", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "3", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1813, + "prefix": "aop.relationships", + "mirId": "MIR:00000653", + "name": "AOPWiki (Key Event Relationship)", + "pattern": "^\\d+$", + "description": "International repository of Adverse Outcome Pathways.", + "created": "2019-06-11T14:18:12.357+00:00", + "modified": "2019-06-11T14:18:12.357+00:00", + "resources": [ + { + "id": 1814, + "mirId": "MIR:00100871", + "urlPattern": "https://aopwiki.org/relationships/{$id}", + "name": "AOPWiki (Key Event Relationship)", + "description": "AOPWiki (Key Event Relationship)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "5", + "resourceHomeUrl": "https://aopwiki.org/", + "institution": { + "id": 1713, + "name": "European Commision - DG Joint Research Centre and U.S Environmental Protection Agency", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "5", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1815, + "prefix": "aop.stressor", + "mirId": "MIR:00000654", + "name": "AOPWiki (Stressor)", + "pattern": "^\\d+$", + "description": "International repository of Adverse Outcome Pathways.", + "created": "2019-06-11T14:18:12.557+00:00", + "modified": "2019-06-11T14:18:12.557+00:00", + "resources": [ + { + "id": 1816, + "mirId": "MIR:00100872", + "urlPattern": "https://aopwiki.org/stressors/{$id}", + "name": "AOPWiki (Stressor)", + "description": "AOPWiki (Stressor)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "9", + "resourceHomeUrl": "https://aopwiki.org/", + "institution": { + "id": 1713, + "name": "European Commision - DG Joint Research Centre and U.S Environmental Protection Agency", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "9", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1820, + "prefix": "dev.ga4ghdos", + "mirId": "MIR:00000656", + "name": "Development Data Object Service", + "pattern": "^[a-zA-Z0-9\\-:#\\.]+$", + "description": "Assists in resolving data across cloud resources.", + "created": "2019-06-11T14:18:12.998+00:00", + "modified": "2019-06-11T14:18:12.998+00:00", + "resources": [ + { + "id": 1822, + "mirId": "MIR:00100874", + "urlPattern": "https://dos-gdc.ucsc-cgp-dev.org/ga4gh/dos/v1/dataobjects/{$id}", + "name": "Data Object Service", + "description": "Data Object Service", + "official": false, + "providerCode": "ucsd", + "sampleId": "23fa7b4b-9d68-429b-aece-658b11124bb3#2017-03-24T18:43:16.886826-05:00", + "resourceHomeUrl": "http://github.com/ga4gh/data-object-service-schemas", + "institution": { + "id": 190, + "name": "University of California, San Diego", + "homeUrl": "https://ucsd.edu/", + "description": "is a public research university in San Diego, California.\nEstablished in 1960 near the pre-existing Scripps Institution of Oceanography, UC San Diego is the seventh-oldest of the 10 University of California campuses and offers over 200 undergraduate and graduate degree programs, enrolling approximately 30,000 undergraduate and 8,500 graduate students.", + "rorId": "https://ror.org/0168r3w48", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "23fa7b4b-9d68-429b-aece-658b11124bb3#2017-03-24T18:43:16.886826-05:00", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1823, + "prefix": "complexportal", + "mirId": "MIR:00000657", + "name": "Complex Portal", + "pattern": "^CPX-[0-9]+$", + "description": "A database that describes manually curated macromolecular complexes and provides links to details about these complexes in other databases.", + "created": "2019-06-11T14:18:13.254+00:00", + "modified": "2019-06-11T14:18:13.254+00:00", + "resources": [ + { + "id": 1824, + "mirId": "MIR:00100875", + "urlPattern": "https://www.ebi.ac.uk/complexportal/complex/{$id}", + "name": "Complex Portal", + "description": "Complex Portal", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "CPX-2158", + "resourceHomeUrl": "https://www.ebi.ac.uk/complexportal", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CPX-2158", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1873, + "prefix": "bacdive", + "mirId": "MIR:00000676", + "name": "Bacterial Diversity Metadatabase", + "pattern": "^[0-9]+$", + "description": "BacDive\u2014the Bacterial Diversity Metadatabase merges detailed strain-linked information on the different aspects of bacterial and archaeal biodiversity.", + "created": "2019-06-11T14:18:18.125+00:00", + "modified": "2019-06-11T14:18:18.125+00:00", + "resources": [ + { + "id": 1875, + "mirId": "MIR:00100900", + "urlPattern": "https://bacdive.dsmz.de/strain/{$id}", + "name": "Bacterial Diversity Metadatabase", + "description": "Bacterial Diversity Metadatabase", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "131392", + "resourceHomeUrl": "https://bacdive.dsmz.de/", + "institution": { + "id": 1874, + "name": "Leibniz-Institut DSMZ-Deutsche Sammlung von Mikroorganismen und Zellkulturen", + "homeUrl": "https://www.dsmz.de/", + "description": "The mission of the Leibniz Institute DSMZ is the research, provision and use of microbial and cellular biodiversity. The DSMZ is both a research infrastructure used by science and industry for non-commercial purposes and a research institution in the field of microbial biodiversity research.", + "rorId": "https://ror.org/02tyer376", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "131392", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1825, + "prefix": "comptox", + "mirId": "MIR:00000658", + "name": "CompTox Chemistry Dashboard", + "pattern": "^DTXSID\\d+$", + "description": "The Chemistry Dashboard is a part of a suite of databases and web applications developed by the US Environmental Protection Agency's Chemical Safety for Sustainability Research Program. These databases and apps support EPA's computational toxicology research efforts to develop innovative methods to change how chemicals are currently evaluated for potential health risks.", + "created": "2019-06-11T14:18:13.452+00:00", + "modified": "2019-06-11T14:18:13.452+00:00", + "resources": [ + { + "id": 1827, + "mirId": "MIR:00100876", + "urlPattern": "https://comptox.epa.gov/dashboard/{$id}", + "name": "CompTox Chemistry Dashboard", + "description": "CompTox Chemistry Dashboard", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "DTXSID2021028", + "resourceHomeUrl": "https://comptox.epa.gov/dashboard", + "institution": { + "id": 1826, + "name": "Environmental Protection Agency", + "homeUrl": "https://www.epa.gov/", + "description": "The mission of EPA is to protect human health and the environment.", + "rorId": "https://ror.org/03tns0030", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "DTXSID2021028", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1828, + "prefix": "rbk", + "mirId": "MIR:00000659", + "name": "Rebuilding a Kidney", + "pattern": "^[-0-9a-zA-Z]+(@[-0-9a-zA-Z]+)?$", + "description": "(Re)Building a Kidney is an NIDDK-funded consortium of research projects working to optimize approaches for the isolation, expansion, and differentiation of appropriate kidney cell types and their integration into complex structures that replicate human kidney function.", + "created": "2019-06-11T14:18:13.721+00:00", + "modified": "2019-06-11T14:18:13.721+00:00", + "resources": [ + { + "id": 1830, + "mirId": "MIR:00100877", + "urlPattern": "https://www.rebuildingakidney.org/id/{$id}", + "name": "Rebuilding a Kidney", + "description": "Rebuilding a Kidney", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Q-2958", + "resourceHomeUrl": "https://www.rebuildingakidney.org/", + "institution": { + "id": 1829, + "name": "National Institute Of Diabetes and Digestive and Kidney Diseases (NIDDK)", + "homeUrl": "http://www.niddk.nih.gov/", + "description": " NIDDK research creates knowledge about and treatments for diseases that are among the most chronic, costly, and consequential for patients, their families, and the Nation. ", + "rorId": "https://ror.org/00adh9b73", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Q-2958", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1887, + "prefix": "ligandbook", + "mirId": "MIR:00000681", + "name": "LigandBook", + "pattern": "^[0-9]+$", + "description": "Ligandbook is a public repository for force field parameters with a special emphasis on small molecules and known ligands of proteins. It acts as a warehouse for parameter files that are supplied by the community.", + "created": "2019-06-11T14:18:19.416+00:00", + "modified": "2019-06-11T14:18:19.416+00:00", + "resources": [ + { + "id": 1889, + "mirId": "MIR:00100912", + "urlPattern": "https://ligandbook.org/package/{$id}", + "name": "LigandBook", + "description": "LigandBook", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "785", + "resourceHomeUrl": "https://ligandbook.org/", + "institution": { + "id": 1888, + "name": "Institut de Chimie des Substances Naturelles", + "homeUrl": "https://icsn.cnrs.fr/", + "description": "Avec un effectif de pr\u00e8s de 200 personnes, l\u2019ICSN constitue le p\u00f4le chimie du campus CNRS de Gif sur Yvette. L\u2019Institut est situ\u00e9 en bordure du futur campus Paris-Saclay, qui regroupera pr\u00e8s de 10% de la recherche fran\u00e7aise, et fait partie int\u00e9grante de cette nouvelle Universit\u00e9. L\u2019ICSN d\u00e9veloppe des activit\u00e9s \u00e0 l\u2019interface chimie-biologie, avec les substances naturelles comme objet d\u2019\u00e9tude et source principale d\u2019inspiration. L\u2019ICSN est organis\u00e9e en quatre d\u00e9partements de recherche et poss\u00e8de d\u2019importantes plateformes analytiques", + "rorId": "https://ror.org/02st4q439", + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "785", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1890, + "prefix": "kaggle", + "mirId": "MIR:00000682", + "name": "Kaggle", + "pattern": "^[0-9a-zA-Z\\-]+\\/[0-9a-zA-Z\\-]+$", + "description": "Kaggle is a platform for sharing data, performing reproducible analyses, interactive data analysis tutorials, and machine learning competitions.", + "created": "2019-06-11T14:18:19.662+00:00", + "modified": "2019-06-11T14:18:19.662+00:00", + "resources": [ + { + "id": 1892, + "mirId": "MIR:00100913", + "urlPattern": "https://www.kaggle.com/{$id}", + "name": "Kaggle", + "description": "Kaggle", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "nasa/kepler-exoplanet-search-results", + "resourceHomeUrl": "https://kaggle.com", + "institution": { + "id": 1508, + "name": "Google Incorporated", + "homeUrl": "https://www.google.co.uk/", + "description": "Google LLC is an American multinational technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, artificial intelligence, and consumer electronics.", + "rorId": "https://ror.org/024bc3e07", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "nasa/kepler-exoplanet-search-results", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1893, + "prefix": "idoo", + "mirId": "MIR:00000683", + "name": "Identifiers.org Ontology", + "pattern": "^[0-9a-zA-Z]+$", + "description": "Identifiers.org Ontology", + "created": "2019-06-11T14:18:19.905+00:00", + "modified": "2019-06-11T14:18:19.905+00:00", + "resources": [ + { + "id": 1894, + "mirId": "MIR:00100914", + "urlPattern": "http://registry.api.hq.identifiers.org/semanticApi/getRegistryOntology#{$id}", + "name": "Identifiers.org Ontology", + "description": "Identifiers.org Ontology", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "DataCollection", + "resourceHomeUrl": "http://registry.api.hq.identifiers.org/semanticApi/getRegistryOntology", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "DataCollection", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1817, + "prefix": "swh", + "mirId": "MIR:00000655", + "name": "Software Heritage", + "pattern": "^swh:[1-9]:(cnt|dir|rel|rev|snp):[0-9a-f]+(;(origin|visit|anchor|path|lines)=\\S+)*$", + "description": "Software Heritage is the universal archive of software source code.", + "created": "2019-06-11T14:18:12.760+00:00", + "modified": "2020-11-27T10:57:55.228+00:00", + "resources": [ + { + "id": 1819, + "mirId": "MIR:00100873", + "urlPattern": "https://archive.softwareheritage.org/browse/swh:{$id}", + "name": "Software Heritage", + "description": "Software Heritage", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1:rev:309cf2674ee7a0749978cf8265ab91a60aea0f7d", + "resourceHomeUrl": "https://archive.softwareheritage.org", + "institution": { + "id": 1818, + "name": "INRIA", + "homeUrl": "https://www.inria.fr/en", + "description": " Inria is the French national research institute for digital science and technology. World-class research, technological innovation and entrepreneurial risk are its DNA. In 215 project teams, most of which are shared with major research universities, more than 3,900 researchers and engineers explore new paths, often in an interdisciplinary manner and in collaboration with industrial partners to meet ambitious challenges.", + "rorId": "https://ror.org/02kvxyf05", + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1:rev:309cf2674ee7a0749978cf8265ab91a60aea0f7d", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1834, + "prefix": "foodon", + "mirId": "MIR:00000661", + "name": "FoodOn Food Ontology", + "pattern": "^FOODON:[0-9]{8}$", + "description": "FoodOn is a comprehensive and easily accessible global farm-to-fork ontology about food that accurately and consistently describes foods commonly known in cultures from around the world. It is a consortium-driven project built to interoperate with the The Open Biological and Biomedical Ontology Foundry library of ontologies.", + "created": "2019-06-11T14:18:14.340+00:00", + "modified": "2019-06-11T14:18:14.340+00:00", + "resources": [ + { + "id": 1835, + "mirId": "MIR:00100879", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/foodon/terms?obo_id=FOODON:{$id}", + "name": "FoodOn Food Ontology through OLS", + "description": "FoodOn Food Ontology through OLS", + "official": false, + "providerCode": "ebi", + "sampleId": "03307879", + "resourceHomeUrl": "https://foodon.org", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "03307879", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1836, + "prefix": "encode", + "mirId": "MIR:00000662", + "name": "ENCODE: Encyclopedia of DNA Elements", + "pattern": "^ENC[A-Za-z]{2}[0-9]{3}[A-Za-z]{3}$", + "description": "The ENCODE Consortium is integrating multiple technologies and approaches in a collective effort to discover and define the functional elements encoded in the human genome, including genes, transcripts, and transcriptional regulatory regions, together with their attendant chromatin states and DNA methylation patterns.", + "created": "2019-06-11T14:18:14.565+00:00", + "modified": "2019-06-11T14:18:14.565+00:00", + "resources": [ + { + "id": 1838, + "mirId": "MIR:00100880", + "urlPattern": "https://www.encodeproject.org/{$id}", + "name": "ENCODE: Encyclopedia of DNA Elements", + "description": "ENCODE: Encyclopedia of DNA Elements", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "ENCSR163RYW", + "resourceHomeUrl": "https://www.encodeproject.org", + "institution": { + "id": 1837, + "name": "ENCODE Consortium", + "homeUrl": "https://www.encodeproject.org/", + "description": "The current ENCODE Consortium (ENCODE 4) is composed primarily of scientists funded under Requests for Application (RFAs) released by NHGRI in 2011. NHGRI provides a list of current ENCODE projects and participants. The ENCODE External Consultants Panel oversees the activities of the Consortium and provides advice and feedback on the Consortium's goals, progress and membership.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ENCSR163RYW", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1839, + "prefix": "gtex", + "mirId": "MIR:00000663", + "name": "GTEx", + "pattern": "^\\w.+$", + "description": "The Genotype-Tissue Expression (GTEx) project aims to provide to the scientific community a resource with which to study human gene expression and regulation and its relationship to genetic variation.", + "created": "2019-06-11T14:18:14.830+00:00", + "modified": "2019-06-11T14:18:14.830+00:00", + "resources": [ + { + "id": 1841, + "mirId": "MIR:00100881", + "urlPattern": "https://www.gtexportal.org/home/gene/{$id}", + "name": "The GTEx Project", + "description": "The GTEx Project", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "BRIP1", + "resourceHomeUrl": "https://www.gtexportal.org", + "institution": { + "id": 1840, + "name": "The Broad Institute of MIT and Harvard", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "BRIP1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1842, + "prefix": "ricenetdb.gene", + "mirId": "MIR:00000664", + "name": "RiceNetDB Gene", + "pattern": "^LOC\\_Os\\d{1,2}g\\d{5}\\.\\d$", + "description": "RiceNetDB is currently the most comprehensive regulatory database on Oryza Sativa based on genome annotation. It was displayed in three levels: GEM, PPIs and GRNs to facilitate biomolecular regulatory analysis and gene-metabolite mapping.", + "created": "2019-06-11T14:18:15.139+00:00", + "modified": "2019-06-11T14:18:15.139+00:00", + "resources": [ + { + "id": 1844, + "mirId": "MIR:00100882", + "urlPattern": "http://bis.zju.edu.cn/ricenetdb/genedetails.php?ID={$id}", + "name": "RiceNetDB", + "description": "RiceNetDB", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "LOC_Os01g49190.1", + "resourceHomeUrl": "http://bis.zju.edu.cn/ricenetdb/", + "institution": { + "id": 1843, + "name": "College of Life Sciences, Zhejiang University", + "homeUrl": "http://www.cls.en.zju.edu.cn/", + "description": "College of Life Sciences, Zhejiang University, developed from the former Department of Biology, National Zhejiang University founded in September 1929, is proud of its more than 90 years history and lots of outstanding scholars. Many distinguished biologists, including Shizhang BEI, Zongluo LUO, Zhaoqian ZHANG, Jiazhen TAN, Lvji SHI, Renbao ZHU, Zhen YAO, Jiaonai SHI, studied or taught here.", + "rorId": null, + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "LOC_Os01g49190.1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1845, + "prefix": "ricenetdb.protein", + "mirId": "MIR:00000665", + "name": "RiceNetDB Protein", + "pattern": "^LOC\\_Os\\d{1,2}g\\d{5}$", + "description": "RiceNetDB is currently the most comprehensive regulatory database on Oryza Sativa based on genome annotation. It was displayed in three levels: GEM, PPIs and GRNs to facilitate biomolecular regulatory analysis and gene-metabolite mapping.", + "created": "2019-06-11T14:18:15.429+00:00", + "modified": "2019-06-11T14:18:15.429+00:00", + "resources": [ + { + "id": 1846, + "mirId": "MIR:00100883", + "urlPattern": "http://bis.zju.edu.cn/ricenetdb/proteindetails.php?ID={$id}", + "name": "RiceNetDB", + "description": "RiceNetDB", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "LOC_Os01g49190", + "resourceHomeUrl": "http://bis.zju.edu.cn/ricenetdb/", + "institution": { + "id": 1843, + "name": "College of Life Sciences, Zhejiang University", + "homeUrl": "http://www.cls.en.zju.edu.cn/", + "description": "College of Life Sciences, Zhejiang University, developed from the former Department of Biology, National Zhejiang University founded in September 1929, is proud of its more than 90 years history and lots of outstanding scholars. Many distinguished biologists, including Shizhang BEI, Zongluo LUO, Zhaoqian ZHANG, Jiazhen TAN, Lvji SHI, Renbao ZHU, Zhen YAO, Jiaonai SHI, studied or taught here.", + "rorId": null, + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "LOC_Os01g49190", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1847, + "prefix": "ricenetdb.compound", + "mirId": "MIR:00000666", + "name": "RiceNetDB Compound", + "pattern": "^OSC\\d{4}$", + "description": "RiceNetDB is currently the most comprehensive regulatory database on Oryza Sativa based on genome annotation. It was displayed in three levels: GEM, PPIs and GRNs to facilitate biomolecular regulatory analysis and gene-metabolite mapping.", + "created": "2019-06-11T14:18:15.639+00:00", + "modified": "2019-06-11T14:18:15.639+00:00", + "resources": [ + { + "id": 1848, + "mirId": "MIR:00100884", + "urlPattern": "http://bis.zju.edu.cn/ricenetdb/compounddetails.php?ID={$id}", + "name": "RiceNetDB Compound", + "description": "RiceNetDB Compound", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "OSC1416", + "resourceHomeUrl": "http://bis.zju.edu.cn/ricenetdb", + "institution": { + "id": 1843, + "name": "College of Life Sciences, Zhejiang University", + "homeUrl": "http://www.cls.en.zju.edu.cn/", + "description": "College of Life Sciences, Zhejiang University, developed from the former Department of Biology, National Zhejiang University founded in September 1929, is proud of its more than 90 years history and lots of outstanding scholars. Many distinguished biologists, including Shizhang BEI, Zongluo LUO, Zhaoqian ZHANG, Jiazhen TAN, Lvji SHI, Renbao ZHU, Zhen YAO, Jiaonai SHI, studied or taught here.", + "rorId": null, + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "OSC1416", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1849, + "prefix": "ricenetdb.reaction", + "mirId": "MIR:00000667", + "name": "RiceNetDB Reaction", + "pattern": "^OSR\\d{4}$", + "description": "RiceNetDB is currently the most comprehensive regulatory database on Oryza Sativa based on genome annotation. It was displayed in three levels: GEM, PPIs and GRNs to facilitate biomolecular regulatory analysis and gene-metabolite mapping.", + "created": "2019-06-11T14:18:15.856+00:00", + "modified": "2019-06-11T14:18:15.856+00:00", + "resources": [ + { + "id": 1850, + "mirId": "MIR:00100885", + "urlPattern": "http://bis.zju.edu.cn/ricenetdb/reactiondetails.php?ID={$id}", + "name": "RiceNetDB Reaction", + "description": "RiceNetDB Reaction", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "OSR0818", + "resourceHomeUrl": "http://bis.zju.edu.cn/ricenetdb", + "institution": { + "id": 1843, + "name": "College of Life Sciences, Zhejiang University", + "homeUrl": "http://www.cls.en.zju.edu.cn/", + "description": "College of Life Sciences, Zhejiang University, developed from the former Department of Biology, National Zhejiang University founded in September 1929, is proud of its more than 90 years history and lots of outstanding scholars. Many distinguished biologists, including Shizhang BEI, Zongluo LUO, Zhaoqian ZHANG, Jiazhen TAN, Lvji SHI, Renbao ZHU, Zhen YAO, Jiaonai SHI, studied or taught here.", + "rorId": null, + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "OSR0818", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1851, + "prefix": "ricenetdb.mirna", + "mirId": "MIR:00000668", + "name": "RiceNetDB miRNA", + "pattern": "^osa-miR\\d{3,5}[a-z]{0,1}$", + "description": "RiceNetDB is currently the most comprehensive regulatory database on Oryza Sativa based on genome annotation. It was displayed in three levels: GEM, PPIs and GRNs to facilitate biomolecular regulatory analysis and gene-metabolite mapping.", + "created": "2019-06-11T14:18:16.076+00:00", + "modified": "2019-06-11T14:18:16.076+00:00", + "resources": [ + { + "id": 1852, + "mirId": "MIR:00100886", + "urlPattern": "http://bis.zju.edu.cn/ricenetdb/miRNAdetails.php?ID={$id}", + "name": "RiceNetDB miRNA", + "description": "RiceNetDB miRNA", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "osa-miR446", + "resourceHomeUrl": "http://bis.zju.edu.cn/ricenetdb", + "institution": { + "id": 1843, + "name": "College of Life Sciences, Zhejiang University", + "homeUrl": "http://www.cls.en.zju.edu.cn/", + "description": "College of Life Sciences, Zhejiang University, developed from the former Department of Biology, National Zhejiang University founded in September 1929, is proud of its more than 90 years history and lots of outstanding scholars. Many distinguished biologists, including Shizhang BEI, Zongluo LUO, Zhaoqian ZHANG, Jiazhen TAN, Lvji SHI, Renbao ZHU, Zhen YAO, Jiaonai SHI, studied or taught here.", + "rorId": null, + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "osa-miR446", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1853, + "prefix": "oclc", + "mirId": "MIR:00000669", + "name": "Online Computer Library Center (OCLC) WorldCat", + "pattern": "^[0-9]+$", + "description": "The global library cooperative OCLC maintains WorldCat. WorldCat is the world's largest network of library content and services. WorldCat libraries are dedicated to providing access to their resources on the Web, where most people start their search for information.", + "created": "2019-06-11T14:18:16.344+00:00", + "modified": "2019-06-11T14:18:16.344+00:00", + "resources": [ + { + "id": 1855, + "mirId": "MIR:00100887", + "urlPattern": "https://www.worldcat.org/oclc/{$id}", + "name": "Online Computer Library Center (OCLC) WorldCat", + "description": "Online Computer Library Center (OCLC) WorldCat", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "634515043", + "resourceHomeUrl": "https://www.oclc.org/en/about.html", + "institution": { + "id": 226, + "name": "OCLC Online Computer Library Center, Inc. Ohio", + "homeUrl": "https://www.oclc.org/", + "description": "OCLC is a nonprofit global library organization that provides shared technology services, original research, and community programs so that libraries can better fuel learning, research, and innovation.", + "rorId": "https://ror.org/02nv42w72", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "634515043", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1856, + "prefix": "asin", + "mirId": "MIR:00000670", + "name": "Amazon Standard Identification Number (ASIN)", + "pattern": "^[0-9]{10}$", + "description": "Almost every product on our site has its own ASIN, a unique code we use to identify it. For books, the ASIN is the same as the ISBN number, but for all other products a new ASIN is created when the item is uploaded to our catalogue.", + "created": "2019-06-11T14:18:16.611+00:00", + "modified": "2019-06-11T14:18:16.611+00:00", + "resources": [ + { + "id": 1858, + "mirId": "MIR:00100888", + "urlPattern": "https://amzn.com/{$id}", + "name": "Amazon Standard Identification Number (ASIN)", + "description": "Amazon Standard Identification Number (ASIN)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "0471491039", + "resourceHomeUrl": "https://www.amazon.co.uk/gp/help/customer/display.html/277-3416785-8259466?ie=UTF8&nodeId=898182", + "institution": { + "id": 1857, + "name": "Amazon", + "homeUrl": "https://amazon.com", + "description": "An American multinational technology company based in Seattle, Washington, that focuses on e-commerce, cloud computing, digital streaming, and artificial intelligence", + "rorId": "https://ror.org/04mv4n011", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0471491039", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1859, + "prefix": "ga4ghdos", + "mirId": "MIR:00000671", + "name": "Data Object Service", + "pattern": "^[a-zA-Z0-9\\-:#/\\.]+$", + "description": "Assists in resolving data across cloud resources.", + "created": "2019-06-11T14:18:16.879+00:00", + "modified": "2019-06-11T14:18:16.879+00:00", + "resources": [ + { + "id": 1860, + "mirId": "MIR:00100895", + "urlPattern": "https://dataguids.org/ga4gh/dos/v1/dataobjects/{$id}", + "name": "Data Object Service", + "description": "Data Object Service", + "official": false, + "providerCode": "ucsd", + "sampleId": "dg.4503/01b048d0-e128-4cb0-94e9-b2d2cab7563d", + "resourceHomeUrl": "http://github.com/ga4gh/data-object-service-schemas", + "institution": { + "id": 190, + "name": "University of California, San Diego", + "homeUrl": "https://ucsd.edu/", + "description": "is a public research university in San Diego, California.\nEstablished in 1960 near the pre-existing Scripps Institution of Oceanography, UC San Diego is the seventh-oldest of the 10 University of California campuses and offers over 200 undergraduate and graduate degree programs, enrolling approximately 30,000 undergraduate and 8,500 graduate students.", + "rorId": "https://ror.org/0168r3w48", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "dg.4503/01b048d0-e128-4cb0-94e9-b2d2cab7563d", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1861, + "prefix": "flowrepository", + "mirId": "MIR:00000672", + "name": "FlowRepository", + "pattern": "^FR\\-FCM\\-\\w{4}$", + "description": "FlowRepository is a database of flow cytometry experiments where you can query and download data collected and annotated according to the MIFlowCyt standard. It is primarily used as a data deposition place for experimental findings published in peer-reviewed journals in the flow cytometry field.", + "created": "2019-06-11T14:18:17.129+00:00", + "modified": "2019-06-11T14:18:17.129+00:00", + "resources": [ + { + "id": 1863, + "mirId": "MIR:00100896", + "urlPattern": "https://flowrepository.org/id/{$id}", + "name": "FlowRepository", + "description": "FlowRepository", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "FR-FCM-ZYGW", + "resourceHomeUrl": "https://flowrepository.org/", + "institution": { + "id": 1862, + "name": "Terry Fox Laboratory", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "FR-FCM-ZYGW", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1864, + "prefix": "oid", + "mirId": "MIR:00000673", + "name": "OID Repository", + "pattern": "^[\\d.]+$", + "description": "OIDs provide a persistent identification of objects based on a hierarchical structure of Registration Authorities (RA), where each parent has an object identifier and allocates object identifiers to child nodes.", + "created": "2019-06-11T14:18:17.389+00:00", + "modified": "2019-06-11T14:18:17.389+00:00", + "resources": [ + { + "id": 1866, + "mirId": "MIR:00100897", + "urlPattern": "http://www.oid-info.com/cgi-bin/display?oid={$id}&submit=Display&action=display", + "name": "OID Repository", + "description": "OID Repository", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "2.16.840", + "resourceHomeUrl": "http://www.oid-info.com/introduction.htm", + "institution": { + "id": 1865, + "name": "Orange SA", + "homeUrl": "https://www.orange-business.com/en/regions/north-america", + "description": "We provide world-class solutions over a global footprint backed by local knowledge and support.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2.16.840", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1867, + "prefix": "hpscreg", + "mirId": "MIR:00000674", + "name": "Human Pluripotent Stem Cell Registry", + "pattern": "^[A-Z]{2,6}(e|i)[A-Za-z0-9]{3}-[A-Z]{1,2}(-[A-Za-z0-9]{1,2})?$", + "description": "hPSCreg is a freely accessible global registry for human pluripotent stem cell lines (hPSC-lines).", + "created": "2019-06-11T14:18:17.630+00:00", + "modified": "2019-06-11T14:18:17.630+00:00", + "resources": [ + { + "id": 1869, + "mirId": "MIR:00100898", + "urlPattern": "https://registry.identifiers.org/deprecation/resources/MIR:00100898/{$id}", + "name": "Human Pluripotent Stem Cell Registry", + "description": "Human Pluripotent Stem Cell Registry", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "BCRTi001-A", + "resourceHomeUrl": "https://hpscreg.eu/", + "institution": { + "id": 1868, + "name": "Charit\u00e9 Berlin", + "homeUrl": "https://www.charite.de/en/", + "description": "Charit\u00e9 is one of the largest university hospitals in Europe. All of our clinical care, research, and teaching are delivered by physicians and researchers of the highest international standard. Charit\u00e9 proudly lays claim to more than half of all German Nobel Prize winners in Physiology or Medicine, including Emil von Behring, Robert Koch, and Paul Ehrlich. Charit\u00e9 is internationally renowned for its excellence in teaching and training. Charit\u00e9 \u2013 Universit\u00e4tsmedizin Berlin represents a single medical faculty, which serves both Humboldt Universit\u00e4t zu Berlin and Freie Universit\u00e4t Berlin. Charit\u00e9 extends over four campuses and has over 100 different Departments and Institutes, which make up a total of 17 different Charit\u00e9Centers. Having marked its 300-year anniversary in 2010, Charit\u00e9 is now one of the largest employers in Berlin, employing 17,600 staff (or 20,900 if including its subsidiaries), and with a total annual turnover of \u20ac2.3 billion (including external funding and investment grants).", + "rorId": "https://ror.org/001w7jn25", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": true, + "deprecationDate": "2021-05-10T19:10:24.237+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 2630, + "mirId": "MIR:00000810", + "urlPattern": "https://hpscreg.eu/cell-line/{$id}", + "name": "Fraunhofer Institute for Biomedical Engineering", + "description": "Human Pluripotent Stem Cell Registry", + "official": false, + "providerCode": "ibmt", + "sampleId": "BCRTi001-A", + "resourceHomeUrl": "https://hpscreg.eu/", + "institution": { + "id": 2629, + "name": "Fraunhofer Institute for Biomedical Engineering", + "homeUrl": "https://www.ibmt.fraunhofer.de/en.html", + "description": "Operating in the international growth markets for life sciences and medicine/(bio)medical engineering, since its foundation in 1987/1992 the Fraunhofer Institute for Biomedical Engineering (IBMT) has worked primarily as a technology developer and device manufacturer for customers from all over the world. As a founding member of the Group for Health of the Fraunhofer-Gesellschaft, which now comprises six institutes and one research establishment, the Fraunhofer IBMT cooperates closely with its industrial customers as well as public and private customers. The IBMT's strategy is focused on the areas of biomedical/medical engineering (especially non-invasive and minimally invasive as well as miniaturized technologies), biotechnology, intelligent sensors, implants, cryotechnology, biobanks and stem cell research. Trend-setting automated laboratory technologies, the development of mobile special laboratories (S3, GMP, GCLP, etc.) and information technologies for healthcare solutions round off the portfolio of the Fraunhofer IBMT. Decades of expertise in biotechnological and medical research and development fields also allows us to solve a variety of purely technical tasks. This includes ultrasound-based level metering, special transducers for acoustic applications, sonars, but also microelectrodes and miniaturized manipulation systems as well as automated in vitro culture devices.", + "rorId": "https://ror.org/05tpsgh61", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "BCRTi001-A", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1870, + "prefix": "addgene", + "mirId": "MIR:00000675", + "name": "Addgene Plasmid Repository", + "pattern": "^[0-9]{5}(-[a-zA-Z0-9-]{0,7})?$|^[0-9]{10}$", + "description": "Addgene is a non-profit plasmid repository. Addgene facilitates the exchange of genetic material between laboratories by offering plasmids and their associated cloning data to not-for-profit laboratories around the world.", + "created": "2019-06-11T14:18:17.878+00:00", + "modified": "2019-06-11T14:18:17.878+00:00", + "resources": [ + { + "id": 1872, + "mirId": "MIR:00100899", + "urlPattern": "http://addgene.org/{$id}", + "name": "Addgene Plasmid Repository", + "description": "Addgene Plasmid Repository", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "50943", + "resourceHomeUrl": "http://addgene.org/", + "institution": { + "id": 1871, + "name": "Addgene", + "homeUrl": "https://www.addgene.org", + "description": "Addgene is a global, nonprofit repository that was created to help scientists share plasmids. Plasmids are DNA-based research reagents commonly used in the life sciences. When scientists publish research papers, they deposit their associated plasmids at Addgene. Then, when other scientists read the publication, they have easy access to the plasmids needed to conduct future experiments.", + "rorId": "https://ror.org/01nn1pw54", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "50943", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1876, + "prefix": "ido", + "mirId": "MIR:00000677", + "name": "Infectious Disease Ontology", + "pattern": "^[0-9]+$", + "description": "Infectious Disease Ontology holds entities relevant to both biomedical and clinical aspects of most infectious diseases.", + "created": "2019-06-11T14:18:18.372+00:00", + "modified": "2019-06-11T14:18:18.372+00:00", + "resources": [ + { + "id": 1877, + "mirId": "MIR:00100907", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/ido/terms?obo_id=IDO:{$id}", + "name": "IDO through OLS", + "description": "IDO through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "0000504", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/ido", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0000504", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1878, + "prefix": "gdsc", + "mirId": "MIR:00000678", + "name": "Genomics of Drug Sensitivity in Cancer", + "pattern": "^[0-9]+$", + "description": "The Genomics of Drug Sensitivity in Cancer (GDSC) database is designed to facilitate an increased understanding of the molecular features that influence drug response in cancer cells and which will enable the design of improved cancer therapies.", + "created": "2019-06-11T14:18:18.593+00:00", + "modified": "2019-06-11T14:18:18.593+00:00", + "resources": [ + { + "id": 1880, + "mirId": "MIR:00100908", + "urlPattern": "https://www.cancerrxgene.org/translation/Drug/{$id}", + "name": "Genomics of Drug Sensitivity in Cancer", + "description": "Genomics of Drug Sensitivity in Cancer", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "1242", + "resourceHomeUrl": "https://www.cancerrxgene.org", + "institution": { + "id": 1879, + "name": "Wellcome Sanger Institute and the Center for Molecular Therapeutics and Massachusetts General Hospital Cancer Center", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1242", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1895, + "prefix": "isni", + "mirId": "MIR:00000684", + "name": "International Standard Name Identifier", + "pattern": "^[0-9]{15}[0-9X]{1}$", + "description": "ISNI is the ISO certified global standard number for identifying the millions of contributors to creative works and those active in their distribution, including researchers, inventors, writers, artists, visual creators, performers, producers, publishers, aggregators, and more. It is part of a family of international standard identifiers that includes identifiers of works, recordings, products and right holders in all repertoires, e.g. DOI, ISAN, ISBN, ISRC, ISSN, ISTC, and ISWC.\r\n\r\nThe mission of the ISNI International Authority (ISNI-IA) is to assign to the public name(s) of a researcher, inventor, writer, artist, performer, publisher, etc. a persistent unique identifying number in order to resolve the problem of name ambiguity in search and discovery; and diffuse each assigned ISNI across all repertoires in the global supply chain so that every published work can be unambiguously attributed to its creator wherever that work is described.", + "created": "2019-06-11T14:18:20.121+00:00", + "modified": "2019-06-11T14:18:20.121+00:00", + "resources": [ + { + "id": 1897, + "mirId": "MIR:00100915", + "urlPattern": "http://www.isni.org/isni/{$id}", + "name": "International Standard Name Identifier", + "description": "International Standard Name Identifier", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "000000012281955X", + "resourceHomeUrl": "http://www.isni.org", + "institution": { + "id": 1896, + "name": "ISNI International Authority", + "homeUrl": "https://isni.org/", + "description": "ISNI is the ISO-certified global standard number for identifying the millions of contributors to creative works and those active in their distribution, including researchers, inventors, writers, artists, visual creators, performers, producers, publishers, aggregators, and more. As ISO 27729, it is part of a family of international standard identifiers that includes identifiers of works, recordings, products and right holders in all repertoires, e.g. DOI, ISAN, ISBN, ISRC, ISSN, and ISWC.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "000000012281955X", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1898, + "prefix": "viaf", + "mirId": "MIR:00000685", + "name": "Virtual International Authority File", + "pattern": "^\\d+$", + "description": "The VIAF\u00ae (Virtual International Authority File) combines multiple name authority files into a single OCLC-hosted name authority service. The goal of the service is to lower the cost and increase the utility of library authority files by matching and linking widely-used authority files and making that information available on the Web.", + "created": "2019-06-11T14:18:20.364+00:00", + "modified": "2019-06-11T14:18:20.364+00:00", + "resources": [ + { + "id": 1900, + "mirId": "MIR:00100916", + "urlPattern": "http://viaf.org/viaf/{$id}", + "name": "Virtual International Authority File", + "description": "Virtual International Authority File", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "75121530", + "resourceHomeUrl": "http://viaf.org", + "institution": { + "id": 226, + "name": "OCLC Online Computer Library Center, Inc. Ohio", + "homeUrl": "https://www.oclc.org/", + "description": "OCLC is a nonprofit global library organization that provides shared technology services, original research, and community programs so that libraries can better fuel learning, research, and innovation.", + "rorId": "https://ror.org/02nv42w72", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "75121530", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1901, + "prefix": "lei", + "mirId": "MIR:00000686", + "name": "Global LEI Index", + "pattern": "^[0-9A-Z]{4}[0-9A-Z]{14}[0-9A-Z]{2}$", + "description": "Established by the Financial Stability Board in June 2014, the Global Legal Entity Identifier Foundation (GLEIF) is tasked to support the implementation and use of the Legal Entity Identifier (LEI). The foundation is backed and overseen by the LEI Regulatory Oversight Committee, representing public authorities from around the globe that have come together to jointly drive forward transparency within the global financial markets. GLEIF is a supra-national not-for-profit organization headquartered in Basel, Switzerland.", + "created": "2019-06-11T14:18:20.599+00:00", + "modified": "2019-06-11T14:18:20.599+00:00", + "resources": [ + { + "id": 1903, + "mirId": "MIR:00100917", + "urlPattern": "https://www.gleif.org/lei/{$id}", + "name": "Global LEI Index", + "description": "Global LEI Index", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "HWUPKR0MPOU8FGXBT394", + "resourceHomeUrl": "https://www.gleif.org/", + "institution": { + "id": 1902, + "name": "Global Legal Entity Identifier Foundation", + "homeUrl": "https://www.gleif.org/en", + "description": "Established by the Financial Stability Board in June 2014, the Global Legal Entity Identifier Foundation (GLEIF) is tasked to support the implementation and use of the Legal Entity Identifier (LEI). The foundation is backed and overseen by the Regulatory Oversight Committee, representing public authorities from around the globe that have come together to jointly drive forward transparency within the global financial markets. GLEIF is a supra-national not-for-profit organization headquartered in Basel, Switzerland.", + "rorId": null, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "HWUPKR0MPOU8FGXBT394", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1904, + "prefix": "spdx", + "mirId": "MIR:00000687", + "name": "SPDX License List", + "pattern": "^[0-9A-Za-z\\-.]+$", + "description": "The SPDX License List is a list of commonly found licenses and exceptions used in free and open source and other collaborative software or documentation. The purpose of the SPDX License List is to enable easy and efficient identification of such licenses and exceptions in an SPDX document, in source files or elsewhere. The SPDX License List includes a standardized short identifier, full name, vetted license text including matching guidelines markup as appropriate, and a canonical permanent URL for each license and exception.", + "created": "2019-06-11T14:18:20.855+00:00", + "modified": "2019-06-11T14:18:20.855+00:00", + "resources": [ + { + "id": 1906, + "mirId": "MIR:00100918", + "urlPattern": "https://spdx.org/licenses/{$id}", + "name": "SPDX License List", + "description": "SPDX License List", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "CC-BY-1.0", + "resourceHomeUrl": "https://spdx.org", + "institution": { + "id": 1905, + "name": "SPDX Workgroup a Linux Foundation Project", + "homeUrl": "https://spdx.dev/", + "description": "SPDX is an open standard for communicating software bill of material information, including provenance, license, security, and other related information. SPDX reduces redundant work by providing common formats for organizations and communities to share important data, thereby streamlining and improving compliance, security, and dependability. The SPDX specification is recognized as the international open standard for security, license compliance, and other software supply chain artifacts as ISO/IEC 5962:2021.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CC-BY-1.0", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1907, + "prefix": "sabiork.compound", + "mirId": "MIR:00000688", + "name": "SABIO-RK Compound", + "pattern": "^\\d+$", + "description": "SABIO-RK is a relational database system that contains information about biochemical reactions, their kinetic equations with their parameters, and the experimental conditions under which these parameters were measured. The compound data set provides information regarding the reactions in which a compound participates as substrate, product or modifier (e.g. inhibitor, cofactor), and links to further information.", + "created": "2019-06-11T14:18:21.119+00:00", + "modified": "2019-06-11T14:18:21.119+00:00", + "resources": [ + { + "id": 1908, + "mirId": "MIR:00100919", + "urlPattern": "http://sabiork.h-its.org/newSearch?q={$id}", + "name": "SABIO-RK Compound", + "description": "SABIO-RK Compound", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "75", + "resourceHomeUrl": "http://sabiork.h-its.org/", + "institution": { + "id": 151, + "name": "Heidelberg Institute for Theoretical Studies (HITS gGmbH)", + "homeUrl": "http://www.h-its.org/en/", + "description": "HITS conducts basic research in the natural sciences, mathematical and computer science. Major research directions include complex simulations across scales, making sense of data, and enabling science via computational research. Application areas range from molecular biology to astrophysics. An essential characteristic of the Institute is interdisciplinarity, implemented in numerous cross-group and cross-disciplinary projects. The base funding of HITS is provided by the Klaus Tschira Foundation.", + "rorId": "https://ror.org/01f7bcy98", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "75", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1909, + "prefix": "oryzabase.reference", + "mirId": "MIR:00000689", + "name": "Oryzabase", + "pattern": "^\\d+$", + "description": "The Oryzabase is a comprehensive rice science database established in 2000 by rice researcher's committee in Japan.", + "created": "2019-06-11T14:18:21.361+00:00", + "modified": "2019-06-11T14:18:21.361+00:00", + "resources": [ + { + "id": 1910, + "mirId": "MIR:00100920", + "urlPattern": "https://shigen.nig.ac.jp/rice/oryzabase/reference/detail/{$id}", + "name": "Oryzabase", + "description": "Oryzabase", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "42840", + "resourceHomeUrl": "http://www.shigen.nig.ac.jp/rice/oryzabaseV4/", + "institution": { + "id": 1371, + "name": "Genetic Strains Research Center, National Institute of Genetics, Mishima, Shizuoka", + "homeUrl": "http://www.nig.ac.jp/nig/", + "description": "Research NIG conducts top-level research in life sciences leveraging on approaches and resources in Genetics. NIG also develops new research fields within the broader concept of Genetics. ", + "rorId": "https://ror.org/02xg1m795", + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "42840", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1911, + "prefix": "peptideatlas.dataset", + "mirId": "MIR:00000690", + "name": "PeptideAtlas Dataset", + "pattern": "^PASS\\d{5}$", + "description": "Experiment details about PeptideAtlas entries. Each PASS entry provides direct access to the data files submitted to PeptideAtlas.", + "created": "2019-06-11T14:18:21.571+00:00", + "modified": "2019-06-11T14:18:21.571+00:00", + "resources": [ + { + "id": 1912, + "mirId": "MIR:00100921", + "urlPattern": "http://www.peptideatlas.org/PASS/{$id}", + "name": "PeptideAtlas Dataset", + "description": "PeptideAtlas Dataset", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "PASS01237", + "resourceHomeUrl": "https://db.systemsbiology.net/sbeams/cgi/PeptideAtlas/PASS_Summary", + "institution": { + "id": 193, + "name": "Institute for Systems Biology", + "homeUrl": "https://isbscience.org/", + "description": "ISB was created in 2000 as the first-ever institute dedicated to systems biology.", + "rorId": "https://ror.org/02tpgw303", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PASS01237", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1913, + "prefix": "did", + "mirId": "MIR:00000691", + "name": "Decentralized Identifiers (DIDs)", + "pattern": "^did:[a-z0-9]+:[A-Za-z0-9.\\-:]+$", + "description": "DIDs are an effort by the W3C Credentials Community Group and the wider Internet identity community to define identifiers that can be registered, updated, resolved, and revoked without any dependency on a central authority or intermediary.", + "created": "2019-06-11T14:18:21.755+00:00", + "modified": "2019-06-11T14:18:21.755+00:00", + "resources": [ + { + "id": 1915, + "mirId": "MIR:00100922", + "urlPattern": "https://uniresolver.io/#did:{$id}", + "name": "Decentralized Identifiers (DIDs)", + "description": "Decentralized Identifiers (DIDs)", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "sov:WRfXPg8dantKVubE3HX8pw", + "resourceHomeUrl": "https://w3c-ccg.github.io/did-spec/", + "institution": { + "id": 1914, + "name": "W3C Credentials Community Group", + "homeUrl": "https://www.w3.org/community/credentials/", + "description": "The mission of the W3C Credentials Community Group is to explore the creation, storage, presentation, verification, and user control of credentials. We focus on a verifiable credential (a set of claims) created by an issuer about a subject\u2014a person, group, or thing\u2014and seek solutions inclusive of approaches such as: self-sovereign identity; presentation of proofs by the bearer; data minimization; and centralized, federated, and decentralized registry and identity systems. Our tasks include drafting and incubating Internet specifications for further standardization and prototyping and testing reference implementations.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "sov:WRfXPg8dantKVubE3HX8pw", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1916, + "prefix": "seed.reaction", + "mirId": "MIR:00000692", + "name": "SEED Reactions", + "pattern": "^rxn\\d+$", + "description": "ModelSEED is a platform for creating genome-scale metabolic network reconstructions for microbes and plants. As part of the platform, a biochemistry database is managed that contains reactions unique to ModelSEED as well as reactions aggregated from other databases or from manually-curated genome-scale metabolic network reconstructions.", + "created": "2019-06-11T14:18:21.981+00:00", + "modified": "2019-06-11T14:18:21.981+00:00", + "resources": [ + { + "id": 1917, + "mirId": "MIR:00100923", + "urlPattern": "http://modelseed.org/biochem/reactions/{$id}", + "name": "SEED Reactions", + "description": "SEED Reactions", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "rxn00001", + "resourceHomeUrl": "http://modelseed.org/biochem/reactions/", + "institution": { + "id": 1546, + "name": "Argonne National Laboratory", + "homeUrl": "https://www.anl.gov", + "description": "Argonne is a multidisciplinary science and engineering research center, where talented scientists and engineers work together to answer the biggest questions facing humanity, from how to obtain affordable clean energy to protecting ourselves and our environment.", + "rorId": "https://ror.org/05gvnxz63", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "rxn00001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1918, + "prefix": "occ", + "mirId": "MIR:00000693", + "name": "OpenCitations Corpus", + "pattern": "^[a-z][a-z]/[0-9]+$", + "description": "The OpenCitations Corpus is open repository of scholarly citation data made available under a Creative Commons public domain dedication (CC0), which provides accurate bibliographic references harvested from the scholarly literature that others may freely build upon, enhance and reuse for any purpose, without restriction under copyright or database law.", + "created": "2019-06-11T14:18:22.186+00:00", + "modified": "2019-06-11T14:18:22.186+00:00", + "resources": [ + { + "id": 1920, + "mirId": "MIR:00100925", + "urlPattern": "https://w3id.org/oc/corpus/{$id}", + "name": "OpenCitations Corpus", + "description": "OpenCitations Corpus", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "br/1", + "resourceHomeUrl": "https://w3id.org/oc/corpus", + "institution": { + "id": 1919, + "name": "OpenCitations", + "homeUrl": "http://opencitations.net/", + "description": "OpenCitations is an independent not-for-profit infrastructure organization for open scholarship dedicated to the publication of open bibliographic and citation data by the use of Semantic Web (Linked Data) technologies. It is also engaged in advocacy for open citations, particularly in its role as a key founding member of the Initiative for Open Citations (I4OC). For administrative convenience, OpenCitations is managed by the Research Centre for Open Scholarly Metadata at the University of Bologna.", + "rorId": "https://ror.org/00wb4mk85", + "location": { + "countryCode": "IT", + "countryName": "Italy" + } + }, + "location": { + "countryCode": "IT", + "countryName": "Italy" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "br/1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1923, + "prefix": "cadsr", + "mirId": "MIR:00000695", + "name": "Cancer Data Standards Registry and Repository", + "pattern": "^[0-9]*$", + "description": "The US National Cancer Institute (NCI) maintains and administers data elements, forms, models, and components of these items in a metadata registry referred to as the Cancer Data Standards Registry and Repository, or caDSR.", + "created": "2019-06-11T14:18:22.646+00:00", + "modified": "2019-06-11T14:18:22.646+00:00", + "resources": [ + { + "id": 1925, + "mirId": "MIR:00100928", + "urlPattern": "https://cadsrapi.nci.nih.gov/cadsrapi4/GetXML?query=DataElement[@publicId={$id}]", + "name": "Cancer Data Standards Registry and Repository", + "description": "Cancer Data Standards Registry and Repository", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "3771992", + "resourceHomeUrl": "https://wiki.nci.nih.gov/display/caDSR/caDSR+Wiki", + "institution": { + "id": 1924, + "name": "National Cancer Institute, National Institutes of Health, Bethesda, MD", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "3771992", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1977, + "prefix": "classyfire", + "mirId": "MIR:00000770", + "name": "ClassyFire", + "pattern": "^C[0-9]{7}$", + "description": "ClassyFire is a web-based application for automated structural classification of chemical entities. This application uses a rule-based approach that relies on a comprehensible, comprehensive, and computable chemical taxonomy. ClassyFire provides a hierarchical chemical classification of chemical entities (mostly small molecules and short peptide sequences), as well as a structure-based textual description, based on a chemical taxonomy named ChemOnt, which covers 4825 chemical classes of organic and inorganic compounds. Moreover, ClassyFire allows for text-based search via its web interface. It can be accessed via the web interface or via the ClassyFire API.", + "created": "2019-09-05T11:46:36.162+00:00", + "modified": "2019-09-05T11:46:36.162+00:00", + "resources": [ + { + "id": 1978, + "mirId": "MIR:00000710", + "urlPattern": "http://classyfire.wishartlab.com/tax_nodes/{$id}", + "name": "The Wishart Research Group, University of Alberta, Edmonton, Alberta, Canada", + "description": "Dr. David Wishart (PhD Yale, 1991) is a Professor in the Departments of Biological Sciences and Computing Science at the University of Alberta. He is also a senior research officer and the director of the Nano Life Science program at the NRC\u2019s National Institute for Nanotechnology (NINT). He has been with the University of Alberta since 1995. Dr. Wishart has active research programs in Ua Colour structural biology, nanobiology, synthetic biology, prion biology, bioinformatics and metabolomics. Some of his lab's most significant contributions have been in the area of protein chemical shift analysis and the prediction of protein structure.", + "official": true, + "providerCode": "classyfire", + "sampleId": "C0004828", + "resourceHomeUrl": "http://classyfire.wishartlab.com/", + "institution": { + "id": 1976, + "name": "The Wishart Research Group, University of Alberta, Edmonton, Alberta, Canada", + "homeUrl": "http://www.wishartlab.com/", + "description": "Dr. David Wishart (PhD Yale, 1991) is a Professor in the Departments of Biological Sciences and Computing Science at the University of Alberta. He is also a senior research officer and the director of the Nano Life Science program at the NRC\u2019s National Institute for Nanotechnology (NINT). He has been with the University of Alberta since 1995. Dr. Wishart has active research programs in Ua Colour structural biology, nanobiology, synthetic biology, prion biology, bioinformatics and metabolomics. Some of his lab's most significant contributions have been in the area of protein chemical shift analysis and the prediction of protein structure.", + "rorId": null, + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "C0004828", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1921, + "prefix": "biostudies", + "mirId": "MIR:00000694", + "name": "BioStudies database", + "pattern": "^S-[A-Z]{4}[\\-\\_A-Z\\d]+$", + "description": "The BioStudies database holds descriptions of biological studies, links to data from these studies in other databases at EMBL-EBI or outside, as well as data that do not fit in the structured archives at EMBL-EBI. The database can accept a wide range of types of studies described via a simple format. It also enables manuscript authors to submit supplementary information and link to it from the publication.", + "created": "2019-06-11T14:18:22.448+00:00", + "modified": "2023-01-12T08:36:02.758+00:00", + "resources": [ + { + "id": 1922, + "mirId": "MIR:00100926", + "urlPattern": "https://www.ebi.ac.uk/biostudies/studies/{$id}", + "name": "BioStudies database", + "description": "BioStudies database", + "official": true, + "providerCode": "ebi", + "sampleId": "S-EPMC6266652", + "resourceHomeUrl": "https://www.ebi.ac.uk/biostudies/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "S-EPMC6266652", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1989, + "prefix": "ocid", + "mirId": "MIR:00000738", + "name": "Ontology Concept Identifiers", + "pattern": "ocid:[0-9]{12}", + "description": "'ocid' stands for \"Ontology Concept Identifiers\" and are 12 digit long integers covering IDs in topical ontologies from anatomy up to toxicology.", + "created": "2019-09-10T09:27:59.693+00:00", + "modified": "2019-09-10T09:27:59.693+00:00", + "resources": [ + { + "id": 1990, + "mirId": "MIR:00000706", + "urlPattern": "https://registry.identifiers.org/deprecation/resources/MIR:00000706/{$id}", + "name": "SciWalker Open Data", + "description": "SciWalker is an open access ontology based search tool for annotated data and extracted knowledge from scientific databases, patents and scientific documents.", + "official": false, + "providerCode": "oc", + "sampleId": "190000021540", + "resourceHomeUrl": "https://www.sciwalker.com", + "institution": { + "id": 1988, + "name": "OntoChem GmbH", + "homeUrl": "https://www.ontochem.com", + "description": "OntoChem develops and uses ontologies and semantic NLP software to annotate, analyze, extract and predict knowledge from scientific databases, patents, scientific articles or general private documents.", + "rorId": null, + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": true, + "deprecationDate": "2021-10-17T10:39:01.622+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 2936, + "mirId": "MIR:00000885", + "urlPattern": "https://ocid.ontochem.com/prefname?ocid={$id}", + "name": "Ontochem GmbH", + "description": "We offer high performance and highly customizable text analysis and data mining products that can be tailored to meet the specific needs of every client. ", + "official": true, + "providerCode": "ontochem", + "sampleId": "190000021540", + "resourceHomeUrl": "https://ontochem.com/", + "institution": { + "id": 1988, + "name": "OntoChem GmbH", + "homeUrl": "https://www.ontochem.com", + "description": "OntoChem develops and uses ontologies and semantic NLP software to annotate, analyze, extract and predict knowledge from scientific databases, patents, scientific articles or general private documents.", + "rorId": null, + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "190000021540", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1997, + "prefix": "mmp.fun", + "mirId": "MIR:00000729", + "name": "MarFun", + "pattern": "^MMP\\d+.\\d+$", + "description": "MarFun is manually curated database for marine fungi which is a part of the MAR databases.", + "created": "2019-09-10T10:50:49.547+00:00", + "modified": "2019-09-10T10:50:49.547+00:00", + "resources": [ + { + "id": 1998, + "mirId": "MIR:00000713", + "urlPattern": "https://mmp.sfb.uit.no/databases/marfun/#/records/{$id}", + "name": "MarFun through SfB", + "description": "MarFun through SfB", + "official": true, + "providerCode": "mmp", + "sampleId": "MMP3888430", + "resourceHomeUrl": "https://mmp.sfb.uit.no/databases/marfun", + "institution": { + "id": 1703, + "name": "Center for Bioinformatics (SfB), UiT The Arctic university of Norway", + "homeUrl": "https://en.uit.no/forskning/forskningsgrupper/gruppe?p_document_id=347053", + "description": "The Center for Bioinformatics at the Faculty of Science and Technology is a research-based service center established to facilitate cross-disciplinary research, teaching, and services at the interface of biotechnology and computer science. The center currently comprises researchers and students from the Department of Chemistry and the Department of Computer Science. The center provides research collaboration and services related to bioinformatics.", + "rorId": null, + "location": { + "countryCode": "NO", + "countryName": "Norway" + } + }, + "location": { + "countryCode": "NO", + "countryName": "Norway" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MMP3888430", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2003, + "prefix": "ecyano.experiment", + "mirId": "MIR:00000760", + "name": "E-cyanobacterium Experimental Data", + "pattern": "^\\d+$", + "description": "E-cyanobacterium experiments is a repository of wet-lab experiments related to cyanobacteria. The emphasis is placed on annotation via mapping to local database of biological knowledge and mathematical models along with the complete experimental setup supporting the reproducibility of the experiments.", + "created": "2019-09-10T12:51:24.637+00:00", + "modified": "2019-09-10T12:51:24.637+00:00", + "resources": [ + { + "id": 2004, + "mirId": "MIR:00000754", + "urlPattern": "https://www.e-cyanobacterium.org/experiments-repository/?action=detail&id={$id}", + "name": "E-cyanobacterium", + "description": "E-cyanobacterium is a web-based platform for public sharing, annotation, analysis, and visualisation of dynamical models and wet-lab experiments related to cyanobacteria. It allows models to be represented at different levels of abstraction \u2014 as biochemical reaction networks or ordinary differential equations. It provides concise mappings of mathematical models to a formalised consortium-agreed biochemical description, with the aim of connecting the world of biological knowledge with benefits of mathematical description of dynamic processes. This collection references wet-lab experiments.", + "official": true, + "providerCode": "ecyano", + "sampleId": "18", + "resourceHomeUrl": "https://www.e-cyanobacterium.org/experiments-repository/", + "institution": { + "id": 1629, + "name": "Systems Biology Laboratory, Faculty of Informatics, Masaryk University Brno", + "homeUrl": "https://sybila.fi.muni.cz/", + "description": "From January 1, 2016 we became part of the national research infrastructure C4Sys (Centre for System Biology), representing a Czech node of the ISBE (Infrastructure for Systems Biology \u2013 Europe), and our activities are supported from the program for large research infrastructures of the Ministry of Education, Youth and Sports. ", + "rorId": null, + "location": { + "countryCode": "CZ", + "countryName": "Czech Republic" + } + }, + "location": { + "countryCode": "CZ", + "countryName": "Czech Republic" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "18", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2022, + "prefix": "dlxc", + "mirId": "MIR:00000742", + "name": "Circular double stranded DNA sequences composed", + "pattern": "^[A-Z0-9]{6,7}$", + "description": "DOULIX lab-tested standard biological parts, in this case, full length constructs.", + "created": "2019-09-24T11:03:08.927+00:00", + "modified": "2019-09-24T11:03:08.927+00:00", + "resources": [ + { + "id": 2023, + "mirId": "MIR:00000734", + "urlPattern": "https://doulix.com/constructs/{$id}/", + "name": "Doulix DNA repository", + "description": "Doulix DNA repository provides a FAIR-compliant database of DNA sequences for synthetic biology. Doulix allows user to retrieve, inspect and manipulate DNA sequences while ensuring data traceability and integrity.", + "official": true, + "providerCode": "dlxc", + "sampleId": "M77F7JM", + "resourceHomeUrl": "https://doulix.com", + "institution": { + "id": 2021, + "name": "Double Helix Technologies (DOULIX)", + "homeUrl": "https://doulix.com", + "description": "Double Helix Technologies (DOULIX) is currently an operative unit of Explora Biotech (https://www.explora-biotech.com). ", + "rorId": null, + "location": { + "countryCode": "IT", + "countryName": "Italy" + } + }, + "location": { + "countryCode": "IT", + "countryName": "Italy" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "M77F7JM", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2026, + "prefix": "dlxb", + "mirId": "MIR:00000747", + "name": "Linear double stranded DNA sequences", + "pattern": "^[A-Z0-9]{6,7}$", + "description": "DOULIX lab-tested standard biological parts, in this case linear double stranded DNA sequences.", + "created": "2019-10-01T11:40:36.666+00:00", + "modified": "2019-10-01T11:40:36.666+00:00", + "resources": [ + { + "id": 2027, + "mirId": "MIR:00000717", + "urlPattern": "https://doulix.com/biomodules/{$id}/", + "name": "Doulix DNA repository", + "description": "Doulix DNA repository provides a FAIR-compliant database of DNA sequences for synthetic biology. Doulix allows user to retrieve, inspect and manipulate DNA sequences while ensuring data traceability and integrity.", + "official": true, + "providerCode": "dlxb", + "sampleId": "6VDC956", + "resourceHomeUrl": "https://doulix.com", + "institution": { + "id": 2021, + "name": "Double Helix Technologies (DOULIX)", + "homeUrl": "https://doulix.com", + "description": "Double Helix Technologies (DOULIX) is currently an operative unit of Explora Biotech (https://www.explora-biotech.com). ", + "rorId": null, + "location": { + "countryCode": "IT", + "countryName": "Italy" + } + }, + "location": { + "countryCode": "IT", + "countryName": "Italy" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "6VDC956", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1729, + "prefix": "cameo", + "mirId": "MIR:00000623", + "name": "CAMEO", + "pattern": "^[0-9\\-_]+$", + "description": "The goal of the CAMEO (Continuous Automated Model EvaluatiOn) community project is to continuously evaluate the accuracy and reliability of protein structure prediction servers, offering scores on tertiary and quaternary structure prediction, model quality estimation, accessible surface area prediction, ligand binding site residue prediction and contact prediction services in a fully automated manner. These predictions are regularly compared against reference structures from PDB.", + "created": "2019-06-11T14:18:04.976+00:00", + "modified": "2019-10-01T11:46:06.302+00:00", + "resources": [ + { + "id": 1731, + "mirId": "MIR:00100827", + "urlPattern": "https://www.cameo3d.org/sp/targets/target/{$id}", + "name": "CAMEO", + "description": "CAMEO", + "official": false, + "providerCode": "sib", + "sampleId": "2019-08-03_00000089_1", + "resourceHomeUrl": "https://cameo3d.org", + "institution": { + "id": 1730, + "name": "SIB Swiss Institute of Bioinformatics", + "homeUrl": "https://www.sib.swiss", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "rorId": "https://ror.org/002n09z45", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2019-08-03_00000089_1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2013, + "prefix": "nemo", + "mirId": "MIR:00000744", + "name": "Neuroscience Multi-Omic BRAIN Initiative Data", + "pattern": "[a-z]{3}-[a-km-z0-9]{7}", + "description": "This namespace is about Neuroscience Multi-Omic data, specially focused on that data generated from the BRAIN Initiative and related brain research projects.", + "created": "2019-09-19T13:46:35.999+00:00", + "modified": "2019-10-02T08:18:15.555+00:00", + "resources": [ + { + "id": 2014, + "mirId": "MIR:00000790", + "urlPattern": "https://assets.nemoarchive.org/{$id}", + "name": "The NeMO Archive", + "description": "The Neuroscience Multi-Omic Archive (NeMO Archive) is a data repository specifically focused on the storage and dissemination of omic data generated from the BRAIN Initiative and related brain research projects.", + "official": true, + "providerCode": "igs", + "sampleId": "smp-m3w9hbe", + "resourceHomeUrl": "https://www.nemoarchive.org", + "institution": { + "id": 2012, + "name": "The Institute for Genome Sciences", + "homeUrl": "http://www.igs.umaryland.edu", + "description": "Formed in May 2007, the Institute for Genome Sciences (IGS) is part of the University of Maryland School of Medicine and is on the University of Maryland Baltimore campus. Members of the IGS team have helped revolutionize genomic discoveries in medicine, agriculture, environmental science and biodefense.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "smp-m3w9hbe", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2037, + "prefix": "spp", + "mirId": "MIR:00000726", + "name": "Signaling Pathways Project", + "pattern": "^10.\\w{4}/\\w{10}$", + "description": "The Signaling Pathways Project is an integrated 'omics knowledgebase based upon public, manually curated transcriptomic and cistromic (ChIP-Seq) datasets involving genetic and small molecule manipulations of cellular receptors, enzymes and transcription factors. Our goal is to create a resource where scientists can routinely generate research hypotheses or validate bench data relevant to cellular signaling pathways.", + "created": "2019-11-07T10:59:42.032+00:00", + "modified": "2019-11-07T10:59:42.032+00:00", + "resources": [ + { + "id": 2038, + "mirId": "MIR:00000730", + "urlPattern": "https://www.signalingpathways.org/datasets/dataset.jsf?doi={$id}", + "name": "Signaling Pathways Project", + "description": "The Signaling Pathways Project is an integrated 'omics knowledgebase based upon public, manually curated transcriptomic and cistromic (ChIP-Seq) datasets involving genetic and small molecule manipulations of cellular receptors, enzymes and transcription factors. Our goal is to create a resource where scientists can routinely generate research hypotheses or validate bench data relevant to cellular signaling pathways.", + "official": true, + "providerCode": "spp", + "sampleId": "10.1621/vwN2g2HaX3", + "resourceHomeUrl": "https://www.signalingpathways.org/index.jsf", + "institution": { + "id": 485, + "name": "Baylor College of Medicine", + "homeUrl": "https://www.bcm.edu", + "description": "Baylor College of Medicine is a health sciences university that creates knowledge and applies science and discoveries to further education, healthcare and community service locally and globally.", + "rorId": "https://ror.org/02pttbw34", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "10.1621/vwN2g2HaX3", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2055, + "prefix": "bmrb", + "mirId": "MIR:00000716", + "name": "Biological Magnetic Resonance Data Bank", + "pattern": "^(bmr|bmse|bmst)?[0-9]{1,6}$", + "description": "BMRB collects, annotates, archives, and disseminates (worldwide in the public domain) the important spectral and quantitative data derived from NMR spectroscopic investigations of biological macromolecules and metabolites. The goal is to empower scientists in their analysis of the structure, dynamics, and chemistry of biological systems and to support further development of the field of biomolecular NMR spectroscopy.", + "created": "2019-12-09T15:05:02.665+00:00", + "modified": "2019-12-09T15:05:02.665+00:00", + "resources": [ + { + "id": 2056, + "mirId": "MIR:00000735", + "urlPattern": "http://rest.bmrb.wisc.edu/bmrb/{$id}/html", + "name": "Biological Magnetic Resonance Data Bank", + "description": "BMRB collects, annotates, archives, and disseminates (worldwide in the public domain) the important spectral and quantitative data derived from NMR spectroscopic investigations of biological macromolecules and metabolites. The goal is to empower scientists in their analysis of the structure, dynamics, and chemistry of biological systems and to support further development of the field of biomolecular NMR spectroscopy.", + "official": true, + "providerCode": "bmrb", + "sampleId": "15000", + "resourceHomeUrl": "http://www.bmrb.wisc.edu/", + "institution": { + "id": 2054, + "name": "University of Wisconsin-Madison", + "homeUrl": "https://www.wisc.edu/", + "description": "The University of Wisconsin\u2013Madison is a public research university in Madison, Wisconsin. Founded when Wisconsin achieved statehood in 1848, UW\u2013Madison is the official state university of Wisconsin, and the flagship campus of the University of Wisconsin System.\nIt was the first public university established in Wisconsin and remains the oldest and largest public university in the state. It became a land-grant institution in 1866.\nThe 933-acre (378 ha) main campus, located on the shores of Lake Mendota, includes four National Historic Landmarks.\nThe University also owns and operates a historic 1,200-acre (486 ha) arboretum established in 1932, located 4 miles (6.4 km) south of the main campus.", + "rorId": "https://ror.org/01y2jtd41", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "15000", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2061, + "prefix": "disprot.region", + "mirId": "MIR:00000745", + "name": "DisProt region", + "pattern": "^DP\\d{5}r\\d{3}$", + "description": "DisProt is a database of intrisically disordered proteins and protein disordered regions, manually curated from literature.", + "created": "2019-12-09T15:18:31.130+00:00", + "modified": "2019-12-09T15:18:31.130+00:00", + "resources": [ + { + "id": 2062, + "mirId": "MIR:00000756", + "urlPattern": "https://www.disprot.org/{$id}", + "name": "DisProt region", + "description": "DisProt is a database of intrinsically disordered proteins and protein disordered regions, manually curated from literature.", + "official": true, + "providerCode": "disprot.region", + "sampleId": "DP00086r013", + "resourceHomeUrl": "https://www.disprot.org", + "institution": { + "id": 1769, + "name": "University of Padua", + "homeUrl": "https://www.unipd.it/en/", + "description": "he University of Padua is one of Europe\u2019s oldest and most prestigious seats of learning. As a multi-disciplinary institute of higher education, the University aims to provide its students with professional training and a solid cultural background. The qualification received from the University of Padua act as a symbol of the ambitious objectives respected and coveted by both students and employers alike.", + "rorId": "https://ror.org/00240q980", + "location": { + "countryCode": "IT", + "countryName": "Italy" + } + }, + "location": { + "countryCode": "IT", + "countryName": "Italy" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "DP00086r013", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2072, + "prefix": "vegbank", + "mirId": "MIR:00000723", + "name": "VegBank", + "pattern": "^VB\\.[A-Za-z][A-Za-z]\\..*$", + "description": "VegBank is the vegetation plot database of the Ecological Society of America's Panel on Vegetation Classification. VegBank consists of three linked databases that contain (1) vegetation plot records, (2) vegetation types recognized in the U.S. National Vegetation Classification and other vegetation types submitted by users, and (3) all plant taxa recognized by ITIS/USDA as well as all other plant taxa recorded in plot records. Vegetation records, community types and plant taxa may be submitted to VegBank and may be subsequently searched, viewed, annotated, revised, interpreted, downloaded, and cited. ", + "created": "2020-01-24T13:57:43.399+00:00", + "modified": "2020-01-24T13:57:43.399+00:00", + "resources": [ + { + "id": 2073, + "mirId": "MIR:00000751", + "urlPattern": "http://vegbank.org/cite/{$id}", + "name": "VegBank", + "description": "VegBank is the vegetation plot database of the Ecological Society of America's Panel on Vegetation Classification.", + "official": true, + "providerCode": "vegbank", + "sampleId": "VB.Ob.3736.GRSM125", + "resourceHomeUrl": "http://vegbank.org/", + "institution": { + "id": 2071, + "name": "National Center for Ecological Analysis and Synthesis", + "homeUrl": "https://nceas.ucsb.edu/", + "description": "NCEAS works to accelerate scientific discoveries that will enhance our understanding of the world and benefit people and nature, as well as to transform the scientific culture to be more open, efficient, and collaborative.", + "rorId": "https://ror.org/0146z4r19", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "VB.Ob.3736.GRSM125", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2108, + "prefix": "idr", + "mirId": "MIR:00000743", + "name": "Image Data Resource", + "pattern": "^[0-9]{4}$", + "description": "Image Data Resource (IDR) is an online, public data repository that seeks to store, integrate and serve image datasets from published scientific studies. We have collected and are continuing to receive existing and newly created \u201creference image\" datasets that are valuable resources for a broad community of users, either because they will be frequently accessed and cited or because they can serve as a basis for re-analysis and the development of new computational tools.", + "created": "2020-03-02T17:27:03.688+00:00", + "modified": "2020-03-02T17:27:03.688+00:00", + "resources": [ + { + "id": 2109, + "mirId": "MIR:00000705", + "urlPattern": "https://idr.openmicroscopy.org/search/?query=Name:idr{$id}", + "name": "Open Microscopy Environment", + "description": "OME is a consortium of universities, research labs, industry and developers producing open-source software and format standards for microscopy data.", + "official": true, + "providerCode": "ome", + "sampleId": "0001", + "resourceHomeUrl": "https://idr.openmicroscopy.org", + "institution": { + "id": 2107, + "name": "University of Dundee", + "homeUrl": "https://www.dundee.ac.uk/", + "description": "The University of Dundee is a public research university in Dundee, Scotland. Founded in 1881 the institution was, for most of its early existence, a constituent college of the University of St Andrews alongside United College and St Mary's College located in the town of St Andrews itself. Following significant expansion, the University of Dundee gained independent university status in 1967 while retaining much of its ancient heritage and governance structure.", + "rorId": "https://ror.org/03h2bxq36", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2096, + "prefix": "transyt", + "mirId": "MIR:00000736", + "name": "TranSyT", + "pattern": "T[A-Z]\\d{7}", + "description": "The Transport Systems Tracker (TranSyT) is a tool to identify transport systems and the compounds carried across membranes.", + "created": "2020-02-28T10:48:52.126+00:00", + "modified": "2020-03-03T05:45:40.200+00:00", + "resources": [ + { + "id": 2097, + "mirId": "MIR:00000731", + "urlPattern": "https://transyt.bio.di.uminho.pt/reactions/{$id}", + "name": "BIOSYSTEMS Research Group", + "description": "The BIOSYSTEMS Research Group is a research group at CEB, using competences in systems biotechnology and bioengineering to foster the development of a knowledge-based bio-economy, leading to new added-value products and processes.", + "official": true, + "providerCode": "transyt", + "sampleId": "TR0000001", + "resourceHomeUrl": "https://www.bio.di.uminho.pt/", + "institution": { + "id": 2095, + "name": "Centre of Biological Engineering", + "homeUrl": "https://www.ceb.uminho.pt", + "description": "The Centre of Biological Engineering (CEB), designated as \u201cExcellent\u201d by FCT, is a research unit located at University of Minho (ROR:037wpkx04) that develops its activities on interdisciplinary thrust areas covering molecular, cellular and process scales, corresponding to 4 thematic strands: Industrial, Food, Environmental, and Health Biotechnology and Bioengineering.", + "rorId": null, + "location": { + "countryCode": "PT", + "countryName": "Portugal" + } + }, + "location": { + "countryCode": "PT", + "countryName": "Portugal" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "TR0000001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1539, + "prefix": "slm", + "mirId": "MIR:00000550", + "name": "SwissLipids", + "pattern": "^SLM:\\d+$", + "description": "SwissLipids is a curated resource that provides information about known lipids, including lipid structure, metabolism, interactions, and subcellular and tissue localization. Information is curated from peer-reviewed literature and referenced using established ontologies, and provided with full provenance and evidence codes for curated assertions.", + "created": "2019-06-11T14:17:46.314+00:00", + "modified": "2020-05-01T09:59:44.482+00:00", + "resources": [ + { + "id": 1541, + "mirId": "MIR:00100727", + "urlPattern": "http://www.swisslipids.org/#/entity/SLM:{$id}/", + "name": "SwissLipids at Swiss Institute of Bioinformatics", + "description": "SwissLipids at Swiss Institute of Bioinformatics", + "official": false, + "providerCode": "sib", + "sampleId": "000048885", + "resourceHomeUrl": "http://www.swisslipids.org/#/", + "institution": { + "id": 1730, + "name": "SIB Swiss Institute of Bioinformatics", + "homeUrl": "https://www.sib.swiss", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "rorId": "https://ror.org/002n09z45", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "000048885", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2222, + "prefix": "vgnc", + "mirId": "MIR:00000765", + "name": "VGNC", + "pattern": "^((VGNC|vgnc):)?\\d{1,9}$", + "description": "The Vertebrate Gene Nomenclature Committee (VGNC) is an extension of the established HGNC (HUGO Gene Nomenclature Committee) project that names human genes. VGNC is responsible for assigning standardized names to genes in vertebrate species that currently lack a nomenclature committee.", + "created": "2020-05-12T14:08:31.024+00:00", + "modified": "2020-05-12T14:08:31.024+00:00", + "resources": [ + { + "id": 2223, + "mirId": "MIR:00000752", + "urlPattern": "https://vertebrate.genenames.org/data/gene-symbol-report/#!/vgnc_id/{$id}", + "name": "VGNC", + "description": "The Vertebrate Gene Nomenclature Committee (VGNC) is an extension of the established HGNC (HUGO Gene Nomenclature Committee) project that names human genes. VGNC is responsible for assigning standardized names to genes in vertebrate species that currently lack a nomenclature committee. ", + "official": true, + "providerCode": "vgnc", + "sampleId": "VGNC:3792", + "resourceHomeUrl": "https://vertebrate.genenames.org", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "VGNC:3792", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2248, + "prefix": "datanator.metabolite", + "mirId": "MIR:00000718", + "name": "Datanator Metabolite", + "pattern": "^[A-Z\\-]+$", + "description": "Datanator is an integrated database of genomic and biochemical data designed to help investigators find data about specific molecules and reactions in specific organisms and specific environments for meta-analyses and mechanistic models. Datanator currently includes metabolite concentrations, RNA modifications and half-lives, protein abundances and modifications, and reaction kinetics integrated from several databases and numerous publications. The Datanator website and REST API provide tools for extracting clouds of data about specific molecules and reactions in specific organisms and specific environments, as well as data about similar molecules and reactions in taxonomically similar organisms.", + "created": "2020-05-22T09:04:15.866+00:00", + "modified": "2020-05-22T09:04:15.866+00:00", + "resources": [ + { + "id": 2249, + "mirId": "MIR:00000772", + "urlPattern": "https://www.datanator.info/metabolite/{$id}", + "name": "Icahn School of Medicine at Mount Sinai", + "description": "The Icahn School of Medicine at Mount Sinai is an international leader in medical and scientific training, biomedical research, and patient care. It is the medical school for the Mount Sinai Health System, which includes eight hospital campuses, and has more than 5,000 faculty and nearly 2,000 students, residents and fellows.", + "official": true, + "providerCode": "icahn", + "sampleId": "OUYCCCASQSFEME-MRVPVSSYSA-N", + "resourceHomeUrl": "https://datanator.info/", + "institution": { + "id": 2247, + "name": "Icahn School of Medicine at Mount Sinai", + "homeUrl": "https://icahn.mssm.edu/", + "description": "The Icahn School of Medicine at Mount Sinai is an international leader in medical and scientific training, biomedical research, and patient care. It is the medical school for the Mount Sinai Health System, which includes eight hospital campuses, and has more than 5,000 faculty and nearly 2,000 students, residents and fellows.", + "rorId": "https://ror.org/04a9tmd77", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "OUYCCCASQSFEME-MRVPVSSYSA-N", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1078, + "prefix": "lrg", + "mirId": "MIR:00000376", + "name": "Locus Reference Genomic", + "pattern": "^LRG_\\d+$", + "description": "A Locus Reference Genomic (LRG) is a manually curated record that contains stable genomic, transcript and protein reference sequences for reporting clinically relevant sequence variants. All LRGs are generated and maintained by the NCBI and EMBL-EBI.", + "created": "2019-06-11T14:17:05.115+00:00", + "modified": "2020-05-22T10:35:39.544+00:00", + "resources": [ + { + "id": 1082, + "mirId": "MIR:00100627", + "urlPattern": "http://www.ensembl.org/Homo_sapiens/LRG/Summary?lrg={$id}", + "name": "Locus Reference Genomic through Ensembl", + "description": "Locus Reference Genomic through Ensembl", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "LRG_1", + "resourceHomeUrl": "http://www.ensembl.org/", + "institution": { + "id": 1081, + "name": "EnSembl, Sanger Institute and European Bioinformatics Institute, Hinxton, Cambridge", + "homeUrl": "https://ebi.ac.uk", + "description": "At EMBL\u2019s European Bioinformatics Institute (EMBL-EBI), we help scientists realise the potential of big data in biology, exploiting complex information to make discoveries that benefit humankind.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1083, + "mirId": "MIR:00100629", + "urlPattern": "http://asia.ensembl.org/Homo_sapiens/LRG/Summary?lrg={$id}", + "name": "Locus Reference Genomic through Ensembl mirror (asia)", + "description": "Locus Reference Genomic through Ensembl mirror (asia)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "LRG_1", + "resourceHomeUrl": "http://asia.ensembl.org/", + "institution": { + "id": 1081, + "name": "EnSembl, Sanger Institute and European Bioinformatics Institute, Hinxton, Cambridge", + "homeUrl": "https://ebi.ac.uk", + "description": "At EMBL\u2019s European Bioinformatics Institute (EMBL-EBI), we help scientists realise the potential of big data in biology, exploiting complex information to make discoveries that benefit humankind.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "SG", + "countryName": "Singapore" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1084, + "mirId": "MIR:00100630", + "urlPattern": "http://uswest.ensembl.org/Homo_sapiens/LRG/Summary?lrg={$id}", + "name": "Locus Reference Genomic through Ensembl mirror (US west)", + "description": "Locus Reference Genomic through Ensembl mirror (US west)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "LRG_1", + "resourceHomeUrl": "http://uswest.ensembl.org/", + "institution": { + "id": 1081, + "name": "EnSembl, Sanger Institute and European Bioinformatics Institute, Hinxton, Cambridge", + "homeUrl": "https://ebi.ac.uk", + "description": "At EMBL\u2019s European Bioinformatics Institute (EMBL-EBI), we help scientists realise the potential of big data in biology, exploiting complex information to make discoveries that benefit humankind.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1085, + "mirId": "MIR:00100631", + "urlPattern": "http://useast.ensembl.org/Homo_sapiens/LRG/Summary?lrg={$id}", + "name": "Locus Reference Genomic through Ensembl mirror (US east)", + "description": "Locus Reference Genomic through Ensembl mirror (US east)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "LRG_1", + "resourceHomeUrl": "http://useast.ensembl.org/", + "institution": { + "id": 1081, + "name": "EnSembl, Sanger Institute and European Bioinformatics Institute, Hinxton, Cambridge", + "homeUrl": "https://ebi.ac.uk", + "description": "At EMBL\u2019s European Bioinformatics Institute (EMBL-EBI), we help scientists realise the potential of big data in biology, exploiting complex information to make discoveries that benefit humankind.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1080, + "mirId": "MIR:00100478", + "urlPattern": "http://ftp.ebi.ac.uk/pub/databases/lrgex/{$id}.xml", + "name": "Locus Reference Genomic", + "description": "Locus Reference Genomic", + "official": true, + "providerCode": "ebi", + "sampleId": "LRG_1", + "resourceHomeUrl": "http://www.lrg-sequence.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "LRG_1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1685, + "prefix": "insdc.gca", + "mirId": "MIR:00000607", + "name": "Genome assembly database - INSDC accessions", + "pattern": "^GCA_[0-9]{9}(\\.[0-9]+)?$", + "description": "The genome assembly database contains detailed information about genome assemblies for eukaryota, bacteria and archaea. The scope of the genome collections database does not extend to viruses, viroids and bacteriophage.", + "created": "2019-06-11T14:18:01.236+00:00", + "modified": "2023-10-30T09:41:30.572+00:00", + "resources": [ + { + "id": 1686, + "mirId": "MIR:00100810", + "urlPattern": "https://www.ebi.ac.uk/ena/data/view/{$id}", + "name": "Genome assembly database through ENA", + "description": "Genome assembly database through ENA", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "GCA_000155495.1", + "resourceHomeUrl": "https://www.ebi.ac.uk/ena/browse/genome-assembly-database", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1687, + "mirId": "MIR:00100811", + "urlPattern": "https://www.ncbi.nlm.nih.gov/datasets/genome/{$id}", + "name": "Genome assembly database NCBI", + "description": "Genome assembly database NCBI", + "official": false, + "providerCode": "ncbi", + "sampleId": "GCA_000155495.1", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/datasets/genome/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "GCA_000155495.1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1559, + "prefix": "rrid", + "mirId": "MIR:00000558", + "name": "RRID", + "pattern": "^RRID:[a-zA-Z]+.+$", + "description": "The Research Resource Identification Initiative provides RRIDs to 4 main classes of resources: Antibodies, Cell Lines, Model Organisms, and Databases / Software tools.: Antibodies, Model Organisms, and Databases / Software tools.\r\nThe initiative works with participating journals to intercept manuscripts in the publication process that use these resources, and allows publication authors to incorporate RRIDs within the methods sections. It also provides resolver services that access curated data from 10 data sources: the antibody registry (a curated catalog of antibodies), the SciCrunch registry (a curated catalog of software tools and databases), and model organism nomenclature authority databases (MGI, FlyBase, WormBase, RGD), as well as various stock centers. These RRIDs are aggregated and can be searched through SciCrunch.", + "created": "2019-06-11T14:17:48.275+00:00", + "modified": "2020-03-11T14:52:15.242+00:00", + "resources": [ + { + "id": 1560, + "mirId": "MIR:00100735", + "urlPattern": "https://scicrunch.org/resolver/RRID:{$id}", + "name": "RRID at SciCrunch", + "description": "RRID at SciCrunch", + "official": false, + "providerCode": "ucsd", + "sampleId": "AB_262044", + "resourceHomeUrl": "https://scicrunch.org/resolver", + "institution": { + "id": 190, + "name": "University of California, San Diego", + "homeUrl": "https://ucsd.edu/", + "description": "is a public research university in San Diego, California.\nEstablished in 1960 near the pre-existing Scripps Institution of Oceanography, UC San Diego is the seventh-oldest of the 10 University of California campuses and offers over 200 undergraduate and graduate degree programs, enrolling approximately 30,000 undergraduate and 8,500 graduate students.", + "rorId": "https://ror.org/0168r3w48", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AB_262044", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 447, + "prefix": "pr", + "mirId": "MIR:00000141", + "name": "Protein Ontology", + "pattern": "^PR:P?\\d+$", + "description": "The PRotein Ontology (PRO) has been designed to describe the relationships of proteins and protein evolutionary classes, to delineate the multiple protein forms of a gene locus (ontology for protein forms), and to interconnect existing ontologies.", + "created": "2019-06-11T14:16:11.083+00:00", + "modified": "2020-03-16T08:35:08.949+00:00", + "resources": [ + { + "id": 449, + "mirId": "MIR:00100240", + "urlPattern": "http://purl.bioontology.org/ontology/PR/PR:{$id}", + "name": "Protein Ontology through BioPortal", + "description": "Protein Ontology through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "000000024", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/PR", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 450, + "mirId": "MIR:00100755", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/pr/terms?obo_id=PR:{$id}", + "name": "Protein Ontology through OLS", + "description": "Protein Ontology through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "000000024", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/pr", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 448, + "mirId": "MIR:00100184", + "urlPattern": "https://proconsortium.org/app/entry/PR:{$id}", + "name": "Protein Ontology at Georgetown", + "description": "Protein Ontology at Georgetown", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "000000024", + "resourceHomeUrl": "https://proconsortium.org/", + "institution": { + "id": 70, + "name": "Georgetown University Medical Center", + "homeUrl": "https://gumc.georgetown.edu", + "description": "As one of approximately 140 academic health and science centers in the United States, Georgetown University Medical Center seeks to provide, in a synergistic fashion, excellence in education \u2014 training physicians, nurses and other health care professionals, as well as biomedical scientists \u2014 and cutting-edge interdisciplinary research collaboration, enhancing our basic science and translational biomedical research capacity in order to improve human health. We have identified several areas of focus for our research. ", + "rorId": "https://ror.org/00hjz7x27", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "000000024", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2129, + "prefix": "gold", + "mirId": "MIR:00000733", + "name": "Genomes OnLine Database (GOLD)", + "pattern": "^[A-Z][a-z][0-9]+$", + "description": "The Genomes OnLine Database (GOLD) catalogues genome and metagenome sequencing projects from around the world, along with their associated metadata. Information in GOLD is organized into four levels: Study, Biosample/Organism, Sequencing Project and Analysis Project.", + "created": "2020-03-17T08:03:56.077+00:00", + "modified": "2020-03-17T08:03:56.077+00:00", + "resources": [ + { + "id": 2130, + "mirId": "MIR:00000757", + "urlPattern": "https://gold.jgi.doe.gov/resolver?id={$id}", + "name": "Genomes OnLine Database (GOLD)", + "description": "The Genomes OnLine Database (GOLD) is a centralized resource for cataloguing genome and metagenome sequencing projects from around the world, along with their associated metadata. Information in GOLD is organized into four levels: Study, Biosample/Organism, Sequencing Project and Analysis Project. \nStudy is an umbrella Project that broadly defines the overall goal of a research proposal. It consists of sequencing projects along with corresponding organism or Biosample information as well as any analysis done on the sequencing projects.\nE.g., Gs0016050: Human Microbiome Project (HMP), Gs0000008: A Genomic Encyclopedia of Bacteria and Archaea (GEBA) study.\nBiosample is the description of the environment from where the DNA/RNA sample was collected. Currently GOLD Biosample entities are defined for all metagenome and metatranscriptomes projects, i.e. for non-isolate genomes. E.g., Gb0055733\nOrganism is an individual living thing. It can be a bacterium, plant, fungus etc. In GOLD, all isolate or single cell genome sequencing projects are associated with an organism. Additionally, GOLD Organisms are also created for genomes assembled from metagenome sequences(MAGs). E.g., Go0003442\nSequencing Project represents the procedures undertaken for generating sequencing output from an individual Organism or Biosample. An individual genome project may be composed of more than one sequencing reactions and/or sequencing technologies. A Sequencing Project may be an isolate genome, or a metagenome, transcriptome, or metatranscriptome etc.\nE.g., Gp0003442\nAnalysis Project represents the computational processing of sequencing data generated by a sequencing project. It describes how the assembly and annotation of a Sequencing Project were performed. \nE.g., Ga0027275", + "official": true, + "providerCode": "jgi", + "sampleId": "Gs0000008", + "resourceHomeUrl": "https://gold.jgi.doe.gov/", + "institution": { + "id": 2128, + "name": "Joint Genome Institute", + "homeUrl": "https://gold.jgi.doe.gov/", + "description": "The mission of the U.S. Department of Energy (DOE) Joint Genome Institute (JGI), a DOE Office of Science User Facility of Lawrence Berkeley National Laboratory (Berkeley Lab) and part of the Biosciences Area, is to advance genomics in support of the DOE missions related to clean energy generation and environmental characterization and cleanup.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Gs0000008", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2140, + "prefix": "nmrshiftdb2", + "mirId": "MIR:00000748", + "name": "NMR Shift Database", + "pattern": "^[0-9]+$", + "description": "NMR database for organic structures and their nuclear magnetic resonance (nmr) spectra. It allows for spectrum prediction (13C, 1H and other nuclei) as well as for searching spectra, structures and other properties.", + "created": "2020-03-17T12:41:40.413+00:00", + "modified": "2020-03-17T12:43:18.460+00:00", + "resources": [ + { + "id": 2141, + "mirId": "MIR:00000719", + "urlPattern": "https://nmrshiftdb.nmr.uni-koeln.de/molecule/{$id}", + "name": "NMRShiftDB", + "description": "NMR database (web database) for organic structures and their nuclear magnetic resonance (nmr) spectra. It allows for spectrum prediction (13C, 1H and other nuclei) as well as for searching spectra, structures and other properties. Last not least, it features peer-reviewed submission of datasets by its users. The NMRShiftDB software is open source, the data is published under an open content license.", + "official": true, + "providerCode": "uoc", + "sampleId": "234", + "resourceHomeUrl": "https://nmrshiftdb.nmr.uni-koeln.de", + "institution": { + "id": 2139, + "name": "University of Cologne", + "homeUrl": "https://www.portal.uni-koeln.de/uoc_home.html?&L=1", + "description": "The University of Cologne is one of the oldest and largest universities in Europe. Due to its outstanding scientific achievements and the high quality and diversity of its degree programmes, it enjoys an excellent international reputation.", + "rorId": "https://ror.org/00rcxh774", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "234", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1789, + "prefix": "minid", + "mirId": "MIR:00000645", + "name": "Minimal Viable Identifier", + "pattern": "^[A-Za-z0-9]+$", + "description": "Minid are identifiers used to provide robust reference to intermediate data generated during the course of a research investigation.", + "created": "2019-06-11T14:18:10.091+00:00", + "modified": "2020-03-20T09:37:38.029+00:00", + "resources": [ + { + "id": 1791, + "mirId": "MIR:00100850", + "urlPattern": "https://hdl.handle.net/hdl:20.500.12582/{$id}", + "name": "FAIR Research", + "description": "FAIR Research is a collaboration of the Informatics Systems Research Division at the Information Sciences Institute of University of Southern California and the Computational Systems Division at the University of Chicago.", + "official": false, + "providerCode": "fair", + "sampleId": "r8059v", + "resourceHomeUrl": "https://fair-research.org", + "institution": { + "id": 1781, + "name": "University of Southern California", + "homeUrl": "https://www.usc.edu/", + "description": "The University of Southern California is a leading private research university located in Los Angeles \u2014 a global center for arts, technology and international business. It is home to the College of Letters, Arts and Sciences and 21 exceptional academic schools and units. USC\u2019s Health Sciences campus houses renowned specialized care and research in cancer, stem cell and regenerative medicine, orthopedics and sports medicine. The university is the largest private sector employer in the city of Los Angeles, responsible for $8 billion annually in economic activity in the region.", + "rorId": "https://ror.org/03taz7m60", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "b97957", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2152, + "prefix": "snp2tfbs", + "mirId": "MIR:00000766", + "name": "SNP2TFBS", + "pattern": "^rs[0-9]+$", + "description": "SNP2TFBS is aimed at studying variations (SNPs/indels) that affect transcription factor binding (TFB) in the Human genome.", + "created": "2020-03-20T12:58:53.045+00:00", + "modified": "2020-03-20T12:58:53.045+00:00", + "resources": [ + { + "id": 2153, + "mirId": "MIR:00000737", + "urlPattern": "https://ccg.epfl.ch/cgi-bin/snp2tfbs/snpviewer_form_parser.cgi?snpid={$id}", + "name": "SNP2TFBS", + "description": "SNP2TFBS is a Web interface aimed at studying variations (SNPs/indels) that affect transcription factor binding (TFB) in the Human genome.", + "official": true, + "providerCode": "sib", + "sampleId": "rs11603840", + "resourceHomeUrl": "https://ccg.epfl.ch/snp2tfbs/", + "institution": { + "id": 1730, + "name": "SIB Swiss Institute of Bioinformatics", + "homeUrl": "https://www.sib.swiss", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "rorId": "https://ror.org/002n09z45", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "rs11603840", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2160, + "prefix": "biolink", + "mirId": "MIR:00000782", + "name": "BioLink Model", + "pattern": "^\\S+$", + "description": "A high level datamodel of biological entities (genes, diseases, phenotypes, pathways, individuals, substances, etc) and their associations.", + "created": "2020-03-20T15:04:54.734+00:00", + "modified": "2020-03-20T15:04:54.734+00:00", + "resources": [ + { + "id": 2161, + "mirId": "MIR:00000778", + "urlPattern": "https://w3id.org/biolink/vocab/{$id}", + "name": "BioLink GitHub Organization", + "description": "This resource is not backed by a physical institution. The resource is managed and deployed on GitHub, and is maintained by a broad community of develops", + "official": true, + "providerCode": "biolinkgithub", + "sampleId": "Gene", + "resourceHomeUrl": "https://biolink.github.io/biolink-model", + "institution": { + "id": 2159, + "name": "BioLink GitHub Organization", + "homeUrl": "https://biolink.github.io/biolink-model", + "description": "This resource is not backed by a physical institution. The resource is managed and deployed on GitHub, and is maintained by a broad community of develops", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Gene", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2184, + "prefix": "rapdb.transcript", + "mirId": "MIR:00000762", + "name": "RAP-DB Transcript", + "pattern": "^Os\\S+t\\d{7}-\\d{2}$", + "description": "Rice Annotation Project Database (RAP-DB) is a primary rice (Oryza sativa) annotation database established in 2004 upon the completion of the Oryza sativa ssp. japonica cv. Nipponbare genome sequencing by the International Rice Genome Sequencing Project. RAP-DB provides comprehensive resources (e.g. genome annotation, gene expression, DNA markers, genetic diversity, etc.) for biological and agricultural research communities. This collection provides transcript information in RAP-DB.", + "created": "2020-03-24T06:40:28.546+00:00", + "modified": "2020-03-24T06:40:28.546+00:00", + "resources": [ + { + "id": 2185, + "mirId": "MIR:00000773", + "urlPattern": "https://rapdb.dna.affrc.go.jp/viewer/gene_detail/irgsp1?name={$id}", + "name": "RAP-DB", + "description": "The Rice Annotation Project (RAP) was conceptualized in 2004 upon the completion of the Oryza sativa ssp. japonica cv. Nipponbare genome sequencing by the International Rice Genome Sequencing Project with the aim of providing the scientific community with an accurate and timely annotation of the rice genome sequence.", + "official": true, + "providerCode": "rapdb", + "sampleId": "Os01t0883800-02", + "resourceHomeUrl": "https://rapdb.dna.affrc.go.jp/", + "institution": { + "id": 2183, + "name": "The National Agriculture and Food Research Organization (NARO)", + "homeUrl": "http://www.naro.affrc.go.jp/english/index.html", + "description": "The National Agriculture and Food Research Organization or NARO is the core institute in Japan for conducting research and development on agriculture and food.", + "rorId": "https://ror.org/023v4bd62", + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Os01t0883800-02", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2187, + "prefix": "rapdb.locus", + "mirId": "MIR:00000702", + "name": "RAP-DB Locus", + "pattern": "^Os\\S+g\\d{7}$", + "description": "Rice Annotation Project Database (RAP-DB) is a primary rice (Oryza sativa) annotation database established in 2004 upon the completion of the Oryza sativa ssp. japonica cv. Nipponbare genome sequencing by the International Rice Genome Sequencing Project. RAP-DB provides comprehensive resources (e.g. genome annotation, gene expression, DNA markers, genetic diversity, etc.) for biological and agricultural research communities. This collection provides locus information in RAP-DB.", + "created": "2020-03-24T06:41:41.433+00:00", + "modified": "2020-03-24T06:41:41.433+00:00", + "resources": [ + { + "id": 2188, + "mirId": "MIR:00000741", + "urlPattern": "https://rapdb.dna.affrc.go.jp/viewer/gbrowse_details/irgsp1?name={$id}", + "name": "RAP-DB, Rice Annotation Project Database", + "description": "The Rice Annotation Project (RAP) was conceptualized in 2004 upon the completion of the Oryza sativa ssp. japonica cv. Nipponbare genome sequencing by the International Rice Genome Sequencing Project with the aim of providing the scientific community with an accurate and timely annotation of the rice genome sequence.", + "official": true, + "providerCode": "rapdb", + "sampleId": "Os01g0883800", + "resourceHomeUrl": "https://rapdb.dna.affrc.go.jp/", + "institution": { + "id": 2183, + "name": "The National Agriculture and Food Research Organization (NARO)", + "homeUrl": "http://www.naro.affrc.go.jp/english/index.html", + "description": "The National Agriculture and Food Research Organization or NARO is the core institute in Japan for conducting research and development on agriculture and food.", + "rorId": "https://ror.org/023v4bd62", + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Os01g0883800", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2198, + "prefix": "envipath", + "mirId": "MIR:00000727", + "name": "enviPath", + "pattern": "^[\\w^_]{8}-[\\w^_]{4}-[\\w^_]{4}-[\\w^_]{4}-[\\w^_]{12}\\/[\\w-]+\\/[\\w^_]{8}-[\\w^_]{4}-[\\w^_]{4}-[\\w^_]{4}-[\\w^_]{12}$", + "description": "enviPath is a database and prediction system for the microbial biotransformation of organic environmental contaminants. The database provides the possibility to store and view experimentally observed biotransformation pathways. The pathway prediction system provides different relative reasoning models to predict likely biotransformation pathways and products.", + "created": "2020-03-24T07:50:16.285+00:00", + "modified": "2020-03-24T07:50:16.285+00:00", + "resources": [ + { + "id": 2199, + "mirId": "MIR:00000776", + "urlPattern": "https://envipath.org/package/{$id}", + "name": "enviPath", + "description": "enviPath is a database and prediction system for the microbial biotransformation of organic environmental contaminants. The database provides the possibility to store and view experimentally observed biotransformation pathways. The pathway prediction system provides different relative reasoning models to predict likely biotransformation pathways and products.", + "official": true, + "providerCode": "envipathug", + "sampleId": "32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/b545cabc-8c9e-4b20-8848-efa015b481ea", + "resourceHomeUrl": "https://envipath.org/", + "institution": { + "id": 2197, + "name": "enviPath UG & Co. KG", + "homeUrl": "https://envipath.org/", + "description": "We currently have no more details on this institution / organization, for more information, please see https://envipath.com/imprint/", + "rorId": null, + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/b545cabc-8c9e-4b20-8848-efa015b481ea", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1167, + "prefix": "gold.meta", + "mirId": "MIR:00000402", + "name": "GOLD metadata", + "pattern": "^Gm\\d+$", + "description": "- DEPRECATION NOTE -\nPlease, keep in mind that this namespace has been superseeded by \u2018gold\u2019 prefix at https://registry.identifiers.org/registry/gold, and this namespace is kept here for support to already existing citations, new ones would need to use the pointed \u2018gold\u2019 namespace. \n\nThe GOLD (Genomes OnLine Database)is a resource for centralized monitoring of genome and metagenome projects worldwide. It stores information on complete and ongoing projects, along with their associated metadata. This collection references metadata associated with samples.", + "created": "2019-06-11T14:17:12.564+00:00", + "modified": "2020-03-26T09:38:38.398+00:00", + "resources": [ + { + "id": 1168, + "mirId": "MIR:00100522", + "urlPattern": "http://genomesonline.org/cgi-bin/GOLD/bin/GOLDCards.cgi?goldstamp={$id}", + "name": "GOLD metadata at Department of Energy Joint Genome Institute", + "description": "GOLD metadata at Department of Energy Joint Genome Institute", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Gm00047", + "resourceHomeUrl": "http://www.genomesonline.org/cgi-bin/GOLD/index.cgi", + "institution": { + "id": 1165, + "name": "Department of Energy Joint Genome Institute, Microbial Genomics and Metagenomics Program, California", + "homeUrl": "https://jgi.doe.gov/our-science/science-programs/metagenomics/", + "description": "The Metagenome Program leverages high-throughput sequencing technologies to uncover the principles governing microbial community functions and interactions that impact ecosystem processes. Sequencing technologies have allowed us to begin decoding the information encoded in the DNA of microbes in the wild, providing a snapshot of diversity and metabolic functional potential. Knowledge of how microbes function in their environment holds tremendous potential to transform our understanding of the world and spur innovations in energy and the environment.", + "rorId": "https://ror.org/04xm1d337", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Gm00047", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1164, + "prefix": "gold.genome", + "mirId": "MIR:00000401", + "name": "GOLD genome", + "pattern": "^(Gi|Gc)\\d+$", + "description": "- DEPRECATION NOTE -\nPlease, keep in mind that this namespace has been superseeded by \u2018gold\u2019 prefix at https://registry.identifiers.org/registry/gold, and this namespace is kept here for support to already existing citations, new ones would need to use the pointed \u2018gold\u2019 namespace.\n\nThe GOLD (Genomes OnLine Database)is a resource for centralised monitoring of genome and metagenome projects worldwide. It stores information on complete and ongoing projects, along with their associated metadata. This collection references the sequencing status of individual genomes.", + "created": "2019-06-11T14:17:12.343+00:00", + "modified": "2020-03-26T09:37:26.767+00:00", + "resources": [ + { + "id": 1166, + "mirId": "MIR:00100521", + "urlPattern": "http://www.genomesonline.org/cgi-bin/GOLD/GOLDCards.cgi?goldstamp={$id}", + "name": "GOLD genome at Department of Energy Joint Genome Institute", + "description": "GOLD genome at Department of Energy Joint Genome Institute", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "Gi07796", + "resourceHomeUrl": "http://www.genomesonline.org/cgi-bin/GOLD/index.cgi", + "institution": { + "id": 1165, + "name": "Department of Energy Joint Genome Institute, Microbial Genomics and Metagenomics Program, California", + "homeUrl": "https://jgi.doe.gov/our-science/science-programs/metagenomics/", + "description": "The Metagenome Program leverages high-throughput sequencing technologies to uncover the principles governing microbial community functions and interactions that impact ecosystem processes. Sequencing technologies have allowed us to begin decoding the information encoded in the DNA of microbes in the wild, providing a snapshot of diversity and metabolic functional potential. Knowledge of how microbes function in their environment holds tremendous potential to transform our understanding of the world and spur innovations in energy and the environment.", + "rorId": "https://ror.org/04xm1d337", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Gi07796", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2215, + "prefix": "pgs", + "mirId": "MIR:00000753", + "name": "Polygenic Score Catalog", + "pattern": "^PGS[0-9]{6}$", + "description": "The Polygenic Score (PGS) Catalog is an open database of PGS and the relevant metadata required for accurate application and evaluation.", + "created": "2020-04-22T09:46:18.729+00:00", + "modified": "2020-04-22T09:46:18.729+00:00", + "resources": [ + { + "id": 2216, + "mirId": "MIR:00000755", + "urlPattern": "https://www.pgscatalog.org/pgs/{$id}/", + "name": "PGS Catalog", + "description": "The Polygenic Score (PGS) Catalog is an open database of PGS and the relevant metadata required for accurate application and evaluation.\n\nDeveloped in collaboration with the NHGRI-EBI GWAS Catalog and Health Data Research UK/", + "official": true, + "providerCode": "pgs", + "sampleId": "PGS000018", + "resourceHomeUrl": "http://pgscatalog.org", + "institution": { + "id": 1885, + "name": "The University of Cambridge", + "homeUrl": "https://www.cam.ac.uk/", + "description": "The mission of the University of Cambridge is to contribute to society through education, learning and research at the highest international level.", + "rorId": "https://ror.org/013meh722", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PGS000018", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 153, + "prefix": "refseq", + "mirId": "MIR:00000039", + "name": "RefSeq", + "pattern": "^(((WP|AC|AP|NC|NG|NM|NP|NR|NT|NW|XM|XP|XR|YP|ZP)_\\d+)|(NZ\\_[A-Z]{2,4}\\d+))(\\.\\d+)?$", + "description": "The Reference Sequence (RefSeq) collection aims to provide a comprehensive, integrated, non-redundant set of sequences, including genomic DNA, transcript (RNA), and protein products.", + "created": "2019-06-11T14:15:43.085+00:00", + "modified": "2023-01-04T19:52:50.191+00:00", + "resources": [ + { + "id": 155, + "mirId": "MIR:00100067", + "urlPattern": "https://www.ncbi.nlm.nih.gov/protein/{$id}", + "name": "The NCBI Reference Sequence database", + "description": "The NCBI Reference Sequence database", + "official": false, + "providerCode": "ncbi", + "sampleId": "NP_012345", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/projects/RefSeq/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "NP_012345", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2251, + "prefix": "datanator.gene", + "mirId": "MIR:00000720", + "name": "Datanator Gene", + "pattern": "^K[0-9]+$", + "description": "Datanator is an integrated database of genomic and biochemical data designed to help investigators find data about specific molecules and reactions in specific organisms and specific environments for meta-analyses and mechanistic models. Datanator currently includes metabolite concentrations, RNA modifications and half-lives, protein abundances and modifications, and reaction kinetics integrated from several databases and numerous publications. The Datanator website and REST API provide tools for extracting clouds of data about specific molecules and reactions in specific organisms and specific environments, as well as data about similar molecules and reactions in taxonomically similar organisms.", + "created": "2020-05-22T09:05:34.813+00:00", + "modified": "2020-05-22T09:05:34.813+00:00", + "resources": [ + { + "id": 2252, + "mirId": "MIR:00000740", + "urlPattern": "https://www.datanator.info/gene/{$id}", + "name": "Icahn School of Medicine at Mount Sinai", + "description": "The Icahn School of Medicine at Mount Sinai is an international leader in medical and scientific training, biomedical research, and patient care. It is the medical school for the Mount Sinai Health System, which includes eight hospital campuses, and has more than 5,000 faculty and nearly 2,000 students, residents and fellows.", + "official": true, + "providerCode": "icahn", + "sampleId": "K00973", + "resourceHomeUrl": "https://datanator.info/", + "institution": { + "id": 2247, + "name": "Icahn School of Medicine at Mount Sinai", + "homeUrl": "https://icahn.mssm.edu/", + "description": "The Icahn School of Medicine at Mount Sinai is an international leader in medical and scientific training, biomedical research, and patient care. It is the medical school for the Mount Sinai Health System, which includes eight hospital campuses, and has more than 5,000 faculty and nearly 2,000 students, residents and fellows.", + "rorId": "https://ror.org/04a9tmd77", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "K00973", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2789, + "prefix": "sedml.format", + "mirId": "MIR:00000841", + "name": "SED-ML data format", + "pattern": "^[a-z]+(\\..*?)?$", + "description": "Data format that can be used in conjunction with the Simulation Experimental Description Markup Language (SED-ML).", + "created": "2021-08-08T09:33:59.109+00:00", + "modified": "2021-08-08T09:33:59.109+00:00", + "resources": [ + { + "id": 2790, + "mirId": "MIR:00000840", + "urlPattern": "https://sed-ml.org/urns.html#format:{$id}", + "name": "SED-ML Editors", + "description": "Editorial board responsible for defining the Simulation Experimental Description Markup Language (SED-ML).", + "official": true, + "providerCode": "sedml", + "sampleId": "csv", + "resourceHomeUrl": "http://sed-ml.org/", + "institution": { + "id": 2788, + "name": "SED-ML Editors", + "homeUrl": "http://sed-ml.org/", + "description": "Editorial board responsible for defining the Simulation Experimental Description Markup Language (SED-ML).", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "csv", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 567, + "prefix": "xenbase", + "mirId": "MIR:00000186", + "name": "Xenbase", + "pattern": "^XB\\-\\w+\\-\\d+$", + "description": "Xenbase is the model organism database for Xenopus laevis and X. (Silurana) tropicalis. It contains genomic, development data and community information for Xenopus research. it includes gene expression patterns that incorporates image data from the literature, large scale screens and community submissions.", + "created": "2019-06-11T14:16:21.651+00:00", + "modified": "2020-06-09T19:30:57.158+00:00", + "resources": [ + { + "id": 569, + "mirId": "MIR:00100232", + "urlPattern": "https://www.xenbase.org/entry/{$id}", + "name": "Xenbase at University of Calgary", + "description": "Xenbase at University of Calgary", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "XB-GENE-922462", + "resourceHomeUrl": "https://www.xenbase.org/", + "institution": { + "id": 568, + "name": "University of Calgary", + "homeUrl": "https://www.ucalgary.ca/", + "description": "The University of Calgary is one of Canada\u2019s top comprehensive research universities, combining the best of university tradition with the city of Calgary\u2019s vibrant energy and diversity.", + "rorId": "https://ror.org/03yjb2x39", + "location": { + "countryCode": "CA", + "countryName": "Canada" + } + }, + "location": { + "countryCode": "CA", + "countryName": "Canada" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "XB-GENE-922462", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2265, + "prefix": "uniprot.chain", + "mirId": "MIR:00000739", + "name": "UniProt Chain", + "pattern": "^PRO_[0-9]{10}$", + "description": "This collection is a subset of UniProtKB that provides a means to reference the proteolytic cleavage products of a precursor protein.", + "created": "2020-06-09T20:12:07.077+00:00", + "modified": "2020-06-26T08:48:10.292+00:00", + "resources": [ + { + "id": 2266, + "mirId": "MIR:00000728", + "urlPattern": "http://purl.uniprot.org/annotation/{$id}", + "name": "UniProt Chain through Universal Protein Resource", + "description": "The UniProt Knowledgebase (UniProtKB) is a comprehensive resource for protein sequence and functional information with extensive cross-references to more than 120 external databases. This collection is a subset of UniProtKB that provides a means to reference the proteolytic cleavage products of a precursor protein.\n", + "official": true, + "providerCode": "upr", + "sampleId": "PRO_0000016681", + "resourceHomeUrl": "https://www.uniprot.org", + "institution": { + "id": 24, + "name": "UniProt Consortium", + "homeUrl": "https://www.uniprot.org", + "description": "The Universal Protein Resource (UniProt) is a comprehensive resource for protein sequence and annotation data. The UniProt databases are the UniProt Knowledgebase (UniProtKB), the UniProt Reference Clusters (UniRef), and the UniProt Archive (UniParc). The UniProt consortium and host institutions EMBL-EBI, SIB and PIR are committed to the long-term preservation of the UniProt databases.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PRO_0000016681", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 350, + "prefix": "mi", + "mirId": "MIR:00000109", + "name": "Molecular Interactions Ontology", + "pattern": "^MI:\\d{4}$", + "description": "The Molecular Interactions (MI) ontology forms a structured controlled vocabulary for the annotation of experiments concerned with protein-protein interactions. MI is developed by the HUPO Proteomics Standards Initiative.", + "created": "2019-06-11T14:16:01.860+00:00", + "modified": "2020-06-26T10:17:31.752+00:00", + "resources": [ + { + "id": 351, + "mirId": "MIR:00100142", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/mi/terms?obo_id=MI:{$id}", + "name": "Molecular Interactions Ontology through OLS", + "description": "Molecular Interactions Ontology through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "0308", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/mi", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0308", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2277, + "prefix": "molmedb", + "mirId": "MIR:00000768", + "name": "MolMeDB", + "pattern": "^[m,M]{2}[0-9]{5}[0-9]*$", + "description": "MolMeDB is an open chemistry database about interactions of molecules with membranes. We collect information on how chemicals interact with individual membranes either from experiment or from simulations. ", + "created": "2020-07-03T09:30:53.125+00:00", + "modified": "2020-07-03T09:30:53.125+00:00", + "resources": [ + { + "id": 2278, + "mirId": "MIR:00000749", + "urlPattern": "https://molmedb.upol.cz/mol/{$id}", + "name": "Palack\u00fd University, Olomouc", + "description": "Palack\u00fd University Olomouc is a university with long-standing tradition. Founded in the 16th century, it is the oldest university in Moravia and the second-oldest university in the Czech Republic. Today it is a modern higher education facility with a wide range of study programmes and copious scientific and research activities. In 2019, more than 22 000 students studied in accredited study programmes, exchange programmes and lifelong learning programmes at eight faculties. Palack\u00fd University Olomouc is one of the very top Czech universities, and ranks among the best universities in the world, according to international rankings.", + "official": true, + "providerCode": "upol", + "sampleId": "MM00040", + "resourceHomeUrl": "http://www.upol.cz/en/", + "institution": { + "id": 2276, + "name": "Palack\u00fd University, Olomouc", + "homeUrl": "http://www.upol.cz/en/", + "description": "Palack\u00fd University Olomouc is a university with long-standing tradition. Founded in the 16th century, it is the oldest university in Moravia and the second-oldest university in the Czech Republic. Today it is a modern higher education facility with a wide range of study programmes and copious scientific and research activities. In 2019, more than 22 000 students studied in accredited study programmes, exchange programmes and lifelong learning programmes at eight faculties. Palack\u00fd University Olomouc is one of the very top Czech universities, and ranks among the best universities in the world, according to international rankings.", + "rorId": "https://ror.org/04qxnmv42", + "location": { + "countryCode": "CZ", + "countryName": "Czech Republic" + } + }, + "location": { + "countryCode": "CZ", + "countryName": "Czech Republic" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MM00040", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2293, + "prefix": "odam", + "mirId": "MIR:00000722", + "name": "Open Data for Access and Mining", + "pattern": "^[A-Za-z0-9]+$", + "description": "Experimental data table management software to make research data accessible and available for reuse with minimal effort on the part of the data provider. Designed to manage experimental data tables in an easy way for users, ODAM provides a model for structuring both data and metadata that facilitates data handling and analysis. It also encourages data dissemination according to FAIR principles by making the data interoperable and reusable by both humans and machines, allowing the dataset to be explored and then extracted in whole or in part as needed.", + "created": "2020-07-08T15:12:19.317+00:00", + "modified": "2020-07-08T15:12:19.317+00:00", + "resources": [ + { + "id": 2294, + "mirId": "MIR:00000759", + "urlPattern": "http://pmb-bordeaux.fr/getdata/json/{$id}/datapackage?links=1", + "name": "INRA", + "description": "Bordeaux Metabolome Facility provides equipments and expertise for the study of metabolome, lipidome and metabolic fluxes.", + "official": true, + "providerCode": "bmf", + "sampleId": "frim1", + "resourceHomeUrl": "https://metabolome.cgfb.u-bordeaux.fr/", + "institution": { + "id": 2292, + "name": "National Research Institute for Agriculture, Food and Environment", + "homeUrl": "https://www.inrae.fr/", + "description": "INRAE is France's new National Research Institute for Agriculture, Food and Environment, created on January 1, 2020, It was formed by the merger of INRA, the National Institute for Agricultural Research, and IRSTEA, the National Research Institute of Science and Technology for the Environment and Agriculture.", + "rorId": "https://ror.org/003vg9w96", + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "frim1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1468, + "prefix": "hgnc.family", + "mirId": "MIR:00000520", + "name": "HGNC Family", + "pattern": "^[A-Z0-9-]+(#[A-Z0-9-]+)?$", + "description": "The HGNC (HUGO Gene Nomenclature Committee) provides an approved gene name and symbol (short-form abbreviation) for each known human gene. All approved symbols are stored in the HGNC database, and each symbol is unique. In addition, HGNC also provides symbols for both structural and functional gene families. This collection refers to records using the HGNC family symbol.", + "created": "2019-06-11T14:17:39.700+00:00", + "modified": "2020-07-16T06:11:33.736+00:00", + "resources": [ + { + "id": 1469, + "mirId": "MIR:00100671", + "urlPattern": "https://registry.identifiers.org/deprecation/resources/MIR:00100671/{$id}", + "name": "HGNC Family at HUGO Genome Nomenclature Committee", + "description": "HGNC Family at HUGO Genome Nomenclature Committee", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "PADI", + "resourceHomeUrl": "https://www.genenames.org/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": true, + "deprecationDate": "2020-07-16T06:11:29.395+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PADI", + "namespaceEmbeddedInLui": false, + "deprecated": true, + "deprecationDate": "2020-07-16T06:11:33.734+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2306, + "prefix": "hgnc.genegroup", + "mirId": "MIR:00000709", + "name": "HGNC Gene Group", + "pattern": "^\\d+$", + "description": "The HGNC (HUGO Gene Nomenclature Committee) provides an approved gene name and symbol (short-form abbreviation) for each known human gene. All approved symbols are stored in the HGNC database, and each symbol is unique. In addition, HGNC also provides a unique numerical ID to identify gene families, providing a display of curated hierarchical relationships between families.", + "created": "2020-07-16T06:20:43.698+00:00", + "modified": "2020-07-16T06:20:43.698+00:00", + "resources": [ + { + "id": 2307, + "mirId": "MIR:00000703", + "urlPattern": "https://www.genenames.org/data/genegroup/#!/group/{$id}", + "name": "HGNC Gene Group at HUGO Genome Nomenclature Committee", + "description": "HGNC Gene Group at HUGO Genome Nomenclature Committee", + "official": true, + "providerCode": "ebi", + "sampleId": "141", + "resourceHomeUrl": "https://www.genenames.org", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "141", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 689, + "prefix": "doid", + "mirId": "MIR:00000233", + "name": "Human Disease Ontology", + "pattern": "^DOID:\\d+$", + "description": "The Disease Ontology has been developed as a standardized ontology for human disease with the purpose of providing the biomedical community with consistent, reusable and sustainable descriptions of human disease terms, phenotype characteristics and related medical vocabulary disease concepts.", + "created": "2019-06-11T14:16:32.719+00:00", + "modified": "2020-07-20T14:34:20.285+00:00", + "resources": [ + { + "id": 690, + "mirId": "MIR:00100292", + "urlPattern": "http://purl.bioontology.org/ontology/DOID/DOID:{$id}", + "name": "Human Disease Ontology through BioPortal", + "description": "Human Disease Ontology through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "11337", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/DOID", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 693, + "mirId": "MIR:00100297", + "urlPattern": "http://disease-ontology.org/term/DOID:{$id}", + "name": "Human Disease Ontology at Northwestern University", + "description": "Human Disease Ontology at Northwestern University", + "official": false, + "providerCode": "hdo", + "sampleId": "11337", + "resourceHomeUrl": "http://disease-ontology.org/", + "institution": { + "id": 692, + "name": "University of Maryland (Maryland) and Northwestern University (Illinois)", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 691, + "mirId": "MIR:00100293", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/doid/terms?obo_id=DOID:{$id}", + "name": "Human Disease Ontology through OLS", + "description": "Human Disease Ontology through OLS", + "official": true, + "providerCode": "ols", + "sampleId": "11337", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/doid", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "11337", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1292, + "prefix": "go_ref", + "mirId": "MIR:00000450", + "name": "Gene Ontology Reference", + "pattern": "^GO_REF:\\d{7}$", + "description": "The GO reference collection is a set of abstracts that can be cited in the GO ontologies (e.g. as dbxrefs for term definitions) and annotation files (in the Reference column). It provides two types of reference; It can be used to provide details of why specific Evidence codes (see http://identifiers.org/eco/) are assigned, or to present abstract-style descriptions of \"GO content\" meetings at which substantial changes in the ontologies are discussed and made.", + "created": "2019-06-11T14:17:23.452+00:00", + "modified": "2020-07-30T07:27:34.233+00:00", + "resources": [ + { + "id": 1293, + "mirId": "MIR:00100584", + "urlPattern": "https://github.com/geneontology/go-site/blob/master/metadata/gorefs/goref-{$id}.md", + "name": "Gene Ontology Reference at The Gene Ontology Consortium", + "description": "Gene Ontology Reference at The Gene Ontology Consortium", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "0000041", + "resourceHomeUrl": "http://www.geneontology.org/cgi-bin/references.cgi", + "institution": { + "id": 89, + "name": "The Gene Ontology Consortium", + "homeUrl": "http://geneontology.org/", + "description": "The mission of the GO Consortium is to develop a comprehensive, computational model of biological systems, ranging from the molecular to the organism level, across the multiplicity of species in the tree of life.\n\nThe Gene Ontology (GO) knowledgebase is the world\u2019s largest source of information on the functions of genes. This knowledge is both human-readable and machine-readable, and is a foundation for computational analysis of large-scale molecular biology and genetics experiments in biomedical research. ", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0000041", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1934, + "prefix": "gcst", + "mirId": "MIR:00000715", + "name": "GWAS Catalog", + "pattern": "^GCST\\d{6}\\d*$", + "description": "The GWAS Catalog provides a consistent, searchable, visualisable and freely available database of published SNP-trait associations, which can be easily integrated with other resources, and is accessed by scientists, clinicians and other users worldwide.", + "created": "2019-06-17T12:55:17.868+00:00", + "modified": "2020-09-23T11:03:41.882+00:00", + "resources": [ + { + "id": 1935, + "mirId": "MIR:00000775", + "urlPattern": "https://www.ebi.ac.uk/gwas/studies/{$id}", + "name": "European Bioinformatics Institute", + "description": "The European Bioinformatics Institute (EMBL-EBI) helps scientists realise the potential of 'big data' in biology, exploiting complex information to make discoveries that benefit humankind.", + "official": true, + "providerCode": "ebi", + "sampleId": "GCST000035", + "resourceHomeUrl": "https://www.ebi.ac.uk", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "GCST000035", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2370, + "prefix": "pkdb", + "mirId": "MIR:00000708", + "name": "PK-DB", + "pattern": "^PKDB[0-9]{5}$", + "description": "PK-DB an open database for pharmacokinetics information from clinical trials as well as pre-clinical research. The focus of PK-DB is to provide high-quality pharmacokinetics data enriched with the required meta-information for computational modeling and data integration. ", + "created": "2020-10-07T10:25:14.491+00:00", + "modified": "2020-10-07T10:25:14.491+00:00", + "resources": [ + { + "id": 2371, + "mirId": "MIR:00000714", + "urlPattern": "https://pk-db.com/data/{$id}", + "name": "Humboldt University of Berlin", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/01hcx6992' with Wikidata IDs [Q152087], and ISNI IDs [0000 0001 2248 7639]", + "official": true, + "providerCode": "pkdb", + "sampleId": "PKDB00198", + "resourceHomeUrl": "https://www.hu-berlin.de/?set_language=en&cl=en", + "institution": { + "id": 2369, + "name": "Humboldt University of Berlin", + "homeUrl": "https://www.hu-berlin.de/?set_language=en&cl=en", + "description": "Humboldt University of Berlin is a university in the central borough of Mitte in Berlin, Germany. It was established by Frederick William III on the initiative of Wilhelm von Humboldt, Johann Gottlieb Fichte and Friedrich Ernst Daniel Schleiermacher as the University of Berlin (Universit\u00e4t zu Berlin) in 1809, and opened in 1810.", + "rorId": "https://ror.org/01hcx6992", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PKDB00198", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2377, + "prefix": "morpheus", + "mirId": "MIR:00000725", + "name": "Morpheus model repository", + "pattern": "^M[0-9]{4,}$", + "description": "The Morpheus model repository is an open-access data resource to store, search and retrieve unpublished and published computational models of spatio-temporal and multicellular biological systems, encoded in the MorpheusML language and readily executable with the Morpheus software.\n", + "created": "2020-10-07T10:43:05.918+00:00", + "modified": "2020-10-07T10:43:05.918+00:00", + "resources": [ + { + "id": 2378, + "mirId": "MIR:00000700", + "urlPattern": "https://morpheus.gitlab.io/models/{$id}", + "name": "Morpheus.lab", + "description": "Morpheus.lab is affiliated with the Center for Information Services and High Performance Computing (ZIH)\nat Technische Universit\u00e4t Dresden, Germany. Morpheus.lab develops and maintains the open-source software Morpheus, the domain-specific language MorpheusML, online courses, a user forum and the model repository.", + "official": true, + "providerCode": "morpheus.lab", + "sampleId": "M0001", + "resourceHomeUrl": "https://morpheus.gitlab.io/", + "institution": { + "id": 2376, + "name": "TU Dresden", + "homeUrl": "https://tu-dresden.de/?set_language=en", + "description": "The Technische Universit\u00e4t Dresden (TUD) is one of the largest \u201cTechnische Universit\u00e4ten\u201d in Germany and one of the leading and most dynamic universities in Germany. As a full-curriculum university with 17 faculties in five schools it offers a broad variety of 124 disciplines and covers a wide research spectrum. Its focuses Health Sciences, Biomedicine & Bioengineering, Information Technology & Microelectronics, Smart Materials & Structures, Energy, Mobility & Environment as well as Culture & Societal Change are considered exemplary in Germany and throughout Europe.", + "rorId": "https://ror.org/042aqky30", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "M0001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2384, + "prefix": "glycopost", + "mirId": "MIR:00000721", + "name": "GlycoPOST", + "pattern": "^GPST[0-9]{6}$", + "description": "GlycoPOST is a mass spectrometry data repository for glycomics and glycoproteomics. Users can release their \"raw/processed\" data via this site with a unique identifier number for the paper publication. Submission conditions are in accordance with the Minimum Information Required for a Glycomics Experiment (MIRAGE) guidelines.", + "created": "2020-10-08T09:25:59.424+00:00", + "modified": "2020-10-08T09:25:59.424+00:00", + "resources": [ + { + "id": 2385, + "mirId": "MIR:00000704", + "urlPattern": "https://glycopost.glycosmos.org/entry/{$id}", + "name": "Niigata University", + "description": "Niigata University has a long institutional history, with origins going back some 150 years. Since its inauguration as a national university in 1949 under the new university system, it has played an important role in higher education and research in Japan. Over the years, it has grown into a large-scale comprehensive university offering bachelor's, master's, and doctoral degree programs under ten faculties and five graduate schools in a wide range of disciplines spanning the humanities, education, law, economics, science, engineering, agriculture, medicine, health sciences, and dentistry. With a student body of approximately 13,000 and 3,000 academic and administrative staff members, and as a research-oriented university, it boasts several world-leading research institutes, including the Brain Research Institute and the Research Institute for Natural Hazards and Disaster Recovery as well as a university hospital providing high-level medical care as an advanced treatment hospital for the region.", + "official": true, + "providerCode": "glycopost", + "sampleId": "GPST000024", + "resourceHomeUrl": "https://glycopost.glycosmos.org", + "institution": { + "id": 2383, + "name": "Niigata University", + "homeUrl": "https://www.niigata-u.ac.jp/", + "description": "Niigata University has a long institutional history, with origins going back some 150 years. Since its inauguration as a national university in 1949 under the new university system, it has played an important role in higher education and research in Japan. Over the years, it has grown into a large-scale comprehensive university offering bachelor's, master's, and doctoral degree programs under ten faculties and five graduate schools in a wide range of disciplines spanning the humanities, education, law, economics, science, engineering, agriculture, medicine, health sciences, and dentistry. With a student body of approximately 13,000 and 3,000 academic and administrative staff members, and as a research-oriented university, it boasts several world-leading research institutes, including the Brain Research Institute and the Research Institute for Natural Hazards and Disaster Recovery as well as a university hospital providing high-level medical care as an advanced treatment hospital for the region.", + "rorId": "https://ror.org/04ww21r56", + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "GPST000024", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1280, + "prefix": "uberon", + "mirId": "MIR:00000446", + "name": "UBERON", + "pattern": "^UBERON:\\d+$", + "description": "Uberon is an integrated cross-species anatomy ontology representing a variety of entities classified according to traditional anatomical criteria such as structure, function and developmental lineage. The ontology includes comprehensive relationships to taxon-specific anatomical ontologies, allowing integration of functional, phenotype and expression data.", + "created": "2019-06-11T14:17:22.433+00:00", + "modified": "2021-02-27T10:19:43.666+00:00", + "resources": [ + { + "id": 1281, + "mirId": "MIR:00100579", + "urlPattern": "http://purl.bioontology.org/ontology/UBERON/UBERON:{$id}", + "name": "UBERON through bioPortal", + "description": "UBERON through bioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "0008203", + "resourceHomeUrl": "http://bioportal.bioontology.org/ontologies/UBERON", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1282, + "mirId": "MIR:00100580", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/uberon/terms?obo_id=UBERON:{$id}", + "name": "UBERON through OLS", + "description": "UBERON through OLS", + "official": true, + "providerCode": "ols", + "sampleId": "0008203", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/uberon", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0008203", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2527, + "prefix": "repeatsdb.structure", + "mirId": "MIR:00000764", + "name": "RepeatsDB Structure", + "pattern": "^[0-9][A-Za-z0-9]{3}[A-Za-z0-9][A-Za-z0-9]?[0-9]?[0-9]?$", + "description": "RepeatsDB is a database of annotated tandem repeat protein structures. This collection references structural entries in the database.", + "created": "2021-02-17T18:09:04.420+00:00", + "modified": "2021-02-17T18:09:04.420+00:00", + "resources": [ + { + "id": 2528, + "mirId": "MIR:00000780", + "urlPattern": "https://repeatsdb.org/structure/{$id}", + "name": "RepeatsDB", + "description": "RepeatsDB is a database of annotated tandem repeat protein structures. This collection references structural entries in the database.", + "official": true, + "providerCode": "repeatsdb.structure", + "sampleId": "2gc4E", + "resourceHomeUrl": "https://repeatsdb.org/", + "institution": { + "id": 1769, + "name": "University of Padua", + "homeUrl": "https://www.unipd.it/en/", + "description": "he University of Padua is one of Europe\u2019s oldest and most prestigious seats of learning. As a multi-disciplinary institute of higher education, the University aims to provide its students with professional training and a solid cultural background. The qualification received from the University of Padua act as a symbol of the ambitious objectives respected and coveted by both students and employers alike.", + "rorId": "https://ror.org/00240q980", + "location": { + "countryCode": "IT", + "countryName": "Italy" + } + }, + "location": { + "countryCode": "IT", + "countryName": "Italy" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2gc4E", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2416, + "prefix": "biosimulators", + "mirId": "MIR:00000767", + "name": "BioSimulators", + "pattern": "[a-zA-Z0-9-_]+", + "description": "BioSimulators is a registry of containerized simulation tools that support a common interface. The containers in BioSimulators support a range of modeling frameworks (e.g., logical, constraint-based, continuous kinetic, discrete kinetic), simulation algorithms (e.g., CVODE, FBA, SSA), and modeling formats (e.g., BGNL, SBML, SED-ML).", + "created": "2020-10-22T01:16:20.744+00:00", + "modified": "2020-10-22T01:16:20.744+00:00", + "resources": [ + { + "id": 2417, + "mirId": "MIR:00000746", + "urlPattern": "https://biosimulators.org/simulators/{$id}", + "name": "BioSimulators", + "description": "The BioSimulators project aims to make it easier for the research community to reuse biosimulation tools through standards and a registry of simulation tools.", + "official": true, + "providerCode": "icahn", + "sampleId": "vcell", + "resourceHomeUrl": "https://biosimulators.org/", + "institution": { + "id": 2247, + "name": "Icahn School of Medicine at Mount Sinai", + "homeUrl": "https://icahn.mssm.edu/", + "description": "The Icahn School of Medicine at Mount Sinai is an international leader in medical and scientific training, biomedical research, and patient care. It is the medical school for the Mount Sinai Health System, which includes eight hospital campuses, and has more than 5,000 faculty and nearly 2,000 students, residents and fellows.", + "rorId": "https://ror.org/04a9tmd77", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "vcell", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2423, + "prefix": "gsso", + "mirId": "MIR:00000712", + "name": "Gender, Sex, and Sexual Orientation (GSSO) Ontology", + "pattern": "^GSSO:\\d{6}$", + "description": "The Gender, Sex, and Sexual Orientation (GSSO) ontology is an interdisciplinary ontology connecting terms from biology, medicine, psychology, sociology, and gender studies, aiming to bridge gaps between linguistic variations inside and outside of the health care environment. A large focus of the ontology is its consideration of LGBTQIA+ terminology.", + "created": "2020-11-05T10:42:17.722+00:00", + "modified": "2020-11-05T10:59:53.808+00:00", + "resources": [ + { + "id": 2424, + "mirId": "MIR:00000758", + "urlPattern": "http://purl.obolibrary.org/obo/GSSO_{$id}", + "name": "National Center for Biomedical Ontology (NCBO) BioPortal", + "description": "One of the National Centers for Biomedical Computing, and is funded by the NIH. Among the goals of the NCBO are to provide tools for discovery and access of biomedical ontologies, which are a type of controlled vocabulary designed to allow the expression of complex relationships in machine-readable form.", + "official": true, + "providerCode": "bioportal", + "sampleId": "002368", + "resourceHomeUrl": "https://bioportal.bioontology.org/", + "institution": { + "id": 2422, + "name": "University of Cincinnati", + "homeUrl": "https://www.uc.edu/", + "description": "UC is a public research university with an enrollment of more than 46,000 students and has been named \"Among the top tier of the Best National Universities,\" according to U.S. News & World Report.", + "rorId": "https://ror.org/01e3m7079", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "002368", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2792, + "prefix": "sedml.language", + "mirId": "MIR:00000843", + "name": "SED-ML model format", + "pattern": "^[a-z]+(\\..*?)?$", + "description": "Model format that can be used in conjunction with the Simulation Experimental Description Markup Language (SED-ML).", + "created": "2021-08-08T09:34:23.184+00:00", + "modified": "2021-08-08T09:34:23.184+00:00", + "resources": [ + { + "id": 2793, + "mirId": "MIR:00000842", + "urlPattern": "https://sed-ml.org/urns.html#language:{$id}", + "name": "SED-ML Editors", + "description": "Editorial board responsible for defining the Simulation Experimental Description Markup Language (SED-ML).", + "official": true, + "providerCode": "sedml", + "sampleId": "sbml.level-3.version-2", + "resourceHomeUrl": "http://sed-ml.org/", + "institution": { + "id": 2788, + "name": "SED-ML Editors", + "homeUrl": "http://sed-ml.org/", + "description": "Editorial board responsible for defining the Simulation Experimental Description Markup Language (SED-ML).", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "sbml.level-3.version-2", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1357, + "prefix": "ligandbox", + "mirId": "MIR:00000477", + "name": "LigandBox", + "pattern": "^(HTS|KSH)[0-9]{4}-[0-9]{8}|PDB_[0-9,A-Z]{2,3}|[CD][0-9]{5}$", + "description": "LigandBox is a database of 3D compound structures. Compound information is collected from the catalogues of various commercial suppliers, with approved drugs and biochemical compounds taken from KEGG and PDB databases. Each chemical compound in the database has several 3D conformers with hydrogen atoms and atomic charges, which are ready to be docked into receptors using docking programs. Various physical properties, such as aqueous solubility (LogS) and carcinogenicity have also been calculated to characterize the ADME-Tox properties of the compounds.", + "created": "2019-06-11T14:17:28.979+00:00", + "modified": "2020-11-20T10:55:30.526+00:00", + "resources": [ + { + "id": 1359, + "mirId": "MIR:00100612", + "urlPattern": "http://www.mypresto5.com/ligandbox/cgi-bin/liginf.cgi?id={$id}", + "name": "LigandBox at N2PC", + "description": "LigandBox at N2PC", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "D00001", + "resourceHomeUrl": "http://www.mypresto5.com/ligandbox/cgi-bin/index.cgi?LANG=en", + "institution": { + "id": 1358, + "name": "Next generation Natural Products Chemistry", + "homeUrl": "https://www.natprodchem.jp/", + "description": "https://www.natprodchem.jp/files/english.pdf", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "D00001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1666, + "prefix": "pgx", + "mirId": "MIR:00000600", + "name": "Progenetix", + "pattern": "^\\w{3,15}[-_]\\w[\\w.-]{3,128}$", + "description": "The Progenetix database provides an overview of mutation data in cancer, with a focus on copy number abnormalities (CNV / CNA), for all types of human malignancies. The resource contains genome profiles of more than 130'000 individual samples and represents about 700 cancer types, according to the NCIt \"neoplasm\" classification. Additionally to this genome profiles and associated metadata, the website present information about thousands of publications referring to cancer genome profiling experiments, and services for mapping cancer classifications and accessing supplementary data through its APIs.", + "created": "2019-06-11T14:17:59.445+00:00", + "modified": "2020-11-25T15:01:33.103+00:00", + "resources": [ + { + "id": 1668, + "mirId": "MIR:00100801", + "urlPattern": "https://progenetix.org/services/ids/{$id}", + "name": "Progenetix", + "description": "Progenetix", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "pgxbs-kftva5zv", + "resourceHomeUrl": "https://progenetix.org/", + "institution": { + "id": 1667, + "name": "University of Zurich", + "homeUrl": "https://www.uzh.ch/en.html", + "description": "The University of Zurich is one of the leading research universities in Europe and offers the widest range of degree programs in Switzerland.", + "rorId": "https://ror.org/02crff812", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "pgxbs-kftva5zv", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2477, + "prefix": "covid19", + "mirId": "MIR:00000789", + "name": "SARS-CoV-2", + "pattern": "^\\w+_COVID19_[-\\w]+$", + "description": "Curated contextual database gathering samples related to SARS-CoV-2 virus and covid-19 disease.", + "created": "2020-12-14T12:49:56.333+00:00", + "modified": "2020-12-14T12:49:56.333+00:00", + "resources": [ + { + "id": 2478, + "mirId": "MIR:00000787", + "urlPattern": "https://covid19.sfb.uit.no/api/records/{$id}", + "name": "Elixir@UiT", + "description": "Elixir@UiT is the local branch of ELIXIR-NO node based at UiT.", + "official": true, + "providerCode": "sfb", + "sampleId": "SFB_COVID19_MW286762", + "resourceHomeUrl": "https://covid19.sfb.uit.no", + "institution": { + "id": 2476, + "name": "University of Troms\u00f8 - The Arctic University of Norway", + "homeUrl": "https://uit.no/startsida", + "description": "One of Norway's broadest universities, with study programs in ten locations: Troms\u00f8, Harstad, Narvik, Alta, Hammerfest, Kirkenes, Mo i Rana, Bod\u00f8, Bardufoss and Svalbard.", + "rorId": "https://ror.org/00wge5k78", + "location": { + "countryCode": "NO", + "countryName": "Norway" + } + }, + "location": { + "countryCode": "NO", + "countryName": "Norway" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "SFB_COVID19_MW286762", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2497, + "prefix": "vmhgene", + "mirId": "MIR:00000774", + "name": "VMH Gene", + "pattern": "^[0-9]+\\.[0-9]+", + "description": "The Virtual Metabolic Human (VMH) is a resource that combines human and gut microbiota metabolism with nutrition and disease.", + "created": "2021-02-01T15:47:59.756+00:00", + "modified": "2021-02-01T15:47:59.756+00:00", + "resources": [ + { + "id": 2498, + "mirId": "MIR:00000794", + "urlPattern": "https://www.vmh.life/#gene/{$id}", + "name": "VMH Gene", + "description": "VMH Gene, provided by Thiele Group, NUI Galway. \nThe VMH database captures information on human and gut microbial metabolism and links this information to hundreds of diseases and nutritional data.", + "official": true, + "providerCode": "NUI", + "sampleId": "8639.1", + "resourceHomeUrl": "https://www.vmh.life/", + "institution": { + "id": 2496, + "name": "National University of Ireland, Galway", + "homeUrl": "http://www.nuigalway.ie/", + "description": "Since 1845, University of Galway has been sharing the highest quality teaching and research with Ireland and the world. Find out what makes our University so special \u2013 from our distinguished history to the latest news and campus developments. ", + "rorId": "https://ror.org/03bea9k73", + "location": { + "countryCode": "IE", + "countryName": "Ireland" + } + }, + "location": { + "countryCode": "IE", + "countryName": "Ireland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "8639.1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1523, + "prefix": "gwascentral.phenotype", + "mirId": "MIR:00000543", + "name": "GWAS Central Phenotype", + "pattern": "^HGVPM\\d+$", + "description": "GWAS Central (previously the Human Genome Variation database of Genotype-to-Phenotype information) is a database of summary level findings from genetic association studies, both large and small. It gathers datasets from public domain projects, and accepts direct data submission. It is based upon Marker information encompassing SNP and variant information from public databases, to which allele and genotype frequency data, and genetic association findings are additionally added. A Study (most generic level) contains one or more Experiments, one or more Sample Panels of test subjects, and one or more Phenotypes. This collection references a GWAS Central Phenotype.", + "created": "2019-06-11T14:17:44.698+00:00", + "modified": "2021-02-01T16:43:30.697+00:00", + "resources": [ + { + "id": 1524, + "mirId": "MIR:00100720", + "urlPattern": "https://www.gwascentral.org/phenotype/{$id}", + "name": "GWAS Central Phenotype at University of Leicester", + "description": "GWAS Central Phenotype at University of Leicester", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "HGVPM623", + "resourceHomeUrl": "https://www.gwascentral.org/phenotypes", + "institution": { + "id": 1079, + "name": "Department of Genetics, University of Leicester, Leicester", + "homeUrl": "https://le.ac.uk/ggb", + "description": "We are an internationally-recognised centre for pioneering research into genetics with specific expertise in patterns of human inheritance, identification of genetic determinants of human diseases, cancer genetics, circadian rhythms and microbial pathogenesis. Our renowned research includes the discovery by Professor Sir Alec Jeffreys of the technique of DNA fingerprinting and, more recently, for the identification of the bones of Richard III. We are proud of our cross-organism approach, which emphasises the fundamental importance of genetics as a common language for understanding the biology of organisms as diverse as bacteriophages, bacteria, yeast, fruit flies, insects, plants and humans.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "HGVPM623", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2518, + "prefix": "clinvar.submitter", + "mirId": "MIR:00000769", + "name": "ClinVar Submitter", + "pattern": "^\\d+$", + "description": "ClinVar archives reports of relationships among medically important variants and phenotypes. It records human variation, interpretations of the relationship specific variations to human health, and supporting evidence for each interpretation. Each ClinVar record (RCV identifier) represents an aggregated view of interpretations of the same variation and condition from one or more submitters (Submitter IDs). Submissions for individual variation/phenotype combinations (SCV identifier) are also collected and made available separately. This collection references submitters (submitter ids) that submit the submissions (SCVs).", + "created": "2021-02-17T17:56:14.329+00:00", + "modified": "2021-02-17T17:56:14.329+00:00", + "resources": [ + { + "id": 2519, + "mirId": "MIR:00000783", + "urlPattern": "https://www.ncbi.nlm.nih.gov/clinvar/submitters/{$id}", + "name": "ClinVar Submitter at NCBI", + "description": "ClinVar Submitter ids are assigned by NCBI for all authorized submitters of clinvar submissions (SCVs)", + "official": true, + "providerCode": "ncbi", + "sampleId": "26957", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/clinvar/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "26957", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2521, + "prefix": "ped", + "mirId": "MIR:00000777", + "name": "Protein Ensemble Database", + "pattern": "^PED\\d{5}$", + "description": "The Protein Ensemble Database is an open access database for the deposition of structural ensembles, including intrinsically disordered proteins.", + "created": "2021-02-17T18:02:05.160+00:00", + "modified": "2021-02-17T18:02:05.160+00:00", + "resources": [ + { + "id": 2522, + "mirId": "MIR:00000784", + "urlPattern": "https://proteinensemble.org/{$id}", + "name": "PED - Protein Ensemble Database", + "description": "The Protein Ensemble Database (PED) is an open access database for the deposition of structural ensembles, including intrinsically disordered proteins.", + "official": true, + "providerCode": "ped", + "sampleId": "PED00037", + "resourceHomeUrl": "https://proteinensemble.org/", + "institution": { + "id": 1769, + "name": "University of Padua", + "homeUrl": "https://www.unipd.it/en/", + "description": "he University of Padua is one of Europe\u2019s oldest and most prestigious seats of learning. As a multi-disciplinary institute of higher education, the University aims to provide its students with professional training and a solid cultural background. The qualification received from the University of Padua act as a symbol of the ambitious objectives respected and coveted by both students and employers alike.", + "rorId": "https://ror.org/00240q980", + "location": { + "countryCode": "IT", + "countryName": "Italy" + } + }, + "location": { + "countryCode": "IT", + "countryName": "Italy" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PED00037", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2532, + "prefix": "repeatsdb.protein", + "mirId": "MIR:00000792", + "name": "RepeatsDB Protein", + "pattern": "^[OPQopq][0-9][A-Za-z0-9]{3}[0-9]|[A-Na-nR-Zr-z][0-9]([A-Za-z][A-Za-z0-9]{2}[0-9]){1,2}$", + "description": "RepeatsDB is a database of annotated tandem repeat protein structures. This collection references protein entries in the database.", + "created": "2021-02-17T18:11:07.592+00:00", + "modified": "2021-02-17T18:11:07.592+00:00", + "resources": [ + { + "id": 2533, + "mirId": "MIR:00000699", + "urlPattern": "https://repeatsdb.org/protein/{$id}", + "name": "RepeatsDB", + "description": "RepeatsDB is a database of annotated tandem repeat protein structures. This collection references structural entries in the database.", + "official": true, + "providerCode": "", + "sampleId": "P29894", + "resourceHomeUrl": "https://repeatsdb.org/", + "institution": { + "id": 1769, + "name": "University of Padua", + "homeUrl": "https://www.unipd.it/en/", + "description": "he University of Padua is one of Europe\u2019s oldest and most prestigious seats of learning. As a multi-disciplinary institute of higher education, the University aims to provide its students with professional training and a solid cultural background. The qualification received from the University of Padua act as a symbol of the ambitious objectives respected and coveted by both students and employers alike.", + "rorId": "https://ror.org/00240q980", + "location": { + "countryCode": "IT", + "countryName": "Italy" + } + }, + "location": { + "countryCode": "IT", + "countryName": "Italy" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "P29894", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2548, + "prefix": "gateway", + "mirId": "MIR:00000796", + "name": "gateway", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "description": "The Health Data Research Innovation Gateway (the 'Gateway') provides a common entry point to discover and enquire about access to UK health datasets for research and innovation. It provides detailed information about the datasets, which are held by members of the UK Health Data Research Alliance, such as a description, size of the population, and the legal basis for access.", + "created": "2021-02-26T07:35:34.234+00:00", + "modified": "2021-02-26T07:35:34.234+00:00", + "resources": [ + { + "id": 2549, + "mirId": "MIR:00000697", + "urlPattern": "https://web.www.healthdatagateway.org/dataset/{$id}", + "name": "Health Data Research UK", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/04rtjaj74' with no Wikidata information, and no ISNI information", + "official": true, + "providerCode": "hdruk", + "sampleId": "fd8d0743-344a-4758-bb97-f8ad84a37357", + "resourceHomeUrl": "https://www.hdruk.ac.uk", + "institution": { + "id": 2547, + "name": "Health Data Research UK", + "homeUrl": "https://www.hdruk.ac.uk", + "description": "we are the UK's national institute for health data science. We are uniting the UK\u2019s health data to enable discoveries that improve people\u2019s lives. Our vision is that every health and care interaction and research endeavour will be enhanced by access to large scale data and advanced analytics. ", + "rorId": "https://ror.org/04rtjaj74", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "fd8d0743-344a-4758-bb97-f8ad84a37357", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1585, + "prefix": "metanetx.compartment", + "mirId": "MIR:00000569", + "name": "MetaNetX compartment", + "pattern": "^(MNX[CD]\\d+|BOUNDARY|IN|OUT)$", + "description": "MetaNetX/MNXref integrates various information from genome-scale metabolic network reconstructions such as information on reactions, metabolites and compartments. This information undergoes a reconciliation process to minimise for discrepancies between different data sources, and makes the data accessible under a common namespace. This collection references cellular compartments.", + "created": "2019-06-11T14:17:50.805+00:00", + "modified": "2021-02-26T09:49:03.051+00:00", + "resources": [ + { + "id": 1586, + "mirId": "MIR:00100750", + "urlPattern": "https://www.metanetx.org/comp_info/{$id}", + "name": "MetaNetX compartment at SIB Swiss Institute of Bioinformatics", + "description": "MetaNetX compartment at SIB Swiss Institute of Bioinformatics", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "MNXC15", + "resourceHomeUrl": "https://www.metanetx.org/", + "institution": { + "id": 1581, + "name": "Vital-IT group, SIB Swiss Institute of Bioinformatics, Lausanne", + "homeUrl": "https://www.vital-it.ch/", + "description": "Vital-IT is a Competency Centre in Bioinformatics and Computational Biology that provides support and technological R&D for life science and clinical research in Switzerland and internationally.", + "rorId": null, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MNXC15", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2559, + "prefix": "qtldb", + "mirId": "MIR:00000798", + "name": "Animal Genome QTL", + "pattern": "^\\d+$", + "description": "The Animal Quantitative Trait Loci (QTL) database (Animal QTLdb) is designed to house publicly all available QTL and single-nucleotide polymorphism/gene association data on livestock animal species. This collection is species-independent.", + "created": "2021-02-26T10:27:01.032+00:00", + "modified": "2021-02-26T10:27:01.032+00:00", + "resources": [ + { + "id": 2560, + "mirId": "MIR:00000797", + "urlPattern": "https://www.animalgenome.org/QTLdb/q?id=QTL_ID:{$id}", + "name": "Animal QTL DB at Iowa State University", + "description": "Animal QTL DB at Department of Animal Science and Center for Integrated Animal Genomics, Iowa State University", + "official": true, + "providerCode": "iastate", + "sampleId": "4685", + "resourceHomeUrl": "https://www.animalgenome.org/QTLdb", + "institution": { + "id": 2558, + "name": "Iowa State University", + "homeUrl": "https://www.iastate.edu/", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/04rswrd78' with Wikidata IDs [Q1136919], and ISNI IDs [0000 0004 1936 7312]", + "rorId": "https://ror.org/04rswrd78", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "4685", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2565, + "prefix": "runbiosimulations", + "mirId": "MIR:00000897", + "name": "runBioSimulations", + "pattern": "[0-9a-z]{24,24}", + "description": "runBioSimulations is a platform for sharing simulation experiments and their results. runBioSimulations enables investigators to use a wide range of simulation tools to execute a wide range of simulations. runBioSimulations permanently saves the results of these simulations, and investigators can share results by sharing URLs similar to sharing URLs for files with DropBox and Google Drive.", + "created": "2021-02-28T15:53:07.380+00:00", + "modified": "2021-02-28T15:53:07.380+00:00", + "resources": [ + { + "id": 2566, + "mirId": "MIR:00000898", + "urlPattern": "https://run.biosimulations.org/simulations/{$id}", + "name": "Icahn School of Medicine at Mount Sinai", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/04a9tmd77' with Wikidata IDs [Q1950740], and ISNI IDs [0000 0001 0670 2351]", + "official": true, + "providerCode": "icahn", + "sampleId": "5fde96bdc5f1aa9ff0cce18a", + "resourceHomeUrl": "https://icahn.mssm.edu/", + "institution": { + "id": 2247, + "name": "Icahn School of Medicine at Mount Sinai", + "homeUrl": "https://icahn.mssm.edu/", + "description": "The Icahn School of Medicine at Mount Sinai is an international leader in medical and scientific training, biomedical research, and patient care. It is the medical school for the Mount Sinai Health System, which includes eight hospital campuses, and has more than 5,000 faculty and nearly 2,000 students, residents and fellows.", + "rorId": "https://ror.org/04a9tmd77", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "5fde96bdc5f1aa9ff0cce18a", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2571, + "prefix": "chembl", + "mirId": "MIR:00000799", + "name": "ChEMBL", + "pattern": "^CHEMBL\\d+$", + "description": "ChEMBL is a database of bioactive compounds, their quantitative properties and bioactivities (binding constants, pharmacology and ADMET, etc). The data is abstracted and curated from the primary scientific literature.", + "created": "2021-02-28T16:13:04.331+00:00", + "modified": "2021-02-28T16:13:04.331+00:00", + "resources": [ + { + "id": 2572, + "mirId": "MIR:00000800", + "urlPattern": "https://www.ebi.ac.uk/chembl/entity/{$id}", + "name": "European Bioinformatics Institute", + "description": "ChEMBL is a database of bioactive compounds, their quantitative properties and bioactivities (binding constants, pharmacology and ADMET, etc). The data is abstracted and curated from the primary scientific literature.", + "official": true, + "providerCode": "ebi", + "sampleId": "CHEMBL4303805", + "resourceHomeUrl": "https://www.ebi.ac.uk/chembl", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "CHEMBL4303805", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2585, + "prefix": "ito", + "mirId": "MIR:00000802", + "name": "Intelligence Task Ontology", + "pattern": "^.+$", + "description": "The Intelligence Task Ontology (ITO) provides a comprehensive map of machine intelligence tasks, as well as broader human intelligence or hybrid human/machine intelligence tasks.", + "created": "2021-03-15T19:37:56.820+00:00", + "modified": "2021-03-15T19:37:56.820+00:00", + "resources": [ + { + "id": 2586, + "mirId": "MIR:00000801", + "urlPattern": "https://bioportal.bioontology.org/ontologies/ITO/?p=classes&conceptid=https://identifiers.org/ito:{$id}", + "name": "BioPortal at National Center for Biomedical Ontology", + "description": "BioPortal at National Center for Biomedical Ontology", + "official": true, + "providerCode": "ito", + "sampleId": "ITO_01625", + "resourceHomeUrl": "https://bioportal.bioontology.org/", + "institution": { + "id": 2584, + "name": "Institute of Artificial Intelligence and Decision Support, Medical University of Vienna", + "homeUrl": "https://www.meduniwien.ac.at/web/en/", + "description": "The Institute of Artificial Intelligence and Decision Support at the Medical University of Vienna is dedicated to enabling scientific progress and good decision making by facilitating artificial intelligence technologies.", + "rorId": null, + "location": { + "countryCode": "AT", + "countryName": "Austria" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "ITO_01625", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2589, + "prefix": "odc.sci", + "mirId": "MIR:00000804", + "name": "Open Data Commons for Spinal Cord Injury", + "pattern": "^[0-9]*$", + "description": "The Open Data Commons for Spinal Cord Injury is a cloud-based community-driven repository to store, share, and publish spinal cord injury research data.", + "created": "2021-03-15T19:43:45.400+00:00", + "modified": "2021-03-15T19:43:45.400+00:00", + "resources": [ + { + "id": 2590, + "mirId": "MIR:00000803", + "urlPattern": "https://odc-sci.org/data/{$id}", + "name": "Open Data Commons for Spinal Cord Injury", + "description": "Open Data Commons for Spinal Cord Injury hosted on on SciCrunch.org", + "official": true, + "providerCode": "odc.sci", + "sampleId": "602", + "resourceHomeUrl": "https://odc-sci.org", + "institution": { + "id": 190, + "name": "University of California, San Diego", + "homeUrl": "https://ucsd.edu/", + "description": "is a public research university in San Diego, California.\nEstablished in 1960 near the pre-existing Scripps Institution of Oceanography, UC San Diego is the seventh-oldest of the 10 University of California campuses and offers over 200 undergraduate and graduate degree programs, enrolling approximately 30,000 undergraduate and 8,500 graduate students.", + "rorId": "https://ror.org/0168r3w48", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "602", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2594, + "prefix": "igsn", + "mirId": "MIR:00000806", + "name": "International Geo Sample Number", + "pattern": "^[A-Za-z]{2,4}[A-Za-z0-9.-]{1,71}$", + "description": "IGSN is a globally unique and persistent identifier for material samples and specimens. IGSNs are obtained from IGSN e.V. Agents.", + "created": "2021-03-15T19:52:42.073+00:00", + "modified": "2021-03-15T19:52:42.073+00:00", + "resources": [ + { + "id": 2595, + "mirId": "MIR:00000805", + "urlPattern": "http://igsn.org/{$id}", + "name": "SESAR, the System for Earth Sample Registration", + "description": "SESAR is a community platform that operates a sample registry for researchers, institutions, and sample facilities to openly share information about their samples. SESAR provides tools to upload sample metadata and register samples with IGSN as a globally unique identifier to make them Findable, Accessible, Interoperable, and Reusable (FAIR). SESAR\u2019s services include providing access to the sample metadata catalog via the SESAR Catalog Search tool, maintaining sample metadata profiles, and distributing IGSN.\n \nSESAR is a project funded by the US National Science Foundation.", + "official": true, + "providerCode": "Not Applicable", + "sampleId": "AU124", + "resourceHomeUrl": "http://www.geosamples.org/", + "institution": { + "id": 2593, + "name": "IGSN Implementation Organization e.V., Potsdam, Germany", + "homeUrl": "https://www.igsn.org/", + "description": "The IGSN e.V. is the implementation organization of the IGSN. It is an international, non-profit organization which operates a central registration system for IGSN. IGSN are globally unique and persistent identifiers for material samples. IGSN resolve to persistent landing pages, which are managed by the federated IGSN Agents.", + "rorId": null, + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AU124", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2605, + "prefix": "signor", + "mirId": "MIR:00000808", + "name": "SIGNOR", + "pattern": "^SIGNOR\\-[A-Z]+\\d+$", + "description": "SIGNOR, the SIGnaling Network Open Resource, organizes and stores in a structured format signaling information published in the scientific literature.", + "created": "2021-04-12T18:19:18.033+00:00", + "modified": "2021-04-12T18:19:18.033+00:00", + "resources": [ + { + "id": 2606, + "mirId": "MIR:00000807", + "urlPattern": "https://signor.uniroma2.it/relation_result.php?id={$id}", + "name": "SIGNOR", + "description": "SIGNOR, the SIGnaling Network Open Resource, organizes and stores in a structured format signaling information published in the scientific literature.", + "official": true, + "providerCode": "signor", + "sampleId": "SIGNOR-C2", + "resourceHomeUrl": "https://signor.uniroma2.it/", + "institution": { + "id": 2604, + "name": "University of Rome Tor Vergata", + "homeUrl": "http://web.uniroma2.it/", + "description": "University of Rome Tor Vergata was established in 1982 and is therefore a relatively young University. It was designed on the model of Anglo-Saxon campuses: it stretches on 600 hectares and hosts important research institutions, such as National Research Council \u2013 CNR and the Italian Space Agency \u2013 ASI.", + "rorId": "https://ror.org/02p77k626", + "location": { + "countryCode": "IT", + "countryName": "Italy" + } + }, + "location": { + "countryCode": "IT", + "countryName": "Italy" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "SIGNOR-C2", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1644, + "prefix": "envo", + "mirId": "MIR:00000591", + "name": "Environment Ontology", + "pattern": "^ENVO:\\d{7,8}$", + "description": "The Environment Ontology is a resource and research target for the semantically controlled description of environmental entities. The ontology's initial aim was the representation of the biomes, environmental features, and environmental materials pertinent to genomic and microbiome-related investigations.", + "created": "2019-06-11T14:17:57.267+00:00", + "modified": "2021-04-17T20:07:01.902+00:00", + "resources": [ + { + "id": 1646, + "mirId": "MIR:00100791", + "urlPattern": "http://purl.bioontology.org/ontology/ENVO/ENVO:{$id}", + "name": "The Environment Ontology through BioPortal", + "description": "The Environment Ontology through BioPortal", + "official": false, + "providerCode": "bptl", + "sampleId": "09200010", + "resourceHomeUrl": "http://purl.bioontology.org/ontology/ENVO/", + "institution": { + "id": 5, + "name": "National Center for Biomedical Ontology, Stanford", + "homeUrl": "https://ncbo.bioontology.org/", + "description": "The goal of the National Center for Biomedical Ontology is to support biomedical researchers in their knowledge-intensive work, by providing online tools and a Web portal enabling them to access, review, and integrate disparate ontological resources in all aspects of biomedical investigation and clinical practice. A major focus of our work involves the use of biomedical ontologies to aid in the management and analysis of data derived from complex experiments.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 1645, + "mirId": "MIR:00100790", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/envo/terms?obo_id=ENVO:{$id}", + "name": "The Environment Ontology through OLS", + "description": "The Environment Ontology through OLS", + "official": false, + "providerCode": "ols", + "sampleId": "09200010", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/envo", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "09200010", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2647, + "prefix": "ilx", + "mirId": "MIR:00000814", + "name": "InterLex", + "pattern": "^[0-9]+$", + "description": "InterLex is a dynamic lexicon, initially built on the foundation of NeuroLex (PMID: 24009581), of biomedical terms and common data elements designed to help improve the way that biomedical scientists communicate about their data, so that information systems can find data more easily and provide more powerful means of integrating data across distributed resources and datasets. InterLex allows for the association of data fields and data values to common data elements and terminologies enabling the crowdsourcing of data-terminology mappings within and across communities. InterLex provides a stable layer on top of the many other existing terminologies, lexicons, ontologies, and common data element collections and provides a set of inter-lexical and inter-data-lexical mappings. ", + "created": "2021-05-22T16:59:04.850+00:00", + "modified": "2021-05-22T16:59:04.850+00:00", + "resources": [ + { + "id": 2648, + "mirId": "MIR:00000813", + "urlPattern": "https://scicrunch.org/scicrunch/interlex/view/ilx_{$id}", + "name": "FAIR Data Informatics Laboratory", + "description": "The FAIR Data Informatics Lab at UCSD is a leader in developing and providing novel informatics infrastructure and tools for making data FAIR: Findable, Accessible, Interoperable and Reusable. ", + "official": true, + "providerCode": "ilx", + "sampleId": "0101963", + "resourceHomeUrl": "https://www.fdilab.org", + "institution": { + "id": 190, + "name": "University of California, San Diego", + "homeUrl": "https://ucsd.edu/", + "description": "is a public research university in San Diego, California.\nEstablished in 1960 near the pre-existing Scripps Institution of Oceanography, UC San Diego is the seventh-oldest of the 10 University of California campuses and offers over 200 undergraduate and graduate degree programs, enrolling approximately 30,000 undergraduate and 8,500 graduate students.", + "rorId": "https://ror.org/0168r3w48", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0101963", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2650, + "prefix": "odc.tbi", + "mirId": "MIR:00000816", + "name": "Open Data Commons for Traumatic Brain Injury", + "pattern": "^[0-9]*$", + "description": "The Open Data Commons for Traumatic Brain Injury is a cloud-based community-driven repository to store, share, and publish traumatic brain injury research data.", + "created": "2021-05-22T17:51:43.225+00:00", + "modified": "2021-05-22T17:51:43.225+00:00", + "resources": [ + { + "id": 2651, + "mirId": "MIR:00000815", + "urlPattern": "https://odc-tbi.org/data/{$id}", + "name": "Open Data Commons for Traumatic Brain Injury", + "description": "Open Data Commons for Traumatic Brain Injury hosted on on SciCrunch.org", + "official": true, + "providerCode": "odc.tbi", + "sampleId": "408", + "resourceHomeUrl": "https://odc-tbi.org", + "institution": { + "id": 190, + "name": "University of California, San Diego", + "homeUrl": "https://ucsd.edu/", + "description": "is a public research university in San Diego, California.\nEstablished in 1960 near the pre-existing Scripps Institution of Oceanography, UC San Diego is the seventh-oldest of the 10 University of California campuses and offers over 200 undergraduate and graduate degree programs, enrolling approximately 30,000 undergraduate and 8,500 graduate students.", + "rorId": "https://ror.org/0168r3w48", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "408", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2665, + "prefix": "ccdc", + "mirId": "MIR:00000818", + "name": "CCDC Number", + "pattern": "^\\d{6,7}$", + "description": "The Cambridge Crystallographic Data Centre (CCDC) develops and maintains the Cambridge Stuctural Database, the world's most comprehensive archive of small-molecule crystal structure data. A CCDC Number is a unique identifier assigned to a dataset deposited with the CCDC.", + "created": "2021-05-30T10:05:35.955+00:00", + "modified": "2021-05-30T10:05:35.955+00:00", + "resources": [ + { + "id": 2666, + "mirId": "MIR:00000817", + "urlPattern": "https://www.ccdc.cam.ac.uk/services/structures?pid=ccdc:{$id}&sid=IDORG", + "name": "Cambridge Crystallographic Data Centre", + "description": "The Cambridge Crystallographic Data Centre (CCDC) is dedicated to the advancement of chemistry and crystallography through the provision of high quality scientific data services and software. It compiles and disseminates the Cambridge Structural Database, a trusted and comprehensive collection of curated small molecule crystal structure data.", + "official": true, + "providerCode": "ccdc", + "sampleId": "1829126", + "resourceHomeUrl": "https://www.ccdc.cam.ac.uk/", + "institution": { + "id": 2664, + "name": "Cambridge Crystallographic Data Centre", + "homeUrl": "https://www.ccdc.cam.ac.uk/", + "description": "The Cambridge Crystallographic Data Centre (CCDC) is dedicated to the advancement of chemistry and crystallography through the provision of high quality scientific data services and software. It compiles and disseminates the Cambridge Structural Database, a trusted and comprehensive collection of curated small molecule crystal structure data.", + "rorId": "https://ror.org/00zbfm828", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1829126", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2668, + "prefix": "csd", + "mirId": "MIR:00000820", + "name": "Cambridge Structural Database", + "pattern": "^[A-Z]{6}(\\d{2})?$", + "description": "The Cambridge Stuctural Database (CSD) is the world's most comprehensive collection of small-molecule crystal structures. Entries curated into the CSD are identified by a CSD Refcode.", + "created": "2021-05-30T10:06:48.264+00:00", + "modified": "2021-05-30T10:06:48.264+00:00", + "resources": [ + { + "id": 2669, + "mirId": "MIR:00000819", + "urlPattern": "https://www.ccdc.cam.ac.uk/services/structures?pid=csd:{$id}&sid=IDORG", + "name": "Cambridge Crystallographic Data Centre", + "description": "The Cambridge Crystallographic Data Centre (CCDC) is dedicated to the advancement of chemistry and crystallography through the provision of high quality scientific data services and software. It compiles and disseminates the Cambridge Structural Database, a trusted and comprehensive collection of curated small molecule crystal structure data.", + "official": true, + "providerCode": "csd", + "sampleId": "PELNAW", + "resourceHomeUrl": "https://www.ccdc.cam.ac.uk/", + "institution": { + "id": 2664, + "name": "Cambridge Crystallographic Data Centre", + "homeUrl": "https://www.ccdc.cam.ac.uk/", + "description": "The Cambridge Crystallographic Data Centre (CCDC) is dedicated to the advancement of chemistry and crystallography through the provision of high quality scientific data services and software. It compiles and disseminates the Cambridge Structural Database, a trusted and comprehensive collection of curated small molecule crystal structure data.", + "rorId": "https://ror.org/00zbfm828", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "PELNAW", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2677, + "prefix": "geogeo", + "mirId": "MIR:00000824", + "name": "Geographical Entity Ontology", + "pattern": "^GEO_[0-9]{9}$", + "description": "An ontology and inventory of geopolitical entities such as nations and their components (states, provinces, districts, counties) and the actual physical territories over which they have jurisdiction. We thus distinguish and assign different identifiers to the US in \"The US declared war on Germany\" vs. the US in \"The plane entered US airspace\".", + "created": "2021-05-30T10:17:36.624+00:00", + "modified": "2021-05-30T10:17:36.624+00:00", + "resources": [ + { + "id": 2678, + "mirId": "MIR:00000821", + "urlPattern": "http://purl.obolibrary.org/obo/{$id}", + "name": "University of Florida Biomedical Informatics Program", + "description": "The biomedical informatics program at the University of Florida, hosted by both the UF Clinical and Translational Science Institute and the Department of Health Outcomes & Biomedical Informatics", + "official": true, + "providerCode": "obo", + "sampleId": "GEO_000000021", + "resourceHomeUrl": "https://github.com/ufbmi", + "institution": { + "id": 2676, + "name": "University of Florida Biomedical Informatics Program", + "homeUrl": "https://hobi.med.ufl.edu/research-2/biomedical-informatics-3/", + "description": "The biomedical informatics program at the University of Florida, hosted by both the UF Clinical and Translational Science Institute and the Department of Health Outcomes & Biomedical Informatics", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "GEO_000000021", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 278, + "prefix": "rhea", + "mirId": "MIR:00000082", + "name": "Rhea", + "pattern": "^\\d{5}$", + "description": " Rhea is an expert-curated knowledgebase of chemical and transport reactions of biological interest. Enzyme-catalyzed and spontaneously occurring reactions are curated from peer-reviewed literature and represented in a computationally tractable manner by using the ChEBI (Chemical Entities of Biological Interest) ontology to describe reaction participants.\n\nRhea covers the reactions described by the IUBMB Enzyme Nomenclature as well as many additional reactions and can be used for enzyme annotation, genome-scale metabolic modeling and omics-related analyses. Rhea is the standard for enzyme and transporter annotation in UniProtKB.", + "created": "2019-06-11T14:15:55.126+00:00", + "modified": "2021-05-30T10:38:10.762+00:00", + "resources": [ + { + "id": 280, + "mirId": "MIR:00100113", + "urlPattern": "https://registry.identifiers.org/deprecation/resources/MIR:00100113/{$id}", + "name": "Rhea", + "description": "Rhea", + "official": true, + "providerCode": "CURATOR_REVIEW", + "sampleId": "10040", + "resourceHomeUrl": "https://www.rhea-db.org/", + "institution": { + "id": 279, + "name": "European Bioinformatics Institute and Swiss Institute of Bioinformatics", + "homeUrl": "CURATOR_REVIEW", + "description": "CURATOR_REVIEW", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": true, + "deprecationDate": "2021-05-30T10:47:40.110+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 2683, + "mirId": "MIR:00000827", + "urlPattern": "https://www.rhea-db.org/rhea/{$id}", + "name": "SIB Swiss Institute of Bioinformatics", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "official": false, + "providerCode": "sib", + "sampleId": "10040", + "resourceHomeUrl": "https://www.rhea-db.org/", + "institution": { + "id": 1730, + "name": "SIB Swiss Institute of Bioinformatics", + "homeUrl": "https://www.sib.swiss", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "rorId": "https://ror.org/002n09z45", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "12345", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2720, + "prefix": "corrdb", + "mirId": "MIR:00000831", + "name": "CorrDB", + "pattern": "^[0-9]+$", + "description": "A genetic correlation is the proportion of shared variance between two traits that is due to genetic causes; a phenotypic correlation is the degree to which two traits co-vary among individuals in a population. In the genomics era, while gene expression, genetic association, and network analysis provide unprecedented means to decode the genetic basis of complex phenotypes, it is important to recognize the possible effects genetic progress in one trait can have on other traits. This database is designed to collect all published livestock genetic/phenotypic trait correlation data, aimed at facilitating genetic network analysis or systems biology studies.", + "created": "2021-07-06T14:35:18.469+00:00", + "modified": "2021-07-06T14:35:18.469+00:00", + "resources": [ + { + "id": 2721, + "mirId": "MIR:00000825", + "urlPattern": "https://www.animalgenome.org/CorrDB/q/?id=CorrID:{$id}", + "name": "USA National Animal Genome Research Program", + "description": "National Animal Genome Research Program, NAGRP Bioinformatics Coordination Project, supported by funding from the USDA-NRI (former CSREES), USA", + "official": true, + "providerCode": "CorrDB", + "sampleId": "37232", + "resourceHomeUrl": "https://www.animalgenome.org", + "institution": { + "id": 2558, + "name": "Iowa State University", + "homeUrl": "https://www.iastate.edu/", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/04rswrd78' with Wikidata IDs [Q1136919], and ISNI IDs [0000 0004 1936 7312]", + "rorId": "https://ror.org/04rswrd78", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "37232", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2714, + "prefix": "glyconavi", + "mirId": "MIR:00000830", + "name": "GlycoNAVI", + "pattern": "^GN_[A-Za-z]*[_]*[A-Za-z0-9-:_]+$", + "description": "GlycoNAVI is a website for carbohydrate research. It consists of the \"GlycoNAVI Database\" that provides information such as existence ratios and names of glycans, 3D structures of glycans and complex glycoconjugates, and the \"GlycoNAVI tools\" such as editing of 2D structures of glycans, glycan structure viewers, and conversion tools.", + "created": "2021-06-28T19:11:39.342+00:00", + "modified": "2022-11-08T15:20:10.791+00:00", + "resources": [ + { + "id": 2715, + "mirId": "MIR:00000822", + "urlPattern": "https://glyconavi.org/hub/?id={$id}", + "name": "The Noguchi Institute", + "description": "The Noguchi Institute is a research institute licensed as a public interest incorporated foundation. It conducts research and education related to glycans.", + "official": true, + "providerCode": "glyconavi", + "sampleId": "GN_G03681DA", + "resourceHomeUrl": "https://www.noguchi.or.jp/", + "institution": { + "id": 2713, + "name": "The Noguchi Institute", + "homeUrl": "https://www.noguchi.or.jp/", + "description": "The Noguchi Institute is a research institute licensed as a public interest incorporated foundation. It conducts research and education related to glycans.", + "rorId": "https://ror.org/02vg5vv12", + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "GN_GlyTouCan_G03681DA", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2746, + "prefix": "4dn", + "mirId": "MIR:00000833", + "name": "4D Nucleome", + "pattern": "^4DN[A-Z]{2}[A-Z0-9]{7}$", + "description": "The 4D Nucleome Data Portal hosts data generated by the 4DN Network and other reference nucleomics data sets. The 4D Nucleome Network aims to understand the principles underlying nuclear organization in space and time, the role nuclear organization plays in gene expression and cellular function, and how changes in nuclear organization affect normal development as well as various diseases.", + "created": "2021-08-05T19:25:24.806+00:00", + "modified": "2021-08-05T19:25:24.806+00:00", + "resources": [ + { + "id": 2747, + "mirId": "MIR:00000832", + "urlPattern": "https://data.4dnucleome.org/{$id}", + "name": "4DN-DCIC (4D Nucleome Data Coordination and Integration Center)", + "description": "4D Nucleome Data Coordination and Integration Center at the Department of Biomedical Informatics, Harvard Medical School", + "official": true, + "providerCode": "4dn", + "sampleId": "4DNES265ETYQ", + "resourceHomeUrl": "https://data.4dnucleome.org/", + "institution": { + "id": 2745, + "name": "Harvard Medical School", + "homeUrl": "https://hms.harvard.edu/", + "description": "Since the School was established in 1782, faculty members have improved human health by innovating in their roles as physicians, mentors and scholars. They\u2019ve piloted educational models, developed new curricula to address emerging needs in health care, and produced thousands of leaders and compassionate caregivers who are shaping the fields of science and medicine throughout the world with their expertise and passion.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "4DNES265ETYQ", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2751, + "prefix": "civic.aid", + "mirId": "MIR:00000835", + "name": "CIViC Assertion", + "pattern": "^[0-9]+$", + "description": "A CIViC assertion classifies the clinical significance of a variant-disease relationship under recognized guidelines. The CIViC Assertion (AID) summarizes a collection of Evidence Items (EIDs) that covers predictive/therapeutic, diagnostic, prognostic or predisposing clinical information for a variant in a specific cancer context. CIViC currently has two main types of Assertions: those based on variants of primarily somatic origin (predictive/therapeutic, prognostic, and diagnostic) and those based on variants of primarily germline origin (predisposing). When the number and quality of Predictive, Prognostic, Diagnostic or Predisposing Evidence Items (EIDs) in CIViC sufficiently cover what is known for a particular variant and cancer type, then a corresponding assertion be created in CIViC.", + "created": "2021-08-05T19:47:08.870+00:00", + "modified": "2021-08-05T19:47:08.870+00:00", + "resources": [ + { + "id": 2752, + "mirId": "MIR:00000834", + "urlPattern": "https://civicdb.org/links/assertions/{$id}", + "name": "Clinical Interpretation of Variants in Cancer (CIViC)", + "description": "CIViC is an open access, open source, community-driven web resource for Clinical Interpretation of Variants in Cancer.", + "official": true, + "providerCode": "civicdb", + "sampleId": "3", + "resourceHomeUrl": "https://civicdb.org/", + "institution": { + "id": 2750, + "name": "Washington University in St. Louis", + "homeUrl": "https://wustl.edu/", + "description": "Washington University in St. Louis is a place where people matter and serious work is done. Our mission is to discover and disseminate knowledge, and to protect the freedom of inquiry through research, teaching and learning.", + "rorId": "https://ror.org/01yc7t268", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "3", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2756, + "prefix": "nmdc", + "mirId": "MIR:00000837", + "name": "National Microbiome Data Collaborative", + "pattern": "^[A-Za-z0-9._~\\-\\:]+$", + "description": "The National Microbiome Data Collaborative (NMDC) is an initiative to empower the research community to harness microbiome data exploration and discovery through a collaborative integrative data science ecosystem.", + "created": "2021-08-05T19:51:36.087+00:00", + "modified": "2021-08-05T19:51:36.087+00:00", + "resources": [ + { + "id": 2757, + "mirId": "MIR:00000836", + "urlPattern": "https://w3id.org/nmdc/{$id}", + "name": "Lawrence Berkeley National Laboratory", + "description": "A federally funded research and development centre in the hills of Berkeley, California, United States. Established in 1931 by the University of California (UC), the laboratory is sponsored by the United States Department of Energy and administered by the UC system.", + "official": true, + "providerCode": "nmdc", + "sampleId": "6m4e-1vbv-03", + "resourceHomeUrl": "http://www.lbl.gov/", + "institution": { + "id": 2755, + "name": "Lawrence Berkeley National Laboratory", + "homeUrl": "http://www.lbl.gov/", + "description": "Lawrence Berkeley National Laboratory is advancing the scope of human knowledge & seeking science solutions to the greatest problems facing humankind.", + "rorId": "https://ror.org/02jbv0t02", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "6m4e-1vbv-03", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2784, + "prefix": "civic.eid", + "mirId": "MIR:00000839", + "name": "CIViC Evidence", + "pattern": "^[0-9]+$", + "description": "Evidence Items are the central building block of the Clinical Interpretation of Variants in Cancer (CIViC) knowledgebase. The clinical Evidence Item is a piece of information that has been manually curated from trustable medical literature about a Variant or genomic \u2018event\u2019 that has implications in cancer Predisposition, Diagnosis (aka molecular classification), Prognosis, Predictive response to therapy, Oncogenicity or protein Function. For example, an Evidence Item might describe a line of evidence supporting the notion that tumors with a somatic BRAF V600 mutation generally respond well to the drug dabrafenib. A Variant may be a single nucleotide substitution, a small insertion or deletion, an RNA gene fusion, a chromosomal rearrangement, an RNA expression pattern (e.g. over-expression), etc. Each clinical Evidence statement corresponds to a single citable Source (a publication or conference abstract).", + "created": "2021-08-08T09:28:56.816+00:00", + "modified": "2021-08-08T09:28:56.816+00:00", + "resources": [ + { + "id": 2785, + "mirId": "MIR:00000838", + "urlPattern": "https://civicdb.org/links/evidence/{$id}", + "name": "Clinical Interpretation of Variants in Cancer (CIViC)", + "description": "CIViC is an open access, open source, community-driven web resource for Clinical Interpretation of Variants in Cancer.", + "official": true, + "providerCode": "civicdb", + "sampleId": "1199", + "resourceHomeUrl": "https://civicdb.org/", + "institution": { + "id": 2750, + "name": "Washington University in St. Louis", + "homeUrl": "https://wustl.edu/", + "description": "Washington University in St. Louis is a place where people matter and serious work is done. Our mission is to discover and disseminate knowledge, and to protect the freedom of inquiry through research, teaching and learning.", + "rorId": "https://ror.org/01yc7t268", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1199", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2800, + "prefix": "funderregistry", + "mirId": "MIR:00000847", + "name": "FunderRegistry", + "pattern": "^\\d{9,9}$", + "description": "The Funder Registry is an open registry of persistent identifiers for grant-giving organizations around the world.", + "created": "2021-08-08T09:41:19.080+00:00", + "modified": "2021-08-08T09:41:19.080+00:00", + "resources": [ + { + "id": 2801, + "mirId": "MIR:00000846", + "urlPattern": "http://data.crossref.org/fundingdata/funder/10.13039/{$id}", + "name": "Crossref", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/02twcfp32' with Wikidata IDs [Q5188229], and ISNI IDs [0000 0004 0506 2673]", + "official": true, + "providerCode": "crossref", + "sampleId": "100000001", + "resourceHomeUrl": "https://www.crossref.org/", + "institution": { + "id": 2799, + "name": "Crossref", + "homeUrl": "https://www.crossref.org/", + "description": "We envision a rich and reusable open network of relationships connecting research organizations, people, things, and actions; a scholarly record that the global community can build on forever, for the benefit of society.", + "rorId": "https://ror.org/02twcfp32", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "100000001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2804, + "prefix": "linguist", + "mirId": "MIR:00000849", + "name": "Linguist", + "pattern": "^[a-zA-Z0-9 +#'*]+$", + "description": "Registry of programming languages for the Linguist program for detecting and highlighting programming languages.", + "created": "2021-08-08T09:42:52.720+00:00", + "modified": "2021-08-08T09:42:52.720+00:00", + "resources": [ + { + "id": 2805, + "mirId": "MIR:00000848", + "urlPattern": "https://raw.githubusercontent.com/github/linguist/master/lib/linguist/languages.yml#{$id}", + "name": "GitHub, Inc.", + "description": "GitHub, Inc. is a provider of Internet hosting for software development and version control using Git.", + "official": true, + "providerCode": "github", + "sampleId": "Python", + "resourceHomeUrl": "https://github.com/", + "institution": { + "id": 2803, + "name": "GitHub, Inc.", + "homeUrl": "https://github.com/", + "description": "GitHub, Inc. is a provider of Internet hosting for software development and version control using Git.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Python", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2807, + "prefix": "sio", + "mirId": "MIR:00000851", + "name": "Semanticscience Integrated Ontology", + "pattern": "^SIO_\\d{6,6}$", + "description": "The semanticscience integrated ontology (SIO) provides a simple, integrated upper level ontology (types, relations) for consistent knowledge representation across physical, processual and informational entities.", + "created": "2021-08-08T09:47:01.408+00:00", + "modified": "2021-08-08T09:47:01.408+00:00", + "resources": [ + { + "id": 2808, + "mirId": "MIR:00000850", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/sio/terms?short_form={$id}", + "name": "European Bioinformatics Institute", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "official": true, + "providerCode": "ols", + "sampleId": "SIO_000276", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/sio", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "SIO_000276", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2810, + "prefix": "github", + "mirId": "MIR:00000853", + "name": "github", + "pattern": "^[a-zA-Z0-9-_]+/[a-zA-Z0-9-_]+$", + "description": "GitHub is an online host of Git source code repositories.", + "created": "2021-08-08T09:49:13.100+00:00", + "modified": "2021-08-08T09:49:13.100+00:00", + "resources": [ + { + "id": 2811, + "mirId": "MIR:00000852", + "urlPattern": "https://github.com/{$id}", + "name": "GitHub, Inc.", + "description": "GitHub, Inc. is a provider of Internet hosting for software development and version control using Git.", + "official": true, + "providerCode": "github", + "sampleId": "identifiers-org/registry", + "resourceHomeUrl": "https://github.com/", + "institution": { + "id": 2803, + "name": "GitHub, Inc.", + "homeUrl": "https://github.com/", + "description": "GitHub, Inc. is a provider of Internet hosting for software development and version control using Git.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "identifiers-org/registry", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2813, + "prefix": "datanator.reaction", + "mirId": "MIR:00000855", + "name": "Datanator Reaction", + "pattern": "^.*?--%3E.*?$", + "description": "\tDatanator is an integrated database of genomic and biochemical data designed to help investigators find data about specific molecules and reactions in specific organisms and specific environments for meta-analyses and mechanistic models. Datanator currently includes metabolite concentrations, RNA modifications and half-lives, protein abundances and modifications, and reaction kinetics integrated from several databases and numerous publications. The Datanator website and REST API provide tools for extracting clouds of data about specific molecules and reactions in specific organisms and specific environments, as well as data about similar molecules and reactions in taxonomically similar organisms.", + "created": "2021-08-08T09:56:43.759+00:00", + "modified": "2021-08-08T13:31:35.848+00:00", + "resources": [ + { + "id": 2814, + "mirId": "MIR:00000854", + "urlPattern": "https://datanator.info/reaction/{$id}", + "name": "Icahn School of Medicine at Mount Sinai", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/04a9tmd77' with Wikidata IDs [Q1950740], and ISNI IDs [0000 0001 0670 2351]", + "official": true, + "providerCode": "datanator.reaction", + "sampleId": "XLYOFNOQVPJJNP-UHFFFAOYSA-N,NBSCHQHZLSJFNQ-GASJEMHNSA-N--%3ENBIIXXVUZAFLBC-UHFFFAOYSA-N,WQZGKKKJIJFFOK-GASJEMHNSA-N", + "resourceHomeUrl": "https://icahn.mssm.edu/", + "institution": { + "id": 2247, + "name": "Icahn School of Medicine at Mount Sinai", + "homeUrl": "https://icahn.mssm.edu/", + "description": "The Icahn School of Medicine at Mount Sinai is an international leader in medical and scientific training, biomedical research, and patient care. It is the medical school for the Mount Sinai Health System, which includes eight hospital campuses, and has more than 5,000 faculty and nearly 2,000 students, residents and fellows.", + "rorId": "https://ror.org/04a9tmd77", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "XLYOFNOQVPJJNP-UHFFFAOYSA-N,NBSCHQHZLSJFNQ-GASJEMHNSA-N--%3ENBIIXXVUZAFLBC-UHFFFAOYSA-N,WQZGKKKJIJFFOK-GASJEMHNSA-N", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2844, + "prefix": "identifiers.namespace", + "mirId": "MIR:00000859", + "name": "Identifiers.org namespace", + "pattern": "^[a-z_\\.]+$", + "description": "Identifiers.org is an established resolving system that enables the referencing of data for the scientific community, with a current focus on the Life Sciences domain.", + "created": "2021-09-05T17:52:59.264+00:00", + "modified": "2021-09-05T17:52:59.264+00:00", + "resources": [ + { + "id": 2845, + "mirId": "MIR:00000858", + "urlPattern": "https://registry.identifiers.org/registry/{$id}", + "name": "European Bioinformatics Institute", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "official": true, + "providerCode": "ebi", + "sampleId": "pubmed", + "resourceHomeUrl": "https://www.ebi.ac.uk", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "pubmed", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2821, + "prefix": "dg.4dfc", + "mirId": "MIR:00000857", + "name": "NCI Data Commons Framework Services", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "DRS server that follows the Gen3 implementation. Gen3 is a GA4GH compliant open source platform for developing framework services and data commons. Data commons accelerate and democratize the process of scientific discovery, especially over large or complex datasets. Gen3 is maintained by the Center for Translational Data Science at the University of Chicago. https://gen3.org", + "created": "2021-08-09T15:20:17.184+00:00", + "modified": "2021-08-09T15:20:17.184+00:00", + "resources": [ + { + "id": 2822, + "mirId": "MIR:00000856", + "urlPattern": "https://nci-crdc.datacommons.io/ga4gh/drs/v1/objects/{$id}", + "name": "NCI Data Commons Framework Services", + "description": "DRS server that follows the Gen3 implementation. Gen3 is a GA4GH compliant open source platform for developing framework services and data commons. Data commons accelerate and democratize the process of scientific discovery, especially over large or complex datasets. Gen3 is maintained by the Center for Translational Data Science at the University of Chicago. https://gen3.org", + "official": true, + "providerCode": "dg.4dfc", + "sampleId": "81944ba1-81d0-436e-8552-33d77a27834b", + "resourceHomeUrl": "https://nci-crdc.datacommons.io/", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "81944ba1-81d0-436e-8552-33d77a27834b", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2848, + "prefix": "re3data", + "mirId": "MIR:00000861", + "name": "re3data", + "pattern": "^r3d\\d{9,9}$", + "description": "Re3data is a global registry of research data repositories that covers research data repositories from different academic disciplines.", + "created": "2021-09-05T17:53:47.458+00:00", + "modified": "2021-09-05T17:53:47.458+00:00", + "resources": [ + { + "id": 2849, + "mirId": "MIR:00000860", + "urlPattern": "https://www.re3data.org/repository/{$id}", + "name": "DataCite", + "description": "DataCite is a leading global non-profit organisation that provides persistent identifiers (DOIs) for research data and other research outputs.", + "official": true, + "providerCode": "datacite", + "sampleId": "r3d100010772", + "resourceHomeUrl": "https://datacite.org", + "institution": { + "id": 2847, + "name": "DataCite", + "homeUrl": "https://datacite.org", + "description": "DataCite is a leading global non-profit organisation that provides persistent identifiers (DOIs) for research data and other research outputs.", + "rorId": "https://ror.org/04wxnsj81", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "r3d100010772", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2852, + "prefix": "pypi", + "mirId": "MIR:00000863", + "name": "PyPI", + "pattern": "^[a-zA-Z_][a-zA-Z0-9\\-_]+$", + "description": "The Python Package Index (PyPI) is a repository for Python packages.", + "created": "2021-09-05T17:54:24.640+00:00", + "modified": "2021-09-05T17:54:24.640+00:00", + "resources": [ + { + "id": 2853, + "mirId": "MIR:00000862", + "urlPattern": "https://pypi.org/project/{$id}/", + "name": "Python Software Foundation", + "description": "The Python Software Foundation (PSF) is a 501(c)(3) non-profit corporation that holds the intellectual property rights behind the Python programming language.", + "official": true, + "providerCode": "psf", + "sampleId": "numpy", + "resourceHomeUrl": "https://www.python.org/psf/", + "institution": { + "id": 2851, + "name": "Python Software Foundation", + "homeUrl": "https://www.python.org/psf/", + "description": "The Python Software Foundation (PSF) is a 501(c)(3) non-profit corporation that holds the intellectual property rights behind the Python programming language.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "numpy", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2857, + "prefix": "iedb", + "mirId": "MIR:00000865", + "name": "Immune Epitope Database (IEDB)", + "pattern": "^[0-9]+$", + "description": "The Immune Epitope Database (IEDB) is a freely available resource funded by NIAID. It catalogs experimental data on antibody and T cell epitopes studied in humans, non-human primates, and other animal species in the context of infectious disease, allergy, autoimmunity and transplantation. The IEDB also hosts tools to assist in the prediction and analysis of epitopes.", + "created": "2021-09-05T17:58:19.858+00:00", + "modified": "2021-09-05T17:58:19.858+00:00", + "resources": [ + { + "id": 2858, + "mirId": "MIR:00000864", + "urlPattern": "https://www.iedb.org/reference/{$id}", + "name": "La Jolla Institute for Immunology", + "description": "La Jolla Institute for Immunology is a non-profit\nresearch organization located in La Jolla, California. The Institute\nresearches immunology and immune system diseases. The institute was\nfounded in 1988. La Jolla Institute for Immunology is a collaborative\nresearch organization that has forged many partnerships within the\nresearch community in San Diego, across the United States, and abroad.", + "official": true, + "providerCode": "lji", + "sampleId": "1038233", + "resourceHomeUrl": "https://www.lji.org/", + "institution": { + "id": 2856, + "name": "La Jolla Institute for Immunology", + "homeUrl": "https://www.lji.org/", + "description": "La Jolla Institute for Immunology is a non-profit\nresearch organization located in La Jolla, California. The Institute\nresearches immunology and immune system diseases. The institute was\nfounded in 1988. La Jolla Institute for Immunology is a collaborative\nresearch organization that has forged many partnerships within the\nresearch community in San Diego, across the United States, and abroad.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1038233", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2862, + "prefix": "lgai.cede", + "mirId": "MIR:00000867", + "name": "LG Chemical Entity Detection Dataset (LGCEDe)", + "pattern": "^LGCEDe-S-\\d{9}$", + "description": "LG Chemical Entity Detection Dataset (LGCEDe) is only available open-dataset with molecular instance level annotations (i.e. atom-bond level position annotations within an image) for molecular structure images. This dataset was designed to encourage research on detection-based pipelines for Optical Chemical Structure Recognition (OCSR).", + "created": "2021-09-05T18:01:14.906+00:00", + "modified": "2021-09-05T18:01:14.906+00:00", + "resources": [ + { + "id": 2863, + "mirId": "MIR:00000866", + "urlPattern": "https://s3.us-east-2.amazonaws.com/lg.cede/{$id}", + "name": "LG AI Research", + "description": "LG AI Research is a subsidiary of the Korean Corporation LG. Mainly focuses on research related to Artificial Intelligence, Big data and data-driven applications to real-world problems.", + "official": true, + "providerCode": "lgai.cede", + "sampleId": "LGCEDe-S-000002244", + "resourceHomeUrl": "https://www.lgresearch.ai", + "institution": { + "id": 2861, + "name": "LG AI Research", + "homeUrl": "https://www.lgresearch.ai", + "description": "LG AI Research is a subsidiary of the Korean Corporation LG. Mainly focuses on research related to Artificial Intelligence, Big data and data-driven applications to real-world problems.", + "rorId": null, + "location": { + "countryCode": "KR", + "countryName": "Korea, Republic of" + } + }, + "location": { + "countryCode": "KR", + "countryName": "Korea, Republic of" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "LGCEDe-S-000002244", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2881, + "prefix": "dg.4503", + "mirId": "MIR:00000869", + "name": "BioData Catalyst", + "pattern": "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "Full implementation of the DRS 1.1 standard with support for persistent identifiers. Open source DRS server that follows the Gen3 implementation. Gen3 is a GA4GH compliant open source platform for developing framework services and data commons. Data commons accelerate and democratize the process of scientific discovery, especially over large or complex datasets. Gen3 is maintained by the Center for Translational Data Science at the University of Chicago. https://gen3.org", + "created": "2021-09-29T19:10:32.057+00:00", + "modified": "2021-09-29T19:10:32.057+00:00", + "resources": [ + { + "id": 2882, + "mirId": "MIR:00000868", + "urlPattern": "https://gen3.biodatacatalyst.nhlbi.nih.gov/ga4gh/drs/v1/objects/{$id}", + "name": "BioData Catalyst", + "description": "Full implementation of the DRS 1.1 standard with support for persistent identifiers. Open source DRS server that follows the Gen3 implementation. Gen3 is a GA4GH compliant open source platform for developing framework services and data commons. Data commons accelerate and democratize the process of scientific discovery, especially over large or complex datasets. Gen3 is maintained by the Center for Translational Data Science at the University of Chicago. https://gen3.org", + "official": true, + "providerCode": "dg.4503", + "sampleId": "0000ffeb-36e0-4a29-b21d-84423bda979d", + "resourceHomeUrl": "https://gen3.biodatacatalyst.nhlbi.nih.gov", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0000ffeb-36e0-4a29-b21d-84423bda979d", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2884, + "prefix": "dg.anv0", + "mirId": "MIR:00000871", + "name": "Anvil", + "pattern": "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}", + "description": "DRS server that follows the Gen3 implementation. Gen3 is a GA4GH compliant open source platform for developing framework services and data commons. Data commons accelerate and democratize the process of scientific discovery, especially over large or complex datasets. Gen3 is maintained by the Center for Translational Data Science at the University of Chicago. https://gen3.org", + "created": "2021-09-29T19:11:14.294+00:00", + "modified": "2021-09-29T19:11:14.294+00:00", + "resources": [ + { + "id": 2885, + "mirId": "MIR:00000870", + "urlPattern": "https://gen3.theanvil.io/ga4gh/drs/v1/objects/{$id}", + "name": "Anvil", + "description": "DRS server that follows the Gen3 implementation. Gen3 is a GA4GH compliant open source platform for developing framework services and data commons. Data commons accelerate and democratize the process of scientific discovery, especially over large or complex datasets. Gen3 is maintained by the Center for Translational Data Science at the University of Chicago. https://gen3.org", + "official": true, + "providerCode": "dg.anv0", + "sampleId": "00077f1c-c45a-47ba-8e6c-1bf6b6b43fce", + "resourceHomeUrl": "https://gen3.theanvil.io", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "00077f1c-c45a-47ba-8e6c-1bf6b6b43fce", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2892, + "prefix": "dg.6vts", + "mirId": "MIR:00000876", + "name": "JCOIN", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "Full implementation of the DRS 1.1 standard with support for persistent identifiers. Open source DRS server that follows the Gen3 implementation. Gen3 is a GA4GH compliant open source platform for developing framework services and data commons. Data commons accelerate and democratize the process of scientific discovery, especially over large or complex datasets. Gen3 is maintained by the Center for Translational Data Science at the University of Chicago. https://gen3.org", + "created": "2021-09-29T19:13:19.448+00:00", + "modified": "2021-09-29T19:13:19.448+00:00", + "resources": [ + { + "id": 2893, + "mirId": "MIR:00000875", + "urlPattern": "https://jcoin.datacommons.io/ga4gh/drs/v1/objects/{$id}", + "name": "JCOIN", + "description": "Full implementation of the DRS 1.1 standard with support for persistent identifiers. Open source DRS server that follows the Gen3 implementation. Gen3 is a GA4GH compliant open source platform for developing framework services and data commons. Data commons accelerate and democratize the process of scientific discovery, especially over large or complex datasets. Gen3 is maintained by the Center for Translational Data Science at the University of Chicago. https://gen3.org", + "official": true, + "providerCode": "dg.6vts", + "sampleId": "2afacf00-9a1d-4d80-8c32-69d3923d3913", + "resourceHomeUrl": "https://jcoin.datacommons.io", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2afacf00-9a1d-4d80-8c32-69d3923d3913", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2896, + "prefix": "uniref", + "mirId": "MIR:00000878", + "name": "UniRef", + "pattern": "^UniRef(100|90|50)_([OPQ][0-9][A-Z0-9]{3}[0-9]|[A-NR-Z][0-9]([A-Z][A-Z0-9]{2}[0-9]){1,2}|UPI[A-F0-9]{10})$", + "description": "The UniProt Reference Clusters (UniRef) provide clustered sets of sequences from the UniProt Knowledgebase (including isoforms) and selected UniParc records in order to obtain complete coverage of the sequence space at several resolutions while hiding redundant sequences (but not their descriptions) from view.", + "created": "2021-09-29T19:13:56.614+00:00", + "modified": "2021-09-29T19:13:56.614+00:00", + "resources": [ + { + "id": 2897, + "mirId": "MIR:00000877", + "urlPattern": "https://www.uniprot.org/uniref/{$id}", + "name": "UniProt Consortium", + "description": "UniProt is a collaboration between the European Bioinformatics Institute (EMBL-EBI), the SIB Swiss Institute of Bioinformatics and the Protein Information Resource (PIR)", + "official": true, + "providerCode": "uniref", + "sampleId": "UniRef90_P00750", + "resourceHomeUrl": "https://www.uniprot.org/", + "institution": { + "id": 24, + "name": "UniProt Consortium", + "homeUrl": "https://www.uniprot.org", + "description": "The Universal Protein Resource (UniProt) is a comprehensive resource for protein sequence and annotation data. The UniProt databases are the UniProt Knowledgebase (UniProtKB), the UniProt Reference Clusters (UniRef), and the UniProt Archive (UniParc). The UniProt consortium and host institutions EMBL-EBI, SIB and PIR are committed to the long-term preservation of the UniProt databases.", + "rorId": null, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "UniRef90_P00750", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2903, + "prefix": "biosimulations", + "mirId": "MIR:00000880", + "name": "biosimulations", + "pattern": "^[a-zA-Z0-9_-]{3,}$", + "description": "BioSimulations is an open repository of simulation projects, including simulation experiments, their results, and data visualizations of their results. BioSimulations supports a broad range of model languages, modeling frameworks, simulation algorithms, and simulation software tools.", + "created": "2021-10-11T12:50:59.916+00:00", + "modified": "2021-10-11T12:50:59.916+00:00", + "resources": [ + { + "id": 2904, + "mirId": "MIR:00000879", + "urlPattern": "https://biosimulations.org/projects/{$id}", + "name": "Icahn School of Medicine at Mount Sinai", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/04a9tmd77' with Wikidata IDs [Q1950740], and ISNI IDs [0000 0001 0670 2351]", + "official": true, + "providerCode": "icahn", + "sampleId": "Yeast-cell-cycle-Irons-J-Theor-Biol-2009", + "resourceHomeUrl": "https://icahn.mssm.edu/", + "institution": { + "id": 2247, + "name": "Icahn School of Medicine at Mount Sinai", + "homeUrl": "https://icahn.mssm.edu/", + "description": "The Icahn School of Medicine at Mount Sinai is an international leader in medical and scientific training, biomedical research, and patient care. It is the medical school for the Mount Sinai Health System, which includes eight hospital campuses, and has more than 5,000 faculty and nearly 2,000 students, residents and fellows.", + "rorId": "https://ror.org/04a9tmd77", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "Yeast-cell-cycle-Irons-J-Theor-Biol-2009", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2929, + "prefix": "assembly", + "mirId": "MIR:00000884", + "name": "Assembly", + "pattern": "^[a-zA-Z0-9_\\.]+$", + "description": "A database providing information on the structure of assembled genomes, assembly names and other meta-data, statistical reports, and links to genomic sequence data.", + "created": "2021-10-17T10:22:37.356+00:00", + "modified": "2021-10-17T10:22:37.356+00:00", + "resources": [ + { + "id": 2930, + "mirId": "MIR:00000883", + "urlPattern": "https://www.ncbi.nlm.nih.gov/datasets/genome/{$id}", + "name": "National Center for Biotechnology Information", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "official": true, + "providerCode": "ncbi", + "sampleId": "GCF_000005845.2", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "GCF_000005845.2", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2926, + "prefix": "nucleotide", + "mirId": "MIR:00000882", + "name": "Nucleotide", + "pattern": "^[a-zA-Z0-9_\\.]+$", + "description": "The Nucleotide database is a collection of sequences from several sources, including GenBank, RefSeq, TPA and PDB. Genome, gene and transcript sequence data provide the foundation for biomedical research and discovery.", + "created": "2021-10-17T10:21:25.826+00:00", + "modified": "2021-10-17T10:24:40.143+00:00", + "resources": [ + { + "id": 2927, + "mirId": "MIR:00000881", + "urlPattern": "https://www.ncbi.nlm.nih.gov/nuccore/{$id}", + "name": "National Center for Biotechnology Information", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "official": true, + "providerCode": "ncbi", + "sampleId": "880798137", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "880798137", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2969, + "prefix": "dg.f82a1a", + "mirId": "MIR:00000887", + "name": "Kids First", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "Full implementation of the DRS 1.1 standard with support for persistent identifiers. Open source DRS server that follows the Gen3 implementation. Gen3 is a GA4GH compliant open source platform for developing framework services and data commons. Data commons accelerate and democratize the process of scientific discovery, especially over large or complex datasets. Gen3 is maintained by the Center for Translational Data Science at the University of Chicago. https://gen3.org", + "created": "2021-11-01T17:49:13.981+00:00", + "modified": "2021-11-01T17:49:13.981+00:00", + "resources": [ + { + "id": 2970, + "mirId": "MIR:00000886", + "urlPattern": "https://data.kidsfirstdrc.org/ga4gh/drs/v1/objects/{$id}", + "name": "Kids First", + "description": "Full implementation of the DRS 1.1 standard with support for persistent identifiers. Open source DRS server that follows the Gen3 implementation. Gen3 is a GA4GH compliant open source platform for developing framework services and data commons. Data commons accelerate and democratize the process of scientific discovery, especially over large or complex datasets. Gen3 is maintained by the Center for Translational Data Science at the University of Chicago. https://gen3.org", + "official": true, + "providerCode": "dg.f82a1a", + "sampleId": "00026f50-858a-446b-8ed9-b0e3ecd7b20e", + "resourceHomeUrl": "https://kidsfirstdrc.org", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "00026f50-858a-446b-8ed9-b0e3ecd7b20e", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2986, + "prefix": "bbtp", + "mirId": "MIR:00000889", + "name": "Blue Brain Project Topological sampling Knowledge Graph", + "pattern": "\\b[0-9a-f]{8}\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\b[0-9a-f]{12}\\b", + "description": "Input data and analysis results for the paper \"Topology of synaptic connectivity constrains neuronal stimulus representation, predicting two complementary coding strategies (https://www.biorxiv.org/content/10.1101/2020.11.02.363929v2 ).", + "created": "2022-01-09T18:52:31.186+00:00", + "modified": "2022-01-09T18:52:31.186+00:00", + "resources": [ + { + "id": 2987, + "mirId": "MIR:00000888", + "urlPattern": "https://bbp.epfl.ch/nexus/web/studios/public/topological-sampling/studios/data:{$id}", + "name": "Blue Brain Project, EPFL", + "description": "The goal of the Blue Brain Project is to build biologically detailed digital reconstructions and simulations of the mouse brain.", + "official": true, + "providerCode": "bbp", + "sampleId": "f0ba2f3e-aa6f-4264-8d18-8ee65cf6f61a", + "resourceHomeUrl": "https://portal.bluebrain.epfl.ch", + "institution": { + "id": 2985, + "name": "Blue Brain Project, EPFL", + "homeUrl": "https://portal.bluebrain.epfl.ch", + "description": "The goal of the Blue Brain Project is to build biologically detailed digital reconstructions and simulations of the mouse brain.", + "rorId": null, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "f0ba2f3e-aa6f-4264-8d18-8ee65cf6f61a", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2991, + "prefix": "fcb", + "mirId": "MIR:00000891", + "name": "the FAIR Cookbook", + "pattern": "^FCB\\d{3}", + "description": "Created by researchers and data managers professionals, the FAIR Cookbook is an online resource for the Life Sciences with recipes that help you to make and keep data Findable, Accessible, Interoperable, and Reusable (FAIR).\n\n", + "created": "2022-01-09T18:54:14.401+00:00", + "modified": "2022-01-09T18:54:14.401+00:00", + "resources": [ + { + "id": 2992, + "mirId": "MIR:00000890", + "urlPattern": "https://w3id.org/faircookbook/{$id}", + "name": "Permanent Identifiers for the Web", + "description": "The purpose of this website is to provide a secure, permanent URL re-direction service for Web applications. This service is run by the W3C Permanent Identifier Community Group.\nWeb applications that deal with Linked Data often need to specify and use URLs that are very stable. They utilize services such as this one to ensure that applications using their URLs will always be re-directed to a working website. This website operates like a switchboard, connecting requests for information with the true location of the information on the Web. The switchboard can be reconfigured to point to a new location if the old location stops working.\n\n", + "official": true, + "providerCode": "fcb", + "sampleId": "FCB005", + "resourceHomeUrl": "https://w3id.org", + "institution": { + "id": 2990, + "name": "University of Oxford", + "homeUrl": "https://www.ox.ac.uk/", + "description": "Oxford is a world-leading centre of learning, teaching and research and the oldest university in the English-speaking world. Wikidata IDs [Q34433,Q5260389,Q56612600,Q7529574,Q6786826,Q1095537], and ISNI IDs [0000 0004 1936 8948]", + "rorId": "http://www.ox.ac.uk/", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "FCB005", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2999, + "prefix": "dg.5b0d", + "mirId": "MIR:00000895", + "name": "BloodPAC", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "The Blood Profiling Atlas in Cancer (BloodPAC) supports the management, analysis and sharing of liquid biopsy data for the oncology research community and aims to accelerate discovery and development of therapies, diagnostic tests, and other technologies for cancer treatment and prevention. The data commons supports cross-project analyses by harmonizing data from different projects through the collaborative development of a data dictionary, providing an API for data queries and download, and providing a cloud-based analysis workspace with rich tools and resources.", + "created": "2022-01-09T18:59:10.775+00:00", + "modified": "2022-01-09T18:59:10.775+00:00", + "resources": [ + { + "id": 3000, + "mirId": "MIR:00000894", + "urlPattern": "https://data.bloodpac.org/ga4gh/drs/v1/objects/{$id}", + "name": "BloodPAC", + "description": "The Blood Profiling Atlas in Cancer (BloodPAC) supports the management, analysis and sharing of liquid biopsy data for the oncology research community and aims to accelerate discovery and development of therapies, diagnostic tests, and other technologies for cancer treatment and prevention. The data commons supports cross-project analyses by harmonizing data from different projects through the collaborative development of a data dictionary, providing an API for data queries and download, and providing a cloud-based analysis workspace with rich tools and resources.", + "official": true, + "providerCode": "dg.5b0d", + "sampleId": "00000d53-99bc-4d3e-8ed7-6dc358baccb7", + "resourceHomeUrl": "https://data.bloodpac.org/.", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "00000d53-99bc-4d3e-8ed7-6dc358baccb7", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3009, + "prefix": "bitbucket", + "mirId": "MIR:00000899", + "name": "Bitbucket", + "pattern": "^[0-9A-Za-z-_\\.]+/[0-9A-Za-z-_\\.]+$", + "description": "Bitbucket is a Git-based source code repository hosting service owned by Atlassian.", + "created": "2022-01-09T19:35:12.259+00:00", + "modified": "2022-01-09T19:35:12.259+00:00", + "resources": [ + { + "id": 3010, + "mirId": "MIR:00000896", + "urlPattern": "https://bitbucket.org/{$id}", + "name": "Atlassian", + "description": "Atlassian Corporation Plc is an Australian software company that develops products for software developers, project managers and other software development teams.", + "official": true, + "providerCode": "atlassian", + "sampleId": "andreadega/systems-biology-compiler", + "resourceHomeUrl": "https://www.atlassian.com/", + "institution": { + "id": 3008, + "name": "Atlassian", + "homeUrl": "https://www.atlassian.com/", + "description": "Atlassian Corporation Plc is an Australian software company that develops products for software developers, project managers and other software development teams.", + "rorId": "https://ror.org/00y7n3708", + "location": { + "countryCode": "AU", + "countryName": "Australia" + } + }, + "location": { + "countryCode": "AU", + "countryName": "Australia" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "andreadega/systems-biology-compiler", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3020, + "prefix": "bbkg", + "mirId": "MIR:00000903", + "name": "Blue Brain Project Knowledge Graph", + "pattern": "^[-\\w]+(?:\\/[-\\w]+)(?:\\/\\b[0-9a-f]{8}\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\b[0-9a-f]{12}\\b)$", + "description": "Blue Brain Project's published data as knowledge graphs and Web Studios.", + "created": "2022-01-10T18:54:31.118+00:00", + "modified": "2022-01-10T18:54:31.118+00:00", + "resources": [ + { + "id": 3021, + "mirId": "MIR:00000902", + "urlPattern": "https://bbp.epfl.ch/nexus/web/studios/public/{$id}", + "name": "Blue Brain Project, EPFL", + "description": "The goal of the Blue Brain Project is to build biologically detailed digital reconstructions and simulations of the mouse brain.", + "official": true, + "providerCode": "bbkg", + "sampleId": "topological-sampling/studios/f0ba2f3e-aa6f-4264-8d18-8ee65cf6f61a", + "resourceHomeUrl": "https://portal.bluebrain.epfl.ch", + "institution": { + "id": 2985, + "name": "Blue Brain Project, EPFL", + "homeUrl": "https://portal.bluebrain.epfl.ch", + "description": "The goal of the Blue Brain Project is to build biologically detailed digital reconstructions and simulations of the mouse brain.", + "rorId": null, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "topological-sampling/studios/f0ba2f3e-aa6f-4264-8d18-8ee65cf6f61a", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3146, + "prefix": "dg.80b6", + "mirId": "MIR:00000919", + "name": "GenoMEL Data Commons", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "The GenoMEL data commons supports the management, analysis and sharing of next generation sequencing data for the GenoMEL research community and aims to accelerate opportunities for discovery of susceptibility genes for melanoma. The data commons supports cross-project analyses by harmonizing data from different projects through the development of a data dictionary and utilization of common workflows, providing an API for data queries, and providing a cloud-based analysis workspace with rich tools and resources.", + "created": "2022-02-27T20:31:14.555+00:00", + "modified": "2022-02-27T20:31:14.555+00:00", + "resources": [ + { + "id": 3147, + "mirId": "MIR:00000918", + "urlPattern": "https://genomel.bionimbus.org/ga4gh/drs/v1/objects/{$id}", + "name": "GenoMEL Data Commons", + "description": "The GenoMEL data commons supports the management, analysis and sharing of next generation sequencing data for the GenoMEL research community and aims to accelerate opportunities for discovery of susceptibility genes for melanoma. The data commons supports cross-project analyses by harmonizing data from different projects through the development of a data dictionary and utilization of common workflows, providing an API for data queries, and providing a cloud-based analysis workspace with rich tools and resources.", + "official": true, + "providerCode": "dg.80b6", + "sampleId": "000e5d06-1326-4b6f-8d8a-95c63374c7c1", + "resourceHomeUrl": "https://genomel.bionimbus.org/", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "000e5d06-1326-4b6f-8d8a-95c63374c7c1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3135, + "prefix": "dg.f738", + "mirId": "MIR:00000916", + "name": "Veterans Precision Oncology Data Commons", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "The Veterans Data Commons supports the management, analysis and sharing of veteran oncologic data for the research community and aims to accelerate the discovery and development of therapies, diagnostic tests, and other technologies for precision oncology.", + "created": "2022-02-27T20:29:04.474+00:00", + "modified": "2023-04-28T10:52:16.460+00:00", + "resources": [ + { + "id": 3136, + "mirId": "MIR:00001017", + "urlPattern": "https://vpodc.data-commons.org/ga4gh/drs/v1/objects/{$id}", + "name": "Veterans Precision Oncology Data Commons", + "description": "The Veterans Data Commons supports the management, analysis and sharing of veteran oncologic data for the research community and aims to accelerate discovery and development of therapies, diagnostic tests, and other technologies for precision oncology.", + "official": true, + "providerCode": "oc", + "sampleId": "000bf826-73ba-4685-aa6c-3e0971a2f260", + "resourceHomeUrl": "https://vpodc.data-commons.org/", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "000bf826-73ba-4685-aa6c-3e0971a2f260", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3036, + "prefix": "modeldb.concept", + "mirId": "MIR:00000905", + "name": "ModelDB concept", + "pattern": "\\d+", + "description": "Concept used by ModelDB, an accessible location for storing and efficiently retrieving computational neuroscience models.", + "created": "2022-01-29T10:45:35.629+00:00", + "modified": "2022-01-29T10:45:35.629+00:00", + "resources": [ + { + "id": 3037, + "mirId": "MIR:00000904", + "urlPattern": "https://senselab.med.yale.edu/ModelDB/ModelList?id={$id}", + "name": "Yale University", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/03v76x132' with Wikidata IDs [Q56612637,Q49112], and ISNI IDs [0000000419368710]", + "official": true, + "providerCode": "yale", + "sampleId": "3639", + "resourceHomeUrl": "https://www.yale.edu", + "institution": { + "id": 3035, + "name": "Yale University", + "homeUrl": "https://www.yale.edu", + "description": "Since its founding in 1701, Yale has been dedicated to expanding and sharing knowledge, inspiring innovation, and preserving cultural and scientific information for future generations.", + "rorId": "https://ror.org/03v76x132", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "3639", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3039, + "prefix": "civic.gid", + "mirId": "MIR:00000907", + "name": "CIViC Gene", + "pattern": "^[0-9]+$", + "description": "A CIViC Gene Summary is created to provide a high-level overview of clinical relevance of cancer variants for the gene. Gene Summaries in CIViC focus on emphasizing the clinical relevance from a molecular perspective rather than describing the biological function of the gene unless necessary to contextualize its clinical relevance in cancer. Gene Summaries include relevant cancer subtypes, specific treatments for the gene\u2019s associated variants, pathway interactions, functional alterations caused by the variants in the gene, and normal/abnormal functions of the gene with associated roles in oncogenesis", + "created": "2022-01-29T10:47:57.098+00:00", + "modified": "2022-01-29T10:47:57.098+00:00", + "resources": [ + { + "id": 3040, + "mirId": "MIR:00000906", + "urlPattern": "https://civicdb.org/links/gene/{$id}", + "name": "Clinical Interpretation of Variants in Cancer (CIViC)", + "description": "CIViC is an open access, open source, community-driven web resource for Clinical Interpretation of Variants in Cancer.", + "official": true, + "providerCode": "civicdb", + "sampleId": "272", + "resourceHomeUrl": "https://civicdb.org/", + "institution": { + "id": 2750, + "name": "Washington University in St. Louis", + "homeUrl": "https://wustl.edu/", + "description": "Washington University in St. Louis is a place where people matter and serious work is done. Our mission is to discover and disseminate knowledge, and to protect the freedom of inquiry through research, teaching and learning.", + "rorId": "https://ror.org/01yc7t268", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "272", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3042, + "prefix": "civic.vid", + "mirId": "MIR:00000909", + "name": "CIViC Variant", + "pattern": "^[0-9]+$", + "description": "CIViC variants are usually genomic alterations, including single nucleotide variants (SNVs), insertion/deletion events (indels), copy number alterations (CNV\u2019s such as amplification or deletion), structural variants (SVs such as translocations and inversions), and other events that differ from the \u201cnormal\u201d genome. In some cases a CIViC variant may represent events of the transcriptome or proteome. For example, \u2018expression\u2019 or \u2018over-expression\u2019 is a valid variant. Regardless of the variant, it must have a Predictive, Prognostic, Predisposing, Diagnostic, Oncogenic, or Functional relevance that is clinical in nature to be entered in CIViC. i.e. There must be some rationale for why curation of this variant could ultimately aid clinical decision making.", + "created": "2022-01-29T10:48:56.640+00:00", + "modified": "2022-01-29T10:48:56.640+00:00", + "resources": [ + { + "id": 3043, + "mirId": "MIR:00000908", + "urlPattern": "https://civicdb.org/links/variant/{$id}", + "name": "Clinical Interpretation of Variants in Cancer (CIViC)", + "description": "CIViC is an open access, open source, community-driven web resource for Clinical Interpretation of Variants in Cancer.", + "official": true, + "providerCode": "civicdb", + "sampleId": "12", + "resourceHomeUrl": "https://civicdb.org/", + "institution": { + "id": 2750, + "name": "Washington University in St. Louis", + "homeUrl": "https://wustl.edu/", + "description": "Washington University in St. Louis is a place where people matter and serious work is done. Our mission is to discover and disseminate knowledge, and to protect the freedom of inquiry through research, teaching and learning.", + "rorId": "https://ror.org/01yc7t268", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "12", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3013, + "prefix": "gitlab", + "mirId": "MIR:00000901", + "name": "GitLab", + "pattern": "^[0-9A-Za-z_][0-9A-Za-z-_()\\. ]*/[0-9A-Za-z_][0-9A-Za-z-_\\. ]*$", + "description": "GitLab is The DevOps platform that empowers organizations to maximize the overall return on software development by delivering software faster and efficiently, while strengthening security and compliance. With GitLab, every team in your organization can collaboratively plan, build, secure, and deploy software to drive business outcomes faster with complete transparency, consistency and traceability.", + "created": "2022-01-09T19:35:24.140+00:00", + "modified": "2022-01-29T17:48:48.838+00:00", + "resources": [ + { + "id": 3014, + "mirId": "MIR:00000900", + "urlPattern": "https://gitlab.com/{$id}", + "name": "GitLab B.V.", + "description": "GitLab is an open core company which develops software for the software development lifecycle with 30 million estimated registered users and more than 1 million active license users, and has an active community of more than 2,500 contributors.", + "official": true, + "providerCode": "gitlab", + "sampleId": "morpheus.lab/morpheus", + "resourceHomeUrl": "https://gitlab.com/", + "institution": { + "id": 3012, + "name": "GitLab B.V.", + "homeUrl": "https://gitlab.com/", + "description": "GitLab is an open core company which develops software for the software development lifecycle with 30 million estimated registered users and more than 1 million active license users, and has an active community of more than 2,500 contributors.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "morpheus.lab/morpheus", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3047, + "prefix": "rism", + "mirId": "MIR:00000911", + "name": "RISM Online", + "pattern": "^[a-z]+/[0-9]+$", + "description": "RISM Online is a new service that will publish the bibliographic and authority data from the catalogue of the R\u00e9pertoire International des Sources Musicales project.", + "created": "2022-01-29T10:51:36.384+00:00", + "modified": "2022-01-31T08:57:14.676+00:00", + "resources": [ + { + "id": 3048, + "mirId": "MIR:00000910", + "urlPattern": "https://rism.online/{$id}", + "name": "RISM Digital Center", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/01kk1vy78' with no Wikidata information, and no ISNI information", + "official": true, + "providerCode": "rism", + "sampleId": "people/11035", + "resourceHomeUrl": "https://rism.digital/", + "institution": { + "id": 3046, + "name": "RISM Digital Center", + "homeUrl": "https://rism.digital/", + "description": "The RISM Digital Center is part of the R\u00e9pertoire International des Sources Musicales (RISM), the international organisation founded in 1952 whose aim is to inventory music sources worldwide and make them accessible. The RISM network also comprises the RISM Editorial Center in Germany and working groups in over 30 countries. The RISM project is one of the most significant collaborative efforts in the humanities, but it also provides arguably one of the very few datasets worldwide that deserve the label of Big Data in musicology.", + "rorId": "https://ror.org/01kk1vy78", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "people/11035", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3067, + "prefix": "crop2ml", + "mirId": "MIR:00001015", + "name": "CropMRepository", + "pattern": "^[0-9]{9}$", + "description": "CropMRespository is a database of soil and crop biophysical process models.", + "created": "2022-02-01T17:20:51.953+00:00", + "modified": "2022-02-01T17:20:51.953+00:00", + "resources": [ + { + "id": 3068, + "mirId": "MIR:00001016", + "urlPattern": "http://www.crop2ml.org/cropmdb/{$id}", + "name": "Crop2ML model repository", + "description": "CropMRespository is a database of soil and crop biophysical process models.", + "official": true, + "providerCode": "cropmdb", + "sampleId": "000000001", + "resourceHomeUrl": "http://www.crop2ml.org", + "institution": { + "id": 2292, + "name": "National Research Institute for Agriculture, Food and Environment", + "homeUrl": "https://www.inrae.fr/", + "description": "INRAE is France's new National Research Institute for Agriculture, Food and Environment, created on January 1, 2020, It was formed by the merger of INRA, the National Institute for Agricultural Research, and IRSTEA, the National Research Institute of Science and Technology for the Environment and Agriculture.", + "rorId": "https://ror.org/003vg9w96", + "location": { + "countryCode": "FR", + "countryName": "France" + } + }, + "location": { + "countryCode": "FR", + "countryName": "France" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "000000001", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3139, + "prefix": "dg.nacd", + "mirId": "MIR:00000917", + "name": "https://accessclinicaldata.niaid.nih.gov/", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "AccessClinicalData@NIAID is a NIAID cloud-based, secure data platform that enables sharing of and access to reports and data sets from NIAID COVID-19 and other sponsored clinical trials for the basic and clinical research community.", + "created": "2022-02-27T20:30:23.278+00:00", + "modified": "2022-02-27T20:30:23.278+00:00", + "resources": [ + { + "id": 3140, + "mirId": "MIR:00000999", + "urlPattern": "https://accessclinicaldata.niaid.nih.gov/ga4gh/drs/v1/objects/{$id}", + "name": "https://accessclinicaldata.niaid.nih.gov/", + "description": "AccessClinicalData@NIAID is a NIAID cloud-based, secure data platform that enables sharing of and access to reports and data sets from NIAID COVID-19 and other sponsored clinical trials for the basic and clinical research community", + "official": true, + "providerCode": "dg.nacd", + "sampleId": "2096a0d6-1846-4b98-9ba3-e4065d82111d", + "resourceHomeUrl": "https://accessclinicaldata.niaid.nih.gov/", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "2096a0d6-1846-4b98-9ba3-e4065d82111d", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3149, + "prefix": "dg.ea80", + "mirId": "MIR:00001021", + "name": "NIDDK IBD Genetics Consortium Portal", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "The Inflammatory Bowel Disease Genetics Consortium Data Commons supports the management, analysis, and sharing of genetic data to support the vision and mission of the IBD genetics consortium.", + "created": "2022-02-27T20:31:33.330+00:00", + "modified": "2022-02-27T20:31:33.330+00:00", + "resources": [ + { + "id": 3150, + "mirId": "MIR:00000920", + "urlPattern": "https://ibdgc.datacommons.io/ga4gh/drs/v1/objects/{$id}", + "name": "NIDDK IBD Genetics Consortium Portal", + "description": "The Inflammatory Bowel Disease Genetics Consortium Data Commons supports the management, analysis, and sharing of genetic data to support the vision and mission of the IBD genetics consortium.", + "official": true, + "providerCode": "dg.EA80", + "sampleId": "00083977-d4d7-4593-a216-2b9c931b8b03", + "resourceHomeUrl": "https://ibdgc.datacommons.io/", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "00083977-d4d7-4593-a216-2b9c931b8b03", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3152, + "prefix": "4503", + "mirId": "MIR:00001020", + "name": "BioData Catalyst", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "NHLBI BioData Catalyst supports the management, analysis and sharing of human disease data for the research community and aims to advance basic understanding of the genetic basis of complex traits and accelerate discovery and development of therapies, diagnostic tests, and other technologies for diseases like cancer. The data commons supports cross-project analyses by harmonizing data from different projects through the collaborative development of a data dictionary, providing an API for data queries and download, and providing a cloud-based analysis workspace with rich tools and resources.", + "created": "2022-02-27T20:31:54.933+00:00", + "modified": "2022-02-27T20:31:54.933+00:00", + "resources": [ + { + "id": 3153, + "mirId": "MIR:00000921", + "urlPattern": "https://gen3.biodatacatalyst.nhlbi.nih.gov/ga4gh/drs/v1/objects/{$id}", + "name": "BioData Catalyst", + "description": "NHLBI BioData Catalyst supports the management, analysis and sharing of human disease data for the research community and aims to advance basic understanding of the genetic basis of complex traits and accelerate discovery and development of therapies, diagnostic tests, and other technologies for diseases like cancer. The data commons supports cross-project analyses by harmonizing data from different projects through the collaborative development of a data dictionary, providing an API for data queries and download, and providing a cloud-based analysis workspace with rich tools and resources.", + "official": true, + "providerCode": "dg.4503", + "sampleId": "3dab719c-1fa0-461b-a543-5f0e564a9be4", + "resourceHomeUrl": "https://gen3.biodatacatalyst.nhlbi.nih.gov/", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "3dab719c-1fa0-461b-a543-5f0e564a9be4", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3171, + "prefix": "dg.md1r", + "mirId": "MIR:00000932", + "name": "MIDRC Data Commons", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "The Medical Imaging & Data Resource Center (MIDRC) Data Commons supports the management, analysis and sharing of medical imaging data for the improvement of patient outcomes.", + "created": "2022-02-27T20:33:39.208+00:00", + "modified": "2022-02-27T20:33:39.208+00:00", + "resources": [ + { + "id": 3172, + "mirId": "MIR:00000931", + "urlPattern": "https://data.midrc.org/ga4gh/drs/v1/objects/{$id}", + "name": "MIDRC Data Commons", + "description": "The Medical Imaging & Data Resource Center (MIDRC) Data Commons supports the management, analysis and sharing of medical imaging data for the improvement of patient outcomes.", + "official": true, + "providerCode": "dg.MD1R", + "sampleId": "000007c3-356a-4d59-a6c0-0ee920b60305", + "resourceHomeUrl": "https://data.midrc.org/", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "000007c3-356a-4d59-a6c0-0ee920b60305", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3196, + "prefix": "pmr.workspace", + "mirId": "MIR:00000948", + "name": "Physiome Model Repository workspace", + "pattern": "^[a-zA-Z0-9_\\-]+(/.*?)?$", + "description": "Workspace (Git repository) for modeling projects managed by the Physiome Model Repository", + "created": "2022-02-27T20:41:50.311+00:00", + "modified": "2022-02-27T20:41:50.311+00:00", + "resources": [ + { + "id": 3197, + "mirId": "MIR:00000947", + "urlPattern": "https://models.physiomeproject.org/workspace/{$id}", + "name": "University of Auckland", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/03b94tp07' with Wikidata IDs [Q492467], and ISNI IDs [0000 0004 0372 3343]", + "official": true, + "providerCode": "abi", + "sampleId": "modularmassactionprimer", + "resourceHomeUrl": "https://www.auckland.ac.nz/en.html", + "institution": { + "id": 2795, + "name": "University of Auckland", + "homeUrl": "https://www.auckland.ac.nz/en.html", + "description": "Founded in 1883, Auckland is the country\u2019s largest university with over 40,000 students, nearly 10,000 of whom graduate annually. ", + "rorId": "https://ror.org/03b94tp07", + "location": { + "countryCode": "NZ", + "countryName": "New Zealand" + } + }, + "location": { + "countryCode": "NZ", + "countryName": "New Zealand" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "modularmassactionprimer", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3155, + "prefix": "dg.373f", + "mirId": "MIR:00000922", + "name": "The AnVIL", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "The AnVIL supports the management, analysis and sharing of human disease data for the research community and aims to advance basic understanding of the genetic basis of complex traits and accelerate discovery and development of therapies, diagnostic tests, and other technologies for diseases like cancer. The data commons supports cross-project analyses by harmonizing data from different projects through the collaborative development of a data dictionary, providing an API for data queries and download, and providing a cloud-based analysis workspace with rich tools and resources.", + "created": "2022-02-27T20:32:23.416+00:00", + "modified": "2022-02-27T20:32:23.416+00:00", + "resources": [ + { + "id": 3156, + "mirId": "MIR:00000913", + "urlPattern": "https://gen3.theanvil.io/ga4gh/drs/v1/objects/{$id}", + "name": "The AnVIL", + "description": "The AnVIL supports the management, analysis and sharing of human disease data for the research community and aims to advance basic understanding of the genetic basis of complex traits and accelerate discovery and development of therapies, diagnostic tests, and other technologies for diseases like cancer. The data commons supports cross-project analyses by harmonizing data from different projects through the collaborative development of a data dictionary, providing an API for data queries and download, and providing a cloud-based analysis workspace with rich tools and resources.", + "official": true, + "providerCode": "dg.373F", + "sampleId": "6f2f1d6c-c5b5-4171-8b5f-9b1ac8c8a8ca", + "resourceHomeUrl": "https://gen3.theanvil.io/", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "6f2f1d6c-c5b5-4171-8b5f-9b1ac8c8a8ca", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3158, + "prefix": "dg.7c5b", + "mirId": "MIR:00000925", + "name": "Environmental Data Commons", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "This website provides a centralized, cloud-based portal for the open redistribution and analysis of environmental datasets and satellite imagery from OCC stakeholders like NASA and NOAA and aims to support the earth science research community as well as human assisted disaster relief.", + "created": "2022-02-27T20:32:37.384+00:00", + "modified": "2022-02-27T20:32:37.384+00:00", + "resources": [ + { + "id": 3159, + "mirId": "MIR:00000923", + "urlPattern": "https://portal.occ-data.org/loginga4gh/drs/v1/objects/{$id}", + "name": "Environmental Data Commons", + "description": "This website provides a centralized, cloud-based portal for the open redistribution and analysis of environmental datasets and satellite imagery from OCC stakeholders like NASA and NOAA and aims to support the earth science research community as well as human assisted disaster relief.", + "official": true, + "providerCode": "dg.7C5B", + "sampleId": "00000014-990c-48f2-b0a8-fbb533860512", + "resourceHomeUrl": "https://portal.occ-data.org/", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "00000014-990c-48f2-b0a8-fbb533860512", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3161, + "prefix": "f82a1a", + "mirId": "MIR:00000926", + "name": "Kids First Data Catalog", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "The Kids First Data Catalog supports the Kids First Data Resource Center by providing a digital object services that allow interoperability between data commons, including authentication and authorization for controlled access data.", + "created": "2022-02-27T20:32:53.923+00:00", + "modified": "2022-02-27T20:32:53.923+00:00", + "resources": [ + { + "id": 3162, + "mirId": "MIR:00000924", + "urlPattern": "https://data.kidsfirstdrc.org/ga4gh/drs/v1/objects/{$id}", + "name": "Kids First Data Catalog", + "description": "The Kids First Data Catalog supports the Kids First Data Resource Center by providing a digital object services that allow interoperability between data commons, including authentication and authorization for controlled access data.", + "official": true, + "providerCode": "dg.F82A1A", + "sampleId": "0000324e-e2d9-4ccd-b25b-2d16c8a87b28", + "resourceHomeUrl": "https://data.kidsfirstdrc.org/", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0000324e-e2d9-4ccd-b25b-2d16c8a87b28", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3165, + "prefix": "dg.712c", + "mirId": "MIR:00000928", + "name": "NHLBI BioData Catalyst", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "NHLBI BioData Catalyst supports the management, analysis and sharing of human disease data for the research community and aims to advance basic understanding of the genetic basis of complex traits and accelerate discovery and development of therapies, diagnostic tests, and other technologies for diseases like cancer. The data commons supports cross-project analyses by harmonizing data from different projects through the collaborative development of a data dictionary, providing an API for data queries and download, and providing a cloud-based analysis workspace with rich tools and resources.\n", + "created": "2022-02-27T20:33:06.143+00:00", + "modified": "2022-02-27T20:33:06.143+00:00", + "resources": [ + { + "id": 3166, + "mirId": "MIR:00000927", + "urlPattern": "https://staging.gen3.biodatacatalyst.nhlbi.nih.gov/ga4gh/drs/v1/objects/{$id}", + "name": "NHLBI BioData Catalyst", + "description": "NHLBI BioData Catalyst supports the management, analysis and sharing of human disease data for the research community and aims to advance basic understanding of the genetic basis of complex traits and accelerate discovery and development of therapies, diagnostic tests, and other technologies for diseases like cancer. The data commons supports cross-project analyses by harmonizing data from different projects through the collaborative development of a data dictionary, providing an API for data queries and download, and providing a cloud-based analysis workspace with rich tools and resources.\n", + "official": true, + "providerCode": "dg.712C", + "sampleId": "0129cb63-1cc7-4151-b119-5e3ba3a8eb07", + "resourceHomeUrl": "https://staging.gen3.biodatacatalyst.nhlbi.nih.gov/", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0129cb63-1cc7-4151-b119-5e3ba3a8eb07", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3168, + "prefix": "dg.63d5", + "mirId": "MIR:00001026", + "name": "Chicago Pandemic Response Commons", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "Chicago Pandemic Response Commons known as CCC is the first regional data commons launched under the Pandemic Response Commons Consortium. Born out of a consortium of Chicago-area civic and healthcare organizations with support from several technology partners, the PRC represents a persistent data resource for the research community engaging with COVID-19.", + "created": "2022-02-27T20:33:18.862+00:00", + "modified": "2022-02-27T20:33:18.862+00:00", + "resources": [ + { + "id": 3169, + "mirId": "MIR:00000929", + "urlPattern": "https://chicagoland.pandemicresponsecommons.org/ga4gh/drs/v1/objects/{$id}", + "name": "Chicago Pandemic Response Commons", + "description": "Chicago Pandemic Response Commons known as CCC is the first regional data commons launched under the Pandemic Response Commons Consortium. Born out of a consortium of Chicago-area civic and healthcare organizations with support from several technology partners, the PRC represents a persistent data resource for the research community engaging with COVID-19.", + "official": true, + "providerCode": "dg.63D5", + "sampleId": "00002b0f-0adf-4015-b2b7-b38f9337044a", + "resourceHomeUrl": "https://chicagoland.pandemicresponsecommons.org/", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "00002b0f-0adf-4015-b2b7-b38f9337044a", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3174, + "prefix": "6vts", + "mirId": "MIR:00000934", + "name": "JCOIN Portal", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "The Helping to End Addiction Long-termSM Initiative, or NIH HEAL InitiativeSM, will support the Justice Community Opioid Innovation Network (JCOIN) to study approaches to increase high-quality care for people with opioid misuse and OUD in justice settings. JCOIN will test strategies to expand effective treatment and care in partnership with local and state justice systems and community-based treatment providers.", + "created": "2022-02-27T20:34:03.581+00:00", + "modified": "2022-02-27T20:34:03.581+00:00", + "resources": [ + { + "id": 3175, + "mirId": "MIR:00000933", + "urlPattern": "https://jcoin.datacommons.io/ga4gh/drs/v1/objects/{$id}", + "name": "JCOIN Portal", + "description": "The Helping to End Addiction Long-termSM Initiative, or NIH HEAL InitiativeSM, will support the Justice Community Opioid Innovation Network (JCOIN) to study approaches to increase high-quality care for people with opioid misuse and OUD in justice settings. JCOIN will test strategies to expand effective treatment and care in partnership with local and state justice systems and community-based treatment providers.", + "official": true, + "providerCode": "dg.6VTS", + "sampleId": "005bf193-fa93-44c0-9b2b-9b039f94d692", + "resourceHomeUrl": "https://jcoin.datacommons.io/", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "005bf193-fa93-44c0-9b2b-9b039f94d692", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3177, + "prefix": "dg.nci35", + "mirId": "MIR:00000936", + "name": "NCI Data Commons Framework Services", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "The vision of DCFS is to make it easier to develop, operate, and interoperate data commons, data clouds, knowledge bases, and other resources for managing, analyzing, and sharing research data that can be part of a large data commons ecosystem.", + "created": "2022-02-27T20:37:35.848+00:00", + "modified": "2022-02-27T20:37:35.848+00:00", + "resources": [ + { + "id": 3178, + "mirId": "MIR:00000935", + "urlPattern": "https://nci-crdc.datacommons.io/login/ga4gh/drs/v1/objects/{$id}", + "name": "NCI Data Commons Framework Services", + "description": "The vision of DCFS is to make it easier to develop, operate, and interoperate data commons, data clouds, knowledge bases, and other resources for managing, analyzing, and sharing research data that can be part of a large data commons ecosystem.", + "official": true, + "providerCode": "dg.NCI35", + "sampleId": "81944ba1-81d0-436e-8552-33d77a27834b", + "resourceHomeUrl": "https://nci-crdc.datacommons.io/login", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "81944ba1-81d0-436e-8552-33d77a27834b", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3183, + "prefix": "dg.c78ne", + "mirId": "MIR:00000940", + "name": "Canine Data Commons", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "This website analyzes and shares genomic architecture of modern dog breeds and runs analysis for canine cancer to create clean, easy to navigate visualizations for data-driven discovery for canine cancer.", + "created": "2022-02-27T20:38:48.115+00:00", + "modified": "2022-02-27T20:38:48.115+00:00", + "resources": [ + { + "id": 3184, + "mirId": "MIR:00000939", + "urlPattern": "https://caninedc.org/ga4gh/drs/v1/objects/{$id}", + "name": "Canine Data Commons", + "description": "This website analyzes and shares genomic architecture of modern dog breeds and runs analysis for canine cancer to create clean, easy to navigate visualizations for data-driven discovery for canine cancer.", + "official": true, + "providerCode": "dg.C78ne", + "sampleId": "0002346e-5ee7-45fb-8c92-8333f8e13854", + "resourceHomeUrl": "https://caninedc.org/", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0002346e-5ee7-45fb-8c92-8333f8e13854", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3186, + "prefix": "dg.h34l", + "mirId": "MIR:00000942", + "name": "The HEAL platform", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "The HEAL Platform is a cloud-based and multifunctional web interface that provides a secure environment for discovery and analysis of NIH HEAL results and data. It is designed to serve users with a variety of objectives, backgrounds, and specialties.\n\nThe HEAL Platform represents a dynamic Data Ecosystem that aggregates and hosts data from multiple resources to make data discovery and access easy for users.\n\nThe platform provides a way to search and query over study metadata and diverse data types, generated by different projects and organizations and stored across multiple secure repositories.\n\nThe HEAL platform also offers a secure and cost-effective cloud-computing environment for data analysis, empowering collaborative research and development of new analytical tools. New workflows and results of analyses can be shared with the HEAL community to enable collaborative, high-impact publications that address the opioid crisis.", + "created": "2022-02-27T20:39:04.388+00:00", + "modified": "2022-02-27T20:39:04.388+00:00", + "resources": [ + { + "id": 3187, + "mirId": "MIR:00000941", + "urlPattern": "https://healdata.org/ga4gh/drs/v1/objects/{$id}", + "name": "The HEAL Platform", + "description": "The HEAL Platform is a cloud-based and multifunctional web interface that provides a secure environment for discovery and analysis of NIH HEAL results and data. It is designed to serve users with a variety of objectives, backgrounds, and specialties.\n\nThe HEAL Platform represents a dynamic Data Ecosystem that aggregates and hosts data from multiple resources to make data discovery and access easy for users.\n\nThe platform provides a way to search and query over study metadata and diverse data types, generated by different projects and organizations and stored across multiple secure repositories.\n\nThe HEAL platform also offers a secure and cost-effective cloud-computing environment for data analysis, empowering collaborative research and development of new analytical tools. New workflows and results of analyses can be shared with the HEAL community to enable collaborative, high-impact publications that address the opioid crisis.", + "official": true, + "providerCode": "dg.h34L", + "sampleId": "022911d6-af91-4b02-8f96-9107c77c98b8", + "resourceHomeUrl": "https://healdata.org/", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "022911d6-af91-4b02-8f96-9107c77c98b8", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3189, + "prefix": "dg.h35l", + "mirId": "MIR:00000944", + "name": "HEAL Data Platform", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "This website supports the management, analysis and sharing of data for the research community and aims to accelerate discovery and development of therapies, diagnostic tests, and other technologies.", + "created": "2022-02-27T20:40:41.328+00:00", + "modified": "2022-02-27T20:40:41.328+00:00", + "resources": [ + { + "id": 3190, + "mirId": "MIR:00000943", + "urlPattern": "https://externaldata.healdata.org/ga4gh/drs/v1/objects/{$id}", + "name": "HEAL Data Platform", + "description": "This website supports the management, analysis and sharing of data for the research community and aims to accelerate discovery and development of therapies, diagnostic tests, and other technologies.", + "official": true, + "providerCode": "dg.h34L", + "sampleId": "007e4996-c902-49a0-8fe8-b363f1d3fb23", + "resourceHomeUrl": "https://externaldata.healdata.org/", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "007e4996-c902-49a0-8fe8-b363f1d3fb23", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3193, + "prefix": "dg.um33r90", + "mirId": "MIR:00000946", + "name": "UMCCR AGHA Data Commons", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "The UMCCR AGHA Data Commons supports the management, analysis and sharing of data for the research community.", + "created": "2022-02-27T20:40:56.446+00:00", + "modified": "2022-02-27T20:40:56.446+00:00", + "resources": [ + { + "id": 3194, + "mirId": "MIR:00000945", + "urlPattern": "https://gen3.agha.umccr.org/ga4gh/drs/v1/objects/{$id}", + "name": "UMCCR AGHA Data Commons", + "description": "The UMCCR AGHA Data Commons supports the management, analysis and sharing of data for the research community.", + "official": true, + "providerCode": "dg.UM33R90", + "sampleId": "0aa770b4-66b3-4009-9f02-852236b0544f", + "resourceHomeUrl": "https://gen3.agha.umccr.org/", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0aa770b4-66b3-4009-9f02-852236b0544f", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3203, + "prefix": "ps", + "mirId": "MIR:00000951", + "name": "Pennsieve", + "pattern": "N:package:[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}", + "description": "Pennsieve is a publicly accessible Scientific Data Management and publication platform. The platform supports data curation, sharing and publishing complex scientific datasets with a focus on integration between graph-based metadata and file-archival. The platform provides a \"peer\"-reviewed publication mechanism and public datasets are available through its Discover Web Application and APIs. ", + "created": "2022-03-15T08:27:12.699+00:00", + "modified": "2022-03-15T08:27:12.699+00:00", + "resources": [ + { + "id": 3204, + "mirId": "MIR:00000950", + "urlPattern": "https://discover.pennsieve.io/package/{$id}", + "name": "Pennsieve Discover", + "description": "Pennsieve Discover is a public repository for scientific datasets and specializes in FAIR distribution of public datasets that combine large files and graph based metadata records. ", + "official": true, + "providerCode": "ps", + "sampleId": "N:package:e3243db3-7986-488e-9a10-c7a0bfdcfe8a", + "resourceHomeUrl": "https://discover.pennsieve.io", + "institution": { + "id": 1674, + "name": "University of Pennsylvania", + "homeUrl": "https://www.upenn.edu/", + "description": "Penn\u2019s academics are boosted by its inherent culture and ecosystem of innovation. You name it, if it\u2019s cutting-edge, the University\u2019s faculty\u2014and students\u2014have their hands in it. Grounded in the liberal arts and sciences and enriched by the integrated resources of four undergraduate and 12 graduate schools, Penn offers students an unparalleled education informed by inclusivity, intellectual rigor, research, and the impetus to create new knowledge to the benefit of individuals and communities around the world.", + "rorId": "https://ror.org/00b30xv10", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "N:package:e3243db3-7986-488e-9a10-c7a0bfdcfe8a", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2638, + "prefix": "icdc", + "mirId": "MIR:00000812", + "name": "Integrated Canine Data Commons", + "pattern": "^\\d{6}$", + "description": "The Integrated Canine Data Commons is one of several repositories within the NCI Cancer Research Data Commons (CRDC), a cloud-based data science infrastructure that provides secure access to a large, comprehensive, and expanding collection of cancer research data. The ICDC was established to further research on human cancers by enabling comparative analysis with canine cancer.", + "created": "2021-05-10T19:40:34.200+00:00", + "modified": "2022-03-31T16:55:06.915+00:00", + "resources": [ + { + "id": 2639, + "mirId": "MIR:00000811", + "urlPattern": "https://caninecommons.cancer.gov/#/study/{$id}", + "name": "Integrated Canine Data Commons", + "description": "Integrated Canine Data Commons at National Cancer Institute (USA)", + "official": true, + "providerCode": "icdc", + "sampleId": "000009", + "resourceHomeUrl": "https://caninecommons.cancer.gov/#/", + "institution": { + "id": 2637, + "name": "National Cancer Institute", + "homeUrl": "https://www.cancer.gov/", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/040gcmg81' with Wikidata IDs [Q664846], and ISNI IDs [0000 0004 1936 8075]", + "rorId": "https://ror.org/040gcmg81", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "000009", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 361, + "prefix": "pdb-ccd", + "mirId": "MIR:00000113", + "name": "Chemical Component Dictionary", + "pattern": "^\\w{1,3}$", + "description": "The Chemical Component Dictionary is as an external reference file describing all residue and small molecule components found in Protein Data Bank entries. It contains detailed chemical descriptions for standard and modified amino acids/nucleotides, small molecule ligands, and solvent molecules. Each chemical definition includes descriptions of chemical properties such as stereochemical assignments, aromatic bond assignments, idealized coordinates, chemical descriptors (SMILES & InChI), and systematic chemical names.", + "created": "2019-06-11T14:16:03.054+00:00", + "modified": "2022-05-18T15:48:21.884+00:00", + "resources": [ + { + "id": 362, + "mirId": "MIR:00100146", + "urlPattern": "https://www.ebi.ac.uk/pdbe-srv/pdbechem/chemicalCompound/show/{$id}", + "name": "Protein Data Bank Chemical Component Dictionary at EBI", + "description": "Protein Data Bank Chemical Component Dictionary at EBI", + "official": false, + "providerCode": "ebi", + "sampleId": "AB0", + "resourceHomeUrl": "https://www.ebi.ac.uk/pdbe-srv/pdbechem/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AB0", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3252, + "prefix": "civic.sid", + "mirId": "MIR:00000953", + "name": "CIViC Source", + "pattern": "^[0-9]+$", + "description": "In CIViC, each Evidence Item must be associated with a Source Type and Source ID, which link the Evidence Item to the original source of information supporting clinical claims. Currently, CIViC accepts publications indexed on PubMed OR abstracts published through the American Society of Clinical Oncology (ASCO). Each such source entered into CIViC is assigned a unique identifier and expert curators can curate guidance that assists future curators in the interpretation of information from this source.", + "created": "2022-08-08T18:32:17.171+00:00", + "modified": "2022-08-08T18:32:17.171+00:00", + "resources": [ + { + "id": 3253, + "mirId": "MIR:00000952", + "urlPattern": "https://civicdb.org/links/sources/{$id}", + "name": "Clinical Interpretation of Variants in Cancer (CIViC)", + "description": "CIViC is an open access, open source, community-driven web resource for Clinical Interpretation of Variants in Cancer.", + "official": true, + "providerCode": "civicdb", + "sampleId": "62", + "resourceHomeUrl": "https://civicdb.org/", + "institution": { + "id": 2750, + "name": "Washington University in St. Louis", + "homeUrl": "https://wustl.edu/", + "description": "Washington University in St. Louis is a place where people matter and serious work is done. Our mission is to discover and disseminate knowledge, and to protect the freedom of inquiry through research, teaching and learning.", + "rorId": "https://ror.org/01yc7t268", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "62", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3255, + "prefix": "civic.tid", + "mirId": "MIR:00000955", + "name": "CIViC Therapy", + "pattern": "^[0-9]+$", + "description": "Therapies (often drugs) in CIViC are associated with Predictive Evidence Types, which describe sensitivity, resistance or adverse response to therapies when a given variant is present. The Therapy field may also be used to describe more general treatment types and regimes, such as FOLFOX or Radiation, as long as the literature derived Evidence Item makes a scientific association between the Therapy (treatment type) and the presence of the variant.", + "created": "2022-08-08T18:33:25.710+00:00", + "modified": "2022-08-08T18:33:25.710+00:00", + "resources": [ + { + "id": 3256, + "mirId": "MIR:00000954", + "urlPattern": "https://civicdb.org/links/drugs/{$id}", + "name": "Clinical Interpretation of Variants in Cancer (CIViC)", + "description": "CIViC is an open access, open source, community-driven web resource for Clinical Interpretation of Variants in Cancer.", + "official": true, + "providerCode": "civicdb", + "sampleId": "14", + "resourceHomeUrl": "https://civicdb.org/", + "institution": { + "id": 2750, + "name": "Washington University in St. Louis", + "homeUrl": "https://wustl.edu/", + "description": "Washington University in St. Louis is a place where people matter and serious work is done. Our mission is to discover and disseminate knowledge, and to protect the freedom of inquiry through research, teaching and learning.", + "rorId": "https://ror.org/01yc7t268", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "14", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3258, + "prefix": "civic.did", + "mirId": "MIR:00000957", + "name": "CIViC Disease", + "pattern": "^[0-9]+$", + "description": "Within the CIViC database, the disease should be the cancer or cancer subtype that is a result of the described variant. The disease selected should be as specific as possible should reflect the disease type used in the source that supports the evidence statement.", + "created": "2022-08-08T18:34:15.882+00:00", + "modified": "2022-08-08T18:34:15.882+00:00", + "resources": [ + { + "id": 3259, + "mirId": "MIR:00000956", + "urlPattern": "https://civicdb.org/links/diseases/{$id}", + "name": "Clinical Interpretation of Variants in Cancer (CIViC)", + "description": "CIViC is an open access, open source, community-driven web resource for Clinical Interpretation of Variants in Cancer.https://civicdb.org/\n", + "official": true, + "providerCode": "civicdb", + "sampleId": "46", + "resourceHomeUrl": "https://civicdb.org/", + "institution": { + "id": 2750, + "name": "Washington University in St. Louis", + "homeUrl": "https://wustl.edu/", + "description": "Washington University in St. Louis is a place where people matter and serious work is done. Our mission is to discover and disseminate knowledge, and to protect the freedom of inquiry through research, teaching and learning.", + "rorId": "https://ror.org/01yc7t268", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "46", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3263, + "prefix": "metatlas", + "mirId": "MIR:00000959", + "name": "Metabolic Atlas", + "pattern": "^MA[MR]\\d{5}[a-z]?$", + "description": "Metabolic Atlas facilitates metabolic modelling by presenting open source genome-scale metabolic models for easy browsing and analysis.", + "created": "2022-08-08T18:36:40.981+00:00", + "modified": "2022-08-08T18:36:40.981+00:00", + "resources": [ + { + "id": 3264, + "mirId": "MIR:00000958", + "urlPattern": "https://metabolicatlas.org/identifier/MetabolicAtlas/{$id}", + "name": "Metabolic Atlas", + "description": "Metabolic Atlas is a web platform integrating open-source genome scale metabolic models (GEMs) for easy browsing and analysis. The goal is to collect curated GEMs, and to bring these models closer to FAIR principles. The website provides visualisations and comparisons of the GEMs, and links to resources, algorithms, other databases, and more general software applications.", + "official": true, + "providerCode": "metatlas", + "sampleId": "MAR01234", + "resourceHomeUrl": "https://metabolicatlas.org", + "institution": { + "id": 3262, + "name": "National Bioinformatics Infrastructure Sweden", + "homeUrl": "https://nbis.se", + "description": "NBIS (National Bioinformatics Infrastructure Sweden) is a distributed national research infrastructure supported by the Swedish Research Council (Vetenskapsr\u00e5det), Science for Life Laboratory, all major Swedish universities and the Knut and Alice Wallenberg Foundation, providing state-of-the-art bioinformatics to the Swedish life science researchers community. NBIS is also the Swedish contact point to the European infrastructure for biological information ELIXIR.\n\nPresent NBIS staff has expertise in protein bioinformatics, mass spectrometry (MS), next generation sequencing (NGS), large-scale data handling and integration, metagenomics, systems biology, biostatistics and RNAseq.\n\nNBIS is predominantly offering bioinformatics support in various projects, depending on the user needs. In the projects, the NBIS persons are working close to the research group, and they spend part of their time to teach the users in order to propagate the bioinformatics knowledge. Furthermore, NBIS provides infrastructure and tools for bioinformatics analyses in order to facilitate these analyses for the users.\n\nNBIS forms the bioinformatics platform at the Science for Life Laboratory.", + "rorId": null, + "location": { + "countryCode": "SE", + "countryName": "Sweden" + } + }, + "location": { + "countryCode": "SE", + "countryName": "Sweden" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "MAR01234", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2168, + "prefix": "dandi", + "mirId": "MIR:00000786", + "name": "DANDI: Distributed Archives for Neurophysiology Data Integration", + "pattern": "^\\d{6}(\\/\\d+\\.\\d+\\.\\d+)?$", + "description": "DANDI works with BICCN and other BRAIN Initiative awardees to curate data using community data standards such as NWB and BIDS, and to make data and software for cellular neurophysiology FAIR (Findable, Accessible, Interoperable, and Reusable).\nDANDI references electrical and optical cellular neurophysiology recordings and associated MRI and/or optical imaging data.\nThese data will help scientists uncover and understand cellular level mechanisms of brain function. Scientists will study the formation of neural networks, how cells and networks enable functions such as learning and memory, and how these functions are disrupted in neurological disorders.", + "created": "2020-03-24T05:11:19.658+00:00", + "modified": "2021-10-18T12:32:14.264+00:00", + "resources": [ + { + "id": 2169, + "mirId": "MIR:00000750", + "urlPattern": "https://dandiarchive.org/dandiset/{$id}", + "name": "DANDI: Distributed Archives for Neurophysiology Data Integration", + "description": "DANDI is a Web platform for scientists to share, collaborate, and process data from cellular neurophysiology experiments. DANDI works with BICCN and other BRAIN Initiative awardees to curate data using community data standards such as NWB and BIDS, and to make data and software for cellular neurophysiology FAIR (Findable, Accessible, Interoperable, and Reusable). DANDI will store electrical and optical cellular neurophysiology recordings and associated MRI and/or optical imaging data. DANDI will provide: 1) A cloud platform for neurophysiology data storage for the purposes of collaboration and dissemination of data; 2) Easy to use tools for neurophysiology data submission, visualization, and access in the archive; and 3) Standardized applications for data ingestion, visualization and processing, which facilitate adoption of NWB and other standards. These data will help scientists uncover and understand cellular level mechanisms of brain function. Scientists will study the formation of neural networks, how cells and networks enable functions such as learning and memory, and how these functions are disrupted in neurological disorders.", + "official": true, + "providerCode": "dandi", + "sampleId": "000017", + "resourceHomeUrl": "https://dandiarchive.org/", + "institution": { + "id": 2167, + "name": "Massachusetts Institute of Technology", + "homeUrl": "http://web.mit.edu/", + "description": "Founded to accelerate the nation\u2019s industrial revolution, MIT is profoundly American. With ingenuity and drive, our graduates have invented fundamental technologies, launched new industries, and created millions of American jobs. At the same time, and without the slightest sense of contradiction, MIT is profoundly global(opens in new window). Our community gains tremendous strength as a magnet for talent from around the world. Through teaching, research, and innovation, MIT\u2019s exceptional community pursues its mission of service to the nation and the world.", + "rorId": "https://ror.org/042nb2s44", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "000017", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3271, + "prefix": "ror", + "mirId": "MIR:00000961", + "name": "ROR", + "pattern": "^0[a-hj-km-np-tv-z|0-9]{6}[0-9]{2}$", + "description": "ROR (Research Organization Registry) is a global, community-led registry\nof open persistent identifiers for research organizations. ROR is jointly\noperated by California Digital Library, Crossref, and Datacite.", + "created": "2022-08-15T19:28:35.707+00:00", + "modified": "2022-08-18T13:14:34.725+00:00", + "resources": [ + { + "id": 3272, + "mirId": "MIR:00001056", + "urlPattern": "https://ror.org/{$id}", + "name": "ROR", + "description": "ROR (Research Organization Registry) is a global, community-led registry of open persistent identifiers for research organizations. ", + "official": true, + "providerCode": "ror", + "sampleId": "03yrm5c26", + "resourceHomeUrl": "https://ror.org", + "institution": { + "id": 1648, + "name": "California Digital Library, University of California Office of the President", + "homeUrl": "https://cdlib.org/", + "description": "The CDL was founded by the University of California in 1997 to take advantage of emerging technologies that were transforming the way digital information was being published and accessed. Since then, in collaboration with the UC libraries and other partners, we assembled one of the world\u2019s largest digital research libraries and changed the ways that faculty, students, and researchers discover and access information.", + "rorId": "https://ror.org/03yrm5c26", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "03yrm5c26", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1097, + "prefix": "nbn", + "mirId": "MIR:00000381", + "name": "National Bibliography Number", + "pattern": "^(urn|URN):(nbn|NBN)(:[A-Za-z_0-9]+)*.+$", + "description": "The National Bibliography Number (NBN), is a URN-based publication identifier system employed by a variety of national libraries such as those of Germany, the Netherlands and Switzerland. They are used to identify documents archived in national libraries, in their native format or language, and are typically used for documents which do not have a publisher-assigned identifier.", + "created": "2019-06-11T14:17:06.748+00:00", + "modified": "2023-06-19T09:28:27.741+00:00", + "resources": [ + { + "id": 1099, + "mirId": "MIR:00100488", + "urlPattern": "http://nbn-resolving.org/resolver?identifier={$id}&verb=redirect", + "name": "NBN through URN Resolver at German National Library", + "description": "NBN through URN Resolver at German National Library", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "urn:nbn:fi:tkk-004781", + "resourceHomeUrl": "http://nbn-resolving.org/resolve_urn.htm", + "institution": { + "id": 1098, + "name": "Deutsche Nationalbibliothek, Frankfurt", + "homeUrl": "http://www.dnb.de/", + "description": "The German National Library is a reference library. All media are made available for use in the reading rooms. Our locations in Leipzig and Frankfurt am Main have a wide range of reading rooms offering optimum work and study conditions. You can browse among 43,6 million media works, 10.7 million of which are online publications including approx. 1,500 digital journals. We also have special collections in the German Museum of Books and Writing, the German Exile Archive 1933\u20131945 and the German Music Archive.", + "rorId": "https://ror.org/01n7gem85", + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "urn:nbn:fi:tkk-004781", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1208, + "prefix": "bgee.gene", + "mirId": "MIR:00000418", + "name": "Bgee gene", + "pattern": "^[A-Za-z0-9]+$", + "description": "Bgee is a database to retrieve and compare gene expression patterns in multiple species, produced from multiple data types (bulk RNA-Seq, scRNA-Seq, Affymetrix, in situ hybridization, and EST data). This collection references genes in Bgee.", + "created": "2019-06-11T14:17:16.067+00:00", + "modified": "2023-06-21T08:14:55.477+00:00", + "resources": [ + { + "id": 1210, + "mirId": "MIR:00100541", + "urlPattern": "https://www.bgee.org/gene/{$id}", + "name": "Bgee gene", + "description": "Bgee gene", + "official": false, + "providerCode": "sib", + "sampleId": "FBgn0000015", + "resourceHomeUrl": "https://www.bgee.org/", + "institution": { + "id": 1730, + "name": "SIB Swiss Institute of Bioinformatics", + "homeUrl": "https://www.sib.swiss", + "description": "SIB provides bioinformatics services and resources for scientists and clinicians from academia and industry in Switzerland and worldwide.", + "rorId": "https://ror.org/002n09z45", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "FBgn0000015", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3298, + "prefix": "drugcentral", + "mirId": "MIR:00000966", + "name": "DrugCentral", + "pattern": "^[0-9]+$", + "description": "DrugCentral (http://drugcentral.org) is an open-access online drug compendium. DrugCentral integrates structure, bioactivity, regulatory, pharmacologic actions and indications for active pharmaceutical ingredients approved by FDA and other regulatory agencies. Monitoring of regulatory agencies for new drugs approvals ensures the resource is up-to-date. DrugCentral integrates content for active ingredients with pharmaceutical formulations, indexing drugs and drug label annotations, complementing similar resources available online. Its complementarity with other online resources is facilitated by cross referencing to external resources. At the molecular level, DrugCentral bridges drug-target interactions with pharmacological action and indications. The integration with FDA drug labels enables text mining applications for drug adverse events and clinical trial information. Chemical structure overlap between DrugCentral and five online drug resources, and the overlap between DrugCentral FDA-approved drugs and their presence in four different chemical collections, are discussed. DrugCentral can be accessed via the web application or downloaded in relational database format.", + "created": "2022-11-04T09:54:32.976+00:00", + "modified": "2022-11-04T09:54:32.976+00:00", + "resources": [ + { + "id": 3299, + "mirId": "MIR:00000965", + "urlPattern": "https://drugcentral.org/drugcard/{$id}", + "name": "University of New Mexico", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/05fs6jp91' with Wikidata IDs [Q1190812], and ISNI IDs [0000 0001 2188 8502]", + "official": true, + "providerCode": "drugcentral", + "sampleId": "257", + "resourceHomeUrl": "http://www.unm.edu/", + "institution": { + "id": 3297, + "name": "University of New Mexico", + "homeUrl": "http://www.unm.edu/", + "description": "Founded in 1889 as New Mexico\u2019s flagship institution, The University of New Mexico now occupies nearly 800 acres near old Route 66 in the heart of Albuquerque, a metropolitan area of more than 900,000 people. From the magnificent mesas to the west, past the banks of the historic Rio Grande to the Sandia Mountains to the east, Albuquerque is a blend of culture and cuisine, styles and stories, people, pursuits and panoramas. Offering a distinctive campus environment with a Pueblo Revival architectural theme, the campus buildings echo nearby Pueblo Indian villages. The nationally recognized campus arboretum and the popular duck pond offer an outstanding botanical experience in the midst of one of New Mexico's great public open spaces.", + "rorId": "https://ror.org/05fs6jp91", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "257", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3307, + "prefix": "skm", + "mirId": "MIR:00000968", + "name": "Stress Knowledge Map", + "pattern": "^rx[0-9]{5}$", + "description": "Stress Knowledge Map (SKM, available at https://skm.nib.si) is a knowledge graph resulting from the integration of dispersed published information on plant molecular responses to biotic and abiotic stressors. ", + "created": "2022-11-04T12:17:30.200+00:00", + "modified": "2022-11-04T12:17:30.200+00:00", + "resources": [ + { + "id": 3308, + "mirId": "MIR:00000967", + "urlPattern": "https://skm.nib.si/api/pss/reactions?reaction_id={$id}&return_field=summary", + "name": "National Institute of Biology", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/03s5t0r17' with no Wikidata information, and ISNI IDs [0000 0004 0637 0790]", + "official": true, + "providerCode": "skm", + "sampleId": "rx00408", + "resourceHomeUrl": "http://www.nib.si/eng/", + "institution": { + "id": 3306, + "name": "National Institute of Biology", + "homeUrl": "http://www.nib.si/eng/", + "description": "With about 190 employees, National Institute of Biology (NIB) is one of the independent Public Research Institution for Life Sciences in Slovenia. The Institute was established by the Government of the Republic of Slovenia in 1960. The basic activity of the Institute has been and continues to be basic, developmental and applicative research in the fields of biotechnology, biophysics, biomedicine and system biology. ", + "rorId": "https://ror.org/03s5t0r17", + "location": { + "countryCode": "SI", + "countryName": "Slovenia" + } + }, + "location": { + "countryCode": "SI", + "countryName": "Slovenia" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "rx00408", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3311, + "prefix": "col", + "mirId": "MIR:00000969", + "name": "Catalogue of Life", + "pattern": "^[23456789BCDFGHJKLMNPQRSTVWXYZ]{1,6}$", + "description": "Identifier of a taxon or synonym in the Catalogue of Life", + "created": "2022-11-04T13:50:22.141+00:00", + "modified": "2022-11-04T13:50:22.141+00:00", + "resources": [ + { + "id": 3312, + "mirId": "MIR:00000970", + "urlPattern": "https://www.checklistbank.org/dataset/3LR/taxon/{$id}", + "name": "ChecklistBank", + "description": "ChecklistBank, an index and repository for taxonomic data, hosted at GBIF\n", + "official": true, + "providerCode": "clb", + "sampleId": "4QHKG", + "resourceHomeUrl": "https://www.checklistbank.org", + "institution": { + "id": 3291, + "name": "Global Biodiversity Information Facility", + "homeUrl": "https://www.gbif.org/", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/05fjyn938' with Wikidata IDs [Q1531570], and no ISNI information", + "rorId": "https://ror.org/05fjyn938", + "location": { + "countryCode": "DK", + "countryName": "Denmark" + } + }, + "location": { + "countryCode": "DK", + "countryName": "Denmark" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 3328, + "mirId": "MIR:00000971", + "urlPattern": "https://www.catalogueoflife.org/data/taxon/{$id}", + "name": "Catalogue of Life (COL)", + "description": "The Catalogue of Life website providing a view onto the latest release of the COL Checklist.", + "official": false, + "providerCode": "col", + "sampleId": "4QHKG", + "resourceHomeUrl": "https://www.catalogueoflife.org", + "institution": { + "id": 3291, + "name": "Global Biodiversity Information Facility", + "homeUrl": "https://www.gbif.org/", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/05fjyn938' with Wikidata IDs [Q1531570], and no ISNI information", + "rorId": "https://ror.org/05fjyn938", + "location": { + "countryCode": "DK", + "countryName": "Denmark" + } + }, + "location": { + "countryCode": "DK", + "countryName": "Denmark" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "4QHKG", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 765, + "prefix": "combine.specifications", + "mirId": "MIR:00000258", + "name": "COMBINE specifications", + "pattern": "^\\w+(\\-|\\.|\\w)*$", + "description": "The 'COmputational Modeling in BIology' NEtwork (COMBINE) is an initiative to coordinate the development of the various community standards and formats for computational models, initially in Systems Biology and related fields. This collection pertains to specifications of the standard formats developed by the Computational Modeling in Biology Network.", + "created": "2019-06-11T14:16:39.210+00:00", + "modified": "2023-01-04T15:31:16.641+00:00", + "resources": [ + { + "id": 766, + "mirId": "MIR:00100329", + "urlPattern": "https://github.com/combine-org/combine-specifications/blob/main/specifications/{$id}.md", + "name": "COMBINE at EBI", + "description": "COMBINE at EBI", + "official": false, + "providerCode": "ebi", + "sampleId": "sed-ml.level-1.version-1", + "resourceHomeUrl": "https://co.mbine.org/standards/", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "sed-ml.level-1.version-1", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1217, + "prefix": "panther.pthcmp", + "mirId": "MIR:00000422", + "name": "PANTHER Pathway Component", + "pattern": "^[GPUCS]\\d{5}$", + "description": "The PANTHER (Protein ANalysis THrough Evolutionary Relationships) Classification System is a resource that classifies genes by their functions, using published scientific experimental evidence and evolutionary relationships to predict function even in the absence of direct experimental evidence. The PANTHER Pathway Component collection references specific classes of molecules that play the same mechanistic role within a pathway, across species. Pathway\r\ncomponents may be proteins, genes/DNA, RNA, or simple molecules. Where the identified component is a protein, DNA, or transcribed RNA, it is associated with protein sequences in the PANTHER protein family trees through manual curation.", + "created": "2019-06-11T14:17:16.858+00:00", + "modified": "2023-01-04T16:32:41.267+00:00", + "resources": [ + { + "id": 1218, + "mirId": "MIR:00100545", + "urlPattern": "http://www.pantherdb.org/pathway/pathCatDetail.do?clsAccession={$id}", + "name": "PANTHER Pathway Component at USC (Los Angeles)", + "description": "PANTHER Pathway Component at USC (Los Angeles)", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "P00266", + "resourceHomeUrl": "http://www.pantherdb.org/", + "institution": { + "id": 94, + "name": "Keck School of Medicine, University of Southern California", + "homeUrl": "https://www.keckmedicine.org/", + "description": "Keck Medicine of USC is the University of Southern California\u2019s medical enterprise, one of only two university-based medical systems in the Los Angeles area. Keck Medicine combines academic excellence, world-class research and state-of-the-art facilities to provide highly specialized care for some of the most acute patients in the country. ", + "rorId": "https://ror.org/01rq8ck58", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "P00266", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 2484, + "prefix": "oma.hog", + "mirId": "MIR:00000785", + "name": "OMA HOGs", + "pattern": "^HOG:[0-9]{7}(\\.[0-9a-z.]+)?(_[0-9]+)?$", + "description": "Hierarchical orthologous groups predicted by OMA (Orthologous MAtrix) database. Hierarchical orthologous groups are sets of genes that have started diverging from a single common ancestor gene at a certain taxonomic level of reference. ", + "created": "2020-12-14T12:57:54.560+00:00", + "modified": "2023-01-10T16:04:39.504+00:00", + "resources": [ + { + "id": 2485, + "mirId": "MIR:00000761", + "urlPattern": "https://omabrowser.org/oma/hog/resolve/HOG:{$id}/", + "name": "ETH Zurich", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/05a28rw58' with Wikidata IDs [Q11942], and ISNI IDs [0000 0001 2156 2780]", + "official": true, + "providerCode": "oma", + "sampleId": "HOG:0459895", + "resourceHomeUrl": "https://omabrowser.org", + "institution": { + "id": 2483, + "name": "ETH Zurich", + "homeUrl": "https://ethz.ch/en.html", + "description": "We serve society by educating the next generations of critical and creative thinkers and doers. With our research, we create knowledge and develop technologies to meet the global challenges of our time. We project a future-\u200b\u200boriented and innovative image of Switzerland to the world and network our country with the global community. Together with our partners from science, business, politics and society, we rely on the power of teamwork and strive for excellence - in everything we do.", + "rorId": "https://ror.org/05a28rw58", + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + } + }, + "location": { + "countryCode": "CH", + "countryName": "Switzerland" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0459895", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1437, + "prefix": "gro", + "mirId": "MIR:00000508", + "name": "Gramene Growth Stage Ontology", + "pattern": "^GRO:\\d+$", + "description": "Gramene is a comparative genome mapping database for grasses and crop plants. It combines a semi-automatically generated database of cereal genomic and expressed sequence tag sequences, genetic maps, map relations, quantitative trait loci (QTL), and publications, with a curated database of mutants (genes and alleles), molecular markers, and proteins. This collection refers to growth stage ontology information in Gramene.", + "created": "2019-06-11T14:17:36.384+00:00", + "modified": "2023-01-10T16:08:16.467+00:00", + "resources": [ + { + "id": 1438, + "mirId": "MIR:00100649", + "urlPattern": "http://www.gramene.org/db/ontology/search?id=GRO:{$id}", + "name": "Gramene Growth Stage Ontology at Cold Spring Harbor", + "description": "Gramene Growth Stage Ontology at Cold Spring Harbor", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "0007133", + "resourceHomeUrl": "http://www.gramene.org/", + "institution": { + "id": 131, + "name": "Cold Spring Harbor Laboratory", + "homeUrl": "https://www.cshl.edu/", + "description": "Founded in 1890, Cold Spring Harbor Laboratory has shaped contemporary biomedical research and education with programs in cancer, neuroscience, plant biology and quantitative biology. Home to eight Nobel Prize winners, the private, not-for-profit Laboratory employs 1,000 people including 600 scientists, students and technicians. The Meetings & Courses Program hosts more than 12,000 scientists from around the world each year on its campuses in Long Island and in Suzhou, China. The Laboratory\u2019s education arm also includes an academic publishing house, a graduate school and programs for middle, high school, and undergraduate students and teachers.", + "rorId": "https://ror.org/02qz8b764", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0007133", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3369, + "prefix": "tair.name", + "mirId": "MIR:00000976", + "name": "TAIR gene name", + "pattern": "^AT.G[0-9]{5}$", + "description": "The Arabidopsis Information Resource (TAIR) maintains a database of genetic and molecular biology data for the model higher plant Arabidopsis thaliana. The name of a Locus is unique and used by TAIR, TIGR, and MIPS.", + "created": "2023-01-12T10:08:07.976+00:00", + "modified": "2023-01-12T10:08:07.976+00:00", + "resources": [ + { + "id": 3370, + "mirId": "MIR:00000975", + "urlPattern": "https://www.arabidopsis.org/servlets/TairObject?type=locus&name={$id}", + "name": "TAIR", + "description": "The Arabidopsis Information Resource (TAIR) collects information and maintains a database of genetic and molecular biology data for Arabidopsis thaliana, a widely used model plant.", + "official": true, + "providerCode": "tair", + "sampleId": "AT5G05330", + "resourceHomeUrl": "https://www.arabidopsis.org/index.jsp", + "institution": { + "id": 3367, + "name": "Phoenix Bioinformatics", + "homeUrl": "https://www.phoenixbioinformatics.org/", + "description": "Grant-funded research data repositories and tools risk termination when grants end, resulting in lost data, resources and expertise. We work with the creators of these resources to develop innovative and sustainable funding support, ensuring that valuable scientific data and software resources survive and prosper.\n", + "rorId": "https://ror.org/0018yg518", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AT5G05330", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3380, + "prefix": "civic.vgid", + "mirId": "MIR:00000979", + "name": "CIViC Variant Group", + "pattern": "^[0-9]+$", + "description": "Variant Groups in CIViC provide user-defined grouping of Variants within and between genes based on unifying characteristics. CIViC curators are required to define a cohesive rationale for grouping these variants together, summarize their relevance to cancer diagnosis, prognosis or treatment and highlight any treatments or cancers of particular relevance", + "created": "2023-01-23T09:52:20.012+00:00", + "modified": "2023-01-23T09:52:20.012+00:00", + "resources": [ + { + "id": 3381, + "mirId": "MIR:00000978", + "urlPattern": "https://civicdb.org/links/variant_group/{$id}", + "name": "Clinical Interpretation of Variants in Cancer (CIViC)", + "description": "CIViC is an open access, open source, community-driven web resource for Clinical Interpretation of Variants in Cancer.", + "official": true, + "providerCode": "civicdb", + "sampleId": "16", + "resourceHomeUrl": "https://civicdb.org/", + "institution": { + "id": 2750, + "name": "Washington University in St. Louis", + "homeUrl": "https://wustl.edu/", + "description": "Washington University in St. Louis is a place where people matter and serious work is done. Our mission is to discover and disseminate knowledge, and to protect the freedom of inquiry through research, teaching and learning.", + "rorId": "https://ror.org/01yc7t268", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "16", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3383, + "prefix": "civic.mpid", + "mirId": "MIR:00000981", + "name": "CIViC Molecular Profile", + "pattern": "^[0-9]+$", + "description": "CIViC Molecular Profiles are combinations of one or more CIViC variants. Most Molecular Profiles are \u201cSimple\u201d Molecular Profiles comprised of a single variant. In most cases, these can be considered equivalent to the CIViC concept of a Variant. However, increasingly clinical significance must be considered in the context of multiple variants simultaneously. Complex Molecular Profiles in CIViC allow for curation of such variant combinations. Regardless of the nature of the Molecular Profile (Simple or Complex), it must have a Predictive, Prognostic, Predisposing, Diagnostic, Oncogenic, or Functional clinical relevance to be entered in CIViC.", + "created": "2023-01-23T09:53:23.139+00:00", + "modified": "2023-01-23T09:53:23.139+00:00", + "resources": [ + { + "id": 3384, + "mirId": "MIR:00000980", + "urlPattern": "https://civicdb.org/links/molecular_profile/{$id}", + "name": "Clinical Interpretation of Variants in Cancer (CIViC)", + "description": "CIViC is an open access, open source, community-driven web resource for Clinical Interpretation of Variants in Cancer.", + "official": true, + "providerCode": "civicdb", + "sampleId": "559", + "resourceHomeUrl": "https://civicdb.org/", + "institution": { + "id": 2750, + "name": "Washington University in St. Louis", + "homeUrl": "https://wustl.edu/", + "description": "Washington University in St. Louis is a place where people matter and serious work is done. Our mission is to discover and disseminate knowledge, and to protect the freedom of inquiry through research, teaching and learning.", + "rorId": "https://ror.org/01yc7t268", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "559", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3391, + "prefix": "clo", + "mirId": "MIR:00000983", + "name": "Cell Line Ontology", + "pattern": "^\\d{7}$", + "description": "The Cell Line Ontology is a community-based ontology of cell lines. The CLO is developed to unify publicly available cell line entry data from multiple sources to a standardized logically defined format based on consensus design patterns.", + "created": "2023-01-23T10:14:16.128+00:00", + "modified": "2023-01-23T10:14:16.128+00:00", + "resources": [ + { + "id": 3398, + "mirId": "MIR:00000984", + "urlPattern": "https://bioportal.bioontology.org/ontologies/CLO/?p=classes&conceptid=http://purl.obolibrary.org/obo/CLO_{$id}", + "name": "Center for Biomedical Informatics Research, Stanford", + "description": "Our vision is that all biomedical knowledge and data are disseminated on the Internet using principled ontologies in such a way that the knowledge and data are semantically interoperable and useful for furthering biomedical science and clinical care. Our mission is to create software and support services for the application of principled ontologies in biomedical science and clinical care, ranging from tools for application developers to software for end-users.", + "official": false, + "providerCode": "bioportal", + "sampleId": "0000091", + "resourceHomeUrl": "https://bioportal.bioontology.org", + "institution": { + "id": 3397, + "name": "Center for Biomedical Informatics Research, Stanford", + "homeUrl": "https://bioportal.bioontology.org", + "description": "Our vision is that all biomedical knowledge and data are disseminated on the Internet using principled ontologies in such a way that the knowledge and data are semantically interoperable and useful for furthering biomedical science and clinical care. Our mission is to create software and support services for the application of principled ontologies in biomedical science and clinical care, ranging from tools for application developers to software for end-users.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + }, + { + "id": 3392, + "mirId": "MIR:00000982", + "urlPattern": "https://www.ebi.ac.uk/ols4/ontologies/clo/terms?short_form=CLO_{$id}", + "name": "CLO through OLS", + "description": "Cell Line Ontology (CLO) through OLS. The Ontology Lookup Service (OLS) is a repository for biomedical ontologies that aims to provide a single point of access to the latest ontology versions. You can browse the ontologies through the website as well as programmatically via the OLS API. OLS is developed and maintained by the Samples, Phenotypes, and Ontologies Team at EMBL-EBI.", + "official": true, + "providerCode": "ols", + "sampleId": "0000091", + "resourceHomeUrl": "https://www.ebi.ac.uk/ols4/ontologies/clo", + "institution": { + "id": 3390, + "name": "University of Michigan\u2013Ann Arbor", + "homeUrl": "https://www.umich.edu/", + "description": "University of Michigan is one of the top universities of the world, a diverse public institution of higher learning, fostering excellence in research. U-M provides outstanding undergraduate, graduate and professional education, serving the local, regional, national and international communities.", + "rorId": "https://ror.org/00jmfr291", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "0000091", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3404, + "prefix": "empiar", + "mirId": "MIR:00000986", + "name": "EMPIAR", + "pattern": "EMPIAR-\\d{5,}", + "description": "EMPIAR, the Electron Microscopy Public Image Archive, is a public resource for raw images underpinning 3D cryo-EM maps and tomograms (themselves archived in EMDB). EMPIAR also accommodates 3D datasets obtained with volume EM techniques and soft and hard X-ray tomography.", + "created": "2023-01-25T11:52:06.260+00:00", + "modified": "2023-01-25T11:52:06.260+00:00", + "resources": [ + { + "id": 3405, + "mirId": "MIR:00000985", + "urlPattern": "https://www.ebi.ac.uk/empiar/{$id}", + "name": "European Bioinformatics Institute", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "official": true, + "providerCode": "empiar", + "sampleId": "EMPIAR-10002", + "resourceHomeUrl": "https://www.ebi.ac.uk", + "institution": { + "id": 2, + "name": "European Bioinformatics Institute", + "homeUrl": "https://www.ebi.ac.uk", + "description": "At EMBL-EBI, we make the world\u2019s public biological data freely available to the scientific community via a range of services and tools, perform basic research and provide professional training in bioinformatics. \nWe are part of the European Molecular Biology Laboratory (EMBL), an international, innovative and interdisciplinary research organisation funded by 26 member states and two associate member states.", + "rorId": "https://ror.org/02catss52", + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + } + }, + "location": { + "countryCode": "GB", + "countryName": "United Kingdom" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "EMPIAR-10002", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1555, + "prefix": "bigg.metabolite", + "mirId": "MIR:00000556", + "name": "BiGG Metabolite", + "pattern": "^[a-z_A-Z0-9]+$", + "description": "BiGG is a knowledgebase of Biochemically, Genetically and Genomically structured genome-scale metabolic network reconstructions. It published genome-scale metabolic networks into a single database with a set of standardized identifiers called BiGG IDs. Genes in the BiGG models are mapped to NCBI genome annotations, and metabolites are linked to many external databases (KEGG, PubChem, and many more). This collection references individual metabolites.", + "created": "2019-06-11T14:17:47.850+00:00", + "modified": "2023-06-21T08:19:14.475+00:00", + "resources": [ + { + "id": 1556, + "mirId": "MIR:00100733", + "urlPattern": "http://bigg.ucsd.edu/models/universal/metabolites/{$id}", + "name": "BiGG Metabolite at University of Cakifornia", + "description": "BiGG Metabolite at University of Cakifornia", + "official": false, + "providerCode": "ucsd", + "sampleId": "12dgr161", + "resourceHomeUrl": "http://bigg.ucsd.edu/universal/metabolites", + "institution": { + "id": 190, + "name": "University of California, San Diego", + "homeUrl": "https://ucsd.edu/", + "description": "is a public research university in San Diego, California.\nEstablished in 1960 near the pre-existing Scripps Institution of Oceanography, UC San Diego is the seventh-oldest of the 10 University of California campuses and offers over 200 undergraduate and graduate degree programs, enrolling approximately 30,000 undergraduate and 8,500 graduate students.", + "rorId": "https://ror.org/0168r3w48", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "12dgr161", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1647, + "prefix": "ark", + "mirId": "MIR:00000592", + "name": "Archival Resource Key (ARK)", + "pattern": "^(ark\\:)/*[0-9A-Za-z]+(?:/[\\w/.=*+@\\$-]*)?(?:\\?.*)?$", + "description": "Archival Resource Keys (ARKs) serve as persistent identifiers, or stable, trusted references for information objects. Among other things, they aim to be web addresses (URLs) that don\u2019t return 404 Page Not Found errors. The ARK Alliance is an open global community supporting the ARK infrastructure on behalf of research and scholarship. End users, especially researchers, rely on ARKs for long term access to the global scientific and cultural record. Since 2001 some 8.2 billion ARKs have been created by over 1000 organizations \u2014 libraries, data centers, archives, museums, publishers, government agencies, and vendors. They identify anything digital, physical, or abstract. ARKs are open, mainstream, non-paywalled, decentralized persistent identifiers that can be created by an organization as soon as it is registered with a NAAN (Name Assigning Authority Number). Once registered, an ARK organization can create unlimited numbers of ARKs and publicize them via the n2t.net global resolver or via their own local resolver.", + "created": "2019-06-11T14:17:57.583+00:00", + "modified": "2023-01-31T08:16:22.071+00:00", + "resources": [ + { + "id": 1649, + "mirId": "MIR:00100792", + "urlPattern": "https://n2t.net/ark:{$id}", + "name": "Archival Resource Key (ARK)", + "description": "ARKs via the Name-to-Thing (n2t.net) resolver.", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "/53355/cl010066723", + "resourceHomeUrl": "https://arks.org", + "institution": { + "id": 1648, + "name": "California Digital Library, University of California Office of the President", + "homeUrl": "https://cdlib.org/", + "description": "The CDL was founded by the University of California in 1997 to take advantage of emerging technologies that were transforming the way digital information was being published and accessed. Since then, in collaboration with the UC libraries and other partners, we assembled one of the world\u2019s largest digital research libraries and changed the ways that faculty, students, and researchers discover and access information.", + "rorId": "https://ror.org/03yrm5c26", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "/53355/cl010066723", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3429, + "prefix": "nlfff", + "mirId": "MIR:00000988", + "name": "NLFFF Database", + "pattern": "^[0-9]+$", + "description": "Nonlinear Force-Free Field Three-Dimensional Magnetic Fields Data of Solar Active Regions Database", + "created": "2023-02-03T09:47:17.713+00:00", + "modified": "2023-02-03T09:47:17.713+00:00", + "resources": [ + { + "id": 3430, + "mirId": "MIR:00000987", + "urlPattern": "http://database.deepsolar.space:18080/dbs/nlfff/{$id}", + "name": "Deepsolar Laboratory", + "description": "State Key Laboratory of Space Weather, National Space Science Center, Chinese Academy of Sciences, Beijing, 100190, China", + "official": true, + "providerCode": "deeps", + "sampleId": "345201101230312003", + "resourceHomeUrl": "https://nlfff.dataset.deepsolar.space/en/", + "institution": { + "id": 3428, + "name": "Deepsolar Laboratory", + "homeUrl": "http://www.deepsolar.space", + "description": "State Key Laboratory of Space Weather, National Space Science Center, Chinese Academy of Sciences, Beijing, 100190, China", + "rorId": null, + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "345201101230312003", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3467, + "prefix": "utrdb", + "mirId": "MIR:00000993", + "name": "UTRdb", + "pattern": "([3-5][A-Z])\\w+[^A-Z][0-9]", + "description": "A curated database of 5' and 3' untranslated sequences of eukaryotic mRNAs. In the current update, the UTR entries are organized in a gene-centric structure to better visualize and retrieve 5' and 3'UTR variants generated by alternative initiation and termination of transcription and alternative splicing. Experimentally validated miRNA targets and conserved sequence elements are also annotated. The integration of UTRdb with genomic data has allowed the implementation of an efficient annotation system and a powerful retrieval resource for the selection and extraction of specific UTR subsets. ", + "created": "2023-02-23T11:08:58.437+00:00", + "modified": "2023-02-23T11:21:10.786+00:00", + "resources": [ + { + "id": 3468, + "mirId": "MIR:00000992", + "urlPattern": "https://utrdb.cloud.ba.infn.it/cgi-bin/utrdb/utrdb?e={$id}", + "name": "University of Bari Aldo Moro", + "description": "Organization information obtained from ROR API using ROR ID 'https://ror.org/027ynra39' with Wikidata IDs [Q1236136], and ISNI IDs [0000 0001 0120 3326]", + "official": true, + "providerCode": "uniba", + "sampleId": "5UTR_107_ENST00000517291.2", + "resourceHomeUrl": "https://utrdb.cloud.ba.infn.it/utrdb/index_107.html", + "institution": { + "id": 3466, + "name": "University of Bari Aldo Moro", + "homeUrl": "https://www.uniba.it/en", + "description": "The University of Bari Aldo Moro was founded in 1925 and is attended today by about 60,000 students, across the Bari, Brindisi, and Taranto campuses. The University was named after one of its most famous students, the statesman Aldo Moro. Moro taught Criminal Law at the University of Bari for several years. The university offers various courses for undergraduate, graduate and post-graduate students. Aside from teaching, the university is also focused on scientific research at the doctorate level. The University of Bari research centres are highly-interactive, having connections among different departments, universities, and other research centres.", + "rorId": "https://ror.org/027ynra39", + "location": { + "countryCode": "IT", + "countryName": "Italy" + } + }, + "location": { + "countryCode": "IT", + "countryName": "Italy" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "5UTR_107_ENST00000517291.2", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3472, + "prefix": "biokc", + "mirId": "MIR:00000995", + "name": "BioKC", + "pattern": "bkc[0-9]*", + "description": "BioKC (Biological Knowledge Curation), is a web-based collaborative platform for the curation and annotation of biomedical knowledge following the standard data model from Systems Biology Markup Language (SBML).", + "created": "2023-03-01T11:40:49.456+00:00", + "modified": "2023-03-01T11:40:49.456+00:00", + "resources": [ + { + "id": 3473, + "mirId": "MIR:00000994", + "urlPattern": "https://biokb.lcsb.uni.lu/fact/{$id}", + "name": "Luxembourg Centre for Systems Biomedicine", + "description": "The LCSB is accelerating biomedical research by closing the link between systems biology and medical research. Collaboration between biologists, medical doctors, computer scientists, physicists, engineers and mathematicians is offering new insights in complex systems like cells, organs, and organisms. These insights are essential for understanding principal mechanisms of disease pathogenesis and for developing new tools in diagnostics and therapy.", + "official": true, + "providerCode": "bkc", + "sampleId": "bkc640", + "resourceHomeUrl": "https://wwwen.uni.lu/lcsb", + "institution": { + "id": 3471, + "name": "University of Luxembourg", + "homeUrl": "https://wwwen.uni.lu/", + "description": "Founded in 2003, the University of Luxembourg is the only public university of the Grand Duchy of Luxembourg.\nMultilingual, international and research-oriented, it is also a modern institution with a personal atmosphere.", + "rorId": "https://ror.org/036x5ad56", + "location": { + "countryCode": "LU", + "countryName": "Luxembourg" + } + }, + "location": { + "countryCode": "LU", + "countryName": "Luxembourg" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "bkc640", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3486, + "prefix": "cstr", + "mirId": "MIR:00000998", + "name": "CSTR", + "pattern": "^\\w{5}\\.\\d{2}\\..*$", + "description": "CSTR is an identifier for Common Science and Technology Resources, to provide persistent identification services for the positioning, traceability, citation, statistics and evaluation of science and technology resources. ", + "created": "2023-04-04T09:37:11.265+00:00", + "modified": "2023-04-04T09:37:11.265+00:00", + "resources": [ + { + "id": 3487, + "mirId": "MIR:00000997", + "urlPattern": "https://cstr.cn/{$id}", + "name": "CSTR Identification Platform", + "description": "CSTR Identification Platform\uff08https://www.cstr.cn/en\uff09is initialed in 2016 based on the National Standard GB/T 32843\u20142016 \"Science and technology resource identification\", providing unique identification service for global scientific data, papers, scientific institutions, researchers, scientific instruments, patents and other scientific and technological resources. CSTR is also accepted as the international standard, such as IANA., etc.", + "official": true, + "providerCode": "", + "sampleId": "31253.11.sciencedb.j00001.00123", + "resourceHomeUrl": "https://www.cstr.cn/en/", + "institution": { + "id": 3485, + "name": "Computer Network Information Center, Chinese Academy of Sciences, Beijing, China.", + "homeUrl": "http://english.cnic.cas.cn/", + "description": "Computer Network Information Center (CNIC) of the Chinese Academy of Sciences (CAS) has a long history of providing network, computing and data services to the research community and science outreach services to the general public. ", + "rorId": "https://ror.org/01s0wyf50", + "location": { + "countryCode": "CN", + "countryName": "China" + } + }, + "location": { + "countryCode": "CN", + "countryName": "China" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "31253.11.sciencedb.j00001.00123", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3494, + "prefix": "obv", + "mirId": "MIR:00001000", + "name": "Austrian Library Network", + "pattern": "AC[0-9]{8}", + "description": "The Austrian Library Network (OBV) is the largest network of scientific and administrative libraries in Austria with 70 participants, representing more than 90 individual institutions - including the Austrian National Library, university libraries, the colleges of education, individual ministries, numerous technical colleges and other important collections.", + "created": "2023-04-11T08:16:21.531+00:00", + "modified": "2023-04-11T08:16:21.531+00:00", + "resources": [ + { + "id": 3495, + "mirId": "MIR:00000915", + "urlPattern": "https://permalink.obvsg.at/{$id}", + "name": "The Austrian Library Network and Service Ltd", + "description": "OBVSG is the service and operational management facility of the Austrian Library Network (OBV), a cataloguing and services consortium. This is the largest network of scientific and administrative libraries in Austria with 70 participants, representing more than 90 individual institutions - including the Austrian National Library, university libraries, the colleges of education, individual ministries, numerous technical colleges and other important collections.", + "official": true, + "providerCode": "obvsg", + "sampleId": "AC00963334", + "resourceHomeUrl": "https://www.obvsg.at/", + "institution": { + "id": 3493, + "name": "The Austrian Library Network and Service Ltd", + "homeUrl": "https://www.obvsg.at/", + "description": "OBVSG is the service and operational management facility of the Austrian Library Network (OBV), a cataloguing and services consortium. This is the largest network of scientific and administrative libraries in Austria with 70 participants, representing more than 90 individual institutions - including the Austrian National Library, university libraries, the colleges of education, individual ministries, numerous technical colleges and other important collections.", + "rorId": null, + "location": { + "countryCode": "AT", + "countryName": "Austria" + } + }, + "location": { + "countryCode": "AT", + "countryName": "Austria" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "AC00963334", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3501, + "prefix": "gnd", + "mirId": "MIR:00001002", + "name": "Gemeinsame Normdatei", + "pattern": "[0-9X\\-]+", + "description": "The Gemeinsame Normdatei (Integrated Authority File) or GND is an international authority file for person names, subject headings and corporate bodies. It is used mainly for documentation in libraries and increasingly also by archives and museums. The GND is managed by the German National Library in cooperation with various regional library networks in German-speaking Europe and other partners.", + "created": "2023-04-14T08:41:21.064+00:00", + "modified": "2023-04-14T08:41:21.064+00:00", + "resources": [ + { + "id": 3502, + "mirId": "MIR:00001001", + "urlPattern": "https://lobid.org/gnd/{$id}", + "name": "lobid \u2013 data infrastructure for libraries", + "description": "lobid provides Linked Open Data (LOD) services for libraries, consisting of user interfaces (UIs) and application programming interfaces (APIs). lobid is run by the North Rhine-Westphalian Library Service Centre (hbz).", + "official": true, + "providerCode": "lobid-gnd", + "sampleId": "117145750", + "resourceHomeUrl": "https://lobid.org/", + "institution": { + "id": 3500, + "name": "Hochschulbibliothekszentrum des Landes Nordrhein-Westfalen", + "homeUrl": "https://www.hbz-nrw.de/", + "description": "The North Rhine-Westphalia University Library Centre (hbz) is a central service and development institution for university libraries in North Rhine-Westphalia and Rhineland-Palatinate.", + "rorId": null, + "location": { + "countryCode": "DE", + "countryName": "Germany" + } + }, + "location": { + "countryCode": "DE", + "countryName": "Germany" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "117145750", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3510, + "prefix": "omid", + "mirId": "MIR:00001004", + "name": "OpenCitations Meta Identifier", + "pattern": "^[a-z][a-z]/06[1-9]*0[1-9][0-9]*$", + "description": "Every entity in OpenCitations Meta (https://opencitations.net/meta) is assigned persistent internal identifier called OpenCitations Meta Identifier (OMID). The OMID has structure [[entity_type_abbreviation]]/[[supplier_prefix]][[sequential_number]]. For example, the first journal article ever processed has OMID br/0601 (the full URI is https://w3id.org/oc/meta/br/0601), where br is the abbreviation of bibliographic resource, and 060 corresponds to the supplier prefix, helpful in recognising at a glance the index it belongs to (i.e., OpenCitations Meta). Finally, 1 indicates that this is the index's first bibliographic resource ever minted.", + "created": "2023-04-28T08:49:50.354+00:00", + "modified": "2023-04-28T08:49:50.354+00:00", + "resources": [ + { + "id": 3511, + "mirId": "MIR:00001003", + "urlPattern": "https://w3id.org/oc/meta/{$id}", + "name": "OpenCitations", + "description": "OpenCitations is an independent not-for-profit infrastructure organization for open scholarship dedicated to the publication of open bibliographic and citation data by the use of Semantic Web (Linked Data) technologies. It is also engaged in advocacy for open citations, particularly in its role as a key founding member of the Initiative for Open Citations (I4OC). For administrative convenience, OpenCitations is managed by the Research Centre for Open Scholarly Metadata at the University of Bologna.", + "official": true, + "providerCode": "oc", + "sampleId": "br/0601", + "resourceHomeUrl": "http://opencitations.net/", + "institution": { + "id": 1919, + "name": "OpenCitations", + "homeUrl": "http://opencitations.net/", + "description": "OpenCitations is an independent not-for-profit infrastructure organization for open scholarship dedicated to the publication of open bibliographic and citation data by the use of Semantic Web (Linked Data) technologies. It is also engaged in advocacy for open citations, particularly in its role as a key founding member of the Initiative for Open Citations (I4OC). For administrative convenience, OpenCitations is managed by the Research Centre for Open Scholarly Metadata at the University of Bologna.", + "rorId": "https://ror.org/00wb4mk85", + "location": { + "countryCode": "IT", + "countryName": "Italy" + } + }, + "location": { + "countryCode": "IT", + "countryName": "Italy" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "br/0601", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3180, + "prefix": "dg.vp07", + "mirId": "MIR:00000938", + "name": "Veterans Precision Oncology Data Commons", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "The Veterans Data Commons supports the management, analysis and sharing of veteran oncologic data for the research community and aims to accelerate discovery and development of therapies, diagnostic tests, and other technologies for precision oncology.", + "created": "2022-02-27T20:37:55.926+00:00", + "modified": "2023-04-28T10:42:52.298+00:00", + "resources": [ + { + "id": 3181, + "mirId": "MIR:00000937", + "urlPattern": "https://vpodc.data-commons.org/ga4gh/drs/v1/objects/{$id}", + "name": "Veterans Precision Oncology Data Commons", + "description": "The Veterans Data Commons supports the management, analysis and sharing of veteran oncologic data for the research community and aims to accelerate discovery and development of therapies, diagnostic tests, and other technologies for precision oncology.", + "official": true, + "providerCode": "dg.VP07", + "sampleId": "000bf826-73ba-4685-aa6c-3e0971a2f260", + "resourceHomeUrl": "https://vpodc.data-commons.org/", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "000bf826-73ba-4685-aa6c-3e0971a2f260", + "namespaceEmbeddedInLui": false, + "deprecated": true, + "deprecationDate": "2023-04-28T10:42:52.292+00:00", + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3527, + "prefix": "togovar", + "mirId": "MIR:00001006", + "name": "TogoVar", + "pattern": "^tgv[0-9]+$", + "description": "TogoVar (A comprehensive Japanese genetic variation database) is a database that has collected and organized genome sequence differences between individuals (variants) in the Japanese population and disease information associated with them.", + "created": "2023-05-02T09:41:15.113+00:00", + "modified": "2023-05-02T09:41:15.113+00:00", + "resources": [ + { + "id": 3528, + "mirId": "MIR:00001005", + "urlPattern": "https://grch38.togovar.org/variant/{$id}", + "name": "Database Center for Life Science, Kashiwa, Chiba, Japan", + "description": "Database Center for Life Science (DBCLS) is a part of Research Organization of Information and Systems (ROIS) and has been developing new technologies, services and standards for integrating biological databases, which include those developed and maintained in Japan as well as world-renowned databases.", + "official": true, + "providerCode": "dbcls", + "sampleId": "tgv139393198", + "resourceHomeUrl": "https://grch38.togovar.org/", + "institution": { + "id": 3526, + "name": "Database Center for Life Science, Kashiwa, Chiba, Japan", + "homeUrl": "https://dbcls.rois.ac.jp/index-en.html", + "description": "Database Center for Life Science (DBCLS) is a part of Research Organization of Information and Systems (ROIS) and has been developing new technologies, services and standards for integrating biological databases, which include those developed and maintained in Japan as well as world-renowned databases.", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "tgv139393198", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3533, + "prefix": "dg.va03", + "mirId": "MIR:00001104", + "name": "VA Data Commons", + "pattern": "[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}", + "description": "The VA Data Commons supports the research and analysis of US military Veteran medical and genomic data and aims to accelerate scientific discovery and development of therapies, diagnostic tests, and other technologies for improving the lives of Veterans and beyond.\n", + "created": "2023-05-02T09:56:24.768+00:00", + "modified": "2023-05-02T09:56:24.768+00:00", + "resources": [ + { + "id": 3534, + "mirId": "MIR:00001007", + "urlPattern": "https://va.data-commons.org/ga4gh/drs/v1/objects/{$id}", + "name": "VA Data Commons", + "description": "The VA Data Commons supports the research and analysis of US military Veteran medical and genomic data and aims to accelerate scientific discovery and development of therapies, diagnostic tests, and other technologies for improving the lives of Veterans and beyond.", + "official": true, + "providerCode": "vadc", + "sampleId": "00990747-f66a-4b1e-a6d2-3f08c5c1461f", + "resourceHomeUrl": "https://va.data-commons.org/", + "institution": { + "id": 2820, + "name": "Open Commons Consortium", + "homeUrl": "https://www.occ-data.org/", + "description": "The Open Commons Consortium (OCC) manages and operates cloud computing, data commons, and data ecosystems to advance scientific, medical, health care and environmental research for human and societal impact.", + "rorId": null, + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "00990747-f66a-4b1e-a6d2-3f08c5c1461f", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3536, + "prefix": "nando", + "mirId": "MIR:00001010", + "name": "Nanbyo Disease Ontology", + "pattern": "^NANDO:[0-9]+$", + "description": "Nanbyo Disease Ontology (NANDO) is the ontology creating a comprehensive hierarchical controlled vocabulary for intractable and rare disease (i.e., nanbyo) representation in Japan.", + "created": "2023-05-09T12:26:02.992+00:00", + "modified": "2023-05-09T13:07:17.390+00:00", + "resources": [ + { + "id": 3537, + "mirId": "MIR:00001009", + "urlPattern": "https://nanbyodata.jp/disease/NANDO:{$id}", + "name": "Database Center for Life Science, Kashiwa, Chiba, Japan", + "description": "Database Center for Life Science (DBCLS) is a part of Research Organization of Information and Systems (ROIS) and has been developing new technologies, services and standards for integrating biological databases, which include those developed and maintained in Japan as well as world-renowned databases.", + "official": true, + "providerCode": "dbcls", + "sampleId": "NANDO:1200031", + "resourceHomeUrl": "https://nanbyodata.jp/", + "institution": { + "id": 3526, + "name": "Database Center for Life Science, Kashiwa, Chiba, Japan", + "homeUrl": "https://dbcls.rois.ac.jp/index-en.html", + "description": "Database Center for Life Science (DBCLS) is a part of Research Organization of Information and Systems (ROIS) and has been developing new technologies, services and standards for integrating biological databases, which include those developed and maintained in Japan as well as world-renowned databases.", + "rorId": null, + "location": { + "countryCode": "JP", + "countryName": "Japan" + } + }, + "location": { + "countryCode": "JP", + "countryName": "Japan" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "1200031", + "namespaceEmbeddedInLui": true, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 1831, + "prefix": "oci", + "mirId": "MIR:00000660", + "name": "OCI", + "pattern": "^0[1-9]+0[0-9]+-0[1-9]+0[0-9]+$", + "description": "Each OCI (Open Citation Identifier) has a simple structure: oci:-, where \u201coci:\u201d is the identifier prefix, and is used to identify a citation as a first-class data entity - see https://doi.org/10.6084/m9.figshare.7127816.v2 for additional information. In each OCI, the first is the identifier for the citing bibliographic resource, while the second is the identifier for the cited bibliographic resource.", + "created": "2019-06-11T14:18:13.968+00:00", + "modified": "2023-05-12T15:05:01.546+00:00", + "resources": [ + { + "id": 1833, + "mirId": "MIR:00100878", + "urlPattern": "https://w3id.org/oc/oci/{$id}", + "name": "OpenCitations", + "description": "OpenCitations", + "official": false, + "providerCode": "CURATOR_REVIEW", + "sampleId": "01027931310-01022252312", + "resourceHomeUrl": "http://opencitations.net", + "institution": { + "id": 1919, + "name": "OpenCitations", + "homeUrl": "http://opencitations.net/", + "description": "OpenCitations is an independent not-for-profit infrastructure organization for open scholarship dedicated to the publication of open bibliographic and citation data by the use of Semantic Web (Linked Data) technologies. It is also engaged in advocacy for open citations, particularly in its role as a key founding member of the Initiative for Open Citations (I4OC). For administrative convenience, OpenCitations is managed by the Research Centre for Open Scholarly Metadata at the University of Bologna.", + "rorId": "https://ror.org/00wb4mk85", + "location": { + "countryCode": "IT", + "countryName": "Italy" + } + }, + "location": { + "countryCode": "IT", + "countryName": "Italy" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "01027931310-01022252312", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3571, + "prefix": "drs.anv0", + "mirId": "MIR:00001014", + "name": "AnVIL DRS", + "pattern": "^v2_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", + "description": "This namespace is used for GA4GH Data Repository Service (DRS) access to the USA National Institutes of Health (NIH), National Human Genome Research Institute (NHGRI), Genomic Analysis, Visualization and Informatics Lab-space (AnVIL) program data. AnVIL is a cloud-based genomic data sharing and analysis platform which facilitates integration and computing on and across large datasets generated by NHGRI programs, as well as initiatives funded by the National Institutes of Health (NIH) or by other agencies that support human genomics research. ", + "created": "2023-06-01T09:26:38.236+00:00", + "modified": "2023-06-01T09:26:38.236+00:00", + "resources": [ + { + "id": 3572, + "mirId": "MIR:00001011", + "urlPattern": "https://data.terra.bio/ga4gh/drs/v1/objects/{$id}", + "name": "National Human Genome Research Institute", + "description": "NHGRI offers access to reliable and timely information about genomics research and the human genome. Our resources and partnerships help spark scientific curiosity, improve genomic literacy, and foster engagement among learners in different communities.", + "official": true, + "providerCode": "data.terra.bio", + "sampleId": "v2_1b0f158a-86e2-3887-b990-89e3cf2d9082", + "resourceHomeUrl": "https://www.genome.gov/", + "institution": { + "id": 3568, + "name": "National Human Genome Research Institute", + "homeUrl": "https://www.genome.gov/", + "description": "NHGRI offers access to reliable and timely information about genomics research and the human genome. Our resources and partnerships help spark scientific curiosity, improve genomic literacy, and foster engagement among learners in different communities.", + "rorId": "https://ror.org/00baak391", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "v2_1b0f158a-86e2-3887-b990-89e3cf2d9082", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + }, + { + "id": 3609, + "prefix": "cog", + "mirId": "MIR:00000930", + "name": "COG", + "pattern": "^COG[0-9]+$", + "description": "Database of Clusters of Orthologous Genes (COGs). This database defines all orthologs of protein sequences coded by known genomes. The species name, protein name, and phylogenetic tree of orthologous clusters can be viewed through this site. Each cluster is comprised of individual proteins and its paralogs, matched to evolutionarily conserved molecular domains.", + "created": "2023-07-19T09:43:16.685+00:00", + "modified": "2023-07-19T09:43:16.685+00:00", + "resources": [ + { + "id": 3610, + "mirId": "MIR:00001025", + "urlPattern": "https://www.ncbi.nlm.nih.gov/research/cog/cog/{$id}/", + "name": "National Center for Biotechnology Information", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "official": true, + "providerCode": "ncbi", + "sampleId": "COG1806", + "resourceHomeUrl": "https://www.ncbi.nlm.nih.gov/", + "institution": { + "id": 26, + "name": "National Center for Biotechnology Information", + "homeUrl": "https://www.ncbi.nlm.nih.gov/", + "description": "The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.", + "rorId": "https://ror.org/02meqm098", + "location": { + "countryCode": "US", + "countryName": "United States" + } + }, + "location": { + "countryCode": "US", + "countryName": "United States" + }, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "protectedUrls": false, + "renderProtectedLanding": false, + "authHelpUrl": null, + "authHelpDescription": null + } + ], + "sampleId": "COG1806", + "namespaceEmbeddedInLui": false, + "deprecated": false, + "deprecationDate": null, + "deprecationOfflineDate": null, + "renderDeprecatedLanding": false, + "deprecationStatement": null, + "infoOnPostmortemAccess": null, + "successor": null + } + ] + } +} \ No newline at end of file diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/TestUtils.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/TestUtils.java new file mode 100644 index 00000000..228231b5 --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/TestUtils.java @@ -0,0 +1,111 @@ +package de.uni_halle.informatik.biodata.mp; + +import org.sbml.jsbml.AbstractNamedSBase; +import org.sbml.jsbml.AbstractSBase; +import org.sbml.jsbml.CVTerm; + +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.stream.Collectors; + +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; + +public class TestUtils { + + + public static void assertCVTermIsPresent(AbstractNamedSBase entity, + CVTerm.Type t, + CVTerm.Qualifier q) { + assertCVTermIsPresent(entity, t, q, null, "CVTerm of type " + t.toString() + + ", " + q.toString() + " not present on entity " + + entity.getId()); + } + + public static void assertCVTermIsPresent(AbstractNamedSBase entity, + CVTerm.Type t, + CVTerm.Qualifier q, + String uri) { + assertCVTermIsPresent(entity, t, q, uri, "CVTerm of type " + t.toString() + + ", " + q.toString() + " with URI " + uri + " not present on entity " + + entity.getId()); + } + + + public static void assertCVTermIsPresent(AbstractNamedSBase entity, + CVTerm.Type t, + CVTerm.Qualifier q, + String uri, + String message) { + var cvTerms = entity.getCVTerms(); + for (var term : cvTerms) { + for (var r : term.getResources()) { + if (term.getQualifierType().equals(t) + && (null == q || term.getQualifier().equals(q)) + && (null == uri || r.equals(uri))) { + assertTrue(true); + return; + } + } + } + fail(message); + } + + public static void assertCVTermsArePresent(AbstractSBase entity, + CVTerm.Type t, + CVTerm.Qualifier q, + Collection uris, + String message) { + var cvTerms = entity.getCVTerms(); + for(var term : cvTerms) { + // this is just an awkward way to implement set difference, sorry bout that + Collection us = null; + if(null != uris) { + us = new HashSet<>(new HashSet<>(uris)); + us.removeAll(term.getResources()); + } + // <- until here + + if (term.getQualifierType().equals(t) + && (null == q || term.getQualifier().equals(q)) + && (null == uris || us.isEmpty())) { + assertTrue(true); + return; + } + } + fail(message + "Instead: " + entity.getCVTerms().stream() + .map(CVTerm::getResources) + .flatMap(List::stream) + .collect(Collectors.joining("\n"))); + } + + /** + * This is a development-time utility, which serves to quickly get a glimpse + * of which CV Terms are present on an entity to ease writing assertions. + */ + public static String printCVTerm(CVTerm c) { + var newline = System.lineSeparator(); + return String.join(newline, c.getQualifierType().toString(), + c.getQualifier().toString(), + String.join(", ", c.getResources())); + } + + /** + * This is a development-time utility, which serves to quickly print assertions. + */ + public static String printCVTermAssertion(CVTerm c) { + var newline = System.lineSeparator(); + return "assertCVTermIsPresent(__," + newline + + "CVTerm.Type." + c.getQualifierType().toString() + "," + newline + + "CVTerm.Qualifier." + c.getQualifier().toString() + "," + newline + + "\"" + String.join("\", \"", c.getResources()) + + "\");"; + } + + public static String printAllCVTerms(AbstractNamedSBase entity) { + var newline = System.lineSeparator(); + return entity.getCVTerms().stream().map(TestUtils::printCVTermAssertion).collect(Collectors.joining(newline)); + } + +} diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBDBContainerTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBDBContainerTest.java new file mode 100644 index 00000000..127504a8 --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBDBContainerTest.java @@ -0,0 +1,42 @@ +package de.uni_halle.informatik.biodata.mp.annotation.adb; + +import de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDB; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB; +import org.junit.AfterClass; +import org.testcontainers.containers.GenericContainer; +import org.testcontainers.junit.jupiter.Testcontainers; +import org.testcontainers.utility.DockerImageName; + +import java.time.Duration; + +@Testcontainers +public abstract class ADBDBContainerTest { + + @SuppressWarnings("resource") + static final GenericContainer adbContainer = + new GenericContainer<>(DockerImageName.parse("schmirgel/annotatedb:0.1.1")) + .withExposedPorts(5432) + .withReuse(true) + .withEnv("POSTGRES_PASSWORD", "postgres") + .withStartupTimeout(Duration.ofMinutes(5)); + + protected static final AnnotateDB adb; + + static { + adbContainer.start(); + AnnotateDB.init( + adbContainer.getHost(), + adbContainer.getFirstMappedPort(), + "postgres", + "postgres", + "adb"); + adb = new AnnotateDB(); + } + + @AfterClass + public static void tearDown() { + if (adbContainer != null) { + adbContainer.close(); + } + } +} diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBReactionAnnotatorTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBReactionAnnotatorTest.java new file mode 100644 index 00000000..91814776 --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/adb/ADBReactionAnnotatorTest.java @@ -0,0 +1,46 @@ +package de.uni_halle.informatik.biodata.mp.annotation.adb; + +import de.uni_halle.informatik.biodata.mp.parameters.ADBAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; +import org.junit.jupiter.api.Test; +import org.sbml.jsbml.CVTerm; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.sbml.jsbml.ext.fbc.FBCReactionPlugin; +import org.sbml.jsbml.ext.fbc.FBCSpeciesPlugin; + +import java.sql.SQLException; + +import static de.uni_halle.informatik.biodata.mp.TestUtils.assertCVTermIsPresent; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; + +public class ADBReactionAnnotatorTest extends ADBDBContainerTest{ + + // http://identifiers.org/metanetx.reaction/MNXR142736 + + private final ADBAnnotationParameters adbAnnotationParameters = new ADBAnnotationParameters(); + private final SBOParameters sboParameters = new SBOParameters(); + + + @Test + public void basicAnnotationTest() throws SQLException { + var m = new Model("iECSP_1301", 3, 1); + var r = m.createReaction("R_DM_5drib_c"); + r.setMetaId("R_DM_5drib_c"); + r.setSBOTerm(628); + r.setCompartment("c"); + r.setFast(false); + r.setReversible(false); + r.addCVTerm(new CVTerm( + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + "https://identifiers.org/metanetx.reaction/MNXR142736")); + var sFbcPlugin = (FBCReactionPlugin) r.getPlugin(FBCConstants.shortLabel); + + new ADBReactionsAnnotator(adb, adbAnnotationParameters).annotate(r); + + assertEquals(1, r.getCVTerm(0).getNumResources()); + } + +} diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGCompartmentsAnnotatorTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGCompartmentsAnnotatorTest.java new file mode 100644 index 00000000..303d73a2 --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGCompartmentsAnnotatorTest.java @@ -0,0 +1,52 @@ +package de.uni_halle.informatik.biodata.mp.annotation.bigg; + +import de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg; +import org.junit.jupiter.api.Test; +import org.sbml.jsbml.CVTerm; +import org.sbml.jsbml.Compartment; +import org.sbml.jsbml.SBO; + +import java.sql.SQLException; + +import static de.uni_halle.informatik.biodata.mp.TestUtils.*; +import static org.junit.jupiter.api.Assertions.*; + +public class BiGGCompartmentsAnnotatorTest extends BiGGDBContainerTest { + + private final BiGGAnnotationParameters parameters = new BiGGAnnotationParameters(); + + @Test + public void annotateKnownCompartments() throws SQLException { + for (var c_id : bigg.getAllBiggIds("compartment")) { + var c = new Compartment(c_id,3, 2); + + assertTrue( c.getCVTerms().isEmpty()); + assertFalse(c.isSetName()); + assertFalse(c.isSetSBOTerm()); + c.setSBOTerm(537); + assertNotEquals(SBO.getCompartment(), c.getSBOTerm()); + + new BiGGCompartmentsAnnotator(bigg, parameters, new IdentifiersOrg()).annotate(c); + + assertEquals(1, c.getCVTerms().size()); + assertCVTermIsPresent(c, + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS); + assertTrue(c.isSetName()); + assertEquals(SBO.getCompartment(), c.getSBOTerm()); + } + } + + @Test + public void nameAnnotationIsSane() throws SQLException { + var c = new Compartment("im", "default",3, 2); + + new BiGGCompartmentsAnnotator(bigg, parameters, new IdentifiersOrg()).annotate(c); + + assertTrue(c.isSetName()); + assertEquals("intermembrane space of mitochondria", c.getName()); + } + +} + diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGDBContainerTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGDBContainerTest.java new file mode 100644 index 00000000..5732a34a --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGDBContainerTest.java @@ -0,0 +1,42 @@ +package de.uni_halle.informatik.biodata.mp.annotation.bigg; + +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGDB; + +import org.junit.AfterClass; +import org.testcontainers.containers.GenericContainer; +import org.testcontainers.junit.jupiter.Testcontainers; +import org.testcontainers.utility.DockerImageName; + +import java.time.Duration; + +@Testcontainers +public abstract class BiGGDBContainerTest { + + @SuppressWarnings("resource") + static final GenericContainer biggContainer = + new GenericContainer<>(DockerImageName.parse("schmirgel/bigg_db:1.6")) + .withExposedPorts(5432) + .withReuse(true) + .withEnv("POSTGRES_PASSWORD", "postgres") + .withStartupTimeout(Duration.ofMinutes(5)); + + protected static final BiGGDB bigg; + + static { + biggContainer.start(); + BiGGDB.init( + biggContainer.getHost(), + biggContainer.getFirstMappedPort(), + "postgres", + "postgres", + "bigg"); + bigg = new BiGGDB(); + } + + @AfterClass + public static void tearDown() { + if (biggContainer != null) { + biggContainer.close(); + } + } +} diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGModelAnnotatorTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGModelAnnotatorTest.java new file mode 100644 index 00000000..f4599a05 --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGModelAnnotatorTest.java @@ -0,0 +1,50 @@ +package de.uni_halle.informatik.biodata.mp.annotation.bigg; + +import de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg; +import org.junit.jupiter.api.Test; +import org.sbml.jsbml.CVTerm; +import org.sbml.jsbml.Model; + +import java.sql.SQLException; + +import static de.uni_halle.informatik.biodata.mp.TestUtils.assertCVTermIsPresent; +import static org.junit.jupiter.api.Assertions.*; + +public class BiGGModelAnnotatorTest extends BiGGDBContainerTest { + + private final BiGGAnnotationParameters biGGAnnotationParameters = new BiGGAnnotationParameters( + false, + true, + null, + null, + null + ); + + @Test + public void basicModelAnnotation() throws SQLException { + var m = new Model("iJO1366", 3,2); + + assertFalse(m.isSetMetaId()); + assertTrue(m.getCVTerms().isEmpty()); + + new BiGGModelAnnotator(bigg, biGGAnnotationParameters, new IdentifiersOrg()).annotate(m); + + assertTrue(m.isSetMetaId()); + assertEquals(3, m.getCVTerms().size()); + assertCVTermIsPresent(m, + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_HAS_TAXON, + "https://identifiers.org/taxonomy/511145"); + assertCVTermIsPresent(m, + CVTerm.Type.MODEL_QUALIFIER, + CVTerm.Qualifier.BQM_IS, + "https://identifiers.org/bigg.model/iJO1366"); + assertCVTermIsPresent(m, + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS_VERSION_OF, + "https://identifiers.org/refseq/NC_000913.3", + "Expected NCBI refseq accession NC_000913.3 not present on the model."); + } + +} diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGReactionsAnnotatorTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGReactionsAnnotatorTest.java new file mode 100644 index 00000000..789aa122 --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGReactionsAnnotatorTest.java @@ -0,0 +1,179 @@ +package de.uni_halle.informatik.biodata.mp.annotation.bigg; + +import de.uni_halle.informatik.biodata.mp.annotation.adb.ADBReactionsAnnotator; +import de.uni_halle.informatik.biodata.mp.io.ModelReader; +import de.uni_halle.informatik.biodata.mp.io.ModelReaderException; +import de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters; +import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; +import de.uni_halle.informatik.biodata.mp.polishing.ReactionsPolisher; +import de.uni_halle.informatik.biodata.mp.polishing.ReactionsPolisherTest; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg; +import org.junit.jupiter.api.Test; +import org.sbml.jsbml.CVTerm; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.Reaction; +import org.sbml.jsbml.SBMLDocument; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.sbml.jsbml.ext.fbc.FBCReactionPlugin; +import org.sbml.jsbml.ext.fbc.GeneProductRef; +import org.sbml.jsbml.ext.groups.GroupsConstants; +import org.sbml.jsbml.ext.groups.GroupsModelPlugin; +import org.sbml.jsbml.ext.groups.Member; + +import javax.xml.stream.XMLStreamException; +import java.io.File; +import java.sql.SQLException; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +import static org.junit.jupiter.api.Assertions.*; + +public class BiGGReactionsAnnotatorTest extends BiGGDBContainerTest { + + private final BiGGAnnotationParameters biGGAnnotationParameters = new BiGGAnnotationParameters( + false, + true, + null, + null, + null + ); + + private final SBOParameters sboParameters = new SBOParameters(); + + public BiGGReactionsAnnotatorTest() throws ModelReaderException { + } + + private SBMLDocument model1507180049() throws ModelReaderException { + return new ModelReader(sboParameters, new IdentifiersOrg()).read( + new File(ReactionsPolisherTest.class.getClassLoader().getResource("de/uni_halle/informatik/biodata/mp/models/MODEL1507180049.xml").getFile())); + } + + private SBMLDocument model2310300002() throws ModelReaderException { + return new ModelReader(sboParameters, new IdentifiersOrg()).read( + new File(ReactionsPolisherTest.class.getClassLoader().getResource("de/uni_halle/informatik/biodata/mp/models/MODEL2310300002.xml").getFile())); + } + + @Test + public void getBiGGIdFromResourcesTest() throws SQLException { + var m = new Model("iJO1366", 3, 2); + var r1 = m.createReaction("some_name"); + var r2 = m.createReaction("some_other_name"); + var r3 = m.createReaction("some_third_name"); + + r1.setCompartment("m"); + r1.addCVTerm(new CVTerm( + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + "http://identifiers.org/biocyc/META:ACETATEKIN-RXN")); + + r2.setCompartment("e"); + r2.addCVTerm(new CVTerm( + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + "http://identifiers.org/metanetx.reaction/MNXR103371")); + + r3.setCompartment("c"); + r3.addCVTerm(new CVTerm( + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + "http://identifiers.org/kegg.reaction/R00299")); + + var gPlugin = (GroupsModelPlugin) m.getPlugin(GroupsConstants.shortLabel); + assertEquals(0, gPlugin.getGroupCount()); + + new BiGGReactionsAnnotator(bigg, biGGAnnotationParameters, sboParameters, new IdentifiersOrg()).annotate(r1); + new BiGGReactionsAnnotator(bigg, biGGAnnotationParameters, sboParameters, new IdentifiersOrg()).annotate(r2); + new BiGGReactionsAnnotator(bigg, biGGAnnotationParameters, sboParameters, new IdentifiersOrg()).annotate(r3); + + var r1FbcPlugin = (FBCReactionPlugin) r1.getPlugin(FBCConstants.shortLabel); + var gpa1 = r1FbcPlugin.getGeneProductAssociation(); + assertNull(gpa1); + assertEquals("Acetate kinase, mitochondrial", r1.getName()); + assertEquals(1, r1.getCVTermCount()); + assertEquals(11, r1.getCVTerm(0).getNumResources()); + + var r2FbcPlugin = (FBCReactionPlugin) r2.getPlugin(FBCConstants.shortLabel); + var gpa2 = r2FbcPlugin.getGeneProductAssociation(); + assertNull(gpa2); + assertEquals("", r2.getName()); + assertEquals(1, r2.getCVTermCount()); + assertEquals(1, r2.getCVTerm(0).getNumResources()); + + var r3FbcPlugin = (FBCReactionPlugin) r3.getPlugin(FBCConstants.shortLabel); + var gpa3 = r3FbcPlugin.getGeneProductAssociation(); + assertNotNull(gpa3); + assertEquals("G_b2388", ((GeneProductRef) gpa3.getAssociation()).getGeneProduct()); + assertEquals("Hexokinase (D-glucose:ATP)", r3.getName()); + assertEquals(1, r3.getCVTermCount()); + assertEquals(11, r3.getCVTerm(0).getNumResources()); + + assertEquals(1, gPlugin.getGroupCount()); + assertEquals("glycolysis/gluconeogenesis", gPlugin.getGroup(0).getName()); + assertEquals(Set.of("some_third_name"), gPlugin.getGroup(0) + .getListOfMembers().stream().map(Member::getIdRef).collect(Collectors.toSet())); + + assertFalse(r3.isSetListOfReactants()); + assertFalse(r3.isSetListOfProducts()); + } + + @Test + public void annotationsArePulled() throws SQLException, XMLStreamException, ModelReaderException { + var doc = model1507180049(); + var m = doc.getModel(); + + Reaction rR0009 = m.getReaction("R_r0009"); + var fbc = (FBCReactionPlugin) rR0009.getPlugin(FBCConstants.shortLabel); + assertEquals("G_SCO1706", ((GeneProductRef) fbc.getGeneProductAssociation().getAssociation()).getGeneProduct()); + + assertEquals("glyceraldehyde dehydrogenase", rR0009.getName()); + assertEquals(0, rR0009.getAnnotation().getNumCVTerms()); + new BiGGReactionsAnnotator( + bigg, + biGGAnnotationParameters, + sboParameters, + new IdentifiersOrg()) + .annotate(doc.getModel().getListOfReactions()); + + assertEquals("Pyrophosphate phosphohydrolase EC:3.6.1.1", rR0009.getName()); + assertEquals(1, rR0009.getAnnotation().getNumCVTerms()); + assertEquals(58, rR0009.getCVTerm(0).getNumResources()); + } + + @Test + public void biggAnnotationsArePulled() throws SQLException, XMLStreamException, ModelReaderException { + var doc = model2310300002(); + var m = doc.getModel(); + + Reaction R_rxn00101_c0 = m.getReaction("R_rxn00101_c0"); + var fbc = (FBCReactionPlugin) R_rxn00101_c0.getPlugin(FBCConstants.shortLabel); + assertEquals(1, R_rxn00101_c0.getAnnotation().getNumCVTerms()); + assertEquals(2, R_rxn00101_c0.getCVTerm(0).getNumResources()); + + new ReactionsPolisher(new PolishingParameters(), sboParameters, new IdentifiersOrg()) + .polish(doc.getModel().getListOfReactions()); + new BiGGReactionsAnnotator( + bigg, + biGGAnnotationParameters, + sboParameters, + new IdentifiersOrg()) + .annotate(doc.getModel().getListOfReactions()); + + assertEquals(1, R_rxn00101_c0.getAnnotation().getNumCVTerms()); + assertEquals( + Set.of( + "https://identifiers.org/seed.reaction/rxn00101", + "https://identifiers.org/kegg.reaction/R00131", + "https://identifiers.org/bigg.reaction/UREA", + "https://identifiers.org/biocyc/META:UREASE-RXN", + "https://identifiers.org/ec-code/3.5.1.5", + "https://identifiers.org/metanetx.reaction/MNXR105153", + "https://identifiers.org/rhea/20557", + "https://identifiers.org/rhea/20558", + "https://identifiers.org/rhea/20559", + "https://identifiers.org/rhea/20560"), + new HashSet<>(R_rxn00101_c0.getCVTerm(0).getResources())); + } +} diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGSBMLAnnotatorTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGSBMLAnnotatorTest.java new file mode 100644 index 00000000..3b18f68a --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGSBMLAnnotatorTest.java @@ -0,0 +1,94 @@ +package de.uni_halle.informatik.biodata.mp.annotation.bigg; + +import de.uni_halle.informatik.biodata.mp.annotation.AnnotationOptions; +import de.uni_halle.informatik.biodata.mp.annotation.AnnotationException; +import de.uni_halle.informatik.biodata.mp.io.ModelReader; +import de.uni_halle.informatik.biodata.mp.io.ModelReaderException; +import de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.parameters.BiGGNotesParameters; +import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; +import de.uni_halle.informatik.biodata.mp.polishing.ReactionsPolisherTest; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg; +import org.junit.jupiter.api.Test; +import org.sbml.jsbml.CVTerm; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.Reaction; +import org.sbml.jsbml.SBMLDocument; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.sbml.jsbml.ext.fbc.FBCReactionPlugin; +import org.sbml.jsbml.ext.fbc.GeneProductRef; + +import javax.xml.stream.XMLStreamException; +import java.io.File; +import java.sql.SQLException; + +import static de.uni_halle.informatik.biodata.mp.TestUtils.assertCVTermIsPresent; +import static org.junit.jupiter.api.Assertions.*; + +public class BiGGSBMLAnnotatorTest extends BiGGDBContainerTest { + + private final BiGGAnnotationParameters biGGAnnotationParameters = new BiGGAnnotationParameters( + false, + true, + AnnotationOptions.DOCUMENT_TITLE_PATTERN.getDefaultValue(), + new BiGGNotesParameters(), + null + ); + + private final SBOParameters sboParameters = new SBOParameters(); + + + public BiGGSBMLAnnotatorTest() throws ModelReaderException { + } + + private SBMLDocument model1507180049() throws ModelReaderException { + return new ModelReader(sboParameters, new IdentifiersOrg()).read( + new File(ReactionsPolisherTest.class.getClassLoader().getResource("de/uni_halle/informatik/biodata/mp/models/MODEL1507180049.xml").getFile())); + } + + @Test + public void annotatePublication() throws SQLException, AnnotationException { + + var sbml = new SBMLDocument(3, 2); + var m = new Model("iJO1366", 3, 2); + sbml.setModel(m); + var annotator = new BiGGSBMLAnnotator(bigg, biGGAnnotationParameters, sboParameters, new IdentifiersOrg()); + + assertFalse(m.isSetMetaId()); + assertTrue(m.getCVTerms().isEmpty()); + + annotator.annotate(sbml); + + assertTrue(m.isSetMetaId()); + assertCVTermIsPresent(m, + CVTerm.Type.MODEL_QUALIFIER, + CVTerm.Qualifier.BQM_IS_DESCRIBED_BY, + "https://identifiers.org/pubmed/21988831", + "Expected pubmed publication reference 21988831 not present on the model."); + } + + @Test + public void annotationsArePulled() throws SQLException, XMLStreamException, ModelReaderException, AnnotationException { + var doc = model1507180049(); + var m = model1507180049().getModel(); + + Reaction rR0009 = m.getReaction("R_r0009"); + var fbc = (FBCReactionPlugin) rR0009.getPlugin(FBCConstants.shortLabel); + assertEquals("G_SCO1706", ((GeneProductRef) fbc.getGeneProductAssociation().getAssociation()).getGeneProduct()); + + assertEquals("glyceraldehyde dehydrogenase", rR0009.getName()); + assertEquals(0, rR0009.getAnnotation().getNumCVTerms()); + new BiGGSBMLAnnotator( + bigg, + biGGAnnotationParameters, + sboParameters, + new IdentifiersOrg()) + .annotate(doc); + + rR0009 = doc.getModel().getReaction("R_r0009"); + assertEquals("Pyrophosphate phosphohydrolase EC:3.6.1.1", rR0009.getName()); + assertEquals(1, rR0009.getAnnotation().getNumCVTerms()); + assertEquals(58, rR0009.getCVTerm(0).getNumResources()); + } + +} diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGSpeciesAnnotatorTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGSpeciesAnnotatorTest.java new file mode 100644 index 00000000..185c4e0c --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/BiGGSpeciesAnnotatorTest.java @@ -0,0 +1,309 @@ +package de.uni_halle.informatik.biodata.mp.annotation.bigg; + +import de.uni_halle.informatik.biodata.mp.io.ModelReader; +import de.uni_halle.informatik.biodata.mp.io.ModelReaderException; +import de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; +import de.uni_halle.informatik.biodata.mp.polishing.ReactionsPolisherTest; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg; +import org.junit.jupiter.api.Test; +import org.sbml.jsbml.*; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.sbml.jsbml.ext.fbc.FBCReactionPlugin; +import org.sbml.jsbml.ext.fbc.FBCSpeciesPlugin; +import org.sbml.jsbml.ext.fbc.GeneProductRef; + +import javax.xml.stream.XMLStreamException; +import java.io.File; +import java.sql.SQLException; +import java.util.Set; + +import static de.uni_halle.informatik.biodata.mp.TestUtils.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; + +public class BiGGSpeciesAnnotatorTest extends BiGGDBContainerTest { + + private final BiGGAnnotationParameters biGGAnnotationParameters = new BiGGAnnotationParameters(); + private final SBOParameters sboParameters = new SBOParameters(); + + + private SBMLDocument modelGCF_000021565() throws ModelReaderException { + return new ModelReader(sboParameters, new IdentifiersOrg()).read( + new File(ReactionsPolisherTest.class.getClassLoader().getResource("de/uni_halle/informatik/biodata/mp/models/GCF_000021565.1.xml").getFile())); + } + + + @Test + public void basicAnnotationTest() throws SQLException { + var m = new Model(3, 2); + var s = m.createSpecies("atp"); + var sFbcPlugin = (FBCSpeciesPlugin) s.getPlugin(FBCConstants.shortLabel); + + new BiGGSpeciesAnnotator(bigg, biGGAnnotationParameters, sboParameters, new IdentifiersOrg()).annotate(s); + + assertEquals("atp", s.getId()); + assertEquals("ATP C10H12N5O13P3", s.getName()); + assertCVTermIsPresent(s, + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + "https://identifiers.org/bigg.metabolite/atp"); + assertNull(sFbcPlugin.getChemicalFormula()); + } + + @Test + public void unknownMetaboliteCanBeInferredFromId() throws SQLException { + var m = new Model(3, 2); + var s = m.createSpecies("atp_c"); + + new BiGGSpeciesAnnotator(bigg, biGGAnnotationParameters, sboParameters, new IdentifiersOrg()).annotate(s); + + assertEquals("atp_c", s.getId()); + assertEquals("ATP C10H12N5O13P3", s.getName()); + assertCVTermsArePresent(s, + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + expectedATPAnnotations, + "Expected annotations are not present."); + } + + @Test + public void unknownMetaboliteCanBeInferredFromCV() throws SQLException { + var m = new Model(3, 2); + var s = m.createSpecies("big_chungus"); + + var cvTerm = new CVTerm(); + cvTerm.setQualifier(CVTerm.Qualifier.BQB_IS); + cvTerm.addResource("http://identifiers.org/reactome.compound/113592"); + s.addCVTerm(cvTerm); + + new BiGGSpeciesAnnotator(bigg, biGGAnnotationParameters, sboParameters, new IdentifiersOrg()).annotate(s); + + assertEquals("big_chungus", s.getId()); + assertEquals("ATP C10H12N5O13P3", s.getName()); + assertEquals(1, s.getCVTermCount()); + assertEquals(30, s.getCVTerm(0).getNumResources()); + assertCVTermIsPresent(s, + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + "http://identifiers.org/reactome.compound/113592"); + assertCVTermsArePresent(s, + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + expectedATPAnnotations, + "Expected uris are not present."); + } + + private static final Set expectedATPAnnotations = Set.of( + "https://identifiers.org/bigg.metabolite/atp", + "https://identifiers.org/biocyc/META:ATP", + "https://identifiers.org/chebi/CHEBI:10789", + "https://identifiers.org/chebi/CHEBI:10841", + "https://identifiers.org/chebi/CHEBI:13236", + "https://identifiers.org/chebi/CHEBI:15422", + "https://identifiers.org/chebi/CHEBI:22249", + "https://identifiers.org/chebi/CHEBI:2359", + "https://identifiers.org/chebi/CHEBI:237958", + "https://identifiers.org/chebi/CHEBI:30616", + "https://identifiers.org/chebi/CHEBI:40938", + "https://identifiers.org/chebi/CHEBI:57299", + "https://identifiers.org/hmdb/HMDB00538", + "https://identifiers.org/inchikey/ZKHQWZAMYRWXGA-KQYNXXCUSA-J", + "https://identifiers.org/kegg.compound/C00002", + "https://identifiers.org/kegg.drug/D08646", + "https://identifiers.org/metanetx.chemical/MNXM3", + "https://identifiers.org/reactome/R-ALL-113592", + "https://identifiers.org/reactome/R-ALL-113593", + "https://identifiers.org/reactome/R-ALL-211579", + "https://identifiers.org/reactome/R-ALL-29358", + "https://identifiers.org/reactome/R-ALL-389573", + "https://identifiers.org/reactome/R-ALL-5632460", + "https://identifiers.org/reactome/R-ALL-5696069", + "https://identifiers.org/reactome/R-ALL-6798184", + "https://identifiers.org/reactome/R-ALL-8869363", + "https://identifiers.org/reactome/R-ALL-8878982", + "https://identifiers.org/reactome/R-ALL-8938081", + "https://identifiers.org/seed.compound/cpd00002"); + + /** + * Note this serves to document the behaviour discussed in + * ... + *

    + * The annotations as are should likely not be considered correct. + */ + @Test + public void H2OAnnotationTest() throws SQLException { + var m = new Model(3, 2); + var s = m.createSpecies("h2o"); + var sFbcPlugin = (FBCSpeciesPlugin) s.getPlugin(FBCConstants.shortLabel); + + new BiGGSpeciesAnnotator(bigg, biGGAnnotationParameters, sboParameters, new IdentifiersOrg()).annotate(s); + + assertEquals("h2o", s.getId()); + assertEquals("H2O H2O", s.getName()); + assertNull(sFbcPlugin.getChemicalFormula()); + assertCVTermsArePresent(s, + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + Set.of("https://identifiers.org/bigg.metabolite/h2o", + "https://identifiers.org/biocyc/META:CPD-15815", + "https://identifiers.org/biocyc/META:HYDROXYL-GROUP", + "https://identifiers.org/biocyc/META:OH", + "https://identifiers.org/biocyc/META:OXONIUM", + "https://identifiers.org/biocyc/META:WATER", + "https://identifiers.org/chebi/CHEBI:10743", + "https://identifiers.org/chebi/CHEBI:13352", + "https://identifiers.org/chebi/CHEBI:13365", + "https://identifiers.org/chebi/CHEBI:13419", + "https://identifiers.org/chebi/CHEBI:15377", + "https://identifiers.org/chebi/CHEBI:16234", + "https://identifiers.org/chebi/CHEBI:27313", + "https://identifiers.org/chebi/CHEBI:29356", + "https://identifiers.org/chebi/CHEBI:29412", + "https://identifiers.org/chebi/CHEBI:30490", + "https://identifiers.org/chebi/CHEBI:33813", + "https://identifiers.org/chebi/CHEBI:42043", + "https://identifiers.org/chebi/CHEBI:42857", + "https://identifiers.org/chebi/CHEBI:43228", + "https://identifiers.org/chebi/CHEBI:44292", + "https://identifiers.org/chebi/CHEBI:44641", + "https://identifiers.org/chebi/CHEBI:44701", + "https://identifiers.org/chebi/CHEBI:44819", + "https://identifiers.org/chebi/CHEBI:5585", + "https://identifiers.org/chebi/CHEBI:5594", + "https://identifiers.org/hmdb/HMDB01039", + "https://identifiers.org/hmdb/HMDB02111", + "https://identifiers.org/inchikey/XLYOFNOQVPJJNP-UHFFFAOYSA-N", + "https://identifiers.org/kegg.compound/C00001", + "https://identifiers.org/kegg.compound/C01328", + "https://identifiers.org/kegg.drug/D00001", + "https://identifiers.org/kegg.drug/D06322", + "https://identifiers.org/metanetx.chemical/MNXM2", + "https://identifiers.org/reactome/R-ALL-109276", + "https://identifiers.org/reactome/R-ALL-113518", + "https://identifiers.org/reactome/R-ALL-113519", + "https://identifiers.org/reactome/R-ALL-113521", + "https://identifiers.org/reactome/R-ALL-141343", + "https://identifiers.org/reactome/R-ALL-1605715", + "https://identifiers.org/reactome/R-ALL-189422", + "https://identifiers.org/reactome/R-ALL-2022884", + "https://identifiers.org/reactome/R-ALL-29356", + "https://identifiers.org/reactome/R-ALL-351603", + "https://identifiers.org/reactome/R-ALL-5278291", + "https://identifiers.org/reactome/R-ALL-5668574", + "https://identifiers.org/reactome/R-ALL-5693747", + "https://identifiers.org/reactome/R-ALL-8851517", + "https://identifiers.org/seed.compound/cpd00001", + "https://identifiers.org/seed.compound/cpd15275", + "https://identifiers.org/seed.compound/cpd27222"), + "Expected annotations not on H2O."); + + } + + /** + * Same principle as above, just testing for kegg and biocyc too. + */ + @Test + public void getBiGGIdFromResourcesTest() throws SQLException { + var m = new Model("iJO1366", 3, 2); + var s1 = m.createSpecies("some_name"); + var s2 = m.createSpecies("some_other_name"); + + s1.addCVTerm(new CVTerm( + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + "https://identifiers.org/kegg.compound/C00001")); + + s2.addCVTerm(new CVTerm( + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + "https://identifiers.org/biocyc/META:ATP")); + + + // new SpeciesAnnotation(s1).annotate(); + new BiGGSpeciesAnnotator(bigg, biGGAnnotationParameters, sboParameters, new IdentifiersOrg()).annotate(s2); +// +// assertEquals(1, s1.getCVTermCount()); +// assertEquals(29, s1.getCVTerm(0).getNumResources()); + assertEquals(1, s2.getCVTermCount()); + assertEquals(29, s2.getCVTerm(0).getNumResources()); + } + + @Test + public void duplicatePatterns() throws SQLException { + var m = new Model(3, 2); + var s1 = m.createSpecies("big_chungus1"); + var s2 = m.createSpecies("big_chungus2"); + + var cvTerm1 = new CVTerm(); + cvTerm1.setQualifier(CVTerm.Qualifier.BQB_IS); + cvTerm1.addResource("https://identifiers.org/bigg.metabolite:10fthf"); + s1.addCVTerm(cvTerm1); + + var cvTerm2 = new CVTerm(); + cvTerm2.setQualifier(CVTerm.Qualifier.BQB_IS); + cvTerm2.addResource("https://identifiers.org/bigg.metabolite/10fthf"); + s2.addCVTerm(cvTerm2); + + new BiGGSpeciesAnnotator(bigg, biGGAnnotationParameters, sboParameters, new IdentifiersOrg()).annotate(s1); + new BiGGSpeciesAnnotator(bigg, biGGAnnotationParameters, sboParameters, new IdentifiersOrg()).annotate(s2); + + assertEquals("big_chungus1", s1.getId()); + assertEquals("10-Formyltetrahydrofolate", s1.getName()); + assertEquals(1, s1.getCVTermCount()); + assertEquals(15, s1.getCVTerm(0).getNumResources()); + assertCVTermIsPresent(s1, + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + "https://identifiers.org/bigg.metabolite:10fthf"); + assertCVTermIsPresent(s1, + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + "https://identifiers.org/reactome/R-ALL-419151"); + assertEquals(1, + s1.getCVTerm(0).getResources() + .stream() + .filter(resource -> resource.contains("bigg.metabolite")) + .count()); + + assertEquals("big_chungus2", s2.getId()); + assertEquals("10-Formyltetrahydrofolate", s2.getName()); + assertEquals(1, s2.getCVTermCount()); + assertEquals(15, s2.getCVTerm(0).getNumResources()); + assertCVTermIsPresent(s2, + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + "https://identifiers.org/bigg.metabolite/10fthf"); + assertCVTermIsPresent(s2, + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + "https://identifiers.org/reactome/R-ALL-419151"); + assertEquals(1, + s2.getCVTerm(0).getResources() + .stream() + .filter(resource -> resource.contains("bigg.metabolite")) + .count()); + } + + @Test + public void annotationsArePulled() throws SQLException, ModelReaderException { + var doc = modelGCF_000021565(); + var m = doc.getModel(); + + Species M_10fthf_c = m.getSpecies("M_10fthf_c"); + + assertEquals("10-Formyltetrahydrofolate", M_10fthf_c.getName()); + assertEquals(1, M_10fthf_c.getAnnotation().getNumCVTerms()); + assertEquals(14, M_10fthf_c.getCVTerm(0).getNumResources()); + new BiGGSpeciesAnnotator( + bigg, + biGGAnnotationParameters, + sboParameters, + new IdentifiersOrg()) + .annotate(doc.getModel().getListOfSpecies()); + + assertEquals(1, M_10fthf_c.getAnnotation().getNumCVTerms()); + assertEquals(15, M_10fthf_c.getCVTerm(0).getNumResources()); + } + +} \ No newline at end of file diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGGeneProductAnnotatorTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGGeneProductAnnotatorTest.java new file mode 100644 index 00000000..4fab5461 --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/annotation/bigg/ext/fbc/BiGGGeneProductAnnotatorTest.java @@ -0,0 +1,76 @@ +package de.uni_halle.informatik.biodata.mp.annotation.bigg.ext.fbc; + +import de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGDBContainerTest; +import de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGReactionsAnnotator; +import de.uni_halle.informatik.biodata.mp.io.ModelReader; +import de.uni_halle.informatik.biodata.mp.io.ModelReaderException; +import de.uni_halle.informatik.biodata.mp.parameters.BiGGAnnotationParameters; +import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; +import de.uni_halle.informatik.biodata.mp.polishing.ReactionsPolisherTest; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg; +import org.junit.jupiter.api.Test; +import org.sbml.jsbml.Reaction; +import org.sbml.jsbml.SBMLDocument; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.sbml.jsbml.ext.fbc.FBCModelPlugin; +import org.sbml.jsbml.ext.fbc.FBCReactionPlugin; +import org.sbml.jsbml.ext.fbc.GeneProductRef; + +import javax.xml.stream.XMLStreamException; +import java.io.File; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class BiGGGeneProductAnnotatorTest extends BiGGDBContainerTest { + + + private final BiGGAnnotationParameters biGGAnnotationParameters = new BiGGAnnotationParameters( + false, + true, + null, + null, + null + ); + + + private final SBOParameters sboParameters = new SBOParameters(); + + private SBMLDocument model1507180060() throws ModelReaderException { + return new ModelReader(sboParameters, new IdentifiersOrg()).read( + new File(ReactionsPolisherTest.class.getClassLoader().getResource("de/uni_halle/informatik/biodata/mp/models/MODEL1507180060.xml").getFile())); + } + + @Test + public void annotationsArePulled() throws SQLException, XMLStreamException, ModelReaderException { + var doc = model1507180060(); + var m = doc.getModel(); + + FBCModelPlugin fbc = (FBCModelPlugin) m.getPlugin(FBCConstants.shortLabel); + var G_b0002 = fbc.getGeneProduct("G_b0002"); + + assertEquals(0, G_b0002.getAnnotation().getNumCVTerms()); + new BiGGGeneProductAnnotator( + new BiGGGeneProductReferencesAnnotator(), + bigg, + biGGAnnotationParameters, + new IdentifiersOrg(), + new ArrayList<>()) + .annotate(fbc.getListOfGeneProducts()); + + assertEquals(2, G_b0002.getAnnotation().getNumCVTerms()); + assertEquals(1, G_b0002.getCVTerm(0).getNumResources()); + assertEquals(G_b0002.getCVTerm(0).getResources(), + List.of( + "https://identifiers.org/uniprot/P00561" + )); + assertEquals(G_b0002.getCVTerm(1).getResources(), + List.of( + "https://identifiers.org/asap/ABE-0000008", + "https://identifiers.org/ecogene/EG10998", + "https://identifiers.org/ncbigene/945803" + )); + } +} diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBTest.java new file mode 100644 index 00000000..b9ad341b --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGDBTest.java @@ -0,0 +1,81 @@ +package de.uni_halle.informatik.biodata.mp.db.bigg; + +import de.uni_halle.informatik.biodata.mp.annotation.bigg.BiGGDBContainerTest; +import org.junit.jupiter.api.Test; +import org.testcontainers.junit.jupiter.Testcontainers; + +import java.sql.SQLException; +import java.util.Set; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +@Testcontainers +public class BiGGDBTest extends BiGGDBContainerTest { + + + @Test + public void getSubsystems() throws SQLException { + var org = bigg.getOrganism("iJO1366"); + assertTrue(org.isPresent()); + assertEquals("Escherichia coli str. K-12 substr. MG1655", org.get()); + } + + + /** + * This test serves primarily as documentation and to raise awareness for + * new data sources in case of DB update. + */ + @Test + public void dataSources() throws SQLException { + var dataSources = bigg.getAllBiggIds("data_source"); + assertEquals(Set.of("asap", + "biocyc", + "ccds", + "chebi", + "deprecated", + "ec-code", + "ecogene", + "EnsemblGenomes-Gn", + "EnsemblGenomes-Tr", + "envipath", + "go", + "goa", + "hmdb", + "hprd", + "IMGT/GENE-DB", + "inchi_key", + "interpro", + "kegg.compound", + "kegg.drug", + "kegg.glycan", + "kegg.reaction", + "lipidmaps", + "metanetx.chemical", + "metanetx.reaction", + "ncbigene", + "ncbigi", + "old_bigg_id", + "omim", + "pdb", + "PSEUDO", + "reactome.compound", + "reactome.reaction", + "REBASE", + "refseq_locus_tag", + "refseq_name", + "refseq_old_locus_tag", + "refseq_orf_id", + "refseq_synonym", + "rhea", + "sabiork", + "seed.compound", + "seed.reaction", + "sgd", + "slm", + "subtilist", + "uniprot"), + dataSources); + } + +} diff --git a/src/test/java/edu/ucsd/sbrg/bigg/BiGGIdTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGIdTest.java similarity index 66% rename from src/test/java/edu/ucsd/sbrg/bigg/BiGGIdTest.java rename to lib/src/test/java/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGIdTest.java index 930ae79e..127480ad 100644 --- a/src/test/java/edu/ucsd/sbrg/bigg/BiGGIdTest.java +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/db/bigg/BiGGIdTest.java @@ -1,4 +1,4 @@ -package edu.ucsd.sbrg.bigg; +package de.uni_halle.informatik.biodata.mp.db.bigg; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -8,8 +8,6 @@ import java.util.List; import java.util.Map; -import org.junit.jupiter.api.AfterAll; -import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; @@ -21,24 +19,19 @@ public class BiGGIdTest { private static Map> biggIds = new HashMap<>(); - private static Map correctMetaboliteId = new HashMap<>(); - private static Map correctReactionId = new HashMap<>(); - private static Map correctGeneProductId = new HashMap<>(); - private static Map processedIdentifiers = new HashMap<>(); + private static final Map correctMetaboliteId = new HashMap<>(); + private static final Map correctReactionId = new HashMap<>(); + private static final Map correctGeneProductId = new HashMap<>(); /** * Initializes BiGGIds for testing - empty IDs are should be handled elsewhere, as they are invalid in SBML */ @BeforeAll @SuppressWarnings("unchecked") - public static void setUp() { + public static void setUp() throws IOException { // load all BiGG SBML IDs ObjectMapper mapper = new ObjectMapper(); - try { - biggIds = mapper.readValue(BiGGId.class.getResourceAsStream("bigg_models_data_ids.json"), Map.class); - } catch (IOException e) { - e.printStackTrace(); - } + biggIds = mapper.readValue(BiGGId.class.getResourceAsStream("bigg_models_data_ids.json"), Map.class); // metabolites - unique cases from old implementation prepareMetaboliteId("h", "c", "h_c"); prepareMetaboliteId("12dgr_HP", "c", "12dgr_HP_c"); @@ -50,16 +43,16 @@ public static void setUp() { prepareMetaboliteId("nadh", "", "nadh"); prepareMetaboliteId("nadh____", "c", "nadh_____c"); // reactions - prepareReactionId("R", "2AGPE181tipp", "", "2AGPE181tipp"); - prepareReactionId("R", "24_25DHVITD2tm", "", "24_25DHVITD2tm"); - prepareReactionId("R", "3DSPHR", "", "3DSPHR"); - prepareReactionId("", "BIOMASS_Ecoli_core_w_GAM", "", "BIOMASS_Ecoli_core_w_GAM"); - prepareReactionId("", "BIOMASS_Ecoli_TM", "", "BIOMASS_Ecoli_TM"); - prepareReactionId("", "BIOMASS_HP_published", "", "BIOMASS_HP_published"); + prepareReactionId("R", "2AGPE181tipp", "2AGPE181tipp"); + prepareReactionId("R", "24_25DHVITD2tm", "24_25DHVITD2tm"); + prepareReactionId("R", "3DSPHR", "3DSPHR"); + prepareReactionId("", "BIOMASS_Ecoli_core_w_GAM", "BIOMASS_Ecoli_core_w_GAM"); + prepareReactionId("", "BIOMASS_Ecoli_TM", "BIOMASS_Ecoli_TM"); + prepareReactionId("", "BIOMASS_HP_published", "BIOMASS_HP_published"); // We don't handle reaction compartment code for now - prepareReactionId("", "EX_h2o_e", "", "EX_h2o_e"); + prepareReactionId("", "EX_h2o_e", "EX_h2o_e"); // r reactions - remaining cases - prepareReactionId("", "EX_h2o_e", "", "R_EX_h2o_e"); + prepareReactionId("", "EX_h2o_e", "R_EX_h2o_e"); // gene products prepareGeneProductId("10090_AT1", "10090_AT1"); prepareGeneProductId("1818", "1818"); @@ -99,21 +92,19 @@ private static void prepareMetaboliteId(String abbreviation, String compartmentC /** * Set up mapping for testIds to their corresponding correct BiGGId, test all four possibilites, i.e. w and w/o * prefix, lowercase prefix and prepended underscore - * - * @param prefix: - * Reaction prefix, if not pseudoreaction - * @param abbreviation: - * Abbreviation part of id with no further semantic meaning - * @param compartmentCode: - * CompartmentCode of id - * @param id: - * Full id to test + * + * @param prefix : + * Reaction prefix, if not pseudoreaction + * @param abbreviation : + * Abbreviation part of id with no further semantic meaning + * @param id : + * Full id to test */ - private static void prepareReactionId(String prefix, String abbreviation, String compartmentCode, String id) { + private static void prepareReactionId(String prefix, String abbreviation, String id) { BiGGId biGGId = new BiGGId(); biGGId.setPrefix(prefix); biGGId.setAbbreviation(abbreviation); - biGGId.setCompartmentCode(compartmentCode); + biGGId.setCompartmentCode(""); correctReactionId.put(id, biGGId); correctReactionId.put("_" + id, biGGId); // skip if pseudoreactions, produces duplicates of "_" + id for those @@ -148,43 +139,28 @@ private static void prepareGeneProductId(String abbreviation, String id) { @Test public final void geneIdsValid() { List ids = biggIds.get("genes"); - ids.forEach(id -> { - BiGGId.createGeneId(id).ifPresent(biggId -> { - processedIdentifiers.put(id, biggId.toBiGGId()); - assertTrue(BiGGId.isValid(biggId.toBiGGId())); - }); - }); + ids.forEach(id -> assertTrue(BiGGId.isValid(BiGGId.createGeneId(id).toBiGGId()))); } @Test public final void metaboliteIdsValid() { List ids = biggIds.get("metabolites"); - ids.forEach(id -> { - BiGGId.createMetaboliteId(id).ifPresent(biggId -> { - processedIdentifiers.put(id, biggId.toBiGGId()); - assertTrue(BiGGId.isValid(biggId.toBiGGId())); - }); - }); + ids.forEach(id -> assertTrue(BiGGId.isValid(BiGGId.createGeneId(id).toBiGGId()))); } @Test public final void reactionIdsValid() { List ids = biggIds.get("reactions"); - ids.forEach(id -> { - BiGGId.createReactionId(id).ifPresent(biggId -> { - processedIdentifiers.put(id, biggId.toBiGGId()); - assertTrue(BiGGId.isValid(biggId.toBiGGId())); - }); - }); + ids.forEach(id -> assertTrue(BiGGId.isValid(BiGGId.createGeneId(id).toBiGGId()))); } @Test public final void testIsSetMetaboliteCompartment() { String metabolite = "M_5dglcn_c"; - BiGGId biggId = BiGGId.createMetaboliteId(metabolite).get(); + BiGGId biggId = BiGGId.createMetaboliteId(metabolite); assertTrue(biggId.isSetCompartmentCode()); assertEquals("c", biggId.getCompartmentCode()); } @@ -205,8 +181,8 @@ public final void testHashCode() { @Test public final void testToBiGGIdGeneProducts() { for (Map.Entry entry : correctGeneProductId.entrySet()) { - BiGGId.createGeneId(entry.getKey()) - .ifPresentOrElse(id -> assertEquals(id.toBiGGId(), entry.getValue().toBiGGId()), Assertions::fail); + var id = BiGGId.createGeneId(entry.getKey()); + assertEquals(id.toBiGGId(), entry.getValue().toBiGGId()); } } @@ -217,8 +193,8 @@ public final void testToBiGGIdGeneProducts() { @Test public final void testToBiGGIdMetabolites() { for (Map.Entry entry : correctMetaboliteId.entrySet()) { - BiGGId.createMetaboliteId(entry.getKey()) - .ifPresentOrElse(id -> assertEquals(id.toBiGGId(), entry.getValue().toBiGGId()), Assertions::fail); + var id = BiGGId.createMetaboliteId(entry.getKey()); + assertEquals(id.toBiGGId(), entry.getValue().toBiGGId()); } } @@ -229,13 +205,10 @@ public final void testToBiGGIdMetabolites() { @Test public final void testToBiGGIdReactions() { for (Map.Entry entry : correctReactionId.entrySet()) { - BiGGId.createReactionId(entry.getKey()) - .ifPresentOrElse(id -> assertEquals(id.toBiGGId(), entry.getValue().toBiGGId()), Assertions::fail); + var id = BiGGId.createReactionId(entry.getKey()); + assertEquals(id.toBiGGId(), entry.getValue().toBiGGId()); } } - @AfterAll - public static void cleanUp() { - } } diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/fixing/fbc/FBCSpeciesFixerTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/fixing/fbc/FBCSpeciesFixerTest.java new file mode 100644 index 00000000..c704ca20 --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/fixing/fbc/FBCSpeciesFixerTest.java @@ -0,0 +1,33 @@ +package de.uni_halle.informatik.biodata.mp.fixing.fbc; + +import de.uni_halle.informatik.biodata.mp.fixing.ext.fbc.FBCSpeciesFixer; +import org.junit.jupiter.api.Test; +import org.sbml.jsbml.JSBML; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.sbml.jsbml.ext.fbc.FBCSpeciesPlugin; + +import javax.xml.stream.XMLStreamException; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class FBCSpeciesFixerTest { + + @Test + public void fixChemicalFormula() throws XMLStreamException { + var m = new Model(3, 1); + var s = m.createSpecies("stuff_c"); + var sFbcPlugin = (FBCSpeciesPlugin) s.getPlugin(FBCConstants.shortLabel); + + sFbcPlugin.putUserObject(JSBML.ALLOW_INVALID_SBML, true); + sFbcPlugin.setChemicalFormula("C2970H5292N202O1896P4charge297"); + + new FBCSpeciesFixer().fix(s, 0); + + assertEquals("C2970H5292N202O1896P4", sFbcPlugin.getChemicalFormula()); +// assertEquals("

    Charge string extracted from chemical formula: charge297

    ", +// s.get Notes().getChild(0).toString()); + } + +} diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/fixing/fbc/ListOfObjectivesFixerTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/fixing/fbc/ListOfObjectivesFixerTest.java new file mode 100644 index 00000000..ec93e178 --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/fixing/fbc/ListOfObjectivesFixerTest.java @@ -0,0 +1,118 @@ +package de.uni_halle.informatik.biodata.mp.fixing.fbc; + +import de.uni_halle.informatik.biodata.mp.fixing.ext.fbc.ListOfObjectivesFixer; +import de.uni_halle.informatik.biodata.mp.parameters.FixingParameters; +import de.uni_halle.informatik.biodata.mp.parameters.FluxObjectivesFixingParameters; +import org.junit.jupiter.api.Test; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.sbml.jsbml.ext.fbc.FBCModelPlugin; +import org.sbml.jsbml.ext.fbc.FluxObjective; + +import java.util.ArrayList; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class ListOfObjectivesFixerTest { + + + /** + * Test that if objectives don't have flux objectives set and viable arguments are supplied, + * those are used to add flux objectives to the active objective. + *

    + * Note that this is the behaviour as I found it, the test only serves to ensure I don't inadvertently + * change behaviour. + */ + @Test + public void argumentsAreUsedToInferFluxObjectives() { + var m = new Model(3,2); + var fbcPlugin = (FBCModelPlugin) m.getPlugin(FBCConstants.shortLabel); + + fbcPlugin.createObjective("obj1"); + fbcPlugin.createObjective("obj2"); + var o3 = fbcPlugin.createObjective("obj3"); + fbcPlugin.setActiveObjective(o3); + + m.createReaction("objective_reaction1"); + m.createReaction("objective_reaction2"); + m.createReaction("yadda_Biomass_yadda"); + + var parameters = new FixingParameters( + false, + new FluxObjectivesFixingParameters( + null, + List.of("objective_reaction1", "objective_reaction2"))); + + new ListOfObjectivesFixer(parameters, fbcPlugin, new ArrayList<>()).fix(fbcPlugin.getListOfObjectives(), 0); + + assertEquals("obj3", fbcPlugin.getActiveObjective()); + assertEquals(2, fbcPlugin.getListOfObjectives() + .getActiveObjectiveInstance() + .getFluxObjectiveCount()); + var fos = fbcPlugin.getListOfObjectives() + .getActiveObjectiveInstance() + .getListOfFluxObjectives() + .stream() + .map(FluxObjective::getReaction) + .collect(Collectors.toList()); + assertEquals(List.of("objective_reaction1", "objective_reaction2"), fos); + } + + + /** + * Test that if objectives don't have flux objectives set and no (viable) arguments are supplied, + * the biomass function is used to add flux objectives to the active objective. + *

    + * Note that this is the behaviour as I found it, the test only serves to ensure I don't inadvertently + * change behaviour. + */ + @Test + public void biomassIsUsedToInferFluxObjectives() { + var m = new Model(3,2); + var fbcPlugin = (FBCModelPlugin) m.getPlugin(FBCConstants.shortLabel); + + m.addPlugin("fbc", fbcPlugin); + + fbcPlugin.createObjective("obj1"); + var o2 = fbcPlugin.createObjective("obj2"); + fbcPlugin.setActiveObjective(o2); + fbcPlugin.createObjective("obj3"); + + m.createReaction("yadda_Biomass_yadda"); + + var mPlug = (FBCModelPlugin) m.getPlugin(FBCConstants.shortLabel); + new ListOfObjectivesFixer(new FixingParameters(), fbcPlugin, new ArrayList<>()).fix(mPlug.getListOfObjectives(), 0); + + assertEquals("obj2", fbcPlugin.getActiveObjective()); + assertEquals(Set.of("yadda_Biomass_yadda"), + fbcPlugin.getListOfObjectives() + .getActiveObjectiveInstance() + .getListOfFluxObjectives() + .stream() + .map(FluxObjective::getReaction) + .collect(Collectors.toSet())); + } + + /** + * Test to ensure that objectives without any flux objectives are removed from the model. + * This test initializes a model with a single objective that has no flux objectives set, + * runs the polishing process, and then checks that the objective count is zero. + */ + @Test + public void emptyObjectivesAreRemoved() { + var m = new Model(3,2); + var fbcPlugin = (FBCModelPlugin) m.getPlugin(FBCConstants.shortLabel); + + var o1 = fbcPlugin.createObjective("obj1"); + fbcPlugin.setActiveObjective(o1); + // o1.setListOfFluxObjectives(new ListOf<>()); + + var mPlug = (FBCModelPlugin) m.getPlugin(FBCConstants.shortLabel); + new ListOfObjectivesFixer(new FixingParameters(), fbcPlugin, new ArrayList<>()).fix(mPlug.getListOfObjectives(), 0); + + assertEquals(0, fbcPlugin.getObjectiveCount()); + } +} diff --git a/src/test/java/edu/ucsd/sbrg/bigg/CombineArchiveTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/io/CombineArchiveTest.java similarity index 77% rename from src/test/java/edu/ucsd/sbrg/bigg/CombineArchiveTest.java rename to lib/src/test/java/de/uni_halle/informatik/biodata/mp/io/CombineArchiveTest.java index 9d4e5021..19bc2d34 100644 --- a/src/test/java/edu/ucsd/sbrg/bigg/CombineArchiveTest.java +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/io/CombineArchiveTest.java @@ -1,4 +1,4 @@ -package edu.ucsd.sbrg.bigg; +package de.uni_halle.informatik.biodata.mp.io; import de.unirostock.sems.cbarchive.ArchiveEntry; import de.unirostock.sems.cbarchive.CombineArchive; @@ -15,7 +15,8 @@ import java.net.URISyntaxException; import java.text.ParseException; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; + /** * @author Kaustubh Trivedi @@ -50,21 +51,22 @@ public void testArchiveComponents() throws JDOMException, CombineArchiveExceptio File caFile = new File(modelLocation.substring(0, modelLocation.lastIndexOf('.')) + ".zip"); assertTrue(caFile.exists()); - CombineArchive ca = new CombineArchive(caFile, true); - boolean hasModel = false; - boolean hasGlossary = false; + try (CombineArchive ca = new CombineArchive(caFile, true)) { + boolean hasModel = false; + boolean hasGlossary = false; - for (ArchiveEntry archiveEntry : ca.getEntries()) { - if (!hasModel) { - hasModel = archiveEntry.getFileName().equals("model.xml"); - } - if (!hasGlossary) { - hasGlossary = archiveEntry.getFileName().equals("glossary.rdf"); + for (ArchiveEntry archiveEntry : ca.getEntries()) { + if (!hasModel) { + hasModel = archiveEntry.getFileName().equals("model.xml"); + } + if (!hasGlossary) { + hasGlossary = archiveEntry.getFileName().equals("glossary.rdf"); + } } - } - assertTrue(hasModel); - assertTrue(hasGlossary); + assertTrue(hasModel); + assertTrue(hasGlossary); + } } @AfterAll diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/io/SBMLFileUtilsTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/io/SBMLFileUtilsTest.java new file mode 100644 index 00000000..79476112 --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/io/SBMLFileUtilsTest.java @@ -0,0 +1,10 @@ +package de.uni_halle.informatik.biodata.mp.io; + +public class SBMLFileUtilsTest { + +// @Test +// public void getFileType() { +// File modelFile = new File(SBMLFileUtilsTest.class.getResource("model.tmp").getFile()); +// assertEquals( SBMLFileUtils.FileType.SBML_FILE, SBMLFileUtils.getFileType(modelFile)); +// } +} diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/MatlabParserTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/MatlabParserTest.java new file mode 100644 index 00000000..11be6ba4 --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/MatlabParserTest.java @@ -0,0 +1,38 @@ +package de.uni_halle.informatik.biodata.mp.io.parsers.cobra; + +import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +import java.io.File; +import java.io.IOException; + +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; + +public class MatlabParserTest { + + /** + * This is here to call the static initializer code of the Registry class, + * which in particular serves to initialize the de.uni_halle.informatik.biodata.mp.miriam.Entries + * singleton. + */ + @BeforeAll + public static void setUp() throws ClassNotFoundException { + Class.forName("de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg"); + } + + @Test + public void parsingDoesNotThrowErrors() { + var parameters = new SBOParameters(); + var recon = new File(MatlabParserTest.class.getResource("Recon3D.mat").getFile()); + try { + new MatlabParser(parameters, new IdentifiersOrg()).parse(recon); + assertTrue(true); + } catch (IOException e) { + fail("Parsing Recon3D.mat threw an exception.", e); + } + } + +} diff --git a/src/test/java/edu/ucsd/sbrg/parsers/JSONparserTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/JSONParserTest.java similarity index 59% rename from src/test/java/edu/ucsd/sbrg/parsers/JSONparserTest.java rename to lib/src/test/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/JSONParserTest.java index d857483a..c021813e 100644 --- a/src/test/java/edu/ucsd/sbrg/parsers/JSONparserTest.java +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/io/parsers/json/JSONParserTest.java @@ -1,23 +1,15 @@ -package edu.ucsd.sbrg.parsers; +package de.uni_halle.informatik.biodata.mp.io.parsers.json; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertTrue; - -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - -import org.junit.jupiter.api.Assertions; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import de.uni_halle.informatik.biodata.mp.db.bigg.BiGGId; +import de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Compartments; +import de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Metabolite; +import de.uni_halle.informatik.biodata.mp.io.parsers.json.mapping.Reaction; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.sbml.jsbml.AbstractSBase; -import org.sbml.jsbml.Compartment; -import org.sbml.jsbml.Model; -import org.sbml.jsbml.Parameter; -import org.sbml.jsbml.Species; -import org.sbml.jsbml.SpeciesReference; +import org.sbml.jsbml.*; import org.sbml.jsbml.ext.fbc.FBCConstants; import org.sbml.jsbml.ext.fbc.FBCReactionPlugin; import org.sbml.jsbml.ext.fbc.FBCSpeciesPlugin; @@ -25,15 +17,15 @@ import org.sbml.jsbml.ext.groups.GroupsModelPlugin; import org.sbml.jsbml.util.ModelBuilder; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; +import javax.xml.stream.XMLStreamException; +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; -import edu.ucsd.sbrg.bigg.BiGGId; -import edu.ucsd.sbrg.parsers.models.Compartments; -import edu.ucsd.sbrg.parsers.models.Metabolite; -import edu.ucsd.sbrg.parsers.models.Reaction; +import static org.junit.jupiter.api.Assertions.*; -public class JSONparserTest { +public class JSONParserTest { private static ModelBuilder builder; private static final int LEVEL = 3; @@ -47,18 +39,21 @@ public void setUp() { @Test - public void parseCompartmentsTest() { - String compartmentsJSON = "{\n" + "\"\":\"\",\n" + "\"c\":\"cytoplasm\",\n" + "\"C_c\":\"cytoplasm\",\n" - + "\"e\":\"extracellular\",\n" + "\"w\":\"cell wall\"\n" + "}\n"; + public void parseCompartmentsTest() throws JsonProcessingException { + String compartmentsJSON = """ + { + "":"", + "c":"cytoplasm", + "C_c":"cytoplasm", + "e":"extracellular", + "w":"cell wall" + } + """; ObjectMapper mapper = new ObjectMapper(); Compartments compartments = null; - try { - compartments = mapper.readValue(compartmentsJSON, Compartments.class); - } catch (JsonProcessingException e) { - e.printStackTrace(); - } + compartments = mapper.readValue(compartmentsJSON, Compartments.class); assertNotNull(compartments); - JSONparser parser = new JSONparser(); + JSONParser parser = new JSONParser(new IdentifiersOrg()); parser.parseCompartments(builder, compartments.get()); Model model = builder.getModel(); assertEquals(3, model.getListOfCompartments().size()); @@ -73,32 +68,32 @@ public void parseCompartmentsTest() { assertEquals("cell wall", compartment.getName()); } - - @Test - public void parseGeneTest() { - // TODO: implement test - } - - @Test - public void parseReactionTest() { - String reactionJSON = "{\n" + "\"id\":\"FAH1\",\n" + "\"name\":\"Fatty acid omega-hydroxylase\",\n" - + "\"metabolites\":{\n" + "\"ddca_c\":-1.0,\n" + "\"h2o_c\":1.0,\n" + "\"h_c\":-1.0,\n" + "\"nadp_c\":1.0,\n" - + "\"nadph_c\":-1.0,\n" + "\"o2_c\":-1.0,\n" + "\"whddca_c\":1.0\n" + "},\n" + "\"lower_bound\":1.0,\n" - + "\"upper_bound\":10.0,\n" - + "\"gene_reaction_rule\":\"( 100767149 or 100767921 or 100768211 or 100768783 or 100769255 or 100755384 or 100773614 or 100750743 ) and 100689241\",\n" - + "\"subsystem\":\"dummy\"\n" + "}"; + public void parseReactionTest() throws JsonProcessingException { + String reactionJSON = """ + { + "id":"FAH1", + "name":"Fatty acid omega-hydroxylase", + "metabolites":{ + "ddca_c":-1.0, + "h2o_c":1.0, + "h_c":-1.0, + "nadp_c":1.0, + "nadph_c":-1.0, + "o2_c":-1.0, + "whddca_c":1.0 + }, + "lower_bound":1.0, + "upper_bound":10.0, + "gene_reaction_rule":"( 100767149 or 100767921 or 100768211 or 100768783 or 100769255 or 100755384 or 100773614 or 100750743 ) and 100689241", + "subsystem":"dummy" + }"""; ObjectMapper mapper = new ObjectMapper(); Reaction reaction = null; - try { - reaction = mapper.readValue(reactionJSON, Reaction.class); - } catch (JsonProcessingException e) { - e.printStackTrace(); - } + reaction = mapper.readValue(reactionJSON, Reaction.class); assertNotNull(reaction); - JSONparser parser = new JSONparser(); - BiGGId.createReactionId(reaction.getId()).ifPresentOrElse(id -> assertEquals("R_FAH1", id.toBiGGId()), - Assertions::fail); + JSONParser parser = new JSONParser(new IdentifiersOrg()); + assertEquals("R_FAH1", BiGGId.createReactionId(reaction.getId()).toBiGGId()); parser.parseReaction(builder, reaction, "R_FAH1"); // Needs to be fetched no matter what, checking for id equality is thus already done here indirectly org.sbml.jsbml.Reaction r = builder.getModel().getReaction("R_FAH1"); @@ -157,29 +152,30 @@ public void parseReactionTest() { assertTrue(r.getListOfProducts().containsAll(products)); GroupsModelPlugin groupsModelPlugin = (GroupsModelPlugin) builder.getModel().getPlugin(GroupsConstants.shortLabel); List groupNames = - groupsModelPlugin.getListOfGroups().stream().map(AbstractSBase::getName).collect(Collectors.toList()); + groupsModelPlugin.getListOfGroups().stream().map(AbstractSBase::getName).toList(); assertEquals(1, groupNames.size()); assertTrue(groupNames.contains("dummy")); - // TODO: add edge case } @Test - public void parseSpeciesTest() { - String speciesJSON = "{\n" + " \"id\" : \"amp_e\",\n" + " \"name\" : \"AMP\",\n" + " \"compartment\" : \"e\",\n" - + " \"charge\" : -2,\n" + " \"formula\" : \"C10H12N5O7P\"\n" + "}\n"; + public void parseSpeciesTest() throws JsonProcessingException { + String speciesJSON = """ + { + "id" : "amp_e", + "name" : "AMP", + "compartment" : "e", + "charge" : -2, + "formula" : "C10H12N5O7P" + } + """; ObjectMapper mapper = new ObjectMapper(); Metabolite metabolite = null; - try { - metabolite = mapper.readValue(speciesJSON, Metabolite.class); - } catch (JsonProcessingException e) { - e.printStackTrace(); - } + metabolite = mapper.readValue(speciesJSON, Metabolite.class); assertNotNull(metabolite); - BiGGId.createMetaboliteId(metabolite.getId()).ifPresentOrElse(id -> assertEquals("M_amp_e", id.toBiGGId()), - Assertions::fail); - JSONparser parser = new JSONparser(); - parser.parseMetabolite(builder.getModel(), metabolite, BiGGId.createMetaboliteId(metabolite.getId()).get()); + assertEquals("M_amp_e", BiGGId.createMetaboliteId(metabolite.getId()).toBiGGId()); + JSONParser parser = new JSONParser(new IdentifiersOrg()); + parser.parseMetabolite(builder.getModel(), metabolite, BiGGId.createMetaboliteId(metabolite.getId())); Species species = builder.getModel().getSpecies("M_amp_e"); assertNotNull(species); assertEquals("AMP", metabolite.getName()); @@ -189,6 +185,24 @@ public void parseSpeciesTest() { assertEquals("C10H12N5O7P", fbc.getChemicalFormula()); assertFalse(species.isSetAnnotation()); assertFalse(species.isSetNotes()); - // TODO: add edge cases + } + + @Test + public void iJB785isParsedWithoutError() throws XMLStreamException { + var iJB785 = new File(JSONParserTest.class.getResource("iJB785.json").getFile()); + try { + var sbmlDoc = new JSONParser(new IdentifiersOrg()).parse(iJB785); + + // see https://github.com/draeger-lab/ModelPolisher/issues/27 for context on this assertion + var s = sbmlDoc.getModel().getListOfSpecies() + .stream() + .filter(x -> x.getName().equals("Protein component of biomass")) + .findFirst(); + assertTrue(s.isPresent(), "A formerly problematic metabolite in the model could not be found to be tested."); + assertTrue(s.get().getNotesString().contains("H70.5616C44.9625O13.1713S0.2669N12.1054R-1.0"), + "Formula from the model not retained in notes!"); + } catch (IOException e) { + fail("Parsing iJB785.json threw an exception.", e); + } } } diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/parameters/ParametersParserTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/parameters/ParametersParserTest.java new file mode 100644 index 00000000..57e07d7f --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/parameters/ParametersParserTest.java @@ -0,0 +1,72 @@ +package de.uni_halle.informatik.biodata.mp.parameters; + +import de.uni_halle.informatik.biodata.mp.annotation.AnnotationOptions; +import de.uni_halle.informatik.biodata.mp.db.adb.AnnotateDBOptions; +import de.uni_halle.informatik.biodata.mp.fixing.FixingOptions; +import de.uni_halle.informatik.biodata.mp.io.IOOptions; +import org.junit.jupiter.api.Test; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.util.Arrays; + +import static org.junit.jupiter.api.Assertions.*; + +class ParametersParserTest { + + @Test + void defaults() throws IOException { + var parameters = new ParametersParser() + .parse(new ByteArrayInputStream("{}".getBytes())); + + assertEquals(GeneralOptions.SBML_VALIDATION.getDefaultValue(), parameters.sbmlValidation()); + assertEquals(GeneralOptions.ADD_GENERIC_TERMS.getDefaultValue(), parameters.sboParameters().addGenericTerms()); + + assertEquals(Arrays.asList(FixingOptions.FLUX_OBJECTIVES.getDefaultValue()), + parameters.fixing().fluxObjectivesPolishingParameters().fluxObjectives()); + assertEquals(Arrays.asList(FixingOptions.FLUX_COEFFICIENTS.getDefaultValue()), + parameters.fixing().fluxObjectivesPolishingParameters().fluxCoefficients()); + + assertEquals(AnnotationOptions.ADD_ADB_ANNOTATIONS.getDefaultValue(), + parameters.annotation().adbAnnotationParameters().annotateWithAdb()); + assertEquals(AnnotateDBOptions.DBNAME.getDefaultValue(), + parameters.annotation().adbAnnotationParameters().dbParameters().dbName()); + assertEquals(AnnotateDBOptions.HOST.getDefaultValue(), + parameters.annotation().adbAnnotationParameters().dbParameters().host()); + assertEquals(AnnotateDBOptions.PORT.getDefaultValue(), + parameters.annotation().adbAnnotationParameters().dbParameters().port()); + assertEquals(AnnotateDBOptions.USER.getDefaultValue(), + parameters.annotation().adbAnnotationParameters().dbParameters().user()); + assertEquals(AnnotateDBOptions.PASSWD.getDefaultValue(), + parameters.annotation().adbAnnotationParameters().dbParameters().passwd()); + + assertEquals(AnnotationOptions.ANNOTATE_WITH_BIGG.getDefaultValue(), + parameters.annotation().biggAnnotationParameters().annotateWithBiGG()); + assertEquals(AnnotationOptions.INCLUDE_ANY_URI.getDefaultValue(), + parameters.annotation().biggAnnotationParameters().includeAnyURI()); + assertEquals(AnnotationOptions.DOCUMENT_TITLE_PATTERN.getDefaultValue(), + parameters.annotation().biggAnnotationParameters().documentTitlePattern()); + assertEquals(AnnotationOptions.NO_MODEL_NOTES.getDefaultValue(), + parameters.annotation().biggAnnotationParameters().notesParameters().noModelNotes()); + assertEquals(AnnotationOptions.DOCUMENT_NOTES_FILE.getDefaultValue(), + parameters.annotation().biggAnnotationParameters().notesParameters().documentNotesFile()); + assertEquals(AnnotationOptions.MODEL_NOTES_FILE.getDefaultValue(), + parameters.annotation().biggAnnotationParameters().notesParameters().modelNotesFile()); + + assertNull(parameters.annotation().biggAnnotationParameters().dbParameters().dbName()); + assertNull(parameters.annotation().biggAnnotationParameters().dbParameters().host()); + assertNull(parameters.annotation().biggAnnotationParameters().dbParameters().port()); + assertNull(parameters.annotation().biggAnnotationParameters().dbParameters().user()); + assertNull(parameters.annotation().biggAnnotationParameters().dbParameters().passwd()); + + assertEquals(IOOptions.OUTPUT_TYPE.getDefaultValue(), parameters.outputType()); + } + + @Test + void parse() throws IOException { + var parameters = new ParametersParser() + .parse(ParametersParserTest.class.getResourceAsStream("parameters.json")); + assertNotNull(parameters); + assertEquals(IOOptions.OutputType.COMBINE, parameters.outputType()); + } +} \ No newline at end of file diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/polishing/ReactionsPolisherTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/polishing/ReactionsPolisherTest.java new file mode 100644 index 00000000..179c10d7 --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/polishing/ReactionsPolisherTest.java @@ -0,0 +1,200 @@ +package de.uni_halle.informatik.biodata.mp.polishing; + +import de.uni_halle.informatik.biodata.mp.io.ModelReader; +import de.uni_halle.informatik.biodata.mp.io.ModelReaderException; +import de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters; +import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; +import de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.StrictnessPredicate; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg; +import org.junit.jupiter.api.Test; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.Reaction; +import org.sbml.jsbml.SBMLDocument; + +import java.io.File; +import java.util.List; +import java.util.function.Function; +import java.util.function.Predicate; + +import static org.junit.jupiter.api.Assertions.*; + +public class ReactionsPolisherTest { + + private final SBOParameters sboParameters = new SBOParameters(); + private final PolishingParameters polishingParameters = new PolishingParameters(); + + private SBMLDocument model1507180049 = new ModelReader(sboParameters, new IdentifiersOrg()).read( + new File(ReactionsPolisherTest.class.getClassLoader().getResource("de/uni_halle/informatik/biodata/mp/models/MODEL1507180049.xml").getFile())); + + public ReactionsPolisherTest() throws ModelReaderException { + } + + /** + * Relevant defaults are set. + * Note that level and version are 3.1 here, so the setting of the fast-attribute + * can be validated. + */ + @Test + public void defaultsAreSet() { + var model = new Model(3, 1); + var r = model.createReaction("some_reaction"); + + assertFalse(r.isSetName()); + assertEquals(1, model.getReactionCount()); + + new ReactionsPolisher(polishingParameters, sboParameters, new IdentifiersOrg()).polish(r); + boolean strict = new StrictnessPredicate().test(model); + + assertFalse(strict); + assertFalse(r.isSetName()); + assertEquals(1, model.getReactionCount()); + } + + /** + * SBML 3.2 deprecated the 'fast' attribute. The code should be indifferent to that. + */ + @Test + public void fastIsOkay() { + var model = new Model(3, 2); + var r = model.createReaction("some_reaction"); + + assertFalse(r.isSetFast()); + + new ReactionsPolisher(polishingParameters, sboParameters, new IdentifiersOrg()).polish(r); + + assertFalse(r.isSetFast()); + } + + @Test + public void reactionCompartmentIsSetFromParticipants() { + var model = new Model(3, 2); + var r = model.createReaction("some_reaction"); + var cytosol = model.createCompartment("c"); + + var s1 = model.createSpecies("s1", cytosol); + r.createReactant(s1); + + assertNull(r.getCompartmentInstance()); + + new ReactionsPolisher(polishingParameters, sboParameters, new IdentifiersOrg()).polish(r); + + assertEquals(cytosol, r.getCompartmentInstance()); + } + +// @Test +// public void compartmentIsSetFromPreferentiallyFromProducts() { +// var model = new Model(3, 2); +// var r = model.createReaction("some_reaction"); +// var cytosol = model.createCompartment("c"); +// var extracellular = model.createCompartment("e"); +// +// var s1 = model.createSpecies("s1", cytosol); +// r.createReactant(s1); +// +// var s2 = model.createSpecies("s2", extracellular); +// r.createProduct(s2); +// +// assertEquals("", r.getCompartment()); +// +// new ReactionsPolisher(polishingParameters, sboParameters, new IdentifiersOrg()).polish(r); +// +// assertEquals(1, r.getReactantCount()); +// assertEquals(1, r.getProductCount()); +// assertEquals(cytosol, r.getReactant(0).getSpeciesInstance().getCompartmentInstance()); +// assertEquals(extracellular, r.getProduct(0).getSpeciesInstance().getCompartmentInstance()); +// assertEquals(extracellular, r.getCompartmentInstance()); +// } + + @Test + public void reactionCompartmentIsNotOverridden() { + var model = new Model(3, 2); + var r = model.createReaction("some_reaction"); + var cytosol = model.createCompartment("c"); + var extracellular = model.createCompartment("e"); + + var s1 = model.createSpecies("s1", cytosol); + r.createReactant(s1); + + r.setCompartment(extracellular); + + new ReactionsPolisher(polishingParameters, sboParameters, new IdentifiersOrg()).polish(r); + + assertEquals(1, r.getReactantCount()); + assertEquals(extracellular, r.getCompartmentInstance()); + } + +// @Test +// public void conflictingProductsLeadToUnset() { +// var model = new Model(3, 2); +// var r = model.createReaction("some_reaction"); +// var cytosol = model.createCompartment("c"); +// var extracellular = model.createCompartment("e"); +// +// var s1 = model.createSpecies("s1", cytosol); +// r.createProduct(s1); +// +// r.setCompartment(extracellular); +// +// new ReactionsPolisher(polishingParameters, sboParameters, new IdentifiersOrg()).polish(r); +// +// assertEquals(1, r.getProductCount()); +// assertNull(r.getCompartmentInstance()); +// } + +// @Test +// public void inconsistentProductCompartmentsLeadToUnset() { +// var model = new Model(3, 2); +// var r = model.createReaction("some_reaction"); +// var cytosol = model.createCompartment("c"); +// var extracellular = model.createCompartment("e"); +// +// r.setCompartment(cytosol); +// +// var s2 = model.createSpecies("s2", extracellular); +// r.createProduct(s2); +// +// var s1 = model.createSpecies("s1", cytosol); +// r.createProduct(s1); +// +// assertEquals(cytosol, r.getCompartmentInstance()); +// +// new ReactionsPolisher(polishingParameters, sboParameters, new IdentifiersOrg()).polish(r); +// +// assertEquals(2, r.getListOfProducts().size()); +// assertEquals(cytosol, r.getProduct("s1").getSpeciesInstance().getCompartmentInstance()); +// assertEquals(extracellular, r.getProduct("s2").getSpeciesInstance().getCompartmentInstance()); +// assertEquals(cytosol, r.getCompartmentInstance()); +// } + + @Test + public void speciesReferencesWithoutSpeciesAreRetained() { + var model = new Model(3, 2); + var r = model.createReaction("some_reaction"); + var cytosol = model.createCompartment("c"); + + r.setCompartment(cytosol); + + r.createReactant(); + r.createReactant(); + + new ReactionsPolisher(polishingParameters, sboParameters, new IdentifiersOrg()).polish(r); + + assertEquals(2, r.getListOfReactants().size()); + assertEquals(cytosol, r.getCompartmentInstance()); + } + + @Test + public void sboParametersAreSet() { + var model = model1507180049.getModel(); + + Function, Integer> unsetSBOTermCount = (rs) -> + Math.toIntExact(rs.stream().filter(Predicate.not(Reaction::isSetSBOTerm)).count()); + + assertEquals(971, unsetSBOTermCount.apply(model.getListOfReactions())); + + new ReactionsPolisher(polishingParameters, sboParameters, new IdentifiersOrg()).polish(model.getListOfReactions()); + + assertEquals(0, unsetSBOTermCount.apply(model.getListOfReactions())); + } + +} diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/polishing/SpeciesPolisherTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/polishing/SpeciesPolisherTest.java new file mode 100644 index 00000000..af46be12 --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/polishing/SpeciesPolisherTest.java @@ -0,0 +1,64 @@ +package de.uni_halle.informatik.biodata.mp.polishing; + +import de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters; +import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg; +import org.junit.jupiter.api.Test; +import org.sbml.jsbml.Model; + +import java.util.ArrayList; + +import static org.junit.jupiter.api.Assertions.*; + +public class SpeciesPolisherTest { + + private final SBOParameters sboParameters = new SBOParameters(); + private final PolishingParameters parameters = new PolishingParameters(); + + /** + * Default values according to the SBML spec are set and the model is aware of it. + */ + @Test + public void defaultsAreSet() { + var m = new Model(3, 2); + var s = m.createSpecies("stuff_c"); + + assertEquals(0, m.getCompartmentCount()); + assertEquals(1, m.getSpeciesCount()); + + new SpeciesPolisher(parameters, sboParameters, new IdentifiersOrg(), new ArrayList<>()).polish(s); + + assertEquals("c", s.getCompartment()); + assertEquals("SBO:0000247", s.getSBOTermID()); + assertEquals("stuff_c", s.getId()); + assertEquals("", m.getListOfCompartments().get(0).getName()); + assertEquals("c", m.getListOfCompartments().get(0).getId()); + assertEquals(1, m.getSpeciesCount()); + assertEquals(247, s.getSBOTerm()); + } + + /** + * If the compartment suffix on the species ID conflicts with the compartment attribute, + * the attribute is changed to comply with the ID. + * Also, if the compartment does not exist in the model, it is created. + */ + @Test + public void compartmentIsSetFromId() { + var m = new Model(3, 2); + var s = m.createSpecies("stuff_c"); + s.setCompartment("e"); + + assertEquals(0, m.getCompartmentCount()); + assertEquals(1, m.getSpeciesCount()); + + new SpeciesPolisher(parameters, sboParameters, new IdentifiersOrg(), new ArrayList<>()).polish(s); + + assertEquals("c", s.getCompartment()); + assertEquals("SBO:0000247", s.getSBOTermID()); + assertEquals("stuff_c", s.getId()); + assertEquals("", m.getListOfCompartments().get(0).getName()); + assertEquals("c", m.getListOfCompartments().get(0).getId()); + assertEquals(1, m.getSpeciesCount()); + assertEquals(247, s.getSBOTerm()); + } +} diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/polishing/UnitPolisherTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/polishing/UnitPolisherTest.java new file mode 100644 index 00000000..ce3f4157 --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/polishing/UnitPolisherTest.java @@ -0,0 +1,204 @@ +package de.uni_halle.informatik.biodata.mp.polishing; + +import de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg; +import org.junit.jupiter.api.Test; +import org.sbml.jsbml.CVTerm; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.Unit; +import org.sbml.jsbml.UnitDefinition; + +import java.util.HashSet; +import java.util.Set; +import java.util.stream.Collectors; + +import static de.uni_halle.informatik.biodata.mp.TestUtils.*; +import static org.junit.jupiter.api.Assertions.*; + +public class UnitPolisherTest { + + private final PolishingParameters parameters = new PolishingParameters(); + + public static Set setOfUnitDefinitions(Model m) { + return m.getListOfUnitDefinitions() + .stream() + .map(UnitDefinition::getId) + .collect(Collectors.toSet()); + } + + public static Set setOfUnits(UnitDefinition ud) { + return new HashSet<>(ud.getListOfUnits()); + } + + public static Unit newUnit(int multiplier, int scale, Unit.Kind kind, int exponent) { + return new Unit(multiplier, scale, kind, exponent, 3, 2); + } + + public static void assertUnits(Set expected, Set us) { + assertEquals(expected.size(), us.size(), "Unit sets are of unequal size." + + System.lineSeparator() + + "Expected: " + expected + + System.lineSeparator() + + "Found: " + us); + for (var u : us) { + assertNotNull(u); + } + for (var e : expected) { + boolean found = false; + for (var u : us) { + if (Unit.areEquivalent(u, e)) { + found = true; + break; + } + } + if (!found) + fail(e.toString() + " not found." + + System.lineSeparator() + + "Instead: " + us); + } + } + + private Unit getUnitByKind(UnitDefinition ud, Unit.Kind kind) { + return ud.getListOfUnits().stream() + .filter(unit -> unit.getKind().equals(kind)) + .findFirst().get(); + } + + final static Unit mmol = newUnit(1, -3, Unit.Kind.MOLE, 1); + final static Unit perGram = newUnit(1, 0, Unit.Kind.GRAM, -1); + final static Unit hour = newUnit(3600, 0, Unit.Kind.SECOND, 1); + final static Unit perHour = newUnit(3600, 0, Unit.Kind.SECOND, -1); + @Test + public void modelWithNoUnitDefinitions() { + var m = new Model(3, 2); + + new UnitPolisher(parameters, new IdentifiersOrg()).polish(m); + + assertEquals(3, m.getListOfUnitDefinitions().getChildCount()); + assertEquals(Set.of("mmol_per_gDW_per_hr", "substance", "time"), + setOfUnitDefinitions(m)); + var substance = m.getSubstanceUnitsInstance(); + assertNotNull(substance); + assertUnits(Set.of(mmol, perGram), setOfUnits(substance)); + + assertCVTermsArePresent(substance, + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + UnitPolisher.CV_TERM_IS_SUBSTANCE_UNIT.getResources(), + "Expected annotations are not present."); + assertCVTermsArePresent(getUnitByKind(substance, Unit.Kind.MOLE), + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + UnitPolisher.CV_TERM_IS_UO_MMOL.getResources(), + "Expected annotations are not present."); + + var time = m.getTimeUnitsInstance(); + assertNotNull(time); + assertUnits(Set.of(hour), setOfUnits(time)); + + assertCVTermsArePresent(time, + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + UnitPolisher.CV_TERM_IS_TIME_UNIT.getResources(), + "Expected annotations are not present."); + assertCVTermsArePresent(getUnitByKind(time, Unit.Kind.SECOND), + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + UnitPolisher.CV_TERM_IS_UO_HOUR.getResources(), + "Expected annotations are not present."); + + var extent = m.getExtentUnitsInstance(); + assertNotNull(extent); + assertUnits(Set.of(mmol, perGram), setOfUnits(extent)); + } + + + /** + * If a growth unit exists that has units defined, it is not overriden. + * However, if it is not a viable growth unit, it is renamed '__preexisting' + * and a proper growth unit is created. + * Also, substance, time and extent units are created if non existed. + */ + @Test + public void existingGrowthDefinitionIsPreservedButSuperseded() { + var m = new Model(3, 2); + + var growth = new UnitDefinition(3, 2); + growth.setId("mmol_per_gDW_per_hr"); + m.addUnitDefinition(growth); + var someUnit = new Unit(3, 2); + someUnit.setId("some"); + growth.addUnit(someUnit); + + new UnitPolisher(parameters, new IdentifiersOrg()).polish(m); + + assertEquals(Set.of("mmol_per_gDW_per_hr", "mmol_per_gDW_per_hr__preexisting", + "substance", "time"), + setOfUnitDefinitions(m)); + + var substance = m.getSubstanceUnitsInstance(); + assertNotNull(substance); + assertUnits(Set.of(mmol, perGram), setOfUnits(substance)); + + var time = m.getTimeUnitsInstance(); + assertNotNull(time); + assertUnits(Set.of(hour), setOfUnits(time)); + + var extent = m.getExtentUnitsInstance(); + assertUnits(Set.of(mmol, perGram), setOfUnits(extent)); + + assertUnits(Set.of(mmol, perGram, perHour), + setOfUnits(m.getUnitDefinition("mmol_per_gDW_per_hr"))); + } + + /** + * If substance and time units already exists, they remain unchanged, + * but are annotated as far as possible. + */ + @Test + public void existingSubstanceAndTimeAreUnchanged() { + var m = new Model(3, 2); + + var substance = new UnitDefinition(3, 2); + substance.setId("test_substance"); + m.addUnitDefinition(substance); + m.setSubstanceUnits("test_substance"); + + var time = new UnitDefinition(3, 2); + time.setId("test_time"); + m.addUnitDefinition(time); + m.setTimeUnits("test_time"); + + new UnitPolisher(parameters, new IdentifiersOrg()).polish(m); + + assertEquals(Set.of("mmol_per_gDW_per_hr", "test_time", "test_substance"), + setOfUnitDefinitions(m)); + assertNotNull(m.getSubstanceUnitsInstance()); + assertNotNull(m.getTimeUnitsInstance()); + assertNotNull(m.getExtentUnitsInstance()); + assertEquals(m.getExtentUnitsInstance(), m.getSubstanceUnitsInstance()); + + assertEquals("test_substance", + m.getSubstanceUnitsInstance().getId()); + assertEquals(Set.of(), + new HashSet<>(m.getSubstanceUnitsInstance() + .getListOfUnits())); + assertEquals("test_time", + m.getTimeUnitsInstance().getId()); + assertEquals(Set.of(), + new HashSet<>(m.getTimeUnitsInstance() + .getListOfUnits())); + + assertCVTermsArePresent(substance, + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + UnitPolisher.CV_TERM_IS_SUBSTANCE_UNIT.getResources(), + "Expected annotations are not present."); + assertCVTermsArePresent(time, + CVTerm.Type.BIOLOGICAL_QUALIFIER, + CVTerm.Qualifier.BQB_IS, + UnitPolisher.CV_TERM_IS_TIME_UNIT.getResources(), + "Expected annotations are not present."); + } + +} diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/polishing/fbc/FBCReactionPolisherTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/polishing/fbc/FBCReactionPolisherTest.java new file mode 100644 index 00000000..98cd891d --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/polishing/fbc/FBCReactionPolisherTest.java @@ -0,0 +1,239 @@ +package de.uni_halle.informatik.biodata.mp.polishing.fbc; + +import de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters; +import de.uni_halle.informatik.biodata.mp.parameters.SBOParameters; +import de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.FBCReactionPolisher; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg; +import org.junit.jupiter.api.Test; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.ext.fbc.*; +import org.sbml.jsbml.xml.XMLNode; +import org.sbml.jsbml.xml.XMLTriple; + +import static org.junit.jupiter.api.Assertions.*; + +class FBCReactionPolisherTest { + + public final SBOParameters sboParameters = new SBOParameters(); + private final PolishingParameters polishingParameters = new PolishingParameters(); + + @Test + public void existingBoundsGetDefaults() { + var model = new Model(3, 2); + var modelFbcPlugin = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + var r = model.createReaction("some_reaction"); + var rFbcPlugin = (FBCReactionPlugin) r.getPlugin(FBCConstants.shortLabel); + + var kl = r.createKineticLaw(); + kl.createLocalParameter("LOWER_BOUND"); + kl.createLocalParameter("UPPER_BOUND"); + + var p1 = model.createParameter("default_blubb"); + rFbcPlugin.setLowerFluxBound(p1); + var p2 = model.createParameter("other_blubb"); + rFbcPlugin.setUpperFluxBound(p2); + + new FBCReactionPolisher(modelFbcPlugin, polishingParameters, sboParameters, new IdentifiersOrg()).polish(r); + + var lb = rFbcPlugin.getLowerFluxBoundInstance(); + assertEquals("default_blubb", lb.getId()); + assertFalse(lb.isSetConstant()); + assertEquals("SBO:0000626", lb.getSBOTermID()); + var ub = rFbcPlugin.getUpperFluxBoundInstance(); + assertEquals("other_blubb", ub.getId()); + assertFalse(ub.isSetConstant()); + assertEquals("SBO:0000625", ub.getSBOTermID()); + } + + +// /** +// * Note: I consider this behaviour to be a bug basically. +// *

    +// * I am still testing the behaviour though for validation purposes should +// * this get fixed. +// */ +// @Test +// public void objectiveIsCreatedIfNoneIsPresent() { +// var model = new Model(3, 2); +// var fbcPlugin = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); +// +// var r = model.createReaction("some_reaction"); +// var kl = r.createKineticLaw(); +// var l1 = kl.createLocalParameter("OBJECTIVE_COEFFICIENT"); +// l1.setValue(23); +// +// assertEquals(1, model.getReactionCount()); +// assertEquals(0, fbcPlugin.getObjectiveCount()); +// +// new FBCReactionPolisher(fbcPlugin, polishingParameters, sboParameters, new IdentifiersOrg()).polish(r); +// +// assertEquals(1, model.getReactionCount()); +// assertEquals(1, fbcPlugin.getObjectiveCount()); +// assertNotNull(fbcPlugin.getActiveObjectiveInstance()); +// var fo = fbcPlugin.getObjective(0) +// .getListOfFluxObjectives() +// .get(0); +// assertEquals("fo_some_reaction", fo.getId()); +// assertEquals(r, fo.getReactionInstance()); +// } + + + @Test + public void fluxObjectivesAreSetFromKinematicLaws() { + var model = new Model(3, 2); + var fbcPlugin = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + + var r = model.createReaction("some_reaction"); + var kl = r.createKineticLaw(); + var l1 = kl.createLocalParameter("OBJECTIVE_COEFFICIENT"); + l1.setValue(23); + + var obj1 = fbcPlugin.createObjective("obj1", Objective.Type.MINIMIZE); + var obj2 = fbcPlugin.createObjective("obj2", Objective.Type.MAXIMIZE); + fbcPlugin.setActiveObjective(obj1); + + assertEquals(1, model.getReactionCount()); + assertEquals(2, fbcPlugin.getObjectiveCount()); + assertEquals(0, obj1.getFluxObjectiveCount()); + assertEquals(0, obj2.getFluxObjectiveCount()); + + new FBCReactionPolisher(fbcPlugin, polishingParameters, sboParameters, new IdentifiersOrg()).polish(r); + + assertEquals(1, model.getReactionCount()); + assertEquals(2, fbcPlugin.getObjectiveCount()); + assertEquals(1, obj1.getFluxObjectiveCount()); + assertEquals(0, obj2.getFluxObjectiveCount()); + var fo = obj1 + .getListOfFluxObjectives() + .get(0); + assertEquals("fo_some_reaction", fo.getId()); + assertEquals(r, fo.getReactionInstance()); + assertEquals(23, fo.getCoefficient()); + } + + + @Test + public void existingObjectivesAreRespected() { + var model = new Model(3, 2); + var fbcPlugin = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + + var r = model.createReaction("some_reaction"); + var kl = r.createKineticLaw(); + var l1 = kl.createLocalParameter("OBJECTIVE_COEFFICIENT"); + l1.setValue(23); + + var obj1 = fbcPlugin.createObjective("obj1", Objective.Type.MINIMIZE); + var existing_fo = obj1.createFluxObjective("existing_fo"); + existing_fo.setReaction(r); + var obj2 = fbcPlugin.createObjective("obj2", Objective.Type.MAXIMIZE); + fbcPlugin.setActiveObjective(obj1); + + assertEquals(1, model.getReactionCount()); + assertEquals(2, fbcPlugin.getObjectiveCount()); + assertEquals(1, obj1.getFluxObjectiveCount()); + assertEquals(0, obj2.getFluxObjectiveCount()); + + new FBCReactionPolisher(fbcPlugin, polishingParameters, sboParameters, new IdentifiersOrg()).polish(r); + + assertEquals(1, model.getReactionCount()); + assertEquals(2, fbcPlugin.getObjectiveCount()); + assertEquals(1, obj1.getFluxObjectiveCount()); + assertEquals(0, obj2.getFluxObjectiveCount()); + var fo = obj1 + .getListOfFluxObjectives() + .get(0); + assertEquals("existing_fo", fo.getId()); + assertEquals(r, fo.getReactionInstance()); + assertFalse(fo.isSetCoefficient()); + } + + @Test + public void boundsAreCreatedFromLocalParameters() { + var model = new Model(3, 2); + var fbcPlugin = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + + var r = model.createReaction("some_reaction"); + var rFbcPlugin = (FBCReactionPlugin) r.getPlugin(FBCConstants.shortLabel); + + var kl = r.createKineticLaw(); + kl.createLocalParameter("LOWER_BOUND"); + kl.createLocalParameter("UPPER_BOUND"); + + assertNull(rFbcPlugin.getLowerFluxBoundInstance()); + assertNull(rFbcPlugin.getUpperFluxBoundInstance()); + + new FBCReactionPolisher(fbcPlugin, polishingParameters, sboParameters, new IdentifiersOrg()).polish(r); + + var lb = rFbcPlugin.getLowerFluxBoundInstance(); + assertEquals("some_reaction_LOWER_BOUND", lb.getId()); + assertTrue(lb.isSetConstant()); + assertTrue(lb.isConstant()); + assertEquals("SBO:0000625", lb.getSBOTermID()); + var ub = rFbcPlugin.getUpperFluxBoundInstance(); + assertEquals("some_reaction_UPPER_BOUND", ub.getId()); + assertTrue(ub.isSetConstant()); + assertTrue(ub.isConstant()); + assertEquals("SBO:0000625", lb.getSBOTermID()); + } + + + @Test + public void newBoundsSettingsByValueAndExistingParameters() { + var model = new Model(3, 2); + var fbcPlugin = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + + var r = model.createReaction("some_reaction"); + var rFbcPlugin = (FBCReactionPlugin) r.getPlugin(FBCConstants.shortLabel); + + var kl = r.createKineticLaw(); + var p1 = kl.createLocalParameter("LOWER_BOUND"); + p1.setValue(1000); + kl.createLocalParameter("UPPER_BOUND"); + + var pModel = model.createParameter("some_reaction_UPPER_BOUND"); + + assertNull(rFbcPlugin.getLowerFluxBoundInstance()); + assertNull(rFbcPlugin.getUpperFluxBoundInstance()); + + new FBCReactionPolisher(fbcPlugin, polishingParameters, sboParameters, new IdentifiersOrg()).polish(r); + + var lb = rFbcPlugin.getLowerFluxBoundInstance(); + assertEquals("DEFAULT_UPPER_BOUND", lb.getId()); + var ub = rFbcPlugin.getUpperFluxBoundInstance(); + assertEquals("some_reaction_UPPER_BOUND", ub.getId()); + assertEquals(pModel, ub); + } + + /** + * Note: this apparently shows a bug in the GPRParser::areEqual method. + * That is, hopefully, once that bug is fixed, this should fail. + * + */ + @Test + public void notesToGPRs() { + var model = new Model(3, 2); + var fbcPlugin = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + + var r = model.createReaction("some_reaction"); + var rFbcPlugin = (FBCReactionPlugin) r.getPlugin(FBCConstants.shortLabel); + var body = new XMLNode(new XMLTriple("body", "", "")); + var p1 = new XMLNode(new XMLTriple("p", "", "")); + p1.addChild(new XMLNode("GENE_ASSOCIATION: some_assoc")); + body.addChild(p1); + var p2 = new XMLNode(new XMLTriple("p", "", "")); + p2.addChild(new XMLNode("GENE_ASSOCIATION: some_other_assoc")); + body.addChild(p2); + r.setNotes(body); + + new FBCReactionPolisher(fbcPlugin, polishingParameters, sboParameters, new IdentifiersOrg()).polish(r); + + assertInstanceOf(GeneProductRef.class, rFbcPlugin.getGeneProductAssociation() + .getAssociation(), "The result is expected to be " + + "(wrongly, happy fixing should this fail for you!) " + + "a single gene association, not an AND or OR."); + assertEquals("G_some_assoc", + ((GeneProductRef) rFbcPlugin.getGeneProductAssociation() + .getAssociation()).getGeneProduct()); + } + +} \ No newline at end of file diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/polishing/fbc/ObjectivesPolisherTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/polishing/fbc/ObjectivesPolisherTest.java new file mode 100644 index 00000000..7c3a2cff --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/polishing/fbc/ObjectivesPolisherTest.java @@ -0,0 +1,44 @@ +package de.uni_halle.informatik.biodata.mp.polishing.fbc; + +import de.uni_halle.informatik.biodata.mp.parameters.PolishingParameters; +import de.uni_halle.informatik.biodata.mp.polishing.ext.fbc.ObjectivesPolisher; +import de.uni_halle.informatik.biodata.mp.resolver.identifiersorg.IdentifiersOrg; +import org.junit.jupiter.api.Test; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.ext.fbc.FBCConstants; +import org.sbml.jsbml.ext.fbc.FBCModelPlugin; + +import static org.junit.jupiter.api.Assertions.*; + + +public class ObjectivesPolisherTest { + + /** + * Test that if an objective is set, and it has flux objectives too, it won't be overwritten. + */ + @Test + public void activeObjectiveRemainsUnchangedIfItHasFluxObjective() { + var m = new Model(3,2); + var fbcPlugin = (FBCModelPlugin) m.getPlugin(FBCConstants.shortLabel); + + fbcPlugin.createObjective("obj1"); + var o2 = fbcPlugin.createObjective("obj2"); + o2.createFluxObjective(); + fbcPlugin.setActiveObjective(o2); + fbcPlugin.createObjective("obj3"); + + var parameters = new PolishingParameters(false); + + m.createReaction("objective_reaction1"); + m.createReaction("yadda_Biomass_yadda"); + + var mPlug = (FBCModelPlugin) m.getPlugin(FBCConstants.shortLabel); + new ObjectivesPolisher(fbcPlugin, parameters, new IdentifiersOrg()).polish(mPlug.getListOfObjectives()); + + assertEquals("obj2", fbcPlugin.getActiveObjective()); + } + + + + +} \ No newline at end of file diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/util/GPRParserTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/util/GPRParserTest.java new file mode 100644 index 00000000..81ea715a --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/util/GPRParserTest.java @@ -0,0 +1,44 @@ +package de.uni_halle.informatik.biodata.mp.util; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.junit.jupiter.api.BeforeAll; + +public class GPRParserTest { + + static final List geneReactionRules = new ArrayList<>(); + + @BeforeAll + public static void setUp() { + String[] grr = {"1591.1", "8639.1 or 26.1 or 314.2 or 314.1", + "(4967.2 and 1738.1 and 8050.1 and 1743.1) or (4967.1 and 1738.1 and 8050.1 and 1743.1)", + "130.1 or 127.1 or (125.1 and 124.1) or 131.1 or (126.1 and 124.1) or 128.1 or 137872.1 or (125.1 and 126.1)"}; + geneReactionRules.addAll(Arrays.asList(grr)); + //geneProductAssociations.add(prepareFirstResult()); + } + + + // private static void prepareFirstResult() { + // GeneProductRef geneProductRef = new GeneProductRef(LEVEL, VERSION); + // FBCModelPlugin fbcPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + // String identifier = "G_1591_AT1"; + // GeneProduct geneProduct = fbcPlug.createGeneProduct(identifier); + // geneProduct.setLabel(identifier); + // geneProductRef.setGeneProduct(identifier); + // //return (GeneProductAssociation) geneProductRef; + // } + + + // private static GeneProductAssociation prepareSecondResult() { + // GeneProductAssociation association = new GeneProductAssociation(LEVEL, VERSION); + // GeneProductRef geneProductRef = new GeneProductRef(LEVEL, VERSION); + // FBCModelPlugin fbcPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); + // String identifier = "G_1591_AT1"; + // GeneProduct gp = fbcPlug.createGeneProduct(identifier); + // gp.setLabel(identifier); + // return association; + // } + +} diff --git a/lib/src/test/java/de/uni_halle/informatik/biodata/mp/validation/ModelValidatorTest.java b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/validation/ModelValidatorTest.java new file mode 100644 index 00000000..ecc0e78f --- /dev/null +++ b/lib/src/test/java/de/uni_halle/informatik/biodata/mp/validation/ModelValidatorTest.java @@ -0,0 +1,26 @@ +package de.uni_halle.informatik.biodata.mp.validation; + +import org.junit.jupiter.api.Test; +import org.sbml.jsbml.Model; +import org.sbml.jsbml.SBMLDocument; +import org.sbml.jsbml.validator.offline.LoggingValidationContext; + +import static org.junit.jupiter.api.Assertions.*; + +public class ModelValidatorTest { + + @Test + public void invalidSBMLFails() { + var doc = new SBMLDocument(3, 1); + doc.setModel(new Model()); +// var validator = new ModelValidator(); +// var errorLog = validator.validate(sbml); + LoggingValidationContext context = new LoggingValidationContext(doc.getLevel(), doc.getVersion()); + context.setValidateRecursively(true); + context.loadConstraints(Model.class, doc.getLevel(), doc.getVersion()); + context.validate(doc.getModel()); + var errorLog = context.getErrorLog(); + assertEquals(0, errorLog.getErrorCount()); + assertFalse(doc.getModel().isSetId()); + } +} diff --git a/src/test/resources/edu/ucsd/sbrg/bigg/bigg_models_data_ids.json b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/db/bigg/bigg_models_data_ids.json similarity index 100% rename from src/test/resources/edu/ucsd/sbrg/bigg/bigg_models_data_ids.json rename to lib/src/test/resources/de/uni_halle/informatik/biodata/mp/db/bigg/bigg_models_data_ids.json diff --git a/src/main/resources/edu/ucsd/sbrg/bigg/models/e_coli_core.xml b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/e_coli_core.xml similarity index 100% rename from src/main/resources/edu/ucsd/sbrg/bigg/models/e_coli_core.xml rename to lib/src/test/resources/de/uni_halle/informatik/biodata/mp/e_coli_core.xml diff --git a/src/main/resources/edu/ucsd/sbrg/bigg/models/e_coli_core.json b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/io/e_coli_core.json similarity index 100% rename from src/main/resources/edu/ucsd/sbrg/bigg/models/e_coli_core.json rename to lib/src/test/resources/de/uni_halle/informatik/biodata/mp/io/e_coli_core.json diff --git a/src/main/resources/edu/ucsd/sbrg/bigg/models/e_coli_core.mat b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/io/e_coli_core.mat similarity index 100% rename from src/main/resources/edu/ucsd/sbrg/bigg/models/e_coli_core.mat rename to lib/src/test/resources/de/uni_halle/informatik/biodata/mp/io/e_coli_core.mat diff --git a/src/test/resources/edu/ucsd/sbrg/bigg/glossary.rdf b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/io/glossary.rdf similarity index 100% rename from src/test/resources/edu/ucsd/sbrg/bigg/glossary.rdf rename to lib/src/test/resources/de/uni_halle/informatik/biodata/mp/io/glossary.rdf diff --git a/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/io/model.tmp b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/io/model.tmp new file mode 100644 index 00000000..b1ee5c62 --- /dev/null +++ b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/io/model.tmp @@ -0,0 +1,9898 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/resources/edu/ucsd/sbrg/bigg/model.xml b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/io/model.xml similarity index 100% rename from src/test/resources/edu/ucsd/sbrg/bigg/model.xml rename to lib/src/test/resources/de/uni_halle/informatik/biodata/mp/io/model.xml diff --git a/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/Recon3D.mat b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/Recon3D.mat new file mode 100644 index 00000000..d43b4ed0 Binary files /dev/null and b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/io/parsers/cobra/Recon3D.mat differ diff --git a/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/io/parsers/json/iJB785.json b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/io/parsers/json/iJB785.json new file mode 100644 index 00000000..6b3bb24d --- /dev/null +++ b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/io/parsers/json/iJB785.json @@ -0,0 +1,21324 @@ +{ +"reactions":[ +{ +"id":"QULNS", +"name":"Quinolinate synthase", +"metabolites":{ +"dhap_c":-1.0, +"h2o_c":2.0, +"iasp_c":-1.0, +"pi_c":1.0, +"quln_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1448", +"subsystem":"Cofactor biosynthesis: Nicotinate and Nicotinamide metabolism" +}, +{ +"id":"ORNDC", +"name":"Ornithine Decarboxylase", +"metabolites":{ +"co2_c":1.0, +"h_c":-1.0, +"orn_c":-1, +"ptrc_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0707", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"LEUTA", +"name":"Leucine transaminase", +"metabolites":{ +"4mop_c":1.0, +"akg_c":-1.0, +"glu__L_c":1.0, +"leu__L_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1029", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"MSBENZMT", +"name":"S-adenosyl-L-methionine:2-methyl-6-solanyl-1,4-benzoquinol C3 methyltransferase", +"metabolites":{ +"2m6sbenzq_c":-1.0, +"ahcys_c":1.0, +"amet_c":-1.0, +"h_c":1.0, +"pqh2_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0596", +"subsystem":"Plastoquinol biosynthesis" +}, +{ +"id":"DESAT18a", +"name":"Stearoyl ACP delta-9 desaturase", +"metabolites":{ +"h2o_c":2.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"o2_c":-1.0, +"ocdcaACP_c":-1.0, +"octe9ACP_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2561", +"subsystem":"Galactoglycerolipid metabolism" +}, +{ +"id":"FUM", +"name":"Fumarase", +"metabolites":{ +"fum_c":-1.0, +"h2o_c":-1.0, +"mal__L_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1007", +"subsystem":"Pyruvate metabolism/TCA Reactions" +}, +{ +"id":"PHYFXOR", +"name":"Phycocyanobilin:ferredoxin oxidoreductase", +"metabolites":{ +"biliverd_c":-1.0, +"fdxox_c":4.0, +"fdxrd_c":-4.0, +"h_c":-4.0, +"phycy_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1225", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"VPAMTr", +"name":"Valine-pyruvate aminotransferase", +"metabolites":{ +"3mob_c":-1.0, +"ala__L_c":-1.0, +"pyr_c":1.0, +"val__L_c":1.0 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2258", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"GLYCL", +"name":"Glycine Cleavage System", +"metabolites":{ +"co2_c":1.0, +"gly_c":-1.0, +"mlthf_c":1.0, +"nad_c":-1.0, +"nadh_c":1.0, +"nh4_c":1.0, +"thf_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2046 and Synpcc7942_2047 and Synpcc7942_2308", +"subsystem":"Amino acid metabolism: Glycine, Serine and Threonine metabolism" +}, +{ +"id":"NDPK7", +"name":"Nucleoside-diphosphate kinase (ATP:dCDP)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"dcdp_c":-1.0, +"dctp_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2497", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"GTPCI", +"name":"GTP cyclohydrolase I", +"metabolites":{ +"ahdt_c":1.0, +"for_c":1.0, +"gtp_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1597", +"subsystem":"Cofactor biosynthesis: Folate biosynthesis" +}, +{ +"id":"MTHFC", +"name":"Methenyltetrahydrofolate cyclohydrolase", +"metabolites":{ +"10fthf_c":1.0, +"h2o_c":-1.0, +"h_c":1.0, +"methf_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0777", +"subsystem":"Cofactor biosynthesis: Folate biosynthesis" +}, +{ +"id":"LYCBC2", +"name":"Lycopene cyclase (beta-carotene producing)", +"metabolites":{ +"caro_c":1.0, +"gcaro_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2062", +"subsystem":"Carotenoid biosynthesis" +}, +{ +"id":"ORNTA", +"name":"Ornithine transaminase", +"metabolites":{ +"akg_c":-1.0, +"glu5sa_c":1.0, +"glu__L_c":1.0, +"orn_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0034", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"UPPDC1", +"name":"Uroporphyrinogen decarboxylase (uroporphyrinogen III)", +"metabolites":{ +"co2_c":4.0, +"cpppg3_c":1.0, +"h_c":-4.0, +"uppg3_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1086", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"GARFT", +"name":"Phosphoribosylglycinamide formyltransferase", +"metabolites":{ +"10fthf_c":-1.0, +"fgam_c":1.0, +"gar_c":-1.0, +"h_c":1.0, +"thf_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0958", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"H4THDPR", +"name":"4-hydroxy-tetrahydrodipicolinate reductase", +"metabolites":{ +"4hthdp_c":-1.0, +"h2o_c":1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"thdp_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2136", +"subsystem":"Amino acid metabolism: Lysine biosynthesis" +}, +{ +"id":"UDPG4E", +"name":"UDPglucose 4-epimerase", +"metabolites":{ +"udpg_c":-1.0, +"udpgal_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0320", +"subsystem":"Nucleotide sugar metabolism" +}, +{ +"id":"GLCS3", +"name":"Glycogen synthase (linear extension of glycogen polymer)", +"metabolites":{ +"14glucan_c":1.0, +"adp_c":1.0, +"adpglc_c":-1.0, +"amylose_c":-1.0, +"h_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2518", +"subsystem":"Glycogen and sucrose metabolism" +}, +{ +"id":"ASPTA", +"name":"Aspartate transaminase", +"metabolites":{ +"akg_c":-1.0, +"asp__L_c":-1.0, +"glu__L_c":1.0, +"oaa_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2545", +"subsystem":"Amino acid metabolism: Alanine, Aspartate and Glutamate metabolism" +}, +{ +"id":"PRAGSr", +"name":"Phosphoribosylglycinamide synthase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"gar_c":1.0, +"gly_c":-1.0, +"h_c":1.0, +"pi_c":1.0, +"pram_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0925", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"ACKr", +"name":"Acetate kinase", +"metabolites":{ +"ac_c":-1.0, +"actp_c":1.0, +"adp_c":1.0, +"atp_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2079", +"subsystem":"Pyruvate metabolism/TCA Reactions" +}, +{ +"id":"KAS14", +"name":"Beta-ketoacyl-ACP synthase", +"metabolites":{ +"ACP_c":1.0, +"acACP_c":-1.0, +"actACP_c":1.0, +"co2_c":1.0, +"h_c":-1.0, +"malACP_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0537", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"UDCPDPS", +"name":"Undecaprenyl diphosphate synthase", +"metabolites":{ +"frdp_c":-1.0, +"ipdp_c":-8.0, +"ppi_c":8.0, +"udcpdp_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0264", +"subsystem":"Terpenoid Biosynthesis" +}, +{ +"id":"GLNS", +"name":"Glutamine synthetase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"gln__L_c":1.0, +"glu__L_c":-1.0, +"h_c":1.0, +"nh4_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0169 or Synpcc7942_2296 or Synpcc7942_2156", +"subsystem":"Amino acid metabolism: Alanine, Aspartate and Glutamate metabolism" +}, +{ +"id":"SHKK", +"name":"Shikimate kinase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h_c":1.0, +"skm5p_c":1.0, +"skm_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0894", +"subsystem":"Amino acid metabolism: Phenylalanine, Tyrosine, Tryptophan biosynthesis" +}, +{ +"id":"G1PACT", +"name":"Glucosamine-1-phosphate N-acetyltransferase", +"metabolites":{ +"accoa_c":-1.0, +"acgam1p_c":1.0, +"coa_c":1.0, +"gam1p_c":-1.0, +"h_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0288", +"subsystem":"Murein Biosynthesis/Recycling" +}, +{ +"id":"5DOAN", +"name":"5'-deoxyadenosine nuclosidase", +"metabolites":{ +"5drib_c":1.0, +"ade_c":1.0, +"dad_5_c":-1.0, +"h2o_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"OHPBAT", +"name":"O-Phospho-4-hydroxy-L-threonine:2-oxoglutarate aminotransferase", +"metabolites":{ +"akg_c":1.0, +"glu__L_c":-1.0, +"ohpb_c":-1.0, +"phthr_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2160", +"subsystem":"Cofactor biosynthesis: Vitamin B6" +}, +{ +"id":"Htex", +"name":"Proton transport via diffusion (extracellular to periplasm)", +"metabolites":{ +"h_e":-1.0, +"h_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"3HAD60", +"name":"3-hydroxyacyl-[acyl-carrier-protein] dehydratase (n-C6:0)", +"metabolites":{ +"3hhexACP_c":-1.0, +"h2o_c":1.0, +"thex2eACP_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0930", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"PGI", +"name":"Glucose-6-phosphate isomerase", +"metabolites":{ +"f6p_c":1.0, +"g6p_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2029", +"subsystem":"Glycolysis/Gluconeogenesis" +}, +{ +"id":"PNTK", +"name":"Pantothenate kinase", +"metabolites":{ +"4ppan_c":1.0, +"adp_c":1.0, +"atp_c":-1.0, +"h_c":1.0, +"pnto__R_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1808", +"subsystem":"Cofactor biosynthesis: Pantothenate and CoA biosynthesis" +}, +{ +"id":"3OAR60", +"name":"3-oxoacyl-[acyl-carrier-protein] reductase (n-C6:0)", +"metabolites":{ +"3hhexACP_c":1.0, +"3ohexACP_c":-1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0684", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"ACGK", +"name":"Acetylglutamate kinase", +"metabolites":{ +"acg5p_c":1.0, +"acglu_c":-1.0, +"adp_c":1.0, +"atp_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1496", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"LEUabcpp", +"name":"L-leucine transport via ABC system (periplasm)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"leu__L_c":1, +"leu__L_p":-1, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0815 and Synpcc7942_1861 and Synpcc7942_1893 and Synpcc7942_1894 and Synpcc7942_2177", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"G5SD", +"name":"Glutamate-5-semialdehyde dehydrogenase", +"metabolites":{ +"glu5p_c":-1.0, +"glu5sa_c":1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2243 or Synpcc7942_2265", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"DTMPK", +"name":"DTMP kinase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"dtdp_c":1.0, +"dtmp_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0093", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"NOR", +"name":"Neurosporene oxidoreductase", +"metabolites":{ +"h2o_c":2.0, +"h_c":-1.0, +"lyc_c":1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"norsp_c":-1.0, +"o2_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1512 and Synpcc7942_1246", +"subsystem":"Carotenoid biosynthesis" +}, +{ +"id":"NDH-1(1)um", +"name":"NAD(P)H dehydrogenase (plastoquinone-8 & 4 protons)( Thylakoid)", +"metabolites":{ +"fdxox_c":2, +"fdxrd_c":-2, +"h_c":-5.0, +"h_u":3.0, +"pq_um":-1.0, +"pqh2_um":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1343 and Synpcc7942_1415 and Synpcc7942_1180 and Synpcc7942_1346 and Synpcc7942_1345 and Synpcc7942_1743 and Synpcc7942_1344 and Synpcc7942_1182 and Synpcc7942_1181 and Synpcc7942_0413 and Synpcc7942_2234 and Synpcc7942_1982 and Synpcc7942_2487 and Synpcc7942_2257 and Synpcc7942_1908 and Synpcc7942_1106 and Synpcc7942_0668 and Synpcc7942_0491 and Synpcc7942_1439 and Synpcc7942_1977", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"AOOA", +"name":"5-Amino-2-oxopentanoate:2-oxoglutarate aminotransferase, cytosol", +"metabolites":{ +"akg_c":-1.0, +"glu__L_c":1.0, +"hisp_c":-1.0, +"imacp_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1030", +"subsystem":"Histidine Metabolism" +}, +{ +"id":"CMPA", +"name":"N-carbamoylputrescine amidase", +"metabolites":{ +"cbmp_c":-1.0, +"co2_c":1.0, +"h2o_c":-1.0, +"h_c":-2.0, +"nh4_c":1.0, +"ptrc_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2145", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"U23GAAT2", +"name":"UDP-3-O-(3-hydroxypalmitoyl)glucosamine acyltransferase (Synechococcus elongatus 7942)", +"metabolites":{ +"3hpalmACP_c":-1, +"ACP_c":1.0, +"h_c":1.0, +"u23ga2_c":1, +"u3hga2_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1449", +"subsystem":"Lipopolysaccharide/O-antigen Biosynthesis" +}, +{ +"id":"PGK", +"name":"Phosphoglycerate kinase", +"metabolites":{ +"13dpg_c":1.0, +"3pg_c":-1.0, +"adp_c":1.0, +"atp_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1116", +"subsystem":"Glycolysis/Gluconeogenesis" +}, +{ +"id":"IMPD", +"name":"IMP dehydrogenase", +"metabolites":{ +"h2o_c":-1.0, +"h_c":1.0, +"imp_c":-1.0, +"nad_c":-1.0, +"nadh_c":1.0, +"xmp_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1831", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"LPOR", +"name":"Light dependent protochlorophyllide oxidoreductase", +"metabolites":{ +"chlda_c":1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"pchlld_exc_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2503", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"CHRPL", +"name":"Chorismate pyruvate lyase", +"metabolites":{ +"4hbz_c":1.0, +"chor_c":-1.0, +"pyr_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0091", +"subsystem":"Plastoquinol biosynthesis" +}, +{ +"id":"GCALDDy", +"name":"Glycolaldehyde dehydrogenase (NADPH utilizing)", +"metabolites":{ +"gcald_c":-1.0, +"glyclt_c":1.0, +"h2o_c":-1.0, +"h_c":2.0, +"nadp_c":-1, +"nadph_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0489", +"subsystem":"Cofactor biosynthesis: Folate biosynthesis" +}, +{ +"id":"RNDR1", +"name":"Ribonucleoside-diphosphate reductase (ADP)", +"metabolites":{ +"adp_c":-1.0, +"dadp_c":1.0, +"h2o_c":1.0, +"trdox_c":1.0, +"trdrd_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1609", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"AIRC2", +"name":"Phosphoribosylaminoimidazole carboxylase", +"metabolites":{ +"5caiz_c":1.0, +"adp_c":1.0, +"air_c":-1.0, +"atp_c":-1.0, +"h_c":1.0, +"hco3_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1428", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"MTAP", +"name":"5 methylthioadenosine phosphorylase", +"metabolites":{ +"5mdr1p_c":1.0, +"5mta_c":-1.0, +"ade_c":1.0, +"pi_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0923", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"HEMEAS", +"name":"Heme A synthase", +"metabolites":{ +"h2o_c":-1.0, +"h_c":2.0, +"hemeA_c":1.0, +"hemeO_c":-1.0, +"nad_c":-2.0, +"nadh_c":2.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2601", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"DHORD3um", +"name":"Dihydoorotic acid dehydrogenase (plastoquinone)", +"metabolites":{ +"dhor__S_c":-1.0, +"orot_c":1.0, +"pq_um":-1.0, +"pqh2_um":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0290", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"TRPS1", +"name":"Tryptophan synthase (indoleglycerol phosphate)", +"metabolites":{ +"3ig3p_c":-1.0, +"g3p_c":1.0, +"h2o_c":1.0, +"ser__L_c":-1.0, +"trp__L_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0411 and Synpcc7942_2143", +"subsystem":"Amino acid metabolism: Phenylalanine, Tyrosine, Tryptophan biosynthesis" +}, +{ +"id":"NNATr", +"name":"Nicotinate-nucleotide adenylyltransferase", +"metabolites":{ +"atp_c":-1.0, +"dnad_c":1.0, +"h_c":-1.0, +"nicrnt_c":-1.0, +"ppi_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0205 or Synpcc7942_0106", +"subsystem":"Cofactor biosynthesis: Nicotinate and Nicotinamide metabolism" +}, +{ +"id":"3OAR120", +"name":"3-oxoacyl-[acyl-carrier-protein] reductase (n-C12:0)", +"metabolites":{ +"3hddecACP_c":1.0, +"3oddecACP_c":-1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0684", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"HISTDb", +"name":"Histidinol dehydrogenase (histidine forming)", +"metabolites":{ +"h2o_c":-1.0, +"h_c":2.0, +"his__L_c":1.0, +"histda_c":-1.0, +"nad_c":-1.0, +"nadh_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1519", +"subsystem":"Histidine Metabolism" +}, +{ +"id":"SPS", +"name":"Sucrose phosphate synthase", +"metabolites":{ +"f6p_c":-1.0, +"h_c":1.0, +"suc6p_c":1.0, +"udp_c":1.0, +"udpg_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0808", +"subsystem":"Glycogen and sucrose metabolism" +}, +{ +"id":"ADCL", +"name":"4-aminobenzoate synthase", +"metabolites":{ +"4abz_c":1.0, +"4adcho_c":-1.0, +"h_c":1.0, +"pyr_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1335", +"subsystem":"Cofactor biosynthesis: Folate biosynthesis" +}, +{ +"id":"CYTK1", +"name":"Cytidylate kinase (CMP)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"cdp_c":1.0, +"cmp_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1151", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"PSIum", +"name":"Photosystem I", +"metabolites":{ +"fdxox_c":-0.99, +"fdxrd_c":0.99, +"o2_c":-0.01, +"o2s_c":0.01, +"p700_exc_um":-1.0, +"p700_um":1.0, +"pccu1p_u":-1.0, +"pccu2p_u":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0407 and Synpcc7942_0535 and Synpcc7942_0654 and Synpcc7942_0920 and Synpcc7942_1002 and Synpcc7942_1249 and Synpcc7942_1250 and Synpcc7942_1322 and Synpcc7942_1912a and Synpcc7942_2048 and Synpcc7942_2049 and Synpcc7942_2321 and Synpcc7942_2342 and Synpcc7942_2343 and Synpcc7942_2513", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"Cobalt2abcppI", +"name":"Cobalt II transport via ABC system periplasm I", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"cobalt2_c":1.0, +"cobalt2_p":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2341 and Synpcc7942_0560 and Synpcc7942_1639", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"THRS", +"name":"Threonine synthase", +"metabolites":{ +"h2o_c":-1.0, +"phom_c":-1.0, +"pi_c":1.0, +"thr__L_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2612 or Synpcc7942_1782", +"subsystem":"Amino acid metabolism: Glycine, Serine and Threonine metabolism" +}, +{ +"id":"AOXPBDC", +"name":"2-Amino-3-oxo-4-phosphonooxybutyrate decarboxylation (spontaneous)", +"metabolites":{ +"2a3pp_c":-1.0, +"3a2oxpp_c":1.0, +"co2_c":1.0, +"h_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Cofactor biosynthesis: Vitamin B6" +}, +{ +"id":"NAMNPP", +"name":"Nicotinic acid mononucleotide pyrophosphorylase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"nac_c":-1.0, +"nicrnt_c":1.0, +"pi_c":1.0, +"ppi_c":1.0, +"prpp_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0206", +"subsystem":"Cofactor biosynthesis: Nicotinate and Nicotinamide metabolism" +}, +{ +"id":"PERD", +"name":"Erythronate 4-phosphate (4per) dehydrogenase", +"metabolites":{ +"4per_c":-1.0, +"h_c":1.0, +"nad_c":-1.0, +"nadh_c":1.0, +"ohpb_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1596", +"subsystem":"Cofactor biosynthesis: Vitamin B6" +}, +{ +"id":"DAPDC", +"name":"Diaminopimelate decarboxylase", +"metabolites":{ +"26dap__M_c":-1.0, +"co2_c":1.0, +"h_c":-1.0, +"lys__L_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0262", +"subsystem":"Amino acid metabolism: Lysine biosynthesis" +}, +{ +"id":"COCHL", +"name":"Cobaltochelatase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"co2dam_c":1.0, +"cobalt2_c":-1.0, +"h2o_c":-1.0, +"h_c":3.0, +"hgbam_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0097 and Synpcc7942_0827", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"3OAR100", +"name":"3-oxoacyl-[acyl-carrier-protein] reductase (n-C10:0)", +"metabolites":{ +"3hdecACP_c":1.0, +"3odecACP_c":-1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0684", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"PFK_3", +"name":"Phosphofructokinase (s7p)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h_c":1.0, +"s17bp_c":1.0, +"s7p_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0592", +"subsystem":"Calvin cycle/Pentose phosphate pathway" +}, +{ +"id":"PPK2r", +"name":"Polyphosphate kinase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"ppi_c":-1.0, +"pppi_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1566", +"subsystem":"Inorganic Ion Transport and Metabolism" +}, +{ +"id":"ZNabcpp", +"name":"Zinc (Zn+2) transport via ABC system (periplasm)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"pi_c":1.0, +"zn2_c":1.0, +"zn2_p":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"(Synpcc7942_1316 and Synpcc7942_1317 and Synpcc7942_1318) or (Synpcc7942_2573 and Synpcc7942_2574 and Synpcc7942_2575)", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"GLYDHDA", +"name":"Gylcine dehydrogenase (deamidating)", +"metabolites":{ +"glx_c":1.0, +"gly_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"nad_c":-1.0, +"nadh_c":1.0, +"nh4_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1760", +"subsystem":"Photorespiration/Glyoxylate Degredation" +}, +{ +"id":"ANS", +"name":"Anthranilate synthase", +"metabolites":{ +"anth_c":1.0, +"chor_c":-1.0, +"gln__L_c":-1.0, +"glu__L_c":1.0, +"h_c":1.0, +"pyr_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0400 and Synpcc7942_1003", +"subsystem":"Amino acid metabolism: Phenylalanine, Tyrosine, Tryptophan biosynthesis" +}, +{ +"id":"SUCBZL", +"name":"O-succinylbenzoate-CoA ligase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"coa_c":-1.0, +"ppi_c":1.0, +"sbzcoa_c":1.0, +"sucbz_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1021", +"subsystem":"Phylloquinone biosynthesis" +}, +{ +"id":"ADPT", +"name":"Adenine phosphoribosyltransferase", +"metabolites":{ +"ade_c":-1.0, +"amp_c":1.0, +"ppi_c":1.0, +"prpp_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2454", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"RNDR3", +"name":"Ribonucleoside-diphosphate reductase (CDP)", +"metabolites":{ +"cdp_c":-1.0, +"dcdp_c":1.0, +"h2o_c":1.0, +"trdox_c":1.0, +"trdrd_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1609", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"DHNANT", +"name":"1,4-dihydroxy-2-napthoyl phytyltransferase", +"metabolites":{ +"co2_c":1.0, +"dhna_c":-1.0, +"dmtphllqne_c":1.0, +"nadp_c":-1.0, +"nadph_c":1.0, +"phdp_c":-1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1366 and Synpcc7942_2508", +"subsystem":"Phylloquinone biosynthesis" +}, +{ +"id":"GND", +"name":"Phosphogluconate dehydrogenase", +"metabolites":{ +"6pgc_c":-1.0, +"co2_c":1.0, +"nadp_c":-1.0, +"nadph_c":1.0, +"ru5p__D_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0039", +"subsystem":"Calvin cycle/Pentose phosphate pathway" +}, +{ +"id":"O2tcx", +"name":"Oxygen transport into the carboxyzome via diffusion", +"metabolites":{ +"o2_c":-1.0, +"o2_cx":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: carboxyzome" +}, +{ +"id":"TRPS3", +"name":"Tryptophan synthase (indoleglycerol phosphate)", +"metabolites":{ +"3ig3p_c":-1.0, +"g3p_c":1.0, +"indole_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0411 and Synpcc7942_2143", +"subsystem":"Amino acid metabolism: Phenylalanine, Tyrosine, Tryptophan biosynthesis" +}, +{ +"id":"DNTPPA", +"name":"Dihydroneopterin triphosphate pyrophosphatase", +"metabolites":{ +"ahdt_c":-1.0, +"dhpmp_c":1.0, +"h2o_c":-1.0, +"h_c":1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Cofactor biosynthesis: Folate biosynthesis" +}, +{ +"id":"HOXGfx", +"name":"Heme oxygenase 1 (ferredoxin utilizing)", +"metabolites":{ +"biliverd_c":1.0, +"co_c":1.0, +"fdxox_c":6.0, +"fdxrd_c":-6.0, +"fe2_c":1.0, +"h2o_c":3.0, +"h_c":-8.0, +"o2_c":-3.0, +"pheme_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1858", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"TMPPP", +"name":"Thiamine-phosphate diphoshorylase", +"metabolites":{ +"2mahmp_c":-1.0, +"co2_c":1.0, +"cthzp_c":-1.0, +"h_c":-2.0, +"ppi_c":1.0, +"thmmp_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1057", +"subsystem":"Cofactor biosynthesis: Thiamine (B1)" +}, +{ +"id":"TALA", +"name":"Transaldolase", +"metabolites":{ +"e4p_c":1.0, +"f6p_c":1.0, +"g3p_c":-1.0, +"s7p_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2297", +"subsystem":"Calvin cycle/Pentose phosphate pathway" +}, +{ +"id":"ACONT", +"name":"Aconitase", +"metabolites":{ +"cit_c":-1, +"icit_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0903", +"subsystem":"Pyruvate metabolism/TCA Reactions" +}, +{ +"id":"IGPS", +"name":"Indole-3-glycerol-phosphate synthase", +"metabolites":{ +"2cpr5p_c":-1.0, +"3ig3p_c":1.0, +"co2_c":1.0, +"h2o_c":1.0, +"h_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1197", +"subsystem":"Amino acid metabolism: Phenylalanine, Tyrosine, Tryptophan biosynthesis" +}, +{ +"id":"HBZNPT", +"name":"Hydroxybenzoate nonaprenyltransferase", +"metabolites":{ +"3nphb_c":1.0, +"4hbz_c":-1.0, +"npdp_c":-1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1964", +"subsystem":"Plastoquinol biosynthesis" +}, +{ +"id":"HSDyi", +"name":"Homoserine dehydrogenase NADP irreversible", +"metabolites":{ +"aspsa_c":-1.0, +"h_c":-1.0, +"hom__L_c":1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2090", +"subsystem":"Amino acid metabolism: Glycine, Serine and Threonine metabolism" +}, +{ +"id":"GLYOX", +"name":"Hydroxyacylglutathione hydrolase", +"metabolites":{ +"gthrd_c":1.0, +"h2o_c":-1.0, +"h_c":1.0, +"lac__D_c":1.0, +"lgt__S_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0937 or Synpcc7942_1403", +"subsystem":"Calvin cycle/Pentose phosphate pathway" +}, +{ +"id":"CBMD", +"name":"Carbamate deaminase", +"metabolites":{ +"cbm_c":-1.0, +"co2_c":1.0, +"h_c":-2.0, +"nh4_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Nitrogen metabolism" +}, +{ +"id":"AICART", +"name":"Phosphoribosylaminoimidazolecarboxamide formyltransferase", +"metabolites":{ +"10fthf_c":-1.0, +"aicar_c":-1.0, +"fprica_c":1.0, +"thf_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0396", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"UDPSQS", +"name":"UDP-sulfoquinovose synthase", +"metabolites":{ +"h2o_c":1.0, +"h_c":-1, +"so3_c":-1.0, +"udpg_c":-1.0, +"udpsq_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0578", +"subsystem":"Sulfolipid biosynthesis" +}, +{ +"id":"GK1", +"name":"Guanylate kinase (GMP:ATP)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"gdp_c":1.0, +"gmp_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1191", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"OXADC", +"name":"Oxalate decarboxylase", +"metabolites":{ +"co2_c":1.0, +"for_c":1.0, +"h_c":-1.0, +"oxa_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2388", +"subsystem":"Photorespiration/Glyoxylate Degredation" +}, +{ +"id":"PC6AS", +"name":"Precorrin-6A synthase", +"metabolites":{ +"ac_c":1.0, +"ahcys_c":1.0, +"amet_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"pre5_c":-1.0, +"pre6a_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0190", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"PPND", +"name":"Prephenate dehydrogenase", +"metabolites":{ +"34hpp_c":1.0, +"co2_c":1.0, +"nad_c":-1.0, +"nadh_c":1.0, +"pphn_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0660", +"subsystem":"Amino acid metabolism: Phenylalanine, Tyrosine, Tryptophan biosynthesis" +}, +{ +"id":"IPDPS", +"name":"1-hydroxy-2-methyl-2-(E)-butenyl 4-diphosphate reductase (ipdp)", +"metabolites":{ +"h2mb4p_c":-1.0, +"h2o_c":1.0, +"h_c":-1.0, +"ipdp_c":1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0073", +"subsystem":"Terpenoid Biosynthesis" +}, +{ +"id":"H4THDPS", +"name":"4-hydroxy-tetrahydrodipicolinate synthase", +"metabolites":{ +"4hthdp_c":1.0, +"aspsa_c":-1.0, +"h2o_c":1.0, +"h_c":1.0, +"pyr_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1847", +"subsystem":"Amino acid metabolism: Lysine biosynthesis" +}, +{ +"id":"BIOMASS_PIGMENTS", +"name":"Biomass: pigments and xanthophylls", +"metabolites":{ +"bm_pigm_c":1.0, +"calxan_c":-0.1707, +"caro_c":-0.1138, +"cholphya_c":-0.5691, +"hpdcn_c":-0.5691, +"nstxan_c":-0.0569, +"phycy_c":-0.0524, +"zeax_c":-0.2276 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Biomass and maintenance functions" +}, +{ +"id":"3HAD160", +"name":"3-hydroxyacyl-[acyl-carrier-protein] dehydratase (n-C16:0)", +"metabolites":{ +"3hpalmACP_c":-1.0, +"h2o_c":1.0, +"tpalm2eACP_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0930", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"HISTDa", +"name":"Histidinol dehydrogenase step (Histidinal forming)", +"metabolites":{ +"h_c":1.0, +"histd_c":-1.0, +"histda_c":1.0, +"nad_c":-1.0, +"nadh_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1519", +"subsystem":"Histidine Metabolism" +}, +{ +"id":"ADSL1r", +"name":"Adenylsuccinate lyase", +"metabolites":{ +"amp_c":1.0, +"dcamp_c":-1.0, +"fum_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0315", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"H2Otu_syn", +"name":"H2O transport via diffusion (tilacoid)", +"metabolites":{ +"h2o_c":1.0, +"h2o_u":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Thylakoid Membrane" +}, +{ +"id":"ADOCBLS", +"name":"Adenosylcobalamin 5'-phosphate synthase", +"metabolites":{ +"adocbl_c":1.0, +"agdpcbi_c":-1.0, +"gmp_c":1.0, +"h_c":1.0, +"rdmbzi_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0454", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"PDS2", +"name":"Phytofluene dehydrogenase", +"metabolites":{ +"h_c":1.0, +"nadp_c":-1.0, +"nadph_c":1.0, +"phytfl_c":-1.0, +"zcarote_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1983", +"subsystem":"Carotenoid biosynthesis" +}, +{ +"id":"ALAALAr", +"name":"D-alanine-D-alanine ligase (reversible)", +"metabolites":{ +"adp_c":1.0, +"ala__D_c":-2.0, +"alaala_c":1.0, +"atp_c":-1.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2375", +"subsystem":"Murein Biosynthesis/Recycling" +}, +{ +"id":"ACOATA", +"name":"Acetyl-CoA ACP transacylase", +"metabolites":{ +"ACP_c":-1.0, +"acACP_c":1.0, +"accoa_c":-1.0, +"coa_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1455", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"GLCP2", +"name":"Glycogen phosphorylase", +"metabolites":{ +"14glucan_c":-1.0, +"amylose_c":1.0, +"g1p_c":1.0, +"pi_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0244", +"subsystem":"Glycogen and sucrose metabolism" +}, +{ +"id":"GLYCK", +"name":"Glycerate kinase", +"metabolites":{ +"3pg_c":1.0, +"adp_c":1.0, +"atp_c":-1.0, +"glyc__R_c":-1.0, +"h_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0996", +"subsystem":"Photorespiration/Glyoxylate Degredation" +}, +{ +"id":"MAN1PT", +"name":"Mannose 1 phosphate guanylyltransferase", +"metabolites":{ +"gdpmann_c":1.0, +"gtp_c":-1.0, +"h_c":-1.0, +"man1p_c":-1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1608", +"subsystem":"Nucleotide sugar metabolism" +}, +{ +"id":"DMBZIDS2", +"name":"5,6-dimethylbenzimidazole synthase", +"metabolites":{ +"dialurate_c":1.0, +"dmbzid_c":1.0, +"e4p_c":1.0, +"fmnh2_c":-1.0, +"h2o_c":1.0, +"h_c":-1.0, +"nad_c":1.0, +"nadh_c":-1.0, +"o2_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2008 or Synpcc7942_1659", +"subsystem":"Cofactor biosynthesis: Riboflavin biosynthesis" +}, +{ +"id":"CS", +"name":"Citrate synthase", +"metabolites":{ +"accoa_c":-1.0, +"cit_c":1.0, +"coa_c":1.0, +"h2o_c":-1.0, +"h_c":1.0, +"oaa_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0612", +"subsystem":"Pyruvate metabolism/TCA Reactions" +}, +{ +"id":"DMATT", +"name":"Dimethylallyltranstransferase", +"metabolites":{ +"dmpp_c":-1.0, +"grdp_c":1.0, +"ipdp_c":-1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0776", +"subsystem":"Terpenoid Biosynthesis" +}, +{ +"id":"PSP_L", +"name":"Phosphoserine phosphatase (L-serine)", +"metabolites":{ +"h2o_c":-1.0, +"pi_c":1.0, +"pser__L_c":-1.0, +"ser__L_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0485", +"subsystem":"Amino acid metabolism: Glycine, Serine and Threonine metabolism" +}, +{ +"id":"NDPK3", +"name":"Nucleoside-diphosphate kinase (ATP:CDP)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"cdp_c":-1.0, +"ctp_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2497", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"G3PD2", +"name":"Glycerol-3-phosphate dehydrogenase (NADP)", +"metabolites":{ +"dhap_c":1.0, +"glyc3p_c":-1.0, +"h_c":1.0, +"nadp_c":-1, +"nadph_c":1 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2522", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"PHYTES", +"name":"Geranylgeranyl-diphosphate geranylgeranyl-diphosphate geranylgeranyltransferase", +"metabolites":{ +"ggdp_c":-2.0, +"ppi_c":1.0, +"prephytedp_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1984", +"subsystem":"Carotenoid biosynthesis" +}, +{ +"id":"MOHMT", +"name":"3-methyl-2-oxobutanoate hydroxymethyltransferase", +"metabolites":{ +"2dhp_c":1.0, +"3mob_c":-1.0, +"h2o_c":-1.0, +"mlthf_c":-1.0, +"thf_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2381", +"subsystem":"Cofactor biosynthesis: Pantothenate and CoA biosynthesis" +}, +{ +"id":"FBA", +"name":"Fructose-bisphosphate aldolase", +"metabolites":{ +"dhap_c":1.0, +"fdp_c":-1.0, +"g3p_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1443", +"subsystem":"Glycolysis/Gluconeogenesis" +}, +{ +"id":"BIOMASS", +"name":"Biomass objective function", +"metabolites":{ +"adp_c":30.0, +"atp_c":-30.0, +"bm_carbs_c":-0.0977, +"bm_cofactors_c":-0.00119, +"bm_cw_c":-0.0795, +"bm_dna_c":-0.0073, +"bm_memlip_c":-0.159, +"bm_pigm_c":-0.0197, +"bm_pro_c":-0.5112, +"bm_rna_c":-0.1136, +"h2o_c":-30.0, +"h_c":30.0, +"pi_c":30.0 +}, +"lower_bound":0.0, +"upper_bound":2.0, +"gene_reaction_rule":"", +"objective_coefficient":1.0, +"subsystem":"Biomass and maintenance functions" +}, +{ +"id":"ACLSa", +"name":"Acetolactate synthase (step 1)", +"metabolites":{ +"2ahethmpp_c":1.0, +"co2_c":1.0, +"h_c":-1.0, +"pyr_c":-1.0, +"thmpp_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0139 and Synpcc7942_2434", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"ASADi", +"name":"Aspartate semialdehyde dehydrogenase irreversible", +"metabolites":{ +"4pasp_c":-1.0, +"aspsa_c":1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1848", +"subsystem":"Amino acid metabolism: Glycine, Serine and Threonine metabolism" +}, +{ +"id":"PSCVT", +"name":"3-phosphoshikimate 1-carboxyvinyltransferase", +"metabolites":{ +"3psme_c":1.0, +"pep_c":-1.0, +"pi_c":1.0, +"skm5p_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0232", +"subsystem":"Amino acid metabolism: Phenylalanine, Tyrosine, Tryptophan biosynthesis" +}, +{ +"id":"TYRTA", +"name":"Tyrosine transaminase", +"metabolites":{ +"34hpp_c":1.0, +"akg_c":-1.0, +"glu__L_c":1.0, +"tyr__L_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2545", +"subsystem":"Amino acid metabolism: Phenylalanine, Tyrosine, Tryptophan biosynthesis" +}, +{ +"id":"SERAT", +"name":"Serine O-acetyltransferase", +"metabolites":{ +"accoa_c":-1.0, +"acser_c":1.0, +"coa_c":1.0, +"ser__L_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2420 or Synpcc7942_B2663", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"DHFS", +"name":"Dihydrofolate synthase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"dhf_c":1.0, +"dhpt_c":-1.0, +"glu__L_c":-1.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0944", +"subsystem":"Cofactor biosynthesis: Folate biosynthesis" +}, +{ +"id":"AMPMS3", +"name":"4-amino-2-methyl-5-phosphomethylpyrimidine synthetase", +"metabolites":{ +"4ampm_c":1.0, +"air_c":-1.0, +"amet_c":-1.0, +"co_c":1.0, +"dad_5_c":1.0, +"for_c":1.0, +"h_c":2.0, +"met__L_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1096", +"subsystem":"Cofactor biosynthesis: Thiamine (B1)" +}, +{ +"id":"ACBIPGT", +"name":"Adenosyl cobinamide phosphate guanyltransferase", +"metabolites":{ +"adocbip_c":-1.0, +"agdpcbi_c":1.0, +"gtp_c":-1.0, +"h_c":-1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0990", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"ATPM", +"name":"Modeling: ATP Maintenance", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Biomass and maintenance functions" +}, +{ +"id":"SEPHCHCS", +"name":"2-succinyl-5-enolpyruvyl-6-hydroxy-3-cyclohexene-1-carboxylate synthase", +"metabolites":{ +"2sephchc_c":1.0, +"akg_c":-1.0, +"co2_c":1.0, +"h_c":-1.0, +"ichor_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1435", +"subsystem":"Phylloquinone biosynthesis" +}, +{ +"id":"NMNDA", +"name":"Nicotinamide-nucleotide amidase", +"metabolites":{ +"h2o_c":-1.0, +"nh4_c":1.0, +"nicrnt_c":1.0, +"nmn_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0280", +"subsystem":"Cofactor biosynthesis: Nicotinate and Nicotinamide metabolism" +}, +{ +"id":"IGPDH", +"name":"Imidazoleglycerol-phosphate dehydratase", +"metabolites":{ +"eig3p_c":-1.0, +"h2o_c":1.0, +"imacp_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0125", +"subsystem":"Histidine Metabolism" +}, +{ +"id":"OMPDC", +"name":"Orotidine-5'-phosphate decarboxylase", +"metabolites":{ +"co2_c":1.0, +"h_c":-1.0, +"orot5p_c":-1.0, +"ump_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2569", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"DCTPD", +"name":"DCTP deaminase", +"metabolites":{ +"dctp_c":-1.0, +"dutp_c":1.0, +"h2o_c":-1.0, +"h_c":-1.0, +"nh4_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0717", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"3OAR80", +"name":"3-oxoacyl-[acyl-carrier-protein] reductase (n-C8:0)", +"metabolites":{ +"3hoctACP_c":1.0, +"3ooctACP_c":-1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0684", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"3OAR180", +"name":"3-oxoacyl-[acyl-carrier-protein] reductase (n-C18:0)", +"metabolites":{ +"3hoctaACP_c":1.0, +"3ooctdACP_c":-1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0684", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"GLUSfx", +"name":"Glutamate synthase (ferredoxin)", +"metabolites":{ +"akg_c":-1.0, +"fdxox_c":2.0, +"fdxrd_c":-2.0, +"gln__L_c":-1.0, +"glu__L_c":2.0, +"h_c":-2.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0890", +"subsystem":"Amino acid metabolism: Alanine, Aspartate and Glutamate metabolism" +}, +{ +"id":"NADS2", +"name":"Nicotinate-mononucleotide adenylyltransferase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"dnad_c":-1.0, +"gln__L_c":-1.0, +"glu__L_c":1.0, +"h2o_c":-1.0, +"h_c":1.0, +"nad_c":1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0105", +"subsystem":"Cofactor biosynthesis: Nicotinate and Nicotinamide metabolism" +}, +{ +"id":"GLUTRR", +"name":"Glutamyl-tRNA reductase", +"metabolites":{ +"glu1sa_c":1.0, +"glutrna_c":-1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"trnaglu_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0504", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"G1PTT", +"name":"Glucose-1-phosphate thymidylyltransferase", +"metabolites":{ +"dtdpglu_c":1.0, +"dttp_c":-1.0, +"g1p_c":-1.0, +"h_c":-1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2101", +"subsystem":"Nucleotide sugar metabolism" +}, +{ +"id":"UAMAGS", +"name":"UDP-N-acetylmuramoyl-L-alanyl-D-glutamate synthetase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"glu__D_c":-1.0, +"h_c":1.0, +"pi_c":1.0, +"uama_c":-1.0, +"uamag_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1667", +"subsystem":"Murein Biosynthesis/Recycling" +}, +{ +"id":"FOLD3", +"name":"7,8-dihydropteroate synthase", +"metabolites":{ +"2ahhmd_c":-1.0, +"4abz_c":-1.0, +"dhpt_c":1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2303", +"subsystem":"Cofactor biosynthesis: Folate biosynthesis" +}, +{ +"id":"3HAD100", +"name":"3-hydroxyacyl-[acyl-carrier-protein] dehydratase (n-C10:0)", +"metabolites":{ +"3hdecACP_c":-1.0, +"h2o_c":1.0, +"tdec2eACP_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0930", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"MEHLER", +"name":"Mehler reaction", +"metabolites":{ +"h2o_c":2.0, +"h_c":-2.0, +"nadp_c":2.0, +"nadph_c":-2.0, +"o2_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1809 and Synpcc7942_1810", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"GALUi", +"name":"UTP-glucose-1-phosphate uridylyltransferase (irreversible)", +"metabolites":{ +"g1p_c":-1.0, +"h_c":-1.0, +"ppi_c":1.0, +"udpg_c":1.0, +"utp_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1973", +"subsystem":"Nucleotide sugar metabolism" +}, +{ +"id":"P5CR", +"name":"Pyrroline-5-carboxylate reductase", +"metabolites":{ +"1pyr5c_c":-1.0, +"h_c":-2.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"pro__L_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2058", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"PQH2tum", +"name":"Plastoquinine insertion into the thylakoid membrane", +"metabolites":{ +"pqh2_c":-1.0, +"pqh2_um":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Thylakoid Membrane" +}, +{ +"id":"ICHORS", +"name":"Isochorismate synthase", +"metabolites":{ +"chor_c":-1.0, +"ichor_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2188", +"subsystem":"Phylloquinone biosynthesis" +}, +{ +"id":"3OAS140", +"name":"3-oxoacyl-[acyl-carrier-protein] synthase (n-C14:0)", +"metabolites":{ +"3omrsACP_c":1.0, +"ACP_c":1.0, +"co2_c":1.0, +"ddcaACP_c":-1.0, +"h_c":-1.0, +"malACP_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0537", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"SBP", +"name":"Sedoheptulose-bisphosphatase", +"metabolites":{ +"h2o_c":-1.0, +"pi_c":1.0, +"s17bp_c":-1.0, +"s7p_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0505", +"subsystem":"Calvin cycle/Pentose phosphate pathway" +}, +{ +"id":"EAR60y", +"name":"Enoyl-[acyl-carrier-protein] reductase (NADPH) (n-C6:0)", +"metabolites":{ +"h_c":-1.0, +"hexACP_c":1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"thex2eACP_c":-1.0 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0126", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"O2tu", +"name":"O2 transport (diffusion), lumen", +"metabolites":{ +"o2_c":1.0, +"o2_u":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Thylakoid Membrane" +}, +{ +"id":"SULabcpp", +"name":"Sulfate transport via ABC system (periplasm)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"pi_c":1.0, +"so4_c":1.0, +"so4_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"(Synpcc7942_1680 and Synpcc7942_1681 and Synpcc7942_1682 and Synpcc7942_1722) or (Synpcc7942_1685 and Synpcc7942_1686 and Synpcc7942_1687 and Synpcc7942_1688)", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"PPKr", +"name":"Polyphosphate kinase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"pi_c":-1.0, +"ppi_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1566", +"subsystem":"Inorganic Ion Transport and Metabolism" +}, +{ +"id":"BIOMASS_DNA", +"name":"Biomass: DNA", +"metabolites":{ +"bm_dna_c":1.0, +"datp_c":-0.7237, +"dctp_c":-0.89986, +"dgtp_c":-0.89986, +"dttp_c":-0.7237, +"ppi_c":3.24711 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0194 and Synpcc7942_0570 and Synpcc7942_2199 and Synpcc7942_0001 and Synpcc7942_0405 and Synpcc7942_0094 and Synpcc7942_0912", +"subsystem":"Biomass and maintenance functions" +}, +{ +"id":"UAPGR", +"name":"UDP-N-acetylenolpyruvoylglucosamine reductase", +"metabolites":{ +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"uaccg_c":-1.0, +"uamr_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1740", +"subsystem":"Murein Biosynthesis/Recycling" +}, +{ +"id":"DHAD1", +"name":"Dihydroxy-acid dehydratase (2,3-dihydroxy-3-methylbutanoate)", +"metabolites":{ +"23dhmb_c":-1.0, +"3mob_c":1.0, +"h2o_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0626", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"IPPS", +"name":"2-isopropylmalate synthase", +"metabolites":{ +"3c3hmp_c":1.0, +"3mob_c":-1.0, +"accoa_c":-1.0, +"coa_c":1.0, +"h2o_c":-1.0, +"h_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0428", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"PPBNGS", +"name":"Porphobilinogen synthase", +"metabolites":{ +"5aop_c":-2.0, +"h2o_c":2.0, +"h_c":1.0, +"ppbng_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1792", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"PRE3BS", +"name":"Precorrin-3B synthase", +"metabolites":{ +"h2o_c":1.0, +"h_c":-1.0, +"nad_c":1.0, +"nadh_c":-1.0, +"o2_c":-1.0, +"pre3a_c":-1.0, +"pre3b_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1851", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"PHYTES2", +"name":"Prephytoene diphosphate geranylgeranyl-diphosphategeranylgeranyltransferase", +"metabolites":{ +"phyto_c":1.0, +"ppi_c":1.0, +"prephytedp_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1984", +"subsystem":"Carotenoid biosynthesis" +}, +{ +"id":"3HAD80", +"name":"3-hydroxyacyl-[acyl-carrier-protein] dehydratase (n-C8:0)", +"metabolites":{ +"3hoctACP_c":-1.0, +"h2o_c":1.0, +"toct2eACP_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0930", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"LTHRK", +"name":"L threonine kinase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h_c":1.0, +"thr__L_c":-1.0, +"thrp_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1294 or Synpcc7942_0600 or Synpcc7942_0780 or Synpcc7942_1111 or Synpcc7942_1121", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"PPS", +"name":"Phosphoenolpyruvate synthase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":2.0, +"pep_c":1.0, +"pi_c":1.0, +"pyr_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0781", +"subsystem":"Pyruvate metabolism/TCA Reactions" +}, +{ +"id":"ADCPS2", +"name":"Adenosylcobyric acid:(R)-1-aminopropan-2-yl phosphate ligase", +"metabolites":{ +"adcobhex_c":-1.0, +"adocbip_c":1.0, +"adp_c":1.0, +"applp_c":-1.0, +"atp_c":-1.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1441", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"GF6PTA", +"name":"Glutamine-fructose-6-phosphate transaminase", +"metabolites":{ +"f6p_c":-1.0, +"gam6p_c":1.0, +"gln__L_c":-1.0, +"glu__L_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0534", +"subsystem":"Murein Biosynthesis/Recycling" +}, +{ +"id":"O2tpp", +"name":"O2 transport via diffusion (periplasm)", +"metabolites":{ +"o2_c":1.0, +"o2_p":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"PGMT", +"name":"Phosphoglucomutase", +"metabolites":{ +"g1p_c":-1.0, +"g6p_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0156", +"subsystem":"Glycolysis/Gluconeogenesis" +}, +{ +"id":"3OAR140", +"name":"3-oxoacyl-[acyl-carrier-protein] reductase (n-C14:0)", +"metabolites":{ +"3hmrsACP_c":1.0, +"3omrsACP_c":-1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0684", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"NMNS", +"name":"NMN synthetase", +"metabolites":{ +"h_c":-1.0, +"ncam_c":-1.0, +"nmn_c":1.0, +"ppi_c":1.0, +"prpp_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0206", +"subsystem":"Cofactor biosynthesis: Nicotinate and Nicotinamide metabolism" +}, +{ +"id":"NDPK2", +"name":"Nucleoside-diphosphate kinase (ATP:UDP)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"udp_c":-1.0, +"utp_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2497", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"AGDI", +"name":"Agmatine deiminase", +"metabolites":{ +"agm_c":-1.0, +"cbmp_c":1.0, +"h2o_c":-1.0, +"nh4_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2402", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"LPADSS2", +"name":"Lipid A disaccaride synthase (Synechococcus elongatus 7942)", +"metabolites":{ +"h_c":1.0, +"lipidAds2_c":1.0, +"lipidX2_c":-1.0, +"u23ga2_c":-1, +"udp_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0932", +"subsystem":"Lipopolysaccharide/O-antigen Biosynthesis" +}, +{ +"id":"DPR", +"name":"2-dehydropantoate 2-reductase", +"metabolites":{ +"2dhp_c":-1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"pant__R_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1552", +"subsystem":"Cofactor biosynthesis: Pantothenate and CoA biosynthesis" +}, +{ +"id":"H2Otex", +"name":"H2O transport via diffusion (extracellular to periplasm)", +"metabolites":{ +"h2o_e":-1.0, +"h2o_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"TKT2", +"name":"Transketolase", +"metabolites":{ +"e4p_c":-1.0, +"f6p_c":1.0, +"g3p_c":1.0, +"xu5p__D_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0538", +"subsystem":"Calvin cycle/Pentose phosphate pathway" +}, +{ +"id":"DM_for_c", +"name":"Modeling: demand reaction (for_c)", +"metabolites":{ +"for_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Intracellular demand" +}, +{ +"id":"HEX7", +"name":"Hexokinase (D-fructose:ATP)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"f6p_c":1.0, +"fru_c":-1.0, +"h_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0116", +"subsystem":"Glycolysis/Gluconeogenesis" +}, +{ +"id":"PPNCL2", +"name":"Phosphopantothenate-cysteine ligase", +"metabolites":{ +"4ppan_c":-1.0, +"4ppcys_c":1.0, +"cmp_c":1.0, +"ctp_c":-1.0, +"cys__L_c":-1.0, +"h_c":1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0292", +"subsystem":"Cofactor biosynthesis: Pantothenate and CoA biosynthesis" +}, +{ +"id":"CYTBD4cm", +"name":"Cytochrome bd oxidase (plastoquinone utilizing, non-proton translocating)", +"metabolites":{ +"h2o_c":2.0, +"h_c":-4.0, +"h_p":4.0, +"o2_c":-1.0, +"pq_cm":2.0, +"pqh2_cm":-2.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1766 and Synpcc7942_1767", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"GLYCOR_nadp", +"name":"D-Glycerate:NADP+ 2-oxidoreductase", +"metabolites":{ +"glyc__R_c":1.0, +"h_c":-1.0, +"hpyr_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1857", +"subsystem":"Photorespiration/Glyoxylate Degredation" +}, +{ +"id":"CHORS", +"name":"Chorismate synthase", +"metabolites":{ +"3psme_c":-1.0, +"chor_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0212", +"subsystem":"Amino acid metabolism: Phenylalanine, Tyrosine, Tryptophan biosynthesis" +}, +{ +"id":"3OAR160", +"name":"3-oxoacyl-[acyl-carrier-protein] reductase (n-C16:0)", +"metabolites":{ +"3hpalmACP_c":1.0, +"3opalmACP_c":-1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0684", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"ADMDC", +"name":"Adenosylmethionine decarboxylase", +"metabolites":{ +"amet_c":-1.0, +"ametam_c":1.0, +"co2_c":1.0, +"h_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2043 or Synpcc7942_2249", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"PPPGO2", +"name":"Protoporphyrinogen oxidase (aerobic)", +"metabolites":{ +"h2o2_c":3, +"o2_c":-3.0, +"ppp9_c":1.0, +"pppg9_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0849", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"ASP1DC", +"name":"Aspartate 1-decarboxylase", +"metabolites":{ +"ala_B_c":1.0, +"asp__L_c":-1.0, +"co2_c":1.0, +"h_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2310", +"subsystem":"Cofactor biosynthesis: Pantothenate and CoA biosynthesis" +}, +{ +"id":"DNAMTn2r", +"name":"S-Adenosyl-L-methionine:DNA (cytosine-5-)-methyltransferase", +"metabolites":{ +"ahcys_c":1.0, +"amet_c":-1.0, +"dna5mtc_c":1.0, +"dna_c":-1.0, +"h_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2460", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"MI3PP", +"name":"1D-myo-inositol 3-phosphate phosphohydrolase", +"metabolites":{ +"h2o_c":-1.0, +"inost_c":1.0, +"mi3p__D_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2582", +"subsystem":"Inositol phosphate metabolism" +}, +{ +"id":"CYSS_2", +"name":"Cysteine synthase", +"metabolites":{ +"ac_c":1.0, +"acser_c":-1.0, +"cys__L_c":1.0, +"h2s_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0171 or Synpcc7942_B2623 or Synpcc7942_B2664 or Synpcc7942_1466", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"PROHX", +"name":"Proline hydroxylase", +"metabolites":{ +"4hpro__LT_c":1.0, +"akg_c":-1.0, +"co2_c":1.0, +"o2_c":-1.0, +"pro__L_c":-1.0, +"succ_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2480", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"FTHFD", +"name":"Formyltetrahydrofolate deformylase", +"metabolites":{ +"10fthf_c":-1.0, +"for_c":1.0, +"h2o_c":-1.0, +"h_c":1.0, +"thf_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1008", +"subsystem":"Cofactor biosynthesis: Folate biosynthesis" +}, +{ +"id":"MEPCT", +"name":"2-C-methyl-D-erythritol 4-phosphate cytidylyltransferase", +"metabolites":{ +"2me4p_c":-1.0, +"4c2me_c":1.0, +"ctp_c":-1.0, +"h_c":-1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0681", +"subsystem":"Terpenoid Biosynthesis" +}, +{ +"id":"PDX5POi", +"name":"Pyridoxine 5'-phosphate oxidase", +"metabolites":{ +"h2o2_c":1.0, +"o2_c":-1.0, +"pdx5p_c":-1.0, +"pydx5p_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0070", +"subsystem":"Cofactor biosynthesis: Vitamin B6" +}, +{ +"id":"PPCDC", +"name":"Phosphopantothenoylcysteine decarboxylase", +"metabolites":{ +"4ppcys_c":-1.0, +"co2_c":1.0, +"h_c":-1.0, +"pan4p_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0292", +"subsystem":"Cofactor biosynthesis: Pantothenate and CoA biosynthesis" +}, +{ +"id":"NTD6", +"name":"5'-nucleotidase (dAMP)", +"metabolites":{ +"dad_2_c":1.0, +"damp_c":-1.0, +"h2o_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2063", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"NNDMBRT", +"name":"Nicotinate-nucleotide dimethylbenzimidazole phosphoribosyltransferase", +"metabolites":{ +"5prdmbz_c":1.0, +"dmbzid_c":-1.0, +"h_c":1.0, +"nac_c":1.0, +"nicrnt_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2268", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"ASNN", +"name":"L-asparaginase", +"metabolites":{ +"asn__L_c":-1.0, +"asp__L_c":1.0, +"h2o_c":-1.0, +"nh4_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0166", +"subsystem":"Amino acid metabolism: Asparagine metabolism" +}, +{ +"id":"PRAIS", +"name":"Phosphoribosylaminoimidazole synthase", +"metabolites":{ +"adp_c":1.0, +"air_c":1.0, +"atp_c":-1.0, +"fpram_c":-1.0, +"h_c":2.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0851", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"ORNTAC", +"name":"Ornithine transacetylase", +"metabolites":{ +"acglu_c":1.0, +"acorn_c":-1.0, +"glu__L_c":-1.0, +"orn_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1896", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"SUCBZS", +"name":"O-succinylbenzoate-CoA synthase", +"metabolites":{ +"2shchc_c":-1.0, +"h2o_c":1.0, +"sucbz_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1020", +"subsystem":"Phylloquinone biosynthesis" +}, +{ +"id":"HGYDAS", +"name":"Hydrogenobyrinic acid a,c-diamide synthase", +"metabolites":{ +"adp_c":2.0, +"atp_c":-2.0, +"gln__L_c":-2.0, +"glu__L_c":2.0, +"h2o_c":-2.0, +"h_c":2.0, +"hgbam_c":1.0, +"hgbyr_c":-1.0, +"pi_c":2.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1855", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"GGDPR", +"name":"Geranylgeranyl diphosphate reductase", +"metabolites":{ +"ggdp_c":-1.0, +"h_c":-3.0, +"nadp_c":3.0, +"nadph_c":-3.0, +"phdp_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0385", +"subsystem":"Terpenoid Biosynthesis" +}, +{ +"id":"ASPCT", +"name":"Aspartate carbamoyltransferase", +"metabolites":{ +"asp__L_c":-1.0, +"cbasp_c":1.0, +"cbp_c":-1.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0486 and Synpcc7942_0670", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"PPNDH", +"name":"Prephenate dehydratase", +"metabolites":{ +"co2_c":1.0, +"h2o_c":1.0, +"h_c":-1.0, +"phpyr_c":1.0, +"pphn_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0881", +"subsystem":"Amino acid metabolism: Phenylalanine, Tyrosine, Tryptophan biosynthesis" +}, +{ +"id":"NMNAT", +"name":"Nicotinamide-nucleotide adenylyltransferase", +"metabolites":{ +"atp_c":-1.0, +"h_c":-1.0, +"nad_c":1.0, +"nmn_c":-1.0, +"ppi_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0205 or Synpcc7942_0106", +"subsystem":"Cofactor biosynthesis: Nicotinate and Nicotinamide metabolism" +}, +{ +"id":"ME2", +"name":"Malic enzyme (NADP)", +"metabolites":{ +"co2_c":1.0, +"mal__L_c":-1.0, +"nadp_c":-1.0, +"nadph_c":1.0, +"pyr_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1297", +"subsystem":"Pyruvate metabolism/TCA Reactions" +}, +{ +"id":"APRAUR", +"name":"5-amino-6-(5-phosphoribosylamino)uracil reductase", +"metabolites":{ +"5aprbu_c":1.0, +"5apru_c":-1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Cofactor biosynthesis: Riboflavin biosynthesis" +}, +{ +"id":"SADT", +"name":"Sulfate adenylyltransferase", +"metabolites":{ +"aps_c":1.0, +"atp_c":-1.0, +"h_c":-1.0, +"ppi_c":1.0, +"so4_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0295", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"LDH_D", +"name":"D-lactate dehydrogenase", +"metabolites":{ +"h_c":1.0, +"lac__D_c":-1.0, +"nad_c":-1.0, +"nadh_c":1.0, +"pyr_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1347", +"subsystem":"Pyruvate metabolism/TCA Reactions" +}, +{ +"id":"DPCOAK", +"name":"Dephospho-CoA kinase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"coa_c":1.0, +"dpcoa_c":-1.0, +"h_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0273", +"subsystem":"Cofactor biosynthesis: Pantothenate and CoA biosynthesis" +}, +{ +"id":"O2tex", +"name":"Oxygen transport via diffusion (extracellular to periplasm)", +"metabolites":{ +"o2_e":-1.0, +"o2_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"DPOR", +"name":"Light independent protochlorophyllide oxidoreductase", +"metabolites":{ +"adp_c":2.0, +"atp_c":-2.0, +"chlda_c":1.0, +"fdxox_c":2.0, +"fdxrd_c":-2.0, +"h2o_c":-2.0, +"pchlld_c":-1.0, +"pi_c":2.0 +}, +"lower_bound":0.0, +"upper_bound":0.0, +"gene_reaction_rule":"Synpcc7942_1419 and Synpcc7942_1420 and Synpcc7942_1838", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"ARGSL", +"name":"Argininosuccinate lyase", +"metabolites":{ +"arg__L_c":1.0, +"argsuc_c":-1.0, +"fum_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2475", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"HSK", +"name":"Homoserine kinase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h_c":1.0, +"hom__L_c":-1.0, +"phom_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1440", +"subsystem":"Amino acid metabolism: Glycine, Serine and Threonine metabolism" +}, +{ +"id":"EAR120y", +"name":"Enoyl-[acyl-carrier-protein] reductase (NADPH) (n-C12:0)", +"metabolites":{ +"ddcaACP_c":1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"tddec2eACP_c":-1.0 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0126", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"BCAROHX2", +"name":"Beta-carotene hydroxylase (zeaxanthin forming)", +"metabolites":{ +"bcryptox_c":-1.0, +"h2o_c":1.0, +"h_c":-1.0, +"nadp_c":1, +"nadph_c":-1, +"o2_c":-1.0, +"zeax_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2439", +"subsystem":"Carotenoid biosynthesis" +}, +{ +"id":"HPPK", +"name":"ATP:2-amino-4-hydroxy-6-hydroxymethyl-7,8-dihydropteridine 6'-pyrophosphotransferase", +"metabolites":{ +"2ahhmd_c":1.0, +"2ahhmp_c":-1.0, +"amp_c":1.0, +"atp_c":-1.0, +"h_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2272", +"subsystem":"Cofactor biosynthesis: Folate biosynthesis" +}, +{ +"id":"PPNCL3", +"name":"Phosphopantothenate-cysteine ligase", +"metabolites":{ +"4ppan_c":-1.0, +"4ppcys_c":1.0, +"amp_c":1.0, +"atp_c":-1.0, +"cys__L_c":-1.0, +"h_c":1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0292", +"subsystem":"Cofactor biosynthesis: Pantothenate and CoA biosynthesis" +}, +{ +"id":"AHCi", +"name":"Adenosylhomocysteinase", +"metabolites":{ +"adn_c":1.0, +"ahcys_c":-1.0, +"h2o_c":-1.0, +"hcys__L_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0618", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"G6PDH2r", +"name":"Glucose 6-phosphate dehydrogenase", +"metabolites":{ +"6pgl_c":1.0, +"g6p_c":-1.0, +"h_c":1.0, +"nadp_c":-1.0, +"nadph_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2334", +"subsystem":"Calvin cycle/Pentose phosphate pathway" +}, +{ +"id":"MPPM", +"name":"D-Mannose 6-phosphate 1,6-phosphomutase", +"metabolites":{ +"man1p_c":1.0, +"man6p_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1268", +"subsystem":"Nucleotide sugar metabolism" +}, +{ +"id":"CPPPGO2", +"name":"Oxygen Independent coproporphyrinogen-III oxidase", +"metabolites":{ +"amet_c":-2.0, +"co2_c":2.0, +"cpppg3_c":-1.0, +"dad_5_c":2.0, +"met__L_c":2.0, +"pppg9_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":0.0, +"gene_reaction_rule":"Synpcc7942_2382", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"PC17M", +"name":"Precorrin-3B methyltransferase", +"metabolites":{ +"ahcys_c":1.0, +"amet_c":-1.0, +"h_c":2.0, +"pre3b_c":-1.0, +"pre4_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1854", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"ACCOAC", +"name":"Acetyl-CoA carboxylase", +"metabolites":{ +"accoa_c":-1.0, +"adp_c":1.0, +"atp_c":-1.0, +"h_c":1.0, +"hco3_c":-1.0, +"malcoa_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1379 and Synpcc7942_1595 and Synpcc7942_1956 and Synpcc7942_2564", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"GLUCYS", +"name":"Gamma-glutamylcysteine synthetase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"cys__L_c":-1.0, +"glu__L_c":-1.0, +"glucys_c":1.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2253", +"subsystem":"Metabolism of other amino acids: Glutathione metabolism" +}, +{ +"id":"CYNL", +"name":"Cyanate lyase", +"metabolites":{ +"cbm_c":1.0, +"co2_c":1.0, +"cynt_c":-1.0, +"h_c":-1.0, +"hco3_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2104", +"subsystem":"Nitrogen metabolism" +}, +{ +"id":"CYOOum", +"name":"Cytochrome aa3 oxidase (plastocyanin utilizing, H+/e-: 0.9)", +"metabolites":{ +"h2o_c":2.0, +"h_c":-7.6, +"h_u":3.6, +"o2_c":-1.0, +"pccu1p_u":-4.0, +"pccu2p_u":4.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2602 and Synpcc7942_2603 and Synpcc7942_2604", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"ACLSb", +"name":"Acetolactate synthase (step 2)", +"metabolites":{ +"2ahethmpp_c":-1.0, +"alac__S_c":1.0, +"pyr_c":-1.0, +"thmpp_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0139 and Synpcc7942_2434", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"DNMPPA", +"name":"Dihydroneopterin monophosphate dephosphorylase", +"metabolites":{ +"dhnpt_c":1.0, +"dhpmp_c":-1.0, +"h2o_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Cofactor biosynthesis: Folate biosynthesis" +}, +{ +"id":"METS", +"name":"Methionine synthase", +"metabolites":{ +"5mthf_c":-1.0, +"hcys__L_c":-1.0, +"met__L_c":1.0, +"thf_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1372", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"TRPS2", +"name":"Tryptophan synthase (indole)", +"metabolites":{ +"h2o_c":1.0, +"indole_c":-1.0, +"ser__L_c":-1.0, +"trp__L_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0411 and Synpcc7942_2143", +"subsystem":"Amino acid metabolism: Phenylalanine, Tyrosine, Tryptophan biosynthesis" +}, +{ +"id":"PRUK", +"name":"Phosphoribulokinase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h_c":1.0, +"rb15bp_c":1.0, +"ru5p__D_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0977", +"subsystem":"Calvin cycle/Pentose phosphate pathway" +}, +{ +"id":"FNOR", +"name":"Ferredoxin:NADPH oxidoreductase", +"metabolites":{ +"fdxox_c":2.0, +"fdxrd_c":-2.0, +"h_c":-1.0, +"nadp_c":-1.0, +"nadph_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0978", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"GART", +"name":"GAR transformylase-T", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"fgam_c":1.0, +"for_c":-1.0, +"gar_c":-1.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0588", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"G5SADs", +"name":"L-glutamate 5-semialdehyde dehydratase (spontaneous)", +"metabolites":{ +"1pyr5c_c":1.0, +"glu5sa_c":-1.0, +"h2o_c":1.0, +"h_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"AMPQT", +"name":"S-adenosylmethionine: 2-demethylphylloquinone methyltransferase", +"metabolites":{ +"ahcys_c":1.0, +"amet_c":-1.0, +"dmtphllqne_c":-1.0, +"h_c":1.0, +"phyQ_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1099", +"subsystem":"Phylloquinone biosynthesis" +}, +{ +"id":"SPMDabcpp", +"name":"Spermidine transport via ABC system (periplasm)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"pi_c":1.0, +"spmd_c":1.0, +"spmd_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2266", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"DHAD2", +"name":"Dihydroxy-acid dehydratase (2,3-dihydroxy-3-methylpentanoate)", +"metabolites":{ +"23dhmp_c":-1.0, +"3mop_c":1.0, +"h2o_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0626", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"PRAMPC", +"name":"Phosphoribosyl-AMP cyclohydrolase", +"metabolites":{ +"h2o_c":-1.0, +"prbamp_c":-1.0, +"prfp_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1995", +"subsystem":"Histidine Metabolism" +}, +{ +"id":"3OAS80", +"name":"3-oxoacyl-[acyl-carrier-protein] synthase (n-C8:0)", +"metabolites":{ +"3ooctACP_c":1.0, +"ACP_c":1.0, +"co2_c":1.0, +"h_c":-1.0, +"hexACP_c":-1.0, +"malACP_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0537", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"G1PCTYT", +"name":"D-glucose cytidylyltransferase", +"metabolites":{ +"cdpglc_c":1.0, +"ctp_c":-1.0, +"g1p_c":-1.0, +"h_c":-1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0062", +"subsystem":"Nucleotide sugar metabolism" +}, +{ +"id":"BIOMASS_CELL_WALL", +"name":"Biomass: Cell wall (LPS and peptidoglycan)", +"metabolites":{ +"bm_cw_c":1.0, +"colipacy_e":-0.6941390000000001, +"murein5p5p5p_p":-0.192214 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Biomass and maintenance functions" +}, +{ +"id":"CA2abcpp", +"name":"Calcium transport via ABC system (periplasm)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"ca2_c":1.0, +"ca2_p":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1082", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"UHGADA2", +"name":"UDP-3-O-acetylglucosamine deacetylase (Synechococcus elongatus 7942)", +"metabolites":{ +"ac_c":1.0, +"h2o_c":-1.0, +"u3aga2_c":-1, +"u3hga2_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0929", +"subsystem":"Lipopolysaccharide/O-antigen Biosynthesis" +}, +{ +"id":"ASPO6", +"name":"L-aspartate oxidase", +"metabolites":{ +"asp__L_c":-1.0, +"h2o2_c":1.0, +"h_c":1.0, +"iasp_c":1.0, +"o2_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1881", +"subsystem":"Cofactor biosynthesis: Nicotinate and Nicotinamide metabolism" +}, +{ +"id":"ASPK", +"name":"Aspartate kinase", +"metabolites":{ +"4pasp_c":1.0, +"adp_c":1.0, +"asp__L_c":-1.0, +"atp_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1001", +"subsystem":"Amino acid metabolism: Glycine, Serine and Threonine metabolism" +}, +{ +"id":"DXPS", +"name":"1-deoxy-D-xylulose 5-phosphate synthase", +"metabolites":{ +"co2_c":1.0, +"dxyl5p_c":1.0, +"g3p_c":-1.0, +"h_c":-1.0, +"pyr_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0430", +"subsystem":"Terpenoid Biosynthesis" +}, +{ +"id":"PRATPP", +"name":"Phosphoribosyl-ATP pyrophosphatase", +"metabolites":{ +"h2o_c":-1.0, +"h_c":1.0, +"ppi_c":1.0, +"prbamp_c":1.0, +"prbatp_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1995", +"subsystem":"Histidine Metabolism" +}, +{ +"id":"DDPGA", +"name":"4-hydroxy-2-oxoglutarate glyoxylate-lyase", +"metabolites":{ +"4h2oglt_c":-1.0, +"glx_c":1.0, +"pyr_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0017", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"NH4tpp", +"name":"Ammonia reversible transport (periplasm)", +"metabolites":{ +"nh4_c":1, +"nh4_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0442 or Synpcc7942_2279", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"PAPSR", +"name":"Phosphoadenylyl-sulfate reductase (thioredoxin)", +"metabolites":{ +"h_c":2.0, +"pap_c":1.0, +"paps_c":-1.0, +"so3_c":1.0, +"trdox_c":1.0, +"trdrd_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2506", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"NAD_H2", +"name":"Bidirectional [NiFe] Hydrogenase", +"metabolites":{ +"h2_c":1.0, +"h_c":-1.0, +"nad_c":1.0, +"nadh_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2552 and Synpcc7942_2553 and Synpcc7942_2554 and Synpcc7942_2555 and Synpcc7942_2556 and Synpcc7942_2557 and Synpcc7942_0278 and Synpcc7942_0279 and Synpcc7942_1373", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"CYRDAAT", +"name":"CYRDAAT", +"metabolites":{ +"adcobdam_c":1.0, +"atp_c":-1.0, +"co1dam_c":-1.0, +"h_c":-1.0, +"pppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0957 or Synpcc7942_1072 or Synpcc7942_1386", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"NTPP8", +"name":"Nucleoside triphosphate pyrophosphorylase (utp)", +"metabolites":{ +"h2o_c":-1.0, +"h_c":1.0, +"ppi_c":1.0, +"ump_c":1.0, +"utp_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1493", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"PC11M", +"name":"S-adenosyl-L-methionine:precorrin-4 C11 methyltransferase", +"metabolites":{ +"ahcys_c":1.0, +"amet_c":-1.0, +"h_c":1.0, +"pre4_c":-1.0, +"pre5_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1229", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"ARGabcpp", +"name":"L-arginine transport via ABC system (periplasm)", +"metabolites":{ +"adp_c":1.0, +"arg__L_c":1.0, +"arg__L_p":-1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0246 and Synpcc7942_0247 and Synpcc7942_0248 and Synpcc7942_0249", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"ARGOXRum", +"name":"Arginine:plastoquinone oxidoreductase (thylakoid)", +"metabolites":{ +"5g2oxpt_c":1.0, +"arg__L_c":-1.0, +"h2o_c":-1.0, +"nh4_c":1.0, +"pq_um":-1.0, +"pqh2_um":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0369", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"PMDPHT", +"name":"Pyrimidine phosphatase", +"metabolites":{ +"4r5au_c":1.0, +"5aprbu_c":-1.0, +"h2o_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1005", +"subsystem":"Cofactor biosynthesis: Riboflavin biosynthesis" +}, +{ +"id":"DAPE", +"name":"Diaminopimelate epimerase", +"metabolites":{ +"26dap_LL_c":-1.0, +"26dap__M_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1927", +"subsystem":"Amino acid metabolism: Lysine biosynthesis" +}, +{ +"id":"LYCBC1", +"name":"Lycopene cyclase (gamma-carotene producing)", +"metabolites":{ +"gcaro_c":1.0, +"lyc_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2062", +"subsystem":"Carotenoid biosynthesis" +}, +{ +"id":"RB15BPtcx", +"name":"Ribulose-1,5-bisphosphatase transport into the carboxyzome", +"metabolites":{ +"rb15bp_c":-1.0, +"rb15bp_cx":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: carboxyzome" +}, +{ +"id":"GLCBRAN3", +"name":"Glycogen branching enzyme", +"metabolites":{ +"14glucan_c":-1.0, +"adp_c":1.0, +"adpglc_c":-1.0, +"glycogen_c":1.0, +"h_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1085 or Synpcc7942_1889", +"subsystem":"Glycogen and sucrose metabolism" +}, +{ +"id":"DB4PS", +"name":"3,4-Dihydroxy-2-butanone-4-phosphate synthase", +"metabolites":{ +"db4p_c":1.0, +"for_c":1.0, +"h_c":1.0, +"ru5p__D_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1432", +"subsystem":"Cofactor biosynthesis: Riboflavin biosynthesis" +}, +{ +"id":"DXPRIi", +"name":"1-deoxy-D-xylulose reductoisomerase", +"metabolites":{ +"2me4p_c":1.0, +"dxyl5p_c":-1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1513", +"subsystem":"Terpenoid Biosynthesis" +}, +{ +"id":"GTPCII", +"name":"GTP cyclohydrolase II", +"metabolites":{ +"25dhpp_c":1.0, +"for_c":1.0, +"gtp_c":-1.0, +"h2o_c":-3.0, +"h_c":2.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1432", +"subsystem":"Cofactor biosynthesis: Riboflavin biosynthesis" +}, +{ +"id":"RBFSa", +"name":"Riboflavin synthase", +"metabolites":{ +"4r5au_c":-1.0, +"db4p_c":-1.0, +"dmlz_c":1.0, +"h2o_c":2.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2244", +"subsystem":"Cofactor biosynthesis: Riboflavin biosynthesis" +}, +{ +"id":"GLUTRS", +"name":"Glutamyl-tRNA synthetase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"glu__L_c":-1.0, +"glutrna_c":1.0, +"ppi_c":1.0, +"trnaglu_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2393", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"ALDD2y", +"name":"Aldehyde dehydrogenase (acetaldehyde, NADP)", +"metabolites":{ +"ac_c":-1.0, +"acald_c":1.0, +"h2o_c":1.0, +"h_c":-2.0, +"nadp_c":1, +"nadph_c":-1 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0489", +"subsystem":"Pyruvate metabolism/TCA Reactions" +}, +{ +"id":"EHGLAT", +"name":"L erythro 4 Hydroxyglutamate2 oxoglutarate aminotransferase", +"metabolites":{ +"4h2oglt_c":1.0, +"akg_c":-1.0, +"e4hglu_c":-1.0, +"glu__L_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2545", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"METAT", +"name":"Methionine adenosyltransferase", +"metabolites":{ +"amet_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"met__L_c":-1.0, +"pi_c":1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2463", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"DHORTS", +"name":"Dihydroorotase", +"metabolites":{ +"cbasp_c":1.0, +"dhor__S_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0488", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"PDX5PS2", +"name":"Pyridoxine 5'-phosphate synthase", +"metabolites":{ +"3a2oxpp_c":-1.0, +"dxyl5p_c":-1.0, +"h2o_c":2.0, +"h_c":1.0, +"pdx5p_c":1.0, +"pi_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1194", +"subsystem":"Cofactor biosynthesis: Vitamin B6" +}, +{ +"id":"ARGDC", +"name":"Arginine decarboxylase", +"metabolites":{ +"agm_c":1.0, +"arg__L_c":-1.0, +"co2_c":1.0, +"h_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1037", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"GAPDi_nadp", +"name":"Glyceraldehyde-3-phosphate dehydrogenase (NAD(P)+) (phosphorylating)", +"metabolites":{ +"13dpg_c":-1.0, +"g3p_c":1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1742", +"subsystem":"Glycolysis/Gluconeogenesis" +}, +{ +"id":"GLXO3r", +"name":"Glyoxylate dehydrogenase", +"metabolites":{ +"glx_c":-1.0, +"h2o2_c":1.0, +"h2o_c":-1.0, +"h_c":1.0, +"o2_c":-1.0, +"oxa_c":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Photorespiration/Glyoxylate Degredation" +}, +{ +"id":"PGCD", +"name":"Phosphoglycerate dehydrogenase", +"metabolites":{ +"3pg_c":-1.0, +"3php_c":1.0, +"h_c":1.0, +"nad_c":-1.0, +"nadh_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1501", +"subsystem":"Amino acid metabolism: Glycine, Serine and Threonine metabolism" +}, +{ +"id":"AIRC3", +"name":"Phosphoribosylaminoimidazole carboxylase (mutase rxn)", +"metabolites":{ +"5aizc_c":-1.0, +"5caiz_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0441", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"UMPK", +"name":"UMP kinase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"udp_c":1.0, +"ump_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0506", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"CBPS", +"name":"Carbamoyl-phosphate synthase (glutamine-hydrolysing)", +"metabolites":{ +"adp_c":2.0, +"atp_c":-2.0, +"cbp_c":1.0, +"gln__L_c":-1.0, +"glu__L_c":1.0, +"h2o_c":-1.0, +"h_c":2.0, +"hco3_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0711 and Synpcc7942_2122", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"3HAD180", +"name":"3-hydroxyacyl-[acyl-carrier-protein] dehydratase (n-C18:0)", +"metabolites":{ +"3hoctaACP_c":-1.0, +"h2o_c":1.0, +"toctd2eACP_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0930", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"IMDHT", +"name":"3-isopropylmalate dehydratase", +"metabolites":{ +"2ippm_c":1.0, +"3c3hmp_c":-1.0, +"h2o_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1898 and Synpcc7942_2548", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"RZ5PP", +"name":"Alpha-ribazole 5-phosphate phosphatase", +"metabolites":{ +"5prdmbz_c":-1.0, +"h2o_c":-1.0, +"pi_c":1.0, +"rdmbzi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"RBFSb", +"name":"Riboflavin synthase", +"metabolites":{ +"4r5au_c":1.0, +"dmlz_c":-2.0, +"h_c":1.0, +"ribflv_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1624", +"subsystem":"Cofactor biosynthesis: Riboflavin biosynthesis" +}, +{ +"id":"GLNabcpp", +"name":"L-glutamine transport via ABC system (periplasm)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"gln__L_c":1.0, +"gln__L_p":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0246 and Synpcc7942_0247 and Synpcc7942_0248 and Synpcc7942_0249", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"NDPK8", +"name":"Nucleoside-diphosphate kinase (ATP:dADP)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"dadp_c":-1.0, +"datp_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2497", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"PC6YM", +"name":"Precorrin-6B methyltransferase", +"metabolites":{ +"ahcys_c":2.0, +"amet_c":-2.0, +"co2_c":1.0, +"h_c":3.0, +"pre6b_c":-1.0, +"pre8_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1850", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"DDPA", +"name":"3-deoxy-D-arabino-heptulosonate 7-phosphate synthetase", +"metabolites":{ +"2dda7p_c":1.0, +"e4p_c":-1.0, +"h2o_c":-1.0, +"pep_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2501", +"subsystem":"Amino acid metabolism: Phenylalanine, Tyrosine, Tryptophan biosynthesis" +}, +{ +"id":"ACOTA", +"name":"Acetylornithine transaminase", +"metabolites":{ +"acg5sa_c":1.0, +"acorn_c":-1.0, +"akg_c":-1.0, +"glu__L_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0943", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"FBP", +"name":"Fructose-bisphosphatase", +"metabolites":{ +"f6p_c":1.0, +"fdp_c":-1.0, +"h2o_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0505 or Synpcc7942_2335", +"subsystem":"Glycolysis/Gluconeogenesis" +}, +{ +"id":"MNabc_1", +"name":"Manganese Mn2 transport via ABC system periplasm ", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"mn2_c":1.0, +"mn2_p":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"(Synpcc7942_1316 and Synpcc7942_1317 and Synpcc7942_1318) or (Synpcc7942_2573 and Synpcc7942_2574 and Synpcc7942_2575)", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"NTD7", +"name":"5'-nucleotidase (AMP)", +"metabolites":{ +"adn_c":1.0, +"amp_c":-1.0, +"h2o_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2063", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"MPOMMM", +"name":"Magnesium-protoporphyrin-IX 13-monomethyl ester,NADPH oxygen oxidoreductase (hydroxylating)", +"metabolites":{ +"h2o_c":2.0, +"h_c":-1.0, +"hmppp9_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"o2_c":-1.0, +"omppp9_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1907", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"MTHFD", +"name":"Methylenetetrahydrofolate dehydrogenase (NADP)", +"metabolites":{ +"methf_c":1.0, +"mlthf_c":-1.0, +"nadp_c":-1.0, +"nadph_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0777", +"subsystem":"Cofactor biosynthesis: Folate biosynthesis" +}, +{ +"id":"PANTS", +"name":"Pantothenate synthase", +"metabolites":{ +"ala_B_c":-1.0, +"amp_c":1.0, +"atp_c":-1.0, +"h_c":1.0, +"pant__R_c":-1.0, +"pnto__R_c":1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1151", +"subsystem":"Cofactor biosynthesis: Pantothenate and CoA biosynthesis" +}, +{ +"id":"TMPK", +"name":"Thiamine-phosphate kinase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"thmmp_c":-1.0, +"thmpp_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2567", +"subsystem":"Cofactor biosynthesis: Thiamine (B1)" +}, +{ +"id":"ASNS1", +"name":"Asparagine synthase (glutamine-hydrolysing)", +"metabolites":{ +"amp_c":1.0, +"asn__L_c":1.0, +"asp__L_c":-1.0, +"atp_c":-1.0, +"gln__L_c":-1.0, +"glu__L_c":1.0, +"h2o_c":-1.0, +"h_c":1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0118 and Synpcc7942_2117 and Synpcc7942_2322 and Synpcc7942_1313", +"subsystem":"Amino acid metabolism: Lysine biosynthesis" +}, +{ +"id":"AGPR", +"name":"N-acetyl-g-glutamyl-phosphate reductase", +"metabolites":{ +"acg5p_c":1.0, +"acg5sa_c":-1.0, +"h_c":1.0, +"nadp_c":-1.0, +"nadph_c":1.0, +"pi_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1433", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"KARI_23dhmp", +"name":"Ketol-acid reductoisomerase, (R)-2,3-Dihydroxy-3-methylpentanoate forming", +"metabolites":{ +"23dhmp_c":1.0, +"3hmop_c":-1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1552", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"IPMD", +"name":"3-isopropylmalate dehydrogenase", +"metabolites":{ +"3c2hmp_c":-1.0, +"3c4mop_c":1.0, +"h_c":1.0, +"nad_c":-1.0, +"nadh_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1505", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"3PGtcx", +"name":"3-phosphoglycerate transport out of the carboxyzome", +"metabolites":{ +"3pg_c":1.0, +"3pg_cx":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: carboxyzome" +}, +{ +"id":"CDPMEK", +"name":"4-(cytidine 5'-diphospho)-2-C-methyl-D-erythritol kinase", +"metabolites":{ +"2p4c2me_c":1.0, +"4c2me_c":-1.0, +"adp_c":1.0, +"atp_c":-1.0, +"h_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0310", +"subsystem":"Terpenoid Biosynthesis" +}, +{ +"id":"CITCIa", +"name":"Citramalate dehydratase", +"metabolites":{ +"citac_c":1.0, +"citm_c":-1.0, +"h2o_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1898 and Synpcc7942_2548", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"SUCDum", +"name":"Succinate dehydrogenase (plastoquinone utilizing, thylakoid membrane localized)", +"metabolites":{ +"fum_c":1.0, +"pq_um":-1.0, +"pqh2_um":1.0, +"succ_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0314 and Synpcc7942_0641 and Synpcc7942_1533", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"DVOCHR", +"name":"Divinyl protochlorophyllide a 8-vinyl-reductase", +"metabolites":{ +"dvpchlda_c":-1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"pchlld_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1359", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"H2CO3_NAt_syn", +"name":"Sodium/bicarbonate symporter (SbtA)", +"metabolites":{ +"hco3_c":1.0, +"hco3_p":-1.0, +"na1_c":1.0, +"na1_p":-1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1475", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"HEMEOS", +"name":"Heme O synthase", +"metabolites":{ +"frdp_c":-1.0, +"h2o_c":-1.0, +"hemeO_c":1.0, +"pheme_c":-1.0, +"ppi_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2600", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"ALAD_L", +"name":"L-alanine dehydrogenase", +"metabolites":{ +"ala__L_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"nad_c":-1.0, +"nadh_c":1.0, +"nh4_c":1.0, +"pyr_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1760", +"subsystem":"Amino acid metabolism: Alanine, Aspartate and Glutamate metabolism" +}, +{ +"id":"RPE", +"name":"Ribulose 5-phosphate 3-epimerase", +"metabolites":{ +"ru5p__D_c":-1.0, +"xu5p__D_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0604", +"subsystem":"Calvin cycle/Pentose phosphate pathway" +}, +{ +"id":"MPOMT", +"name":"S-adenosyl-L-methionine magnesium-protoporphyrin-IX O-methyltransferase", +"metabolites":{ +"ahcys_c":1.0, +"amet_c":-1.0, +"mppp9_c":-1.0, +"mppp9me_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0439", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"NDHPQRum", +"name":"NADH:plastoquinone reductase (non-electrogenic)", +"metabolites":{ +"h_c":-1.0, +"nad_c":1.0, +"nadh_c":-1.0, +"pq_um":-1.0, +"pqh2_um":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0198 or Synpcc7942_0101", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"UAMAS", +"name":"UDP-N-acetylmuramoyl-L-alanine synthetase", +"metabolites":{ +"adp_c":1.0, +"ala__L_c":-1.0, +"atp_c":-1.0, +"h_c":1.0, +"pi_c":1.0, +"uama_c":1.0, +"uamr_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1741", +"subsystem":"Murein Biosynthesis/Recycling" +}, +{ +"id":"CITCIb", +"name":"3-methylmalate hydratase", +"metabolites":{ +"citac_c":-1.0, +"h2o_c":-1.0, +"r3mmal_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1898 and Synpcc7942_2548", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"BPNT2", +"name":"3'-phospho-5'-adenylyl sulfate 3'-phosphohydrolase", +"metabolites":{ +"aps_c":1.0, +"h2o_c":-1.0, +"paps_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0173 or Synpcc7942_0965", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"BIOMASS_COFACTORS", +"name":"Biomass: cofactor pool", +"metabolites":{ +"5mthf_c":-0.0213, +"adocbl_c":-0.0043, +"bm_cofactors_c":1.0, +"btamp_c":-0.022, +"coa_c":-0.016, +"fad_c":-0.0214, +"fe2_c":-0.6518, +"fe3_c":-0.6518, +"gthbpt_c":-1.5013, +"hemeO_c":-0.0213, +"k_c":-0.0013, +"lipopb_c":-0.022, +"mlthf_c":-0.0214, +"na1_c":-0.0001, +"nad_c":-0.1708, +"nadh_c":-0.0043, +"nadp_c":-0.0107, +"nadph_c":-0.032, +"phyQ_c":-0.0169, +"pq_um":-0.015, +"ptrc_c":-0.0344, +"pydx5p_c":-0.022, +"sheme_c":-0.0213, +"spmd_c":-0.0736, +"thf_c":-0.0214, +"thmpp_c":-0.0213, +"udcpdp_c":-0.0096 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Biomass and maintenance functions" +}, +{ +"id":"DCTPD2", +"name":"CTP aminohydrolase", +"metabolites":{ +"ctp_c":-1.0, +"h2o_c":-1.0, +"h_c":-1.0, +"nh4_c":1.0, +"utp_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1900", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"HSERTA", +"name":"Homoserine O trans acetylase", +"metabolites":{ +"accoa_c":-1.0, +"achms_c":1.0, +"coa_c":1.0, +"hom__L_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1714 or Synpcc7942_0371", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"NDPK1", +"name":"Nucleoside-diphosphate kinase (ATP:GDP)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"gdp_c":-1.0, +"gtp_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2497", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"PGL", +"name":"6-phosphogluconolactonase", +"metabolites":{ +"6pgc_c":1.0, +"6pgl_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0529", +"subsystem":"Calvin cycle/Pentose phosphate pathway" +}, +{ +"id":"EAR160y", +"name":"Enoyl-[acyl-carrier-protein] reductase (NADPH) (n-C16:0)", +"metabolites":{ +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"palmACP_c":1.0, +"tpalm2eACP_c":-1.0 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0126", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"MECDPDHf", +"name":"2-C-methyl-D-erythritol 2,4 cyclodiphosphate dehydratase (ferredoxin utilizing)", +"metabolites":{ +"2mecdp_c":-1.0, +"fdxox_c":2.0, +"fdxrd_c":-2.0, +"h2mb4p_c":1.0, +"h2o_c":1.0, +"h_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0713", +"subsystem":"Terpenoid Biosynthesis" +}, +{ +"id":"MTHFR3_1", +"name":"5, 10 methylenetetrahydrofolate reductase NADPH ", +"metabolites":{ +"5mthf_c":1.0, +"h_c":-1.0, +"mlthf_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1309", +"subsystem":"Cofactor biosynthesis: Folate biosynthesis" +}, +{ +"id":"3HAD140", +"name":"3-hydroxyacyl-[acyl-carrier-protein] dehydratase (n-C14:0)", +"metabolites":{ +"3hmrsACP_c":-1.0, +"h2o_c":1.0, +"tmrs2eACP_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0930", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"FBA3", +"name":"Sedoheptulose 1,7-bisphosphate D-glyceraldehyde-3-phosphate-lyase", +"metabolites":{ +"dhap_c":1.0, +"e4p_c":1.0, +"s17bp_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1443", +"subsystem":"Calvin cycle/Pentose phosphate pathway" +}, +{ +"id":"DAPNH4T", +"name":"LL-diaminopimelate aminotransferase", +"metabolites":{ +"26dap_LL_c":1.0, +"akg_c":1.0, +"glu__L_c":-1.0, +"h2o_c":-1.0, +"h_c":-1.0, +"thdp_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0853", +"subsystem":"Amino acid metabolism: Lysine biosynthesis" +}, +{ +"id":"MG2uabcpp", +"name":"Magnesium (Mg+2) ABC transporter (uptake, periplasm)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"mg2_c":1.0, +"mg2_p":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1269", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"HCO3E_1_cx", +"name":"Carbonic anhydrase", +"metabolites":{ +"co2_cx":1.0, +"h2o_cx":1.0, +"h_cx":-1.0, +"hco3_cx":-1 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1423 and Synpcc7942_1447", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"ACODA", +"name":"Acetylornithine deacetylase", +"metabolites":{ +"ac_c":1.0, +"acorn_c":-1.0, +"h2o_c":-1.0, +"orn_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0256 or Synpcc7942_1971", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"GLU5K", +"name":"Glutamate 5-kinase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"glu5p_c":1.0, +"glu__L_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2197", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"EAR100y", +"name":"Enoyl-[acyl-carrier-protein] reductase (NADPH) (n-C10:0)", +"metabolites":{ +"dcaACP_c":1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"tdec2eACP_c":-1.0 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0126", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"PGM", +"name":"Phosphoglycerate mutase", +"metabolites":{ +"2pg_c":-1.0, +"3pg_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0469 or Synpcc7942_2078", +"subsystem":"Glycolysis/Gluconeogenesis" +}, +{ +"id":"ASPOb", +"name":"L-aspartate oxidase (oxaloacetate forming)", +"metabolites":{ +"h2o_c":-1.0, +"h_c":-1, +"iasp_c":-1, +"nh4_c":1.0, +"oaa_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1881", +"subsystem":"Amino acid metabolism: Alanine, Aspartate and Glutamate metabolism" +}, +{ +"id":"DM_h2_c", +"name":"Modeling: demand reaction (h2_c)", +"metabolites":{ +"h2_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Intracellular demand" +}, +{ +"id":"ACS", +"name":"Acetyl-CoA synthetase", +"metabolites":{ +"ac_c":-1.0, +"accoa_c":1.0, +"amp_c":1.0, +"atp_c":-1.0, +"coa_c":-1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1352", +"subsystem":"Pyruvate metabolism/TCA Reactions" +}, +{ +"id":"PKETX", +"name":"Phosphoketolase (xylulose-5-phosphate utilizing)", +"metabolites":{ +"actp_c":1.0, +"g3p_c":1.0, +"h2o_c":1.0, +"pi_c":-1.0, +"xu5p__D_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2080", +"subsystem":"Calvin cycle/Pentose phosphate pathway" +}, +{ +"id":"AMPTASECG", +"name":"Alanyl aminopeptidase (cys-gly)", +"metabolites":{ +"cgly_c":-1.0, +"cys__L_c":1.0, +"gly_c":1.0, +"h2o_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1136 or Synpcc7942_1190", +"subsystem":"Metabolism of other amino acids: Glutathione metabolism" +}, +{ +"id":"SHCHCS3", +"name":"2-succinyl-6-hydroxy-2,4-cyclohexadiene 1-carboxylate synthase", +"metabolites":{ +"2sephchc_c":-1.0, +"2shchc_c":1.0, +"pyr_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0774 or Synpcc7942_2527", +"subsystem":"Phylloquinone biosynthesis" +}, +{ +"id":"ATPPRT", +"name":"ATP phosphoribosyltransferase", +"metabolites":{ +"atp_c":-1.0, +"ppi_c":1.0, +"prbatp_c":1.0, +"prpp_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0783 and Synpcc7942_0813", +"subsystem":"Histidine Metabolism" +}, +{ +"id":"NDH-1(4)um", +"name":"NAD(P)H dehydrogenase, carbon dioxide coupled (plastoquinone-8 & 4 protons)( Thylakoid)", +"metabolites":{ +"co2_c":-1.0, +"fdxox_c":2, +"fdxrd_c":-2, +"h2o_c":-1.0, +"h_c":-4.0, +"h_u":3.0, +"hco3_c":1.0, +"pq_um":-1.0, +"pqh2_um":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1343 and Synpcc7942_1415 and Synpcc7942_1180 and Synpcc7942_1346 and Synpcc7942_1345 and Synpcc7942_1743 and Synpcc7942_1344 and Synpcc7942_1182 and Synpcc7942_1181 and Synpcc7942_0413 and Synpcc7942_2234 and Synpcc7942_1982 and Synpcc7942_2487 and Synpcc7942_2257 and Synpcc7942_1908 and Synpcc7942_1106 and Synpcc7942_2092 and Synpcc7942_2091 and Synpcc7942_2093 and Synpcc7942_2094", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"UAGCVT", +"name":"UDP-N-acetylglucosamine 1-carboxyvinyltransferase", +"metabolites":{ +"pep_c":-1.0, +"pi_c":1.0, +"uaccg_c":1.0, +"uacgam_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0715", +"subsystem":"Murein Biosynthesis/Recycling" +}, +{ +"id":"TDPGDH", +"name":"DTDPglucose 4,6-dehydratase", +"metabolites":{ +"dtdp4d6dg_c":1.0, +"dtdpglu_c":-1.0, +"h2o_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2100", +"subsystem":"Nucleotide sugar metabolism" +}, +{ +"id":"ADSL2r", +"name":"Adenylosuccinate lyase", +"metabolites":{ +"25aics_c":-1.0, +"aicar_c":1.0, +"fum_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0315", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"PRASCSi", +"name":"Phosphoribosylaminoimidazolesuccinocarboxamide synthase", +"metabolites":{ +"25aics_c":1.0, +"5aizc_c":-1.0, +"adp_c":1.0, +"asp__L_c":-1.0, +"atp_c":-1.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0927", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"MG2tex", +"name":"Magnesium (Mg+2) transport via diffusion (extracellular to periplasm)", +"metabolites":{ +"mg2_e":-1.0, +"mg2_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1371", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"HPROb", +"name":"L-hydroxyproline reductase NADP", +"metabolites":{ +"1p3h5c_c":-1.0, +"4hpro__LT_c":1.0, +"h_c":-2.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2058", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"NTPP2", +"name":"Nucleoside triphosphate pyrophosphorylase (gtp)", +"metabolites":{ +"gmp_c":1.0, +"gtp_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1493", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"TRDR", +"name":"Thioredoxin reductase (NADPH)", +"metabolites":{ +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"trdox_c":-1.0, +"trdrd_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0623", +"subsystem":"Cofactor Regeneration" +}, +{ +"id":"PKETF", +"name":"Phosphoketolase (fructose-6-phosphate utilizing)", +"metabolites":{ +"actp_c":1.0, +"e4p_c":1.0, +"f6p_c":-1.0, +"h2o_c":1.0, +"pi_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2080", +"subsystem":"Calvin cycle/Pentose phosphate pathway" +}, +{ +"id":"NDPK6", +"name":"Nucleoside-diphosphate kinase (ATP:dUDP)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"dudp_c":-1.0, +"dutp_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2497", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"GLUPRT", +"name":"Glutamine phosphoribosyldiphosphate amidotransferase", +"metabolites":{ +"gln__L_c":-1.0, +"glu__L_c":1.0, +"h2o_c":-1.0, +"ppi_c":1.0, +"pram_c":1.0, +"prpp_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0004", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"PTRCabcpp", +"name":"Putrescine transport via ABC system (periplasm)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"pi_c":1.0, +"ptrc_c":1.0, +"ptrc_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2266", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"UPP3MT", +"name":"Uroporphyrinogen methyltransferase", +"metabolites":{ +"ahcys_c":2.0, +"amet_c":-2.0, +"dscl_c":1.0, +"h_c":1.0, +"uppg3_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0271", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"DHNCOAS", +"name":"1,4-dihydroxy-2-napthoyl-CoA synthase", +"metabolites":{ +"14dhncoa_c":1.0, +"h2o_c":1.0, +"h_c":-1.0, +"sbzcoa_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0597", +"subsystem":"Phylloquinone biosynthesis" +}, +{ +"id":"MCOATA", +"name":"Malonyl-CoA-ACP transacylase", +"metabolites":{ +"ACP_c":-1.0, +"coa_c":1.0, +"malACP_c":1.0, +"malcoa_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1456", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"PMPK", +"name":"Phosphomethylpyrimidine kinase", +"metabolites":{ +"2mahmp_c":1.0, +"4ampm_c":-1.0, +"adp_c":1.0, +"atp_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2379", +"subsystem":"Cofactor biosynthesis: Thiamine (B1)" +}, +{ +"id":"HMBS", +"name":"Hydroxymethylbilane synthase", +"metabolites":{ +"h2o_c":-1.0, +"hmbil_c":1.0, +"nh4_c":4.0, +"ppbng_c":-4.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0967", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"PGLYCP", +"name":"Phosphoglycolate phosphatase", +"metabolites":{ +"2pglyc_c":-1.0, +"glyclt_c":1.0, +"h2o_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2613", +"subsystem":"Photorespiration/Glyoxylate Degredation" +}, +{ +"id":"UAGAAT2", +"name":"UDP-N-acetylglucosamine acyltransferase (Synechococcus elongatus 7942)", +"metabolites":{ +"3hpalmACP_c":-1, +"ACP_c":1.0, +"u3aga2_c":1, +"uacgam_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0931 or Synpcc7942_2371", +"subsystem":"Lipopolysaccharide/O-antigen Biosynthesis" +}, +{ +"id":"HTHRPDH", +"name":"4-hydroxythreonine-4-phosphate dehydrogenase", +"metabolites":{ +"2a3pp_c":1.0, +"h_c":1.0, +"nad_c":-1.0, +"nadh_c":1.0, +"phthr_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0804", +"subsystem":"Cofactor biosynthesis: Vitamin B6" +}, +{ +"id":"BCT1_syn", +"name":"Bicarbonate transport via ABC system (periplasm)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"hco3_c":1.0, +"hco3_p":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1488 and Synpcc7942_1489 and Synpcc7942_1490 and Synpcc7942_1491", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"IPDDI", +"name":"Isopentenyl-diphosphate D-isomerase", +"metabolites":{ +"dmpp_c":1.0, +"ipdp_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1933", +"subsystem":"Terpenoid Biosynthesis" +}, +{ +"id":"GLYALDDy", +"name":"Alcohol dehydrogenase (glycerol/NADPH utilizing)", +"metabolites":{ +"glyald_c":-1.0, +"glyc__R_c":1.0, +"h2o_c":-1.0, +"h_c":2.0, +"nadp_c":-1, +"nadph_c":1 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0489", +"subsystem":"Glycolysis/Gluconeogenesis" +}, +{ +"id":"CITMS", +"name":"Citramalate synthase", +"metabolites":{ +"accoa_c":-1.0, +"citm_c":1.0, +"coa_c":1.0, +"h2o_c":-1.0, +"h_c":1.0, +"pyr_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0428 or Synpcc7942_1410", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"IMPC", +"name":"IMP cyclohydrolase", +"metabolites":{ +"fprica_c":1.0, +"h2o_c":-1.0, +"imp_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0396", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"OMCDC", +"name":"2-Oxo-4-methyl-3-carboxypentanoate decarboxylation", +"metabolites":{ +"3c4mop_c":-1.0, +"4mop_c":1.0, +"co2_c":1.0, +"h_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"Htcx", +"name":"Proton transport to carboxysome via diffusion", +"metabolites":{ +"h_c":-1.0, +"h_cx":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: carboxyzome" +}, +{ +"id":"DHQTi", +"name":"3-dehydroquinate dehydratase, irreversible", +"metabolites":{ +"3dhq_c":-1.0, +"3dhsk_c":1.0, +"h2o_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0915", +"subsystem":"Amino acid metabolism: Phenylalanine, Tyrosine, Tryptophan biosynthesis" +}, +{ +"id":"SPODM", +"name":"Superoxide dismutase", +"metabolites":{ +"h2o2_c":1.0, +"h_c":-2.0, +"o2_c":1.0, +"o2s_c":-2.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0801", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"MAN6PI", +"name":"Mannose-6-phosphate isomerase", +"metabolites":{ +"f6p_c":1.0, +"man6p_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1608", +"subsystem":"Nucleotide sugar metabolism" +}, +{ +"id":"3OAS120", +"name":"3-oxoacyl-[acyl-carrier-protein] synthase (n-C12:0)", +"metabolites":{ +"3oddecACP_c":1.0, +"ACP_c":1.0, +"co2_c":1.0, +"dcaACP_c":-1.0, +"h_c":-1.0, +"malACP_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0537", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"PGAMT", +"name":"Phosphoglucosamine mutase", +"metabolites":{ +"gam1p_c":-1.0, +"gam6p_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2132", +"subsystem":"Murein Biosynthesis/Recycling" +}, +{ +"id":"ZDS", +"name":"Zeta-carotene desaturase", +"metabolites":{ +"h2o_c":2.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"norsp_c":1.0, +"o2_c":-1.0, +"zcarote_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1512", +"subsystem":"Carotenoid biosynthesis" +}, +{ +"id":"PSERT", +"name":"Phosphoserine transaminase", +"metabolites":{ +"3php_c":-1.0, +"akg_c":1.0, +"glu__L_c":-1.0, +"pser__L_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0191", +"subsystem":"Amino acid metabolism: Glycine, Serine and Threonine metabolism" +}, +{ +"id":"HISTP", +"name":"Histidinol-phosphatase", +"metabolites":{ +"h2o_c":-1.0, +"hisp_c":-1.0, +"histd_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Histidine Metabolism" +}, +{ +"id":"NNDPR", +"name":"Nicotinate-nucleotide diphosphorylase (carboxylating)", +"metabolites":{ +"co2_c":1.0, +"h_c":-2.0, +"nicrnt_c":1.0, +"ppi_c":1.0, +"prpp_c":-1.0, +"quln_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0951", +"subsystem":"Cofactor biosynthesis: Nicotinate and Nicotinamide metabolism" +}, +{ +"id":"ADSK", +"name":"Adenylyl-sulfate kinase", +"metabolites":{ +"adp_c":1.0, +"aps_c":-1.0, +"atp_c":-1.0, +"h_c":1.0, +"paps_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0939", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"MECDPS", +"name":"2-C-methyl-D-erythritol 2,4-cyclodiphosphate synthase", +"metabolites":{ +"2mecdp_c":1.0, +"2p4c2me_c":-1.0, +"cmp_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1170", +"subsystem":"Terpenoid Biosynthesis" +}, +{ +"id":"CUabcpp", +"name":"Copper transport via ABC system (periplasm)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"cu2_c":1.0, +"cu2_p":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1570 or Synpcc7942_2317", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"ADCYRS", +"name":"Adenosylcobyric acid synthase (glutamine-hydrolysing)", +"metabolites":{ +"adcobdam_c":-1.0, +"adcobhex_c":1.0, +"adp_c":4.0, +"atp_c":-4.0, +"gln__L_c":-4.0, +"glu__L_c":4.0, +"h2o_c":-4.0, +"h_c":4.0, +"pi_c":4.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0211", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"RBPCcx", +"name":"Ribulose-bisphosphate carboxylase", +"metabolites":{ +"2pglyc_cx":0.009999999999999998, +"3pg_cx":1.99, +"co2_cx":-0.99, +"h2o_cx":-0.99, +"h_cx":2.0, +"o2_cx":-0.009999999999999998, +"rb15bp_cx":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1426 and Synpcc7942_1427 and Synpcc7942_1423 and Synpcc7942_1421 and Synpcc7942_1422 and Synpcc7942_0285 and Synpcc7942_0284 and Synpcc7942_1424 and Synpcc7942_1425", +"subsystem":"Calvin cycle/Pentose phosphate pathway" +}, +{ +"id":"3HAD40_1", +"name":"3-hydroxyacyl-[acyl-carrier-protein] dehydratase (n-C4:0)", +"metabolites":{ +"3hbutACP_c":-1.0, +"but2eACP_c":1.0, +"h2o_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0930", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"EAR180y", +"name":"Enoyl-[acyl-carrier-protein] reductase (NADPH) (n-C18:0)", +"metabolites":{ +"h_c":-1.0, +"nadp_c":1, +"nadph_c":-1, +"ocdcaACP_c":1.0, +"toctd2eACP_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0126", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"GTHRDH", +"name":"Glutathione hydrolase", +"metabolites":{ +"cgly_c":1.0, +"glu__L_c":1.0, +"gthrd_c":-1.0, +"h2o_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0185 or Synpcc7942_B2624", +"subsystem":"Metabolism of other amino acids: Glutathione metabolism" +}, +{ +"id":"PRAIi", +"name":"Phosphoribosylanthranilate isomerase (irreversible)", +"metabolites":{ +"2cpr5p_c":1.0, +"pran_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0408", +"subsystem":"Amino acid metabolism: Phenylalanine, Tyrosine, Tryptophan biosynthesis" +}, +{ +"id":"CYNTtabcpp", +"name":"Cyanate transport", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"cynt_c":1.0, +"cynt_p":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2105 and Synpcc7942_2106 and Synpcc7942_2107", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"TRSARyr", +"name":"Tartronate semialdehyde reductase (NADP)", +"metabolites":{ +"2h3oppan_c":-1.0, +"glyc__R_c":1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1857", +"subsystem":"Photorespiration/Glyoxylate Degredation" +}, +{ +"id":"PTPATi", +"name":"Pantetheine-phosphate adenylyltransferase", +"metabolites":{ +"atp_c":-1.0, +"dpcoa_c":1.0, +"h_c":-1.0, +"pan4p_c":-1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2007", +"subsystem":"Cofactor biosynthesis: Pantothenate and CoA biosynthesis" +}, +{ +"id":"PC6AR", +"name":"Precorrin-6A reductase", +"metabolites":{ +"h_c":2.0, +"nadp_c":-1.0, +"nadph_c":1.0, +"pre6a_c":1.0, +"pre6b_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0021", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"Kabcpp", +"name":"Potassium ABC transporter (periplasm)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"k_c":1.0, +"k_p":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1668 and Synpcc7942_1669 and Synpcc7942_1671 and Synpcc7942_1729", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"ENO", +"name":"Enolase", +"metabolites":{ +"2pg_c":-1.0, +"h2o_c":1.0, +"pep_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0639", +"subsystem":"Glycolysis/Gluconeogenesis" +}, +{ +"id":"TDPDRR", +"name":"DTDP-4-dehydrorhamnose reductase", +"metabolites":{ +"dtdp4d6dm_c":-1.0, +"dtdprmn_c":1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2099", +"subsystem":"Nucleotide sugar metabolism" +}, +{ +"id":"PRFGS", +"name":"Phosphoribosylformylglycinamidine synthase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"fgam_c":-1.0, +"fpram_c":1.0, +"gln__L_c":-1.0, +"glu__L_c":1.0, +"h2o_c":-1.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0003 and Synpcc7942_0818 and Synpcc7942_0819", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"PC8XM", +"name":"Precorrin-8X methylmutase", +"metabolites":{ +"h_c":-1.0, +"hgbyr_c":1.0, +"pre8_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1852", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"3OAS60", +"name":"3-oxoacyl-[acyl-carrier-protein] synthase (n-C6:0)", +"metabolites":{ +"3ohexACP_c":1.0, +"ACP_c":1.0, +"butACP_c":-1.0, +"co2_c":1.0, +"h_c":-1.0, +"malACP_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0537", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"GMPS2", +"name":"GMP synthase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"gln__L_c":-1.0, +"glu__L_c":1.0, +"gmp_c":1.0, +"h2o_c":-1.0, +"h_c":2.0, +"ppi_c":1.0, +"xmp_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0189", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"RBFK", +"name":"Riboflavin kinase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"fmn_c":1.0, +"h_c":1.0, +"ribflv_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0492", +"subsystem":"Cofactor biosynthesis: Riboflavin biosynthesis" +}, +{ +"id":"NTRIRfx", +"name":"Nitrite reductase (ferredoxin)", +"metabolites":{ +"fdxox_c":6.0, +"fdxrd_c":-6.0, +"h2o_c":2.0, +"h_c":-8.0, +"nh4_c":1.0, +"no2_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1240", +"subsystem":"Nitrogen metabolism" +}, +{ +"id":"GTHPi", +"name":"Glutathione peridoxase", +"metabolites":{ +"gthox_c":1.0, +"gthrd_c":-2.0, +"h2o2_c":-1.0, +"h2o_c":2.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1214", +"subsystem":"Cofactor Regeneration" +}, +{ +"id":"ARGSS", +"name":"Argininosuccinate synthase", +"metabolites":{ +"amp_c":1.0, +"argsuc_c":1.0, +"asp__L_c":-1.0, +"atp_c":-1.0, +"citr__L_c":-1.0, +"h_c":1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0009", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"SPTr", +"name":"Serine-pyruvate aminotransferase", +"metabolites":{ +"ala__L_c":-1.0, +"hpyr_c":-1.0, +"pyr_c":1.0, +"ser__L_c":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2160", +"subsystem":"Amino acid metabolism: Alanine, Aspartate and Glutamate metabolism" +}, +{ +"id":"H2Otpp", +"name":"H2O transport via diffusion (periplasm)", +"metabolites":{ +"h2o_c":1.0, +"h2o_p":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"TDPDRE", +"name":"DTDP-4-dehydrorhamnose 3,5-epimerase", +"metabolites":{ +"dtdp4d6dg_c":-1.0, +"dtdp4d6dm_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2098 or Synpcc7942_0058", +"subsystem":"Nucleotide sugar metabolism" +}, +{ +"id":"GTHOr", +"name":"Glutathione oxidoreductase", +"metabolites":{ +"gthox_c":-1.0, +"gthrd_c":2.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0842", +"subsystem":"Cofactor Regeneration" +}, +{ +"id":"SHK3Dr", +"name":"Shikimate dehydrogenase", +"metabolites":{ +"3dhsk_c":-1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"skm_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2467", +"subsystem":"Amino acid metabolism: Phenylalanine, Tyrosine, Tryptophan biosynthesis" +}, +{ +"id":"CYRDAR", +"name":"Cob(II)yrinic acid a,c-diamide reductase", +"metabolites":{ +"co1dam_c":2.0, +"co2dam_c":-2.0, +"h_c":1.0, +"nad_c":1, +"nadh_c":-1 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"ORPT", +"name":"Orotate phosphoribosyltransferase", +"metabolites":{ +"orot5p_c":-1.0, +"orot_c":1.0, +"ppi_c":-1.0, +"prpp_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2592", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"GRTT", +"name":"Geranyltranstransferase", +"metabolites":{ +"frdp_c":1.0, +"grdp_c":-1.0, +"ipdp_c":-1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0776", +"subsystem":"Terpenoid Biosynthesis" +}, +{ +"id":"TRDRf", +"name":"Thioredoxin:ferredoxin reductase", +"metabolites":{ +"fdxox_c":2.0, +"fdxrd_c":-2.0, +"h_c":-2.0, +"trdox_c":-1.0, +"trdrd_c":1.0 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1131 and Synpcc7942_1734", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"BIOMASS_MEM_LIPIDS", +"name":"BioLip", +"metabolites":{ +"bm_memlip_c":1.0, +"dgdg1619Z160_c":-0.06332548303, +"dgdg161_c":-0.040390132370000005, +"dgdg1819Z160Z_c":-0.04396080608, +"dgdg1819Z1619Z_c":-0.02102545542, +"mgdg1619Z160_c":-0.2673176249, +"mgdg161_c":-0.1992320953, +"mgdg1819Z160_c":-0.1720707022, +"mgdg1819Z1619Z_c":-0.1039851725, +"pg1819Z160_c":-0.2726231733, +"sqdg160_c":-0.07211355618000001, +"sqdg1619Z160_c":-0.0482903278 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Biomass and maintenance functions" +}, +{ +"id":"PRPPS", +"name":"Phosphoribosylpyrophosphate synthetase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"h_c":1.0, +"prpp_c":1.0, +"r5p_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2113", +"subsystem":"Calvin cycle/Pentose phosphate pathway" +}, +{ +"id":"KARA1i", +"name":"Acetohydroxy acid isomeroreductase", +"metabolites":{ +"23dhmb_c":1.0, +"alac__S_c":-1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1552", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"SPRMS", +"name":"Spermine synthase", +"metabolites":{ +"5mta_c":1.0, +"ametam_c":-1.0, +"h_c":1.0, +"spmd_c":-1.0, +"sprm_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0628", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"FCLT", +"name":"Ferrochelatase", +"metabolites":{ +"fe2_c":-1.0, +"h_c":2.0, +"pheme_c":1.0, +"ppp9_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0137", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"PPA", +"name":"Inorganic diphosphatase", +"metabolites":{ +"h2o_c":-1.0, +"h_c":1.0, +"pi_c":2.0, +"ppi_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1383", +"subsystem":"Inorganic Ion Transport and Metabolism" +}, +{ +"id":"DHQS", +"name":"3-dehydroquinate synthase", +"metabolites":{ +"2dda7p_c":-1.0, +"3dhq_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0525", +"subsystem":"Amino acid metabolism: Phenylalanine, Tyrosine, Tryptophan biosynthesis" +}, +{ +"id":"ANPRT", +"name":"Anthranilate phosphoribosyltransferase", +"metabolites":{ +"anth_c":-1.0, +"ppi_c":1.0, +"pran_c":1.0, +"prpp_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2123", +"subsystem":"Amino acid metabolism: Phenylalanine, Tyrosine, Tryptophan biosynthesis" +}, +{ +"id":"ADK1", +"name":"Adenylate kinase", +"metabolites":{ +"adp_c":2.0, +"amp_c":-1.0, +"atp_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2213", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"UPP3S", +"name":"Uroporphyrinogen-III synthase", +"metabolites":{ +"h2o_c":1.0, +"hmbil_c":-1.0, +"uppg3_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0272", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"NDPK5", +"name":"Nucleoside-diphosphate kinase (ATP:dGDP)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"dgdp_c":-1.0, +"dgtp_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2497", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"NDHPQRcm", +"name":"NADH:plastoquinone reductase (non-electrogenic)", +"metabolites":{ +"h_c":-1.0, +"nad_c":1.0, +"nadh_c":-1.0, +"pq_cm":-1.0, +"pqh2_cm":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0198 or Synpcc7942_0101", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"DHNPA_1", +"name":"Dihydroneopterin aldolase", +"metabolites":{ +"2ahhmp_c":1.0, +"dhnpt_c":-1.0, +"gcald_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0040", +"subsystem":"Cofactor biosynthesis: Folate biosynthesis" +}, +{ +"id":"NDPK4", +"name":"Nucleoside-diphosphate kinase (ATP:dTDP)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"dtdp_c":-1.0, +"dttp_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2497", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"RNDR4", +"name":"Ribonucleoside-diphosphate reductase (UDP)", +"metabolites":{ +"dudp_c":1.0, +"h2o_c":1.0, +"trdox_c":1.0, +"trdrd_c":-1.0, +"udp_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1609", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"NADK", +"name":"NAD kinase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h_c":1.0, +"nad_c":-1.0, +"nadp_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1865 or Synpcc7942_2304", +"subsystem":"Cofactor biosynthesis: Nicotinate and Nicotinamide metabolism" +}, +{ +"id":"3OAR40_1", +"name":"3-oxoacyl-[acyl-carrier-protein] reductase (n-C4:0)", +"metabolites":{ +"3hbutACP_c":-1.0, +"actACP_c":1.0, +"h_c":1.0, +"nadp_c":-1.0, +"nadph_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0684", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"TKT1", +"name":"Transketolase", +"metabolites":{ +"g3p_c":1.0, +"r5p_c":-1.0, +"s7p_c":1.0, +"xu5p__D_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0538", +"subsystem":"Calvin cycle/Pentose phosphate pathway" +}, +{ +"id":"NO3abcpp", +"name":"Nitrate transport via ABC system (periplasm)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"no3_c":1.0, +"no3_p":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1236 and Synpcc7942_1237 and Synpcc7942_1238 and Synpcc7942_1239", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"FE3abcpp", +"name":"Iron (III) transport via ABC system (periplasm to cytoplasm)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"fe3_c":1.0, +"fe3_p":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"(Synpcc7942_1406 and Synpcc7942_1407 and Synpcc7942_1409) or (Synpcc7942_1406 and Synpcc7942_1407 and Synpcc7942_2175)", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"MOBDabcpp", +"name":"Molybdate transport via ABC system (periplasm)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"mobd_c":1.0, +"mobd_p":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1530 and Synpcc7942_1531 and Synpcc7942_1532", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"NPHBDC", +"name":"Nonaprenyl-hydroxybenzoate decarboxylase", +"metabolites":{ +"2m6sbenzq_c":1.0, +"3nphb_c":-1.0, +"ahcys_c":1.0, +"amet_c":-1.0, +"co2_c":1.0, +"h2o_c":-1.0, +"h_c":1.0, +"nad_c":-1.0, +"nadh_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2588 and Synpcc7942_2055 and Synpcc7942_0135", +"subsystem":"Plastoquinol biosynthesis" +}, +{ +"id":"NPDPS", +"name":"Nonaprenyl-diphosphate synthase (gyeranyl-diphosphate specific)", +"metabolites":{ +"grdp_c":-1.0, +"ipdp_c":-7.0, +"npdp_c":1.0, +"ppi_c":7.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2362", +"subsystem":"Terpenoid Biosynthesis" +}, +{ +"id":"NI2uabcpp", +"name":"Nickel transport via ABC system (uptake, periplasm)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"ni2_c":1.0, +"ni2_p":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1570 or Synpcc7942_2317", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"HCO3tcx", +"name":"Bicarbonate transport to carboxyzome", +"metabolites":{ +"hco3_c":-1.0, +"hco3_cx":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: carboxyzome" +}, +{ +"id":"RNDR2", +"name":"Ribonucleoside-diphosphate reductase (GDP)", +"metabolites":{ +"dgdp_c":1.0, +"gdp_c":-1.0, +"h2o_c":1.0, +"trdox_c":1.0, +"trdrd_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1609", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"KARI", +"name":"Ketol-acid reductoisomerase", +"metabolites":{ +"2ahbut_c":-1.0, +"3hmop_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1552", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"EAR40y", +"name":"Enoyl-[acyl-carrier-protein] reductase (NADPH) (n-C4:0)", +"metabolites":{ +"but2eACP_c":-1.0, +"butACP_c":1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0126", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"NADTRHD", +"name":"NAD transhydrogenase", +"metabolites":{ +"nad_c":-1.0, +"nadh_c":1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1610 and Synpcc7942_1611 and Synpcc7942_1612", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"DHNCOAT", +"name":"1,4-dihydroxy-2-napthoyl-CoA thioesterase", +"metabolites":{ +"14dhncoa_c":-1.0, +"coa_c":1.0, +"dhna_c":1.0, +"h2o_c":-1.0, +"h_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1744", +"subsystem":"Phylloquinone biosynthesis" +}, +{ +"id":"BIOMASS_PROTEIN", +"name":"Biomass: protein", +"metabolites":{ +"adp_c":9.0199, +"alatrna_c":-0.7662, +"argtrna_c":-0.4548, +"asntrna_c":-0.3658, +"asptrna_c":-0.4539, +"atp_c":-9.0199, +"bm_pro_c":1.0, +"cystrna_c":-0.0899, +"gdp_c":18.0398, +"glntrna_c":-0.502, +"glutrna_c":-0.5465, +"glytrna_c":-0.6663, +"gtp_c":-18.0398, +"h2o_c":-27.0597, +"h_c":36.0797, +"histrna_c":-0.1679, +"iletrna_c":-0.5665, +"leutrna_c":-1.0294, +"lystrna_c":-0.3777, +"mettrna_c":-0.177, +"phetrna_c":-0.3622, +"pi_c":27.0597, +"protrna_c":-0.463, +"sertrna_c":-0.5238, +"thrtrna_c":-0.4957, +"trnaala_c":0.7662, +"trnaarg_c":0.4548, +"trnaasn_c":0.3658, +"trnaasp_c":0.4539, +"trnacys_c":0.0899, +"trnagln_c":0.502, +"trnaglu_c":0.5465, +"trnagly_c":0.6663, +"trnahis_c":0.1679, +"trnaile_c":0.5665, +"trnaleu_c":1.0294, +"trnalys_c":0.3777, +"trnamet_c":0.177, +"trnaphe_c":0.3622, +"trnapro_c":0.463, +"trnaser_c":0.5238, +"trnathr_c":0.4957, +"trnatrp_c":0.1398, +"trnatyr_c":0.2633, +"trnaval_c":0.6082, +"trptrna_c":-0.1398, +"tyrtrna_c":-0.2633, +"valtrna_c":-0.6082 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Biomass and maintenance functions" +}, +{ +"id":"3OAS100", +"name":"3-oxoacyl-[acyl-carrier-protein] synthase (n-C10:0)", +"metabolites":{ +"3odecACP_c":1.0, +"ACP_c":1.0, +"co2_c":1.0, +"h_c":-1.0, +"malACP_c":-1.0, +"ocACP_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0537", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"G1SAT", +"name":"Glutamate-1-semialdehyde aminotransferase", +"metabolites":{ +"5aop_c":1.0, +"glu1sa_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0645", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"ILETA", +"name":"Isoleucine transaminase", +"metabolites":{ +"3mop_c":1.0, +"akg_c":-1.0, +"glu__L_c":1.0, +"ile__L_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1029", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"PDS1", +"name":"Phytoene dehydrogenase", +"metabolites":{ +"h_c":1.0, +"nadp_c":-1.0, +"nadph_c":1.0, +"phytfl_c":1.0, +"phyto_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1983", +"subsystem":"Carotenoid biosynthesis" +}, +{ +"id":"UAAGDS", +"name":"UDP-N-acetylmuramoyl-L-alanyl-D-glutamyl-meso-2,6-diaminopimelate synthetase", +"metabolites":{ +"26dap__M_c":-1.0, +"adp_c":1.0, +"atp_c":-1.0, +"h_c":1.0, +"pi_c":1.0, +"uamag_c":-1.0, +"ugmd_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1484", +"subsystem":"Murein Biosynthesis/Recycling" +}, +{ +"id":"GLCDBRAN3", +"name":"Glycogen debranching enzyme", +"metabolites":{ +"14glucan_c":1.0, +"glc__D_c":1.0, +"glycogen_c":-1.0, +"h2o_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0086 and Synpcc7942_1019", +"subsystem":"Glycogen and sucrose metabolism" +}, +{ +"id":"HEX1", +"name":"Hexokinase (D-glucose:ATP)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"g6p_c":1.0, +"glc__D_c":-1.0, +"h_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0221", +"subsystem":"Glycolysis/Gluconeogenesis" +}, +{ +"id":"ATPSum", +"name":"ATP synthase (thylakoid membrane)", +"metabolites":{ +"adp_c":-3.0, +"atp_c":3.0, +"h2o_c":3.0, +"h_c":10.0, +"h_u":-13.0, +"pi_c":-3.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0330 and Synpcc7942_0331 and Synpcc7942_0332 and Synpcc7942_0333 and Synpcc7942_0334 and Synpcc7942_0335 and Synpcc7942_0336 and Synpcc7942_0337 and Synpcc7942_2315 and Synpcc7942_2316", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"CHPHYS", +"name":"Chlorophyll a synthase", +"metabolites":{ +"chlda_c":-1.0, +"cholphya_c":1.0, +"h_c":-1, +"phdp_c":-1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2084", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"BCAROHX", +"name":"Beta-carotene hydroxylase (beta-cryptoxanthin forming)", +"metabolites":{ +"bcryptox_c":1.0, +"caro_c":-1.0, +"h2o_c":1.0, +"h_c":-1.0, +"nadp_c":1, +"nadph_c":-1, +"o2_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2439", +"subsystem":"Carotenoid biosynthesis" +}, +{ +"id":"GLYCLTDx", +"name":"Glycolate dehydrogenase (NAD)", +"metabolites":{ +"glx_c":1.0, +"glyclt_c":-1.0, +"h_c":1.0, +"nad_c":-1, +"nadh_c":1 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"(Synpcc7942_0276 and Synpcc7942_1717 and Synpcc7942_1718) or (Synpcc7942_0567)", +"subsystem":"Photorespiration/Glyoxylate Degredation" +}, +{ +"id":"PIuabcpp", +"name":"Phosphate transport via ABC system (uptake, periplasm)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"pi_c":2.0, +"pi_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2441 and Synpcc7942_2442 and Synpcc7942_2443 and Synpcc7942_2444 and Synpcc7942_2445", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"PC20M", +"name":"S-adenosyl-L-methionine:precorrin-4 C20-methyltransferase", +"metabolites":{ +"ahcys_c":1.0, +"amet_c":-1.0, +"dscl_c":-1.0, +"h_c":1.0, +"pre3a_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1853", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"ADSS", +"name":"Adenylosuccinate synthase", +"metabolites":{ +"asp__L_c":-1.0, +"dcamp_c":1.0, +"gdp_c":1.0, +"gtp_c":-1.0, +"h_c":2.0, +"imp_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2409", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"BIOMASS_RNA", +"name":"Biomass: RNA", +"metabolites":{ +"atp_c":-0.6946599999999999, +"bm_rna_c":1.0, +"ctp_c":-0.86375, +"gtp_c":-0.86375, +"ppi_c":3.1168299999999998, +"utp_c":-0.6946599999999999 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Biomass and maintenance functions" +}, +{ +"id":"DM_dialurate_c", +"name":"Modeling: demand reaction (dialurate_c)", +"metabolites":{ +"dialurate_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Intracellular demand" +}, +{ +"id":"THRPD", +"name":"Threonine-phosphate decarboxylase", +"metabolites":{ +"applp_c":1.0, +"co2_c":1.0, +"h_c":-1.0, +"thrp_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1109", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"TMDS3", +"name":"Thymidylate synthase (FAD dependent)", +"metabolites":{ +"dtmp_c":1.0, +"dump_c":-1.0, +"h_c":-1.0, +"mlthf_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"thf_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1044", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"DHFR", +"name":"Dihydrofolate reductase", +"metabolites":{ +"dhf_c":-1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"thf_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1186", +"subsystem":"Cofactor biosynthesis: Folate biosynthesis" +}, +{ +"id":"ACGS", +"name":"N-acetylglutamate synthase", +"metabolites":{ +"accoa_c":-1.0, +"acglu_c":1.0, +"coa_c":1.0, +"glu__L_c":-1.0, +"h_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1896", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"VALTA", +"name":"Valine transaminase", +"metabolites":{ +"3mob_c":1.0, +"akg_c":-1.0, +"glu__L_c":1.0, +"val__L_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1029", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"AFAT", +"name":"ATP:FMN adenylyltransferase", +"metabolites":{ +"atp_c":-1.0, +"fad_c":1.0, +"fmn_c":-1.0, +"h_c":-2.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0492", +"subsystem":"Cofactor biosynthesis: Riboflavin biosynthesis" +}, +{ +"id":"GLYOX_1", +"name":"Glyoxalase I; Ni-dependent", +"metabolites":{ +"gthrd_c":1.0, +"lgt__S_c":-1.0, +"mthgxl_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0638", +"subsystem":"Calvin cycle/Pentose phosphate pathway" +}, +{ +"id":"EAR140y", +"name":"Enoyl-[acyl-carrier-protein] reductase (NADPH) (n-C14:0)", +"metabolites":{ +"h_c":-1.0, +"myrsACP_c":1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"tmrs2eACP_c":-1.0 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0126", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"FRTT", +"name":"Farnesyltranstransferase", +"metabolites":{ +"frdp_c":-1.0, +"ggdp_c":1.0, +"ipdp_c":-1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0776", +"subsystem":"Terpenoid Biosynthesis" +}, +{ +"id":"CTPS2", +"name":"CTP synthase (glutamine)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"ctp_c":1.0, +"gln__L_c":-1.0, +"glu__L_c":1.0, +"h2o_c":-1.0, +"h_c":2.0, +"pi_c":1.0, +"utp_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1954", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"DESAT16a", +"name":"Palmitoyl ACP delta-9 desaturase", +"metabolites":{ +"h2o_c":2.0, +"h_c":-1.0, +"hdeACP_c":1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"o2_c":-1.0, +"palmACP_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2561", +"subsystem":"Galactoglycerolipid metabolism" +}, +{ +"id":"CO2tex", +"name":"CO2 transport via diffusion (extracellular to periplasm)", +"metabolites":{ +"co2_e":-1.0, +"co2_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"GTHS", +"name":"Glutathione synthetase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"glucys_c":-1.0, +"gly_c":-1.0, +"gthrd_c":1.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2324", +"subsystem":"Metabolism of other amino acids: Glutathione metabolism" +}, +{ +"id":"UAGDP", +"name":"UDP-N-acetylglucosamine diphosphorylase", +"metabolites":{ +"acgam1p_c":-1.0, +"h_c":-1.0, +"ppi_c":1.0, +"uacgam_c":1.0, +"utp_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0288", +"subsystem":"Murein Biosynthesis/Recycling" +}, +{ +"id":"DADK", +"name":"Deoxyadenylate kinase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"dadp_c":1.0, +"damp_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2213", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"MPOMC1", +"name":"Magnesium-protoporphyrin-IX 13-monomethyl ester,NADPH oxygen oxidoreductase (hydroxylating)", +"metabolites":{ +"h2o_c":1.0, +"h_c":-1.0, +"hmppp9_c":1.0, +"mppp9me_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"o2_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1907", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"Nat_Kpp", +"name":"Sodium:potassium antiporter (periplasm to cytosol)", +"metabolites":{ +"k_c":1.0, +"k_p":-1.0, +"na1_c":-1.0, +"na1_p":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1081 and Synpcc7942_1080", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"3OAS180", +"name":"3-oxoacyl-[acyl-carrier-protein] synthase (n-C18:0)", +"metabolites":{ +"3ooctdACP_c":1.0, +"ACP_c":1.0, +"co2_c":1.0, +"h_c":-1.0, +"malACP_c":-1.0, +"palmACP_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0537", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"ARGDHpp", +"name":"L-arginine oxidoreductase", +"metabolites":{ +"5g2oxpt_p":1, +"arg__L_p":-1, +"h2o2_p":1, +"h2o_p":-1, +"nh4_p":1, +"o2_p":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0946", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"EAR80y", +"name":"Enoyl-[acyl-carrier-protein] reductase (NADH) (n-C8:0)", +"metabolites":{ +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"ocACP_c":1.0, +"toct2eACP_c":-1.0 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0126", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"ERTHMMOR", +"name":"D-erythro-3-methylmalate: NAD oxidoreductase", +"metabolites":{ +"2obut_c":1.0, +"co2_c":1.0, +"nad_c":-1.0, +"nadh_c":1.0, +"r3mmal_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1505", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"PDH", +"name":"Pyruvate dehydrogenase", +"metabolites":{ +"accoa_c":1.0, +"co2_c":1.0, +"coa_c":-1.0, +"nad_c":-1.0, +"nadh_c":1.0, +"pyr_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1068 and Synpcc7942_1198 and Synpcc7942_0143 and Synpcc7942_1944", +"subsystem":"Pyruvate metabolism/TCA Reactions" +}, +{ +"id":"MPML", +"name":"Mg-protoporphyrin IX magnesium-lyase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":3.0, +"mg2_c":-1.0, +"mppp9_c":1.0, +"pi_c":1.0, +"ppp9_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0583 and Synpcc7942_2137 and Synpcc7942_2274", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"USHD2", +"name":"UDP-sugar hydrolase (Synechococcus elongatus 7942)", +"metabolites":{ +"h2o_c":-1.0, +"h_c":2.0, +"lipidX2_c":1.0, +"u23ga2_c":-1, +"ump_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Lipopolysaccharide/O-antigen Biosynthesis" +}, +{ +"id":"TPI", +"name":"Triose-phosphate isomerase", +"metabolites":{ +"dhap_c":-1.0, +"g3p_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1261", +"subsystem":"Glycolysis/Gluconeogenesis" +}, +{ +"id":"DHPPDA", +"name":"Diaminohydroxyphosphoribosylaminopyrimidine deaminase", +"metabolites":{ +"25dhpp_c":-1.0, +"5apru_c":1.0, +"h2o_c":-1.0, +"h_c":-1.0, +"nh4_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0203", +"subsystem":"Cofactor biosynthesis: Riboflavin biosynthesis" +}, +{ +"id":"PRMICI", +"name":"1-(5-phosphoribosyl)-5-[(5-phosphoribosylamino)methylideneamino)imidazole-4-carboxamide isomerase", +"metabolites":{ +"prfp_c":-1.0, +"prlp_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1829", +"subsystem":"Histidine Metabolism" +}, +{ +"id":"CYTBD4um", +"name":"Cytochrome bd oxidase (plastoquinone utilizing, non-proton translocating)", +"metabolites":{ +"h2o_c":2.0, +"h_c":-4.0, +"h_u":4.0, +"o2_c":-1.0, +"pq_um":2.0, +"pqh2_um":-2.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1766 and Synpcc7942_1767", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"DM_co_c", +"name":"Modeling: demand reaction (co_c)", +"metabolites":{ +"co_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Intracellular demand" +}, +{ +"id":"CAT", +"name":"Catalase", +"metabolites":{ +"h2o2_c":-2.0, +"h2o_c":2.0, +"o2_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1656", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"GLUR", +"name":"Glutamate racemase", +"metabolites":{ +"glu__D_c":-1.0, +"glu__L_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2361", +"subsystem":"Murein Biosynthesis/Recycling" +}, +{ +"id":"ALAR", +"name":"Alanine racemase", +"metabolites":{ +"ala__D_c":1.0, +"ala__L_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2201", +"subsystem":"Murein Biosynthesis/Recycling" +}, +{ +"id":"SULR", +"name":"Ferredoxin-sulfite reductase", +"metabolites":{ +"fdxox_c":6.0, +"fdxrd_c":-6.0, +"h2o_c":3.0, +"h2s_c":1.0, +"h_c":-7.0, +"so3_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0019", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"NAt3ipp", +"name":"Sodium transport out via proton antiport (cytoplasm to periplasm)", +"metabolites":{ +"h_c":1.0, +"h_p":-1.0, +"na1_c":-1.0, +"na1_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2359 or Synpcc7942_0811 or Synpcc7942_1264 or Synpcc7942_0546 or Synpcc7942_0307 or Synpcc7942_2394 or Synpcc7942_2186", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"ADCS", +"name":"4-amino-4-deoxychorismate synthase", +"metabolites":{ +"4adcho_c":1.0, +"chor_c":-1.0, +"gln__L_c":-1.0, +"glu__L_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1334", +"subsystem":"Cofactor biosynthesis: Folate biosynthesis" +}, +{ +"id":"UGMDDS", +"name":"UDP-N-acetylmuramoyl-L-alanyl-D-glutamyl-meso-2,6-diaminopimeloyl-D-alanyl-D-alanine synthetase", +"metabolites":{ +"adp_c":1.0, +"alaala_c":-1.0, +"atp_c":-1.0, +"h_c":1.0, +"pi_c":1.0, +"ugmd_c":-1.0, +"ugmda_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1841", +"subsystem":"Murein Biosynthesis/Recycling" +}, +{ +"id":"BIOMASS_CARB", +"name":"Biomass: carbohydrates (storage and misc.)", +"metabolites":{ +"14glucan_c":-4.382, +"bm_carbs_c":1.0, +"glycogen_c":-0.8764 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Biomass and maintenance functions" +}, +{ +"id":"ICDHyr", +"name":"Isocitrate dehydrogenase (NADP)", +"metabolites":{ +"akg_c":1.0, +"co2_c":1.0, +"icit_c":-1.0, +"nadp_c":-1.0, +"nadph_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1719", +"subsystem":"Pyruvate metabolism/TCA Reactions" +}, +{ +"id":"ACHBSb", +"name":"2-aceto-2-hydroxybutanoate synthase (step 2)", +"metabolites":{ +"2ahbut_c":1.0, +"2ahethmpp_c":-1.0, +"2obut_c":-1.0, +"thmpp_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0139 and Synpcc7942_2434", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"MTRI", +"name":"5-methylthioribose-1-phosphate isomerase", +"metabolites":{ +"5mdr1p_c":-1.0, +"5mdru1p_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1992", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"SPMS", +"name":"Spermidine synthase", +"metabolites":{ +"5mta_c":1.0, +"ametam_c":-1.0, +"h_c":1.0, +"ptrc_c":-1.0, +"spmd_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0628", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"AHSERL2", +"name":"O-aceytlhomoserine thiol lyase", +"metabolites":{ +"ac_c":1.0, +"achms_c":-1.0, +"h2s_c":-1.0, +"hcys__L_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0370", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"PEPC", +"name":"Phosphoenolpyruvate carboxylase", +"metabolites":{ +"hco3_c":-1.0, +"oaa_c":1.0, +"pep_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2252", +"subsystem":"Pyruvate metabolism/TCA Reactions" +}, +{ +"id":"PHETA1", +"name":"Phenylalanine transaminase", +"metabolites":{ +"akg_c":-1.0, +"glu__L_c":1.0, +"phe__L_c":-1.0, +"phpyr_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1030", +"subsystem":"Amino acid metabolism: Phenylalanine, Tyrosine, Tryptophan biosynthesis" +}, +{ +"id":"CHORM", +"name":"Chorismate mutase", +"metabolites":{ +"chor_c":-1.0, +"pphn_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1915", +"subsystem":"Amino acid metabolism: Phenylalanine, Tyrosine, Tryptophan biosynthesis" +}, +{ +"id":"GAPD", +"name":"Glyceraldehyde-3-phosphate dehydrogenase", +"metabolites":{ +"13dpg_c":1.0, +"g3p_c":-1.0, +"h_c":1.0, +"nad_c":-1.0, +"nadh_c":1.0, +"pi_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0245 or Synpcc7942_1939", +"subsystem":"Glycolysis/Gluconeogenesis" +}, +{ +"id":"PQH2tcm", +"name":"Plastoquinine insertion into the cytoplasmic membrane", +"metabolites":{ +"pqh2_c":-1.0, +"pqh2_cm":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"CPPPGO", +"name":"Coproporphyrinogen oxidase (O2 required)", +"metabolites":{ +"co2_c":2.0, +"cpppg3_c":-1.0, +"h2o_c":2.0, +"h_c":-2.0, +"o2_c":-1.0, +"pppg9_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0674", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"URIDK2r", +"name":"Uridylate kinase (dUMP)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"dudp_c":1.0, +"dump_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0093", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"OCBT", +"name":"Ornithine carbamoyltransferase", +"metabolites":{ +"cbp_c":-1.0, +"citr__L_c":1.0, +"h_c":1.0, +"orn_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2514", +"subsystem":"Amino acid metabolism: Proline and Arginine metabolism" +}, +{ +"id":"E4PD", +"name":"Erythrose 4-phosphate dehydrogenase", +"metabolites":{ +"4per_c":1.0, +"e4p_c":-1.0, +"h2o_c":-1.0, +"h_c":2.0, +"nad_c":-1.0, +"nadh_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0245 or Synpcc7942_1939", +"subsystem":"Cofactor biosynthesis: Vitamin B6" +}, +{ +"id":"IMDHT_3c2hmp", +"name":"3-isopropylmalate dehydratase, 3-Carboxy-2-hydroxy-4-methylpentanoate forming", +"metabolites":{ +"2ippm_c":-1.0, +"3c2hmp_c":1.0, +"h2o_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1898 and Synpcc7942_2548", +"subsystem":"Amino acid metabolism: Valine, Leucine and Isoleucine biosynthesis" +}, +{ +"id":"GLGC", +"name":"Glucose-1-phosphate adenylyltransferase", +"metabolites":{ +"adpglc_c":1.0, +"atp_c":-1.0, +"g1p_c":-1.0, +"h_c":-1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0603", +"subsystem":"Glycogen and sucrose metabolism" +}, +{ +"id":"PYK", +"name":"Pyruvate kinase", +"metabolites":{ +"adp_c":-1.0, +"atp_c":1.0, +"h_c":-1.0, +"pep_c":-1.0, +"pyr_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0098", +"subsystem":"Pyruvate metabolism/TCA Reactions" +}, +{ +"id":"3HAD120", +"name":"3-hydroxyacyl-[acyl-carrier-protein] dehydratase (n-C12:0)", +"metabolites":{ +"3hddecACP_c":-1.0, +"h2o_c":1.0, +"tddec2eACP_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0930", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"2PGLYCtcx", +"name":"2-phosphoglycolate transport out of the carboxyzome", +"metabolites":{ +"2pglyc_c":1.0, +"2pglyc_cx":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: carboxyzome" +}, +{ +"id":"MPOMOR", +"name":"Magnesium-protoporphyrin-IX 13-monomethyl ester NADPH oxygen oxidoreductase (hydroxylating)", +"metabolites":{ +"dvpchlda_c":1.0, +"h2o_c":2.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0, +"o2_c":-1.0, +"omppp9_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1907", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"3OAS160", +"name":"3-oxoacyl-[acyl-carrier-protein] synthase (n-C16:0)", +"metabolites":{ +"3opalmACP_c":1.0, +"ACP_c":1.0, +"co2_c":1.0, +"h_c":-1.0, +"malACP_c":-1.0, +"myrsACP_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0537", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"IG3PS", +"name":"Imidazole-glycerol-3-phosphate synthase", +"metabolites":{ +"aicar_c":1.0, +"eig3p_c":1.0, +"gln__L_c":-1.0, +"glu__L_c":1.0, +"h_c":1.0, +"prlp_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2087 and Synpcc7942_1481", +"subsystem":"Histidine Metabolism" +}, +{ +"id":"DMPPS_syn", +"name":"1-hydroxy-2-methyl-2-(E)-butenyl 4-diphosphate reductase (dmpp)", +"metabolites":{ +"dmpp_c":1.0, +"h2mb4p_c":-1.0, +"h2o_c":1.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0073", +"subsystem":"Terpenoid Biosynthesis" +}, +{ +"id":"NTRARf2", +"name":"Nitrite reductase (ferredoxin)", +"metabolites":{ +"fdxox_c":2.0, +"fdxrd_c":-2.0, +"h2o_c":1.0, +"h_c":-2.0, +"no2_c":1.0, +"no3_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1235", +"subsystem":"Nitrogen metabolism" +}, +{ +"id":"G6PDA", +"name":"Glucosamine-6-phosphate deaminase", +"metabolites":{ +"f6p_c":1.0, +"gam6p_c":-1.0, +"h2o_c":-1.0, +"nh4_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1103", +"subsystem":"Murein Biosynthesis/Recycling" +}, +{ +"id":"PFK", +"name":"Phosphofructokinase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"f6p_c":-1.0, +"fdp_c":1.0, +"h_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0592", +"subsystem":"Glycolysis/Gluconeogenesis" +}, +{ +"id":"CA2t2pp", +"name":"Calcium (Ca+2) transport out via proton antiport (periplasm)", +"metabolites":{ +"ca2_c":-1.0, +"ca2_p":1.0 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0023", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"DM_5drib_c", +"name":"Modeling: demand reaction (5drib_c)", +"metabolites":{ +"5drib_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Intracellular demand" +}, +{ +"id":"RPI", +"name":"Ribose-5-phosphate isomerase", +"metabolites":{ +"r5p_c":-1.0, +"ru5p__D_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0584", +"subsystem":"Calvin cycle/Pentose phosphate pathway" +}, +{ +"id":"FMNRy", +"name":"FMN reductase NADPH dependent", +"metabolites":{ +"fmn_c":-1.0, +"fmnh2_c":1.0, +"h_c":-2.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0543", +"subsystem":"Cofactor biosynthesis: Riboflavin biosynthesis" +}, +{ +"id":"ANS2", +"name":"Anthranilate synthase", +"metabolites":{ +"anth_c":1.0, +"chor_c":-1.0, +"h2o_c":1.0, +"h_c":1.0, +"nh4_c":-1.0, +"pyr_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0400 and Synpcc7942_1003", +"subsystem":"Amino acid metabolism: Phenylalanine, Tyrosine, Tryptophan biosynthesis" +}, +{ +"id":"GHMT2r", +"name":"Glycine hydroxymethyltransferase, reversible", +"metabolites":{ +"gly_c":1.0, +"h2o_c":1.0, +"mlthf_c":1.0, +"ser__L_c":-1.0, +"thf_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0282", +"subsystem":"Amino acid metabolism: Glycine, Serine and Threonine metabolism" +}, +{ +"id":"BPNT", +"name":"3',5'-bisphosphate nucleotidase", +"metabolites":{ +"amp_c":1.0, +"h2o_c":-1.0, +"pap_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0173 or Synpcc7942_0965", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"PSIIum", +"name":"Photosystem II", +"metabolites":{ +"h2o_u":-2.0, +"h_c":-3.9996, +"h_u":4.0, +"o2_u":1.0, +"p680_exc_um":-4.0, +"p680_um":4.0, +"pq_um":-1.9998, +"pqh2_um":1.9998, +"ps2d1_exc_um":0.0004, +"ps2d1_um":-0.0004 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"(Synpcc7942_0224 and Synpcc7942_0225 and Synpcc7942_0294 and Synpcc7942_0343 and Synpcc7942_0424 and Synpcc7942_0456 and Synpcc7942_0655 and Synpcc7942_0656 and Synpcc7942_0696 and Synpcc7942_0697 and Synpcc7942_0699 and Synpcc7942_0893 and Synpcc7942_1038 and Synpcc7942_1174 and Synpcc7942_1175 and Synpcc7942_1176 and Synpcc7942_1177 and Synpcc7942_1637 and Synpcc7942_1678 and Synpcc7942_1679 and Synpcc7942_1705 and Synpcc7942_1882 and Synpcc7942_1962 and Synpcc7942_2016 and Synpcc7942_2245 and Synpcc7942_2478 and Synpcc7942_2010) or (Synpcc7942_0224 and Synpcc7942_0225 and Synpcc7942_0294 and Synpcc7942_0343 and Synpcc7942_0424 and Synpcc7942_0456 and Synpcc7942_0655 and Synpcc7942_0656 and Synpcc7942_0696 and Synpcc7942_0697 and Synpcc7942_0699 and Synpcc7942_1038 and Synpcc7942_1174 and Synpcc7942_1175 and Synpcc7942_1176 and Synpcc7942_1177 and Synpcc7942_1389 and Synpcc7942_1637 and Synpcc7942_1678 and Synpcc7942_1679 and Synpcc7942_1705 and Synpcc7942_1882 and Synpcc7942_1962 and Synpcc7942_2016 and Synpcc7942_2245 and Synpcc7942_2478 and Synpcc7942_2010)", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"CBFCum", +"name":"Cytb6f complex", +"metabolites":{ +"h_c":-2.0, +"h_u":4.0, +"pccu1p_u":2.0, +"pccu2p_u":-2.0, +"pq_um":1.0, +"pqh2_um":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0113 and Synpcc7942_0475 and Synpcc7942_0322 and Synpcc7942_0323 and Synpcc7942_1478 and Synpcc7942_0511 and Synpcc7942_1231 and Synpcc7942_1232 and Synpcc7942_1479 and Synpcc7942_2331 and Synpcc7942_2332 and Synpcc7942_2426", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"SK_amylose_c", +"name":"Modeling: sink reaction (amylose_c)", +"metabolites":{ +"amylose_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":0, +"gene_reaction_rule":"", +"subsystem":"Intracellular demand" +}, +{ +"id":"SK_14glucan_c", +"name":"Modeling: sink reaction (14glucan_c)", +"metabolites":{ +"14glucan_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":0.0, +"gene_reaction_rule":"", +"subsystem":"Intracellular demand" +}, +{ +"id":"SK_glycogen_c", +"name":"Modeling: sink reaction (glycogen_c)", +"metabolites":{ +"glycogen_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":0.0, +"gene_reaction_rule":"", +"subsystem":"Intracellular demand" +}, +{ +"id":"EX_h2o_e", +"name":"Modeling: exchange reaction (h2o_e)", +"metabolites":{ +"h2o_e":-1.0 +}, +"lower_bound":-100, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_o2_e", +"name":"Modeling: exchange reaction (o2_e)", +"metabolites":{ +"o2_e":-1.0 +}, +"lower_bound":-100, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_co2_e", +"name":"Modeling: exchange reaction (co2_e)", +"metabolites":{ +"co2_e":-1.0 +}, +"lower_bound":-1.99, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_leu__L_e", +"name":"Modeling: exchange reaction (his__L_e)", +"metabolites":{ +"leu__L_e":1 +}, +"lower_bound":0, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_cobalt2_e", +"name":"Modeling: exchange reaction (cobalt2_e)", +"metabolites":{ +"cobalt2_e":-1.0 +}, +"lower_bound":-1.7e-05, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_zn2_e", +"name":"Modeling: exchange reaction (zn2_e)", +"metabolites":{ +"zn2_e":-1.0 +}, +"lower_bound":-7.7e-05, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_so4_e", +"name":"Modeling: exchange reaction (so4_e)", +"metabolites":{ +"so4_e":-1.0 +}, +"lower_bound":-0.03, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_spmd_e", +"name":"Modeling: exchange reaction (spmd_e)", +"metabolites":{ +"spmd_e":-1.0 +}, +"lower_bound":0, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_ca2_e", +"name":"EX_ca2_ext", +"metabolites":{ +"ca2_e":-1.0 +}, +"lower_bound":-0.024, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_nh4_e", +"name":"Modeling: exchange reaction (nh4_e)", +"metabolites":{ +"nh4_e":-1.0 +}, +"lower_bound":-0.0031, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_arg__L_e", +"name":"EX_arg__L_ext", +"metabolites":{ +"arg__L_e":-1.0 +}, +"lower_bound":0, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_gln__L_e", +"name":"Modeling: exchange reaction (gln__L_e)", +"metabolites":{ +"gln__L_e":-1.0 +}, +"lower_bound":0, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_mn2_e", +"name":"Modeling: exchange reaction (mn2_e)", +"metabolites":{ +"mn2_e":-1.0 +}, +"lower_bound":-0.0009, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_hco3_e", +"name":"Modeling: exchange reaction (hco3_e)", +"metabolites":{ +"hco3_e":-1.0 +}, +"lower_bound":-1.99, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_mg2_e", +"name":"Modeling: exchange reaction (mg2_e)", +"metabolites":{ +"mg2_e":-1.0 +}, +"lower_bound":-0.03, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_ptrc_e", +"name":"Modeling: exchange reaction (ptrc_e)", +"metabolites":{ +"ptrc_e":-1.0 +}, +"lower_bound":0, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_fe2_e", +"name":"Modeling: exchange reaction (fe2_e)", +"metabolites":{ +"fe2_e":-1.0 +}, +"lower_bound":0, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_cu2_e", +"name":"Modeling: exchange reaction (cu2_e)", +"metabolites":{ +"cu2_e":-1.0 +}, +"lower_bound":-3e-05, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_k_e", +"name":"Modeling: exchange reaction (k_e)", +"metabolites":{ +"k_e":-1.0 +}, +"lower_bound":-0.046, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_no3_e", +"name":"Modeling: exchange reaction (no3_e)", +"metabolites":{ +"no3_e":-1.0 +}, +"lower_bound":-1.76, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_fe3_e", +"name":"Modeling: exchange reaction (fe3_e)", +"metabolites":{ +"fe3_e":-1.0 +}, +"lower_bound":-0.001, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_mobd_e", +"name":"Modeling: exchange reaction (modb_e)", +"metabolites":{ +"mobd_e":-1.0 +}, +"lower_bound":-0.00016, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_ni2_e", +"name":"Modeling: exchange reaction (ni2_e)", +"metabolites":{ +"ni2_e":-1.0 +}, +"lower_bound":0, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_na1_e", +"name":"Modeling: exchange reaction (na1_e)", +"metabolites":{ +"na1_e":-1.0 +}, +"lower_bound":-1.79854, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_cynt_e", +"name":"Modeling: exchange reaction (cynt_e)", +"metabolites":{ +"cynt_e":-1.0 +}, +"lower_bound":0, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_h_e", +"name":"Modeling: exchange reaction (h_e)", +"metabolites":{ +"h_e":-1.0 +}, +"lower_bound":-100, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"FE3tex", +"name":"Cation transport, Fe3", +"metabolites":{ +"fe3_e":-1.0, +"fe3_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"FE2tex", +"name":"Cation transport, Fe2", +"metabolites":{ +"fe2_e":-1.0, +"fe2_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"NI2tex", +"name":"Cation transport, Ni(2+)", +"metabolites":{ +"ni2_e":-1.0, +"ni2_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"MNtex", +"name":"Cation transport, Mn(2+)", +"metabolites":{ +"mn2_e":-1.0, +"mn2_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"COBALT2tex", +"name":"Cation transport, Cobalt(2+)", +"metabolites":{ +"cobalt2_e":-1.0, +"cobalt2_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"CU2tex", +"name":"Cation transport, Cu(2+)", +"metabolites":{ +"cu2_e":-1.0, +"cu2_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"Zn2tex", +"name":"Cation transport, Zn(2+)", +"metabolites":{ +"zn2_e":-1.0, +"zn2_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"SPMDtex", +"name":"Spermidine transport via diffusion (ext to pps)", +"metabolites":{ +"spmd_e":-1.0, +"spmd_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"LEUtex", +"name":"Histidine transport via diffusion (ext to pps)", +"metabolites":{ +"leu__L_e":-1, +"leu__L_p":1 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"HCO3tex", +"name":"Bicarbonate transport via diffusion (ext to pps)", +"metabolites":{ +"hco3_e":-1.0, +"hco3_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"GLNtex", +"name":"Glutamine transport via diffusion (ext to pps)", +"metabolites":{ +"gln__L_e":-1.0, +"gln__L_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"CYNTtex", +"name":"Cyanate transport via diffusion (ext to pps)", +"metabolites":{ +"cynt_e":-1.0, +"cynt_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"ARGtex", +"name":"Arginine transport via diffusion (ext to pps)", +"metabolites":{ +"arg__L_e":-1.0, +"arg__L_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"MOBDtex", +"name":"Molybdate transport via diffusion (ext to pps)", +"metabolites":{ +"mobd_e":-1.0, +"mobd_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"NH4tex", +"name":"Ammonium transport via diffusion (ext to pps)", +"metabolites":{ +"nh4_e":-1.0, +"nh4_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"SO4tex", +"name":"Sulfate transport via diffusion (ext to pps)", +"metabolites":{ +"so4_e":-1.0, +"so4_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"PTRCtex", +"name":"Putrescine transport via diffusion (ext to pps)", +"metabolites":{ +"ptrc_e":-1.0, +"ptrc_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"NO3tex", +"name":"Nitrate transport via diffusion (ext to pps)", +"metabolites":{ +"no3_e":-1.0, +"no3_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"NAtex", +"name":"Sodium ion transport via diffusion (ext to pps)", +"metabolites":{ +"na1_e":-1.0, +"na1_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"CA2tex", +"name":"Calcium ion transport via diffusion (ext to pps)", +"metabolites":{ +"ca2_e":-1.0, +"ca2_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"Ktex", +"name":"Potassium ion transport via diffusion (ext to pps)", +"metabolites":{ +"k_e":-1.0, +"k_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"CO2tpp", +"name":"Carbon dioxide transport via diffusion (pps to cytosol)", +"metabolites":{ +"co2_c":1.0, +"co2_p":-1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"EX_pi_e", +"name":"Modeling: exchange reaction (pi_e)", +"metabolites":{ +"pi_e":-1.0 +}, +"lower_bound":-0.023, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"PItex", +"name":"Phosphate transport via diffusion (ext to pps)", +"metabolites":{ +"pi_e":-1.0, +"pi_p":1.0 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"MDRPD", +"name":"5-Methylthio-5-deoxy-D-ribulose 1-phosphate dehydratase", +"metabolites":{ +"5mdru1p_c":-1.0, +"dkmpp_c":1.0, +"h2o_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1993", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"ENOPH", +"name":"2,3-Diketo-5-methylthiopentyl-1-phosphate phosphohydrolase", +"metabolites":{ +"dhmtp_c":1.0, +"dkmpp_c":-1.0, +"h2o_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1994", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"ARD", +"name":"1,2-dihydroxy-5-(methylthio)pent-1-en-3-one:oxygen oxidoreductase ", +"metabolites":{ +"2kmb_c":1.0, +"dhmtp_c":-1.0, +"for_c":1.0, +"h_c":2.0, +"o2_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0608", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"UNK3", +"name":"4-Methylthio-2-oxobutanoate transaminase", +"metabolites":{ +"2kmb_c":-1.0, +"akg_c":1.0, +"glu__L_c":-1.0, +"met__L_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1794", +"subsystem":"Amino acid metabolism: Cysteine and Methionine metabolism" +}, +{ +"id":"PHYPQOX", +"name":"15-cis-phytoene:plastoquinone oxidoreductase", +"metabolites":{ +"phyto_c":-1, +"pq_um":-2, +"pqh2_um":2, +"tczcaro_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1983", +"subsystem":"Carotenoid biosynthesis" +}, +{ +"id":"ZISO", +"name":"9,15,9-tricis-zeta-carotene cis-trans-isomerase", +"metabolites":{ +"dczcaro_c":1, +"tczcaro_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1979", +"subsystem":"Carotenoid biosynthesis" +}, +{ +"id":"ZCARDS", +"name":"7,9,9-tricis-neurosporene:quinone oxidoreductase", +"metabolites":{ +"dczcaro_c":-1, +"pq_um":-2, +"pqh2_um":2, +"ttclyco_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1512", +"subsystem":"Carotenoid biosynthesis" +}, +{ +"id":"PLYCOI", +"name":"7,9,7,9-tetracis-lycopene cis-trans-isomerase", +"metabolites":{ +"lyc_c":1, +"ttclyco_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1246 or Synpcc7942_1723 or Synpcc7942_0970", +"subsystem":"Carotenoid biosynthesis" +}, +{ +"id":"CHLADMT", +"name":"Chlorophyll Mg dechelatase", +"metabolites":{ +"cholphya_c":-1, +"h_c":-2, +"mg2_c":1, +"phptna_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"PHEOASE", +"name":"Pheophytin pheophorbide hydrolase", +"metabolites":{ +"h2o_c":-1, +"h_c":1, +"phphbda_c":1, +"phptna_c":-1, +"phytol_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2532", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"PHEOX", +"name":"Pheophorbide a oxygenase", +"metabolites":{ +"fdxox_c":2, +"fdxrd_c":-2, +"h_c":-2, +"o2_c":-1, +"phphbda_c":-1, +"rcc_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2164", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"PHYTK", +"name":"Phytol kinase", +"metabolites":{ +"adp_c":1, +"atp_c":-1, +"cdp_c":1, +"ctp_c":-1, +"h_c":1, +"phdp_c":1, +"phytol_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1043", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"TRNFE", +"name":"Transferrin: NAD+ oxidoreductase", +"metabolites":{ +"fe2_c":2, +"fe3_c":-2, +"h_c":1, +"nad_c":1, +"nadh_c":-1 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"PTHPS", +"name":"6-pyruvoyltetrahydropterin synthase", +"metabolites":{ +"6pthp_c":1, +"ahdt_c":-1, +"pppi_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1184", +"subsystem":"Cofactor biosynthesis: Folate biosynthesis" +}, +{ +"id":"SPR", +"name":"pyruvoyl-tetrahydropterin reductase", +"metabolites":{ +"6pthp_c":-1, +"h_c":-2, +"nadp_c":2, +"nadph_c":-2, +"thbpt_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1819", +"subsystem":"Cofactor biosynthesis: Folate biosynthesis" +}, +{ +"id":"THBTGT", +"name":"UDP-glucose:tetrahydrobiopterin glucosyltransferase", +"metabolites":{ +"gthbpt_c":1, +"h_c":1, +"thbpt_c":-1, +"udp_c":1, +"udpg_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1918", +"subsystem":"Cofactor biosynthesis: Folate biosynthesis" +}, +{ +"id":"NADDP", +"name":"NAD diphosphatase", +"metabolites":{ +"amp_c":1, +"h2o_c":-1, +"h_c":2, +"nad_c":-1, +"nmn_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0205", +"subsystem":"Cofactor biosynthesis: Nicotinate and Nicotinamide metabolism" +}, +{ +"id":"CYSDES", +"name":"Cysteine desulfurase", +"metabolites":{ +"ala__L_c":1, +"cys__L_c":-1, +"h_c":1, +"iscsh_c":-1, +"iscssh_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0450 and Synpcc7942_1929", +"subsystem":"Cofactor biosynthesis: Thiamine (B1)" +}, +{ +"id":"THISAT", +"name":"ThiS adenylyltransferase sulfur carrier protein", +"metabolites":{ +"athis_c":1, +"atp_c":-1, +"h_c":-1, +"ppi_c":1, +"this_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0158 and Synpcc7942_1058", +"subsystem":"Cofactor biosynthesis: Thiamine (B1)" +}, +{ +"id":"THII", +"name":"Thiamine biosynthesis step ThiI", +"metabolites":{ +"amp_c":1, +"athis_c":-1, +"iscsh_c":1, +"iscssh_c":-1, +"nadp_c":1, +"nadph_c":-1, +"thissh_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0158 and Synpcc7942_1058", +"subsystem":"Cofactor biosynthesis: Thiamine (B1)" +}, +{ +"id":"GLYCOX1", +"name":"Glycine oxidase (ThiO)", +"metabolites":{ +"gly_c":-1, +"h2o2_c":1, +"imgly_c":1, +"o2_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2406", +"subsystem":"Cofactor biosynthesis: Thiamine (B1)" +}, +{ +"id":"GLYCOX2", +"name":"Glycine oxidase", +"metabolites":{ +"glx_c":1, +"h2o_c":-1, +"imgly_c":-1, +"nh4_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2406", +"subsystem":"Cofactor biosynthesis: Thiamine (B1)" +}, +{ +"id":"DXYTST", +"name":"1-deoxy-D-xylulose 5-phosphate:thiol sulfurtransferase (ThiG)", +"metabolites":{ +"2c4mthzep_c":1, +"dxyl5p_c":-1, +"h2o_c":2, +"h_c":1, +"imgly_c":-1, +"this_c":1, +"thissh_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0576", +"subsystem":"Cofactor biosynthesis: Thiamine (B1)" +}, +{ +"id":"THZT", +"name":"Thiazole tautomerase (TenI)", +"metabolites":{ +"2c4mthzep_c":-1, +"cthzp_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1057", +"subsystem":"Cofactor biosynthesis: Thiamine (B1)" +}, +{ +"id":"SHS1", +"name":"Siroheme synthsis", +"metabolites":{ +"ahcys_c":2, +"amet_c":-2, +"fe2_c":-1, +"h_c":5, +"nad_c":-1, +"nadh_c":1, +"sheme_c":1, +"uppg3_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2610 and Synpcc7942_2611", +"subsystem":"Cofactor biosynthesis: Vitamin B12" +}, +{ +"id":"MALCOAMT", +"name":"Malonyl-CoA methyltransferase", +"metabolites":{ +"ahcys_c":1, +"amet_c":-1, +"malcoa_c":-1, +"malcoame_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0029", +"subsystem":"Cofactor biosynthesis: Biotin biosynthesis" +}, +{ +"id":"OGMEACPS", +"name":"3-Oxo-glutaryl-[ACP] methyl ester synthase", +"metabolites":{ +"co2_c":1, +"coa_c":1, +"h_c":-1, +"malACP_c":-1, +"malcoame_c":-1, +"ogmeACP_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0537", +"subsystem":"Cofactor biosynthesis: Biotin biosynthesis" +}, +{ +"id":"OGMEACPR", +"name":"3-Oxo-glutaryl-[ACP] methyl ester reductase", +"metabolites":{ +"h_c":-1, +"hgmeACP_c":1, +"nadp_c":1, +"nadph_c":-1, +"ogmeACP_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0684", +"subsystem":"Cofactor biosynthesis: Biotin biosynthesis" +}, +{ +"id":"OGMEACPD", +"name":"3-Oxo-glutaryl-[ACP] methyl ester dehydratase", +"metabolites":{ +"egmeACP_c":1, +"h2o_c":1, +"hgmeACP_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0930", +"subsystem":"Cofactor biosynthesis: Biotin biosynthesis" +}, +{ +"id":"EGMEACPR", +"name":"Enoylglutaryl-[ACP] methyl ester reductase", +"metabolites":{ +"egmeACP_c":-1, +"gmeACP_c":1, +"h_c":-1, +"nadp_c":1, +"nadph_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0126", +"subsystem":"Cofactor biosynthesis: Biotin biosynthesis" +}, +{ +"id":"OPMEACPS", +"name":"3-Oxo-pimeloyl-[ACP] methyl ester synthase", +"metabolites":{ +"ACP_c":1, +"co2_c":1, +"gmeACP_c":-1, +"h_c":-1, +"malACP_c":-1, +"opmeACP_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0537", +"subsystem":"Cofactor biosynthesis: Biotin biosynthesis" +}, +{ +"id":"OPMEACPR", +"name":"3-Oxo-pimeloyl-[ACP] methyl ester reductase", +"metabolites":{ +"h_c":-1, +"hpmeACP_c":1, +"nadp_c":1, +"nadph_c":-1, +"opmeACP_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0684", +"subsystem":"Cofactor biosynthesis: Biotin biosynthesis" +}, +{ +"id":"OPMEACPD", +"name":"3-Oxo-pimeloyl-[ACP] methyl ester dehydratase", +"metabolites":{ +"epmeACP_c":1, +"h2o_c":1, +"hpmeACP_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0930", +"subsystem":"Cofactor biosynthesis: Biotin biosynthesis" +}, +{ +"id":"EPMEACPR", +"name":"Enoylpimeloyl-[ACP] methyl ester reductase", +"metabolites":{ +"epmeACP_c":-1, +"h_c":-1, +"nadp_c":1, +"nadph_c":-1, +"pmeACP_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0126", +"subsystem":"Cofactor biosynthesis: Biotin biosynthesis" +}, +{ +"id":"PMEACPE", +"name":"Pimeloyl-[ACP] methyl ester esterase", +"metabolites":{ +"h2o_c":-1, +"meoh_c":1, +"pimACP_c":1, +"pmeACP_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0028", +"subsystem":"Cofactor biosynthesis: Biotin biosynthesis" +}, +{ +"id":"AOXSr2", +"name":"8-amino-7-oxononanoate synthase", +"metabolites":{ +"8aonn_c":1, +"ACP_c":1, +"ala__L_c":-1, +"co2_c":1, +"pimACP_c":-1 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0027", +"subsystem":"Cofactor biosynthesis: Biotin biosynthesis" +}, +{ +"id":"AMAOTr", +"name":"Adenosylmethionine-8-amino-7-oxononanoate transaminase", +"metabolites":{ +"8aonn_c":-1, +"amet_c":-1, +"amob_c":1, +"dann_c":1 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0031", +"subsystem":"Cofactor biosynthesis: Biotin biosynthesis" +}, +{ +"id":"DBTS", +"name":"Dethiobiotin synthase", +"metabolites":{ +"adp_c":1, +"atp_c":-1, +"co2_c":-1, +"dann_c":-1, +"dtbt_c":1, +"h_c":3, +"pi_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0030", +"subsystem":"Cofactor biosynthesis: Biotin biosynthesis" +}, +{ +"id":"BTS6", +"name":"Biotin synthase", +"metabolites":{ +"ala__L_c":1, +"amet_c":-1, +"btn_c":1, +"cys__L_c":-1, +"dad_5_c":1, +"dtbt_c":-1, +"h_c":1, +"met__L_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0419 and Synpcc7942_0450 and Synpcc7942_1734 and Synpcc7942_1735 and Synpcc7942_1736 and Synpcc7942_1737 and Synpcc7942_1738", +"subsystem":"Cofactor biosynthesis: Biotin biosynthesis" +}, +{ +"id":"BACCL", +"name":"Biotin acetyl CoA carboxylase ligase", +"metabolites":{ +"atp_c":-1, +"btamp_c":1, +"btn_c":-1, +"h_c":-1, +"ppi_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0345", +"subsystem":"Cofactor biosynthesis: Biotin biosynthesis" +}, +{ +"id":"BTNPL2", +"name":"Holocarboxylase synthestase (biotin protein ligase)", +"metabolites":{ +"accp_c":-1, +"amp_c":1, +"btamp_c":-1, +"btnCCP_c":1, +"h_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0345", +"subsystem":"Cofactor biosynthesis: Biotin biosynthesis" +}, +{ +"id":"LIPOCT", +"name":"Lipoyl(octanoyl) transferase", +"metabolites":{ +"ACP_c":1, +"h_c":-1, +"ocACP_c":-1, +"octapb_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0542 or Synpcc7942_1507", +"subsystem":"Cofactor biosynthesis: Lipoate biosynthesis" +}, +{ +"id":"LIPOS2", +"name":"Lipoate synthase", +"metabolites":{ +"ala__L_c":2, +"amet_c":-2, +"cys__L_c":-2, +"dad_5_c":2, +"fdxox_c":2, +"fdxrd_c":-2, +"lipopb_c":1, +"met__L_c":2, +"octapb_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2353 and Synpcc7942_1929 and Synpcc7942_0450", +"subsystem":"Cofactor biosynthesis: Lipoate biosynthesis" +}, +{ +"id":"LIPATPT", +"name":"Lipoate-ATP adenylate transferase", +"metabolites":{ +"atp_c":-1, +"h_c":-1, +"lipamp_c":1, +"lipoate_c":-1, +"ppi_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1411", +"subsystem":"Cofactor biosynthesis: Lipoate biosynthesis" +}, +{ +"id":"LIPAMPL", +"name":"Lipoyl-adenylate protein ligase", +"metabolites":{ +"amp_c":1, +"lipamp_c":-1, +"lipopb_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1411", +"subsystem":"Cofactor biosynthesis: Lipoate biosynthesis" +}, +{ +"id":"MEOHtpp", +"name":"Methanol reversible transport via diffusion (periplasm)", +"metabolites":{ +"meoh_c":-1, +"meoh_p":1 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Cofactor biosynthesis: Lipoate biosynthesis" +}, +{ +"id":"MEOHtex", +"name":"Methanol reversible transport via diffusion (extracellular to periplasm)", +"metabolites":{ +"meoh_e":1, +"meoh_p":-1 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Cofactor biosynthesis: Lipoate biosynthesis" +}, +{ +"id":"DM_amob_c", +"name":"Sink needed to allow S-Adenosyl-4-methylthio-2-oxobutanoate to leave system", +"metabolites":{ +"amob_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Intracellular demand" +}, +{ +"id":"AGTi", +"name":"Alanine glyoxylate aminotransferase", +"metabolites":{ +"ala__L_c":-1, +"glx_c":-1, +"gly_c":1, +"pyr_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2160", +"subsystem":"Photorespiration/Glyoxylate Degredation" +}, +{ +"id":"ADNK1", +"name":"Adenosine kinase", +"metabolites":{ +"adn_c":-1, +"adp_c":1, +"amp_c":1, +"atp_c":-1, +"h_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"CPH4S", +"name":"6-carboxy-5,6,7,8-tetrahydropterin synthase", +"metabolites":{ +"acald_c":1, +"ahdt_c":-1, +"cph4_c":1, +"h2o_c":-1, +"h_c":1, +"pppi_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1953", +"subsystem":"tRNA modification: queuosine" +}, +{ +"id":"CDGS", +"name":"7-deaza-7-carboxyguanine synthase", +"metabolites":{ +"cdg_c":1, +"cph4_c":-1, +"h_c":-1, +"nh4_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1332", +"subsystem":"tRNA modification: queuosine" +}, +{ +"id":"CCGS", +"name":"7-cyano-7-carbaguanine synthase", +"metabolites":{ +"adp_c":1, +"atp_c":-1, +"cdg_c":-1, +"h2o_c":1, +"h_c":1, +"nh4_c":-1, +"pi_c":1, +"preq0_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1333", +"subsystem":"tRNA modification: queuosine" +}, +{ +"id":"CDGR", +"name":"7-cyano-7-deazaguanine reductase", +"metabolites":{ +"h_c":-3, +"nadp_c":2, +"nadph_c":-2, +"preq0_c":-1, +"preq1_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1844", +"subsystem":"tRNA modification: queuosine" +}, +{ +"id":"QUERT", +"name":"Querine tRNA-ribosyltransferase", +"metabolites":{ +"preq1_c":-1, +"preqtrna_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0455", +"subsystem":"tRNA modification: queuosine" +}, +{ +"id":"SAMTRI", +"name":"S-adenosylmethionine:tRNA ribosyltransferase-isomerase", +"metabolites":{ +"ade_c":1, +"amet_c":-1, +"epxqtrna_c":1, +"h_c":1, +"met__L_c":1, +"preqtrna_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2348", +"subsystem":"tRNA modification: queuosine" +}, +{ +"id":"EPXQR", +"name":"Epoxyqueuosine reductase", +"metabolites":{ +"epxqtrna_c":-1, +"h2o_c":1, +"h_c":-1, +"nadp_c":1, +"nadph_c":-1, +"quetrna_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0530", +"subsystem":"tRNA modification: queuosine" +}, +{ +"id":"UPPRT", +"name":"Uracil phosphoribosyltransferase", +"metabolites":{ +"ppi_c":1, +"prpp_c":-1, +"ump_c":1, +"ura_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1715", +"subsystem":"Purine and Pyrimidine Biosynthesis" +}, +{ +"id":"UDPGD", +"name":"UDPglucose 6-dehydrogenase", +"metabolites":{ +"h2o_c":-1, +"h_c":3, +"nad_c":-2, +"nadh_c":2, +"udpg_c":-1, +"udpglcur_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0973", +"subsystem":"Nucleotide sugar metabolism" +}, +{ +"id":"UDPGLDC", +"name":"UDP-D-glucuronate decarboxylase", +"metabolites":{ +"co2_c":1, +"h_c":-1, +"udpglcur_c":-1, +"udpxyl_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1149", +"subsystem":"Nucleotide sugar metabolism" +}, +{ +"id":"GMAND", +"name":"GDP-D-mannose dehydratase", +"metabolites":{ +"gdpddman_c":1, +"gdpmann_c":-1, +"h2o_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1342", +"subsystem":"Nucleotide sugar metabolism" +}, +{ +"id":"GFUCS", +"name":"GDP-L-fucose synthase", +"metabolites":{ +"gdpddman_c":-1, +"gdpfuc_c":1, +"h_c":-1, +"nadp_c":1, +"nadph_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1700", +"subsystem":"Nucleotide sugar metabolism" +}, +{ +"id":"ALCD19", +"name":"Alcohol dehydrogenase (glycerol)", +"metabolites":{ +"glyald_c":-1, +"glyc_c":1, +"h_c":-1, +"nad_c":1, +"nadh_c":-1 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2285 or Synpcc7942_1653", +"subsystem":"Glycolysis/Gluconeogenesis" +}, +{ +"id":"CDPGLC46DH", +"name":"CDP glucose 4 6 dehydratase", +"metabolites":{ +"cdp4dh6doglc_c":1, +"cdpglc_c":-1, +"h2o_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0061", +"subsystem":"Nucleotide sugar metabolism" +}, +{ +"id":"SPP", +"name":"Sucrose-phosphate phosphatase", +"metabolites":{ +"h2o_c":-1, +"pi_c":1, +"suc6p_c":-1, +"sucr_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0808", +"subsystem":"Glycogen and sucrose metabolism" +}, +{ +"id":"NDH-1(2)um", +"name":"NAD(P)H dehydrogenase (plastoquinone-8 & 4 protons)( Thylakoid)", +"metabolites":{ +"fdxox_c":2, +"fdxrd_c":-2, +"h_c":-5.0, +"h_u":3.0, +"pq_um":-1.0, +"pqh2_um":1.0 +}, +"lower_bound":0.0, +"upper_bound":0.0, +"gene_reaction_rule":"Synpcc7942_1343 and Synpcc7942_1415 and Synpcc7942_1180 and Synpcc7942_1346 and Synpcc7942_1345 and Synpcc7942_1743 and Synpcc7942_1344 and Synpcc7942_1182 and Synpcc7942_1181 and Synpcc7942_0413 and Synpcc7942_2234 and Synpcc7942_1982 and Synpcc7942_2487 and Synpcc7942_2257 and Synpcc7942_1908 and Synpcc7942_1106 and Synpcc7942_1977 and Synpcc7942_0668 and Synpcc7942_0491 and Synpcc7942_1976", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"NDH-1(3)um", +"name":"NAD(P)H dehydrogenase, carbon dioxide coupled (plastoquinone-8 & 4 protons)( Thylakoid)", +"metabolites":{ +"co2_c":-1.0, +"fdxox_c":2, +"fdxrd_c":-2, +"h2o_c":-1.0, +"h_c":-4.0, +"h_u":3.0, +"hco3_c":1.0, +"pq_um":-1.0, +"pqh2_um":1.0 +}, +"lower_bound":0.0, +"upper_bound":0.0, +"gene_reaction_rule":"Synpcc7942_1343 and Synpcc7942_1415 and Synpcc7942_1180 and Synpcc7942_1346 and Synpcc7942_1345 and Synpcc7942_1743 and Synpcc7942_1344 and Synpcc7942_1182 and Synpcc7942_1181 and Synpcc7942_0413 and Synpcc7942_2234 and Synpcc7942_1982 and Synpcc7942_2487 and Synpcc7942_2257 and Synpcc7942_1908 and Synpcc7942_1106 and Synpcc7942_0609 and Synpcc7942_0309 and Synpcc7942_0308", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"KAS15", +"name":"Beta-ketoacyl-ACP synthase (2)", +"metabolites":{ +"accoa_c":-1, +"actACP_c":1.0, +"co2_c":1.0, +"coa_c":1, +"h_c":-1.0, +"malACP_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1455", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"AACPS6", +"name":"Acyl-[acyl-carrier-protein] synthetase (n-C18:0)", +"metabolites":{ +"ACP_c":-1, +"amp_c":1, +"atp_c":-1, +"ocdcaACP_c":1, +"ocdca_c":-1, +"ppi_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0918", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"ALDR18", +"name":"Aldehyde reductase octadecanal NADP", +"metabolites":{ +"ACP_c":1, +"h_c":-1, +"nadp_c":1, +"nadph_c":-1, +"ocdcaACP_c":-1, +"ocdcal_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1594", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"ALDDC17", +"name":"Aldehyde decarbonylase- C17 forming", +"metabolites":{ +"for_c":1, +"h2o_c":1, +"h_c":-1, +"hpdcn_c":1, +"nadp_c":2, +"nadph_c":-2, +"o2_c":-1, +"ocdcal_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1593", +"subsystem":"Fatty acid biosynthesis" +}, +{ +"id":"G3PAT160", +"name":"glycerol-3-phosphate: acyl-ACP acyltransferase (16:0)", +"metabolites":{ +"1hdecg3p_c":1.0, +"ACP_c":1.0, +"glyc3p_c":-1.0, +"palmACP_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2057 and Synpcc7942_1454", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"G3PAT161", +"name":"glycerol-3-phosphate: acyl-ACP acyltransferase (16:1(9Z))", +"metabolites":{ +"1hdec9eg3p_c":1.0, +"ACP_c":1.0, +"glyc3p_c":-1.0, +"hdeACP_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2057 and Synpcc7942_1454", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"G3PAT1819Z", +"name":"glycerol-3-phosphate: acyl-ACP acyltransferase (18:1(9Z))", +"metabolites":{ +"1odec9eg3p_c":1.0, +"ACP_c":1.0, +"glyc3p_c":-1.0, +"octe9ACP_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2057 and Synpcc7942_1454", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"AGPAT160", +"name":"1-Hexadecanoyl-sn-glycerol-3-phosphate O-acyltransferase (16:0) (ACP Substrate)", +"metabolites":{ +"1hdecg3p_c":-1.0, +"ACP_c":1.0, +"pa160_c":1.0, +"palmACP_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1457", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"AGPATACP_HDE_PALM", +"name":"1-9-Hexadecenoyl-sn-glycerol-3-phosphate O-acyltransferase (16:0) (ACP Substrate)", +"metabolites":{ +"1hdec9eg3p_c":-1.0, +"ACP_c":1.0, +"pa1619Z160_c":1.0, +"palmACP_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1457", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"AGPAT161", +"name":"1-9-Hexadecenoyl-sn-glycerol-3-phosphate O-acyltransferase (16:1(9Z)) (ACP Substrate)", +"metabolites":{ +"1hdec9eg3p_c":-1.0, +"ACP_c":1.0, +"hdeACP_c":-1.0, +"pa161_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1457", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"AGPATACP_OLE_HDE", +"name":"1-9-Octadecenoyl-sn-glycerol-3-phosphate O-acyltransferase (16:1(9Z)) (ACP Substrate)", +"metabolites":{ +"1odec9eg3p_c":-1.0, +"ACP_c":1.0, +"hdeACP_c":-1.0, +"pa1819Z1619Z_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1457", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"AGPATACP_OLE_PALM", +"name":"1-9-Octadecenoyl-sn-glycerol-3-phosphate O-acyltransferase (16:0) (ACP Substrate)", +"metabolites":{ +"1odec9eg3p_c":-1.0, +"ACP_c":1.0, +"pa1819Z160_c":1.0, +"palmACP_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1457", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"PAPA160", +"name":"Phosphatidate phosphatase (16:0/16:0)", +"metabolites":{ +"12dgr160_c":1.0, +"h2o_c":-1.0, +"pa160_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0775", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"PAPA_HDE_PALM", +"name":"Phosphatidate phosphatase(16:1(9Z)/16:0)", +"metabolites":{ +"12dgr1619Z160_c":1.0, +"h2o_c":-1.0, +"pa1619Z160_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0775", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"PAPA161", +"name":"Phosphatidate phosphatase(16:1(9Z)/16:1(9Z))", +"metabolites":{ +"12dgr161_c":1.0, +"h2o_c":-1.0, +"pa161_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0775", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"PAPA_OLE_HDE", +"name":"Phosphatidate phosphatase(18:1(9Z)/16:1(9Z))", +"metabolites":{ +"12dgr1819Z1619Z_c":1.0, +"h2o_c":-1.0, +"pa1819Z1619Z_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0775", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"PAPA_OLE_PALM", +"name":"Phosphatidate phosphatase(18:1(9Z)/16:0)", +"metabolites":{ +"12dgr1819Z160_c":1.0, +"h2o_c":-1.0, +"pa1819Z160_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0775", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"SQDGS_PALM_PALM", +"name":"Sulfoquinovosyldiacylglycerol synthase(16:0/16:0)", +"metabolites":{ +"12dgr160_c":-1.0, +"h_c":1.0, +"sqdg160_c":1.0, +"udp_c":1.0, +"udpsq_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0579", +"subsystem":"Sulfolipid biosynthesis" +}, +{ +"id":"SQDGS_HDE_PALM", +"name":"Sulfoquinovosyldiacylglycerol synthase(16:1(9Z)/16:0)", +"metabolites":{ +"12dgr1619Z160_c":-1.0, +"h_c":1.0, +"sqdg1619Z160_c":1.0, +"udp_c":1.0, +"udpsq_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0579", +"subsystem":"Sulfolipid biosynthesis" +}, +{ +"id":"DGDGS_HDE_PALM", +"name":"UDP-galactose-dependent DGDG synthase(16:1(9Z)/16:0)", +"metabolites":{ +"dgdg1619Z160_c":1.0, +"h_c":1.0, +"mgdg1619Z160_c":-1.0, +"udp_c":1.0, +"udpgal_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0986", +"subsystem":"Galactoglycerolipid metabolism" +}, +{ +"id":"DGDGS_HDE_HDE", +"name":"UDP-galactose-dependent DGDG synthase(16:1(9Z)/16:1(9Z))", +"metabolites":{ +"dgdg161_c":1.0, +"h_c":1.0, +"mgdg161_c":-1.0, +"udp_c":1.0, +"udpgal_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0986", +"subsystem":"Galactoglycerolipid metabolism" +}, +{ +"id":"DGDGS_OLE_HDE", +"name":"UDP-galactose-dependent DGDG synthase(18:1(9Z)/16:1(9Z))", +"metabolites":{ +"dgdg1819Z1619Z_c":1.0, +"h_c":1.0, +"mgdg1819Z1619Z_c":-1.0, +"udp_c":1.0, +"udpgal_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0986", +"subsystem":"Galactoglycerolipid metabolism" +}, +{ +"id":"CDPDAGS_OLE_PALM", +"name":"CDP-diacylglycerol synthase (18:1(9Z)/16:0)", +"metabolites":{ +"cdp12dgr1819Z160_c":1.0, +"ctp_c":-1.0, +"h_c":-1.0, +"pa1819Z160_c":-1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0394", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"PGPS_OLE_PALM", +"name":"Phosphatidylglycerol phosphate synthetase (18:1(9Z)/16:0)", +"metabolites":{ +"cdp12dgr1819Z160_c":-1.0, +"cmp_c":1.0, +"glyc3p_c":-1.0, +"h_c":1.0, +"pgp1819Z160_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1825", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"PGPP_OLE_PALM", +"name":"Phosphatidylglycerol phosphate phosphatase (18:1(9Z)/16:0)", +"metabolites":{ +"h2o_c":-1.0, +"pg1819Z160_c":1.0, +"pgp1819Z160_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"DAGK160", +"name":"Diacylglycerol kinase(16:0/16:0)", +"metabolites":{ +"12dgr160_c":-1.0, +"adp_c":1.0, +"atp_c":-1.0, +"h_c":1.0, +"pa160_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0401", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"DAGK_HDE_PALM", +"name":"Diacylglycerol kinase(16:1(9Z)/16:0)", +"metabolites":{ +"12dgr1619Z160_c":-1.0, +"adp_c":1.0, +"atp_c":-1.0, +"h_c":1.0, +"pa1619Z160_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0401", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"DAGK161", +"name":"Diacylglycerol kinase(16:1(9Z)/16:1(9Z))", +"metabolites":{ +"12dgr161_c":-1.0, +"adp_c":1.0, +"atp_c":-1.0, +"h_c":1.0, +"pa161_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0401", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"DAGK_OLE_HDE", +"name":"Diacylglycerol kinase(18:1(9Z)/16:1(9Z))", +"metabolites":{ +"12dgr1819Z1619Z_c":-1.0, +"adp_c":1.0, +"atp_c":-1.0, +"h_c":1.0, +"pa1819Z1619Z_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0401", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"DAGK_OLE_PALM", +"name":"Diacylglycerol kinase(18:1(9Z)/16:0)", +"metabolites":{ +"12dgr1819Z160_c":-1.0, +"adp_c":1.0, +"atp_c":-1.0, +"h_c":1.0, +"pa1819Z160_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0401", +"subsystem":"Phosphoglycerolipid metabolism" +}, +{ +"id":"GLUDGS_HDE_PALM", +"name":"Monoglucosyldiacylglycerol synthase(16:1(9Z)/16:0)", +"metabolites":{ +"12dgr1619Z160_c":-1.0, +"glcdg1619Z160_c":1, +"h_c":1, +"udp_c":1, +"udpg_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1083", +"subsystem":"Galactoglycerolipid metabolism" +}, +{ +"id":"GLUDGE_HDE_PALM", +"name":"Monoglucosyldiacylglycerol epimerase(16:1(9Z)/16:0)", +"metabolites":{ +"glcdg1619Z160_c":-1, +"mgdg1619Z160_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0861", +"subsystem":"Galactoglycerolipid metabolism" +}, +{ +"id":"GLUDGS_HDE_HDE", +"name":"Monoglucosyldiacylglycerol synthase(16:1(9Z)/16:1(9Z))", +"metabolites":{ +"12dgr161_c":-1.0, +"glcdg161_c":1, +"h_c":1, +"udp_c":1, +"udpg_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1083", +"subsystem":"Galactoglycerolipid metabolism" +}, +{ +"id":"GLUDGE_HDE_HDE", +"name":"Monoglucosyldiacylglycerol epimerase(16:1(9Z)/16:1(9Z))", +"metabolites":{ +"glcdg161_c":-1, +"mgdg161_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0861", +"subsystem":"Galactoglycerolipid metabolism" +}, +{ +"id":"GLUDGS_OLE_HDE", +"name":"Monoglucosyldiacylglycerol synthase(18:1(9Z)/16:1(9Z))", +"metabolites":{ +"12dgr1819Z1619Z_c":-1.0, +"glcdg1819Z1619Z_c":1, +"h_c":1, +"udp_c":1, +"udpg_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1083", +"subsystem":"Galactoglycerolipid metabolism" +}, +{ +"id":"GLUDGE_OLE_HDE", +"name":"Monoglucosyldiacylglycerol epimerase(18:1(9Z)/16:1(9Z))", +"metabolites":{ +"glcdg1819Z1619Z_c":-1, +"mgdg1819Z1619Z_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0861", +"subsystem":"Galactoglycerolipid metabolism" +}, +{ +"id":"GLUDGS_OLE_PALM", +"name":"Monoglucosyldiacylglycerol synthase(18:1(9Z)/16:0)", +"metabolites":{ +"12dgr1819Z160_c":-1.0, +"glcdg1819Z160_c":1, +"h_c":1, +"udp_c":1, +"udpg_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1083", +"subsystem":"Galactoglycerolipid metabolism" +}, +{ +"id":"GLUDGE_OLE_PALM", +"name":"Monoglucosyldiacylglycerol epimerase(18:1(9Z)/16:0)", +"metabolites":{ +"glcdg1819Z160_c":-1, +"mgdg1819Z160_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0861", +"subsystem":"Galactoglycerolipid metabolism" +}, +{ +"id":"DGDGS_OLE_PALM", +"name":"UDP-galactose-dependent DGDG synthase(18:1(9Z)/16:0)", +"metabolites":{ +"dgdg1819Z160Z_c":1, +"h_c":1, +"mgdg1819Z160_c":-1, +"udp_c":1, +"udpgal_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0986", +"subsystem":"Galactoglycerolipid metabolism" +}, +{ +"id":"H2Otcx", +"name":"H2O transport into CAX (diffusion)", +"metabolites":{ +"h2o_c":-1, +"h2o_cx":1 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: carboxyzome" +}, +{ +"id":"GLNTRS", +"name":"Glutamine-tRNA ligase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"gln__L_c":-1.0, +"glntrna_c":1.0, +"ppi_c":1.0, +"trnagln_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0118 and Synpcc7942_2117 and Synpcc7942_2322 and Synpcc7942_2393", +"subsystem":"tRNA Charging" +}, +{ +"id":"TYRTRS", +"name":"Tyrosine-tRNA ligase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"ppi_c":1.0, +"trnatyr_c":-1.0, +"tyr__L_c":-1.0, +"tyrtrna_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2570", +"subsystem":"tRNA Charging" +}, +{ +"id":"METTRS", +"name":"Methionine-tRNA ligase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"met__L_c":-1.0, +"mettrna_c":1.0, +"ppi_c":1.0, +"trnamet_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1142", +"subsystem":"tRNA Charging" +}, +{ +"id":"SERTRS", +"name":"Serine-tRNA ligase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"ppi_c":1.0, +"ser__L_c":-1.0, +"sertrna_c":1.0, +"trnaser_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0449", +"subsystem":"tRNA Charging" +}, +{ +"id":"GLYTRS", +"name":"Glycine-tRNA ligase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"gly_c":-1.0, +"glytrna_c":1.0, +"ppi_c":1.0, +"trnagly_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0018 and Synpcc7942_2457", +"subsystem":"tRNA Charging" +}, +{ +"id":"PROTRS", +"name":"Proline-tRNA ligase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"ppi_c":1.0, +"pro__L_c":-1.0, +"protrna_c":1.0, +"trnapro_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1959", +"subsystem":"tRNA Charging" +}, +{ +"id":"CYSTRS", +"name":"Cysteine-tRNA ligase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"cys__L_c":-1.0, +"cystrna_c":1.0, +"ppi_c":1.0, +"trnacys_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1662", +"subsystem":"tRNA Charging" +}, +{ +"id":"ARGTRS", +"name":"Arginine-tRNA ligase", +"metabolites":{ +"amp_c":1.0, +"arg__L_c":-1.0, +"argtrna_c":1.0, +"atp_c":-1.0, +"ppi_c":1.0, +"trnaarg_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1577", +"subsystem":"tRNA Charging" +}, +{ +"id":"TRPTRS", +"name":"Tryptophane-tRNA ligase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"ppi_c":1.0, +"trnatrp_c":-1.0, +"trp__L_c":-1.0, +"trptrna_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1308", +"subsystem":"tRNA Charging" +}, +{ +"id":"PHETRS", +"name":"Phenylalanine-tRNA ligase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"phe__L_c":-1.0, +"phetrna_c":1.0, +"ppi_c":1.0, +"trnaphe_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1293 and Synpcc7942_2064", +"subsystem":"tRNA Charging" +}, +{ +"id":"HISTRS", +"name":"Histidine-tRNA ligase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"his__L_c":-1.0, +"histrna_c":1.0, +"ppi_c":1.0, +"trnahis_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2263", +"subsystem":"tRNA Charging" +}, +{ +"id":"ASNTRS", +"name":"Asparagine-tRNA ligase", +"metabolites":{ +"amp_c":1.0, +"asn__L_c":-1.0, +"asntrna_c":1.0, +"atp_c":-1.0, +"ppi_c":1.0, +"trnaasn_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0830", +"subsystem":"tRNA Charging" +}, +{ +"id":"ASPTRS", +"name":"Aspartate-tRNA ligase", +"metabolites":{ +"amp_c":1.0, +"asp__L_c":-1.0, +"asptrna_c":1.0, +"atp_c":-1.0, +"ppi_c":1.0, +"trnaasp_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1313", +"subsystem":"tRNA Charging" +}, +{ +"id":"THRTRS", +"name":"Threonine-tRNA ligase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"ppi_c":1.0, +"thr__L_c":-1.0, +"thrtrna_c":1.0, +"trnathr_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2606", +"subsystem":"tRNA Charging" +}, +{ +"id":"LEUTRS", +"name":"Leucine-tRNA ligase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"leu__L_c":-1.0, +"leutrna_c":1.0, +"ppi_c":1.0, +"trnaleu_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1920", +"subsystem":"tRNA Charging" +}, +{ +"id":"ILETRS", +"name":"Isoleucine-tRNA ligase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"ile__L_c":-1.0, +"iletrna_c":1.0, +"ppi_c":1.0, +"trnaile_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2437", +"subsystem":"tRNA Charging" +}, +{ +"id":"LYSTRS", +"name":"Lysine-tRNA ligase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"lys__L_c":-1.0, +"lystrna_c":1.0, +"ppi_c":1.0, +"trnalys_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2415", +"subsystem":"tRNA Charging" +}, +{ +"id":"ALATRS", +"name":"Alanine-tRNA ligase", +"metabolites":{ +"ala__L_c":-1.0, +"alatrna_c":1.0, +"amp_c":1.0, +"atp_c":-1.0, +"ppi_c":1.0, +"trnaala_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0876", +"subsystem":"tRNA Charging" +}, +{ +"id":"VALTRS", +"name":"Valine-tRNA ligase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"ppi_c":1.0, +"trnaval_c":-1.0, +"val__L_c":-1.0, +"valtrna_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0587", +"subsystem":"tRNA Charging" +}, +{ +"id":"FMETTRS", +"name":"Methionyl-tRNA formyltransferase", +"metabolites":{ +"10fthf_c":-1.0, +"fmettrna_c":1.0, +"h_c":1.0, +"mettrna_c":-1.0, +"thf_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2110", +"subsystem":"tRNA Charging" +}, +{ +"id":"EX_photon410_e", +"name":"Modeling: exchange reaction, photon absorption (400nm-420nm)", +"metabolites":{ +"photon410_e":-1 +}, +"lower_bound":-1000, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_photon430_e", +"name":"Modeling: exchange reaction, photon absorption (420nm-440nm) ", +"metabolites":{ +"photon430_e":-1 +}, +"lower_bound":-1000, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_photon450_e", +"name":"Modeling: exchange reaction, photon absorption (440nm-460nm) ", +"metabolites":{ +"photon450_e":-1 +}, +"lower_bound":-1000, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_photon470_e", +"name":"Modeling: exchange reaction, photon absorption (460nm-480nm) ", +"metabolites":{ +"photon470_e":-1 +}, +"lower_bound":-1000, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_photon490_e", +"name":"Modeling: exchange reaction, photon absorption (480-500nm) ", +"metabolites":{ +"photon490_e":-1 +}, +"lower_bound":-1000, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_photon510_e", +"name":"Modeling: exchange reaction, photon absorption (500nm-520nm)", +"metabolites":{ +"photon510_e":-1 +}, +"lower_bound":-1000, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_photon530_e", +"name":"Modeling: exchange reaction, photon absorption (520nm-540nm) ", +"metabolites":{ +"photon530_e":-1 +}, +"lower_bound":-1000, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_photon550_e", +"name":"Modeling: exchange reaction, photon absorption (540nm-560nm) ", +"metabolites":{ +"photon550_e":-1 +}, +"lower_bound":-1000, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_photon570_e", +"name":"Modeling: exchange reaction, photon absorption (560nm-580nm) ", +"metabolites":{ +"photon570_e":-1 +}, +"lower_bound":-1000, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_photon590_e", +"name":"Modeling: exchange reaction, photon absorption (580-600nm) ", +"metabolites":{ +"photon590_e":-1 +}, +"lower_bound":-1000, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_photon610_e", +"name":"Modeling: exchange reaction, photon absorption (600nm-620nm)", +"metabolites":{ +"photon610_e":-1 +}, +"lower_bound":-1000, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_photon630_e", +"name":"Modeling: exchange reaction, photon absorption (620nm-640nm) ", +"metabolites":{ +"photon630_e":-1 +}, +"lower_bound":-1000, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_photon650_e", +"name":"Modeling: exchange reaction, photon absorption (640nm-660nm) ", +"metabolites":{ +"photon650_e":-1 +}, +"lower_bound":-1000, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_photon670_e", +"name":"Modeling: exchange reaction, photon absorption (660nm-680nm) ", +"metabolites":{ +"photon670_e":-1 +}, +"lower_bound":-1000, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"EX_photon690_e", +"name":"Modeling: exchange reaction, photon absorption (680-700nm) ", +"metabolites":{ +"photon690_e":-1 +}, +"lower_bound":-1000, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"ZXANHX", +"name":"Zeaxanthin hydroxylase (caloxanthin forming)", +"metabolites":{ +"calxan_c":1, +"h2o_c":1, +"h_c":-1, +"nadp_c":1, +"nadph_c":-1, +"o2_c":-1, +"zeax_c":-1 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0680", +"subsystem":"Carotenoid biosynthesis" +}, +{ +"id":"CXANHX", +"name":"Caloxanthin hydroxylase (nostoxanthin forming)", +"metabolites":{ +"calxan_c":-1, +"h2o_c":1, +"h_c":-1, +"nadp_c":1, +"nadph_c":-1, +"nstxan_c":1, +"o2_c":-1 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0680", +"subsystem":"Carotenoid biosynthesis" +}, +{ +"id":"PHOA410um", +"name":"Photon absorption (400nm-420nm)", +"metabolites":{ +"bcaro_exc_c":0.092, +"caro_c":-0.092, +"chla_soret_exc_c":0.9, +"cholphya_c":-0.9, +"photon410_e":-1, +"zeax_exc_c":0.008, +"zeax_c":-0.008 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"PHOA430um", +"name":"Photon absorption (420nm-440nm) ", +"metabolites":{ +"bcaro_exc_c":0.13799999999999998, +"caro_c":-0.13799999999999998, +"chla_soret_exc_c":0.85, +"cholphya_c":-0.85, +"photon430_e":-1, +"zeax_exc_c":0.012, +"zeax_c":-0.012 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"PHOA450um", +"name":"Photon absorption (440nm-460nm) ", +"metabolites":{ +"bcaro_exc_c":0.27599999999999997, +"caro_c":-0.27599999999999997, +"chla_soret_exc_c":0.7, +"cholphya_c":-0.7, +"photon450_e":-1, +"zeax_exc_c":0.024, +"zeax_c":-0.024 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"PHOA470um", +"name":"Photon absorption (460nm-480nm) ", +"metabolites":{ +"bcaro_exc_c":0.92, +"caro_c":-0.92, +"photon470_e":-1, +"zeax_exc_c":0.08, +"zeax_c":-0.08 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"PHOA490um", +"name":"Photon absorption (480-500nm) ", +"metabolites":{ +"bcaro_exc_c":0.92, +"caro_c":-0.92, +"photon490_e":-1, +"zeax_exc_c":0.08, +"zeax_c":-0.08 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"PHOA510um", +"name":"Photon absorption (500nm-520nm)", +"metabolites":{ +"bcaro_exc_c":0.92, +"caro_c":-0.92, +"photon510_e":-1, +"zeax_exc_c":0.08, +"zeax_c":-0.08 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"PHOA530um", +"name":"Photon absorption (520nm-540nm) ", +"metabolites":{ +"photon530_e":-1, +"phycy_exc_c":1, +"phycy_c":-1 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"PHOA550um", +"name":"Photon absorption (540nm-560nm) ", +"metabolites":{ +"photon550_e":-1, +"phycy_exc_c":1, +"phycy_c":-1 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"PHOA570um", +"name":"Photon absorption (560nm-580nm) ", +"metabolites":{ +"photon570_e":-1, +"phycy_exc_c":1, +"phycy_c":-1 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"PHOA590um", +"name":"Photon absorption (580-600nm) ", +"metabolites":{ +"photon590_e":-1, +"phycy_exc_c":1, +"phycy_c":-1 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"PHOA610um", +"name":"Photon absorption (600nm-620nm)", +"metabolites":{ +"photon610_e":-1, +"phycy_exc_c":1, +"phycy_c":-1 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"PHOA630um", +"name":"Photon absorption (620nm-640nm) ", +"metabolites":{ +"photon630_e":-1, +"phycy_exc_c":1, +"phycy_c":-1 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"PHOA650um", +"name":"Photon absorption (640nm-660nm) ", +"metabolites":{ +"photon650_e":-1, +"phycy_exc_c":1, +"phycy_c":-1 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"PHOA670um", +"name":"Photon absorption (660nm-680nm) ", +"metabolites":{ +"photon670_e":-1, +"phycy_exc_c":1.0, +"phycy_c":-1.0 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"PHOA690um", +"name":"Photon absorption (680-700nm) ", +"metabolites":{ +"chla_qy1_exc_c":0.9, +"chla_qy2_exc_c":0.1, +"cholphya_c":-1, +"photon690_e":-1 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"DM_pho_loss_c", +"name":"Photon energy loss (heat/fluorescence)", +"metabolites":{ +"pho_loss_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Intracellular demand" +}, +{ +"id":"ETCHLAS", +"name":"Energy transfer (ChlA Soret to ChlA Qy)", +"metabolites":{ +"chla_qy1_exc_c":0.315, +"chla_qy2_exc_c":0.035, +"chla_soret_exc_c":-1, +"cholphya_c":0.65, +"pho_loss_c":0.65 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"ETBCARO", +"name":"Energy transfer (Beta carotene to ChlA Qy)", +"metabolites":{ +"bcaro_exc_c":-1, +"caro_c":1.0, +"chla_qy1_exc_c":0.75, +"cholphya_c":-0.75, +"pho_loss_c":0.25 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"ETCPC", +"name":"Energy transfer (Phycocyanin to allophycocyanin)", +"metabolites":{ +"allocy_exc_c":1, +"allocy_c":-1, +"phycy_exc_c":-1, +"phycy_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0325 and Synpcc7942_0326 and Synpcc7942_0327 and Synpcc7942_0328 and Synpcc7942_1047 and Synpcc7942_1048 and Synpcc7942_1052 and Synpcc7942_1053 and Synpcc7942_1055 and Synpcc7942_1049 and Synpcc7942_1050 and Synpcc7942_2030 and Synpcc7942_1051", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"STACPSI", +"name":"State transition energy transfer (Allophycocyanin to PSI ChlA Qy)", +"metabolites":{ +"allocy_exc_c":-1, +"allocy_c":1, +"chla_qy1_exc_c":0.9, +"cholphya_c":-0.9, +"pho_loss_c":0.1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0240", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"A5PISO", +"name":"Arabinose-5-phosphate isomerase", +"metabolites":{ +"ara5p_c":1.0, +"ru5p__D_c":-1 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2291", +"subsystem":"Lipopolysaccharide/O-antigen Biosynthesis", +"notes":{ +"original_bigg_ids":[ +"A5PISO" +] +} +}, +{ +"id":"KDOPS", +"name":"3-deoxy -D-manno-octulosonic -acid 8-phosphate synthase", +"metabolites":{ +"ara5p_c":-1.0, +"h2o_c":-1.0, +"kdo8p_c":1.0, +"pep_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2289", +"subsystem":"Lipopolysaccharide/O-antigen Biosynthesis", +"notes":{ +"original_bigg_ids":[ +"KDOPS" +] +} +}, +{ +"id":"KDOPP", +"name":"3-deoxy-manno-octulosonate-8-phosphatase", +"metabolites":{ +"h2o_c":-1.0, +"kdo8p_c":-1.0, +"kdo_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2288", +"subsystem":"Lipopolysaccharide/O-antigen Biosynthesis", +"notes":{ +"original_bigg_ids":[ +"KDOPP" +] +} +}, +{ +"id":"KDOCT2", +"name":"3-deoxy-manno-octulosonate cytidylyltransferase", +"metabolites":{ +"ckdo_c":1.0, +"ctp_c":-1.0, +"kdo_c":-1.0, +"ppi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2290", +"subsystem":"Lipopolysaccharide/O-antigen Biosynthesis", +"notes":{ +"original_bigg_ids":[ +"KDOCT2" +] +} +}, +{ +"id":"MOAT", +"name":"3-deoxy-D-manno-octulosonic acid transferase", +"metabolites":{ +"ckdo_c":-1.0, +"cmp_c":1.0, +"kdolipid4cy_c":1, +"lipidAds2_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2286 and Synpcc7942_2287", +"subsystem":"Lipopolysaccharide/O-antigen Biosynthesis", +"notes":{ +"original_bigg_ids":[ +"MOAT" +] +} +}, +{ +"id":"UAG2E", +"name":"UDP-N-acetylglucosamine 2-epimerase", +"metabolites":{ +"uacgam_c":-1.0, +"uacmam_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0552", +"subsystem":"Lipopolysaccharide/O-antigen Biosynthesis", +"notes":{ +"original_bigg_ids":[ +"UAG2E" +] +} +}, +{ +"id":"ACGAMT", +"name":"UDP-N-acetylglucosamine:undecaprenylphosphate N-acetylglucosamine -1-phosphate transferase", +"metabolites":{ +"uacgam_c":-1.0, +"udcpp_c":-1.0, +"ump_c":1.0, +"unaga_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0281", +"subsystem":"Lipopolysaccharide/O-antigen Biosynthesis", +"notes":{ +"original_bigg_ids":[ +"ACGAMT" +] +} +}, +{ +"id":"ACMAMT", +"name":"UDP-N-acetyl-D-mannosamine transferase", +"metabolites":{ +"h_c":1, +"uacmam_c":-1, +"udp_c":1, +"unaga_c":-1, +"unagam_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1651", +"subsystem":"Lipopolysaccharide/O-antigen Biosynthesis" +}, +{ +"id":"ICLIPAS", +"name":"Inner core lipid A biosynthesis", +"metabolites":{ +"gdp_c":0.3128, +"gdpfuc_c":-0.3128, +"icolipacy_c":1, +"kdolipid4cy_c":-0.0865, +"udcpdp_c":0.0558, +"unagam_c":-0.0558 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2339 and Synpcc7942_1884 and Synpcc7942_2025 and Synpcc7942_2026 and Synpcc7942_2027 and Synpcc7942_2028", +"subsystem":"Lipopolysaccharide/O-antigen Biosynthesis" +}, +{ +"id":"ICLIPAabcpp", +"name":"Inner core lipid A transport (periplasm)", +"metabolites":{ +"adp_c":1, +"atp_c":-1, +"h2o_c":-1, +"h_c":1, +"icolipacy_c":-1, +"icolipacy_p":1, +"pi_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0082", +"subsystem":"Lipopolysaccharide/O-antigen Biosynthesis" +}, +{ +"id":"OANTS", +"name":"O-antigen synthesis (Synechococcus elongatus 7942)", +"metabolites":{ +"gdp_c":2.2481, +"gdpmann_c":-2.2481, +"h_c":2.6255, +"oanticy_c":1, +"udp_c":0.3774, +"udpg_c":-0.0999, +"udpgal_c":-0.2775 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0281 and Synpcc7942_1901 and Synpcc7942_1902 and Synpcc7942_1903 and Synpcc7942_1887", +"subsystem":"Lipopolysaccharide/O-antigen Biosynthesis" +}, +{ +"id":"OANTIabcpp", +"name":"O-antigen transport (periplasm)", +"metabolites":{ +"adp_c":1, +"atp_c":-1, +"h2o_c":-1, +"h_c":1, +"oanticy_c":-1, +"oanticy_p":1, +"pi_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1244 and Synpcc7942_1126", +"subsystem":"Lipopolysaccharide/O-antigen Biosynthesis" +}, +{ +"id":"OANTILpp", +"name":"O-antigen ligation (periplasm)", +"metabolites":{ +"colipacy_p":1, +"h2o_p":1, +"icolipacy_p":-1, +"oanticy_p":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1244 and Synpcc7942_1126", +"subsystem":"Lipopolysaccharide/O-antigen Biosynthesis" +}, +{ +"id":"COLIPAabcex", +"name":"O-antigen LPS transport (extracellular)", +"metabolites":{ +"adp_c":1, +"atp_c":-1, +"colipacy_e":1, +"colipacy_p":-1, +"h2o_c":-1, +"h_c":1, +"pi_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Lipopolysaccharide/O-antigen Biosynthesis" +}, +{ +"id":"MPTG", +"name":"Murein polymerizing transglycosylase", +"metabolites":{ +"h_c":2.0, +"murein5p5p_p":1.0, +"uaagmda_c":-2.0, +"udcpdp_c":2.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2041 and Synpcc7942_2000", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MPTG" +] +} +}, +{ +"id":"MPTG2", +"name":"Murein polymerizing transglycosylase 2 (three linked units)", +"metabolites":{ +"h_c":1.0, +"murein5p5p5p_p":1.0, +"murein5p5p_p":-1.0, +"uaagmda_c":-1.0, +"udcpdp_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2041 and Synpcc7942_2000", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MPTG2" +] +} +}, +{ +"id":"MCTP2App", +"name":"Murein crosslinking transpeptidase 1A:(A2pm->D-ala) (periplasm)", +"metabolites":{ +"ala__D_p":2.0, +"murein5p5p5p_p":-1.0, +"murein5px4px4p_p":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0482 or Synpcc7942_0580", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MCTP2App" +] +} +}, +{ +"id":"MCTP1App", +"name":"Murein crosslinking transpeptidase 1A:(A2pm->D-ala) (periplasm)", +"metabolites":{ +"ala__D_p":1.0, +"murein5p5p_p":-1.0, +"murein5px4p_p":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0482 or Synpcc7942_0580", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MCTP1App" +] +} +}, +{ +"id":"MCTP1Bpp", +"name":"Murein crosslinking transpeptidase 1B:(A2pm->A2pm) (periplasm)", +"metabolites":{ +"alaala_p":1.0, +"murein5p5p_p":-1.0, +"murein5px3p_p":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0482 or Synpcc7942_0580", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MCTP1Bpp" +] +} +}, +{ +"id":"MDDCP1pp", +"name":"Murein D,D-carboxypeptidase (murein5px4p) (periplasm)", +"metabolites":{ +"ala__D_p":1.0, +"h2o_p":-1.0, +"murein4px4p_p":1.0, +"murein5px4p_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1672 or Synpcc7942_1934", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MDDCP1pp" +] +} +}, +{ +"id":"MDDCP2pp", +"name":"Murein D,D-carboxypeptidase (murein5px4px4p) (periplasm)", +"metabolites":{ +"ala__D_p":1.0, +"h2o_p":-1.0, +"murein4px4px4p_p":1.0, +"murein5px4px4p_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1672 or Synpcc7942_1934", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MDDCP2pp" +] +} +}, +{ +"id":"MDDCP3pp", +"name":"Murein D,D-carboxypeptidase (murein5p5p) (periplasm)", +"metabolites":{ +"ala__D_p":1.0, +"h2o_p":-1.0, +"murein5p4p_p":1.0, +"murein5p5p_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1672 or Synpcc7942_1934", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MDDCP3pp" +] +} +}, +{ +"id":"MDDCP4pp", +"name":"Murein D,D-carboxypeptidase (murein5p4p) (periplasm)", +"metabolites":{ +"ala__D_p":1.0, +"h2o_p":-1.0, +"murein4p4p_p":1.0, +"murein5p4p_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1672 or Synpcc7942_1934", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MDDCP4pp" +] +} +}, +{ +"id":"MDDCP5pp", +"name":"Murein D,D-carboxypeptidase (murein5p3p) (periplasm)", +"metabolites":{ +"ala__D_p":1.0, +"h2o_p":-1.0, +"murein4p3p_p":1.0, +"murein5p3p_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1672 or Synpcc7942_1934", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MDDCP5pp" +] +} +}, +{ +"id":"MDDEP1pp", +"name":"Murein D,D-endopeptidase (murein4px4p) (periplasm)", +"metabolites":{ +"h2o_p":-1.0, +"murein4p4p_p":1.0, +"murein4px4p_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0138 or Synpcc7942_0344 or Synpcc7942_1934", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MDDEP1pp" +] +} +}, +{ +"id":"MDDEP2pp", +"name":"Murein D,D-endopeptidase (murein3px4p) (periplasm)", +"metabolites":{ +"h2o_p":-1.0, +"murein3px4p_p":-1.0, +"murein4p3p_p":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0138 or Synpcc7942_0344 or Synpcc7942_1934", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MDDEP2pp" +] +} +}, +{ +"id":"MDDEP3pp", +"name":"Murein D,D-endopeptidase (murein5px4p) (periplasm)", +"metabolites":{ +"h2o_p":-1.0, +"murein5p4p_p":1.0, +"murein5px4p_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0138 or Synpcc7942_0344 or Synpcc7942_1934", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MDDEP3pp" +] +} +}, +{ +"id":"MDDEP4pp", +"name":"Murein D,D-endopeptidase (murein4px4px4p) (periplasm)", +"metabolites":{ +"h2o_p":-1.0, +"murein4px4p4p_p":1.0, +"murein4px4px4p_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0138 or Synpcc7942_0344 or Synpcc7942_1934", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MDDEP4pp" +] +} +}, +{ +"id":"MLDCP1App", +"name":"Murein L,D-carboxypeptidase (murein5px4p) (periplasm)", +"metabolites":{ +"alaala_p":1.0, +"h2o_p":-1.0, +"murein3px4p_p":1.0, +"murein5px4p_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MLDCP1App" +] +} +}, +{ +"id":"MLDCP1Bpp", +"name":"Murein L,D-carboxypeptidase (murein4p4p) (periplasm)", +"metabolites":{ +"ala__D_p":1.0, +"h2o_p":-1.0, +"murein4p3p_p":1.0, +"murein4p4p_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MLDCP1Bpp" +] +} +}, +{ +"id":"MLDCP2App", +"name":"Murein L,D-carboxypeptidase (murein5p5p) (periplasm)", +"metabolites":{ +"alaala_p":1.0, +"h2o_p":-1.0, +"murein5p3p_p":1.0, +"murein5p5p_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MLDCP2App" +] +} +}, +{ +"id":"MLDCP2Bpp", +"name":"Murein L,D-carboxypeptidase (murein4p3p) (periplasm)", +"metabolites":{ +"ala__D_p":1.0, +"h2o_p":-1.0, +"murein3p3p_p":1.0, +"murein4p3p_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MLDCP2Bpp" +] +} +}, +{ +"id":"MLTGY1pp", +"name":"Murein lytic transglycosylase (murein4p4p) (periplasm)", +"metabolites":{ +"anhgm4p_p":2.0, +"murein4p4p_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0392", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MLTGY1pp" +] +} +}, +{ +"id":"MLTGY2pp", +"name":"Murein lytic transglycosylase (murein4p3p) (periplasm)", +"metabolites":{ +"anhgm3p_p":1.0, +"anhgm4p_p":1.0, +"murein4p3p_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0392", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MLTGY2pp" +] +} +}, +{ +"id":"MLTGY3pp", +"name":"Murein lytic transglycosylase (murein3p3p) (periplasm)", +"metabolites":{ +"anhgm3p_p":2.0, +"murein3p3p_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0392", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MLTGY3pp" +] +} +}, +{ +"id":"MLTGY4pp", +"name":"Murein lytic transglycosylase (murein4px4p4p) (periplasm)", +"metabolites":{ +"anhgm4p_p":1.0, +"murein4px4p4p_p":-1.0, +"murein4px4p_p":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0392", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"MLTGY4pp" +] +} +}, +{ +"id":"AGM4PA", +"name":"N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tetrapeptide amidase", +"metabolites":{ +"LalaDgluMdapDala_c":1.0, +"anhgm4p_c":-1.0, +"anhgm_c":1.0, +"h2o_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2360", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"AGM4PA" +] +} +}, +{ +"id":"AGM4PApp", +"name":"N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tetrapeptide amidase (periplasm)", +"metabolites":{ +"LalaDgluMdapDala_p":1.0, +"anhgm4p_p":-1.0, +"anhgm_p":1.0, +"h2o_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2134", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"AGM4PApp" +] +} +}, +{ +"id":"AGM4PCP", +"name":"N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tetrapeptide L,D-carboxypeptidase", +"metabolites":{ +"ala__D_c":1.0, +"anhgm3p_c":1.0, +"anhgm4p_c":-1.0, +"h2o_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1963", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"AGM4PCP" +] +} +}, +{ +"id":"AGM4PH", +"name":"N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tetrapeptide beta -1,4-N-acetylglucosaminidase", +"metabolites":{ +"acgam_c":1.0, +"anhgm4p_c":-1.0, +"anhm4p_c":1.0, +"h2o_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0354", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"AGM4PH" +] +} +}, +{ +"id":"AGM3PApp", +"name":"N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tripeptide amidase (periplasm)", +"metabolites":{ +"LalaDgluMdap_p":1.0, +"anhgm3p_p":-1.0, +"anhgm_p":1.0, +"h2o_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2134", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"AGM3PApp" +] +} +}, +{ +"id":"AGMH", +"name":"N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl beta -1,4-N-acetylglucosaminidase", +"metabolites":{ +"acgam_c":1.0, +"anhgm_c":-1.0, +"anhm_c":1.0, +"h2o_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0354", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"AGMH" +] +} +}, +{ +"id":"AGM3PH", +"name":"N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tripeptide beta -1,4-N-acetylglucosaminidase", +"metabolites":{ +"acgam_c":1.0, +"anhgm3p_c":-1.0, +"anhm3p_c":1.0, +"h2o_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0354", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"AGM3PH" +] +} +}, +{ +"id":"AM4PCP", +"name":"Anhydrous-N-Acetylmuramyl-tetrapeptide L,D-carboxypeptidase", +"metabolites":{ +"ala__D_c":1.0, +"anhm3p_c":1.0, +"anhm4p_c":-1.0, +"h2o_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1963", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"AM4PCP" +] +} +}, +{ +"id":"4PCP", +"name":"Tetrapeptide L,D-carboxypeptidase", +"metabolites":{ +"LalaDgluMdapDala_c":-1.0, +"LalaDgluMdap_c":1.0, +"ala__D_c":1.0, +"h2o_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1963", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"4PCP" +] +} +}, +{ +"id":"AM3PA", +"name":"Anhydrous-N-Acetylmuramyl-tripeptide amidase", +"metabolites":{ +"LalaDgluMdap_c":1.0, +"anhm3p_c":-1.0, +"anhm_c":1.0, +"h2o_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2360", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"AM3PA" +] +} +}, +{ +"id":"AM4PA", +"name":"Anhydrous-N-Acetylmuramyl-tetrapeptide amidase", +"metabolites":{ +"LalaDgluMdapDala_c":1.0, +"anhm4p_c":-1.0, +"anhm_c":1.0, +"h2o_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2360", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"AM4PA" +] +} +}, +{ +"id":"LADGMDH", +"name":"L-alanyl-gamma-D-glutamyl-meso-diaminopimelate hydrolase", +"metabolites":{ +"26dap__M_c":1.0, +"LalaDgluMdap_c":-1.0, +"LalaDglu_c":1.0, +"h2o_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1581", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"LADGMDH" +] +} +}, +{ +"id":"UM4PL", +"name":"UDP-N-acetylmuramate:L-alanyl-gamma-D-glutamyl-meso-diaminopimelate-D-alanine ligase", +"metabolites":{ +"LalaDgluMdapDala_c":-1.0, +"adp_c":1.0, +"atp_c":-1.0, +"h_c":1.0, +"pi_c":1.0, +"uamr_c":-1.0, +"um4p_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1741", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"UM4PL" +] +} +}, +{ +"id":"ALAGLUE", +"name":"L-alanyl-gamma-glutamate epimerase", +"metabolites":{ +"LalaDglu_c":-1.0, +"LalaLglu_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2373", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"ALAGLUE" +] +} +}, +{ +"id":"UM3PL", +"name":"UDP-N-acetylmuramate:L-alanyl-gamma-D-glutamyl-meso-diaminopimelate ligase", +"metabolites":{ +"LalaDgluMdap_c":-1.0, +"adp_c":1.0, +"atp_c":-1.0, +"h_c":1.0, +"pi_c":1.0, +"uamr_c":-1.0, +"ugmd_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1741", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"UM3PL" +] +} +}, +{ +"id":"UM4PCP", +"name":"UDP-N-acetylmuramoyl-L-alanyl-D-gamma-glutamyl-meso-2,6-diaminopimelate-D-alanine L,D-carboxypeptidase", +"metabolites":{ +"ala__D_c":1.0, +"h2o_c":-1.0, +"ugmd_c":1.0, +"um4p_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1963", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"UM4PCP" +] +} +}, +{ +"id":"LALGP", +"name":"L-alanyl-gamma-L-glutamate peptidase", +"metabolites":{ +"LalaLglu_c":-1.0, +"ala__L_c":1.0, +"glu__L_c":1.0, +"h2o_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1971", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"LALGP" +] +} +}, +{ +"id":"AGM4Pt2pp", +"name":"GlcNAc-anhMurNAc tetrapeptide transport in via proton symport (periplasm)", +"metabolites":{ +"anhgm4p_c":1.0, +"anhgm4p_p":-1.0, +"h_c":1.0, +"h_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Inner Membrane", +"notes":{ +"original_bigg_ids":[ +"AGM4Pt2pp" +] +} +}, +{ +"id":"AGMt2pp", +"name":"GlcNAc-anhMurNAc transport in via proton symport (periplasm)", +"metabolites":{ +"anhgm_c":1.0, +"anhgm_p":-1.0, +"h_c":1.0, +"h_p":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"AGMt2pp" +] +} +}, +{ +"id":"4PEPTabcpp", +"name":"Tetrapeptide (LalaDgluMdapDala) transport via ABC system (periplasm)", +"metabolites":{ +"LalaDgluMdapDala_c":1.0, +"LalaDgluMdapDala_p":-1.0, +"adp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2236 and Synpcc7942_0822 and Synpcc7942_1169 and Synpcc7942_0445 and Synpcc7942_0821 and Synpcc7942_1305", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"4PEPTabcpp" +] +} +}, +{ +"id":"UAGPT3", +"name":"UDP-N-acetylglucosamine-N-acetylmuramyl-(pentapeptide)pyrophosphoryl-undecaprenol N-acetylglucosamine transferase", +"metabolites":{ +"h_c":1.0, +"uaagmda_c":1.0, +"uacgam_c":-1.0, +"uagmda_c":-1.0, +"udp_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2312", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"UAGPT3" +] +} +}, +{ +"id":"UDCPDP", +"name":"Undecaprenyl-diphosphatase", +"metabolites":{ +"h2o_c":-1.0, +"h_c":1.0, +"pi_c":1.0, +"udcpdp_c":-1.0, +"udcpp_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1967", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"UDCPDP" +] +} +}, +{ +"id":"PAPPT3", +"name":"Phospho-N-acetylmuramoyl-pentapeptide-transferase (meso-2,6-diaminopimelate)", +"metabolites":{ +"uagmda_c":1.0, +"udcpp_c":-1.0, +"ugmda_c":-1.0, +"ump_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0152", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"PAPPT3" +] +} +}, +{ +"id":"ALAALAD", +"name":"D-alanine-D-alanine dipeptidase", +"metabolites":{ +"ala__D_c":2.0, +"alaala_c":-1.0, +"h2o_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0432", +"subsystem":"Murein Biosynthesis/Recycling", +"notes":{ +"original_bigg_ids":[ +"ALAALAD" +] +} +}, +{ +"id":"DALAabcpp", +"name":"D-alanine transport via ABC peptide transporter", +"metabolites":{ +"adp_c":1, +"ala__D_c":1, +"ala__D_p":-1, +"atp_c":-1, +"h2o_c":-1, +"h_c":1, +"pi_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2236 and Synpcc7942_0822 and Synpcc7942_1169 and Synpcc7942_0445 and Synpcc7942_0821 and Synpcc7942_1305", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"ALAALAabcpp", +"name":"D-alanyl-D-alanine transport back into the cytoplasm", +"metabolites":{ +"adp_c":1, +"alaala_c":1, +"alaala_p":-1, +"atp_c":-1, +"h2o_c":-1, +"h_c":1, +"pi_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2236 and Synpcc7942_0822 and Synpcc7942_1169 and Synpcc7942_0445 and Synpcc7942_0821 and Synpcc7942_1305", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"3PEPTabcpp", +"name":"D-alanine transport back into the cytoplasm", +"metabolites":{ +"adp_c":1, +"ala__D_c":1, +"ala__D_p":-1, +"atp_c":-1, +"h2o_c":-1, +"h_c":1, +"pi_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2236 and Synpcc7942_0822 and Synpcc7942_1169 and Synpcc7942_0445 and Synpcc7942_0821 and Synpcc7942_1305", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"PCHLDA430", +"name":"Protochlorophyllide excitation (430nm photon)", +"metabolites":{ +"pchlld_exc_c":1, +"pchlld_c":-1, +"photon430_e":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2503", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"PCHLDA650", +"name":"Protochlorophyllide excitation (650nm photon)", +"metabolites":{ +"pchlld_exc_c":1, +"pchlld_c":-1, +"photon650_e":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2503", +"subsystem":"Porphyrin and chlorophyll metabolism" +}, +{ +"id":"EX_meoh_e", +"name":"Modeling: exchange reaction (meoh_e)", +"metabolites":{ +"meoh_e":-1 +}, +"lower_bound":0, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"PFOR", +"name":"Pyruvate flavodoxin oxidoreductase", +"metabolites":{ +"accoa_c":1, +"co2_c":1, +"coa_c":-1, +"fldox_c":-1, +"fldrd_c":1, +"h_c":-1, +"pyr_c":-1 +}, +"lower_bound":0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2384", +"subsystem":"Pyruvate metabolism/TCA Reactions" +}, +{ +"id":"NO2tabcpp", +"name":"Nitrite ABC ATPase (uptake, periplasm)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"no2_c":1, +"no2_p":-1, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2105 and Synpcc7942_2106 and Synpcc7942_2107", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"NO2tex", +"name":"Nitrite transport via diffusion (ext to pps)", +"metabolites":{ +"no2_e":-1, +"no2_p":1 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"Htabcpp", +"name":"Proton (H+) P-type ATPase (uptake, periplasm)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":2.0, +"h_p":-1, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"ETAPCPSII", +"name":"Energy transfer (Allophycocyanin to PSII ChlA Qy)", +"metabolites":{ +"allocy_exc_c":-1, +"allocy_c":1, +"chla_qy2_exc_c":0.95, +"cholphya_c":-0.95, +"pho_loss_c":0.05 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"PSICSum", +"name":"Photosystem I charge separation", +"metabolites":{ +"chla_qy1_exc_c":-1.0, +"cholphya_c":1.0, +"p700_exc_um":1.0, +"p700_um":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0407 and Synpcc7942_0535 and Synpcc7942_0654 and Synpcc7942_0920 and Synpcc7942_1002 and Synpcc7942_1249 and Synpcc7942_1250 and Synpcc7942_1322 and Synpcc7942_1912a and Synpcc7942_2048 and Synpcc7942_2049 and Synpcc7942_2321 and Synpcc7942_2342 and Synpcc7942_2343 and Synpcc7942_2513", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"PSIICSum", +"name":"Photosystem II charge separation", +"metabolites":{ +"chla_qy2_exc_c":-1.0, +"cholphya_c":1.0, +"p680_exc_um":1.0, +"p680_um":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"(Synpcc7942_0224 and Synpcc7942_0225 and Synpcc7942_0294 and Synpcc7942_0343 and Synpcc7942_0424 and Synpcc7942_0456 and Synpcc7942_0655 and Synpcc7942_0656 and Synpcc7942_0696 and Synpcc7942_0697 and Synpcc7942_0699 and Synpcc7942_0893 and Synpcc7942_1038 and Synpcc7942_1174 and Synpcc7942_1175 and Synpcc7942_1176 and Synpcc7942_1177 and Synpcc7942_1637 and Synpcc7942_1678 and Synpcc7942_1679 and Synpcc7942_1705 and Synpcc7942_1882 and Synpcc7942_1962 and Synpcc7942_2016 and Synpcc7942_2245 and Synpcc7942_2478 and Synpcc7942_2010) or (Synpcc7942_0224 and Synpcc7942_0225 and Synpcc7942_0294 and Synpcc7942_0343 and Synpcc7942_0424 and Synpcc7942_0456 and Synpcc7942_0655 and Synpcc7942_0656 and Synpcc7942_0696 and Synpcc7942_0697 and Synpcc7942_0699 and Synpcc7942_1038 and Synpcc7942_1174 and Synpcc7942_1175 and Synpcc7942_1176 and Synpcc7942_1177 and Synpcc7942_1389 and Synpcc7942_1637 and Synpcc7942_1678 and Synpcc7942_1679 and Synpcc7942_1705 and Synpcc7942_1882 and Synpcc7942_1962 and Synpcc7942_2016 and Synpcc7942_2245 and Synpcc7942_2478 and Synpcc7942_2010)", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"STCHLPSIum", +"name":"State transition energy transfer (PSII ChlA Qy to PSI ChlA Qy)", +"metabolites":{ +"chla_qy1_exc_c":0.9, +"chla_qy2_exc_c":-1.0, +"cholphya_c":0.1, +"pho_loss_c":0.1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"DEXZEAX", +"name":"Pigment de-excitation (xanthophylls)", +"metabolites":{ +"pho_loss_c":1, +"zeax_exc_c":-1.0, +"zeax_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"CELLSYN", +"name":"Cellulose synthase", +"metabolites":{ +"b14glucan_c":1.0, +"glc__D_c":-1.0, +"h2o_c":1, +"h_c":1, +"udp_c":1.0, +"udpg_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1398 and Synpcc7942_0466 and Synpcc7942_2151", +"subsystem":"Glycogen and sucrose metabolism" +}, +{ +"id":"ADPGDP", +"name":"ADP-glucose diphosphatase", +"metabolites":{ +"adpglc_c":-1.0, +"amp_c":1.0, +"g1p_c":1.0, +"h2o_c":-1.0, +"h_c":2.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2271", +"subsystem":"Glycogen and sucrose metabolism" +}, +{ +"id":"ALCD1", +"name":"Alcohol dehydrogenase (methanol)", +"metabolites":{ +"fald_c":1.0, +"h_c":1.0, +"meoh_c":-1.0, +"nad_c":-1.0, +"nadh_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2285 or Synpcc7942_1653", +"subsystem":"Cofactor biosynthesis: Lipoate biosynthesis" +}, +{ +"id":"FALGTHLs", +"name":"Formaldehyde glutathione ligase (spontaneous)", +"metabolites":{ +"fald_c":-1.0, +"gthrd_c":-1.0, +"hmgth_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Cofactor biosynthesis: Lipoate biosynthesis" +}, +{ +"id":"FALDH2", +"name":"Formaldehyde dehydrogenase", +"metabolites":{ +"Sfglutth_c":1.0, +"h_c":1.0, +"hmgth_c":-1.0, +"nad_c":-1.0, +"nadh_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0459", +"subsystem":"Cofactor biosynthesis: Lipoate biosynthesis" +}, +{ +"id":"SFGTHi", +"name":"S-Formylglutathione hydralase", +"metabolites":{ +"Sfglutth_c":-1.0, +"for_c":1.0, +"gthrd_c":1.0, +"h2o_c":-1.0, +"h_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0458", +"subsystem":"Cofactor biosynthesis: Lipoate biosynthesis" +}, +{ +"id":"GGCLUT2", +"name":"Glutathione-specific gamma-glutamylcyclotransferase", +"metabolites":{ +"5oxpro_c":1, +"cgly_c":1.0, +"gthrd_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1135", +"subsystem":"Metabolism of other amino acids: Glutathione metabolism" +}, +{ +"id":"OPAH", +"name":"5-oxoprolinase (ATP-hydrolyzing)", +"metabolites":{ +"5oxpro_c":-1.0, +"adp_c":1.0, +"atp_c":-1.0, +"glu__L_c":1.0, +"h2o_c":-2.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2390", +"subsystem":"Metabolism of other amino acids: Glutathione metabolism" +}, +{ +"id":"ACGAMK", +"name":"N-acetylglucosamine kinase", +"metabolites":{ +"acgam6p_c":1, +"acgam_c":-1, +"adp_c":1, +"atp_c":-1, +"h_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2111", +"subsystem":"Nucleotide sugar metabolism" +}, +{ +"id":"AMANAPEr", +"name":"N-acetylmannosamine 6-phosphate epimerase", +"metabolites":{ +"acgam6p_c":-1, +"acmanap_c":1 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2464", +"subsystem":"Nucleotide sugar metabolism" +}, +{ +"id":"AGDC", +"name":"N-acetylglucosamine-6-phosphate deacetylase", +"metabolites":{ +"ac_c":1, +"acgam6p_c":-1, +"gam6p_c":1, +"h2o_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0440", +"subsystem":"Nucleotide sugar metabolism" +}, +{ +"id":"ANHMK", +"name":"1,6-anhydrous-N-Acetylmuramate kinase", +"metabolites":{ +"acmum6p_c":1, +"adp_c":1, +"anhm_c":-1, +"atp_c":-1, +"h2o_c":-1, +"h_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1093", +"subsystem":"Nucleotide sugar metabolism" +}, +{ +"id":"ACM6PH", +"name":"N-acetylmuramate 6-phosphate hydrolase", +"metabolites":{ +"acgam6p_c":1, +"acmum6p_c":-1, +"h2o_c":-1, +"lac__D_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2577", +"subsystem":"Nucleotide sugar metabolism" +}, +{ +"id":"SUCR", +"name":"Sucrose hydrolyzing enzyme", +"metabolites":{ +"fru_c":1, +"glc__D_c":1, +"h2o_c":-1, +"sucr_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0397", +"subsystem":"Glycogen and sucrose metabolism" +}, +{ +"id":"CLt3_1pp", +"name":"Chloride transport out via proton antiport (1:1) (periplasm)", +"metabolites":{ +"cl_c":-1.0, +"cl_p":1.0, +"h_c":-1.0, +"h_p":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1576 and Synpcc7942_1588 and Synpcc7942_1257", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"Cltex", +"name":"Chloride (Cl-1) transport via diffusion (extracellular to periplasm)", +"metabolites":{ +"cl_e":-1.0, +"cl_p":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"EX_cl_e", +"name":"Modeling: exchange reaction (cl_e)", +"metabolites":{ +"cl_e":-1.0 +}, +"lower_bound":0, +"upper_bound":1000, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange" +}, +{ +"id":"Ktu", +"name":"Potassium transport (thylakoid)", +"metabolites":{ +"k_c":-1, +"k_u":1 +}, +"lower_bound":-1000, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1233", +"subsystem":"Transport: Outer Membrane" +}, +{ +"id":"FDH6", +"name":"Formate dehydrogenase (cytochrome c553)", +"metabolites":{ +"co2_c":2, +"for_c":-2, +"h2o_c":2, +"h_c":-2, +"o2_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_2387", +"subsystem":"Photorespiration/Glyoxylate Degredation" +}, +{ +"id":"DM_fum_c", +"name":"Modeling: demand reaction (fum_c)", +"metabolites":{ +"fum_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Intracellular demand" +}, +{ +"id":"DM_succ_c", +"name":"Modeling: demand reaction (succ_c)", +"metabolites":{ +"succ_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Intracellular demand" +}, +{ +"id":"DM_akg_c", +"name":"Modeling: demand reaction (akg_c)", +"metabolites":{ +"akg_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Intracellular demand" +}, +{ +"id":"NGAM_D1um", +"name":"Non-growth associated maintenance: PSII D1 protein repair", +"metabolites":{ +"adp_c":360.0, +"atp_c":-360.0, +"gdp_c":720.0, +"gtp_c":-720.0, +"h2o_c":-1080.0, +"h_c":1080.0, +"pi_c":1080.0, +"ps2d1_exc_um":-1.0, +"ps2d1_um":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"PSICRum", +"name":"Photosystem I charge recombination", +"metabolites":{ +"o2_c":-1, +"o2s_c":1, +"p700_exc_um":-1, +"p700_um":1, +"pccu1p_u":-1, +"pccu2p_u":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"PSIICRum", +"name":"Photosystem II charge recombination", +"metabolites":{ +"p680_exc_um":-1, +"p680_um":1, +"ps2d1_exc_um":0.009999999999999998, +"ps2d1_um":-0.009999999999999998 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Photosynthesis/respiration" +}, +{ +"id":"DM_ac_c", +"name":"Modeling: demand reaction (ac_c)", +"metabolites":{ +"ac_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Intracellular demand" +}, +{ +"id":"DM_lac__D_c", +"name":"Modeling: demand reaction (lac__D_c)", +"metabolites":{ +"lac__D_c":-1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Intracellular demand" +}, +{ +"id":"ASPO5", +"name":"L-Aspartate oxidase (fumarate utilizing)", +"metabolites":{ +"asp__L_c":-1.0, +"fum_c":-1, +"h_c":1.0, +"iasp_c":1.0, +"succ_c":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1881", +"subsystem":"Cofactor biosynthesis: Nicotinate and Nicotinamide metabolism" +}, +{ +"id":"MNHNAtpp", +"name":"Na+ export via NADPH dependent Mnh complex", +"metabolites":{ +"h_p":-1, +"na1_c":-1, +"na1_p":1, +"nadp_c":1, +"nadph_c":-1, +"pq_cm":-1, +"pqh2_cm":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_1474 and Synpcc7942_1473 and Synpcc7942_1472 and Synpcc7942_1471 and Synpcc7942_1470 and Synpcc7942_1469 and Synpcc7942_1468", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"PCXHtpp", +"name":"H+ export PcxA", +"metabolites":{ +"h_c":-1, +"h_p":1 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"Synpcc7942_0991", +"subsystem":"Transport: Inner Membrane" +}, +{ +"id":"NGAM", +"name":"Modeling: Non-growth associated maintenance", +"metabolites":{ +"h2o_c":2.0, +"o2_c":-1.0, +"pq_um":2.0, +"pqh2_um":-2.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Biomass and maintenance functions" +} +], +"metabolites":[ +{ +"id":"gam6p_c", +"name":"D-Glucosamine 6-phosphate", +"compartment":"c", +"charge":-1, +"formula":"C6H13NO8P" +}, +{ +"id":"cgly_c", +"name":"Cys-Gly", +"compartment":"c", +"charge":0, +"formula":"C5H10N2O3S" +}, +{ +"id":"achms_c", +"name":"O-Acetyl-L-homoserine", +"compartment":"c", +"charge":0, +"formula":"C6H11NO4" +}, +{ +"id":"pccu2p_u", +"name":"Oxidized plastocyanin", +"compartment":"u", +"charge":1, +"formula":"R" +}, +{ +"id":"octe9ACP_c", +"name":"Oleoyl-[acyl-carrier protein]", +"compartment":"c", +"charge":-1, +"formula":"C18H33OSR" +}, +{ +"id":"fdp_c", +"name":"D-Fructose 1,6-bisphosphate", +"compartment":"c", +"charge":-4, +"formula":"C6H10O12P2" +}, +{ +"id":"agm_c", +"name":"Agmatine", +"compartment":"c", +"charge":2, +"formula":"C5H16N4" +}, +{ +"id":"5caiz_c", +"name":"5-Carboxyamino-1-(5-phospho-D-ribosyl)imidazole", +"compartment":"c", +"charge":-3, +"formula":"C9H11N3O9P" +}, +{ +"id":"pep_c", +"name":"Phosphoenolpyruvate", +"compartment":"c", +"charge":-3, +"formula":"C3H2O6P" +}, +{ +"id":"coa_c", +"name":"CoA", +"compartment":"c", +"charge":-4, +"formula":"C21H32N7O16P3S" +}, +{ +"id":"hgbam_c", +"name":"Hydrogenobyrinate a,c diamide", +"compartment":"c", +"charge":-4, +"formula":"C45H58N6O12" +}, +{ +"id":"nac_c", +"name":"Nicotinate", +"compartment":"c", +"charge":-1, +"formula":"C6H4NO2" +}, +{ +"id":"r3mmal_c", +"name":"D-erythro-3-Methylmalate", +"compartment":"c", +"charge":-2, +"formula":"C5H6O5" +}, +{ +"id":"leu__L_c", +"name":"L-Leucine", +"compartment":"c", +"charge":0, +"formula":"C6H13NO2" +}, +{ +"id":"ahcys_c", +"name":"S-Adenosyl-L-homocysteine", +"compartment":"c", +"charge":0, +"formula":"C14H20N6O5S" +}, +{ +"id":"ru5p__D_c", +"name":"D-Ribulose 5-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C5H9O8P" +}, +{ +"id":"14dhncoa_c", +"name":"1,4-Dihydroxy-2-naphthoyl-CoA", +"compartment":"c", +"charge":-4, +"formula":"C32H38N7O19P3S" +}, +{ +"id":"h2o_cx", +"name":"H2O", +"compartment":"x", +"charge":0, +"formula":"H2O" +}, +{ +"id":"h2s_c", +"name":"Hydrogen sulfide", +"compartment":"c", +"charge":-1, +"formula":"HS" +}, +{ +"id":"orot_c", +"name":"Orotate", +"compartment":"c", +"charge":-1, +"formula":"C5H3N2O4" +}, +{ +"id":"g1p_c", +"name":"D-Glucose 1-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C6H11O9P" +}, +{ +"id":"3hdecACP_c", +"name":"(3R)-3-Hydroxydecanoyl-[acyl-carrier protein]", +"compartment":"c", +"charge":-1, +"formula":"C10H19O2SR" +}, +{ +"id":"na1_c", +"name":"Sodium", +"compartment":"c", +"charge":1, +"formula":"Na" +}, +{ +"id":"2pglyc_c", +"name":"2-Phosphoglycolate", +"compartment":"c", +"charge":-3, +"formula":"C2H2O6P" +}, +{ +"id":"ala_B_c", +"name":"beta-Alanine", +"compartment":"c", +"charge":0, +"formula":"C3H7NO2" +}, +{ +"id":"glyc3p_c", +"name":"sn-Glycerol 3-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C3H7O6P" +}, +{ +"id":"pqh2_um", +"name":"Plastoquinol-9", +"compartment":"m", +"charge":0, +"formula":"C53H82O2" +}, +{ +"id":"26dap_LL_c", +"name":"LL-2,6-Diaminoheptanedioate", +"compartment":"c", +"charge":0, +"formula":"C7H14N2O4" +}, +{ +"id":"ddcaACP_c", +"name":"Dodecanoyl-[acyl-carrier protein]", +"compartment":"c", +"charge":-1, +"formula":"C12H23ORS" +}, +{ +"id":"2pglyc_cx", +"name":"2-Phosphoglycolate", +"compartment":"x", +"charge":-3, +"formula":"C2H2O6P" +}, +{ +"id":"trdox_c", +"name":"Thioredoxin disulfide", +"compartment":"c", +"charge":0, +"formula":"X" +}, +{ +"id":"3oddecACP_c", +"name":"3-Oxododecanoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C12H21O2SR" +}, +{ +"id":"glu__D_c", +"name":"D-Glutamate", +"compartment":"c", +"charge":-1, +"formula":"C5H8NO4" +}, +{ +"id":"h_cx", +"name":"H+", +"compartment":"x", +"charge":1, +"formula":"H" +}, +{ +"id":"dutp_c", +"name":"dUTP", +"compartment":"c", +"charge":-4, +"formula":"C9H11N2O14P3" +}, +{ +"id":"paps_c", +"name":"3'-Phosphoadenylyl sulfate", +"compartment":"c", +"charge":-4, +"formula":"C10H11N5O13P2S" +}, +{ +"id":"mg2_c", +"name":"Magnesium", +"compartment":"c", +"charge":2, +"formula":"Mg" +}, +{ +"id":"hdeACP_c", +"name":"Hexadecenoyl-[acyl-carrier protein]", +"compartment":"c", +"charge":-1, +"formula":"C16H29OSR" +}, +{ +"id":"o2_c", +"name":"Oxygen", +"compartment":"c", +"charge":0, +"formula":"O2" +}, +{ +"id":"anth_c", +"name":"Anthranilate", +"compartment":"c", +"charge":-1, +"formula":"C7H6NO2" +}, +{ +"id":"dhpt_c", +"name":"Dihydropteroate", +"compartment":"c", +"charge":-1, +"formula":"C14H13N6O3" +}, +{ +"id":"thex2eACP_c", +"name":"trans-Hex-2-enoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C6H9OSR" +}, +{ +"id":"fmn_c", +"name":"FMN", +"compartment":"c", +"charge":-3, +"formula":"C17H18N4O9P" +}, +{ +"id":"pppi_c", +"name":"Triphosphate", +"compartment":"c", +"charge":-4, +"formula":"HO10P3" +}, +{ +"id":"udp_c", +"name":"UDP", +"compartment":"c", +"charge":-3, +"formula":"C9H11N2O12P2" +}, +{ +"id":"cit_c", +"name":"Citrate", +"compartment":"c", +"charge":-3, +"formula":"C6H5O7" +}, +{ +"id":"acACP_c", +"name":"Acetyl-[acyl-carrier protein]", +"compartment":"c", +"charge":-1, +"formula":"C2H3ORS" +}, +{ +"id":"uama_c", +"name":"UDP-N-acetylmuramoyl-L-alanine", +"compartment":"c", +"charge":-3, +"formula":"C23H33N4O20P2" +}, +{ +"id":"eig3p_c", +"name":"D-erythro-1-(Imidazol-4-yl)glycerol 3-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C6H9N2O6P" +}, +{ +"id":"3c4mop_c", +"name":"(2S)-2-Isopropyl-3-oxosuccinate", +"compartment":"c", +"charge":-2, +"formula":"C7H8O5" +}, +{ +"id":"lys__L_c", +"name":"L-Lysine", +"compartment":"c", +"charge":1, +"formula":"C6H15N2O2" +}, +{ +"id":"13dpg_c", +"name":"3-Phospho-D-glyceroyl phosphate", +"compartment":"c", +"charge":-4, +"formula":"C3H4O10P2" +}, +{ +"id":"gmp_c", +"name":"GMP", +"compartment":"c", +"charge":-2, +"formula":"C10H12N5O8P" +}, +{ +"id":"utp_c", +"name":"UTP", +"compartment":"c", +"charge":-4, +"formula":"C9H11N2O15P3" +}, +{ +"id":"trdrd_c", +"name":"Thioredoxin", +"compartment":"c", +"charge":0, +"formula":"XH2" +}, +{ +"id":"so4_c", +"name":"Sulfate", +"compartment":"c", +"charge":-2, +"formula":"O4S" +}, +{ +"id":"5apru_c", +"name":"5-Amino-6-(5'-phosphoribosylamino)uracil", +"compartment":"c", +"charge":-2, +"formula":"C9H13N4O9P" +}, +{ +"id":"hmppp9_c", +"name":"13(1)-Hydroxy-magnesium-protoporphyrin IX 13-monomethyl ester", +"compartment":"c", +"charge":-1, +"formula":"C35H33MgN4O5" +}, +{ +"id":"pydx5p_c", +"name":"Pyridoxal phosphate", +"compartment":"c", +"charge":-2, +"formula":"C8H8NO6P" +}, +{ +"id":"2dhp_c", +"name":"2-Dehydropantoate", +"compartment":"c", +"charge":-1, +"formula":"C6H9O4" +}, +{ +"id":"ade_c", +"name":"Adenine", +"compartment":"c", +"charge":0, +"formula":"C5H5N5" +}, +{ +"id":"asp__L_c", +"name":"L-Aspartate", +"compartment":"c", +"charge":-1, +"formula":"C4H6NO4" +}, +{ +"id":"2sephchc_c", +"name":"2-Succinyl-5-enolpyruvyl-6-hydroxy-3-cyclohexene-1-carboxylate", +"compartment":"c", +"charge":-3, +"formula":"C14H13O9" +}, +{ +"id":"acg5p_c", +"name":"N-Acetyl-L-glutamate 5-phosphate", +"compartment":"c", +"charge":-3, +"formula":"C7H9NO8P" +}, +{ +"id":"gdp_c", +"name":"GDP", +"compartment":"c", +"charge":-3, +"formula":"C10H12N5O11P2" +}, +{ +"id":"hgbyr_c", +"name":"Hydrogenobyrinate", +"compartment":"c", +"charge":-6, +"formula":"C45H54N4O14" +}, +{ +"id":"palmACP_c", +"name":"(9Z)-Hexadecanoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C16H31ORS" +}, +{ +"id":"pser__L_c", +"name":"O-Phospho-L-serine", +"compartment":"c", +"charge":-2, +"formula":"C3H6NO6P" +}, +{ +"id":"ocACP_c", +"name":"Octanoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C8H15ORS" +}, +{ +"id":"dttp_c", +"name":"dTTP", +"compartment":"c", +"charge":-4, +"formula":"C10H13N2O14P3" +}, +{ +"id":"suc6p_c", +"name":"Sucrose 6-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C12H21O14P" +}, +{ +"id":"6pgc_c", +"name":"6-Phospho-D-gluconate", +"compartment":"c", +"charge":-3, +"formula":"C6H10O10P" +}, +{ +"id":"gcald_c", +"name":"Glycolaldehyde", +"compartment":"c", +"charge":0, +"formula":"C2H4O2" +}, +{ +"id":"2p4c2me_c", +"name":"2-Phospho-4-(cytidine 5'-diphospho)-2-C-methyl-D-erythritol", +"compartment":"c", +"charge":-4, +"formula":"C14H22N3O17P3" +}, +{ +"id":"cmp_c", +"name":"CMP", +"compartment":"c", +"charge":-2, +"formula":"C9H12N3O8P" +}, +{ +"id":"bm_pro_c", +"name":"Protein component of biomass", +"compartment":"c", +"charge":0, +"formula":"H70.5616C44.9625O13.1713S0.2669N12.1054R-1.0" +}, +{ +"id":"pi_c", +"name":"Orthophosphate", +"compartment":"c", +"charge":-2, +"formula":"HO4P" +}, +{ +"id":"pnto__R_c", +"name":"Pantothenate", +"compartment":"c", +"charge":-1, +"formula":"C9H16NO5" +}, +{ +"id":"dump_c", +"name":"dUMP", +"compartment":"c", +"charge":-2, +"formula":"C9H11N2O8P" +}, +{ +"id":"omppp9_c", +"name":"13(1)-Oxo-magnesium-protoporphyrin IX 13-monomethyl ester", +"compartment":"c", +"charge":-1, +"formula":"C35H31MgN4O5" +}, +{ +"id":"23dhmp_c", +"name":"(R)-2,3-Dihydroxy-3-methylpentanoate", +"compartment":"c", +"charge":-1, +"formula":"C6H11O4" +}, +{ +"id":"gtp_c", +"name":"GTP", +"compartment":"c", +"charge":-4, +"formula":"C10H12N5O14P3" +}, +{ +"id":"4h2oglt_c", +"name":"D-4-Hydroxy-2-oxoglutarate", +"compartment":"c", +"charge":-2, +"formula":"C5H4O6" +}, +{ +"id":"prfp_c", +"name":"5-(5-Phospho-D-ribosylaminoformimino)-1-(5-phosphoribosyl)-imidazole-4-carboxamide", +"compartment":"c", +"charge":-4, +"formula":"C15H21N5O15P2" +}, +{ +"id":"man1p_c", +"name":"D-Mannose 1-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C6H11O9P" +}, +{ +"id":"dxyl5p_c", +"name":"1-Deoxy-D-xylulose 5-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C5H9O7P" +}, +{ +"id":"3hddecACP_c", +"name":"(R)-3-Hydroxydodecanoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C12H23O2SR" +}, +{ +"id":"cu2_c", +"name":"Copper", +"compartment":"c", +"charge":2, +"formula":"Cu" +}, +{ +"id":"malACP_c", +"name":"Malonyl-[acyl-carrier protein]", +"compartment":"c", +"charge":-2, +"formula":"C3H2O3RS" +}, +{ +"id":"2mahmp_c", +"name":"2-Methyl-4-amino-5-hydroxymethylpyrimidine diphosphate", +"compartment":"c", +"charge":-3, +"formula":"C6H8N3O7P2" +}, +{ +"id":"5g2oxpt_c", +"name":"5-Guanidino-2-oxopentanoate", +"compartment":"c", +"charge":0, +"formula":"C6H11N3O3" +}, +{ +"id":"phpyr_c", +"name":"Phenylpyruvate", +"compartment":"c", +"charge":-1, +"formula":"C9H7O3" +}, +{ +"id":"fe2_c", +"name":"Fe2+", +"compartment":"c", +"charge":2, +"formula":"Fe" +}, +{ +"id":"phyQ_c", +"name":"Phylloquinone", +"compartment":"c", +"charge":0, +"formula":"C31H46O2" +}, +{ +"id":"toct2eACP_c", +"name":"trans-Oct-2-enoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C8H13OSR" +}, +{ +"id":"dgdp_c", +"name":"dGDP", +"compartment":"c", +"charge":-3, +"formula":"C10H12N5O10P2" +}, +{ +"id":"uaccg_c", +"name":"UDP-N-acetyl-3-(1-carboxyvinyl)-D-glucosamine", +"compartment":"c", +"charge":-3, +"formula":"C20H26N3O19P2" +}, +{ +"id":"acald_c", +"name":"Acetaldehyde", +"compartment":"c", +"charge":0, +"formula":"C2H4O" +}, +{ +"id":"o2s_c", +"name":"O2-", +"compartment":"c", +"charge":-1, +"formula":"O2" +}, +{ +"id":"phytfl_c", +"name":"Phytofluene", +"compartment":"c", +"charge":0, +"formula":"C40H62" +}, +{ +"id":"alac__S_c", +"name":"2-Acetolactate", +"compartment":"c", +"charge":-1, +"formula":"C5H7O4" +}, +{ +"id":"3hmop_c", +"name":"(R)-3-Hydroxy-3-methyl-2-oxopentanoate", +"compartment":"c", +"charge":-1, +"formula":"C6H9O4" +}, +{ +"id":"4abz_c", +"name":"4-Aminobenzoate", +"compartment":"c", +"charge":-1, +"formula":"C7H6NO2" +}, +{ +"id":"prbamp_c", +"name":"Phosphoribosyl-AMP", +"compartment":"c", +"charge":-4, +"formula":"C15H19N5O14P2" +}, +{ +"id":"ca2_c", +"name":"Calcium", +"compartment":"c", +"charge":2, +"formula":"Ca" +}, +{ +"id":"glyclt_c", +"name":"Glycolate", +"compartment":"c", +"charge":-1, +"formula":"C2H3O3" +}, +{ +"id":"butACP_c", +"name":"Butyryl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C4H7OSR" +}, +{ +"id":"4ppcys_c", +"name":"(R)-4'-Phosphopantothenoyl-L-cysteine", +"compartment":"c", +"charge":-3, +"formula":"C12H20N2O9PS" +}, +{ +"id":"udpgal_c", +"name":"UDP-D-galactose", +"compartment":"c", +"charge":-2, +"formula":"C15H22N2O17P2" +}, +{ +"id":"f6p_c", +"name":"D-Fructose 6-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C6H11O9P" +}, +{ +"id":"lac__D_c", +"name":"(R)-Lactate", +"compartment":"c", +"charge":-1, +"formula":"C3H5O3" +}, +{ +"id":"his__L_c", +"name":"L-Histidine", +"compartment":"c", +"charge":0, +"formula":"C6H9N3O2" +}, +{ +"id":"agdpcbi_c", +"name":"Adenosine-GDP-cobinamide", +"compartment":"c", +"charge":-1, +"formula":"C68CoH95N21O21P2" +}, +{ +"id":"s17bp_c", +"name":"Sedoheptulose 1,7-bisphosphate", +"compartment":"c", +"charge":-4, +"formula":"C7H12O13P2" +}, +{ +"id":"dctp_c", +"name":"dCTP", +"compartment":"c", +"charge":-4, +"formula":"C9H12N3O13P3" +}, +{ +"id":"thf_c", +"name":"Tetrahydrofolate", +"compartment":"c", +"charge":-2, +"formula":"C19H21N7O6" +}, +{ +"id":"25aics_c", +"name":"1-(5'-Phosphoribosyl)-5-amino-4-(N-succinocarboxamide)-imidazole", +"compartment":"c", +"charge":-4, +"formula":"C13H15N4O12P" +}, +{ +"id":"ni2_c", +"name":"Nickel", +"compartment":"c", +"charge":2, +"formula":"Ni" +}, +{ +"id":"dtdp4d6dg_c", +"name":"4,6-Dideoxy-4-oxo-dTDP-D-glucose", +"compartment":"c", +"charge":-2, +"formula":"C16H22N2O15P2" +}, +{ +"id":"malcoa_c", +"name":"Malonyl-CoA", +"compartment":"c", +"charge":-5, +"formula":"C24H33N7O19P3S" +}, +{ +"id":"fum_c", +"name":"Fumarate", +"compartment":"c", +"charge":-2, +"formula":"C4H2O4" +}, +{ +"id":"bm_cw_c", +"name":"Cell wall component of biomass", +"compartment":"c", +"charge":0, +"formula":"H64.91952478P0.054836981C40.939065111O23.373969692N4.797082835R-1.0" +}, +{ +"id":"ACP_c", +"name":"Acyl-carrier protein", +"compartment":"c", +"charge":-1, +"formula":"HSR" +}, +{ +"id":"mlthf_c", +"name":"5,10-Methylenetetrahydrofolate", +"compartment":"c", +"charge":-2, +"formula":"C20H21N7O6" +}, +{ +"id":"h_p", +"name":"H+", +"compartment":"p", +"charge":1, +"formula":"H" +}, +{ +"id":"dhf_c", +"name":"Dihydrofolate", +"compartment":"c", +"charge":-2, +"formula":"C19H19N7O6" +}, +{ +"id":"dudp_c", +"name":"dUDP", +"compartment":"c", +"charge":-3, +"formula":"C9H11N2O11P2" +}, +{ +"id":"3omrsACP_c", +"name":"3-Oxotetradecanoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C14H25O2SR" +}, +{ +"id":"trnaglu_c", +"name":"tRNA(Glu)", +"compartment":"c", +"charge":0, +"formula":"C15H21N5O10PR" +}, +{ +"id":"pre6a_c", +"name":"Precorrin 6X", +"compartment":"c", +"charge":-7, +"formula":"C44H47N4O16" +}, +{ +"id":"ametam_c", +"name":"S-Adenosylmethioninamine", +"compartment":"c", +"charge":2, +"formula":"C14H24N6O3S" +}, +{ +"id":"3hhexACP_c", +"name":"(R)-3-Hydroxyhexanoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C6H11O2SR" +}, +{ +"id":"4ppan_c", +"name":"D-4'-Phosphopantothenate", +"compartment":"c", +"charge":-3, +"formula":"C9H15NO8P" +}, +{ +"id":"quln_c", +"name":"Pyridine-2,3-dicarboxylate", +"compartment":"c", +"charge":-2, +"formula":"C7H3NO4" +}, +{ +"id":"frdp_c", +"name":"trans,trans-Farnesyl diphosphate", +"compartment":"c", +"charge":-3, +"formula":"C15H25O7P2" +}, +{ +"id":"glyald_c", +"name":"D-Glyceraldehyde", +"compartment":"c", +"charge":0, +"formula":"C3H6O3" +}, +{ +"id":"uacgam_c", +"name":"UDP-N-acetyl-D-glucosamine", +"compartment":"c", +"charge":-2, +"formula":"C17H25N3O17P2" +}, +{ +"id":"pram_c", +"name":"5-Phosphoribosylamine", +"compartment":"c", +"charge":-1, +"formula":"C5H11NO7P" +}, +{ +"id":"26dap__M_c", +"name":"meso-2,6-Diaminoheptanedioate", +"compartment":"c", +"charge":0, +"formula":"C7H14N2O4" +}, +{ +"id":"gdpmann_c", +"name":"GDP-mannose", +"compartment":"c", +"charge":-2, +"formula":"C16H23N5O16P2" +}, +{ +"id":"db4p_c", +"name":"3,4-Dihydroxy-2-butanone 4-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C4H7O6P" +}, +{ +"id":"norsp_c", +"name":"Neurosporene", +"compartment":"c", +"charge":0, +"formula":"C40H58" +}, +{ +"id":"actACP_c", +"name":"Acetoacetyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C4H5O2RS" +}, +{ +"id":"actp_c", +"name":"Acetyl phosphate", +"compartment":"c", +"charge":-2, +"formula":"C2H3O5P" +}, +{ +"id":"ugmd_c", +"name":"UDP-N-acetylmuramoyl-L-alanyl-D-gamma-glutamyl-meso-2,6-diaminopimelate", +"compartment":"c", +"charge":-4, +"formula":"C35H51N7O26P2" +}, +{ +"id":"s7p_c", +"name":"Sedoheptulose 7-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C7H13O10P" +}, +{ +"id":"cbm_c", +"name":"Carbamate", +"compartment":"c", +"charge":-1, +"formula":"CH2NO2" +}, +{ +"id":"co2_c", +"name":"CO2", +"compartment":"c", +"charge":0, +"formula":"CO2" +}, +{ +"id":"zeax_c", +"name":"Zeaxanthin", +"compartment":"c", +"charge":0, +"formula":"C40H56O2" +}, +{ +"id":"ptrc_c", +"name":"Putrescine", +"compartment":"c", +"charge":2, +"formula":"C4H14N2" +}, +{ +"id":"adp_c", +"name":"ADP", +"compartment":"c", +"charge":-3, +"formula":"C10H12N5O10P2" +}, +{ +"id":"ncam_c", +"name":"Nicotinamide", +"compartment":"c", +"charge":0, +"formula":"C6H6N2O" +}, +{ +"id":"3a2oxpp_c", +"name":"3-Amino-2-oxopropyl phosphate", +"compartment":"c", +"charge":-1, +"formula":"C3H7NO5P" +}, +{ +"id":"aspsa_c", +"name":"L-Aspartate 4-semialdehyde", +"compartment":"c", +"charge":0, +"formula":"C4H7NO3" +}, +{ +"id":"tdec2eACP_c", +"name":"trans-Dec-2-enoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C10H17OSR" +}, +{ +"id":"phom_c", +"name":"O-Phospho-L-homoserine", +"compartment":"c", +"charge":-2, +"formula":"C4H8NO6P" +}, +{ +"id":"amylose_c", +"name":"Amylose", +"compartment":"c", +"charge":0, +"formula":"HR" +}, +{ +"id":"5mdr1p_c", +"name":"S-Methyl-5-thio-D-ribose 1-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C6H11O7PS" +}, +{ +"id":"rb15bp_cx", +"name":"D-Ribulose 1,5-bisphosphate", +"compartment":"x", +"charge":-4, +"formula":"C5H8O11P2" +}, +{ +"id":"bcryptox_c", +"name":"beta-Cryptoxanthin", +"compartment":"c", +"charge":0, +"formula":"C40H56O" +}, +{ +"id":"spmd_c", +"name":"Spermidine", +"compartment":"c", +"charge":3, +"formula":"C7H22N3" +}, +{ +"id":"udpsq_c", +"name":"UDP-6-sulfoquinovose", +"compartment":"c", +"charge":-3, +"formula":"C15H21N2O19P2S" +}, +{ +"id":"h2_c", +"name":"Hydrogen", +"compartment":"c", +"charge":0, +"formula":"H2" +}, +{ +"id":"adocbip_c", +"name":"Adenosyl cobinamide phosphate", +"compartment":"c", +"charge":-1, +"formula":"C58CoH83N16O14P" +}, +{ +"id":"phycy_c", +"name":"(3Z)-Phycocyanobilin", +"compartment":"c", +"charge":-2, +"formula":"C33H36N4O6" +}, +{ +"id":"cbmp_c", +"name":"N-Carbamoylputrescine", +"compartment":"c", +"charge":1, +"formula":"C5H14N3O" +}, +{ +"id":"nadh_c", +"name":"NADH", +"compartment":"c", +"charge":-2, +"formula":"C21H27N7O14P2" +}, +{ +"id":"aps_c", +"name":"Adenylyl sulfate", +"compartment":"c", +"charge":-2, +"formula":"C10H12N5O10PS" +}, +{ +"id":"dpcoa_c", +"name":"Dephospho-CoA", +"compartment":"c", +"charge":-2, +"formula":"C21H33N7O13P2S" +}, +{ +"id":"xu5p__D_c", +"name":"D-Xylulose 5-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C5H9O8P" +}, +{ +"id":"no2_c", +"name":"Nitrite", +"compartment":"c", +"charge":-1, +"formula":"NO2" +}, +{ +"id":"4hbz_c", +"name":"4-Hydroxybenzoate", +"compartment":"c", +"charge":-1, +"formula":"C7H5O3" +}, +{ +"id":"3odecACP_c", +"name":"3-Oxodecanoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C10H17O2SR" +}, +{ +"id":"dhnpt_c", +"name":"2-Amino-4-hydroxy-6-(D-erythro-1,2,3-trihydroxypropyl)-7,8-", +"compartment":"c", +"charge":0, +"formula":"C9H13N5O4" +}, +{ +"id":"5aprbu_c", +"name":"5-Amino-6-(5'-phosphoribitylamino)uracil", +"compartment":"c", +"charge":-2, +"formula":"C9H15N4O9P" +}, +{ +"id":"iasp_c", +"name":"Iminoaspartate", +"compartment":"c", +"charge":-2, +"formula":"C4H3NO4" +}, +{ +"id":"nmn_c", +"name":"Nicotinamide D-ribonucleotide", +"compartment":"c", +"charge":-1, +"formula":"C11H14N2O8P" +}, +{ +"id":"bm_pigm_c", +"name":"Pigment component of biomass", +"compartment":"c", +"charge":0, +"formula":"H85.915933451C64.636061545Mg0.659309453O5.045035935N2.879863692R-1.0" +}, +{ +"id":"2cpr5p_c", +"name":"1-(2-Carboxyphenylamino)-1-deoxy-D-ribulose 5-phosphate", +"compartment":"c", +"charge":-3, +"formula":"C12H13NO9P" +}, +{ +"id":"pchlld_c", +"name":"Protochlorophyllide", +"compartment":"c", +"charge":-1, +"formula":"C35H31MgN4O5" +}, +{ +"id":"o2_u", +"name":"Oxygen", +"compartment":"u", +"charge":0, +"formula":"O2" +}, +{ +"id":"ala__L_c", +"name":"L-Alanine", +"compartment":"c", +"charge":0, +"formula":"C3H7NO2" +}, +{ +"id":"3c2hmp_c", +"name":"(2R,3S)-3-Isopropylmalate", +"compartment":"c", +"charge":-2, +"formula":"C7H10O5" +}, +{ +"id":"pyr_c", +"name":"Pyruvate", +"compartment":"c", +"charge":-1, +"formula":"C3H3O3" +}, +{ +"id":"hco3_c", +"name":"HCO3-", +"compartment":"c", +"charge":-1, +"formula":"CHO3" +}, +{ +"id":"pan4p_c", +"name":"Pantetheine 4'-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C11H21N2O7PS" +}, +{ +"id":"succ_c", +"name":"Succinate", +"compartment":"c", +"charge":-2, +"formula":"C4H4O4" +}, +{ +"id":"citac_c", +"name":"2-Methylmaleate", +"compartment":"c", +"charge":-2, +"formula":"C5H4O4" +}, +{ +"id":"h2o_c", +"name":"H2O", +"compartment":"c", +"charge":0, +"formula":"H2O" +}, +{ +"id":"h_c", +"name":"H+", +"compartment":"c", +"charge":1, +"formula":"H" +}, +{ +"id":"ugmda_c", +"name":"UDP-N-acetylmuramoyl-L-alanyl-D-glutamyl-6-carboxy-L-lysyl-D-alanyl-D-alanine", +"compartment":"c", +"charge":-4, +"formula":"C41H61N9O28P2" +}, +{ +"id":"pq_um", +"name":"Plastoquinone-9", +"compartment":"m", +"charge":0, +"formula":"C53H80O2" +}, +{ +"id":"man6p_c", +"name":"D-Mannose 6-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C6H11O9P" +}, +{ +"id":"cobalt2_c", +"name":"Cobalt ion", +"compartment":"c", +"charge":2, +"formula":"Co" +}, +{ +"id":"gam1p_c", +"name":"alpha-D-Glucosamine 1-phosphate", +"compartment":"c", +"charge":-1, +"formula":"C6H13NO8P" +}, +{ +"id":"argsuc_c", +"name":"N-(L-Arginino)succinate", +"compartment":"c", +"charge":-1, +"formula":"C10H17N4O6" +}, +{ +"id":"dhap_c", +"name":"Glycerone phosphate", +"compartment":"c", +"charge":-2, +"formula":"C3H5O6P" +}, +{ +"id":"mn2_c", +"name":"Manganese", +"compartment":"c", +"charge":2, +"formula":"Mn" +}, +{ +"id":"u3hga2_c", +"name":"UDP-3-O-(3-hydroxyhexadecanoyl)-D-glucosamine", +"compartment":"c", +"charge":-1, +"formula":"C31H54N3O18P2" +}, +{ +"id":"sprm_c", +"name":"Spermine", +"compartment":"c", +"charge":4, +"formula":"C10H30N4" +}, +{ +"id":"2h3oppan_c", +"name":"2-Hydroxy-3-oxopropanoate", +"compartment":"c", +"charge":-1, +"formula":"C3H3O4" +}, +{ +"id":"2obut_c", +"name":"2-Oxobutanoate", +"compartment":"c", +"charge":-1, +"formula":"C4H5O3" +}, +{ +"id":"dtmp_c", +"name":"dTMP", +"compartment":"c", +"charge":-2, +"formula":"C10H13N2O8P" +}, +{ +"id":"fpram_c", +"name":"2-(Formamido)-N1-(5'-phosphoribosyl)acetamidine", +"compartment":"c", +"charge":-1, +"formula":"C8H15N3O8P" +}, +{ +"id":"ump_c", +"name":"UMP", +"compartment":"c", +"charge":-2, +"formula":"C9H11N2O9P" +}, +{ +"id":"3pg_cx", +"name":"3-Phospho-D-glycerate", +"compartment":"x", +"charge":-3, +"formula":"C3H4O7P" +}, +{ +"id":"pq_cm", +"name":"Plastoquinone-9", +"compartment":"m", +"charge":0, +"formula":"C53H80O2" +}, +{ +"id":"ahdt_c", +"name":"2-Amino-4-hydroxy-6-(erythro-1,2,3-trihydroxypropyl)dihydropteridinetriphosphate", +"compartment":"c", +"charge":-4, +"formula":"C9H12N5O13P3" +}, +{ +"id":"4mop_c", +"name":"4-Methyl-2-oxopentanoate", +"compartment":"c", +"charge":-1, +"formula":"C6H9O3" +}, +{ +"id":"npdp_c", +"name":"all-trans-Nonaprenyl diphosphate", +"compartment":"c", +"charge":-3, +"formula":"C45H73O7P2" +}, +{ +"id":"dhor__S_c", +"name":"(S)-Dihydroorotate", +"compartment":"c", +"charge":-1, +"formula":"C5H5N2O4" +}, +{ +"id":"3opalmACP_c", +"name":"3-Oxohexadecanoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C16H29O2RS" +}, +{ +"id":"glx_c", +"name":"Glyoxylate", +"compartment":"c", +"charge":-1, +"formula":"C2HO3" +}, +{ +"id":"thdp_c", +"name":"2,3,4,5-Tetrahydrodipicolinate", +"compartment":"c", +"charge":-2, +"formula":"C7H7NO4" +}, +{ +"id":"fprica_c", +"name":"1-(5'-Phosphoribosyl)-5-formamido-4-imidazolecarboxamide", +"compartment":"c", +"charge":-2, +"formula":"C10H13N4O9P" +}, +{ +"id":"adocbl_c", +"name":"Cobamide coenzyme", +"compartment":"c", +"charge":0, +"formula":"C72CoH100N18O17P" +}, +{ +"id":"thr__L_c", +"name":"L-Threonine", +"compartment":"c", +"charge":0, +"formula":"C4H9NO3" +}, +{ +"id":"so3_c", +"name":"Sulfite", +"compartment":"c", +"charge":-2, +"formula":"SO3" +}, +{ +"id":"2m6sbenzq_c", +"name":"2-Methyl-6-solanyl-1,4-benzoquinol", +"compartment":"c", +"charge":0, +"formula":"C52H80O2" +}, +{ +"id":"hco3_cx", +"name":"HCO3-", +"compartment":"x", +"charge":-1, +"formula":"CHO3" +}, +{ +"id":"glu5p_c", +"name":"L-Glutamyl 5-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C5H8NO7P" +}, +{ +"id":"3hmrsACP_c", +"name":"(3R)-3-Hydroxytetradecanoyl-[acyl-carrier protein]", +"compartment":"c", +"charge":-1, +"formula":"C14H27O2SR" +}, +{ +"id":"4c2me_c", +"name":"4-(Cytidine 5'-diphospho)-2-C-methyl-D-erythritol", +"compartment":"c", +"charge":-2, +"formula":"C14H23N3O14P2" +}, +{ +"id":"damp_c", +"name":"dAMP", +"compartment":"c", +"charge":-2, +"formula":"C10H12N5O6P" +}, +{ +"id":"histda_c", +"name":"L-histidinal", +"compartment":"c", +"charge":1, +"formula":"C6H10N3O" +}, +{ +"id":"gthox_c", +"name":"Glutathione disulfide", +"compartment":"c", +"charge":-2, +"formula":"C20H30N6O12S2" +}, +{ +"id":"amp_c", +"name":"AMP", +"compartment":"c", +"charge":-2, +"formula":"C10H12N5O7P" +}, +{ +"id":"23dhmb_c", +"name":"2,3-Dihydroxy-3-methylbutanoate", +"compartment":"c", +"charge":-1, +"formula":"C5H9O4" +}, +{ +"id":"5mdru1p_c", +"name":"S-Methyl-5-thio-D-ribulose 1-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C6H11O7PS" +}, +{ +"id":"mppp9_c", +"name":"Magnesium protoporphyrin", +"compartment":"c", +"charge":-2, +"formula":"C34H30MgN4O4" +}, +{ +"id":"cdp_c", +"name":"CDP", +"compartment":"c", +"charge":-3, +"formula":"C9H12N3O11P2" +}, +{ +"id":"dcaACP_c", +"name":"Decanoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C10H19ORS" +}, +{ +"id":"2me4p_c", +"name":"2-C-Methyl-D-erythritol 4-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C5H11O7P" +}, +{ +"id":"3hpalmACP_c", +"name":"(3R)-3-Hydroxypalmitoyl-[acyl-carrier protein]", +"compartment":"c", +"charge":-1, +"formula":"C16H31O2SR" +}, +{ +"id":"2ahbut_c", +"name":"(S)-2-Aceto-2-hydroxybutanoate", +"compartment":"c", +"charge":-1, +"formula":"C6H9O4" +}, +{ +"id":"caro_c", +"name":"beta-Carotene", +"compartment":"c", +"charge":0, +"formula":"C40H56" +}, +{ +"id":"3dhq_c", +"name":"3-Dehydroquinate", +"compartment":"c", +"charge":-1, +"formula":"C7H9O6" +}, +{ +"id":"4adcho_c", +"name":"4-Amino-4-deoxychorismate", +"compartment":"c", +"charge":-1, +"formula":"C10H10NO5" +}, +{ +"id":"glu__L_c", +"name":"L-Glutamate", +"compartment":"c", +"charge":-1, +"formula":"C5H8NO4" +}, +{ +"id":"bm_cofactors_c", +"name":"Biomass metabolite: cofactors and ions", +"compartment":"c", +"charge":0, +"formula":"H96.4365P0.8756C37.9375K0.0017O6.9303S0.1371Na0.0001Fe1.7854N14.7005R-1.0Co0.0057" +}, +{ +"id":"34hpp_c", +"name":"3-(4-Hydroxyphenyl)pyruvate", +"compartment":"c", +"charge":-1, +"formula":"C9H7O4" +}, +{ +"id":"ctp_c", +"name":"CTP", +"compartment":"c", +"charge":-4, +"formula":"C9H12N3O14P3" +}, +{ +"id":"pqh2_cm", +"name":"Plastoquinol-9", +"compartment":"m", +"charge":0, +"formula":"C53H82O2" +}, +{ +"id":"fad_c", +"name":"FAD", +"compartment":"c", +"charge":-2, +"formula":"C27H31N9O15P2" +}, +{ +"id":"2shchc_c", +"name":"(1R,6R)-6-Hydroxy-2-succinylcyclohexa-2,4-diene-1-carboxylate", +"compartment":"c", +"charge":-2, +"formula":"C11H10O6" +}, +{ +"id":"dhna_c", +"name":"1,4-Dihydroxy-2-naphthoate", +"compartment":"c", +"charge":-1, +"formula":"C11H7O4" +}, +{ +"id":"co2_cx", +"name":"CO2", +"compartment":"x", +"charge":0, +"formula":"CO2" +}, +{ +"id":"acg5sa_c", +"name":"N-Acetyl-L-glutamate 5-semialdehyde", +"compartment":"c", +"charge":-1, +"formula":"C7H10NO4" +}, +{ +"id":"ala__D_c", +"name":"D-Alanine", +"compartment":"c", +"charge":0, +"formula":"C3H7NO2" +}, +{ +"id":"aicar_c", +"name":"1-(5'-Phosphoribosyl)-5-amino-4-imidazolecarboxamide", +"compartment":"c", +"charge":-2, +"formula":"C9H13N4O8P" +}, +{ +"id":"g6p_c", +"name":"D-Glucose 6-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C6H11O9P" +}, +{ +"id":"glu5sa_c", +"name":"L-Glutamate 5-semialdehyde", +"compartment":"c", +"charge":0, +"formula":"C5H9NO3" +}, +{ +"id":"zcarote_c", +"name":"zeta-Carotene", +"compartment":"c", +"charge":0, +"formula":"C40H60" +}, +{ +"id":"ac_c", +"name":"Acetate", +"compartment":"c", +"charge":-1, +"formula":"C2H3O2" +}, +{ +"id":"pre3b_c", +"name":"Precorrin 3B", +"compartment":"c", +"charge":-7, +"formula":"C43H43N4O17" +}, +{ +"id":"mthgxl_c", +"name":"Methylglyoxal", +"compartment":"c", +"charge":0, +"formula":"C3H4O2" +}, +{ +"id":"3mop_c", +"name":"(S)-3-Methyl-2-oxopentanoic acid", +"compartment":"c", +"charge":-1, +"formula":"C6H9O3" +}, +{ +"id":"5drib_c", +"name":"5-Deoxy-D-ribose", +"compartment":"c", +"charge":0, +"formula":"C5H10O4" +}, +{ +"id":"e4hglu_c", +"name":"L-erythro-4-Hydroxyglutamate", +"compartment":"c", +"charge":-1, +"formula":"C5H8NO5" +}, +{ +"id":"dgtp_c", +"name":"dGTP", +"compartment":"c", +"charge":-4, +"formula":"C10H12N5O13P3" +}, +{ +"id":"cys__L_c", +"name":"L-Cysteine", +"compartment":"c", +"charge":0, +"formula":"C3H7NO2S" +}, +{ +"id":"bm_rna_c", +"name":"RNA component of biomass", +"compartment":"c", +"charge":0, +"formula":"H33.59035P3.1168C29.60979O21.81767N11.77262R-1.0" +}, +{ +"id":"hisp_c", +"name":"L-Histidinol phosphate", +"compartment":"c", +"charge":-1, +"formula":"C6H11N3O4P" +}, +{ +"id":"lyc_c", +"name":"Lycopene", +"compartment":"c", +"charge":0, +"formula":"C40H56" +}, +{ +"id":"citr__L_c", +"name":"L-Citrulline", +"compartment":"c", +"charge":0, +"formula":"C6H13N3O3" +}, +{ +"id":"2ahhmp_c", +"name":"2-Amino-4-hydroxy-6-hydroxymethyl-7,8-dihydropteridine", +"compartment":"c", +"charge":0, +"formula":"C7H9N5O2" +}, +{ +"id":"pdx5p_c", +"name":"Pyridoxine phosphate", +"compartment":"c", +"charge":-2, +"formula":"C8H10NO6P" +}, +{ +"id":"fru_c", +"name":"D-Fructose", +"compartment":"c", +"charge":0, +"formula":"C6H12O6" +}, +{ +"id":"2mecdp_c", +"name":"2-C-Methyl-D-erythritol 2,4-cyclodiphosphate", +"compartment":"c", +"charge":-2, +"formula":"C5H10O9P2" +}, +{ +"id":"cbasp_c", +"name":"N-Carbamoyl-L-aspartate", +"compartment":"c", +"charge":-2, +"formula":"C5H6N2O5" +}, +{ +"id":"dnad_c", +"name":"Deamino-NAD+", +"compartment":"c", +"charge":-2, +"formula":"C21H24N6O15P2" +}, +{ +"id":"datp_c", +"name":"dATP", +"compartment":"c", +"charge":-4, +"formula":"C10H12N5O12P3" +}, +{ +"id":"prlp_c", +"name":"N-(5'-Phospho-D-1'-ribulosylformimino)-5-amino-1-(5''-phospho-D-ribosyl)-4-imidazolecarboxamide", +"compartment":"c", +"charge":-4, +"formula":"C15H21N5O15P2" +}, +{ +"id":"toctd2eACP_c", +"name":"(2E)-Octadecenoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C18H33OSR" +}, +{ +"id":"cholphya_c", +"name":"Chlorophyll a", +"compartment":"c", +"charge":0, +"formula":"C55H72MgN4O5" +}, +{ +"id":"glc__D_c", +"name":"D-Glucose", +"compartment":"c", +"charge":0, +"formula":"C6H12O6" +}, +{ +"id":"o2_cx", +"name":"Oxygen", +"compartment":"x", +"charge":0, +"formula":"O2" +}, +{ +"id":"orot5p_c", +"name":"Orotidine 5'-phosphate", +"compartment":"c", +"charge":-3, +"formula":"C10H10N2O11P" +}, +{ +"id":"k_c", +"name":"Potassium", +"compartment":"c", +"charge":1, +"formula":"K" +}, +{ +"id":"amet_c", +"name":"S-Adenosyl-L-methionine", +"compartment":"c", +"charge":1, +"formula":"C15H23N6O5S" +}, +{ +"id":"dtdprmn_c", +"name":"dTDP-6-deoxy-L-mannose", +"compartment":"c", +"charge":-2, +"formula":"C16H24N2O15P2" +}, +{ +"id":"2ippm_c", +"name":"2-Isopropylmaleate", +"compartment":"c", +"charge":-2, +"formula":"C7H8O4" +}, +{ +"id":"pro__L_c", +"name":"L-Proline", +"compartment":"c", +"charge":0, +"formula":"C5H9NO2" +}, +{ +"id":"cpppg3_c", +"name":"Coproporphyrinogen III", +"compartment":"c", +"charge":-4, +"formula":"C36H40N4O8" +}, +{ +"id":"h2mb4p_c", +"name":"1-Hydroxy-2-methyl-2-butenyl 4-diphosphate", +"compartment":"c", +"charge":-3, +"formula":"C5H9O8P2" +}, +{ +"id":"thmmp_c", +"name":"Thiamin monophosphate", +"compartment":"c", +"charge":-1, +"formula":"C12H16N4O4PS" +}, +{ +"id":"cdpglc_c", +"name":"CDP-glucose", +"compartment":"c", +"charge":-2, +"formula":"C15H23N3O16P2" +}, +{ +"id":"xmp_c", +"name":"Xanthosine 5'-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C10H11N4O9P" +}, +{ +"id":"co2dam_c", +"name":"Cob(II)yrinate a,c diamide", +"compartment":"c", +"charge":-4, +"formula":"C45CoH56N6O12" +}, +{ +"id":"fdxox_c", +"name":"Oxidized ferredoxin", +"compartment":"c", +"charge":3, +"formula":"R" +}, +{ +"id":"orn_c", +"name":"L-Ornithine", +"compartment":"c", +"charge":1, +"formula":"C5H13N2O2" +}, +{ +"id":"2ahhmd_c", +"name":"2-Amino-7,8-dihydro-4-hydroxy-6-(diphosphooxymethyl)pteridine", +"compartment":"c", +"charge":-3, +"formula":"C7H8N5O8P2" +}, +{ +"id":"pre6b_c", +"name":"Precorrin 6Y", +"compartment":"c", +"charge":-6, +"formula":"C44H50N4O16" +}, +{ +"id":"gln__L_c", +"name":"L-Glutamine", +"compartment":"c", +"charge":0, +"formula":"C5H10N2O3" +}, +{ +"id":"3ohexACP_c", +"name":"3-Oxohexanoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C6H9O2SR" +}, +{ +"id":"3pg_c", +"name":"3-Phospho-D-glycerate", +"compartment":"c", +"charge":-3, +"formula":"C3H4O7P" +}, +{ +"id":"pheme_c", +"name":"Heme", +"compartment":"c", +"charge":-2, +"formula":"C34H30FeN4O4" +}, +{ +"id":"methf_c", +"name":"5,10-Methenyltetrahydrofolate", +"compartment":"c", +"charge":-1, +"formula":"C20H20N7O6" +}, +{ +"id":"co1dam_c", +"name":"Cob(I)yrinate a,c diamide", +"compartment":"c", +"charge":-5, +"formula":"C45H56CoN6O12" +}, +{ +"id":"mppp9me_c", +"name":"Magnesium protoporphyrin monomethyl ester", +"compartment":"c", +"charge":-1, +"formula":"C35H33MgN4O4" +}, +{ +"id":"bm_dna_c", +"name":"DNA component of biomass", +"compartment":"c", +"charge":0, +"formula":"H36.44203P3.24714C31.57134O19.48279N12.26478R-1.0" +}, +{ +"id":"fe3_c", +"name":"Fe3+", +"compartment":"c", +"charge":3, +"formula":"Fe" +}, +{ +"id":"zn2_c", +"name":"Zinc", +"compartment":"c", +"charge":2, +"formula":"Zn" +}, +{ +"id":"hexACP_c", +"name":"Hexanoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C6H11OSR" +}, +{ +"id":"prephytedp_c", +"name":"Prephytoene diphosphate", +"compartment":"c", +"charge":-3, +"formula":"C40H65O7P2" +}, +{ +"id":"glu1sa_c", +"name":"(S)-4-Amino-5-oxopentanoate", +"compartment":"c", +"charge":0, +"formula":"C5H9NO3" +}, +{ +"id":"chor_c", +"name":"Chorismate", +"compartment":"c", +"charge":-2, +"formula":"C10H8O6" +}, +{ +"id":"4per_c", +"name":"4-Phospho-D-erythronate", +"compartment":"c", +"charge":-3, +"formula":"C4H6O8P" +}, +{ +"id":"hemeA_c", +"name":"Heme A", +"compartment":"c", +"charge":-2, +"formula":"C49FeH54N4O6" +}, +{ +"id":"glucys_c", +"name":"gamma-L-Glutamyl-L-cysteine", +"compartment":"c", +"charge":-1, +"formula":"C8H13N2O5S" +}, +{ +"id":"dmpp_c", +"name":"Dimethylallyl diphosphate", +"compartment":"c", +"charge":-3, +"formula":"C5H9O7P2" +}, +{ +"id":"inost_c", +"name":"myo-Inositol", +"compartment":"c", +"charge":0, +"formula":"C6H12O6" +}, +{ +"id":"4hthdp_c", +"name":"(2S,4S)-4-Hydroxy-2,3,4,5-tetrahydrodipicolinate", +"compartment":"c", +"charge":-2, +"formula":"C7H7NO5" +}, +{ +"id":"applp_c", +"name":"D-1-Aminopropan-2-ol O-phosphate", +"compartment":"c", +"charge":-1, +"formula":"C3H9NO4P" +}, +{ +"id":"oaa_c", +"name":"Oxaloacetate", +"compartment":"c", +"charge":-2, +"formula":"C4H2O5" +}, +{ +"id":"no3_c", +"name":"Nitrate", +"compartment":"c", +"charge":-1, +"formula":"NO3" +}, +{ +"id":"uamag_c", +"name":"UDP-N-acetylmuramoyl-L-alanyl-D-glutamate", +"compartment":"c", +"charge":-4, +"formula":"C28H39N5O23P2" +}, +{ +"id":"dialurate_c", +"name":"Dialurate", +"compartment":"c", +"charge":0, +"formula":"C4H4N2O3" +}, +{ +"id":"gcaro_c", +"name":"gamma-Carotene", +"compartment":"c", +"charge":0, +"formula":"C40H56" +}, +{ +"id":"ser__L_c", +"name":"L-Serine", +"compartment":"c", +"charge":0, +"formula":"C3H7NO3" +}, +{ +"id":"1pyr5c_c", +"name":"(S)-1-Pyrroline-5-carboxylate", +"compartment":"c", +"charge":-1, +"formula":"C5H6NO2" +}, +{ +"id":"ppi_c", +"name":"Diphosphate", +"compartment":"c", +"charge":-3, +"formula":"HO7P2" +}, +{ +"id":"ribflv_c", +"name":"Riboflavin", +"compartment":"c", +"charge":-1, +"formula":"C17H19N4O6" +}, +{ +"id":"tyr__L_c", +"name":"L-Tyrosine", +"compartment":"c", +"charge":0, +"formula":"C9H11NO3" +}, +{ +"id":"pap_c", +"name":"Adenosine 3',5'-bisphosphate", +"compartment":"c", +"charge":-4, +"formula":"C10H11N5O10P2" +}, +{ +"id":"oxa_c", +"name":"Oxalate", +"compartment":"c", +"charge":-2, +"formula":"C2O4" +}, +{ +"id":"25dhpp_c", +"name":"2,5-Diamino-6-(5'-phosphoribosylamino)-4-pyrimidineone", +"compartment":"c", +"charge":-2, +"formula":"C9H14N5O8P" +}, +{ +"id":"3nphb_c", +"name":"3-Nonaprenyl-4-hydroxybenzoate", +"compartment":"c", +"charge":-1, +"formula":"C52H77O3" +}, +{ +"id":"h2o_p", +"name":"H2O", +"compartment":"p", +"charge":0, +"formula":"H2O" +}, +{ +"id":"pre8_c", +"name":"Precorrin 8X", +"compartment":"c", +"charge":-7, +"formula":"C45H53N4O14" +}, +{ +"id":"3dhsk_c", +"name":"3-Dehydroshikimate", +"compartment":"c", +"charge":-1, +"formula":"C7H7O5" +}, +{ +"id":"dhpmp_c", +"name":"Dihydroneopterin phosphate", +"compartment":"c", +"charge":-2, +"formula":"C9H12N5O7P" +}, +{ +"id":"glyc__R_c", +"name":"D-Glycerate", +"compartment":"c", +"charge":-1, +"formula":"C3H5O4" +}, +{ +"id":"dad_5_c", +"name":"5'-Deoxyadenosine", +"compartment":"c", +"charge":0, +"formula":"C10H13N5O3" +}, +{ +"id":"2dda7p_c", +"name":"2-Dehydro-3-deoxy-D-arabino-heptonate 7-phosphate", +"compartment":"c", +"charge":-3, +"formula":"C7H10O10P" +}, +{ +"id":"acglu_c", +"name":"N-Acetyl-L-glutamate", +"compartment":"c", +"charge":-2, +"formula":"C7H9NO5" +}, +{ +"id":"imp_c", +"name":"IMP", +"compartment":"c", +"charge":-2, +"formula":"C10H11N4O8P" +}, +{ +"id":"nad_c", +"name":"NAD+", +"compartment":"c", +"charge":-1, +"formula":"C21H26N7O14P2" +}, +{ +"id":"dcamp_c", +"name":"N6-(1,2-Dicarboxyethyl)-AMP", +"compartment":"c", +"charge":-4, +"formula":"C14H14N5O11P" +}, +{ +"id":"bm_carbs_c", +"name":"Biomass metabolite: glycogen and carbohydrates", +"compartment":"c", +"charge":0, +"formula":"H66.6064C36.8088O30.674R4.2584" +}, +{ +"id":"2ahethmpp_c", +"name":"2-(alpha-Hydroxyethyl)thiamine diphosphate", +"compartment":"c", +"charge":-2, +"formula":"C14H20N4O8P2S" +}, +{ +"id":"imacp_c", +"name":"3-(Imidazol-4-yl)-2-oxopropyl phosphate", +"compartment":"c", +"charge":-2, +"formula":"C6H7N2O5P" +}, +{ +"id":"dmlz_c", +"name":"6,7-Dimethyl-8-(1-D-ribityl)lumazine", +"compartment":"c", +"charge":0, +"formula":"C13H18N4O6" +}, +{ +"id":"g3p_c", +"name":"D-Glyceraldehyde 3-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C3H5O6P" +}, +{ +"id":"dadp_c", +"name":"dADP", +"compartment":"c", +"charge":-3, +"formula":"C10H12N5O9P2" +}, +{ +"id":"o2_p", +"name":"Oxygen", +"compartment":"p", +"charge":0, +"formula":"O2" +}, +{ +"id":"fmnh2_c", +"name":"Reduced FMN", +"compartment":"c", +"charge":-2, +"formula":"C17H21N4O9P" +}, +{ +"id":"nadph_c", +"name":"NADPH", +"compartment":"c", +"charge":-4, +"formula":"C21H26N7O17P3" +}, +{ +"id":"cbp_c", +"name":"Carbamoyl phosphate", +"compartment":"c", +"charge":-2, +"formula":"CH2NO5P" +}, +{ +"id":"mi3p__D_c", +"name":"1D-myo-Inositol 3-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C6H11O9P" +}, +{ +"id":"tmrs2eACP_c", +"name":"trans-Tetradec-2-enoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C14H25OSR" +}, +{ +"id":"6pgl_c", +"name":"D-Glucono-1,5-lactone 6-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C6H9O9P" +}, +{ +"id":"ppp9_c", +"name":"Protoporphyrin", +"compartment":"c", +"charge":-2, +"formula":"C34H32N4O4" +}, +{ +"id":"mobd_c", +"name":"Molybdate", +"compartment":"c", +"charge":-2, +"formula":"MoO4" +}, +{ +"id":"bm_memlip_c", +"name":"Lipid component of biomass", +"compartment":"c", +"charge":0, +"formula":"H101.475169041P0.2726231733C54.8993880528O14.1276624433S0.12040388398R-1.0" +}, +{ +"id":"dad_2_c", +"name":"Deoxyadenosine", +"compartment":"c", +"charge":0, +"formula":"C10H13N5O3" +}, +{ +"id":"biliverd_c", +"name":"Biliverdin", +"compartment":"c", +"charge":-2, +"formula":"C33H32N4O6" +}, +{ +"id":"pre4_c", +"name":"Precorrin 4", +"compartment":"c", +"charge":-8, +"formula":"C44H44N4O17" +}, +{ +"id":"ggdp_c", +"name":"Geranylgeranyl diphosphate", +"compartment":"c", +"charge":-3, +"formula":"C20H33O7P2" +}, +{ +"id":"pre3a_c", +"name":"Precorrin 3A", +"compartment":"c", +"charge":-7, +"formula":"C43H43N4O16" +}, +{ +"id":"rb15bp_c", +"name":"D-Ribulose 1,5-bisphosphate", +"compartment":"c", +"charge":-4, +"formula":"C5H8O11P2" +}, +{ +"id":"3hbutACP_c", +"name":"(3R)-3-Hydroxybutanoyl-[acyl-carrier protein]", +"compartment":"c", +"charge":-1, +"formula":"C4H7O2SR" +}, +{ +"id":"histd_c", +"name":"L-Histidinol", +"compartment":"c", +"charge":1, +"formula":"C6H12N3O" +}, +{ +"id":"pphn_c", +"name":"Prephenate", +"compartment":"c", +"charge":-2, +"formula":"C10H8O6" +}, +{ +"id":"nicrnt_c", +"name":"Nicotinate D-ribonucleotide", +"compartment":"c", +"charge":-2, +"formula":"C11H12NO9P" +}, +{ +"id":"3ooctdACP_c", +"name":"3-Oxostearoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C18H33O2SR" +}, +{ +"id":"atp_c", +"name":"ATP", +"compartment":"c", +"charge":-4, +"formula":"C10H12N5O13P3" +}, +{ +"id":"lipidX2_c", +"name":"2,3-Bis(3-hydroxyhexadecanoyl)-beta-D-glucosaminyl 1-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C38H72NO12P" +}, +{ +"id":"2pg_c", +"name":"2-Phospho-D-glycerate", +"compartment":"c", +"charge":-3, +"formula":"C3H4O7P" +}, +{ +"id":"pppg9_c", +"name":"Protoporphyrinogen IX", +"compartment":"c", +"charge":-2, +"formula":"C34H38N4O4" +}, +{ +"id":"uagmda_c", +"name":"Undecaprenyl-diphospho-N-acetylmuramoyl-L-alanyl-D-glutamyl-meso-2,6-diaminopimeloyl-D-alanyl-D-alanine", +"compartment":"c", +"charge":-4, +"formula":"C87H139N7O23P2" +}, +{ +"id":"met__L_c", +"name":"L-Methionine", +"compartment":"c", +"charge":0, +"formula":"C5H11NO2S" +}, +{ +"id":"phyto_c", +"name":"Phytoene", +"compartment":"c", +"charge":0, +"formula":"C40H64" +}, +{ +"id":"4hpro__LT_c", +"name":"trans-4-Hydroxy-L-proline", +"compartment":"c", +"charge":0, +"formula":"C5H9NO3" +}, +{ +"id":"1p3h5c_c", +"name":"L-1-Pyrroline-3-hydroxy-5-carboxylate", +"compartment":"c", +"charge":-1, +"formula":"C5H6NO3" +}, +{ +"id":"hemeO_c", +"name":"Heme O", +"compartment":"c", +"charge":-2, +"formula":"C49FeH56N4O5" +}, +{ +"id":"lgt__S_c", +"name":"(R)-S-Lactoylglutathione", +"compartment":"c", +"charge":-1, +"formula":"C13H20N3O8S" +}, +{ +"id":"h2o_u", +"name":"H2O", +"compartment":"u", +"charge":0, +"formula":"H2O" +}, +{ +"id":"adcobhex_c", +"name":"Adenosyl cobyrinate hexaamide", +"compartment":"c", +"charge":0, +"formula":"C55CoH76N15O11" +}, +{ +"id":"co_c", +"name":"CO", +"compartment":"c", +"charge":0, +"formula":"CO" +}, +{ +"id":"sbzcoa_c", +"name":"2-Succinylbenzoyl-CoA", +"compartment":"c", +"charge":-5, +"formula":"C32H39N7O20P3S" +}, +{ +"id":"e4p_c", +"name":"D-Erythrose 4-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C4H7O7P" +}, +{ +"id":"accoa_c", +"name":"Acetyl-CoA", +"compartment":"c", +"charge":-4, +"formula":"C23H34N7O17P3S" +}, +{ +"id":"asn__L_c", +"name":"L-Asparagine", +"compartment":"c", +"charge":0, +"formula":"C4H8N2O3" +}, +{ +"id":"mal__L_c", +"name":"(S)-Malate", +"compartment":"c", +"charge":-2, +"formula":"C4H4O5" +}, +{ +"id":"ocdcaACP_c", +"name":"Octadecanoyl-[acyl-carrier protein]", +"compartment":"c", +"charge":-1, +"formula":"C18H35OSR" +}, +{ +"id":"ichor_c", +"name":"Isochorismate", +"compartment":"c", +"charge":-2, +"formula":"C10H8O6" +}, +{ +"id":"pant__R_c", +"name":"(R)-Pantoate", +"compartment":"c", +"charge":-1, +"formula":"C6H11O4" +}, +{ +"id":"phdp_c", +"name":"Phytyl diphosphate", +"compartment":"c", +"charge":-3, +"formula":"C20H39O7P2" +}, +{ +"id":"r5p_c", +"name":"D-Ribose 5-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C5H9O8P" +}, +{ +"id":"grdp_c", +"name":"Geranyl diphosphate", +"compartment":"c", +"charge":-3, +"formula":"C10H17O7P2" +}, +{ +"id":"ohpb_c", +"name":"2-Oxo-3-hydroxy-4-phosphobutanoate", +"compartment":"c", +"charge":-3, +"formula":"C4H4O8P" +}, +{ +"id":"ipdp_c", +"name":"Isopentenyl diphosphate", +"compartment":"c", +"charge":-3, +"formula":"C5H9O7P2" +}, +{ +"id":"arg__L_c", +"name":"L-Arginine", +"compartment":"c", +"charge":1, +"formula":"C6H15N4O2" +}, +{ +"id":"phe__L_c", +"name":"L-Phenylalanine", +"compartment":"c", +"charge":0, +"formula":"C9H11NO2" +}, +{ +"id":"acgam1p_c", +"name":"N-Acetyl-alpha-D-glucosamine 1-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C8H14NO9P" +}, +{ +"id":"nadp_c", +"name":"NADP+", +"compartment":"c", +"charge":-3, +"formula":"C21H25N7O17P3" +}, +{ +"id":"3ig3p_c", +"name":"Indoleglycerol phosphate", +"compartment":"c", +"charge":-2, +"formula":"C11H12NO6P" +}, +{ +"id":"val__L_c", +"name":"L-Valine", +"compartment":"c", +"charge":0, +"formula":"C5H11NO2" +}, +{ +"id":"dmbzid_c", +"name":"Dimethylbenzimidazole", +"compartment":"c", +"charge":0, +"formula":"C9H10N2" +}, +{ +"id":"2a3pp_c", +"name":"2-Amino-3-oxo-4-phosphonooxybutyrate", +"compartment":"c", +"charge":-2, +"formula":"C4H6NO7P" +}, +{ +"id":"3mob_c", +"name":"3-Methyl-2-oxobutanoic acid", +"compartment":"c", +"charge":-1, +"formula":"C5H7O3" +}, +{ +"id":"5prdmbz_c", +"name":"N1-(5-Phospho-alpha-D-ribosyl)-5,6-dimethylbenzimidazole", +"compartment":"c", +"charge":-2, +"formula":"C14H17N2O7P" +}, +{ +"id":"rdmbzi_c", +"name":"alpha-Ribazole", +"compartment":"c", +"charge":0, +"formula":"C14H18N2O4" +}, +{ +"id":"5mthf_c", +"name":"5-Methyltetrahydrofolate", +"compartment":"c", +"charge":-2, +"formula":"C20H23N7O6" +}, +{ +"id":"3hoctACP_c", +"name":"(3R)-3-Hydroxyoctanoyl-[acyl-carrier protein]", +"compartment":"c", +"charge":-1, +"formula":"C8H15O2SR" +}, +{ +"id":"dvpchlda_c", +"name":"Divinylprotochlorophyllide", +"compartment":"c", +"charge":-1, +"formula":"C35H29MgN4O5" +}, +{ +"id":"10fthf_c", +"name":"10-Formyltetrahydrofolate", +"compartment":"c", +"charge":-2, +"formula":"C20H21N7O7" +}, +{ +"id":"4r5au_c", +"name":"5-Amino-6-(1-D-ribitylamino)uracil", +"compartment":"c", +"charge":0, +"formula":"C9H16N4O6" +}, +{ +"id":"skm_c", +"name":"Shikimate", +"compartment":"c", +"charge":-1, +"formula":"C7H9O5" +}, +{ +"id":"gar_c", +"name":"5'-Phosphoribosylglycinamide", +"compartment":"c", +"charge":-1, +"formula":"C7H14N2O8P" +}, +{ +"id":"for_c", +"name":"Formate", +"compartment":"c", +"charge":-1, +"formula":"CHO2" +}, +{ +"id":"dmtphllqne_c", +"name":"2-Phytyl-1,4-naphthoquinone", +"compartment":"c", +"charge":0, +"formula":"C30H44O2" +}, +{ +"id":"skm5p_c", +"name":"Shikimate 3-phosphate", +"compartment":"c", +"charge":-3, +"formula":"C7H8O8P" +}, +{ +"id":"citm_c", +"name":"(R)-2-Methylmalate", +"compartment":"c", +"charge":-2, +"formula":"C5H6O5" +}, +{ +"id":"udpg_c", +"name":"UDP-glucose", +"compartment":"c", +"charge":-2, +"formula":"C15H22N2O17P2" +}, +{ +"id":"5mta_c", +"name":"5'-Methylthioadenosine", +"compartment":"c", +"charge":0, +"formula":"C11H15N5O3S" +}, +{ +"id":"dcdp_c", +"name":"dCDP", +"compartment":"c", +"charge":-3, +"formula":"C9H12N3O10P2" +}, +{ +"id":"pccu1p_u", +"name":"Reduced plastocyanin", +"compartment":"u", +"charge":0, +"formula":"R" +}, +{ +"id":"myrsACP_c", +"name":"Tetradecanoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C14H27ORS" +}, +{ +"id":"glutrna_c", +"name":"L-Glutamyl-tRNA(Glu)", +"compartment":"c", +"charge":0, +"formula":"C20H28N6O13PR" +}, +{ +"id":"adcobdam_c", +"name":"Adenosyl cobyrinate a,c diamide", +"compartment":"c", +"charge":-4, +"formula":"C55CoH68N11O15" +}, +{ +"id":"nh4_c", +"name":"ammonium ion", +"compartment":"c", +"charge":1, +"formula":"H4N" +}, +{ +"id":"hom__L_c", +"name":"L-Homoserine", +"compartment":"c", +"charge":0, +"formula":"C4H9NO3" +}, +{ +"id":"acser_c", +"name":"O-Acetyl-L-serine", +"compartment":"c", +"charge":0, +"formula":"C5H9NO4" +}, +{ +"id":"pre5_c", +"name":"Precorrin 5", +"compartment":"c", +"charge":-8, +"formula":"C45H46N4O17" +}, +{ +"id":"fdxrd_c", +"name":"Reduced ferredoxin", +"compartment":"c", +"charge":2, +"formula":"R" +}, +{ +"id":"sucbz_c", +"name":"2-Succinylbenzoate", +"compartment":"c", +"charge":-2, +"formula":"C11H8O5" +}, +{ +"id":"prpp_c", +"name":"5-Phospho-alpha-D-ribose 1-diphosphate", +"compartment":"c", +"charge":-5, +"formula":"C5H8O14P3" +}, +{ +"id":"5aizc_c", +"name":"1-(5-Phospho-D-ribosyl)-5-amino-4-imidazolecarboxylate", +"compartment":"c", +"charge":-3, +"formula":"C9H11N3O9P" +}, +{ +"id":"dtdp4d6dm_c", +"name":"dTDP-4-dehydro-6-deoxy-L-mannose", +"compartment":"c", +"charge":-2, +"formula":"C16H22N2O15P2" +}, +{ +"id":"but2eACP_c", +"name":"But-2-enoyl-[acyl-carrier protein]", +"compartment":"c", +"charge":-1, +"formula":"C4H5OSR" +}, +{ +"id":"chlda_c", +"name":"Chlorophyllide", +"compartment":"c", +"charge":-1, +"formula":"C35H33MgN4O5" +}, +{ +"id":"h_u", +"name":"H+", +"compartment":"u", +"charge":1, +"formula":"H" +}, +{ +"id":"gly_c", +"name":"Glycine", +"compartment":"c", +"charge":0, +"formula":"C2H5NO2" +}, +{ +"id":"uppg3_c", +"name":"Uroporphyrinogen III", +"compartment":"c", +"charge":-8, +"formula":"C40H36N4O16" +}, +{ +"id":"dtdp_c", +"name":"dTDP", +"compartment":"c", +"charge":-3, +"formula":"C10H13N2O11P2" +}, +{ +"id":"uamr_c", +"name":"UDP-N-acetylmuramate", +"compartment":"c", +"charge":-3, +"formula":"C20H28N3O19P2" +}, +{ +"id":"trp__L_c", +"name":"L-Tryptophan", +"compartment":"c", +"charge":0, +"formula":"C11H12N2O2" +}, +{ +"id":"udcpdp_c", +"name":"di-trans,poly-cis-Undecaprenyl diphosphate", +"compartment":"c", +"charge":-3, +"formula":"C55H89O7P2" +}, +{ +"id":"lipidAds2_c", +"name":"Lipid A Disaccharide (cyanobacterial)", +"compartment":"c", +"charge":-2, +"formula":"C76H143N2O20P" +}, +{ +"id":"hpyr_c", +"name":"Hydroxypyruvate", +"compartment":"c", +"charge":-1, +"formula":"C3H3O4" +}, +{ +"id":"hcys__L_c", +"name":"L-Homocysteine", +"compartment":"c", +"charge":0, +"formula":"C4H9NO2S" +}, +{ +"id":"prbatp_c", +"name":"1-(5-Phospho-D-ribosyl)-ATP", +"compartment":"c", +"charge":-6, +"formula":"C15H19N5O20P4" +}, +{ +"id":"indole_c", +"name":"Indole", +"compartment":"c", +"charge":0, +"formula":"C8H7N" +}, +{ +"id":"dscl_c", +"name":"Precorrin 2", +"compartment":"c", +"charge":-7, +"formula":"C42H41N4O16" +}, +{ +"id":"glycogen_c", +"name":"Glycogen", +"compartment":"c", +"charge":0, +"formula":"C12H21O10R" +}, +{ +"id":"5aop_c", +"name":"5-Aminolevulinate", +"compartment":"c", +"charge":0, +"formula":"C5H9NO3" +}, +{ +"id":"gthrd_c", +"name":"Glutathione", +"compartment":"c", +"charge":-1, +"formula":"C10H16N3O6S" +}, +{ +"id":"fgam_c", +"name":"5'-Phosphoribosyl-N-formylglycinamide", +"compartment":"c", +"charge":-2, +"formula":"C8H13N2O9P" +}, +{ +"id":"adpglc_c", +"name":"ADP-glucose", +"compartment":"c", +"charge":-2, +"formula":"C16H23N5O15P2" +}, +{ +"id":"air_c", +"name":"Aminoimidazole ribotide", +"compartment":"c", +"charge":-2, +"formula":"C8H12N3O7P" +}, +{ +"id":"3hoctaACP_c", +"name":"3-Hydroxyoctadecanoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C18H35O2SR" +}, +{ +"id":"hmbil_c", +"name":"Hydroxymethylbilane", +"compartment":"c", +"charge":-8, +"formula":"C40H38N4O17" +}, +{ +"id":"3psme_c", +"name":"5-O-(1-Carboxyvinyl)-3-phosphoshikimate", +"compartment":"c", +"charge":-4, +"formula":"C10H9O10P" +}, +{ +"id":"thrp_c", +"name":"L-Threonine O-3-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C4H8NO6P" +}, +{ +"id":"akg_c", +"name":"2-Oxoglutarate", +"compartment":"c", +"charge":-2, +"formula":"C5H4O5" +}, +{ +"id":"dtdpglu_c", +"name":"dTDP-glucose", +"compartment":"c", +"charge":-2, +"formula":"C16H24N2O16P2" +}, +{ +"id":"thmpp_c", +"name":"Thiamin diphosphate", +"compartment":"c", +"charge":-2, +"formula":"C12H16N4O7P2S" +}, +{ +"id":"tpalm2eACP_c", +"name":"trans-Hexadec-2-enoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C16H29OSR" +}, +{ +"id":"h2o2_c", +"name":"H2O2", +"compartment":"c", +"charge":0, +"formula":"H2O2" +}, +{ +"id":"alaala_c", +"name":"D-Alanyl-D-alanine", +"compartment":"c", +"charge":0, +"formula":"C6H12N2O3" +}, +{ +"id":"pran_c", +"name":"N-(5-Phospho-D-ribosyl)anthranilate", +"compartment":"c", +"charge":-3, +"formula":"C12H13NO9P" +}, +{ +"id":"tddec2eACP_c", +"name":"trans-Dodec-2-enoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C12H21OSR" +}, +{ +"id":"icit_c", +"name":"Isocitrate", +"compartment":"c", +"charge":-3, +"formula":"C6H5O7" +}, +{ +"id":"3ooctACP_c", +"name":"3-Oxooctanoyl-[acp]", +"compartment":"c", +"charge":-1, +"formula":"C8H13O2SR" +}, +{ +"id":"4ampm_c", +"name":"4-Amino-2-methyl-5-phosphomethylpyrimidine", +"compartment":"c", +"charge":-2, +"formula":"C6H8N3O4P" +}, +{ +"id":"adn_c", +"name":"Adenosine", +"compartment":"c", +"charge":0, +"formula":"C10H13N5O4" +}, +{ +"id":"4pasp_c", +"name":"4-Phospho-L-aspartate", +"compartment":"c", +"charge":-2, +"formula":"C4H6NO7P" +}, +{ +"id":"3php_c", +"name":"3-Phosphonooxypyruvate", +"compartment":"c", +"charge":-3, +"formula":"C3H2O7P" +}, +{ +"id":"ppbng_c", +"name":"Porphobilinogen", +"compartment":"c", +"charge":-1, +"formula":"C10H13N2O4" +}, +{ +"id":"acorn_c", +"name":"N-Acetylornithine", +"compartment":"c", +"charge":0, +"formula":"C7H14N2O3" +}, +{ +"id":"ile__L_c", +"name":"L-Isoleucine", +"compartment":"c", +"charge":0, +"formula":"C6H13NO2" +}, +{ +"id":"3c3hmp_c", +"name":"(2S)-2-Isopropylmalate", +"compartment":"c", +"charge":-2, +"formula":"C7H10O5" +}, +{ +"id":"phthr_c", +"name":"O-Phospho-4-hydroxy-L-threonine", +"compartment":"c", +"charge":-2, +"formula":"C4H8NO7P" +}, +{ +"id":"cynt_c", +"name":"Cyanate", +"compartment":"c", +"charge":-1, +"formula":"CNO" +}, +{ +"id":"pqh2_c", +"name":"Plastoquinol-9", +"compartment":"c", +"charge":0, +"formula":"C53H82O2" +}, +{ +"id":"cthzp_c", +"name":"4-Methyl-5-[2-(phosphonooxy)ethyl]-1,3-thiazole-2-carboxylate", +"compartment":"c", +"charge":-3, +"formula":"C7H7NO6PS" +}, +{ +"id":"dna5mtc_c", +"name":"DNA 5-methylcytosine", +"compartment":"c", +"charge":0, +"formula":"CH3R" +}, +{ +"id":"dna_c", +"name":"DNA", +"compartment":"c", +"charge":0, +"formula":"RH" +}, +{ +"id":"14glucan_c", +"name":"1,4-alpha-D-glucan", +"compartment":"c", +"charge":0, +"formula":"C6H11O5R" +}, +{ +"id":"cobalt2_p", +"name":"Cobalt ion", +"compartment":"p", +"charge":2, +"formula":"Co" +}, +{ +"id":"zn2_p", +"name":"Zinc", +"compartment":"p", +"charge":2, +"formula":"Zn" +}, +{ +"id":"so4_p", +"name":"Sulfate", +"compartment":"p", +"charge":-2, +"formula":"O4S" +}, +{ +"id":"spmd_p", +"name":"Spermidine", +"compartment":"p", +"charge":3, +"formula":"C7H22N3" +}, +{ +"id":"ca2_p", +"name":"Calcium", +"compartment":"p", +"charge":2, +"formula":"Ca" +}, +{ +"id":"nh4_p", +"name":"ammonium ion", +"compartment":"p", +"charge":1, +"formula":"H4N" +}, +{ +"id":"arg__L_p", +"name":"L-Arginine", +"compartment":"p", +"charge":1, +"formula":"C6H15N4O2" +}, +{ +"id":"gln__L_p", +"name":"L-Glutamine", +"compartment":"p", +"charge":0, +"formula":"C5H10N2O3" +}, +{ +"id":"mn2_p", +"name":"Manganese", +"compartment":"p", +"charge":2, +"formula":"Mn" +}, +{ +"id":"hco3_p", +"name":"HCO3-", +"compartment":"p", +"charge":-1, +"formula":"CHO3" +}, +{ +"id":"mg2_p", +"name":"Magnesium", +"compartment":"p", +"charge":2, +"formula":"Mg" +}, +{ +"id":"ptrc_p", +"name":"Putrescine", +"compartment":"p", +"charge":2, +"formula":"C4H14N2" +}, +{ +"id":"fe2_p", +"name":"Fe2+", +"compartment":"p", +"charge":2, +"formula":"Fe" +}, +{ +"id":"cu2_p", +"name":"Copper", +"compartment":"p", +"charge":2, +"formula":"Cu" +}, +{ +"id":"k_p", +"name":"Potassium", +"compartment":"p", +"charge":1, +"formula":"K" +}, +{ +"id":"no3_p", +"name":"Nitrate", +"compartment":"p", +"charge":-1, +"formula":"NO3" +}, +{ +"id":"fe3_p", +"name":"Fe3+", +"compartment":"p", +"charge":3, +"formula":"Fe" +}, +{ +"id":"mobd_p", +"name":"Molybdate", +"compartment":"p", +"charge":-2, +"formula":"MoO4" +}, +{ +"id":"ni2_p", +"name":"Nickel", +"compartment":"p", +"charge":2, +"formula":"Ni" +}, +{ +"id":"cynt_p", +"name":"Cyanate", +"compartment":"p", +"charge":-1, +"formula":"CNO" +}, +{ +"id":"pi_p", +"name":"Orthophosphate", +"compartment":"p", +"charge":-2, +"formula":"HO4P" +}, +{ +"id":"h2o_e", +"name":"H2O", +"compartment":"e", +"charge":0, +"formula":"H2O" +}, +{ +"id":"o2_e", +"name":"Oxygen", +"compartment":"e", +"charge":0, +"formula":"O2" +}, +{ +"id":"co2_e", +"name":"CO2", +"compartment":"e", +"charge":0, +"formula":"CO2" +}, +{ +"id":"his__L_e", +"name":"L-Histidine", +"compartment":"e", +"charge":0, +"formula":"C6H9N3O2" +}, +{ +"id":"cobalt2_e", +"name":"Cobalt ion", +"compartment":"e", +"charge":2, +"formula":"Co" +}, +{ +"id":"zn2_e", +"name":"Zinc", +"compartment":"e", +"charge":2, +"formula":"Zn" +}, +{ +"id":"so4_e", +"name":"Sulfate", +"compartment":"e", +"charge":-2, +"formula":"O4S" +}, +{ +"id":"spmd_e", +"name":"Spermidine", +"compartment":"e", +"charge":3, +"formula":"C7H22N3" +}, +{ +"id":"ca2_e", +"name":"Calcium", +"compartment":"e", +"charge":2, +"formula":"Ca" +}, +{ +"id":"nh4_e", +"name":"ammonium ion", +"compartment":"e", +"charge":1, +"formula":"H4N" +}, +{ +"id":"arg__L_e", +"name":"L-Arginine", +"compartment":"e", +"charge":1, +"formula":"C6H15N4O2" +}, +{ +"id":"gln__L_e", +"name":"L-Glutamine", +"compartment":"e", +"charge":0, +"formula":"C5H10N2O3" +}, +{ +"id":"mn2_e", +"name":"Manganese", +"compartment":"e", +"charge":2, +"formula":"Mn" +}, +{ +"id":"hco3_e", +"name":"HCO3-", +"compartment":"e", +"charge":-1, +"formula":"CHO3" +}, +{ +"id":"mg2_e", +"name":"Magnesium", +"compartment":"e", +"charge":2, +"formula":"Mg" +}, +{ +"id":"ptrc_e", +"name":"Putrescine", +"compartment":"e", +"charge":2, +"formula":"C4H14N2" +}, +{ +"id":"fe2_e", +"name":"Fe2+", +"compartment":"e", +"charge":2, +"formula":"Fe" +}, +{ +"id":"cu2_e", +"name":"Copper", +"compartment":"e", +"charge":2, +"formula":"Cu" +}, +{ +"id":"k_e", +"name":"Potassium", +"compartment":"e", +"charge":1, +"formula":"K" +}, +{ +"id":"no3_e", +"name":"Nitrate", +"compartment":"e", +"charge":-1, +"formula":"NO3" +}, +{ +"id":"fe3_e", +"name":"Fe3+", +"compartment":"e", +"charge":3, +"formula":"Fe" +}, +{ +"id":"mobd_e", +"name":"Molybdate", +"compartment":"e", +"charge":-2, +"formula":"MoO4" +}, +{ +"id":"ni2_e", +"name":"Nickel", +"compartment":"e", +"charge":2, +"formula":"Ni" +}, +{ +"id":"na1_e", +"name":"Sodium", +"compartment":"e", +"charge":1, +"formula":"Na" +}, +{ +"id":"cynt_e", +"name":"Cyanate", +"compartment":"e", +"charge":-1, +"formula":"CNO" +}, +{ +"id":"co2_p", +"name":"CO2", +"compartment":"p", +"charge":0, +"formula":"CO2" +}, +{ +"id":"h_e", +"name":"H+", +"compartment":"e", +"charge":1, +"formula":"H" +}, +{ +"id":"na1_p", +"name":"Sodium", +"compartment":"p", +"charge":1, +"formula":"Na" +}, +{ +"id":"pi_e", +"name":"Orthophosphate", +"compartment":"e", +"charge":-2, +"formula":"HO4P" +}, +{ +"id":"dkmpp_c", +"name":"2,3-diketo-5-methylthio-1-phosphopentane", +"compartment":"c", +"charge":-2, +"formula":"C6H9O6PS" +}, +{ +"id":"dhmtp_c", +"name":"1,2-Dihydroxy-5-(methylthio)pent-1-en-3-one", +"compartment":"c", +"charge":0, +"formula":"C6H10O3S" +}, +{ +"id":"2kmb_c", +"name":"4-Methylthio-2-oxobutanoic acid", +"compartment":"c", +"charge":-1, +"formula":"C5H7O3S" +}, +{ +"id":"tczcaro_c", +"name":"9,15,9-tricis-zeta-Carotene", +"compartment":"c", +"charge":0, +"formula":"C40H60" +}, +{ +"id":"dczcaro_c", +"name":"9,9-dicis-zeta-Carotene", +"compartment":"c", +"charge":0, +"formula":"C40H60" +}, +{ +"id":"ttclyco_c", +"name":"7,9,7,9-tetracis-Lycopene", +"compartment":"c", +"charge":0, +"formula":"C40H56" +}, +{ +"id":"phptna_c", +"name":"pheophytin a", +"compartment":"c", +"charge":0, +"formula":"C55H74N4O5" +}, +{ +"id":"phphbda_c", +"name":"pheophorbide a", +"compartment":"c", +"charge":-1, +"formula":"C35H35N4O5" +}, +{ +"id":"phytol_c", +"name":"phytol", +"compartment":"c", +"charge":0, +"formula":"C20H40O" +}, +{ +"id":"rcc_c", +"name":"red chlorophyll catabolite", +"compartment":"c", +"charge":-1, +"formula":"C35H37N4O7" +}, +{ +"id":"6pthp_c", +"name":"6-pyruvoyl-5,6,7,8-tetrahydropterin", +"compartment":"c", +"charge":0, +"formula":"C9H11N5O3" +}, +{ +"id":"thbpt_c", +"name":"(6R)-5,6,7,8-tetrahydrobiopterin", +"compartment":"c", +"charge":0, +"formula":"C9H15N5O3" +}, +{ +"id":"gthbpt_c", +"name":"1-O-(L-erythro-biopterin-2-yl)-a-glucose", +"compartment":"c", +"charge":0, +"formula":"C15H25N5O8" +}, +{ +"id":"iscssh_c", +"name":"Thiamine biosynthesis intermediate 3", +"compartment":"c", +"charge":-1, +"formula":"RS2" +}, +{ +"id":"iscsh_c", +"name":"Thiamine biosynthesis intermediate 2", +"compartment":"c", +"charge":0, +"formula":"RSH" +}, +{ +"id":"this_c", +"name":"Thiamine biosynthesis intermediate 1", +"compartment":"c", +"charge":-1, +"formula":"RCO2" +}, +{ +"id":"athis_c", +"name":"Thiamine biosynthesis intermediate 4", +"compartment":"c", +"charge":-1, +"formula":"C11H12N5O8PR" +}, +{ +"id":"thissh_c", +"name":"Thiamine biosynthesis intermediate 5", +"compartment":"c", +"charge":-1, +"formula":"RCOS" +}, +{ +"id":"imgly_c", +"name":"Iminoglycine", +"compartment":"c", +"charge":0, +"formula":"C2H3NO2" +}, +{ +"id":"2c4mthzep_c", +"name":"2-[(2R,5Z)-2-Carboxy-4-methylthiazol-5(2H)-ylidene]ethyl phosphate", +"compartment":"c", +"charge":-3, +"formula":"C7H7NO6PS" +}, +{ +"id":"sheme_c", +"name":"siroheme", +"compartment":"c", +"charge":-8, +"formula":"C42H36FeN4O16" +}, +{ +"id":"malcoame_c", +"name":"Malonyl-CoA methyl ester", +"compartment":"c", +"charge":-4, +"formula":"C25H36N7O19P3S" +}, +{ +"id":"ogmeACP_c", +"name":"3-Oxo-glutaryl-[acyl-carrier protein] methyl ester", +"compartment":"c", +"charge":-1, +"formula":"C6H7O4SR" +}, +{ +"id":"hgmeACP_c", +"name":"3-Hydroxyglutaryl-[acyl-carrier protein] methyl ester", +"compartment":"c", +"charge":-1, +"formula":"C6H9O4SR" +}, +{ +"id":"egmeACP_c", +"name":"Enoylglutaryl-[acyl-carrier protein] methyl ester", +"compartment":"c", +"charge":-1, +"formula":"C6H7O3SR" +}, +{ +"id":"gmeACP_c", +"name":"Glutaryl-[acyl-carrier protein] methyl ester", +"compartment":"c", +"charge":-1, +"formula":"C6H9O3SR" +}, +{ +"id":"opmeACP_c", +"name":"3-Oxo-pimeloyl-[acyl-carrier protein] methyl ester", +"compartment":"c", +"charge":-1, +"formula":"C8H11O4SR" +}, +{ +"id":"hpmeACP_c", +"name":"3-Hydroxypimeloyl-[acyl-carrier protein] methyl ester", +"compartment":"c", +"charge":-1, +"formula":"C8H13O4SR" +}, +{ +"id":"epmeACP_c", +"name":"Enoylpimeloyl-[acyl-carrier protein] methyl ester", +"compartment":"c", +"charge":-1, +"formula":"C8H11O3SR" +}, +{ +"id":"pmeACP_c", +"name":"Pimeloyl-[acyl-carrier protein] methyl ester", +"compartment":"c", +"charge":-1, +"formula":"C8H13O3SR" +}, +{ +"id":"pimACP_c", +"name":"Pimeloyl-[acyl-carrier protein]", +"compartment":"c", +"charge":-1, +"formula":"C7H11O3SR" +}, +{ +"id":"meoh_c", +"name":"Methanol", +"compartment":"c", +"charge":0, +"formula":"CH4O1" +}, +{ +"id":"8aonn_c", +"name":"8-Amino-7-oxononanoate", +"compartment":"c", +"charge":0, +"formula":"C9H17NO3" +}, +{ +"id":"dann_c", +"name":"7,8-Diaminononanoate", +"compartment":"c", +"charge":1, +"formula":"C9H21N2O2" +}, +{ +"id":"amob_c", +"name":"S-Adenosyl-4-methylthio-2-oxobutanoate", +"compartment":"c", +"charge":0, +"formula":"C15H19N5O6S" +}, +{ +"id":"dtbt_c", +"name":"Dethiobiotin", +"compartment":"c", +"charge":-1, +"formula":"C10H17N2O3" +}, +{ +"id":"btn_c", +"name":"Biotin", +"compartment":"c", +"charge":-1, +"formula":"C10H15N2O3S" +}, +{ +"id":"btamp_c", +"name":"Biotinyl 5 AMP C20H27N7O9PS", +"compartment":"c", +"charge":-1, +"formula":"C20H27N7O9PS" +}, +{ +"id":"accp_c", +"name":"apo-carboxylase", +"compartment":"c", +"charge":0, +"formula":"C7H13N3O2R2" +}, +{ +"id":"btnCCP_c", +"name":"Holo-[carboxylase]", +"compartment":"c", +"charge":0, +"formula":"C17H27N5O4SR2" +}, +{ +"id":"octapb_c", +"name":"Octanoate (protein bound)", +"compartment":"c", +"charge":1, +"formula":"C8H15O" +}, +{ +"id":"lipopb_c", +"name":"Lipoate (protein bound)", +"compartment":"c", +"charge":1, +"formula":"C8H13OS2" +}, +{ +"id":"lipoate_c", +"name":"Lipoate", +"compartment":"c", +"charge":-1, +"formula":"C8H13O2S2" +}, +{ +"id":"lipamp_c", +"name":"Lipoyl-AMP", +"compartment":"c", +"charge":-1, +"formula":"C18H25N5O8PS2" +}, +{ +"id":"meoh_p", +"name":"Methanol", +"compartment":"p", +"charge":0, +"formula":"CH4O1" +}, +{ +"id":"meoh_e", +"name":"Methanol", +"compartment":"e", +"charge":0, +"formula":"CH4O1" +}, +{ +"id":"cph4_c", +"name":"6-carboxy-5,6,7,8-tetrahydropterin", +"compartment":"c", +"charge":-1, +"formula":"C7H8N5O3" +}, +{ +"id":"cdg_c", +"name":"7-deaza-7-carboxyguanine", +"compartment":"c", +"charge":-1, +"formula":"C7H5N4O3" +}, +{ +"id":"preq0_c", +"name":"7-cyano-7-carbaguanine", +"compartment":"c", +"charge":0, +"formula":"C7H5N5O" +}, +{ +"id":"preq1_c", +"name":"7-aminomethyl-7-deazaguanine", +"compartment":"c", +"charge":1, +"formula":"C7H10N5O" +}, +{ +"id":"preqtrna_c", +"name":"7-aminomethyl-7-deazaguaninyl tRNA", +"compartment":"a", +"charge":1, +"formula":"C7H10N5O" +}, +{ +"id":"epxqtrna_c", +"name":"epoxyquenosine34 tRNA", +"compartment":"c", +"charge":1, +"formula":"C12H16N5O4" +}, +{ +"id":"quetrna_c", +"name":"quenosine34 tRNA", +"compartment":"c", +"charge":1, +"formula":"C12H16N5O3" +}, +{ +"id":"ura_c", +"name":"Uracil", +"compartment":"c", +"charge":0, +"formula":"C4H4N2O2" +}, +{ +"id":"udpglcur_c", +"name":"UDP-D-glucuronate", +"compartment":"c", +"charge":-3, +"formula":"C15H19N2O18P2" +}, +{ +"id":"udpxyl_c", +"name":"UDP-D-xylose", +"compartment":"c", +"charge":-2, +"formula":"C14H20N2O16P2" +}, +{ +"id":"gdpddman_c", +"name":"GDP-4-dehydro-6-deoxy-D-mannose", +"compartment":"c", +"charge":-2, +"formula":"C16H21N5O15P2" +}, +{ +"id":"gdpfuc_c", +"name":"GDP-L-fucose", +"compartment":"c", +"charge":-2, +"formula":"C16H23N5O15P2" +}, +{ +"id":"glyc_c", +"name":"Glycerol", +"compartment":"c", +"charge":0, +"formula":"C3H8O3" +}, +{ +"id":"cdp4dh6doglc_c", +"name":"CDP-4-dehydro-6-deoxy-D-glucose", +"compartment":"c", +"charge":-2, +"formula":"C15H21N3O15P2" +}, +{ +"id":"sucr_c", +"name":"Sucrose", +"compartment":"c", +"charge":0, +"formula":"C12H22O11" +}, +{ +"id":"ocdca_c", +"name":"Octadecanoate (n-C18:0)", +"compartment":"c", +"charge":-1, +"formula":"C18H35O2" +}, +{ +"id":"ocdcal_c", +"name":"Octadecanal C18H36O", +"compartment":"c", +"charge":0, +"formula":"C18H36O" +}, +{ +"id":"hpdcn_c", +"name":"Heptadecane", +"compartment":"c", +"charge":0, +"formula":"C17H36" +}, +{ +"id":"1hdecg3p_c", +"name":"1-Hexadecanoyl-sn-glycerol-3-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C19H37O7P" +}, +{ +"id":"1hdec9eg3p_c", +"name":"1-9-Hexadecenoyl-sn-glycerol-3-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C19H35O7P" +}, +{ +"id":"1odec9eg3p_c", +"name":"1-9-Octadecenoyl-sn-glycerol-3-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C21H39O7P" +}, +{ +"id":"pa160_c", +"name":"1-hexadecanoyl-2-hexadecanoyl-sn-glycerol-3-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C35H67O8P" +}, +{ +"id":"pa1619Z160_c", +"name":"1-9-Hexadecenoyl-2-Hexadecanoyl-sn-glycerol-3-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C35H65O8P" +}, +{ +"id":"pa161_c", +"name":"1-9-Hexadecenoyl-2-9-Hexadecenoyl-sn-glycerol-3-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C35H63O8P" +}, +{ +"id":"pa1819Z1619Z_c", +"name":"1-9-Octadecenoyl-2-9-Hexadecenoyl-sn-glycerol-3-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C37H67O8P" +}, +{ +"id":"pa1819Z160_c", +"name":"1-9-Octadecenoyl-2-Hexadecanoyl-sn-glycerol-3-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C37H69O8P" +}, +{ +"id":"12dgr160_c", +"name":"1,2-Diacyl-sn-glycerol(16:0/16:0)", +"compartment":"c", +"charge":0, +"formula":"C35H68O5" +}, +{ +"id":"12dgr1619Z160_c", +"name":"1,2-Diacyl-sn-glycerol(16:1(9Z)/16:0)", +"compartment":"c", +"charge":0, +"formula":"C35H66O5" +}, +{ +"id":"12dgr161_c", +"name":"1,2-Diacyl-sn-glycerol(16:1(9Z)/16:1(9Z))", +"compartment":"c", +"charge":0, +"formula":"C35H64O5" +}, +{ +"id":"12dgr1819Z1619Z_c", +"name":"1,2-Diacyl-sn-glycerol(18:1(9Z)/16:1(9Z))", +"compartment":"c", +"charge":0, +"formula":"C37H68O5" +}, +{ +"id":"12dgr1819Z160_c", +"name":"1,2-Diacyl-sn-glycerol(18:1(9Z)/16:0)", +"compartment":"c", +"charge":0, +"formula":"C37H70O5" +}, +{ +"id":"sqdg160_c", +"name":"Sulfoquinovosyl diacylglycerol(16:0/16:0)", +"compartment":"c", +"charge":-1, +"formula":"C41H77O12S" +}, +{ +"id":"sqdg1619Z160_c", +"name":"Sulfoquinovosyl diacylglycerol(16:1(9Z)/16:0)", +"compartment":"c", +"charge":-1, +"formula":"C41H75O12S" +}, +{ +"id":"mgdg1619Z160_c", +"name":"1,2-Diacyl-3-O-galactosyl-sn-glycerol(16:1(9Z)/16:0)", +"compartment":"c", +"charge":0, +"formula":"C41H76O10" +}, +{ +"id":"dgdg1619Z160_c", +"name":"Digalactosyl-diacylglycerol(16:1(9Z)/16:0)", +"compartment":"c", +"charge":0, +"formula":"C47H86O15" +}, +{ +"id":"dgdg161_c", +"name":"Digalactosyl-diacylglycerol(16:1(9Z)/16:1(9Z))", +"compartment":"c", +"charge":0, +"formula":"C47H84O15" +}, +{ +"id":"mgdg161_c", +"name":"1,2-Diacyl-3-O-galactosyl-sn-glycerol(16:1(9Z)/16:1(9Z))", +"compartment":"c", +"charge":0, +"formula":"C41H74O10" +}, +{ +"id":"dgdg1819Z1619Z_c", +"name":"Digalactosyl-diacylglycerol(18:1(9Z)/16:1(9Z))", +"compartment":"c", +"charge":0, +"formula":"C49H88O15" +}, +{ +"id":"mgdg1819Z1619Z_c", +"name":"1,2-Diacyl-3-O-galactosyl-sn-glycerol(18:1(9Z)/16:1(9Z))", +"compartment":"c", +"charge":0, +"formula":"C43H78O10" +}, +{ +"id":"cdp12dgr1819Z160_c", +"name":"CDP-1,2-diacyl-sn-glycerol(18:1(9Z)/16:0)", +"compartment":"c", +"charge":-2, +"formula":"C46H81N3O15P2" +}, +{ +"id":"pgp1819Z160_c", +"name":"Phosphatidylglycerophosphate(18:1(9Z)/16:0)", +"compartment":"c", +"charge":-3, +"formula":"C40H75O13P2" +}, +{ +"id":"pg1819Z160_c", +"name":"Phosphatidylglycerol(18:1(9Z)/16:0)", +"compartment":"c", +"charge":-1, +"formula":"C40H76O10P" +}, +{ +"id":"glcdg1619Z160_c", +"name":"1,2-Diacyl-3-O-(beta-D-glucopyranosyl)-sn-glycerol(16:1(9Z)/16:0)", +"compartment":"c", +"charge":0, +"formula":"C41H76O10" +}, +{ +"id":"glcdg161_c", +"name":"1,2-Diacyl-3-O-(beta-D-glucopyranosyl)-sn-glycerol(16:1(9Z)/16:1(9Z))", +"compartment":"c", +"charge":0, +"formula":"C41H74O10" +}, +{ +"id":"glcdg1819Z1619Z_c", +"name":"1,2-Diacyl-3-O-(beta-D-glucopyranosyl)-sn-glycerol(18:1(9Z)/16:1(9Z))", +"compartment":"c", +"charge":0, +"formula":"C43H78O10" +}, +{ +"id":"glcdg1819Z160_c", +"name":"1,2-Diacyl-3-O-(beta-D-glucopyranosyl)-sn-glycerol(18:1(9Z)/16:0)", +"compartment":"c", +"charge":0, +"formula":"C43H80O10" +}, +{ +"id":"mgdg1819Z160_c", +"name":"1,2-Diacyl-3-O-galactosyl-sn-glycerol(18:1(9Z)/16:0)", +"compartment":"c", +"charge":0, +"formula":"C43H80O10" +}, +{ +"id":"dgdg1819Z160Z_c", +"name":"Digalactosyl-diacylglycerol(18:1(9Z)/16:0)", +"compartment":"c", +"charge":0, +"formula":"C49H90O15" +}, +{ +"id":"glntrna_c", +"name":"L-Glutaminyl-tRNA(Gln)", +"compartment":"c", +"charge":1, +"formula":"C5H10N2O2R" +}, +{ +"id":"trnagln_c", +"name":"tRNA(Gln)", +"compartment":"c", +"charge":0, +"formula":"HR" +}, +{ +"id":"trnatyr_c", +"name":"tRNA(Tyr)", +"compartment":"c", +"charge":0, +"formula":"HR" +}, +{ +"id":"tyrtrna_c", +"name":"L-Tyrosyl-tRNA(Tyr)", +"compartment":"c", +"charge":1, +"formula":"C9H11NO2R" +}, +{ +"id":"trnamet_c", +"name":"tRNA(Met)", +"compartment":"c", +"charge":0, +"formula":"HR" +}, +{ +"id":"mettrna_c", +"name":"L-Methionyl-tRNA", +"compartment":"c", +"charge":1, +"formula":"C5H11NOSR" +}, +{ +"id":"trnaser_c", +"name":"tRNA(Ser)", +"compartment":"c", +"charge":0, +"formula":"HR" +}, +{ +"id":"sertrna_c", +"name":"L-Seryl-tRNA(Ser)", +"compartment":"c", +"charge":1, +"formula":"C3H7NO2R" +}, +{ +"id":"glytrna_c", +"name":"Glycyl-tRNA(Gly)", +"compartment":"c", +"charge":1, +"formula":"C2H5NOR" +}, +{ +"id":"trnagly_c", +"name":"tRNA(Gly)", +"compartment":"c", +"charge":0, +"formula":"HR" +}, +{ +"id":"protrna_c", +"name":"L-Prolyl-tRNA(Pro)", +"compartment":"c", +"charge":1, +"formula":"C5H9NOR" +}, +{ +"id":"trnapro_c", +"name":"tRNA(Pro)", +"compartment":"c", +"charge":0, +"formula":"HR" +}, +{ +"id":"trnacys_c", +"name":"tRNA(Cys)", +"compartment":"c", +"charge":0, +"formula":"HR" +}, +{ +"id":"cystrna_c", +"name":"L-Cysteinyl-tRNA(Cys)", +"compartment":"c", +"charge":1, +"formula":"C3H7NOSR" +}, +{ +"id":"trnaarg_c", +"name":"tRNA(Arg)", +"compartment":"c", +"charge":0, +"formula":"HR" +}, +{ +"id":"argtrna_c", +"name":"L-Arginyl-tRNA(Arg)", +"compartment":"c", +"charge":2, +"formula":"C6H15N4OR" +}, +{ +"id":"trnatrp_c", +"name":"tRNA(Trp)", +"compartment":"c", +"charge":0, +"formula":"HR" +}, +{ +"id":"trptrna_c", +"name":"L-Tryptophanyl-tRNA(Trp)", +"compartment":"c", +"charge":1, +"formula":"C11H12N2OR" +}, +{ +"id":"phetrna_c", +"name":"L-Phenylalanyl-tRNA(Phe)", +"compartment":"c", +"charge":1, +"formula":"C9H11NOR" +}, +{ +"id":"trnaphe_c", +"name":"tRNA(Phe)", +"compartment":"c", +"charge":0, +"formula":"HR" +}, +{ +"id":"trnahis_c", +"name":"tRNA(His)", +"compartment":"c", +"charge":0, +"formula":"HR" +}, +{ +"id":"histrna_c", +"name":"L-Histidyl-tRNA(His)", +"compartment":"c", +"charge":1, +"formula":"C6H9N3OR" +}, +{ +"id":"trnaasn_c", +"name":"tRNA(Asn)", +"compartment":"c", +"charge":0, +"formula":"HR" +}, +{ +"id":"asntrna_c", +"name":"L-Asparaginyl-tRNA(Asn)", +"compartment":"c", +"charge":1, +"formula":"C4H8N2O2R" +}, +{ +"id":"asptrna_c", +"name":"L-Aspartyl-tRNA(Asp)", +"compartment":"c", +"charge":0, +"formula":"C4H6NO3R" +}, +{ +"id":"trnaasp_c", +"name":"tRNA(Asp)", +"compartment":"c", +"charge":0, +"formula":"HR" +}, +{ +"id":"trnathr_c", +"name":"tRNA(Thr)", +"compartment":"c", +"charge":0, +"formula":"HR" +}, +{ +"id":"thrtrna_c", +"name":"L-Threonyl-tRNA(Thr)", +"compartment":"c", +"charge":1, +"formula":"C4H9NO2R" +}, +{ +"id":"trnaleu_c", +"name":"tRNA(Leu)", +"compartment":"c", +"charge":0, +"formula":"HR" +}, +{ +"id":"leutrna_c", +"name":"L-Leucyl-tRNA", +"compartment":"c", +"charge":1, +"formula":"C6H13NOR" +}, +{ +"id":"trnaile_c", +"name":"tRNA(Ile)", +"compartment":"c", +"charge":0, +"formula":"HR" +}, +{ +"id":"iletrna_c", +"name":"L-Isoleucyl-tRNA(Ile)", +"compartment":"c", +"charge":1, +"formula":"C6H13NOR" +}, +{ +"id":"trnalys_c", +"name":"tRNA(Lys)", +"compartment":"c", +"charge":0, +"formula":"HR" +}, +{ +"id":"lystrna_c", +"name":"L-Lysyl-tRNA", +"compartment":"c", +"charge":2, +"formula":"C6H15N2OR" +}, +{ +"id":"alatrna_c", +"name":"L-Alanyl-tRNA(Ala)", +"compartment":"c", +"charge":1, +"formula":"C3H7NOR" +}, +{ +"id":"trnaala_c", +"name":"tRNA(Ala)", +"compartment":"c", +"charge":0, +"formula":"HR" +}, +{ +"id":"valtrna_c", +"name":"L-Valyl-tRNA(Val)", +"compartment":"c", +"charge":1, +"formula":"C5H11NOR" +}, +{ +"id":"trnaval_c", +"name":"tRNA(Val)", +"compartment":"c", +"charge":0, +"formula":"HR" +}, +{ +"id":"fmettrna_c", +"name":"N-Formylmethionyl-tRNA", +"compartment":"c", +"charge":0, +"formula":"C6H10NO2SR" +}, +{ +"id":"photon410_e", +"name":"photon (400nm-420nm)", +"compartment":"e", +"charge":0, +"formula":"Z" +}, +{ +"id":"photon430_e", +"name":"photon (420nm-440nm)", +"compartment":"e", +"charge":0, +"formula":"Z" +}, +{ +"id":"photon450_e", +"name":"photon (440nm-460nm)", +"compartment":"e", +"charge":0, +"formula":"Z" +}, +{ +"id":"photon470_e", +"name":"photon (460nm-480nm)", +"compartment":"e", +"charge":0, +"formula":"Z" +}, +{ +"id":"photon490_e", +"name":"photon (480nm-500nm)", +"compartment":"e", +"charge":0, +"formula":"Z" +}, +{ +"id":"photon510_e", +"name":"photon (500nm-520nm)", +"compartment":"e", +"charge":0, +"formula":"Z" +}, +{ +"id":"photon530_e", +"name":"photon (520nm-540nm)", +"compartment":"e", +"charge":0, +"formula":"Z" +}, +{ +"id":"photon550_e", +"name":"photon (540nm-560nm)", +"compartment":"e", +"charge":0, +"formula":"Z" +}, +{ +"id":"photon570_e", +"name":"photon (560nm-580nm)", +"compartment":"e", +"charge":0, +"formula":"Z" +}, +{ +"id":"photon590_e", +"name":"photon (580nm-600nm)", +"compartment":"e", +"charge":0, +"formula":"Z" +}, +{ +"id":"photon610_e", +"name":"photon (600nm-620nm)", +"compartment":"e", +"charge":0, +"formula":"Z" +}, +{ +"id":"photon630_e", +"name":"photon (620nm-640nm)", +"compartment":"e", +"charge":0, +"formula":"Z" +}, +{ +"id":"photon650_e", +"name":"photon (640nm-660nm)", +"compartment":"e", +"charge":0, +"formula":"Z" +}, +{ +"id":"photon670_e", +"name":"photon (660nm-680nm)", +"compartment":"e", +"charge":0, +"formula":"Z" +}, +{ +"id":"photon690_e", +"name":"photon (680nm-700nm)", +"compartment":"e", +"charge":0, +"formula":"Z" +}, +{ +"id":"calxan_c", +"name":"caloxanthin", +"compartment":"c", +"charge":0, +"formula":"C40H56O3" +}, +{ +"id":"nstxan_c", +"name":"nostoxanthin", +"compartment":"c", +"charge":0, +"formula":"C40H56O4" +}, +{ +"id":"chla_soret_exc_c", +"name":"Excited chlorophyll A, Soret band (short wavelength)", +"compartment":"c", +"charge":0, +"formula":"C55H72MgN4O5" +}, +{ +"id":"bcaro_exc_c", +"name":"Excited beta-carotene", +"compartment":"c", +"charge":0, +"formula":"C40H56Z" +}, +{ +"id":"phycy_exc_c", +"name":"Excited phycocyanin", +"compartment":"c", +"charge":-2, +"formula":"C33H36N4O6Z" +}, +{ +"id":"allocy_exc_c", +"name":"Excited allocyanobilin (phycobilisome core)", +"compartment":"c", +"charge":-2, +"formula":"C33H36N4O6Z" +}, +{ +"id":"allocy_c", +"name":"Allocyanobilin (phycobilisome core)", +"compartment":"c", +"charge":-2, +"formula":"C33H36N4O6" +}, +{ +"id":"chla_qy1_exc_c", +"name":"Photosystem I excited chlorophyll A, Qy band (long wavelength)", +"compartment":"c", +"charge":0, +"formula":"C55H72MgN4O5" +}, +{ +"id":"pho_loss_c", +"name":"Photon energy loss (heat/fluorescence)", +"compartment":"c", +"charge":0, +"formula":"Z" +}, +{ +"id":"u23ga2_c", +"name":"UDP-2,3-bis(3-hydroxyhexadecanoyl)glucosamine", +"compartment":"c", +"charge":-2, +"formula":"C47H83N3O20P2" +}, +{ +"id":"u3aga2_c", +"name":"UDP-3-O-(3-hydroxyhexadecanoyl)-N-acetylglucosamine", +"compartment":"c", +"charge":-2, +"formula":"C33H55N3O19P2" +}, +{ +"id":"ara5p_c", +"name":"D-Arabinose 5-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C5H9O8P", +"notes":{ +"original_bigg_ids":[ +"ara5p_c" +] +} +}, +{ +"id":"kdo8p_c", +"name":"3-Deoxy-D-manno-octulosonate 8-phosphate", +"compartment":"c", +"charge":-3, +"formula":"C8H12O11P", +"notes":{ +"original_bigg_ids":[ +"kdo8p_c" +] +} +}, +{ +"id":"kdo_c", +"name":"3-Deoxy-D-manno-2-octulosonate", +"compartment":"c", +"charge":-1, +"formula":"C8H13O8", +"notes":{ +"original_bigg_ids":[ +"kdo_c" +] +} +}, +{ +"id":"ckdo_c", +"name":"CMP-3-deoxy-D-manno-octulosonate", +"compartment":"c", +"charge":-2, +"formula":"C17H24N3O15P", +"notes":{ +"original_bigg_ids":[ +"ckdo_c" +] +} +}, +{ +"id":"uacmam_c", +"name":"UDP-N-acetyl-D-mannosamine", +"compartment":"c", +"charge":-2, +"formula":"C17H25N3O17P2", +"notes":{ +"original_bigg_ids":[ +"uacmam_c" +] +} +}, +{ +"id":"udcpp_c", +"name":"Undecaprenyl phosphate", +"compartment":"c", +"charge":-2, +"formula":"C55H89O4P", +"notes":{ +"original_bigg_ids":[ +"udcpp_c" +] +} +}, +{ +"id":"unaga_c", +"name":"Undecaprenyl diphospho N-acetyl-glucosamine", +"compartment":"c", +"charge":-2, +"formula":"C63H103NO12P2", +"notes":{ +"original_bigg_ids":[ +"unaga_c" +] +} +}, +{ +"id":"kdolipid4cy_c", +"name":"KDO-lipid IV A (Synechococcus elongatus 7942)", +"compartment":"c", +"charge":-2, +"formula":"C84H155N2O27P" +}, +{ +"id":"unagam_c", +"name":"Undecaprenyl-diphospho-N-acetylglucosamine-N-acetylmannosamine", +"compartment":"c", +"charge":-2, +"formula":"C71H116N2O17P2" +}, +{ +"id":"icolipacy_c", +"name":"Inner core oligosaccharide lipid A (Synechococcus elongatus 7942)", +"compartment":"c", +"charge":0, +"formula":"C10.0356H18.3549N0.2846O4.1447P0.0865" +}, +{ +"id":"icolipacy_p", +"name":"Inner core oligosaccharide lipid A (Synechococcus elongatus 7942)", +"compartment":"p", +"charge":0, +"formula":"C10.0356H18.3549N0.2846O4.1447P0.0865" +}, +{ +"id":"oanticy_c", +"name":"O-antigen oligosaccharide (Synechococcus elongatus 7942)", +"compartment":"c", +"charge":0, +"formula":"C15.753H26.255O13.1275" +}, +{ +"id":"oanticy_p", +"name":"O-antigen oligosaccharide (Synechococcus elongatus 7942)", +"compartment":"p", +"charge":0, +"formula":"C15.753H26.255O13.1275" +}, +{ +"id":"colipacy_p", +"name":"O-antigen bound to core oligosaccharide lipid A (Synechococcus elongatus 7942)", +"compartment":"p", +"charge":0, +"formula":"C25.7886H42.6099N0.2846O16.2722P0.0865" +}, +{ +"id":"colipacy_e", +"name":"O-antigen bound to core oligosaccharide lipid A (Synechococcus elongatus 7942)", +"compartment":"e", +"charge":0, +"formula":"C25.7886H42.6099N0.2846O16.2722P0.0865" +}, +{ +"id":"uaagmda_c", +"name":"Undecaprenyl-diphospho-N-acetylmuramoyl-(N-acetylglucosamine)-L-ala-D-glu-meso-2,6-diaminopimeloyl-D-ala-D-ala", +"compartment":"c", +"charge":-4, +"formula":"C95H152N8O28P2", +"notes":{ +"original_bigg_ids":[ +"uaagmda_c" +] +} +}, +{ +"id":"murein5p5p_p", +"name":"Two linked disacharide pentapeptide murein units (uncrosslinked, middle of chain)", +"compartment":"p", +"charge":-4, +"formula":"C80H124N16O42", +"notes":{ +"original_bigg_ids":[ +"murein5p5p_p" +] +} +}, +{ +"id":"murein5p5p5p_p", +"name":"Three linked disacharide pentapeptide murein units (uncrosslinked, middle of chain)", +"compartment":"p", +"charge":-6, +"formula":"C120H186N24O63", +"notes":{ +"original_bigg_ids":[ +"murein5p5p5p_p" +] +} +}, +{ +"id":"ala__D_p", +"name":"D-Alanine", +"compartment":"p", +"charge":0, +"formula":"C3H7NO2", +"notes":{ +"original_bigg_ids":[ +"ala_DASH_D_p" +] +} +}, +{ +"id":"murein5px4px4p_p", +"name":"Three disacharide linked murein units (pentapeptide crosslinked tetrapeptide (A2pm->D-ala) tetrapeptide corsslinked tetrapeptide (A2pm->D-ala)) (middle of chain)", +"compartment":"p", +"charge":-6, +"formula":"C114H172N22O59", +"notes":{ +"original_bigg_ids":[ +"murein5px4px4p_p" +] +} +}, +{ +"id":"murein5px4p_p", +"name":"Two disacharide linked murein units, pentapeptide crosslinked tetrapeptide (A2pm->D-ala) (middle of chain)", +"compartment":"p", +"charge":-4, +"formula":"C77H117N15O40", +"notes":{ +"original_bigg_ids":[ +"murein5px4p_p" +] +} +}, +{ +"id":"alaala_p", +"name":"D-Alanyl-D-alanine", +"compartment":"p", +"charge":0, +"formula":"C6H12N2O3", +"notes":{ +"original_bigg_ids":[ +"alaala_p" +] +} +}, +{ +"id":"murein5px3p_p", +"name":"Two disacharide linked murein units, pentapeptide corsslinked tripeptide (A2pm->A2pm) (middle of chain)", +"compartment":"p", +"charge":-4, +"formula":"C74H112N14O39", +"notes":{ +"original_bigg_ids":[ +"murein5px3p_p" +] +} +}, +{ +"id":"murein4px4p_p", +"name":"Two disacharide linked murein units, tetrapeptide corsslinked tetrapeptide (A2pm->D-ala) (middle of chain)", +"compartment":"p", +"charge":-4, +"formula":"C74H112N14O39", +"notes":{ +"original_bigg_ids":[ +"murein4px4p_p" +] +} +}, +{ +"id":"murein4px4px4p_p", +"name":"Three disacharide linked murein units (tetrapeptide crosslinked tetrapeptide (A2pm->D-ala) & tetrapeptide corsslinked tetrapeptide (A2pm->D-ala)) (middle of chain)", +"compartment":"p", +"charge":-6, +"formula":"C111H167N21O58", +"notes":{ +"original_bigg_ids":[ +"murein4px4px4p_p" +] +} +}, +{ +"id":"murein5p4p_p", +"name":"Two linked disacharide pentapeptide and tetrapeptide murein units (uncrosslinked, middle of chain)", +"compartment":"p", +"charge":-4, +"formula":"C77H119N15O41", +"notes":{ +"original_bigg_ids":[ +"murein5p4p_p" +] +} +}, +{ +"id":"murein4p4p_p", +"name":"Two linked disacharide tetrapeptide murein units (uncrosslinked, middle of chain)", +"compartment":"p", +"charge":-4, +"formula":"C74H114N14O40", +"notes":{ +"original_bigg_ids":[ +"murein4p4p_p" +] +} +}, +{ +"id":"murein4p3p_p", +"name":"Two linked disacharide tetrapeptide and tripeptide murein units (uncrosslinked, middle of chain)", +"compartment":"p", +"charge":-4, +"formula":"C71H109N13O39", +"notes":{ +"original_bigg_ids":[ +"murein4p3p_p" +] +} +}, +{ +"id":"murein5p3p_p", +"name":"Two linked disacharide pentapeptide and tripeptide murein units (uncrosslinked, middle of chain)", +"compartment":"p", +"charge":-4, +"formula":"C74H114N14O40", +"notes":{ +"original_bigg_ids":[ +"murein5p3p_p" +] +} +}, +{ +"id":"murein3px4p_p", +"name":"Two disacharide linked murein units, tripeptide crosslinked tetrapeptide (A2pm->D-ala) (middle of chain)", +"compartment":"p", +"charge":-4, +"formula":"C71H107N13O38", +"notes":{ +"original_bigg_ids":[ +"murein3px4p_p" +] +} +}, +{ +"id":"murein4px4p4p_p", +"name":"Three disacharide linked murein units (tetrapeptide crosslinked tetrapeptide (A2pm->D-ala), one uncrosslinked tetrapaptide) (middle of chain)", +"compartment":"p", +"charge":-6, +"formula":"C111H169N21O59", +"notes":{ +"original_bigg_ids":[ +"murein4px4p4p_p" +] +} +}, +{ +"id":"murein3p3p_p", +"name":"Two linked disacharide tripeptide murein units (uncrosslinked, middle of chain)", +"compartment":"p", +"charge":-4, +"formula":"C68H104N12O38", +"notes":{ +"original_bigg_ids":[ +"murein3p3p_p" +] +} +}, +{ +"id":"anhgm4p_p", +"name":"N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tetrapeptide", +"compartment":"p", +"charge":-2, +"formula":"C37H57N7O20", +"notes":{ +"original_bigg_ids":[ +"anhgm4p_p" +] +} +}, +{ +"id":"anhgm3p_p", +"name":"N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tripeptide", +"compartment":"p", +"charge":-2, +"formula":"C34H52N6O19", +"notes":{ +"original_bigg_ids":[ +"anhgm3p_p" +] +} +}, +{ +"id":"anhgm_c", +"name":"N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramic acid", +"compartment":"c", +"charge":-1, +"formula":"C19H29N2O12", +"notes":{ +"original_bigg_ids":[ +"anhgm_c" +] +} +}, +{ +"id":"LalaDgluMdapDala_c", +"name":"L-alanine-D-glutamate-meso-2,6-diaminoheptanedioate-D-alanine", +"compartment":"c", +"charge":-1, +"formula":"C18H30N5O9", +"notes":{ +"original_bigg_ids":[ +"LalaDgluMdapDala_c" +] +} +}, +{ +"id":"anhgm4p_c", +"name":"N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tetrapeptide", +"compartment":"c", +"charge":-2, +"formula":"C37H57N7O20", +"notes":{ +"original_bigg_ids":[ +"anhgm4p_c" +] +} +}, +{ +"id":"anhgm_p", +"name":"N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramic acid", +"compartment":"p", +"charge":-1, +"formula":"C19H29N2O12", +"notes":{ +"original_bigg_ids":[ +"anhgm_p" +] +} +}, +{ +"id":"LalaDgluMdapDala_p", +"name":"L-alanine-D-glutamate-meso-2,6-diaminoheptanedioate-D-alanine", +"compartment":"p", +"charge":-1, +"formula":"C18H30N5O9", +"notes":{ +"original_bigg_ids":[ +"LalaDgluMdapDala_p" +] +} +}, +{ +"id":"anhgm3p_c", +"name":"N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tripeptide", +"compartment":"c", +"charge":-2, +"formula":"C34H52N6O19", +"notes":{ +"original_bigg_ids":[ +"anhgm3p_c" +] +} +}, +{ +"id":"acgam_c", +"name":"N-Acetyl-D-glucosamine", +"compartment":"c", +"charge":0, +"formula":"C8H15NO6", +"notes":{ +"original_bigg_ids":[ +"acgam_c" +] +} +}, +{ +"id":"anhm4p_c", +"name":"1,6-anhydrous-N-Acetylmuramyl-tetrapeptide", +"compartment":"c", +"charge":-2, +"formula":"C29H44N6O15", +"notes":{ +"original_bigg_ids":[ +"anhm4p_c" +] +} +}, +{ +"id":"LalaDgluMdap_p", +"name":"L-alanine-D-glutamate-meso-2,6-diaminoheptanedioate", +"compartment":"p", +"charge":-1, +"formula":"C15H25N4O8", +"notes":{ +"original_bigg_ids":[ +"LalaDgluMdap_p" +] +} +}, +{ +"id":"anhm_c", +"name":"1,6-anhydrous-N-Acetylmuramate", +"compartment":"c", +"charge":-1, +"formula":"C11H16NO7", +"notes":{ +"original_bigg_ids":[ +"anhm_c" +] +} +}, +{ +"id":"anhm3p_c", +"name":"1,6-anhydrous-N-Acetylmuramyl-tripeptide", +"compartment":"c", +"charge":-2, +"formula":"C26H39N5O14", +"notes":{ +"original_bigg_ids":[ +"anhm3p_c" +] +} +}, +{ +"id":"LalaDgluMdap_c", +"name":"L-alanine-D-glutamate-meso-2,6-diaminoheptanedioate", +"compartment":"c", +"charge":-1, +"formula":"C15H25N4O8", +"notes":{ +"original_bigg_ids":[ +"LalaDgluMdap_c" +] +} +}, +{ +"id":"LalaDglu_c", +"name":"L-alanine-D-glutamate", +"compartment":"c", +"charge":-1, +"formula":"C8H13N2O5", +"notes":{ +"original_bigg_ids":[ +"LalaDglu_c" +] +} +}, +{ +"id":"um4p_c", +"name":"UDP-N-acetylmuramoyl-L-alanyl-D-gamma-glutamyl-meso-2,6-diaminopimelate-D-alanine", +"compartment":"c", +"charge":-4, +"formula":"C38H56N8O27P2", +"notes":{ +"original_bigg_ids":[ +"um4p_c" +] +} +}, +{ +"id":"LalaLglu_c", +"name":"L-alanine-L-glutamate", +"compartment":"c", +"charge":-1, +"formula":"C8H13N2O5", +"notes":{ +"original_bigg_ids":[ +"LalaLglu_c" +] +} +}, +{ +"id":"pchlld_exc_c", +"name":"Excited protochlorophyllide", +"compartment":"c", +"charge":-1, +"formula":"C35H31MgN4O5" +}, +{ +"id":"fldox_c", +"name":"Flavodoxin (oxidized)", +"compartment":"c", +"charge":-2, +"formula":"C17H19N4O9P" +}, +{ +"id":"fldrd_c", +"name":"Flavodoxin (reduced)", +"compartment":"c", +"charge":-2, +"formula":"C17H21N4O9P" +}, +{ +"id":"5g2oxpt_p", +"name":"5-Guanidino-2-oxopentanoate", +"compartment":"p", +"charge":0, +"formula":"C6H11N3O3" +}, +{ +"id":"h2o2_p", +"name":"H2O2", +"compartment":"p", +"charge":0, +"formula":"H2O2" +}, +{ +"id":"leu__L_p", +"name":"L-Leucine", +"compartment":"p", +"charge":0, +"formula":"C6H13NO2" +}, +{ +"id":"leu__L_e", +"name":"L-Leucine", +"compartment":"e", +"charge":0, +"formula":"C6H13NO2" +}, +{ +"id":"no2_p", +"name":"Nitrite", +"compartment":"p", +"charge":-1, +"formula":"NO2" +}, +{ +"id":"no2_e", +"name":"Nitrite", +"compartment":"e", +"charge":-1, +"formula":"NO2" +}, +{ +"id":"zeax_exc_c", +"name":"Zeaxanthin (excited)", +"compartment":"c", +"charge":0, +"formula":"C40H56O2Z" +}, +{ +"id":"chla_qy2_exc_c", +"name":"Photosystem II excited chlorophyll A, Qy band (long wavelength)", +"compartment":"c", +"charge":0, +"formula":"C55H72MgN4O5" +}, +{ +"id":"p700_um", +"name":"PSI reaction center P700", +"compartment":"m", +"charge":0, +"formula":"C55H71MgN4O5" +}, +{ +"id":"p700_exc_um", +"name":"PSI reaction center P700, excited", +"compartment":"m", +"charge":0, +"formula":"C55H71MgN4O5" +}, +{ +"id":"p680_exc_um", +"name":"PSII reaction center P680, excited", +"compartment":"m", +"charge":0, +"formula":"C55H71MgN4O5" +}, +{ +"id":"p680_um", +"name":"PSII reaction center P680", +"compartment":"m", +"charge":0, +"formula":"C55H71MgN4O5" +}, +{ +"id":"b14glucan_c", +"name":"Cellulose (beta-1,4-glucan)", +"compartment":"c", +"charge":0, +"formula":"C12H20O10" +}, +{ +"id":"fald_c", +"name":"Formaldehyde", +"compartment":"c", +"charge":0, +"formula":"CH2O" +}, +{ +"id":"hmgth_c", +"name":"Hydroxymethylglutathione", +"compartment":"c", +"charge":-1, +"formula":"C11H18N3O7S" +}, +{ +"id":"Sfglutth_c", +"name":"S-Formylglutathione", +"compartment":"c", +"charge":-1, +"formula":"C11H16N3O7S" +}, +{ +"id":"5oxpro_c", +"name":"5-Oxoproline", +"compartment":"c", +"charge":-1, +"formula":"C5H6NO3" +}, +{ +"id":"acgam6p_c", +"name":"N-Acetyl-D-glucosamine 6-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C8H14NO9P" +}, +{ +"id":"acmanap_c", +"name":"N-Acetyl-D-mannosamine 6-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C8H14NO9P" +}, +{ +"id":"acmum6p_c", +"name":"N-acetylmuramate 6-phosphate", +"compartment":"c", +"charge":-3, +"formula":"C11H17NO11P" +}, +{ +"id":"cl_p", +"name":"Chloride", +"compartment":"p", +"charge":-1, +"formula":"Cl" +}, +{ +"id":"cl_c", +"name":"Chloride", +"compartment":"c", +"charge":-1, +"formula":"Cl" +}, +{ +"id":"cl_e", +"name":"Chloride", +"compartment":"e", +"charge":-1, +"formula":"Cl" +}, +{ +"id":"k_u", +"name":"Potassium", +"compartment":"u", +"charge":1, +"formula":"K" +}, +{ +"id":"ps2d1_um", +"name":"PSII D1 protein", +"compartment":"m", +"formula":"R" +}, +{ +"id":"ps2d1_exc_um", +"name":"Damaged PSII D1 protein", +"compartment":"m", +"formula":"R" +} +], +"genes":[ +{ +"id":"Synpcc7942_1448", +"name":"None" +}, +{ +"id":"Synpcc7942_0707", +"name":"None" +}, +{ +"id":"Synpcc7942_1029", +"name":"None" +}, +{ +"id":"Synpcc7942_0596", +"name":"None" +}, +{ +"id":"Synpcc7942_2561", +"name":"None" +}, +{ +"id":"Synpcc7942_1007", +"name":"None" +}, +{ +"id":"Synpcc7942_1225", +"name":"None" +}, +{ +"id":"Synpcc7942_2258", +"name":"None" +}, +{ +"id":"Synpcc7942_2047", +"name":"None" +}, +{ +"id":"Synpcc7942_2308", +"name":"None" +}, +{ +"id":"Synpcc7942_2046", +"name":"None" +}, +{ +"id":"Synpcc7942_2497", +"name":"None" +}, +{ +"id":"Synpcc7942_1597", +"name":"None" +}, +{ +"id":"Synpcc7942_0777", +"name":"None" +}, +{ +"id":"Synpcc7942_2062", +"name":"None" +}, +{ +"id":"Synpcc7942_0943", +"name":"None" +}, +{ +"id":"Synpcc7942_1086", +"name":"None" +}, +{ +"id":"Synpcc7942_0958", +"name":"None" +}, +{ +"id":"Synpcc7942_2136", +"name":"None" +}, +{ +"id":"Synpcc7942_0775", +"name":"None" +}, +{ +"id":"Synpcc7942_0320", +"name":"None" +}, +{ +"id":"Synpcc7942_2518", +"name":"None" +}, +{ +"id":"Synpcc7942_2545", +"name":"None" +}, +{ +"id":"Synpcc7942_0925", +"name":"None" +}, +{ +"id":"Synpcc7942_2079", +"name":"None" +}, +{ +"id":"Synpcc7942_1455", +"name":"None" +}, +{ +"id":"Synpcc7942_0264", +"name":"None" +}, +{ +"id":"Synpcc7942_2296", +"name":"None" +}, +{ +"id":"Synpcc7942_0169", +"name":"None" +}, +{ +"id":"Synpcc7942_0894", +"name":"None" +}, +{ +"id":"Synpcc7942_0288", +"name":"None" +}, +{ +"id":"Synpcc7942_0861", +"name":"None" +}, +{ +"id":"Synpcc7942_0930", +"name":"None" +}, +{ +"id":"Synpcc7942_2029", +"name":"None" +}, +{ +"id":"Synpcc7942_1808", +"name":"None" +}, +{ +"id":"Synpcc7942_0684", +"name":"None" +}, +{ +"id":"Synpcc7942_1496", +"name":"None" +}, +{ +"id":"Synpcc7942_1861", +"name":"None" +}, +{ +"id":"Synpcc7942_0815", +"name":"None" +}, +{ +"id":"Synpcc7942_2177", +"name":"None" +}, +{ +"id":"Synpcc7942_1893", +"name":"None" +}, +{ +"id":"Synpcc7942_1894", +"name":"None" +}, +{ +"id":"Synpcc7942_2243", +"name":"None" +}, +{ +"id":"Synpcc7942_2265", +"name":"None" +}, +{ +"id":"Synpcc7942_0093", +"name":"None" +}, +{ +"id":"Synpcc7942_1246", +"name":"None" +}, +{ +"id":"Synpcc7942_1512", +"name":"None" +}, +{ +"id":"Synpcc7942_1344", +"name":"None" +}, +{ +"id":"Synpcc7942_1346", +"name":"None" +}, +{ +"id":"Synpcc7942_1743", +"name":"None" +}, +{ +"id":"Synpcc7942_0609", +"name":"None" +}, +{ +"id":"Synpcc7942_2091", +"name":"None" +}, +{ +"id":"Synpcc7942_2092", +"name":"None" +}, +{ +"id":"Synpcc7942_1982", +"name":"None" +}, +{ +"id":"Synpcc7942_2557", +"name":"None" +}, +{ +"id":"Synpcc7942_1415", +"name":"None" +}, +{ +"id":"Synpcc7942_2257", +"name":"None" +}, +{ +"id":"Synpcc7942_1976", +"name":"None" +}, +{ +"id":"Synpcc7942_1182", +"name":"None" +}, +{ +"id":"Synpcc7942_1343", +"name":"None" +}, +{ +"id":"Synpcc7942_1977", +"name":"None" +}, +{ +"id":"Synpcc7942_1181", +"name":"None" +}, +{ +"id":"Synpcc7942_1180", +"name":"None" +}, +{ +"id":"Synpcc7942_2234", +"name":"None" +}, +{ +"id":"Synpcc7942_0278", +"name":"None" +}, +{ +"id":"Synpcc7942_1439", +"name":"None" +}, +{ +"id":"Synpcc7942_0309", +"name":"None" +}, +{ +"id":"Synpcc7942_0413", +"name":"None" +}, +{ +"id":"Synpcc7942_1345", +"name":"None" +}, +{ +"id":"Synpcc7942_1030", +"name":"None" +}, +{ +"id":"Synpcc7942_2145", +"name":"None" +}, +{ +"id":"Synpcc7942_1449", +"name":"None" +}, +{ +"id":"Synpcc7942_1116", +"name":"None" +}, +{ +"id":"Synpcc7942_1831", +"name":"None" +}, +{ +"id":"Synpcc7942_2503", +"name":"None" +}, +{ +"id":"Synpcc7942_0091", +"name":"None" +}, +{ +"id":"Synpcc7942_0489", +"name":"None" +}, +{ +"id":"Synpcc7942_1609", +"name":"None" +}, +{ +"id":"Synpcc7942_1428", +"name":"None" +}, +{ +"id":"Synpcc7942_0923", +"name":"None" +}, +{ +"id":"Synpcc7942_2601", +"name":"None" +}, +{ +"id":"Synpcc7942_0290", +"name":"None" +}, +{ +"id":"Synpcc7942_2143", +"name":"None" +}, +{ +"id":"Synpcc7942_0411", +"name":"None" +}, +{ +"id":"Synpcc7942_1479", +"name":"None" +}, +{ +"id":"Synpcc7942_2426", +"name":"None" +}, +{ +"id":"Synpcc7942_0113", +"name":"None" +}, +{ +"id":"Synpcc7942_2332", +"name":"None" +}, +{ +"id":"Synpcc7942_2331", +"name":"None" +}, +{ +"id":"Synpcc7942_1231", +"name":"None" +}, +{ +"id":"Synpcc7942_0475", +"name":"None" +}, +{ +"id":"Synpcc7942_1232", +"name":"None" +}, +{ +"id":"Synpcc7942_0106", +"name":"None" +}, +{ +"id":"Synpcc7942_1519", +"name":"None" +}, +{ +"id":"Synpcc7942_0808", +"name":"None" +}, +{ +"id":"Synpcc7942_1335", +"name":"None" +}, +{ +"id":"Synpcc7942_1151", +"name":"None" +}, +{ +"id":"Synpcc7942_0407", +"name":"None" +}, +{ +"id":"Synpcc7942_1322", +"name":"None" +}, +{ +"id":"Synpcc7942_0920", +"name":"None" +}, +{ +"id":"Synpcc7942_1002", +"name":"None" +}, +{ +"id":"Synpcc7942_2048", +"name":"None" +}, +{ +"id":"Synpcc7942_0535", +"name":"None" +}, +{ +"id":"Synpcc7942_2049", +"name":"None" +}, +{ +"id":"Synpcc7942_1912a", +"name":"None" +}, +{ +"id":"Synpcc7942_2343", +"name":"None" +}, +{ +"id":"Synpcc7942_1249", +"name":"None" +}, +{ +"id":"Synpcc7942_1250", +"name":"None" +}, +{ +"id":"Synpcc7942_2342", +"name":"None" +}, +{ +"id":"Synpcc7942_0560", +"name":"None" +}, +{ +"id":"Synpcc7942_2341", +"name":"None" +}, +{ +"id":"Synpcc7942_1639", +"name":"None" +}, +{ +"id":"Synpcc7942_2612", +"name":"None" +}, +{ +"id":"Synpcc7942_1782", +"name":"None" +}, +{ +"id":"Synpcc7942_0206", +"name":"None" +}, +{ +"id":"Synpcc7942_0262", +"name":"None" +}, +{ +"id":"Synpcc7942_0097", +"name":"None" +}, +{ +"id":"Synpcc7942_0592", +"name":"None" +}, +{ +"id":"Synpcc7942_1566", +"name":"None" +}, +{ +"id":"Synpcc7942_1760", +"name":"None" +}, +{ +"id":"Synpcc7942_1003", +"name":"None" +}, +{ +"id":"Synpcc7942_0400", +"name":"None" +}, +{ +"id":"Synpcc7942_1021", +"name":"None" +}, +{ +"id":"Synpcc7942_2454", +"name":"None" +}, +{ +"id":"Synpcc7942_1366", +"name":"None" +}, +{ +"id":"Synpcc7942_0039", +"name":"None" +}, +{ +"id":"Synpcc7942_0205", +"name":"None" +}, +{ +"id":"Synpcc7942_1858", +"name":"None" +}, +{ +"id":"Synpcc7942_1057", +"name":"None" +}, +{ +"id":"Synpcc7942_2297", +"name":"None" +}, +{ +"id":"Synpcc7942_0903", +"name":"None" +}, +{ +"id":"Synpcc7942_1197", +"name":"None" +}, +{ +"id":"Synpcc7942_1964", +"name":"None" +}, +{ +"id":"Synpcc7942_2090", +"name":"None" +}, +{ +"id":"Synpcc7942_0937", +"name":"None" +}, +{ +"id":"Synpcc7942_1403", +"name":"None" +}, +{ +"id":"Synpcc7942_0396", +"name":"None" +}, +{ +"id":"Synpcc7942_0578", +"name":"None" +}, +{ +"id":"Synpcc7942_1191", +"name":"None" +}, +{ +"id":"Synpcc7942_2388", +"name":"None" +}, +{ +"id":"Synpcc7942_0190", +"name":"None" +}, +{ +"id":"Synpcc7942_0660", +"name":"None" +}, +{ +"id":"Synpcc7942_1457", +"name":"None" +}, +{ +"id":"Synpcc7942_2057", +"name":"None" +}, +{ +"id":"Synpcc7942_1454", +"name":"None" +}, +{ +"id":"Synpcc7942_0073", +"name":"None" +}, +{ +"id":"Synpcc7942_1847", +"name":"None" +}, +{ +"id":"Synpcc7942_0315", +"name":"None" +}, +{ +"id":"Synpcc7942_0454", +"name":"None" +}, +{ +"id":"Synpcc7942_1983", +"name":"None" +}, +{ +"id":"Synpcc7942_2375", +"name":"None" +}, +{ +"id":"Synpcc7942_0244", +"name":"None" +}, +{ +"id":"Synpcc7942_0996", +"name":"None" +}, +{ +"id":"Synpcc7942_1973", +"name":"None" +}, +{ +"id":"Synpcc7942_1608", +"name":"None" +}, +{ +"id":"Synpcc7942_2008", +"name":"None" +}, +{ +"id":"Synpcc7942_0612", +"name":"None" +}, +{ +"id":"Synpcc7942_0776", +"name":"None" +}, +{ +"id":"Synpcc7942_2522", +"name":"None" +}, +{ +"id":"Synpcc7942_1984", +"name":"None" +}, +{ +"id":"Synpcc7942_2381", +"name":"None" +}, +{ +"id":"Synpcc7942_1443", +"name":"None" +}, +{ +"id":"Synpcc7942_2434", +"name":"None" +}, +{ +"id":"Synpcc7942_0139", +"name":"None" +}, +{ +"id":"Synpcc7942_1848", +"name":"None" +}, +{ +"id":"Synpcc7942_0232", +"name":"None" +}, +{ +"id":"Synpcc7942_B2663", +"name":"None" +}, +{ +"id":"Synpcc7942_2420", +"name":"None" +}, +{ +"id":"Synpcc7942_0944", +"name":"None" +}, +{ +"id":"Synpcc7942_1096", +"name":"None" +}, +{ +"id":"Synpcc7942_0990", +"name":"None" +}, +{ +"id":"Synpcc7942_2384", +"name":"None" +}, +{ +"id":"Synpcc7942_2362", +"name":"None" +}, +{ +"id":"Synpcc7942_0482", +"name":"None" +}, +{ +"id":"Synpcc7942_2000", +"name":"None" +}, +{ +"id":"Synpcc7942_1435", +"name":"None" +}, +{ +"id":"Synpcc7942_0280", +"name":"None" +}, +{ +"id":"Synpcc7942_0125", +"name":"None" +}, +{ +"id":"Synpcc7942_2569", +"name":"None" +}, +{ +"id":"Synpcc7942_0717", +"name":"None" +}, +{ +"id":"Synpcc7942_0890", +"name":"None" +}, +{ +"id":"Synpcc7942_0105", +"name":"None" +}, +{ +"id":"Synpcc7942_0504", +"name":"None" +}, +{ +"id":"Synpcc7942_2101", +"name":"None" +}, +{ +"id":"Synpcc7942_1667", +"name":"None" +}, +{ +"id":"Synpcc7942_2303", +"name":"None" +}, +{ +"id":"Synpcc7942_0711", +"name":"None" +}, +{ +"id":"Synpcc7942_2122", +"name":"None" +}, +{ +"id":"Synpcc7942_1810", +"name":"None" +}, +{ +"id":"Synpcc7942_1809", +"name":"None" +}, +{ +"id":"Synpcc7942_2058", +"name":"None" +}, +{ +"id":"Synpcc7942_2188", +"name":"None" +}, +{ +"id":"Synpcc7942_0537", +"name":"None" +}, +{ +"id":"Synpcc7942_0505", +"name":"None" +}, +{ +"id":"Synpcc7942_1493", +"name":"None" +}, +{ +"id":"Synpcc7942_0126", +"name":"None" +}, +{ +"id":"Synpcc7942_1688", +"name":"None" +}, +{ +"id":"Synpcc7942_1680", +"name":"None" +}, +{ +"id":"Synpcc7942_1722", +"name":"None" +}, +{ +"id":"Synpcc7942_1682", +"name":"None" +}, +{ +"id":"Synpcc7942_1686", +"name":"None" +}, +{ +"id":"Synpcc7942_1687", +"name":"None" +}, +{ +"id":"Synpcc7942_1685", +"name":"None" +}, +{ +"id":"Synpcc7942_1681", +"name":"None" +}, +{ +"id":"Synpcc7942_1740", +"name":"None" +}, +{ +"id":"Synpcc7942_0626", +"name":"None" +}, +{ +"id":"Synpcc7942_0428", +"name":"None" +}, +{ +"id":"Synpcc7942_1792", +"name":"None" +}, +{ +"id":"Synpcc7942_1294", +"name":"None" +}, +{ +"id":"Synpcc7942_0781", +"name":"None" +}, +{ +"id":"Synpcc7942_1441", +"name":"None" +}, +{ +"id":"Synpcc7942_0534", +"name":"None" +}, +{ +"id":"Synpcc7942_0156", +"name":"None" +}, +{ +"id":"Synpcc7942_2402", +"name":"None" +}, +{ +"id":"Synpcc7942_0932", +"name":"None" +}, +{ +"id":"Synpcc7942_1552", +"name":"None" +}, +{ +"id":"Synpcc7942_0538", +"name":"None" +}, +{ +"id":"Synpcc7942_0116", +"name":"None" +}, +{ +"id":"Synpcc7942_0292", +"name":"None" +}, +{ +"id":"Synpcc7942_1767", +"name":"None" +}, +{ +"id":"Synpcc7942_1766", +"name":"None" +}, +{ +"id":"Synpcc7942_1347", +"name":"None" +}, +{ +"id":"Synpcc7942_1501", +"name":"None" +}, +{ +"id":"Synpcc7942_0212", +"name":"None" +}, +{ +"id":"Synpcc7942_2043", +"name":"None" +}, +{ +"id":"Synpcc7942_2249", +"name":"None" +}, +{ +"id":"Synpcc7942_0849", +"name":"None" +}, +{ +"id":"Synpcc7942_2460", +"name":"None" +}, +{ +"id":"Synpcc7942_1083", +"name":"None" +}, +{ +"id":"Synpcc7942_2582", +"name":"None" +}, +{ +"id":"Synpcc7942_1466", +"name":"None" +}, +{ +"id":"Synpcc7942_B2664", +"name":"None" +}, +{ +"id":"Synpcc7942_2480", +"name":"None" +}, +{ +"id":"Synpcc7942_1008", +"name":"None" +}, +{ +"id":"Synpcc7942_0681", +"name":"None" +}, +{ +"id":"Synpcc7942_0070", +"name":"None" +}, +{ +"id":"Synpcc7942_2063", +"name":"None" +}, +{ +"id":"Synpcc7942_2268", +"name":"None" +}, +{ +"id":"Synpcc7942_0166", +"name":"None" +}, +{ +"id":"Synpcc7942_0851", +"name":"None" +}, +{ +"id":"Synpcc7942_1896", +"name":"None" +}, +{ +"id":"Synpcc7942_1020", +"name":"None" +}, +{ +"id":"Synpcc7942_1855", +"name":"None" +}, +{ +"id":"Synpcc7942_0385", +"name":"None" +}, +{ +"id":"Synpcc7942_0670", +"name":"None" +}, +{ +"id":"Synpcc7942_0881", +"name":"None" +}, +{ +"id":"Synpcc7942_1297", +"name":"None" +}, +{ +"id":"Synpcc7942_0203", +"name":"None" +}, +{ +"id":"Synpcc7942_1186", +"name":"None" +}, +{ +"id":"Synpcc7942_0295", +"name":"None" +}, +{ +"id":"Synpcc7942_0273", +"name":"None" +}, +{ +"id":"Synpcc7942_1419", +"name":"None" +}, +{ +"id":"Synpcc7942_1838", +"name":"None" +}, +{ +"id":"Synpcc7942_1420", +"name":"None" +}, +{ +"id":"Synpcc7942_2475", +"name":"None" +}, +{ +"id":"Synpcc7942_1440", +"name":"None" +}, +{ +"id":"Synpcc7942_2439", +"name":"None" +}, +{ +"id":"Synpcc7942_2272", +"name":"None" +}, +{ +"id":"Synpcc7942_0618", +"name":"None" +}, +{ +"id":"Synpcc7942_2334", +"name":"None" +}, +{ +"id":"Synpcc7942_1268", +"name":"None" +}, +{ +"id":"Synpcc7942_2382", +"name":"None" +}, +{ +"id":"Synpcc7942_1854", +"name":"None" +}, +{ +"id":"Synpcc7942_1595", +"name":"None" +}, +{ +"id":"Synpcc7942_1956", +"name":"None" +}, +{ +"id":"Synpcc7942_1379", +"name":"None" +}, +{ +"id":"Synpcc7942_2564", +"name":"None" +}, +{ +"id":"Synpcc7942_2253", +"name":"None" +}, +{ +"id":"Synpcc7942_2104", +"name":"None" +}, +{ +"id":"Synpcc7942_2602", +"name":"None" +}, +{ +"id":"Synpcc7942_2604", +"name":"None" +}, +{ +"id":"Synpcc7942_2603", +"name":"None" +}, +{ +"id":"Synpcc7942_2312", +"name":"None" +}, +{ +"id":"Synpcc7942_1372", +"name":"None" +}, +{ +"id":"Synpcc7942_0977", +"name":"None" +}, +{ +"id":"Synpcc7942_0978", +"name":"None" +}, +{ +"id":"Synpcc7942_0588", +"name":"None" +}, +{ +"id":"Synpcc7942_1099", +"name":"None" +}, +{ +"id":"Synpcc7942_2508", +"name":"None" +}, +{ +"id":"Synpcc7942_2266", +"name":"None" +}, +{ +"id":"Synpcc7942_1995", +"name":"None" +}, +{ +"id":"Synpcc7942_0062", +"name":"None" +}, +{ +"id":"Synpcc7942_1082", +"name":"None" +}, +{ +"id":"Synpcc7942_0929", +"name":"None" +}, +{ +"id":"Synpcc7942_1881", +"name":"None" +}, +{ +"id":"Synpcc7942_1001", +"name":"None" +}, +{ +"id":"Synpcc7942_0430", +"name":"None" +}, +{ +"id":"Synpcc7942_0017", +"name":"None" +}, +{ +"id":"Synpcc7942_0442", +"name":"None" +}, +{ +"id":"Synpcc7942_2279", +"name":"None" +}, +{ +"id":"Synpcc7942_2506", +"name":"None" +}, +{ +"id":"Synpcc7942_2556", +"name":"None" +}, +{ +"id":"Synpcc7942_2555", +"name":"None" +}, +{ +"id":"Synpcc7942_0279", +"name":"None" +}, +{ +"id":"Synpcc7942_0957", +"name":"None" +}, +{ +"id":"Synpcc7942_1386", +"name":"None" +}, +{ +"id":"Synpcc7942_1229", +"name":"None" +}, +{ +"id":"Synpcc7942_0249", +"name":"None" +}, +{ +"id":"Synpcc7942_0369", +"name":"None" +}, +{ +"id":"Synpcc7942_0641", +"name":"None" +}, +{ +"id":"Synpcc7942_0314", +"name":"None" +}, +{ +"id":"Synpcc7942_1533", +"name":"None" +}, +{ +"id":"Synpcc7942_1927", +"name":"None" +}, +{ +"id":"Synpcc7942_1889", +"name":"None" +}, +{ +"id":"Synpcc7942_1085", +"name":"None" +}, +{ +"id":"Synpcc7942_1432", +"name":"None" +}, +{ +"id":"Synpcc7942_1513", +"name":"None" +}, +{ +"id":"Synpcc7942_2244", +"name":"None" +}, +{ +"id":"Synpcc7942_2393", +"name":"None" +}, +{ +"id":"Synpcc7942_2463", +"name":"None" +}, +{ +"id":"Synpcc7942_0488", +"name":"None" +}, +{ +"id":"Synpcc7942_0486", +"name":"None" +}, +{ +"id":"Synpcc7942_1194", +"name":"None" +}, +{ +"id":"Synpcc7942_1037", +"name":"None" +}, +{ +"id":"Synpcc7942_1742", +"name":"None" +}, +{ +"id":"Synpcc7942_1933", +"name":"None" +}, +{ +"id":"Synpcc7942_0441", +"name":"None" +}, +{ +"id":"Synpcc7942_0506", +"name":"None" +}, +{ +"id":"Synpcc7942_2548", +"name":"None" +}, +{ +"id":"Synpcc7942_1898", +"name":"None" +}, +{ +"id":"Synpcc7942_1624", +"name":"None" +}, +{ +"id":"Synpcc7942_1850", +"name":"None" +}, +{ +"id":"Synpcc7942_2501", +"name":"None" +}, +{ +"id":"Synpcc7942_0034", +"name":"None" +}, +{ +"id":"Synpcc7942_2335", +"name":"None" +}, +{ +"id":"Synpcc7942_1317", +"name":"None" +}, +{ +"id":"Synpcc7942_2575", +"name":"None" +}, +{ +"id":"Synpcc7942_2573", +"name":"None" +}, +{ +"id":"Synpcc7942_1316", +"name":"None" +}, +{ +"id":"Synpcc7942_1318", +"name":"None" +}, +{ +"id":"Synpcc7942_2574", +"name":"None" +}, +{ +"id":"Synpcc7942_0401", +"name":"None" +}, +{ +"id":"Synpcc7942_1907", +"name":"None" +}, +{ +"id":"Synpcc7942_2567", +"name":"None" +}, +{ +"id":"Synpcc7942_0576", +"name":"None" +}, +{ +"id":"Synpcc7942_1433", +"name":"None" +}, +{ +"id":"Synpcc7942_1505", +"name":"None" +}, +{ +"id":"Synpcc7942_0310", +"name":"None" +}, +{ +"id":"Synpcc7942_1359", +"name":"None" +}, +{ +"id":"Synpcc7942_1475", +"name":"None" +}, +{ +"id":"Synpcc7942_2600", +"name":"None" +}, +{ +"id":"Synpcc7942_0604", +"name":"None" +}, +{ +"id":"Synpcc7942_0439", +"name":"None" +}, +{ +"id":"Synpcc7942_0198", +"name":"None" +}, +{ +"id":"Synpcc7942_0101", +"name":"None" +}, +{ +"id":"Synpcc7942_1741", +"name":"None" +}, +{ +"id":"Synpcc7942_0965", +"name":"None" +}, +{ +"id":"Synpcc7942_0173", +"name":"None" +}, +{ +"id":"Synpcc7942_1900", +"name":"None" +}, +{ +"id":"Synpcc7942_0371", +"name":"None" +}, +{ +"id":"Synpcc7942_1714", +"name":"None" +}, +{ +"id":"Synpcc7942_0529", +"name":"None" +}, +{ +"id":"Synpcc7942_0713", +"name":"None" +}, +{ +"id":"Synpcc7942_1309", +"name":"None" +}, +{ +"id":"Synpcc7942_0853", +"name":"None" +}, +{ +"id":"Synpcc7942_1269", +"name":"None" +}, +{ +"id":"Synpcc7942_0256", +"name":"None" +}, +{ +"id":"Synpcc7942_1971", +"name":"None" +}, +{ +"id":"Synpcc7942_2197", +"name":"None" +}, +{ +"id":"Synpcc7942_2078", +"name":"None" +}, +{ +"id":"Synpcc7942_1352", +"name":"None" +}, +{ +"id":"Synpcc7942_2080", +"name":"None" +}, +{ +"id":"Synpcc7942_1136", +"name":"None" +}, +{ +"id":"Synpcc7942_1190", +"name":"None" +}, +{ +"id":"Synpcc7942_0774", +"name":"None" +}, +{ +"id":"Synpcc7942_2527", +"name":"None" +}, +{ +"id":"Synpcc7942_0813", +"name":"None" +}, +{ +"id":"Synpcc7942_0783", +"name":"None" +}, +{ +"id":"Synpcc7942_0715", +"name":"None" +}, +{ +"id":"Synpcc7942_2100", +"name":"None" +}, +{ +"id":"Synpcc7942_1149", +"name":"None" +}, +{ +"id":"Synpcc7942_0927", +"name":"None" +}, +{ +"id":"Synpcc7942_1371", +"name":"None" +}, +{ +"id":"Synpcc7942_0623", +"name":"None" +}, +{ +"id":"Synpcc7942_0004", +"name":"None" +}, +{ +"id":"Synpcc7942_0191", +"name":"None" +}, +{ +"id":"Synpcc7942_0271", +"name":"None" +}, +{ +"id":"Synpcc7942_0597", +"name":"None" +}, +{ +"id":"Synpcc7942_1456", +"name":"None" +}, +{ +"id":"Synpcc7942_2379", +"name":"None" +}, +{ +"id":"Synpcc7942_0967", +"name":"None" +}, +{ +"id":"Synpcc7942_2613", +"name":"None" +}, +{ +"id":"Synpcc7942_0931", +"name":"None" +}, +{ +"id":"Synpcc7942_2371", +"name":"None" +}, +{ +"id":"Synpcc7942_0804", +"name":"None" +}, +{ +"id":"Synpcc7942_0152", +"name":"None" +}, +{ +"id":"Synpcc7942_1491", +"name":"None" +}, +{ +"id":"Synpcc7942_1490", +"name":"None" +}, +{ +"id":"Synpcc7942_1488", +"name":"None" +}, +{ +"id":"Synpcc7942_1489", +"name":"None" +}, +{ +"id":"Synpcc7942_1410", +"name":"None" +}, +{ +"id":"Synpcc7942_0579", +"name":"None" +}, +{ +"id":"Synpcc7942_1967", +"name":"None" +}, +{ +"id":"Synpcc7942_0915", +"name":"None" +}, +{ +"id":"Synpcc7942_0801", +"name":"None" +}, +{ +"id":"Synpcc7942_2132", +"name":"None" +}, +{ +"id":"Synpcc7942_0951", +"name":"None" +}, +{ +"id":"Synpcc7942_0939", +"name":"None" +}, +{ +"id":"Synpcc7942_1170", +"name":"None" +}, +{ +"id":"Synpcc7942_1570", +"name":"None" +}, +{ +"id":"Synpcc7942_2317", +"name":"None" +}, +{ +"id":"Synpcc7942_0211", +"name":"None" +}, +{ +"id":"Synpcc7942_1427", +"name":"None" +}, +{ +"id":"Synpcc7942_1426", +"name":"None" +}, +{ +"id":"Synpcc7942_0185", +"name":"None" +}, +{ +"id":"Synpcc7942_0408", +"name":"None" +}, +{ +"id":"Synpcc7942_2107", +"name":"None" +}, +{ +"id":"Synpcc7942_2105", +"name":"None" +}, +{ +"id":"Synpcc7942_2106", +"name":"None" +}, +{ +"id":"Synpcc7942_1857", +"name":"None" +}, +{ +"id":"Synpcc7942_2007", +"name":"None" +}, +{ +"id":"Synpcc7942_0456", +"name":"None" +}, +{ +"id":"Synpcc7942_0655", +"name":"None" +}, +{ +"id":"Synpcc7942_2016", +"name":"None" +}, +{ +"id":"Synpcc7942_0699", +"name":"None" +}, +{ +"id":"Synpcc7942_0294", +"name":"None" +}, +{ +"id":"Synpcc7942_2010", +"name":"None" +}, +{ +"id":"Synpcc7942_1175", +"name":"None" +}, +{ +"id":"Synpcc7942_0225", +"name":"None" +}, +{ +"id":"Synpcc7942_1962", +"name":"None" +}, +{ +"id":"Synpcc7942_1174", +"name":"None" +}, +{ +"id":"Synpcc7942_0424", +"name":"None" +}, +{ +"id":"Synpcc7942_0697", +"name":"None" +}, +{ +"id":"Synpcc7942_1177", +"name":"None" +}, +{ +"id":"Synpcc7942_0893", +"name":"None" +}, +{ +"id":"Synpcc7942_1705", +"name":"None" +}, +{ +"id":"Synpcc7942_0696", +"name":"None" +}, +{ +"id":"Synpcc7942_1176", +"name":"None" +}, +{ +"id":"Synpcc7942_2245", +"name":"None" +}, +{ +"id":"Synpcc7942_1389", +"name":"None" +}, +{ +"id":"Synpcc7942_0656", +"name":"None" +}, +{ +"id":"Synpcc7942_0343", +"name":"None" +}, +{ +"id":"Synpcc7942_1637", +"name":"None" +}, +{ +"id":"Synpcc7942_1038", +"name":"None" +}, +{ +"id":"Synpcc7942_0224", +"name":"None" +}, +{ +"id":"Synpcc7942_1679", +"name":"None" +}, +{ +"id":"Synpcc7942_1882", +"name":"None" +}, +{ +"id":"Synpcc7942_2478", +"name":"None" +}, +{ +"id":"Synpcc7942_0021", +"name":"None" +}, +{ +"id":"Synpcc7942_1668", +"name":"None" +}, +{ +"id":"Synpcc7942_1671", +"name":"None" +}, +{ +"id":"Synpcc7942_1729", +"name":"None" +}, +{ +"id":"Synpcc7942_1669", +"name":"None" +}, +{ +"id":"Synpcc7942_0639", +"name":"None" +}, +{ +"id":"Synpcc7942_2099", +"name":"None" +}, +{ +"id":"Synpcc7942_0003", +"name":"None" +}, +{ +"id":"Synpcc7942_0819", +"name":"None" +}, +{ +"id":"Synpcc7942_0818", +"name":"None" +}, +{ +"id":"Synpcc7942_1852", +"name":"None" +}, +{ +"id":"Synpcc7942_0189", +"name":"None" +}, +{ +"id":"Synpcc7942_0492", +"name":"None" +}, +{ +"id":"Synpcc7942_1851", +"name":"None" +}, +{ +"id":"Synpcc7942_1240", +"name":"None" +}, +{ +"id":"Synpcc7942_1214", +"name":"None" +}, +{ +"id":"Synpcc7942_0009", +"name":"None" +}, +{ +"id":"Synpcc7942_2160", +"name":"None" +}, +{ +"id":"Synpcc7942_2098", +"name":"None" +}, +{ +"id":"Synpcc7942_0058", +"name":"None" +}, +{ +"id":"Synpcc7942_0842", +"name":"None" +}, +{ +"id":"Synpcc7942_2467", +"name":"None" +}, +{ +"id":"Synpcc7942_2592", +"name":"None" +}, +{ +"id":"Synpcc7942_1131", +"name":"None" +}, +{ +"id":"Synpcc7942_1734", +"name":"None" +}, +{ +"id":"Synpcc7942_2113", +"name":"None" +}, +{ +"id":"Synpcc7942_0628", +"name":"None" +}, +{ +"id":"Synpcc7942_0137", +"name":"None" +}, +{ +"id":"Synpcc7942_1383", +"name":"None" +}, +{ +"id":"Synpcc7942_0525", +"name":"None" +}, +{ +"id":"Synpcc7942_2123", +"name":"None" +}, +{ +"id":"Synpcc7942_2213", +"name":"None" +}, +{ +"id":"Synpcc7942_0272", +"name":"None" +}, +{ +"id":"Synpcc7942_0040", +"name":"None" +}, +{ +"id":"Synpcc7942_1825", +"name":"None" +}, +{ +"id":"Synpcc7942_2304", +"name":"None" +}, +{ +"id":"Synpcc7942_1865", +"name":"None" +}, +{ +"id":"Synpcc7942_1239", +"name":"None" +}, +{ +"id":"Synpcc7942_1238", +"name":"None" +}, +{ +"id":"Synpcc7942_1237", +"name":"None" +}, +{ +"id":"Synpcc7942_1236", +"name":"None" +}, +{ +"id":"Synpcc7942_1409", +"name":"None" +}, +{ +"id":"Synpcc7942_1406", +"name":"None" +}, +{ +"id":"Synpcc7942_2175", +"name":"None" +}, +{ +"id":"Synpcc7942_1532", +"name":"None" +}, +{ +"id":"Synpcc7942_1531", +"name":"None" +}, +{ +"id":"Synpcc7942_2588", +"name":"None" +}, +{ +"id":"Synpcc7942_2055", +"name":"None" +}, +{ +"id":"Synpcc7942_1610", +"name":"None" +}, +{ +"id":"Synpcc7942_1611", +"name":"None" +}, +{ +"id":"Synpcc7942_1612", +"name":"None" +}, +{ +"id":"Synpcc7942_1744", +"name":"None" +}, +{ +"id":"Synpcc7942_0645", +"name":"None" +}, +{ +"id":"Synpcc7942_1484", +"name":"None" +}, +{ +"id":"Synpcc7942_0086", +"name":"None" +}, +{ +"id":"Synpcc7942_0221", +"name":"None" +}, +{ +"id":"Synpcc7942_2315", +"name":"None" +}, +{ +"id":"Synpcc7942_0337", +"name":"None" +}, +{ +"id":"Synpcc7942_0331", +"name":"None" +}, +{ +"id":"Synpcc7942_0336", +"name":"None" +}, +{ +"id":"Synpcc7942_0333", +"name":"None" +}, +{ +"id":"Synpcc7942_0332", +"name":"None" +}, +{ +"id":"Synpcc7942_2316", +"name":"None" +}, +{ +"id":"Synpcc7942_0334", +"name":"None" +}, +{ +"id":"Synpcc7942_0335", +"name":"None" +}, +{ +"id":"Synpcc7942_2084", +"name":"None" +}, +{ +"id":"Synpcc7942_1718", +"name":"None" +}, +{ +"id":"Synpcc7942_0276", +"name":"None" +}, +{ +"id":"Synpcc7942_2445", +"name":"None" +}, +{ +"id":"Synpcc7942_2441", +"name":"None" +}, +{ +"id":"Synpcc7942_2443", +"name":"None" +}, +{ +"id":"Synpcc7942_2444", +"name":"None" +}, +{ +"id":"Synpcc7942_2442", +"name":"None" +}, +{ +"id":"Synpcc7942_1853", +"name":"None" +}, +{ +"id":"Synpcc7942_2409", +"name":"None" +}, +{ +"id":"Synpcc7942_1109", +"name":"None" +}, +{ +"id":"Synpcc7942_1044", +"name":"None" +}, +{ +"id":"Synpcc7942_0638", +"name":"None" +}, +{ +"id":"Synpcc7942_1954", +"name":"None" +}, +{ +"id":"Synpcc7942_2324", +"name":"None" +}, +{ +"id":"Synpcc7942_0986", +"name":"None" +}, +{ +"id":"Synpcc7942_1080", +"name":"None" +}, +{ +"id":"Synpcc7942_1081", +"name":"None" +}, +{ +"id":"Synpcc7942_1068", +"name":"None" +}, +{ +"id":"Synpcc7942_1944", +"name":"None" +}, +{ +"id":"Synpcc7942_1198", +"name":"None" +}, +{ +"id":"Synpcc7942_0143", +"name":"None" +}, +{ +"id":"Synpcc7942_0583", +"name":"None" +}, +{ +"id":"Synpcc7942_2274", +"name":"None" +}, +{ +"id":"Synpcc7942_2137", +"name":"None" +}, +{ +"id":"Synpcc7942_1261", +"name":"None" +}, +{ +"id":"Synpcc7942_1829", +"name":"None" +}, +{ +"id":"Synpcc7942_1656", +"name":"None" +}, +{ +"id":"Synpcc7942_0394", +"name":"None" +}, +{ +"id":"Synpcc7942_2361", +"name":"None" +}, +{ +"id":"Synpcc7942_2201", +"name":"None" +}, +{ +"id":"Synpcc7942_0019", +"name":"None" +}, +{ +"id":"Synpcc7942_1334", +"name":"None" +}, +{ +"id":"Synpcc7942_1841", +"name":"None" +}, +{ +"id":"Synpcc7942_1719", +"name":"None" +}, +{ +"id":"Synpcc7942_1992", +"name":"None" +}, +{ +"id":"Synpcc7942_0370", +"name":"None" +}, +{ +"id":"Synpcc7942_2252", +"name":"None" +}, +{ +"id":"Synpcc7942_1915", +"name":"None" +}, +{ +"id":"Synpcc7942_1939", +"name":"None" +}, +{ +"id":"Synpcc7942_0245", +"name":"None" +}, +{ +"id":"Synpcc7942_0674", +"name":"None" +}, +{ +"id":"Synpcc7942_2514", +"name":"None" +}, +{ +"id":"Synpcc7942_2406", +"name":"None" +}, +{ +"id":"Synpcc7942_1929", +"name":"None" +}, +{ +"id":"Synpcc7942_1058", +"name":"None" +}, +{ +"id":"Synpcc7942_0603", +"name":"None" +}, +{ +"id":"Synpcc7942_0098", +"name":"None" +}, +{ +"id":"Synpcc7942_2087", +"name":"None" +}, +{ +"id":"Synpcc7942_1481", +"name":"None" +}, +{ +"id":"Synpcc7942_1235", +"name":"None" +}, +{ +"id":"Synpcc7942_1103", +"name":"None" +}, +{ +"id":"Synpcc7942_0023", +"name":"None" +}, +{ +"id":"Synpcc7942_0584", +"name":"None" +}, +{ +"id":"Synpcc7942_0543", +"name":"None" +}, +{ +"id":"Synpcc7942_0282", +"name":"None" +}, +{ +"id":"Synpcc7942_1993", +"name":"None" +}, +{ +"id":"Synpcc7942_1994", +"name":"None" +}, +{ +"id":"Synpcc7942_0608", +"name":"None" +}, +{ +"id":"Synpcc7942_1794", +"name":"None" +}, +{ +"id":"Synpcc7942_2156", +"name":"None" +}, +{ +"id":"Synpcc7942_2310", +"name":"None" +}, +{ +"id":"Synpcc7942_1979", +"name":"None" +}, +{ +"id":"Synpcc7942_0970", +"name":"None" +}, +{ +"id":"Synpcc7942_1723", +"name":"None" +}, +{ +"id":"Synpcc7942_2532", +"name":"None" +}, +{ +"id":"Synpcc7942_2164", +"name":"None" +}, +{ +"id":"Synpcc7942_1043", +"name":"None" +}, +{ +"id":"Synpcc7942_1184", +"name":"None" +}, +{ +"id":"Synpcc7942_1819", +"name":"None" +}, +{ +"id":"Synpcc7942_1918", +"name":"None" +}, +{ +"id":"Synpcc7942_1659", +"name":"None" +}, +{ +"id":"Synpcc7942_1596", +"name":"None" +}, +{ +"id":"Synpcc7942_1738", +"name":"None" +}, +{ +"id":"Synpcc7942_0158", +"name":"None" +}, +{ +"id":"Synpcc7942_0827", +"name":"None" +}, +{ +"id":"Synpcc7942_1072", +"name":"None" +}, +{ +"id":"Synpcc7942_0029", +"name":"None" +}, +{ +"id":"Synpcc7942_0028", +"name":"None" +}, +{ +"id":"Synpcc7942_0027", +"name":"None" +}, +{ +"id":"Synpcc7942_0031", +"name":"None" +}, +{ +"id":"Synpcc7942_0030", +"name":"None" +}, +{ +"id":"Synpcc7942_1735", +"name":"None" +}, +{ +"id":"Synpcc7942_1737", +"name":"None" +}, +{ +"id":"Synpcc7942_0450", +"name":"None" +}, +{ +"id":"Synpcc7942_0419", +"name":"None" +}, +{ +"id":"Synpcc7942_1736", +"name":"None" +}, +{ +"id":"Synpcc7942_0345", +"name":"None" +}, +{ +"id":"Synpcc7942_1507", +"name":"None" +}, +{ +"id":"Synpcc7942_0542", +"name":"None" +}, +{ +"id":"Synpcc7942_2353", +"name":"None" +}, +{ +"id":"Synpcc7942_1411", +"name":"None" +}, +{ +"id":"Synpcc7942_B2623", +"name":"None" +}, +{ +"id":"Synpcc7942_0171", +"name":"None" +}, +{ +"id":"Synpcc7942_1953", +"name":"None" +}, +{ +"id":"Synpcc7942_1332", +"name":"None" +}, +{ +"id":"Synpcc7942_1333", +"name":"None" +}, +{ +"id":"Synpcc7942_1844", +"name":"None" +}, +{ +"id":"Synpcc7942_0455", +"name":"None" +}, +{ +"id":"Synpcc7942_2348", +"name":"None" +}, +{ +"id":"Synpcc7942_0530", +"name":"None" +}, +{ +"id":"Synpcc7942_1715", +"name":"None" +}, +{ +"id":"Synpcc7942_0469", +"name":"None" +}, +{ +"id":"Synpcc7942_1019", +"name":"None" +}, +{ +"id":"Synpcc7942_0973", +"name":"None" +}, +{ +"id":"Synpcc7942_1342", +"name":"None" +}, +{ +"id":"Synpcc7942_1700", +"name":"None" +}, +{ +"id":"Synpcc7942_1653", +"name":"None" +}, +{ +"id":"Synpcc7942_0061", +"name":"None" +}, +{ +"id":"Synpcc7942_1717", +"name":"None" +}, +{ +"id":"Synpcc7942_1678", +"name":"None" +}, +{ +"id":"Synpcc7942_0511", +"name":"None" +}, +{ +"id":"Synpcc7942_1478", +"name":"None" +}, +{ +"id":"Synpcc7942_0323", +"name":"None" +}, +{ +"id":"Synpcc7942_0322", +"name":"None" +}, +{ +"id":"Synpcc7942_2487", +"name":"None" +}, +{ +"id":"Synpcc7942_1908", +"name":"None" +}, +{ +"id":"Synpcc7942_0491", +"name":"None" +}, +{ +"id":"Synpcc7942_1106", +"name":"None" +}, +{ +"id":"Synpcc7942_0668", +"name":"None" +}, +{ +"id":"Synpcc7942_2094", +"name":"None" +}, +{ +"id":"Synpcc7942_2093", +"name":"None" +}, +{ +"id":"Synpcc7942_0308", +"name":"None" +}, +{ +"id":"Synpcc7942_2513", +"name":"None" +}, +{ +"id":"Synpcc7942_2321", +"name":"None" +}, +{ +"id":"Synpcc7942_0654", +"name":"None" +}, +{ +"id":"Synpcc7942_0330", +"name":"None" +}, +{ +"id":"Synpcc7942_1373", +"name":"None" +}, +{ +"id":"Synpcc7942_2554", +"name":"None" +}, +{ +"id":"Synpcc7942_2552", +"name":"None" +}, +{ +"id":"Synpcc7942_2553", +"name":"None" +}, +{ +"id":"Synpcc7942_1447", +"name":"None" +}, +{ +"id":"Synpcc7942_1423", +"name":"None" +}, +{ +"id":"Synpcc7942_0918", +"name":"None" +}, +{ +"id":"Synpcc7942_1594", +"name":"None" +}, +{ +"id":"Synpcc7942_1593", +"name":"None" +}, +{ +"id":"Synpcc7942_0118", +"name":"None" +}, +{ +"id":"Synpcc7942_2117", +"name":"None" +}, +{ +"id":"Synpcc7942_2322", +"name":"None" +}, +{ +"id":"Synpcc7942_2570", +"name":"None" +}, +{ +"id":"Synpcc7942_1142", +"name":"None" +}, +{ +"id":"Synpcc7942_0449", +"name":"None" +}, +{ +"id":"Synpcc7942_0018", +"name":"None" +}, +{ +"id":"Synpcc7942_2457", +"name":"None" +}, +{ +"id":"Synpcc7942_1959", +"name":"None" +}, +{ +"id":"Synpcc7942_1662", +"name":"None" +}, +{ +"id":"Synpcc7942_1577", +"name":"None" +}, +{ +"id":"Synpcc7942_1308", +"name":"None" +}, +{ +"id":"Synpcc7942_1293", +"name":"None" +}, +{ +"id":"Synpcc7942_2064", +"name":"None" +}, +{ +"id":"Synpcc7942_2263", +"name":"None" +}, +{ +"id":"Synpcc7942_0830", +"name":"None" +}, +{ +"id":"Synpcc7942_1313", +"name":"None" +}, +{ +"id":"Synpcc7942_2606", +"name":"None" +}, +{ +"id":"Synpcc7942_1920", +"name":"None" +}, +{ +"id":"Synpcc7942_2437", +"name":"None" +}, +{ +"id":"Synpcc7942_2415", +"name":"None" +}, +{ +"id":"Synpcc7942_0876", +"name":"None" +}, +{ +"id":"Synpcc7942_0587", +"name":"None" +}, +{ +"id":"Synpcc7942_2110", +"name":"None" +}, +{ +"id":"Synpcc7942_0680", +"name":"None" +}, +{ +"id":"Synpcc7942_2291", +"name":"None" +}, +{ +"id":"Synpcc7942_2289", +"name":"None" +}, +{ +"id":"Synpcc7942_2288", +"name":"None" +}, +{ +"id":"Synpcc7942_2290", +"name":"None" +}, +{ +"id":"Synpcc7942_0552", +"name":"None" +}, +{ +"id":"Synpcc7942_0281", +"name":"None" +}, +{ +"id":"Synpcc7942_1651", +"name":"None" +}, +{ +"id":"Synpcc7942_1884", +"name":"None" +}, +{ +"id":"Synpcc7942_2026", +"name":"None" +}, +{ +"id":"Synpcc7942_2028", +"name":"None" +}, +{ +"id":"Synpcc7942_2025", +"name":"None" +}, +{ +"id":"Synpcc7942_2339", +"name":"None" +}, +{ +"id":"Synpcc7942_2027", +"name":"None" +}, +{ +"id":"Synpcc7942_2286", +"name":"None" +}, +{ +"id":"Synpcc7942_2287", +"name":"None" +}, +{ +"id":"Synpcc7942_0082", +"name":"None" +}, +{ +"id":"Synpcc7942_1902", +"name":"None" +}, +{ +"id":"Synpcc7942_1887", +"name":"None" +}, +{ +"id":"Synpcc7942_1901", +"name":"None" +}, +{ +"id":"Synpcc7942_1903", +"name":"None" +}, +{ +"id":"Synpcc7942_1126", +"name":"None" +}, +{ +"id":"Synpcc7942_1244", +"name":"None" +}, +{ +"id":"Synpcc7942_2041", +"name":"None" +}, +{ +"id":"Synpcc7942_0580", +"name":"None" +}, +{ +"id":"Synpcc7942_1934", +"name":"None" +}, +{ +"id":"Synpcc7942_1672", +"name":"None" +}, +{ +"id":"Synpcc7942_0138", +"name":"None" +}, +{ +"id":"Synpcc7942_0344", +"name":"None" +}, +{ +"id":"Synpcc7942_0392", +"name":"None" +}, +{ +"id":"Synpcc7942_2360", +"name":"None" +}, +{ +"id":"Synpcc7942_2134", +"name":"None" +}, +{ +"id":"Synpcc7942_1963", +"name":"None" +}, +{ +"id":"Synpcc7942_0354", +"name":"None" +}, +{ +"id":"Synpcc7942_1581", +"name":"None" +}, +{ +"id":"Synpcc7942_2373", +"name":"None" +}, +{ +"id":"Synpcc7942_2236", +"name":"None" +}, +{ +"id":"Synpcc7942_1169", +"name":"None" +}, +{ +"id":"Synpcc7942_0822", +"name":"None" +}, +{ +"id":"Synpcc7942_1305", +"name":"None" +}, +{ +"id":"Synpcc7942_0445", +"name":"None" +}, +{ +"id":"Synpcc7942_0821", +"name":"None" +}, +{ +"id":"Synpcc7942_0432", +"name":"None" +}, +{ +"id":"Synpcc7942_2611", +"name":"" +}, +{ +"id":"Synpcc7942_0946", +"name":"" +}, +{ +"id":"Synpcc7942_0135", +"name":"" +}, +{ +"id":"Synpcc7942_1005", +"name":"" +}, +{ +"id":"Synpcc7942_0240", +"name":"" +}, +{ +"id":"Synpcc7942_1049", +"name":"" +}, +{ +"id":"Synpcc7942_1048", +"name":"" +}, +{ +"id":"Synpcc7942_1055", +"name":"" +}, +{ +"id":"Synpcc7942_1052", +"name":"" +}, +{ +"id":"Synpcc7942_1053", +"name":"" +}, +{ +"id":"Synpcc7942_1050", +"name":"" +}, +{ +"id":"Synpcc7942_1051", +"name":"" +}, +{ +"id":"Synpcc7942_1047", +"name":"" +}, +{ +"id":"Synpcc7942_2030", +"name":"" +}, +{ +"id":"Synpcc7942_0328", +"name":"" +}, +{ +"id":"Synpcc7942_0327", +"name":"" +}, +{ +"id":"Synpcc7942_0326", +"name":"" +}, +{ +"id":"Synpcc7942_0325", +"name":"" +}, +{ +"id":"Synpcc7942_0284", +"name":"" +}, +{ +"id":"Synpcc7942_0285", +"name":"" +}, +{ +"id":"Synpcc7942_1425", +"name":"" +}, +{ +"id":"Synpcc7942_1424", +"name":"" +}, +{ +"id":"Synpcc7942_1422", +"name":"" +}, +{ +"id":"Synpcc7942_1421", +"name":"" +}, +{ +"id":"Synpcc7942_1398", +"name":"" +}, +{ +"id":"Synpcc7942_0466", +"name":"" +}, +{ +"id":"Synpcc7942_2151", +"name":"" +}, +{ +"id":"Synpcc7942_0246", +"name":"" +}, +{ +"id":"Synpcc7942_0247", +"name":"" +}, +{ +"id":"Synpcc7942_0248", +"name":"" +}, +{ +"id":"Synpcc7942_1407", +"name":"" +}, +{ +"id":"Synpcc7942_2271", +"name":"" +}, +{ +"id":"Synpcc7942_2285", +"name":"" +}, +{ +"id":"Synpcc7942_0459", +"name":"" +}, +{ +"id":"Synpcc7942_0458", +"name":"" +}, +{ +"id":"Synpcc7942_B2624", +"name":"" +}, +{ +"id":"Synpcc7942_1135", +"name":"" +}, +{ +"id":"Synpcc7942_2390", +"name":"" +}, +{ +"id":"Synpcc7942_2111", +"name":"" +}, +{ +"id":"Synpcc7942_2464", +"name":"" +}, +{ +"id":"Synpcc7942_0440", +"name":"" +}, +{ +"id":"Synpcc7942_1093", +"name":"" +}, +{ +"id":"Synpcc7942_2577", +"name":"" +}, +{ +"id":"Synpcc7942_0912", +"name":"" +}, +{ +"id":"Synpcc7942_0405", +"name":"" +}, +{ +"id":"Synpcc7942_0194", +"name":"" +}, +{ +"id":"Synpcc7942_0001", +"name":"" +}, +{ +"id":"Synpcc7942_0094", +"name":"" +}, +{ +"id":"Synpcc7942_0570", +"name":"" +}, +{ +"id":"Synpcc7942_2199", +"name":"" +}, +{ +"id":"Synpcc7942_2610", +"name":"" +}, +{ +"id":"Synpcc7942_0397", +"name":"" +}, +{ +"id":"Synpcc7942_1470", +"name":"" +}, +{ +"id":"Synpcc7942_1471", +"name":"" +}, +{ +"id":"Synpcc7942_1472", +"name":"" +}, +{ +"id":"Synpcc7942_1473", +"name":"" +}, +{ +"id":"Synpcc7942_1474", +"name":"" +}, +{ +"id":"Synpcc7942_2359", +"name":"" +}, +{ +"id":"Synpcc7942_1469", +"name":"" +}, +{ +"id":"Synpcc7942_1468", +"name":"" +}, +{ +"id":"Synpcc7942_1257", +"name":"" +}, +{ +"id":"Synpcc7942_1576", +"name":"" +}, +{ +"id":"Synpcc7942_1588", +"name":"" +}, +{ +"id":"Synpcc7942_1530", +"name":"" +}, +{ +"id":"Synpcc7942_1233", +"name":"" +}, +{ +"id":"Synpcc7942_2387", +"name":"" +}, +{ +"id":"Synpcc7942_0546", +"name":"" +}, +{ +"id":"Synpcc7942_2394", +"name":"" +}, +{ +"id":"Synpcc7942_1264", +"name":"" +}, +{ +"id":"Synpcc7942_0811", +"name":"" +}, +{ +"id":"Synpcc7942_0307", +"name":"" +}, +{ +"id":"Synpcc7942_2186", +"name":"" +}, +{ +"id":"Synpcc7942_0600", +"name":"" +}, +{ +"id":"Synpcc7942_0780", +"name":"" +}, +{ +"id":"Synpcc7942_1111", +"name":"" +}, +{ +"id":"Synpcc7942_1121", +"name":"" +}, +{ +"id":"Synpcc7942_0485", +"name":"" +}, +{ +"id":"Synpcc7942_0991", +"name":"" +}, +{ +"id":"Synpcc7942_0567", +"name":"" +} +], +"id":"iJB785", +"compartments":{}, +"version":"1" +} diff --git a/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/models/GCF_000021565.1.xml b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/models/GCF_000021565.1.xml new file mode 100644 index 00000000..3f3f2541 --- /dev/null +++ b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/models/GCF_000021565.1.xml @@ -0,0 +1,71476 @@ + + + + + + + + + + + + + + + + + + + + + + + +

    FORMULA: C20H21N7O7

    +

    CHARGE: -2

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H8O3S

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C31H60O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C31H60O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C31H56O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C31H56O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C35H68O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C35H68O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C39H76O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C39H76O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C39H72O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C39H72O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C3H8O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H8O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H8O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H4O10P2

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C32H38N7O19P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C5H16N2

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H10O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C15H29O7P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C19H35O7P

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H6NO3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H6NO2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C17H31O7P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H7O4

    +

    CHARGE: -1.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H5O4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H5NO4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9O4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H11O4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C13H15N4O12P

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H14N5O8P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C9H14N5O8P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H14N2O4

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H14N2O4

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H6NO7P

    + +
    +
    + + + +

    FORMULA: C17H36NO7P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C17H36NO7P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C19H40NO7P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C19H40NO7P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C19H38NO7P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C19H38NO7P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C21H44NO7P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C21H44NO7P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C21H42NO7P

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C21H42NO7P

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C23H48NO7P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C23H48NO7P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C23H46NO7P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C23H46NO7P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C18H36O9P

    +

    CHARGE: -1.0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C18H36O9P

    +

    CHARGE: -1.0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C20H38O9P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C20H38O9P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C22H44O9P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C22H44O9P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C22H42O9P

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C22H42O9P

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C24H46O9P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C24H46O9P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C6H9O4

    +

    CHARGE: -1.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H8N5O8P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H9N5O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C4H7NO3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C12H13NO9P

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H10O10P

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H9O4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C50H70O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C50H72O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9O7P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9O7P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H8O6PS

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H3O4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C14H21N4O8P2S

    + +
    +
    + + + +

    FORMULA: C6H10O6

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H8O4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H7O3S

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H8N3O7P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9O5P

    + +
    +
    + + + +

    FORMULA: C5H9O2

    + +
    +
    + + + +

    FORMULA: C5H9O2

    + +
    +
    + + + +

    FORMULA: C26H40N7O17P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H5O6

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H7O7

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H11O7P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H10O9P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H7O2

    + +
    +
    + + + +

    FORMULA: C4H7O2

    + +
    +
    + + + +

    FORMULA: C6H9O3

    +

    CHARGE: -1.0

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H5O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C46H70O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C46H70O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C14H22N3O17P3

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H4O7P

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2H2O6P

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2H2O6P

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H7O4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H11N5O7P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H7NO5P

    + +
    +
    + + + +

    FORMULA: C7H10O5

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H10O5

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H8O5

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H9O6

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H7O5

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C25H38N7O18P3S

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C25H38N7O18P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C27H42N7O18P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H9O4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C29H46N7O18P3S

    +

    CHARGE: -4.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C392H617N96O144P0S3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C11H12NO6P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H7O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H9O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C27H40N7O18P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C29H44N7O18P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C47H69O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H4O7P

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H2O7P

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H9O10P

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H9N3O4P

    + +
    +
    + + + +

    FORMULA: C4H9NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H9NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H9NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H10NO

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H10NO

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H6NO2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H10NO5

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H9N3O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H9N3O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H8N3O4P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C14H23N3O14P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H8O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H4O6

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H8O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H8O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H6O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H5O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H5O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H5O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9NO4

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9NO3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9NO3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H9NO4

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H9O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H8NO4PS

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H6NO7P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H6O8P

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H15NO8P

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C12H20N2O9PS

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H16N4O6

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H6N2O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H11N3O9P

    +

    CHARGE: -3.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9NO3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H15N4O9P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H13N4O9P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H11NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H10O4

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H10O4

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C20H21N7O7

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H7N3O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H11O7PS

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H11O7PS

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C11H15N5O3S

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C20H24N7O6

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H6NO3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C20H23N10O15P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H9N5O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H8N5O8P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H17NO3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C384H603N96O142P0S3

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C18H30N5O9

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + +
    + + + +

    FORMULA: C15H25N4O8

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C15H25N4O8

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C15H25N4O8

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H13N2O5

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H13N2O5

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H14N3O

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H8NO5

    +

    CHARGE: -1.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C35H58N7O18P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C29H46N7O18P3S

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C14H27O3

    + +
    +
    + + + +

    FORMULA: C14H27O3

    + +
    +
    + + + +

    FORMULA: C14H27O3

    + +
    +
    + + + +

    FORMULA: C5H6O5

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C12H14N5O8P

    + +
    +
    + + + +

    FORMULA: C2H3O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2H3O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2H3O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2H4O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2H4O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2H4O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C23H34N7O17P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H6O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H9NO8P

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H10NO4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H14NO9P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H9NO5

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H15NO6

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H3O6

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H3O6

    + +
    +
    + + + +

    FORMULA: C7H14N2O3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9NO4

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H8O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H8O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H8O2

    + +
    +
    + + + +

    FORMULA: C2H3O5P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H5N5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H13N5O4

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H12N5O10P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C16H23N5O15P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C15H21N5O14P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H16N4

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H16N4

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H16N4

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C14H20N6O5S

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H12N5O13P3

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H13N4O8P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H12N3O7P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H4O5

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H7NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H11N2O5

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H11N2O5

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H13N2O5

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H13N2O5

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H14N2O4

    + +
    +
    + + + +

    FORMULA: C7H14N2O4

    + +
    +
    + + + +

    FORMULA: C3H7NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H7NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H7NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H15N3O4

    + +
    +
    + + + +

    FORMULA: C8H15N3O4

    + +
    +
    + + + +

    FORMULA: C9H14N4O3

    + +
    +
    + + + +

    FORMULA: C9H14N4O3

    + +
    +
    + + + +

    FORMULA: C9H18N2O3

    + +
    +
    + + + +

    FORMULA: C9H18N2O3

    + +
    +
    + + + +

    FORMULA: C6H12N2O3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H12N2O3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H7O4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H10N2O3

    + +
    +
    + + + +

    FORMULA: C5H10N2O3

    + +
    +
    + + + +

    FORMULA: C9H20N2OS2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C15H23N6O5S

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C14H24N6O3S

    +

    CHARGE: 2.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C15H19N5O6S

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H12N5O7P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C34H52N6O19

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C37H57N7O20

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C19H29N2O12

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C19H29N2O12

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H6NO2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C20H24N10O19P4

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H12N5O10PS

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H15N4O2

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H15N4O2

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H15N4O2

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H17N4O6

    +

    CHARGE: -1.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H8N2O3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: H3AsO3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: H3AsO3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: HAsO4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: HAsO4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: HAsO4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H6NO4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H6NO4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H6NO4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H7NO3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H9NO3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H12N5O13P3

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C25H36N7O17P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C28H40N7O17P3S

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H7O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H8O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C25H38N7O17P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H10O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C10H15N2O3S

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H15N2O3S

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H7O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C4H7O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C4H7O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C4H7O5P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H5O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H5O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H5O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Ca

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Ca

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Ca

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H7N2O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H11N5O6P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H6N2O5

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CH2NO5P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Cd

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Cd

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Cd

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C20H22N10O14P2

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C9H12N3O11P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C36H63N3O15P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C44H75N3O15P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C44H79N3O15P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C48H83N3O15P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C48H87N3O15P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C40H67N3O15P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C40H71N3O15P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H10N2O3S

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H10N2O3S

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H10N2O3S

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CH4S

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CH4S

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H14NO

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H14NO

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H14NO

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H8O6

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H5O7

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H5O7

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H13N3O3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Cl

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Cl

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Cl

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C65H124O17P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C65H116O17P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C73H140O17P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C81H156O17P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C81H148O17P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C33H48N5O13

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C33H48N5O13

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C33H48N5O13

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H12N3O8P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CO

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CO

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CO

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C21H32N7O16P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Co

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Co

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Co

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C35H56FeN6O13

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C35H56N6O13

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + +
    + + + +

    FORMULA: C36H40N4O8

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: O2

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: O2

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: O2

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H5N3O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H5N3O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H13NO2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H13NO2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H12N3O14P3

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Cu

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Cu

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Cu

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CHN

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CHN

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CHN

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H7NO2S

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H7NO2S

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H13N3O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H6O4

    + +
    +
    + + + +

    FORMULA: C10H13N5O3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H13N5O3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H12N5O9P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H12N5O6P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H21N2O2

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H12N5O12P3

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H8O6P

    +

    CHARGE: -1.0

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C14H14N5O11P

    +

    CHARGE: -4.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H12N3O10P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H12N3O7P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H12N3O13P3

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H13N3O4

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C396H625N96O143P0S3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C12H23O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C12H23O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C12H23O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C12H24O5P

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C6H11O9P

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C10H12N5O10P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H12N5O7P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H13N5O4

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H12N5O13P3

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H5O6P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C19H19N7O6

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2H2NO2

    +

    CHARGE: -1.0

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H16NOS2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H10O3S

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C11H7O4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H13N5O4

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H5N2O4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H12N5O7P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C14H13N6O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H6O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H6O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H11N4O7P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H12N4O4

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H11N4O13P3

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H9O6PS

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C13H19N4O6

    +

    CHARGE: 1.0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9O7P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C21H24N6O15P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C21H33N7O13P2S

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C42H41N4O16

    +

    CHARGE: -7.0

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H17N2O3

    +

    CHARGE: -1.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H13N2O11P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H13N2O8P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H13N2O14P3

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H11N2O11P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H11N2O8P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H12N2O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H11N2O14P3

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9O7P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H8NO5

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H7O7P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H9N2O6P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2H8NO

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2H8NO

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2H6O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2H6O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H11O9P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H11O9P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C27H33N9O15P2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C27H35N9O15P2

    +

    CHARGE: 0.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CH2O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CH2O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H11O8P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H10O12P2

    +

    CHARGE: -4.0

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Fe2S2

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Fe2S2

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Fe2S2

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Fe

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Fe

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Fe

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Fe

    +

    CHARGE: 3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Fe

    +

    CHARGE: 3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Fe

    +

    CHARGE: 3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C12FeH10O14

    +

    CHARGE: -12.0

    + +
    + + + + + + + + + + + + + +
    + + + +

    FORMULA: C12FeH10O14

    +

    CHARGE: -12.0

    + +
    + + + + + + + + + + + + + +
    + + + +

    FORMULA: C27FeH48N10O15

    + +
    +
    + + + +

    FORMULA: C27FeH48N10O15

    + +
    +
    + + + +

    FORMULA: C8H13N2O9P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C42H52FeN8O6S2

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C33FeH32N4O4

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C33FeH31N4O4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C17H21N4O9P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C17H23N4O9P

    +

    CHARGE: 0.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C42H52FeN8O6S2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C33H32FeN4O4

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CHO2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CHO2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CHO2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H9N2O4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H9N2O4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H14N3O8P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H13N4O9P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C15H25O7P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H12O6

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H12O5

    +

    CHARGE: -1.0

    + +
    +
    + + + +

    FORMULA: C4H2O4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H2O4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H11O9P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H5O6P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H20NO6P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H14NO6P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H14NO6P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H14NO6P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H14O8P

    +

    CHARGE: -1.0

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H14O8P

    +

    CHARGE: -1.0

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H13NO8P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H11O9P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H11O9P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H12O6

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H13NO8P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H13NO8P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H14N2O8P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2H4O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2H4O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C23H36N6O21P4S2

    + +
    +
    + + + +

    FORMULA: C8H16NO8P2S2

    + +
    +
    + + + +

    FORMULA: C17H29NO9P2S4

    + +
    +
    + + + +

    FORMULA: C16H25O9P2S4

    + +
    +
    + + + +

    FORMULA: C16H23O9P2S4

    + +
    +
    + + + +

    FORMULA: C10H12N5O11P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C16H23N5O16P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H11N5O20P5

    +

    CHARGE: -7.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C20H33O7P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H12O6

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H9O7

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H9O7

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H10N2O3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H10N2O3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9NO3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H8NO7P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9NO3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H8NO4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H8NO4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H8NO4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H8NO4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H13N2O5

    +

    CHARGE: -1.0

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H6O4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C26H37N7O19P3S

    +

    CHARGE: -5

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C33H41N12O24P3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2HO3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H11N3O4

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H11N3O4

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H9N2O5

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H9N2O5

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2H5NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H11N2O3S

    +

    CHARGE: 1.0

    + +
    +
    + + + +

    FORMULA: C5H10N2O3S

    +

    CHARGE: 1.0

    + +
    +
    + + + +

    FORMULA: C2H5NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H13N3O4

    + +
    +
    + + + +

    FORMULA: C7H13N3O4

    + +
    +
    + + + +

    FORMULA: C7H11N2O5

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H11N2O5

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H17N2O3

    +

    CHARGE: 1.0

    + +
    +
    + + + +

    FORMULA: C8H16N2O3

    +

    CHARGE: 1.0

    + +
    +
    + + + +

    FORMULA: C7H14N2O3S

    + +
    +
    + + + +

    FORMULA: C7H14N2O3S

    + +
    +
    + + + +

    FORMULA: C11H15N2O3

    +

    CHARGE: 1.0

    + +
    +
    + + + +

    FORMULA: C11H14N2O3

    +

    CHARGE: 1.0

    + +
    +
    + + + +

    FORMULA: C7H13N2O3

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H13N2O3

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C11H15N2O4

    +

    CHARGE: 1.0

    + +
    +
    + + + +

    FORMULA: C11H14N2O4

    +

    CHARGE: 1.0

    + +
    +
    + + + +

    FORMULA: C3H6O3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H11NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H11NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H11NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H7O6P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H7O6P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H5O4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H8O3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H8O3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H8O3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2H3O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2H3O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2H3O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H8N2O3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H18N4O6

    + +
    +
    + + + +

    FORMULA: C9H18N4O6

    + +
    +
    + + + +

    FORMULA: C10H12N5O8P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H17O7P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H7NO2S2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H9NO2S2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H13N5O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C20H30N6O12S2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H16N3O6S

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H16N3O6S

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H16N3O6S

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H12N5O14P3

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H5N5O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H5N5O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H5N5O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: H2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: H2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: H2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CH2O3

    +

    CHARGE: 0.0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9O8P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: H2O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: H2O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: H2O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: H2O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: H2O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: H2O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: H2S

    +

    CHARGE: 0.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: H2S

    +

    CHARGE: 0.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: H

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: H

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: H

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CHO3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H9NO2S

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C16H31O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C16H31O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C16H31O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C16H29O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C16H29O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C16H29O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C16H30O5P

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C37H60N7O17P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C37H60N7O17P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C400H631N96O143P0S3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C6H9N3O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H11N3O4P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H12N3O

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H9O6PS

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C40H38N4O17

    +

    CHARGE: -8

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H8O8P2

    + +
    +
    + + + +

    FORMULA: C4H9NO3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C29H33N9O12

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H3O4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C27H40N7O17P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H4N4O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H4N4O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H4N4O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C27H42N7O17P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C4H3NO4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H7O5P

    + +
    +
    + + + +

    FORMULA: C25H38N7O17P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H8O6

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H5O7

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H11N4O11P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H13NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H13NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H13NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H7N2O5P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H11N4O8P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H7N

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H7N

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H12O6

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H12O6

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H12N4O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9O7P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H11N4O14P3

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C26H40N7O17P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: K

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: K

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: K

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H5O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H5O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H6O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H13NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H13NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H13NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H14NOS2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H15N2O2

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H15N2O2

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H15N2O2

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C13H26N4O7

    + +
    +
    + + + +

    FORMULA: C13H26N4O7

    + +
    +
    + + + +

    FORMULA: C387H604N96O145P0S3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H4O5

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H4O5

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C24H33N7O19P3S

    +

    CHARGE: -5

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C12H21O14P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C12H22O11

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C36H62O31

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C36H62O31

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C36H62O31

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C30H52O26

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C18H32O16

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C24H42O21

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H11O9P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H11O9P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CH4O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CH4O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CH4O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H3O3S

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H15N2O3S

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H15N2O3S

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H11NO2S

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H11NO2S

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H11NO2S

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H11NO2S

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C20H20N7O6

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H11NO3S

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H11NO3S

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Mg

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Mg

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Mg

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C30H35N9O12

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H11O9P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H7O7

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C20H21N7O6

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Mn

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Mn

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Mn

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: MoO4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: MoO4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: MoO4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C41H58O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C46H66O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C51H74O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C41H56O2

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C46H64O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C51H72O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H3O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CH3O3S

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H4O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H10O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H10O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C68H104N12O38

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + +
    + + + +

    FORMULA: C68H102N12O37

    +

    CHARGE: -4.0

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C71H107N13O38

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C71H109N13O39

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + +
    + + + +

    FORMULA: C74H114N14O40

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C111H169N21O59

    +

    CHARGE: -6

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C74H112N14O39

    +

    CHARGE: -4.0

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C111H167N21O58

    +

    CHARGE: -6

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C74H114N14O40

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + +
    + + + +

    FORMULA: C120H186N24O63

    +

    CHARGE: -6

    + +
    + + + + + + + + + + + + + +
    + + + +

    FORMULA: C80H124N16O42

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C74H112N14O39

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C77H117N15O40

    +

    CHARGE: -4.0

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C114H172N22O59

    +

    CHARGE: -6.0

    + +
    + + + + + + + + + + + + + + +
    + + + +

    FORMULA: N2O

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: N2O

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: N2O

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Na

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Na

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Na

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H4NO2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C21H26N7O14P2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C21H27N7O14P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C21H29N7O15P2

    + +
    +
    + + + +

    FORMULA: C21H29N7O15P2

    + +
    +
    + + + +

    FORMULA: C21H25N7O17P3

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C21H26N7O17P3

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C21H28N7O18P3

    + +
    +
    + + + +

    FORMULA: C21H28N7O18P3

    + +
    +
    + + + +

    FORMULA: C6H6N2O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: H3N

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: H4N

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: H4N

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: H4N

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Ni

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Ni

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Ni

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C11H13NO6

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C11H12NO9P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C11H14N2O8P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: NO2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: NO2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: NO2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: NO3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: NO3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: NO3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: NO

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: NO

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: NO

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H2O5

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C29H44N7O17P3S

    +

    CHARGE: -4.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C392H617N96O143P0S3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C29H46N7O17P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C18H35O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C18H35O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C18H33O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C18H33O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C18H33O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H15O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C40H65O7P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C39H64N7O17P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C4H4O8P

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H13N2O2

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H13N2O2

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H13N2O2

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H10N2O11P

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H3N2O4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2O4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C2O4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H7O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C20H27N10O16P3

    + +
    +
    + + + +

    FORMULA: C27H51O8P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C31H59O8P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C31H59O8P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C31H55O8P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C31H55O8P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C35H67O8P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C35H67O8P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C35H63O8P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C39H75O8P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C39H75O8P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C39H71O8P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C39H71O8P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H7O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H7O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C11H21N2O7PS

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H11O4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H11N5O10P2

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H11N5O13P2S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C41H46N4O16

    + +
    +
    + + + +

    FORMULA: C8H10NO6P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C29H58NO8P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + +
    + + + +

    FORMULA: C29H58NO8P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + +
    + + + +

    FORMULA: C33H66NO8P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C33H66NO8P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C33H62NO8P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C33H62NO8P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C37H74NO8P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C37H74NO8P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C37H70NO8P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C37H70NO8P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C41H82NO8P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C41H82NO8P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C41H78NO8P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C41H78NO8P

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C3H2O6P

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C30H58O10P

    +

    CHARGE: -1.0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C30H58O10P

    +

    CHARGE: -1.0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C34H66O10P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C34H66O10P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C34H62O10P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C34H62O10P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C38H74O10P

    +

    CHARGE: -1.0

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C38H74O10P

    +

    CHARGE: -1.0

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C38H70O10P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C38H70O10P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C42H82O10P

    +

    CHARGE: -1.0

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C42H82O10P

    +

    CHARGE: -1.0

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C42H78O10P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C42H78O10P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + +
    + + + +

    FORMULA: C30H57O13P2

    +

    CHARGE: -3.0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C30H57O13P2

    +

    CHARGE: -3.0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C34H65O13P2

    +

    CHARGE: -3.0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C34H65O13P2

    +

    CHARGE: -3.0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C34H61O13P2

    +

    CHARGE: -3.0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C34H61O13P2

    +

    CHARGE: -3.0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C38H73O13P2

    +

    CHARGE: -3.0

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C38H73O13P2

    +

    CHARGE: -3.0

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C38H69O13P2

    +

    CHARGE: -3.0

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C38H69O13P2

    +

    CHARGE: -3.0

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C42H81O13P2

    +

    CHARGE: -3.0

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C42H81O13P2

    +

    CHARGE: -3.0

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C42H77O13P2

    +

    CHARGE: -3.0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C42H77O13P2

    +

    CHARGE: -3.0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C9H11NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C34H30FeN4O4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C34H30FeN4O4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C34H30FeN4O4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H8NO6P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H7O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H8NO7P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: HO4P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: HO4P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: HO4P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H10O4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H10O4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C28H41N7O19P3S

    +

    CHARGE: -5

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C37H62N7O17P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H16NO5

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H5O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C3H5O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C3H5O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C13H16N5O8P

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C3H5O5P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H5O5P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H13N2O4

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C24H36N7O17P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H11N5O17P4

    +

    CHARGE: -6.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H8O6

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: HO7P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C34H32N4O4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C34H38N4O4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H18N5O20P5

    + +
    +
    + + + +

    FORMULA: HO10P3

    +

    CHARGE: -4.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9N

    +

    CHARGE: 0.0

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C14H2N2O8

    +

    CHARGE: -4.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C14H4N2O8

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H11NO7P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C12H13NO9P

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C15H19N5O14P2

    +

    CHARGE: -4.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C15H19N5O20P4

    +

    CHARGE: -6.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C15H21N5O15P2

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C15H21N5O15P2

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H12N2O3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H12N2O3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H12N2O3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C16H24N5O7

    + +
    +
    + + + +

    FORMULA: C16H24N5O7

    + +
    +
    + + + +

    FORMULA: C5H8O14P3

    +

    CHARGE: -5

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H11N2O9P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C3H6NO6P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H14N2

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H14N2

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H14N2

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H12N2O5P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H8NO6P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H11NO3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C8H11NO3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C27H48N10O15

    + +
    +
    + + + +

    FORMULA: C27H48N10O15

    + +
    +
    + + + +

    FORMULA: C3H3O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H3O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H3O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C49H74O4

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C49H76O4

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H3NO4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9O8P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9O8P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H10O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H10O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C17H22N4O6

    +

    CHARGE: 2.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H12O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H12O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C11H15N2O5

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9O8P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H12O13P2

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H13O10P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: S

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: S

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H5O3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H5O3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C42H46N3O25

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C42H46N3O25

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C42H46N3O25

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C42FeH47N3O25

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C42FeH46N3O25

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C42FeH46N3O25

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C32H39N7O20P3S

    +

    CHARGE: -5.0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C42H39N4O16

    +

    CHARGE: -7.0

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H7NO3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C3H7NO3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H18N3O8

    + +
    +
    + + + +

    FORMULA: C10H18N3O8

    + +
    +
    + + + +

    FORMULA: C42H36FeN4O16

    +

    CHARGE: -8

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H8O8P

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H9O5

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C11H16N2O7

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C11H12NO8

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: O3S

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: O3S

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: O3S

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: O4S

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: O4S

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: O4S

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H22N3

    +

    CHARGE: 3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H22N3

    +

    CHARGE: 3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H22N3

    +

    CHARGE: 3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C39H66N7O17P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C12H21O14P

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H4O4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H4O4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H4O4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C25H35N7O19P3S

    +

    CHARGE: -5

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H5O3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H11O9P

    +

    CHARGE: -3.0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C6H10O12P2

    +

    CHARGE: -4.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CNS

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CNS

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CNS

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C35H56N7O17P3S

    +

    CHARGE: -4.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C35H58N7O17P3S

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C398H627N96O143P0S3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C35H56N7O17P3S

    +

    CHARGE: -4.0

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C7H7NO4

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C19H21N7O6

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C12H17N4OS

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C12H17N4OS

    +

    CHARGE: 1

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C12H16N4O4PS

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C12H16N4O7P2S

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H9NO3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H8NO6P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H6N2O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H6N2O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H14N2O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C392H615N96O143P0S3

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H8

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H8

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C7H8

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H12N4O4S2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H14N4O4S2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C12H21O14P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C12H21O14P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C12H22O11

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C28H34N11O21P3

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C11H12N2O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: O3S2

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: O3S2

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: O3S2

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C14H27O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C14H27O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C14H27O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C14H25O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C14H25O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C14H25O2

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: C14H26O5P

    + +
    + + + + + + + + + + + +
    + + + +

    FORMULA: H2O6S3

    +

    CHARGE: 0.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H11NO3

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C95H153N8O28P2

    +

    CHARGE: -3.0

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C20H26N3O19P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C17H25N3O17P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C87H140N7O23P2

    +

    CHARGE: -3.0

    + +
    + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C23H33N4O20P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C28H39N5O23P2

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C20H28N3O19P2

    +

    CHARGE: -3.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C55H90O7P2

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C55H90O4P

    +

    CHARGE: -1

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H11N2O12P2

    +

    CHARGE: -3

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C17H25N3O17P2

    +

    CHARGE: -2.0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C15H22N2O17P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C15H22N2O17P2

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C35H51N7O26P2

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C41H61N9O28P2

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H11N2O9P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C40H36N4O16

    +

    CHARGE: -8

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C4H4N2O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CH4N2O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: CH4N2O

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H12N2O6

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C9H11N2O15P3

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H11NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H11NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H11NO2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H4N4O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H4N4O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H4N4O2

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H11N4O9P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H11N4O15P3

    +

    CHARGE: -4

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C10H12N4O6

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H9O8P

    +

    CHARGE: -2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H10O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: C5H10O5

    +

    CHARGE: 0

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Zn

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Zn

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +

    FORMULA: Zn

    +

    CHARGE: 2

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + diff --git a/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/models/MODEL1507180049.xml b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/models/MODEL1507180049.xml new file mode 100644 index 00000000..d2140833 --- /dev/null +++ b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/models/MODEL1507180049.xml @@ -0,0 +1,13585 @@ + + + + + +
    Borodina2005 - Genome-scale metabolic network +of Streptomyces coelicolor (iIB711)
    +
    +

    This model is described in the article:

    + +
    Borodina I, Krabben P, Nielsen + J.
    +
    Genome Res. 2005 Jun; 15(6): + 820-829
    +

    Abstract:

    +
    +

    Streptomyces are filamentous soil bacteria that produce more + than half of the known microbial antibiotics. We present the + first genome-scale metabolic model of a representative of this + group--Streptomyces coelicolor A3(2). The metabolism + reconstruction was based on annotated genes, physiological and + biochemical information. The stoichiometric model includes 819 + biochemical conversions and 152 transport reactions, accounting + for a total of 971 reactions. Of the reactions in the network, + 700 are unique, while the rest are iso-reactions. The network + comprises 500 metabolites. A total of 711 open reading frames + (ORFs) were included in the model, which corresponds to 13% of + the ORFs with assigned function in the S. coelicolor A3(2) + genome. In a comparative analysis with the Streptomyces + avermitilis genome, we showed that the metabolic genes are + highly conserved between these species and therefore the model + is suitable for use with other Streptomycetes. Flux balance + analysis was applied for studies of the reconstructed metabolic + network and to assess its metabolic capabilities for growth and + polyketides production. The model predictions of wild-type and + mutants' growth on different carbon and nitrogen sources agreed + with the experimental data in most cases. We estimated the + impact of each reaction knockout on the growth of the in silico + strain on 62 carbon sources and two nitrogen sources, thereby + identifying the "core" of the essential reactions. We also + illustrated how reconstruction of a metabolic network at the + genome level can be used to fill gaps in genome annotation.

    +
    +
    +
    +

    This model is hosted on + BioModels Database + and identified by: + MODEL1507180049.

    +

    To cite BioModels Database, please use: + BioModels Database: + An enhanced, curated and annotated resource for published + quantitative kinetic models.

    +
    +
    +

    To the extent possible under law, all copyright and related or + neighbouring rights to this encoded model have been dedicated to + the public domain worldwide. Please refer to + CC0 + Public Domain Dedication for more information.

    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    diff --git a/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/models/MODEL1507180060.xml b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/models/MODEL1507180060.xml new file mode 100644 index 00000000..3a8042f6 --- /dev/null +++ b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/models/MODEL1507180060.xml @@ -0,0 +1,117 @@ + + + + + +
    Reed2003 - Genome-scale metabolic network of +Escherichia coli (iJR904)
    +
    +

    This model is described in the article:

    + +
    Reed JL, Vo TD, Schilling CH, + Palsson BO.
    +
    Genome Biol. 2003; 4(9): R54
    +

    Abstract:

    +
    +

    BACKGROUND: Diverse datasets, including genomic, + transcriptomic, proteomic and metabolomic data, are becoming + readily available for specific organisms. There is currently a + need to integrate these datasets within an in silico modeling + framework. Constraint-based models of Escherichia coli K-12 + MG1655 have been developed and used to study the bacterium's + metabolism and phenotypic behavior. The most comprehensive E. + coli model to date (E. coli iJE660a GSM) accounts for 660 genes + and includes 627 unique biochemical reactions. RESULTS: An + expanded genome-scale metabolic model of E. coli (iJR904 + GSM/GPR) has been reconstructed which includes 904 genes and + 931 unique biochemical reactions. The reactions in the expanded + model are both elementally and charge balanced. Network gap + analysis led to putative assignments for 55 open reading frames + (ORFs). Gene to protein to reaction associations (GPR) are now + directly included in the model. Comparisons between predictions + made by iJR904 and iJE660a models show that they are generally + similar but differ under certain circumstances. Analysis of + genome-scale proton balancing shows how the flux of protons + into and out of the medium is important for maximizing cellular + growth. CONCLUSIONS: E. coli iJR904 has improved capabilities + over iJE660a. iJR904 is a more complete and chemically accurate + description of E. coli metabolism than iJE660a. Perhaps most + importantly, iJR904 can be used for analyzing and integrating + the diverse datasets. iJR904 will help to outline the + genotype-phenotype relationship for E. coli K-12, as it can + account for genomic, transcriptomic, proteomic and fluxomic + data simultaneously.

    +
    +
    +
    +

    This model is hosted on + BioModels Database + and identified by: + MODEL1507180060.

    +

    To cite BioModels Database, please use: + BioModels Database: + An enhanced, curated and annotated resource for published + quantitative kinetic models.

    +
    +
    +

    To the extent possible under law, all copyright and related or + neighbouring rights to this encoded model have been dedicated to + the public domain worldwide. Please refer to + CC0 + Public Domain Dedication for more information.

    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    diff --git a/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/models/MODEL2310300002.xml b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/models/MODEL2310300002.xml new file mode 100644 index 00000000..4c53f664 --- /dev/null +++ b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/models/MODEL2310300002.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    PROTEIN_ASSOCIATION:(Cac_g030951.t1 or Cac_g024922.t1 or Cac_g020093.t1 or Cac_g020537.t1 or Cac_g030951.t2)

    + +
    + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    diff --git a/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/parameters/parameters.json b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/parameters/parameters.json new file mode 100644 index 00000000..caa225b3 --- /dev/null +++ b/lib/src/test/resources/de/uni_halle/informatik/biodata/mp/parameters/parameters.json @@ -0,0 +1,43 @@ +{ + "sbml-validation": true, + "sbo-terms": { + "omit-generic-terms": true + }, + "polishing": { + "reactions": { + "check-mass-balance": true + }, + "flux-objectives": { + "objectives": "", + "coefficients": "" + } + }, + "annotation": { + "bigg": { + "include-any-uri": true, + "document-title-pattern": "", + "notes": { + "no-model-notes": true, + "model-notes-file": "", + "document-notes-file": "" + }, + "db-config": { + "host": "", + "port": "", + "user": "", + "password": "", + "db-name": "" + } + }, + "annotatedb": { + "db-config": { + "host": "", + "port": "", + "user": "", + "password": "", + "db-name": "" + } + } + }, + "outputType": "combine" +} \ No newline at end of file diff --git a/lib/src/test/resources/logback.xml b/lib/src/test/resources/logback.xml new file mode 100644 index 00000000..d22daf8f --- /dev/null +++ b/lib/src/test/resources/logback.xml @@ -0,0 +1,20 @@ + + + + + + %d [%thread] %X{run.id} %-5level %logger{36} - %msg%n + + + + + + + + + + + + + + diff --git a/LICENSE b/licenses/LICENSE similarity index 95% rename from LICENSE rename to licenses/LICENSE index d0c3bbb4..0f0c6f43 100644 --- a/LICENSE +++ b/licenses/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2015 Systems Biology Research Group +Copyright (c) 2020 Systems Biology Research Group Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/licenses/dependency-licenses/SysBio-1390.jar/META-INF/licenses/COPYING.txt b/licenses/SysBio-1390.jar/META-INF/licenses/COPYING.txt similarity index 100% rename from licenses/dependency-licenses/SysBio-1390.jar/META-INF/licenses/COPYING.txt rename to licenses/SysBio-1390.jar/META-INF/licenses/COPYING.txt diff --git a/licenses/common public license version 1.0 - cpl1.0.txt.html b/licenses/common public license version 1.0 - cpl1.0.txt.html deleted file mode 100644 index 438f9fd1..00000000 --- a/licenses/common public license version 1.0 - cpl1.0.txt.html +++ /dev/null @@ -1,508 +0,0 @@ - - - - - - - - - - - - Common Public License Version 1.0 | Open Source Initiative - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    -
    - - -
    -
    - -
    - -
    -
    - -
    -
    - -
    - -
    - -
    -
    - -
    -
    - -
    - -
    -
    - - -
    -
    - - - - - - - - - - - - -
    - - - -
    -
    - - - - -
    - - - -
    - - -
    - - - - -
    - -

    Common Public License Version 1.0

    - - - -
    -
    - - - - - -
    -
    - - -
    -
    - - -
    -

    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC
    -LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
    -CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.

    -

    1. DEFINITIONS

    -

    "Contribution" means:

    -

    a) in the case of the initial Contributor, the initial code and
    -documentation distributed under this Agreement, and

    -

    b) in the case of each subsequent Contributor:

    -

    i) changes to the Program, and

    -

    ii) additions to the Program;

    -

    where such changes and/or additions to the Program originate from and are
    -distributed by that particular Contributor. A Contribution 'originates' from a
    -Contributor if it was added to the Program by such Contributor itself or anyone
    -acting on such Contributor's behalf. Contributions do not include additions to
    -the Program which: (i) are separate modules of software distributed in
    -conjunction with the Program under their own license agreement, and (ii) are not
    -derivative works of the Program.

    -

    "Contributor" means any person or entity that distributes the Program.

    -

    "Licensed Patents " mean patent claims licensable by a Contributor which are
    -necessarily infringed by the use or sale of its Contribution alone or when
    -combined with the Program.

    -

    "Program" means the Contributions distributed in accordance with this Agreement.

    -

    "Recipient" means anyone who receives the Program under this Agreement,
    -including all Contributors.

    -

    2. GRANT OF RIGHTS

    -

    a) Subject to the terms of this Agreement, each Contributor hereby grants
    -Recipient a non-exclusive, worldwide, royalty-free copyright license to
    -reproduce, prepare derivative works of, publicly display, publicly perform,
    -distribute and sublicense the Contribution of such Contributor, if any, and such
    -derivative works, in source code and object code form.

    -

    b) Subject to the terms of this Agreement, each Contributor hereby grants
    -Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed
    -Patents to make, use, sell, offer to sell, import and otherwise transfer the
    -Contribution of such Contributor, if any, in source code and object code form.
    -This patent license shall apply to the combination of the Contribution and the
    -Program if, at the time the Contribution is added by the Contributor, such
    -addition of the Contribution causes such combination to be covered by the
    -Licensed Patents. The patent license shall not apply to any other combinations
    -which include the Contribution. No hardware per se is licensed hereunder.

    -

    c) Recipient understands that although each Contributor grants the licenses
    -to its Contributions set forth herein, no assurances are provided by any
    -Contributor that the Program does not infringe the patent or other intellectual
    -property rights of any other entity. Each Contributor disclaims any liability to
    -Recipient for claims brought by any other entity based on infringement of
    -intellectual property rights or otherwise. As a condition to exercising the
    -rights and licenses granted hereunder, each Recipient hereby assumes sole
    -responsibility to secure any other intellectual property rights needed, if any.
    -For example, if a third party patent license is required to allow Recipient to
    -distribute the Program, it is Recipient's responsibility to acquire that license
    -before distributing the Program.

    -

    d) Each Contributor represents that to its knowledge it has sufficient
    -copyright rights in its Contribution, if any, to grant the copyright license set
    -forth in this Agreement.

    -

    3. REQUIREMENTS

    -

    A Contributor may choose to distribute the Program in object code form under its
    -own license agreement, provided that:

    -

    a) it complies with the terms and conditions of this Agreement; and

    -

    b) its license agreement:

    -

    i) effectively disclaims on behalf of all Contributors all warranties and
    -conditions, express and implied, including warranties or conditions of title and
    -non-infringement, and implied warranties or conditions of merchantability and
    -fitness for a particular purpose;

    -

    ii) effectively excludes on behalf of all Contributors all liability for
    -damages, including direct, indirect, special, incidental and consequential
    -damages, such as lost profits;

    -

    iii) states that any provisions which differ from this Agreement are offered
    -by that Contributor alone and not by any other party; and

    -

    iv) states that source code for the Program is available from such
    -Contributor, and informs licensees how to obtain it in a reasonable manner on or
    -through a medium customarily used for software exchange.

    -

    When the Program is made available in source code form:

    -

    a) it must be made available under this Agreement; and

    -

    b) a copy of this Agreement must be included with each copy of the Program.

    -

    Contributors may not remove or alter any copyright notices contained within the
    -Program.

    -

    Each Contributor must identify itself as the originator of its Contribution, if
    -any, in a manner that reasonably allows subsequent Recipients to identify the
    -originator of the Contribution.

    -

    4. COMMERCIAL DISTRIBUTION

    -

    Commercial distributors of software may accept certain responsibilities with
    -respect to end users, business partners and the like. While this license is
    -intended to facilitate the commercial use of the Program, the Contributor who
    -includes the Program in a commercial product offering should do so in a manner
    -which does not create potential liability for other Contributors. Therefore, if
    -a Contributor includes the Program in a commercial product offering, such
    -Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
    -every other Contributor ("Indemnified Contributor") against any losses, damages
    -and costs (collectively "Losses") arising from claims, lawsuits and other legal
    -actions brought by a third party against the Indemnified Contributor to the
    -extent caused by the acts or omissions of such Commercial Contributor in
    -connection with its distribution of the Program in a commercial product
    -offering. The obligations in this section do not apply to any claims or Losses
    -relating to any actual or alleged intellectual property infringement. In order
    -to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
    -Contributor in writing of such claim, and b) allow the Commercial Contributor to
    -control, and cooperate with the Commercial Contributor in, the defense and any
    -related settlement negotiations. The Indemnified Contributor may participate in
    -any such claim at its own expense.

    -

    For example, a Contributor might include the Program in a commercial product
    -offering, Product X. That Contributor is then a Commercial Contributor. If that
    -Commercial Contributor then makes performance claims, or offers warranties
    -related to Product X, those performance claims and warranties are such
    -Commercial Contributor's responsibility alone. Under this section, the
    -Commercial Contributor would have to defend claims against the other
    -Contributors related to those performance claims and warranties, and if a court
    -requires any other Contributor to pay any damages as a result, the Commercial
    -Contributor must pay those damages.

    -

    5. NO WARRANTY

    -

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
    -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
    -IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
    -NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each
    -Recipient is solely responsible for determining the appropriateness of using and
    -distributing the Program and assumes all risks associated with its exercise of
    -rights under this Agreement, including but not limited to the risks and costs of
    -program errors, compliance with applicable laws, damage to or loss of data,
    -programs or equipment, and unavailability or interruption of operations.

    -

    6. DISCLAIMER OF LIABILITY

    -

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
    -CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
    -PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
    -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    -OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
    -GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

    -

    7. GENERAL

    -

    If any provision of this Agreement is invalid or unenforceable under applicable
    -law, it shall not affect the validity or enforceability of the remainder of the
    -terms of this Agreement, and without further action by the parties hereto, such
    -provision shall be reformed to the minimum extent necessary to make such
    -provision valid and enforceable.

    -

    If Recipient institutes patent litigation against a Contributor with respect to
    -a patent applicable to software (including a cross-claim or counterclaim in a
    -lawsuit), then any patent licenses granted by that Contributor to such Recipient
    -under this Agreement shall terminate as of the date such litigation is filed. In
    -addition, if Recipient institutes patent litigation against any entity
    -(including a cross-claim or counterclaim in a lawsuit) alleging that the Program
    -itself (excluding combinations of the Program with other software or hardware)
    -infringes such Recipient's patent(s), then such Recipient's rights granted under
    -Section 2(b) shall terminate as of the date such litigation is filed.

    -

    All Recipient's rights under this Agreement shall terminate if it fails to
    -comply with any of the material terms or conditions of this Agreement and does
    -not cure such failure in a reasonable period of time after becoming aware of
    -such noncompliance. If all Recipient's rights under this Agreement terminate,
    -Recipient agrees to cease use and distribution of the Program as soon as
    -reasonably practicable. However, Recipient's obligations under this Agreement
    -and any licenses granted by Recipient relating to the Program shall continue and
    -survive.

    -

    Everyone is permitted to copy and distribute copies of this Agreement, but in
    -order to avoid inconsistency the Agreement is copyrighted and may only be
    -modified in the following manner. The Agreement Steward reserves the right to
    -publish new versions (including revisions) of this Agreement from time to time.
    -No one other than the Agreement Steward has the right to modify this Agreement.
    -IBM is the initial Agreement Steward. IBM may assign the responsibility to serve
    -as the Agreement Steward to a suitable separate entity. Each new version of the
    -Agreement will be given a distinguishing version number. The Program (including
    -Contributions) may always be distributed subject to the version of the Agreement
    -under which it was received. In addition, after a new version of the Agreement
    -is published, Contributor may elect to distribute the Program (including its
    -Contributions) under the new version. Except as expressly stated in Sections
    -2(a) and 2(b) above, Recipient receives no rights or licenses to the
    -intellectual property of any Contributor under this Agreement, whether
    -expressly, by implication, estoppel or otherwise. All rights in the Program not
    -expressly granted under this Agreement are reserved.

    -

    This Agreement is governed by the laws of the State of New York and the
    -intellectual property laws of the United States of America. No party to this
    -Agreement will bring a legal action under this Agreement more than one year
    -after the cause of action arose. Each party waives its rights to a jury trial in
    -any resulting litigation.

    -
    - - - - -
    -
    -
    - -
    - - -
    - - -
    - - -
    - -
    -
    - - - -
    - - - -
    -
    - - -
    -
    -
    - -
    - - - - -
    - -
    -
    -
    - - -
    -
    - - - \ No newline at end of file diff --git a/licenses/gnu lgpl v2 - lgpl-2.1.txt b/licenses/gnu lgpl v2 - lgpl-2.1.txt deleted file mode 100644 index 4362b491..00000000 --- a/licenses/gnu lgpl v2 - lgpl-2.1.txt +++ /dev/null @@ -1,502 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/licenses/dependency-licenses/hamcrest-core-1.1.jar/LICENSE.txt b/licenses/hamcrest-core-1.1.jar/LICENSE.txt similarity index 100% rename from licenses/dependency-licenses/hamcrest-core-1.1.jar/LICENSE.txt rename to licenses/hamcrest-core-1.1.jar/LICENSE.txt diff --git a/licenses/dependency-licenses/index.html b/licenses/index.html similarity index 100% rename from licenses/dependency-licenses/index.html rename to licenses/index.html diff --git a/licenses/dependency-licenses/jackson-annotations-2.10.1.jar/META-INF/LICENSE b/licenses/jackson-annotations-2.10.1.jar/META-INF/LICENSE similarity index 100% rename from licenses/dependency-licenses/jackson-annotations-2.10.1.jar/META-INF/LICENSE rename to licenses/jackson-annotations-2.10.1.jar/META-INF/LICENSE diff --git a/licenses/dependency-licenses/jackson-core-2.10.1.jar/META-INF/LICENSE b/licenses/jackson-core-2.10.1.jar/META-INF/LICENSE similarity index 100% rename from licenses/dependency-licenses/jackson-core-2.10.1.jar/META-INF/LICENSE rename to licenses/jackson-core-2.10.1.jar/META-INF/LICENSE diff --git a/licenses/dependency-licenses/jackson-core-2.10.1.jar/META-INF/NOTICE b/licenses/jackson-core-2.10.1.jar/META-INF/NOTICE similarity index 100% rename from licenses/dependency-licenses/jackson-core-2.10.1.jar/META-INF/NOTICE rename to licenses/jackson-core-2.10.1.jar/META-INF/NOTICE diff --git a/licenses/dependency-licenses/jackson-databind-2.10.1.jar/META-INF/LICENSE b/licenses/jackson-databind-2.10.1.jar/META-INF/LICENSE similarity index 100% rename from licenses/dependency-licenses/jackson-databind-2.10.1.jar/META-INF/LICENSE rename to licenses/jackson-databind-2.10.1.jar/META-INF/LICENSE diff --git a/licenses/dependency-licenses/jackson-databind-2.10.1.jar/META-INF/NOTICE b/licenses/jackson-databind-2.10.1.jar/META-INF/NOTICE similarity index 100% rename from licenses/dependency-licenses/jackson-databind-2.10.1.jar/META-INF/NOTICE rename to licenses/jackson-databind-2.10.1.jar/META-INF/NOTICE diff --git a/licenses/java html tidy license - license.txt.html b/licenses/java html tidy license - license.txt.html deleted file mode 100644 index 503f79c2..00000000 --- a/licenses/java html tidy license - license.txt.html +++ /dev/null @@ -1,828 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - JTidy / Code - / [r1261] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - - - - - - - -
    - -
    - - -
    - -
    - - - -
    -
    - - - - - - - - - - - - - -
    -

    -Tree [r1261] - - - - / - - - - - - - - - -
    - - - - - -
    - - - History - - - -
    - -

    - -
    - - - - - - -
    - - - - HTTPS access -
    - -
    -
    - -
    - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FileDateAuthorCommit
    - - - -  branches - - - 2010-12-07 - - - - - - - fgiust - - - - [r1261] - reviewed expected html output for all the tests... - -
    - - - -  tags - - - unknown - - - - - - - - - - - - - -
    - - - -  trunk - - - unknown - - - - - - - - - - - - - -
    - - - -
    - - -
    - -
    -
    - - - - - - - - - -
    -

    Get latest updates about Open Source Projects, Conferences and News.

    -

    Sign up for the SourceForge newsletter:

    - -
    -
    - - -
    -
    - -

    - - -

    - - - - - - - - - - - - - - -

    -
    -

    -

    -
    -

    -
    - - No, thanks -
    - - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/licenses/dependency-licenses/jdom2-2.0.6.jar/META-INF/LICENSE.txt b/licenses/jdom2-2.0.6.jar/META-INF/LICENSE.txt similarity index 100% rename from licenses/dependency-licenses/jdom2-2.0.6.jar/META-INF/LICENSE.txt rename to licenses/jdom2-2.0.6.jar/META-INF/LICENSE.txt diff --git a/licenses/dependency-licenses/jtidy-r938.jar/META-INF/LICENSE.txt b/licenses/jtidy-r938.jar/META-INF/LICENSE.txt similarity index 100% rename from licenses/dependency-licenses/jtidy-r938.jar/META-INF/LICENSE.txt rename to licenses/jtidy-r938.jar/META-INF/LICENSE.txt diff --git a/licenses/dependency-licenses/junit-4.10.jar/LICENSE.txt b/licenses/junit-4.10.jar/LICENSE.txt similarity index 100% rename from licenses/dependency-licenses/junit-4.10.jar/LICENSE.txt rename to licenses/junit-4.10.jar/LICENSE.txt diff --git a/licenses/lgpl license - lgpl-2.1.txt.html b/licenses/lgpl license - lgpl-2.1.txt.html deleted file mode 100644 index 6cd3adf1..00000000 --- a/licenses/lgpl license - lgpl-2.1.txt.html +++ /dev/null @@ -1,561 +0,0 @@ - - - - - - - - - - - - GNU Lesser General Public License version 2.1 | Open Source Initiative - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    -
    - - -
    -
    - -
    - -
    -
    - -
    -
    - -
    - -
    - -
    -
    - -
    -
    - -
    - -
    -
    - - -
    -
    - - - - - - - - - - - - -
    - - - -
    -
    - - - - -
    - - - -
    - - -
    - - - - -
    - -

    GNU Lesser General Public License version 2.1

    - - - -
    -
    - - - - - -
    -
    - - -
    -
    - - -
    -
    - - -

    - -
    - -

    GNU Lesser General Public License
    -Version 2.1, February 1999

    - -
    -

    Copyright (C) 1991, 1999 Free Software Foundation, Inc. -59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed.

    - -

    [This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.]

    - -

    Preamble

    - -

    The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users.

    - -

    This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. -

    -

    When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things.

    - -

    To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. -

    -

    For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights.

    - -

    We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library.

    - -

    To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others.

    -

    - Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license.

    - -

    Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs.

    - -

    When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library.

    - -

    We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances.

    - -

    For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. -

    -

    In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system.

    - -

    Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. -

    -

    The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run.

    - -

    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

    - -

    0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you".

    - -

    A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables.

    - -

    The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".)

    - -

    "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library.

    - -

    Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does.

    - -

    1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. -

    -

    You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

    - -

    2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: -

    - -
    -

    a) The modified work must itself be a software library.

    -

    b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.

    -

    c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.

    -

    d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful.

    - - -

    (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) -

    -

    These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. -

    -

    Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. -

    -

    In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. -

    -

    3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices.

    - -

    Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. -

    -

    This option is useful when you wish to copy part of the code of the Library into a program that is not a library. -

    -

    4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. -

    - -

    If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code.

    - -

    5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.

    - -

    However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.

    - -

    When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law.

    - -

    If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)

    - -

    Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself.

    - -

    6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.

    -

    - You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:

    - -

    a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)

    - -

    b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with.

    -

    -c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution.

    - -

    d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.

    - -

    e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy.

    -
    - -

    For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

    - -

    It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute.

    - -

    7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things:

    - -
    -

    a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above.

    - -

    b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.

    - -

    8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

    -

    -9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it.

    -

    -10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License.

    - -

    11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library.

    -

    -If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances.

    - -

    It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.

    - -

    This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

    -

    -12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.

    -

    -13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

    - -

    Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation.

    -

    -14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.

    -

    -NO WARRANTY

    -

    -15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

    -

    -16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

    - -

    END OF TERMS AND CONDITIONS

    - -

    How to Apply These Terms to Your New Libraries

    - - If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). -

    - To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. -

    - -
    -

    -<one line to give the library's name and an idea of what it does.> -Copyright (C) <year> <name of author> -

    - - -

    This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version.

    - -

    This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details.

    - -

    You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -

    - -

    Also add information on how to contact you by electronic and paper mail.

    - -

    You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names:

    - -
    -

    -Yoyodyne, Inc., hereby disclaims all copyright interest in -the library `Frob' (a library for tweaking knobs) written -by James Random Hacker.

    - -

    signature of Ty Coon, 1 April 1990
    -Ty Coon, President of Vice

    -
    - -That's all there is to it! - -
    - - - - -
    -
    -
    - -
    - - -
    - - -
    - - -
    - -
    -
    - - - -
    - - - -
    -
    - - -
    -
    -
    - -
    - - - - -
    - -
    -
    -
    - - -
    -
    - - - \ No newline at end of file diff --git a/licenses/licensing and distribution terms for jsbml - license.txt.html b/licenses/licensing and distribution terms for jsbml - license.txt.html deleted file mode 100644 index 356d35b3..00000000 --- a/licenses/licensing and distribution terms for jsbml - license.txt.html +++ /dev/null @@ -1,207 +0,0 @@ - - - -Software/JSBML/JSBML License - SBML.caltech.edu - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -SBML.org — the global portal for all things SBML -
    - -
    - -
    -

    -JSBML License

    -
    -
               Licensing and Distribution Terms for JSBML
    -
    -Copyright (C) 2009-2016 jointly by the following organizations:
    - 1. The University of Tuebingen, Germany
    - 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK
    - 3. The California Institute of Technology, Pasadena, CA, USA
    - 4. The University of California, San Diego, La Jolla, CA, USA
    - 5. The Babraham Institute, Cambridge, UK
    -
    -JSBML is free software; you can redistribute it and/or modify
    -it under the terms of the GNU Lesser General Public License as
    -published by the Free Software Foundation; either version 2.1
    -of the License, or any later version.
    -
    -This software is distributed in the hope that it will be useful,
    -but WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
    -MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  The software
    -and documentation provided hereunder is on an "as is" basis, and
    -the copyright holders have no obligations to provide maintenance,
    -support, updates, enhancements or modifications.  In no event
    -shall the copyright holders be liable to any party for direct,
    -indirect, special, incidental or consequential damages, including
    -lost profits, arising out of the use of this software and its
    -documentation, even if the copyright holders have been advised of
    -the possibility of such damage.  See the GNU Lesser General Public
    -License for more details.
    -
    -You should have received a copy of the GNU Lesser General
    -Public License along with this library in the file named
    -"COPYING.txt" included with the software distribution.  A copy
    -is also available online at the Internet address
    -http://sbml.org/Software/JSBML/licenses/COPYING.html for your
    -convenience.  You may also write to obtain a copy from the Free
    -Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
    -MA 02111-1307 USA.
    -
    -
    -            Third-party software incorporated into
    -                   the JSBML distribution
    -
    -JSBML uses the following third-party software libraries; these
    -are distributed along with JSBML and placed in the source code
    -repository.  The license statements for these third-party
    -software libraries can be found at the web addresses noted
    -below.  For your convenience, copies of the license files are
    -also included in the JSBML subdirectory licenses/lib-licenses/.
    -
    -1. BioJava -- http://biojava.org
    -  [checked 2010-12-16] 
    -  Copyright (C) held jointly by the individual BioJava authors.
    -  Distributed under the LGPL version 2.1.
    -
    -2. Jigsaw -- http://www.w3.org/Jigsaw/
    -  [checked 2010-12-16]
    -  Copyright (C) W3C.
    -  Distributed under the W3C license.
    -
    -3. StAX -- http://stax.codehaus.org/Home
    -  [checked 2010-12-16]
    -  No clear copyright found.
    -  Distributed under the Apache License 2.0.
    -
    -4. StAX2 -- http://docs.codehaus.org/display/WSTX/StAX2
    -  [checked 2010-12-16]
    -  No clear copyright found.
    -  Distributed under the Apache License 2.0.
    -
    -5. StaxMate -- http://staxmate.codehaus.org/
    -  [checked 2010-12-16]
    -  Copyright (c) 2007, Tatu Saloranta.
    -  Distributed under the BSD License.
    -
    -6. Woodstox -- http://woodstox.codehaus.org/
    -  [checked 2010-12-16]
    -  No clear copyright found.
    -  Distributed under the Apache License 2.0.
    -
    -7. XStream -- http://xstream.codehaus.org/
    -  [checked 2010-12-16]
    -  Copyright (c) 2003-2006, Joe Walnes
    -  Copyright (c) 2006-2007, XStream Committers
    -  Distributed under a custom open-source license.
    -
    -8. log4j -- http://logging.apache.org/log4j/1.2/
    -  [checked 2010-12-16]
    -  Copyright (C) Apache Software Foundation
    -  Distributed under the Apache License 2.0.
    -
    -
    -	Additional third-party software incorporated into
    -		    JSBML example applications
    -
    -The example applications provided with JSBML also include the
    -following additional third-party software libraries; these are
    -distributed along with JSBML and placed in the examples/ code
    -repository.  The license statements for these third-party software
    -libraries can be found at the web addresses noted below.  For your
    -convenience, copies of the license files are also included in the
    -JSBML subdirectory licenses/lib-licenses/.
    -
    -9.  JFreeChart 1.0.14 and JCommon 1.0.17
    -    [checked 2012-03-31] 
    -    Copyright (C) 2000-2011, by Object Refinery Limited and Contributors
    -    Distributed under the LGPL version 2.1.
    -
    -10. Swing-Layout 1.0.3
    -    [checked 2012-03-31]
    -    Copyright (C) 2005-2006 Sun Microsystems, Inc.
    -    Distributed under the LGPL 2.1.
    -
    -11. GNU getopt Java port
    -    [checked 2012-03-31]
    -    http://www.urbanophile.com/arenn/hacking/download.html
    -    Copyright (C) 1998-2012 Aaron M. Renn.
    -    Distributed under the LGPL 2.1.
    -
    -12. Jar-in-Jar Classloader
    -    [checked 2012-04-03]
    -    https://bugs.eclipse.org/bugs/show_bug.cgi?id=219530
    -    Copyright (C) Ferenc Hechler.
    -    Distributed under the Eclipse Public License v1.0.
    -
    - - - -
    -

    Retrieved from "http://sbml.org/Software/JSBML/JSBML_License"

    - -

    This page was last modified 22:15, 24 January 2014.

    -
    - -
    -
    - -
    -
    -
    -Please use our issue tracking system for any questions or suggestions about this website. This page was last modified 22:15, 24 January 2014.
    -
    -
    - - - - - - \ No newline at end of file diff --git a/licenses/dependency-licenses/log4j-1.2-api-2.3.jar/META-INF/LICENSE b/licenses/log4j-1.2-api-2.3.jar/META-INF/LICENSE similarity index 100% rename from licenses/dependency-licenses/log4j-1.2-api-2.3.jar/META-INF/LICENSE rename to licenses/log4j-1.2-api-2.3.jar/META-INF/LICENSE diff --git a/licenses/dependency-licenses/log4j-1.2-api-2.3.jar/META-INF/NOTICE b/licenses/log4j-1.2-api-2.3.jar/META-INF/NOTICE similarity index 100% rename from licenses/dependency-licenses/log4j-1.2-api-2.3.jar/META-INF/NOTICE rename to licenses/log4j-1.2-api-2.3.jar/META-INF/NOTICE diff --git a/licenses/dependency-licenses/log4j-api-2.6.2.jar/META-INF/LICENSE b/licenses/log4j-api-2.6.2.jar/META-INF/LICENSE similarity index 100% rename from licenses/dependency-licenses/log4j-api-2.6.2.jar/META-INF/LICENSE rename to licenses/log4j-api-2.6.2.jar/META-INF/LICENSE diff --git a/licenses/dependency-licenses/log4j-api-2.6.2.jar/META-INF/NOTICE b/licenses/log4j-api-2.6.2.jar/META-INF/NOTICE similarity index 100% rename from licenses/dependency-licenses/log4j-api-2.6.2.jar/META-INF/NOTICE rename to licenses/log4j-api-2.6.2.jar/META-INF/NOTICE diff --git a/licenses/dependency-licenses/log4j-core-2.6.2.jar/META-INF/LICENSE b/licenses/log4j-core-2.6.2.jar/META-INF/LICENSE similarity index 100% rename from licenses/dependency-licenses/log4j-core-2.6.2.jar/META-INF/LICENSE rename to licenses/log4j-core-2.6.2.jar/META-INF/LICENSE diff --git a/licenses/dependency-licenses/log4j-core-2.6.2.jar/META-INF/NOTICE b/licenses/log4j-core-2.6.2.jar/META-INF/NOTICE similarity index 100% rename from licenses/dependency-licenses/log4j-core-2.6.2.jar/META-INF/NOTICE rename to licenses/log4j-core-2.6.2.jar/META-INF/NOTICE diff --git a/licenses/dependency-licenses/log4j-slf4j-impl-2.6.2.jar/META-INF/LICENSE b/licenses/log4j-slf4j-impl-2.6.2.jar/META-INF/LICENSE similarity index 100% rename from licenses/dependency-licenses/log4j-slf4j-impl-2.6.2.jar/META-INF/LICENSE rename to licenses/log4j-slf4j-impl-2.6.2.jar/META-INF/LICENSE diff --git a/licenses/dependency-licenses/log4j-slf4j-impl-2.6.2.jar/META-INF/NOTICE b/licenses/log4j-slf4j-impl-2.6.2.jar/META-INF/NOTICE similarity index 100% rename from licenses/dependency-licenses/log4j-slf4j-impl-2.6.2.jar/META-INF/NOTICE rename to licenses/log4j-slf4j-impl-2.6.2.jar/META-INF/NOTICE diff --git a/licenses/mit license - mit-license.php.html b/licenses/mit license - mit-license.php.html deleted file mode 100644 index 415a3d43..00000000 --- a/licenses/mit license - mit-license.php.html +++ /dev/null @@ -1,385 +0,0 @@ - - - - - - - - - - - - The MIT License | Open Source Initiative - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    -
    - - -
    -
    - -
    - -
    -
    - -
    -
    - -
    - -
    - -
    -
    - -
    -
    - -
    - -
    -
    - - -
    -
    - - - - - - - - - - - - -
    - - - -
    -
    - - - - -
    - - - -
    - - -
    - - - - -
    - -

    The MIT License

    - - - -
    -
    - - - - - -
    -
    - - -
    -
    - - -
    -

    -SPDX short identifier: MIT -

    - -
    - - -

    - -
    - - - -

    Copyright <YEAR> <COPYRIGHT HOLDER>

    - -

    Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions:

    - -

    The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software.

    - -

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE.

    -
    - - - - -
    -
    -
    - -
    - - -
    - - -
    - - -
    - -
    -
    - - - -
    - - - -
    -
    - - -
    -
    -
    - -
    - - - - -
    - -
    -
    -
    - - -
    -
    - - - \ No newline at end of file diff --git a/licenses/new bsd license - bsd-license.php.html b/licenses/new bsd license - bsd-license.php.html deleted file mode 100644 index 6432d743..00000000 --- a/licenses/new bsd license - bsd-license.php.html +++ /dev/null @@ -1,380 +0,0 @@ - - - - - - - - - - - - The 2-Clause BSD License | Open Source Initiative - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    -
    - - -
    -
    - -
    - -
    -
    - -
    -
    - -
    - -
    - -
    -
    - -
    -
    - -
    - -
    -
    - - -
    -
    - - - - - - - - - - - - -
    - - - -
    -
    - - - - -
    - - - -
    - - -
    - - - - -
    - -

    The 2-Clause BSD License

    - - - -
    -
    - - - - - -
    -
    - - -
    -
    - - -
    -

    -SPDX short identifier: BSD-2-Clause -

    - -
    - - -

    - -
    - - -

    Note: This license has also been called the "Simplified BSD License" and the "FreeBSD License". See also the 3-clause BSD License.

    - - - - -

    Copyright <YEAR> <COPYRIGHT HOLDER>

    - -

    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    - -

    1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

    - -

    2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

    - -

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

    - -
    - - - - -
    -
    -
    - -
    - - -
    - - -
    - - -
    - -
    -
    - - - -
    - - - -
    -
    - - -
    -
    -
    - -
    - - - - -
    - -
    -
    -
    - - -
    -
    - - - \ No newline at end of file diff --git a/licenses/new bsd license - license.txt.html b/licenses/new bsd license - license.txt.html deleted file mode 100644 index 8fc21298..00000000 --- a/licenses/new bsd license - license.txt.html +++ /dev/null @@ -1,818 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - matfilerw/LICENSE at v1.3.0 · diffplug/matfilerw · GitHub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - Skip to content -
    - - - - - - - - - - -
    - -
    - -
    -
    - - - -
    -
    -
    - - - - - - -
    -
    - - - - -Permalink - - - -
    - - - -
    - - Find file - - -
    - -
    - - - -
    - - - d3710f6 - - Oct 15, 2015 - - - -
    - - @gradusnikov - @nedtwigg - - -
    - - -
    - -
    -
    -
    - -
    - Raw - Blame - History -
    - - - - -
    - -
    - 41 lines (35 sloc) - - 2.88 KB -
    -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    All code up to tags/original:
    Copyright (c) 2006, Wojciech Gradkowski
    All rights reserved.
    -
    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
    following conditions are met:
    - Redistributions of source code must retain the above copyright notice, this list of conditions and the following
    disclaimer.
    - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
    following disclaimer in the documentation and/or other materials provided with the distribution.
    - Neither the name of JMatIO nor the names of its contributors may be used to endorse or promote products
    derived from this software without specific prior written permission.
    -
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
    INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    All code after tags/original:
    Copyright (c) 2015, DiffPlug
    All rights reserved.
    -
    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
    following conditions are met:
    - Redistributions of source code must retain the above copyright notice, this list of conditions and the following
    disclaimer.
    - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
    following disclaimer in the documentation and/or other materials provided with the distribution.
    - Neither the name of MatFileRW nor the names of its contributors may be used to endorse or promote products
    derived from this software without specific prior written permission.
    -
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
    INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    - -
    - -
    - - - - - -
    - -
    - -
    -
    - -
    - - - - - - - -
    - - - You can't perform that action at this time. -
    - - - - - - - - - -
    - - You signed in with another tab or window. Reload to refresh your session. - You signed out in another tab or window. Reload to refresh your session. -
    - - - - - - diff --git a/licenses/dependency-licenses/postgresql-42.2.2.jar/META-INF/LICENSE b/licenses/postgresql-42.2.2.jar/META-INF/LICENSE similarity index 100% rename from licenses/dependency-licenses/postgresql-42.2.2.jar/META-INF/LICENSE rename to licenses/postgresql-42.2.2.jar/META-INF/LICENSE diff --git a/licenses/dependency-licenses/staxmate-2.3.0.jar/META-INF/LICENSE b/licenses/staxmate-2.3.0.jar/META-INF/LICENSE similarity index 100% rename from licenses/dependency-licenses/staxmate-2.3.0.jar/META-INF/LICENSE rename to licenses/staxmate-2.3.0.jar/META-INF/LICENSE diff --git a/licenses/dependency-licenses/staxmate-2.3.0.jar/META-INF/NOTICE b/licenses/staxmate-2.3.0.jar/META-INF/NOTICE similarity index 100% rename from licenses/dependency-licenses/staxmate-2.3.0.jar/META-INF/NOTICE rename to licenses/staxmate-2.3.0.jar/META-INF/NOTICE diff --git a/licenses/the apache software license, version 2.0 - license-2.0.txt b/licenses/the apache software license, version 2.0 - license-2.0.txt deleted file mode 100644 index d6456956..00000000 --- a/licenses/the apache software license, version 2.0 - license-2.0.txt +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/licenses/the postgresql license - licence.txt.html b/licenses/the postgresql license - licence.txt.html deleted file mode 100644 index 9c5a2430..00000000 --- a/licenses/the postgresql license - licence.txt.html +++ /dev/null @@ -1,215 +0,0 @@ - - - - PostgreSQL: License - - - - - - - - - - - -
    -
    - Skip site navigation (1) - Skip section navigation (2) -
    -
    -
    -
    -

    - -
    -
    -

    Peripheral Links

    -
    - -
    -
    -
    -
    - PostgreSQL -
    -
    - The world's most advanced open source database. -
    -
    - - -
    -
    - -
    - -
    - -
    - -
    -
    - -

    License

    -

    PostgreSQL is released under the PostgreSQL License, -a liberal Open Source license, similar to the BSD or MIT licenses.

    - -

    PostgreSQL Database Management System
    -(formerly known as Postgres, then as Postgres95)

    - -Portions Copyright (c) 1996-2017, The PostgreSQL Global Development Group

    - -Portions Copyright (c) 1994, The Regents of the University of California

    - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose, without fee, and without a written agreement -is hereby granted, provided that the above copyright notice and this -paragraph and the following two paragraphs appear in all copies.

    - -IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING -LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS -DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE.

    - -THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
    -

    - -

    Why not the GNU General Public License?

    -

    People often ask why PostgreSQL is not released under the GNU General -Public License. The simple answer is because we like our license and do not -want to change it. If you are keen to read more about this topic, then please -take a look in the Archives at -any of the many threads on this subject, but please don't start yet another -debate on the subject! -

    - -
    - -
    -
    -
    - Privacy Policy | - About PostgreSQL
    - Copyright © 1996-2017 The PostgreSQL Global Development Group -
    -
    -
    - - diff --git a/licenses/w3c software license - w3c.php.html b/licenses/w3c software license - w3c.php.html deleted file mode 100644 index 877e0fdf..00000000 --- a/licenses/w3c software license - w3c.php.html +++ /dev/null @@ -1,394 +0,0 @@ - - - - - - - - - - - - The W3C SOFTWARE NOTICE AND LICENSE (W3C) | Open Source Initiative - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    -
    - - -
    -
    - -
    - -
    -
    - -
    -
    - -
    - -
    - -
    -
    - -
    -
    - -
    - -
    -
    - - -
    -
    - - - - - - - - - - - - -
    - - - -
    -
    - - - - -
    - - - -
    - - -
    - - - - -
    - -

    The W3C SOFTWARE NOTICE AND LICENSE (W3C)

    - - - -
    -
    - - - - - -
    -
    - - -
    -
    - - -
    -

    - -View Summary of W3C Software Notice and License (W3C) on TLDRLegal » - -(Disclaimer) -

    - -

    W3C® SOFTWARE NOTICE AND LICENSE

    - -

    Copyright © 1994-2001 World Wide Web Consortium, (Massachusetts Institute of - Technology, Institut National de Recherche en Informatique et en Automatique, - Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/

    - -

    This W3C work (including software, documents, or other related items) is - being provided by the copyright holders under the following license. By - obtaining, using and/or copying this work, you (the licensee) agree that you - have read, understood, and will comply with the following terms and - conditions:

    - -

    Permission to use, copy, modify, and distribute this software and its - documentation, with or without modification, for any purpose and without fee - or royalty is hereby granted, provided that you include the following on ALL - copies of the software and documentation or portions thereof, including - modifications, that you make:

    -
    -

    1. The full text of this NOTICE in a location viewable to users of the - redistributed or derivative work.

    - -

    2. Any pre-existing intellectual property disclaimers, notices, or terms and - conditions. If none exist, a short notice of the following form (hypertext is - preferred, text is permitted) should be used within the body of any - redistributed or derivative code: "Copyright © [$date-of-software] World Wide - Web Consortium, (Massachusetts Institute of Technology, Institut National de - Recherche en Informatique et en Automatique, Keio University). All Rights - Reserved. http://www.w3.org/Consortium/Legal/"

    - -

    3. Notice of any changes or modifications to the W3C files, including the - date changes were made. (We recommend you provide URIs to the location from - which the code is derived.)

    -
    - -

    THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS - MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT - LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE - OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD - PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

    - -

    COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR - CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR - DOCUMENTATION.

    - -

    The name and trademarks of copyright holders may NOT be used in advertising - or publicity pertaining to the software without specific, written prior - permission. Title to copyright in this software and any associated - documentation will at all times remain with copyright holders.

    -
    - - - - -
    -
    -
    - -
    - - -
    - - -
    - - -
    - -
    -
    - - - -
    - - - -
    -
    - - -
    -
    -
    - -
    - - - - -
    - -
    -
    -
    - - -
    -
    - - - \ No newline at end of file diff --git a/doc/img/ModelPolisherIcon.png b/public/img/ModelPolisherIcon.png similarity index 100% rename from doc/img/ModelPolisherIcon.png rename to public/img/ModelPolisherIcon.png diff --git a/doc/img/ModelPolisherIcon.psd b/public/img/ModelPolisherIcon.psd similarity index 100% rename from doc/img/ModelPolisherIcon.psd rename to public/img/ModelPolisherIcon.psd diff --git a/doc/img/ModelPolisherIcon256.png b/public/img/ModelPolisherIcon256.png similarity index 100% rename from doc/img/ModelPolisherIcon256.png rename to public/img/ModelPolisherIcon256.png diff --git a/runModelPolisher.sh b/runModelPolisher.sh deleted file mode 100755 index 156b364b..00000000 --- a/runModelPolisher.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -if [ ! -x "$(command -v docker)" ]; then echo "Docker is not installed, please set up docker"; exit -1; fi -MODELS=$1 -if [ -z ${MODELS} ]; then echo "Path to model folder is either empty or not set. Please set correct path"; exit -2; fi -if [ ! -d ${MODELS} ]; then echo "Path does not point to directory: ${MODELS}"; exit -3; fi -docker-compose run -u $(id -u):$(id -g) -v ${MODELS}:/models polisher java -Djava.util.prefs.userRoot=/.java -jar /ModelPolisher-2.1-beta.jar --input=/models/ --output=/models/out --annotate-with-bigg=true --sbml-validation=true --compression-type=GZIP diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 00000000..53bd7405 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,18 @@ +rootProject.name = 'ModelPolisher' + +include('app') +include('lib') + + +dependencyResolutionManagement { + repositories { + mavenCentral() + // snapshot versions of artifacts (i.e. dependency JARs) + // Sonatype is the company behind the Maven Central repository + maven { url "https://oss.sonatype.org/content/repositories/snapshots" } + maven { + name "biodata-reposilite" + url "https://biodata.informatik.uni-halle.de/maven/releases" + } + } +} diff --git a/src/main/java/edu/ucsd/sbrg/bigg/BiGGAnnotation.java b/src/main/java/edu/ucsd/sbrg/bigg/BiGGAnnotation.java deleted file mode 100644 index 21247643..00000000 --- a/src/main/java/edu/ucsd/sbrg/bigg/BiGGAnnotation.java +++ /dev/null @@ -1,838 +0,0 @@ -package edu.ucsd.sbrg.bigg; - -import static edu.ucsd.sbrg.bigg.ModelPolisher.mpMessageBundle; -import static java.text.MessageFormat.format; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Optional; -import java.util.ResourceBundle; -import java.util.Set; -import java.util.SortedMap; -import java.util.SortedSet; -import java.util.TreeMap; -import java.util.TreeSet; -import java.util.logging.Logger; -import java.util.stream.Collectors; - -import javax.swing.tree.TreeNode; -import javax.xml.stream.XMLStreamException; - -import org.sbml.jsbml.CVTerm; -import org.sbml.jsbml.CVTerm.Qualifier; -import org.sbml.jsbml.Compartment; -import org.sbml.jsbml.Model; -import org.sbml.jsbml.Reaction; -import org.sbml.jsbml.SBMLDocument; -import org.sbml.jsbml.SBO; -import org.sbml.jsbml.SBase; -import org.sbml.jsbml.Species; -import org.sbml.jsbml.ext.fbc.FBCConstants; -import org.sbml.jsbml.ext.fbc.FBCModelPlugin; -import org.sbml.jsbml.ext.fbc.FBCSpeciesPlugin; -import org.sbml.jsbml.ext.fbc.GeneProduct; -import org.sbml.jsbml.ext.groups.Group; -import org.sbml.jsbml.ext.groups.GroupsConstants; -import org.sbml.jsbml.ext.groups.GroupsModelPlugin; -import org.sbml.jsbml.util.Pair; - -import de.zbit.util.ResourceManager; -import de.zbit.util.Utils; -import de.zbit.util.progressbar.AbstractProgressBar; -import de.zbit.util.progressbar.ProgressBar; -import edu.ucsd.sbrg.db.AnnotateDB; -import edu.ucsd.sbrg.db.BiGGDB; -import edu.ucsd.sbrg.db.QueryOnce; -import edu.ucsd.sbrg.miriam.Registry; -import edu.ucsd.sbrg.util.GPRParser; -import edu.ucsd.sbrg.util.SBMLUtils; - -/** - * @author Thomas Zajac - * This code runs only, if ANNOTATE_WITH_BIGG is true - */ -public class BiGGAnnotation { - - /** - * A {@link Logger} for this class. - */ - static final transient Logger logger = Logger.getLogger(BiGGAnnotation.class.getName()); - /** - * Localization support. - */ - private static final transient ResourceBundle baseBundle = - ResourceManager.getBundle("edu.ucsd.sbrg.polisher.Messages"); - /** - * Default model notes. - */ - private String modelNotes = "ModelNotes.html"; - /** - * Mapping for generic placeholder entries in notes files to actual values - */ - protected Map replacements; - /** - * Default document notes - */ - private String documentNotesFile = "SBMLDocumentNotes.html"; - /** - * - */ - private AbstractProgressBar progress; - /** - * - */ - private int initialGeneProducts; - - /** - */ - public BiGGAnnotation() { - } - - - /** - * @param doc - * @return - */ - public SBMLDocument annotate(SBMLDocument doc) { - if (!doc.isSetModel()) { - logger.info(baseBundle.getString("NO_MODEL_FOUND")); - return doc; - } - Model model = doc.getModel(); - replacements = new HashMap<>(); - // add fake count so it never reaches 100 before gene products are processed - int count = model.getCompartmentCount() + model.getSpeciesCount() + model.getReactionCount() + 50; - if (model.isSetPlugin(FBCConstants.shortLabel)) { - FBCModelPlugin fbcModelPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); - initialGeneProducts = fbcModelPlug.getGeneProductCount(); - count += initialGeneProducts; - } - progress = new ProgressBar(count); - annotate(model); - try { - appendNotes(doc); - } catch (IOException | XMLStreamException exc) { - logger.warning(baseBundle.getString("FAILED_WRITE_NOTES")); - } - // Recursively sort and group all annotations in the SBMLDocument. - mergeMIRIAMannotations(doc); - if (progress != null) { - progress.finished(); - } - return doc; - } - - - /** - * Replaces generic placeholders in notes files and appends both note types - * - * @param doc - * @throws IOException - * @throws XMLStreamException - */ - private void appendNotes(SBMLDocument doc) throws IOException, XMLStreamException { - if (replacements.containsKey("${title}") && (documentNotesFile != null)) { - doc.appendNotes(parseNotes(documentNotesFile, replacements)); - } - if (modelNotes != null) { - doc.getModel().appendNotes(parseNotes(modelNotes, replacements)); - } - } - - - /** - * Recursively goes through all annotations in the given {@link SBase} and - * alphabetically sort annotations after grouping them by {@link org.sbml.jsbml.CVTerm.Qualifier}. - * - * @param sbase - */ - private void mergeMIRIAMannotations(SBase sbase) { - if (sbase.isSetAnnotation()) { - SortedMap> miriam = new TreeMap<>(); - boolean doMerge = hashMIRIAMuris(sbase, miriam); - if (doMerge) { - sbase.getAnnotation().unsetCVTerms(); - for (Entry> entry : miriam.entrySet()) { - logger.info(format(baseBundle.getString("MERGING_MIRIAM_RESOURCES"), entry.getKey(), - sbase.getClass().getSimpleName(), sbase.getId())); - sbase.addCVTerm(new CVTerm(entry.getKey(), entry.getValue().toArray(new String[0]))); - } - } - } - for (int i = 0; i < sbase.getChildCount(); i++) { - TreeNode node = sbase.getChildAt(i); - if (node instanceof SBase) { - mergeMIRIAMannotations((SBase) node); - } - } - } - - - /** - * @param sbase - * @param miriam - * @return - */ - private boolean hashMIRIAMuris(SBase sbase, SortedMap> miriam) { - boolean doMerge = false; - for (int i = 0; i < sbase.getCVTermCount(); i++) { - CVTerm term = sbase.getCVTerm(i); - Qualifier qualifier = term.getQualifier(); - if (miriam.containsKey(qualifier)) { - doMerge = true; - } else { - if (sbase instanceof Model) { - if (!qualifier.isModelQualifier()) { - logger.info(format(baseBundle.getString("CORRECTING_INVALID_QUALIFIERS"), - qualifier.getElementNameEquivalent(), sbase.getId())); - qualifier = Qualifier.getModelQualifierFor(qualifier.getElementNameEquivalent()); - } - } else if (!qualifier.isBiologicalQualifier()) { - logger.info(format(baseBundle.getString("CORRECTING_INVALID_MODEL_QUALIFIER"), - qualifier.getElementNameEquivalent(), sbase.getClass().getSimpleName(), sbase.getId())); - qualifier = Qualifier.getBiologicalQualifierFor(qualifier.getElementNameEquivalent()); - } - miriam.put(qualifier, new TreeSet<>()); - } - miriam.get(qualifier).addAll(term.getResources()); - } - return doMerge; - } - - - /** - * @param model - */ - private void annotate(Model model) { - BiGGDB.getTaxonId(model.getId()).ifPresent( - taxonId -> model.addCVTerm(new CVTerm(CVTerm.Qualifier.BQB_HAS_TAXON, Registry.createURI("taxonomy", taxonId)))); - BiGGDB.getOrganism(model.getId()).ifPresent(organism -> processReplacements(model, organism)); - if (QueryOnce.isModel(model.getId())) { - model.addCVTerm(new CVTerm(CVTerm.Qualifier.BQM_IS, Registry.createURI("bigg.model", model.getId()))); - } - if (!model.isSetMetaId() && (model.getCVTermCount() > 0)) { - model.setMetaId(model.getId()); - } - annotatePublications(model); - annotateListOfCompartments(model); - annotateListOfSpecies(model); - annotateListOfReactions(model); - annotateListOfGeneProducts(model); - } - - - /** - * @param model - * @param organism - */ - private void processReplacements(Model model, String organism) { - Parameters parameters = Parameters.get(); - String name = parameters.getDocumentTitlePattern(); - name = name.replace("[biggId]", model.getId()); - name = name.replace("[organism]", organism); - replacements.put("${title}", name); - replacements.put("${organism}", organism); - replacements.put("${bigg_id}", model.getId()); - replacements.put("${year}", Integer.toString(Calendar.getInstance().get(Calendar.YEAR))); - replacements.put("${bigg.timestamp}", BiGGDB.getBiGGVersion().map(date -> format("{0,date}", date)).orElse("")); - replacements.put("${species_table}", ""); - if (!model.isSetName()) { - model.setName(organism); - } - } - - - /** - * @param model - */ - private void annotatePublications(Model model) { - progress.DisplayBar("Annotating Publications (1/5) "); - List> publications = BiGGDB.getPublications(model.getId()); - int numPublications; - if ((numPublications = publications.size()) > 0) { - String[] resources = new String[numPublications]; - int i = 0; - for (Pair publication : publications) { - resources[i++] = Registry.createURI(publication.getKey(), publication.getValue()); - } - model.addCVTerm(new CVTerm(CVTerm.Qualifier.BQM_IS_DESCRIBED_BY, resources)); - } - } - - - /** - * @param model - */ - private void annotateListOfCompartments(Model model) { - for (int i = 0; i < model.getCompartmentCount(); i++) { - progress.DisplayBar("Annotating Compartments (2/5) "); - annotateCompartment(model.getCompartment(i)); - } - } - - - /** - * @param compartment - */ - private void annotateCompartment(Compartment compartment) { - BiGGId biggId = new BiGGId(compartment.getId()); - if (QueryOnce.isCompartment(biggId.getAbbreviation())) { - compartment.addCVTerm(new CVTerm(CVTerm.Qualifier.BQB_IS, Registry.createURI("bigg.compartment", biggId))); - compartment.setSBOTerm(SBO.getCompartment()); // physical compartment - if (!compartment.isSetName() || compartment.getName().equals("default")) { - BiGGDB.getCompartmentName(biggId).ifPresent(compartment::setName); - } - } - } - - - /** - * @param model - */ - private void annotateListOfSpecies(Model model) { - for (int i = 0; i < model.getSpeciesCount(); i++) { - progress.DisplayBar("Annotating Species (3/5) "); - annotateSpecies(model.getSpecies(i)); - } - } - - - /** - * @param species - */ - private void annotateSpecies(Species species) { - // This biggId corresponds to BiGGId calculated from getSpeciesBiGGIdFromUriList method, if not present as - // species.id - checkId(species).ifPresent(biggId -> { - setSpeciesName(species, biggId); - setSBOTermFromComponentType(species, biggId); - setCVTermResources(species, biggId); - FBCSetFormulaCharge(species, biggId); - }); - } - - - /** - * @param species - * @return - */ - private Optional checkId(Species species) { - // TODO: compartments are not handled correctly -- is this at all possible to get right? - Optional metaboliteId = BiGGId.createMetaboliteId(species.getId()); - Optional id = metaboliteId.flatMap(biggId -> { - // extracting BiGGId if not present for species - boolean isBiGGid = QueryOnce.isMetabolite(biggId.getAbbreviation()); - List resources = new ArrayList<>(); - if (!isBiGGid) { - // Flatten all resources for all CVTerms into a list - resources = species.getAnnotation().getListOfCVTerms().stream() - .filter(cvTerm -> cvTerm.getQualifier() == Qualifier.BQB_IS) - .flatMap(term -> term.getResources().stream()).collect(Collectors.toList()); - } - // update id if we found something - return getBiGGIdFromResources(resources, BiGGDB.TYPE_SPECIES); - }); - return id.map(BiGGId::createMetaboliteId).orElse(metaboliteId); - } - - - /** - * @param resources - */ - private Optional getBiGGIdFromResources(List resources, String type) { - for (String resource : resources) { - Optional id = Registry.checkResourceUrl(resource).map(Registry::getPartsFromCanonicalURI) - .flatMap(parts -> getBiggIdFromParts(parts, type)); - if (id.isPresent()) { - return id; - } - } - return Optional.empty(); - } - - - /** - * @param parts - * @param type - * @return - */ - private Optional getBiggIdFromParts(List parts, String type) { - String dataSource = parts.get(0); - String synonymId = parts.get(1); - if (QueryOnce.isDataSource(dataSource)) { - Optional id = BiGGDB.getBiggIdFromSynonym(dataSource, synonymId, type); - if (id.isPresent()) { - return id; - } - } - return Optional.empty(); - } - - - /** - * @param species - * @param biggId - */ - private void setSpeciesName(Species species, BiGGId biggId) { - if (!species.isSetName() - || species.getName().equals(format("{0}_{1}", biggId.getAbbreviation(), biggId.getCompartmentCode()))) { - BiGGDB.getComponentName(biggId).map(SBMLPolisher::polishName).ifPresent(species::setName); - } - } - - - /** - * @param species - * @param biggId - */ - private void setSBOTermFromComponentType(Species species, BiGGId biggId) { - BiGGDB.getComponentType(biggId).ifPresent(type -> { - switch (type) { - case "metabolite": - species.setSBOTerm(SBO.getSimpleMolecule()); - break; - case "protein": - species.setSBOTerm(SBO.getProtein()); - break; - default: - Parameters parameters = Parameters.get(); - if (parameters.getOmitGenericTerms()) { - species.setSBOTerm(SBO.getMaterialEntity()); - } - break; - } - }); - } - - - /** - * @param species - * @param biggId - */ - private void setCVTermResources(Species species, BiGGId biggId) { - // Set of annotations calculated from BiGGDB and AnnotateDB - CVTerm cvTerm = null; - for (CVTerm term : species.getAnnotation().getListOfCVTerms()) { - if (term.getQualifier() == Qualifier.BQB_IS) { - cvTerm = term; - species.removeCVTerm(term); - break; - } - } - if (cvTerm == null) { - cvTerm = new CVTerm(Qualifier.BQB_IS); - } - Set annotations = new HashSet<>(); - boolean isBiGGMetabolite = QueryOnce.isMetabolite(biggId.getAbbreviation()); - // using BiGG Database - if (isBiGGMetabolite) { - annotations.add(Registry.createURI("bigg.metabolite", biggId)); - } - Parameters parameters = Parameters.get(); - Set linkOut = BiGGDB.getResources(biggId, parameters.getIncludeAnyURI(), false); - // convert to set to remove possible duplicates; TreeSet respects order - annotations.addAll(linkOut); - // using AnnotateDB - if (parameters.getAddADBAnnotations() && AnnotateDB.inUse() && isBiGGMetabolite) { - // TODO: sabiork.reaction and strange IDs are returned, needs rework - Set adb_annotations = AnnotateDB.getAnnotations(AnnotateDB.BIGG_METABOLITE, biggId.toBiGGId()); - annotations.addAll(adb_annotations); - } - // don't add resources that are already present - Set existingAnnotations = - cvTerm.getResources().stream() - .map(resource -> resource.replaceAll("http://identifiers.org", "https://identifiers.org")) - .collect(Collectors.toSet()); - annotations.removeAll(existingAnnotations); - // adding annotations to cvTerm - List sortedAnnotations = new ArrayList<>(annotations); - Collections.sort(sortedAnnotations); - for (String annotation : sortedAnnotations) { - cvTerm.addResource(annotation); - } - if (cvTerm.getResourceCount() > 0) { - species.addCVTerm(cvTerm); - } - if ((species.getCVTermCount() > 0) && !species.isSetMetaId()) { - species.setMetaId(species.getId()); - } - } - - - /** - * @param species - * @param biggId - */ - @SuppressWarnings("deprecation") - private void FBCSetFormulaCharge(Species species, BiGGId biggId) { - String modelId = species.getModel().getId(); - String compartmentCode = biggId.getCompartmentCode(); - FBCSpeciesPlugin fbcSpecPlug = (FBCSpeciesPlugin) species.getPlugin(FBCConstants.shortLabel); - boolean isBiGGModel = QueryOnce.isModel(modelId); - boolean compartmentNonEmpty = compartmentCode != null && !compartmentCode.equals(""); - if (!fbcSpecPlug.isSetChemicalFormula()) { - Optional chemicalFormula = Optional.empty(); - if (isBiGGModel) { - chemicalFormula = BiGGDB.getChemicalFormula(biggId.getAbbreviation(), species.getModel().getId()); - } - if ((!isBiGGModel || chemicalFormula.isEmpty()) && compartmentNonEmpty) { - chemicalFormula = BiGGDB.getChemicalFormulaByCompartment(biggId.getAbbreviation(), compartmentCode); - } - chemicalFormula.ifPresent(formula -> { - try { - fbcSpecPlug.setChemicalFormula(formula); - } catch (IllegalArgumentException exc) { - logger.severe(format(mpMessageBundle.getString("CHEM_FORMULA_INVALID"), Utils.getMessage(exc))); - } - }); - } - Optional chargeFromBiGG = Optional.empty(); - if (isBiGGModel) { - chargeFromBiGG = BiGGDB.getCharge(biggId.getAbbreviation(), species.getModel().getId()); - } else if (compartmentNonEmpty) { - chargeFromBiGG = BiGGDB.getChargeByCompartment(biggId.getAbbreviation(), biggId.getCompartmentCode()); - } - if (species.isSetCharge()) { - chargeFromBiGG.filter(charge -> charge != species.getCharge()).ifPresent(charge -> logger.warning( - format(mpMessageBundle.getString("CHARGE_CONTRADICTION"), charge, species.getCharge(), species.getId()))); - species.unsetCharge(); - } - chargeFromBiGG.filter(charge -> charge != 0).ifPresent(fbcSpecPlug::setCharge); - } - - - /** - * @param model - */ - private void annotateListOfReactions(Model model) { - for (int i = 0; i < model.getReactionCount(); i++) { - progress.DisplayBar("Annotating Reactions (4/5) "); - annotateReaction(model.getReaction(i)); - } - } - - - /** - * @param reaction - */ - private void annotateReaction(Reaction reaction) { - checkId(reaction).ifPresent(biggId -> { - String abbreviation = biggId.getAbbreviation(); - Parameters parameters = Parameters.get(); - if (!reaction.isSetSBOTerm()) { - if (BiGGDB.isPseudoreaction(abbreviation)) { - reaction.setSBOTerm(631); - } else if (!parameters.getOmitGenericTerms()) { - reaction.setSBOTerm(375); // generic process - } - } - if ((reaction.getCVTermCount() > 0) && !reaction.isSetMetaId()) { - reaction.setMetaId(biggId.toBiGGId()); - } - // This biggId corresponds to BiGGId calculated from getSpeciesBiGGIdFromUriList method, if not present as - // reaction.id - BiGGDB.getReactionName(abbreviation).filter(name -> !name.equals(reaction.getName())) - .map(SBMLPolisher::polishName).ifPresent(reaction::setName); - List geneReactionRules = BiGGDB.getGeneReactionRule(abbreviation, reaction.getModel().getId()); - for (String geneRactionRule : geneReactionRules) { - GPRParser.parseGPR(reaction, geneRactionRule, parameters.getOmitGenericTerms()); - } - parseSubsystems(reaction, biggId); - setCVTermResources(reaction, biggId); - }); - } - - - /** - * @param reaction - * @return - */ - private Optional checkId(Reaction reaction) { - String id = reaction.getId(); - // extracting BiGGId if not present for species - boolean isBiGGid = id.matches("^(R_)?([a-zA-Z][a-zA-Z0-9_]+)(?:_([a-z][a-z0-9]?))?(?:_([A-Z][A-Z0-9]?))?$") - && QueryOnce.isReaction(id); - if (!isBiGGid) { - // Flatten all resources for all CVTerms into a list - List resources = - reaction.getAnnotation().getListOfCVTerms().stream().filter(cvTerm -> cvTerm.getQualifier() == Qualifier.BQB_IS) - .flatMap(term -> term.getResources().stream()).collect(Collectors.toList()); - if (!resources.isEmpty()) { - // update id if we found something - id = getBiGGIdFromResources(resources, BiGGDB.TYPE_REACTION).orElse(id); - } - } - return BiGGId.createReactionId(id); - } - - - /** - * @param reaction - * @param biggId - */ - private void parseSubsystems(Reaction reaction, BiGGId biggId) { - Model model = reaction.getModel(); - List subsystems = BiGGDB.getSubsystems(model.getId(), biggId.getAbbreviation()); - if (subsystems.size() < 1) { - return; - } - String groupKey = "GROUP_FOR_NAME"; - if (model.getUserObject(groupKey) == null) { - model.putUserObject(groupKey, new HashMap()); - } - @SuppressWarnings("unchecked") - Map groupForName = (Map) model.getUserObject(groupKey); - for (String subsystem : subsystems) { - Group group; - if (groupForName.containsKey(subsystem)) { - group = groupForName.get(subsystem); - } else { - GroupsModelPlugin groupsModelPlugin = (GroupsModelPlugin) model.getPlugin(GroupsConstants.shortLabel); - group = groupsModelPlugin.createGroup("g" + (groupsModelPlugin.getGroupCount() + 1)); - group.setName(subsystem); - group.setKind(Group.Kind.partonomy); - group.setSBOTerm(633); // subsystem - groupForName.put(subsystem, group); - } - SBMLUtils.createSubsystemLink(reaction, group.createMember()); - } - } - - - /** - * @param reaction - * @param biggId - */ - private void setCVTermResources(Reaction reaction, BiGGId biggId) { - // Set of annotations calculated from BiGGDB and AnnotateDB - CVTerm cvTerm = null; - for (CVTerm term : reaction.getAnnotation().getListOfCVTerms()) { - if (term.getQualifier() == Qualifier.BQB_IS) { - cvTerm = term; - reaction.removeCVTerm(term); - break; - } - } - if (cvTerm == null) { - cvTerm = new CVTerm(Qualifier.BQB_IS); - } - Set annotations = new HashSet<>(); - boolean isBiGGReaction = QueryOnce.isReaction(biggId.getAbbreviation()); - // using BiGG Database - if (isBiGGReaction) { - annotations.add(Registry.createURI("bigg.reaction", biggId)); - } - Parameters parameters = Parameters.get(); - Set linkOut = BiGGDB.getResources(biggId, parameters.getIncludeAnyURI(), true); - annotations.addAll(linkOut); - // using AnnotateDB - if (parameters.getAddADBAnnotations() && AnnotateDB.inUse() && isBiGGReaction) { - // TODO: probably similar problems as in the species case -- needs rework - Set adb_annotations = AnnotateDB.getAnnotations(AnnotateDB.BIGG_REACTION, biggId.toBiGGId()); - annotations.addAll(adb_annotations); - } - // add only annotations not already present in model - Set existingAnnotations = - cvTerm.getResources().stream() - .map(resource -> resource.replaceAll("http://identifiers.org", "https://identifiers.org")) - .collect(Collectors.toSet()); - annotations.removeAll(existingAnnotations); - // adding annotations to cvTerm - List sortedAnnotations = new ArrayList<>(annotations); - Collections.sort(sortedAnnotations); - for (String annotation : sortedAnnotations) { - cvTerm.addResource(annotation); - } - if (cvTerm.getResourceCount() > 0) { - reaction.addCVTerm(cvTerm); - } - if ((reaction.getCVTermCount() > 0) && !reaction.isSetMetaId()) { - reaction.setMetaId(reaction.getId()); - } - } - - - /** - * @param model - */ - private void annotateListOfGeneProducts(Model model) { - if (model.isSetPlugin(FBCConstants.shortLabel)) { - FBCModelPlugin fbcModelPlugin = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); - // update progress bar for added geneProducts - int changed = fbcModelPlugin.getNumGeneProducts() - initialGeneProducts; - if (changed > 0) { - long current = progress.getCallNumber(); - // substract fake count - progress.setNumberOfTotalCalls(progress.getNumberOfTotalCalls() + changed - 50); - progress.setCallNr(current); - } - for (GeneProduct geneProduct : fbcModelPlugin.getListOfGeneProducts()) { - progress.DisplayBar("Annotating Gene Products (5/5) "); - annotateGeneProduct(geneProduct); - } - } - } - - - /** - * @param geneProduct - */ - private void annotateGeneProduct(GeneProduct geneProduct) { - Optional label = Optional.empty(); - Optional biggId = checkId(geneProduct); - if (geneProduct.isSetLabel() && !geneProduct.getLabel().equalsIgnoreCase("None")) { - label = Optional.of(geneProduct.getLabel()); - } else if (geneProduct.isSetId()) { - label = biggId.map(BiGGId::toBiGGId); - } - if (label.isEmpty()) { - return; - } - // fix geneProductReference in Association not updated - SBMLUtils.updateGeneProductReference(geneProduct); - biggId.ifPresent(id -> { - setCVTermResources(geneProduct, id); - if (geneProduct.getCVTermCount() > 0) { - geneProduct.setMetaId(id.toBiGGId()); - } - }); - setGPLabelName(geneProduct, label.get()); - } - - - /** - * @param geneProduct - * @return - */ - private Optional checkId(GeneProduct geneProduct) { - String id = geneProduct.getId(); - boolean isBiGGid = id.matches("^(G_)?([a-zA-Z][a-zA-Z0-9_]+)(?:_([a-z][a-z0-9]?))?(?:_([A-Z][A-Z0-9]?))?$"); - if (!isBiGGid) { - // Flatten all resources for all CVTerms into a list - List resources = geneProduct.getAnnotation().getListOfCVTerms().stream() - .filter(cvTerm -> cvTerm.getQualifier() == Qualifier.BQB_IS) - .flatMap(term -> term.getResources().stream()).collect(Collectors.toList()); - if (!resources.isEmpty()) { - // update id if we found something - id = getBiGGIdFromResources(resources, BiGGDB.TYPE_GENE_PRODUCT).orElse(id); - } - } - return BiGGId.createGeneId(id); - } - - - /** - * @param geneProduct - * @param biggId - */ - private void setCVTermResources(GeneProduct geneProduct, BiGGId biggId) { - CVTerm termIs = new CVTerm(Qualifier.BQB_IS); - CVTerm termEncodedBy = new CVTerm(Qualifier.BQB_IS_ENCODED_BY); - // label is stored without "G_" prefix in BiGG - BiGGDB.getGeneIds(biggId.getAbbreviation()).forEach( - resource -> Registry.checkResourceUrl(resource).map(Registry::getPartsFromCanonicalURI) - .filter(parts -> parts.size() > 0).map(parts -> parts.get(0)).ifPresent(collection -> { - switch (collection) { - case "interpro": - case "pdb": - case "uniprot": - termIs.addResource(resource); - break; - default: - termEncodedBy.addResource(resource); - } - })); - if (termIs.getResourceCount() > 0) { - geneProduct.addCVTerm(termIs); - } - if (termEncodedBy.getResourceCount() > 0) { - geneProduct.addCVTerm(termEncodedBy); - } - } - - - /** - * @param geneProduct - * @param label - */ - private void setGPLabelName(GeneProduct geneProduct, String label) { - // we successfully found information by using the id, so this needs to be the label - if (geneProduct.getLabel().equalsIgnoreCase("None")) { - geneProduct.setLabel(label); - } - BiGGDB.getGeneName(label).ifPresent(geneName -> { - if (geneName.isEmpty()) { - logger.fine(format(mpMessageBundle.getString("NO_GENE_FOR_LABEL"), geneProduct.getName())); - } else if (geneProduct.isSetName() && !geneProduct.getName().equals(geneName)) { - logger.warning(format(mpMessageBundle.getString("UPDATE_GP_NAME"), geneProduct.getName(), geneName)); - } - geneProduct.setName(geneName); - }); - } - - - /** - * @param location - * relative path to the resource from this class. - * @param replacements - * @return Constants.URL_PREFIX + " like '%%identifiers.org%%'" - * @throws IOException - */ - private String parseNotes(String location, Map replacements) throws IOException { - StringBuilder sb = new StringBuilder(); - try (InputStream is = getClass().getResourceAsStream(location); - InputStreamReader isReader = new InputStreamReader((is != null) ? is : new FileInputStream(new File(location))); - BufferedReader br = new BufferedReader(isReader)) { - String line; - boolean start = false; - while (br.ready() && ((line = br.readLine()) != null)) { - if (line.matches("\\s* - * BiGG ID specification. - * - * @author Andreas Dräger - * @author Thomas Zajac - */ -public class BiGGId { - - /** - * A {@link Logger} for this class. - */ - private static final transient Logger logger = Logger.getLogger(BiGGId.class.getName()); - /** - * First part of BiGG ID, either R, M or G - */ - private String prefix; - /** - * Second part of BiGG ID, matches [a-zA-Z0-9][a-zA-Z0-9_]+[a-zA-Z0-9] - */ - private String abbreviation; - /** - * Third part of BiGG ID, matches [a-z][a-z0-9]? and exists for compartmentalized metabolites - */ - private String compartmentCode; - /** - * Fourth part of BiGG ID, matches [A-Z][A-Z0-9] - */ - private String tissueCode; - - /** - * - */ - enum IDPattern { - - ATPM("[Aa][Tt][Pp][Mm]"), - BIOMASS("(([Rr]_?)?[Bb][Ii][Oo][Mm][Aa][Ss][Ss])(?:_(.+))?"), - COMPARTMENT("[a-zA-Z][a-zA-Z0-9]?"), - METABOLITE_SPECIAL("M_(?[a-zA-Z0-9])_(?[a-z][a-z0-9]?)"), - PSEUDO("(([Rr]_?)?[Ee][Xx]_).*|(([Rr]_?)?[Dd][Mm]_).*|(([Rr]_?)?[Ss]([Ii][Nn])?[Kk]_).*"), - UNIVERSAL("^(?[RMG])_(?[a-zA-Z0-9][a-zA-Z0-9_]+?)(?:_(?[a-z][a-z0-9]?))?" - + "(?:_(?[A-Z][A-Z0-9]?))?$"); - - /** - * - */ - private final Pattern pattern; - - /** - * @param pattern - */ - IDPattern(String pattern) { - this.pattern = Pattern.compile(pattern); - } - - - /** - * @return - */ - Pattern get() { - return pattern; - } - } - - /** - * - */ - public BiGGId() { - super(); - } - - - /** - * @param id - */ - public BiGGId(String id) { - this(); - parseBiGGId(id); - } - - - /** - * @param prefix - * @param abbreviation - * @param compartmentCode - * @param tissueCode - */ - public BiGGId(String prefix, String abbreviation, String compartmentCode, String tissueCode) { - this(); - String id = toBiGGId(prefix, abbreviation, compartmentCode, tissueCode); - parseBiGGId(id); - } - - - public static Optional createMetaboliteId(String id) { - return createMetaboliteId(id, true); - } - - - public static Optional createMetaboliteId(String id, boolean correct) { - if (id.isEmpty()) { - return Optional.empty(); - } - id = fixCompartmentCode(id); - if (correct) { - id = makeBiGGConform(id); - if (id.startsWith("_")) { - id = id.substring(1); - } - if (id.startsWith("m_")) { - id = id.replaceAll("^m_", "M_"); - } else if (!id.startsWith("M_")) { - id = "M_" + id; - } - } - // handle one letter abbreviation metabolites like 'h' which are not in accord with the specification, but still - // present in BiGG - Matcher metaboliteSpecialCase = IDPattern.METABOLITE_SPECIAL.get().matcher(id); - if (metaboliteSpecialCase.matches()) { - BiGGId biggId = new BiGGId(); - biggId.setPrefix("M"); - biggId.setAbbreviation(metaboliteSpecialCase.group("abbreviation")); - biggId.setCompartmentCode(metaboliteSpecialCase.group("compartment")); - return Optional.of(biggId); - } else { - return Optional.of(new BiGGId(id)); - } - } - - - public static Optional createGeneId(String id) { - return createGeneId(id, true); - } - - - public static Optional createGeneId(String id, boolean correct) { - if (id.isEmpty()) { - return Optional.empty(); - } - if (correct) { - id = makeBiGGConform(id); - if (id.startsWith("_")) { - id = id.substring(1); - } - if (id.startsWith("g_")) { - id = id.replaceAll("^g_", "G_"); - } else if (!id.startsWith("G_")) { - id = "G_" + id; - } - } - return Optional.of(new BiGGId(id)); - } - - - public static Optional createReactionId(String id) { - String prefixStripped = ""; - if (id.startsWith("R_") || id.startsWith("r_")) { - prefixStripped = id.substring(2); - } - if (isPseudo(id)) { - return createReactionId(id, true, true); - } else if (!prefixStripped.isEmpty() && isPseudo(prefixStripped)) { - return createReactionId(prefixStripped, true, true); - } else { - return createReactionId(id, true, false); - } - } - - - private static boolean isPseudo(String reactionId) { - return IDPattern.ATPM.get().matcher(reactionId).matches() || IDPattern.BIOMASS.get().matcher(reactionId).matches() - || IDPattern.PSEUDO.get().matcher(reactionId).matches(); - } - - - public static Optional createReactionId(String id, boolean correct, boolean isPseudo) { - if (id.isEmpty()) { - return Optional.empty(); - } - if (correct) { - id = makeBiGGConform(id); - if (id.startsWith("_")) { - id = id.substring(1); - } - if (!isPseudo && id.startsWith("r_")) { - id = id.replaceAll("^r_", "R_"); - } else if (!isPseudo && !id.startsWith("R_")) { - id = "R_" + id; - } - } - return Optional.of(new BiGGId(id)); - } - - - private static String makeBiGGConform(String id) { - if (Character.isDigit(id.charAt(0))) { - id = "_" + id; - } - id = id.replaceAll("[-/]", "__").replaceAll("\\.", "__SBML_DOT__").replaceAll("\\(", "_LPAREN_") - .replaceAll("\\)", "_RPAREN_").replaceAll("\\[", "_LBRACKET_").replaceAll("]", "_RBRACKET_"); - Pattern parenCompartment = Pattern.compile("_LPAREN_(?.*?)_RPAREN_"); - Matcher parenMatcher = parenCompartment.matcher(id); - if (parenMatcher.find()) { - id = id.replaceAll(parenCompartment.toString(), "_" + parenMatcher.group("paren")); - } - Pattern bracketCompartment = Pattern.compile("_LBRACKET_(?.*)_RBRACKET_"); - Matcher bracketMatcher = bracketCompartment.matcher(id); - if (bracketMatcher.find()) { - id = id.replaceAll(bracketCompartment.toString(), "_" + bracketMatcher.group("bracket")); - } - if (id.matches(".*_copy\\d*")) { - id = id.substring(0, id.lastIndexOf('_')); - } - Pattern alphaNum = Pattern.compile("[a-zA-Z0-9_]"); - StringBuilder builder = new StringBuilder(id.length()); - for (char ch : id.toCharArray()) { - if (alphaNum.matcher(String.valueOf(ch)).matches()) { - builder.append(ch); - } else { - builder.append("_"); - } - } - id = builder.toString(); - if (id.endsWith("_")) { - id = id.substring(0, id.length() - 1); - } - return id; - } - - - public static boolean isValid(String queryId) { - return IDPattern.ATPM.get().matcher(queryId).matches() || IDPattern.BIOMASS.get().matcher(queryId).matches() - || IDPattern.COMPARTMENT.get().matcher(queryId).matches() - || IDPattern.METABOLITE_SPECIAL.get().matcher(queryId).matches() - || IDPattern.PSEUDO.get().matcher(queryId).matches() || IDPattern.UNIVERSAL.get().matcher(queryId).matches(); - } - - - /** - * @param id - * @return - */ - private static String fixCompartmentCode(String id) { - // Workaround for models with wrong compartment code format [cc] instead of _cc - Pattern rescueCompartment = Pattern.compile(".*\\[(?[a-z][a-z0-9]?)\\]"); - Matcher rescueMatcher = rescueCompartment.matcher(id); - if (rescueMatcher.matches()) { - String compartmentCode = rescueMatcher.group("code"); - id = id.replaceAll("\\[[a-z][a-z0-9]?\\]", "_" + compartmentCode + "_"); - if (id.endsWith("_")) { - id = id.substring(0, id.length() - 1); - } - } - return id; - } - - - /** - * @param id - * the identifier to be parsed into a bigg_id. - */ - private void parseBiGGId(String id) { - Matcher matcher = IDPattern.UNIVERSAL.get().matcher(id); - // Handle PseudoReaction with wrongfully added prefix correctly - boolean isPseudoReaction = false; - if (id.startsWith("R_")) { - isPseudoReaction = isPseudo(id); - } - if (!isPseudoReaction && matcher.matches()) { - handleNormalId(matcher); - } else { - handleSpecialCases(id); - } - } - - - /** - * @param matcher - */ - private void handleNormalId(Matcher matcher) { - String prefix = matcher.group("prefix"); - setPrefix(prefix); - String abbreviation = matcher.group("abbreviation"); - setAbbreviation(abbreviation); - String compartment = matcher.group("compartment"); - setCompartmentCode(compartment); - String tissueCode = matcher.group("tissueCode"); - setTissueCode(tissueCode); - } - - - /** - * @param id - */ - private void handleSpecialCases(String id) { - Matcher pseudoreactionMatcher = IDPattern.PSEUDO.get().matcher(id); - Matcher biomassMatcher = IDPattern.BIOMASS.get().matcher(id); - Matcher atpmMatcher = IDPattern.ATPM.get().matcher(id); - Matcher compartmentMatcher = IDPattern.COMPARTMENT.get().matcher(id); - if (pseudoreactionMatcher.matches()) { - id = id.replaceAll("^([Rr]_?)?[Ee][Xx]", "EX"); - id = id.replaceAll("^([Rr]_?)?[Dd][Mm]", "DM"); - id = id.replaceAll("^([Rr]_?)?[Ss]([Ii][Nn])?[Kk]", "SK"); - setAbbreviation(id); - } else if (biomassMatcher.matches()) { - id = id.replaceAll("^([Rr]_?)?[Bb][Ii][Oo][Mm][Aa][Ss][Ss]", "BIOMASS"); - setAbbreviation(id); - } else if (atpmMatcher.matches()) { - setAbbreviation("ATPM"); - } else if (compartmentMatcher.matches()) { - setAbbreviation(id); - } else { - logger.warning(String.format("Cannot convert to BiGGId, setting as abbreviation: %s", id)); - setAbbreviation(id); - } - } - - - public static Optional extractCompartmentCode(String id) { - if (!Pattern.compile("(C_)?[a-z][a-z0-9]?").matcher(id).matches()) { - return Optional.empty(); - } - if (id.startsWith("C_")) { - id = id.substring(2); - } - return Optional.of(id); - } - - - /* - * (non-Javadoc) - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - BiGGId other = (BiGGId) obj; - if (abbreviation == null) { - if (other.abbreviation != null) { - return false; - } - } else if (!abbreviation.equals(other.abbreviation)) { - return false; - } - if (compartmentCode == null) { - if (other.compartmentCode != null) { - return false; - } - } else if (!compartmentCode.equals(other.compartmentCode)) { - return false; - } - if (prefix == null) { - if (other.prefix != null) { - return false; - } - } else if (!prefix.equals(other.prefix)) { - return false; - } - if (tissueCode == null) { - return other.tissueCode == null; - } else - return tissueCode.equals(other.tissueCode); - } - - - /** - * @return the abbreviation - */ - public String getAbbreviation() { - return isSetAbbreviation() ? abbreviation : ""; - } - - - /** - *
      - *
    • Only contain upper and lower case letters, numbers, and underscores - *
    • /[0-9a-zA-Z][a-zA-Z0-9_]+/, only ASCII and don't start with numbers - *
    • When converting old BIGG IDs to BIGG2 IDs, replace a dash with two - * underscores. For example, ala-L becomes ala__L. - *
    • Reactions should be all upper case. Metabolites should be primarily - * lower case, but upper case letters are allowed (ala__L is preferred to - * ALA__L). - *
    - * - * @param abbreviation - * the abbreviation to set - */ - public void setAbbreviation(String abbreviation) { - if (null != abbreviation && !abbreviation.isEmpty()) { - this.abbreviation = abbreviation; - } - } - - - /** - * @return the compartmentCode - */ - public String getCompartmentCode() { - return isSetCompartmentCode() ? compartmentCode : ""; - } - - - /** - * One or two characters in length, and contain only lower case letters and - * numbers, and must begin with a lower case letter. /[a-z][a-z0-9]?/ - * - * @param compartmentCode - * the compartmentCode to set - */ - public void setCompartmentCode(String compartmentCode) { - if (null != compartmentCode && !compartmentCode.isEmpty()) { - this.compartmentCode = compartmentCode; - } - } - - - /** - * @return the prefix - */ - public String getPrefix() { - return isSetPrefix() ? prefix : ""; - } - - - /** - *
      - *
    • R: reaction - *
    • M: metabolite /[RM]/ - *
    • NOTE: Do we want to have the id entity use R and M, and just remove - * them when constructing the model, or have them just as - * [abbreviation]_[compartment code] and add the prefix when they are put - * into SBML models? Also SBML id's use capital letters (/[RM]/). - *
    - * - * @param prefix - * the prefix to set - */ - public void setPrefix(String prefix) { - if (null != prefix && !prefix.isEmpty()) { - this.prefix = prefix; - } - } - - - /** - * @return the tissueCode - */ - public String getTissueCode() { - return isSetTissueCode() ? tissueCode : ""; - } - - - /** - * One or two characters in length, and contain only upper case letters and - * numbers, and must begin with an upper case letter. /[A-Z][A-Z0-9]?/ - * - * @param tissueCode - * the tissueCode to set - */ - public void setTissueCode(String tissueCode) { - if (null != tissueCode && !tissueCode.isEmpty()) { - this.tissueCode = tissueCode; - } - } - - - /* - * (non-Javadoc) - * @see java.lang.Object#hashCode() - */ - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((abbreviation == null) ? 0 : abbreviation.hashCode()); - result = prime * result + ((compartmentCode == null) ? 0 : compartmentCode.hashCode()); - result = prime * result + ((prefix == null) ? 0 : prefix.hashCode()); - result = prime * result + ((tissueCode == null) ? 0 : tissueCode.hashCode()); - return result; - } - - - /** - * @return - */ - public boolean isSetAbbreviation() { - return abbreviation != null; - } - - - /** - * @return - */ - public boolean isSetCompartmentCode() { - return compartmentCode != null; - } - - - /** - * @return - */ - public boolean isSetPrefix() { - return prefix != null; - } - - - /** - * @return - */ - public boolean isSetTissueCode() { - return tissueCode != null; - } - - - /** - * Generates an actual BiGG id for this object. - * - * @return - */ - public String toBiGGId() { - StringBuilder sb = new StringBuilder(); - if (isSetPrefix()) { - sb.append(getPrefix()); - } - if (isSetAbbreviation()) { - if (sb.length() > 0) { - sb.append('_'); - } - sb.append(getAbbreviation()); - } - if (isSetCompartmentCode()) { - if (sb.length() > 0) { - sb.append('_'); - } - sb.append(getCompartmentCode()); - } - if (isSetTissueCode()) { - if (sb.length() > 0) { - sb.append('_'); - } - sb.append(getTissueCode()); - } - return sb.toString(); - } - - - /** - * Generates an actual BiGG id for this object. - * - * @return - */ - public String toBiGGId(String prefix, String abbreviation, String compartmentCode, String tissueCode) { - StringBuilder sb = new StringBuilder(); - if (!Optional.ofNullable(prefix).orElse("").isEmpty()) { - sb.append(prefix); - } - if (!Optional.ofNullable(abbreviation).orElse("").isEmpty()) { - if (sb.length() > 0) { - sb.append('_'); - } - sb.append(abbreviation); - } - if (!Optional.ofNullable(compartmentCode).orElse("").isEmpty()) { - if (sb.length() > 0) { - sb.append('_'); - } - sb.append(compartmentCode); - } - if (!Optional.ofNullable(tissueCode).orElse("").isEmpty()) { - if (sb.length() > 0) { - sb.append('_'); - } - sb.append(tissueCode); - } - return sb.toString(); - } - - - /* - * (non-Javadoc) - * @see java.lang.Object#toString() - */ - @Override - public String toString() { - return getClass().getSimpleName() + " [prefix=" + prefix + ", abbreviation=" + abbreviation + ", compartmentCode=" - + compartmentCode + ", tissueCode=" + tissueCode + "]"; - } -} diff --git a/src/main/java/edu/ucsd/sbrg/bigg/IOOptions.java b/src/main/java/edu/ucsd/sbrg/bigg/IOOptions.java deleted file mode 100644 index f8443a2e..00000000 --- a/src/main/java/edu/ucsd/sbrg/bigg/IOOptions.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * - */ -package edu.ucsd.sbrg.bigg; - -import static edu.ucsd.sbrg.bigg.ModelPolisher.mpMessageBundle; - -import java.io.File; - -import de.zbit.io.filefilter.MultipleFileFilter; -import de.zbit.io.filefilter.SBFileFilter; -import de.zbit.util.prefs.KeyProvider; -import de.zbit.util.prefs.Option; -import de.zbit.util.prefs.Range; - -/** - * @author Andreas Dräger - */ -public interface IOOptions extends KeyProvider { - - /** - * Specifies the SBML or MAT input file. If a directory is given, the - * conversion - * will be recursively performed. MAT files will be converted to SBML prior to - * polishing. - */ - public static final Option INPUT = new Option("INPUT", - File.class, "Input SBML file", - new Range(File.class, - new MultipleFileFilter(mpMessageBundle.getString("INPUT_DESC"), - SBFileFilter.createSBMLFileFilter(), SBFileFilter.createMATFileFilter(), - SBFileFilter.createJSONFileFilter(), - SBFileFilter.createDirectoryFilter()))); - /** - * The path to the file into which the output should be written. If the - * input is a directory, this must also be a directory in order to perform a - * recursive conversion. - */ - public static final Option OUTPUT = - new Option("OUTPUT", File.class, mpMessageBundle.getString("OUTPUT_DESC"), - new Range(File.class, - new MultipleFileFilter("SBML", SBFileFilter.createSBMLFileFilter(), - SBFileFilter.createDirectoryFilter()))); -} diff --git a/src/main/java/edu/ucsd/sbrg/bigg/ModelPolisher.java b/src/main/java/edu/ucsd/sbrg/bigg/ModelPolisher.java deleted file mode 100644 index 98065fd8..00000000 --- a/src/main/java/edu/ucsd/sbrg/bigg/ModelPolisher.java +++ /dev/null @@ -1,876 +0,0 @@ -/* - * - */ -package edu.ucsd.sbrg.bigg; - -import static java.text.MessageFormat.format; - -import java.awt.*; -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStreamWriter; -import java.io.Writer; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URL; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.Calendar; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.ResourceBundle; -import java.util.concurrent.TimeUnit; -import java.util.logging.Logger; - -import javax.xml.stream.XMLStreamException; - -import org.sbml.jsbml.Compartment; -import org.sbml.jsbml.Reaction; -import org.sbml.jsbml.SBMLDocument; -import org.sbml.jsbml.SBMLError; -import org.sbml.jsbml.SBMLErrorLog; -import org.sbml.jsbml.SBMLReader; -import org.sbml.jsbml.Species; -import org.sbml.jsbml.TidySBMLWriter; -import org.sbml.jsbml.ext.fbc.FBCConstants; -import org.sbml.jsbml.ext.fbc.FBCModelPlugin; -import org.sbml.jsbml.ext.fbc.GeneProduct; -import org.sbml.jsbml.ext.fbc.converters.CobraToFbcV2Converter; -import org.sbml.jsbml.util.SBMLtools; -import org.sbml.jsbml.util.ValuePair; -import org.sbml.jsbml.validator.SBMLValidator; -import org.sbml.jsbml.validator.offline.LoggingValidationContext; -import org.sbml.jsbml.xml.XMLNode; -import org.sbml.jsbml.xml.parsers.SBMLRDFAnnotationParser; -import org.w3c.tidy.Tidy; - -import de.unirostock.sems.cbarchive.CombineArchive; -import de.zbit.AppConf; -import de.zbit.Launcher; -import de.zbit.io.FileTools; -import de.zbit.io.ZIPUtils; -import de.zbit.io.filefilter.SBFileFilter; -import de.zbit.util.ResourceManager; -import de.zbit.util.Utils; -import de.zbit.util.logging.LogOptions; -import de.zbit.util.prefs.KeyProvider; -import de.zbit.util.prefs.SBProperties; -import edu.ucsd.sbrg.bigg.ModelPolisherOptions.Compression; -import edu.ucsd.sbrg.db.ADBOptions; -import edu.ucsd.sbrg.db.AnnotateDB; -import edu.ucsd.sbrg.db.BiGGDB; -import edu.ucsd.sbrg.db.BiGGDBOptions; -import edu.ucsd.sbrg.db.DBConfig; -import edu.ucsd.sbrg.parsers.COBRAparser; -import edu.ucsd.sbrg.parsers.JSONparser; -import edu.ucsd.sbrg.util.GPRParser; -import edu.ucsd.sbrg.util.SBMLUtils; -import edu.ucsd.sbrg.util.UpdateListener; - -/** - * @author Andreas Dräger - */ -public class ModelPolisher extends Launcher { - - /** - * - */ - private Parameters parameters; - /** - * Type of current input file - */ - private FileType fileType; - /** - * Localization support. - */ - private static final transient ResourceBundle baseBundle = ResourceManager.getBundle("edu.ucsd.sbrg.Messages"); - /** - * Bundle for ModelPolisher logger messages - */ - public static transient ResourceBundle mpMessageBundle = ResourceManager.getBundle("edu.ucsd.sbrg.polisher.Messages"); - /** - * A {@link Logger} for this class. - */ - private static final transient Logger logger = Logger.getLogger(ModelPolisher.class.getName()); - /** - * Generated serial version identifier. - */ - private static final long serialVersionUID = 7745344693995142413L; - - /** - * Possible FileTypes of input file - */ - private enum FileType { - SBML_FILE, - MAT_FILE, - JSON_FILE, - UNKNOWN - } - - /** - * @param args - */ - public static void main(String[] args) { - new ModelPolisher(args); - } - - - /** - * @param args - */ - public ModelPolisher(String... args) { - super(args); - } - - - /* - * (non-Javadoc) - * @see de.zbit.Launcher#addCopyrightToSplashScreen() - */ - @Override - protected boolean addCopyrightToSplashScreen() { - return false; - } - - - /* - * (non-Javadoc) - * @see de.zbit.Launcher#addVersionNumberToSplashScreen() - */ - @Override - protected boolean addVersionNumberToSplashScreen() { - return false; - } - - - /* - * (non-Javadoc) - * @see de.zbit.Launcher#commandLineMode(de.zbit.AppConf) - */ - @Override - public void commandLineMode(AppConf appConf) { - SBProperties args = appConf.getCmdArgs(); - parameters = Parameters.init(args); - DBConfig.initBiGG(args, parameters.annotateWithBiGG); - DBConfig.initADB(args, parameters.addADBAnnotations); - // Gives users the choice to pass an alternative model notes XHTML file to the program. - try { - batchProcess(new File(args.getProperty(IOOptions.INPUT)), new File(args.getProperty(IOOptions.OUTPUT))); - } catch (XMLStreamException | IOException exc) { - exc.printStackTrace(); - } - // make sure DB connections are closed in case of exception - finally { - if (BiGGDB.inUse()) { - BiGGDB.close(); - } - if (AnnotateDB.inUse()) { - AnnotateDB.close(); - } - } - } - - - /** - * @param input: - * Path to input file/directory to process - * @param output: - * Path to output file/directory - * @throws IOException - * if input file is not found, or no file is present in input directory - * @throws XMLStreamException - * propagated from {@link #processFile(File, File)} - */ - private void batchProcess(File input, File output) throws IOException, XMLStreamException { - if (!input.exists()) { - throw new IOException(format(mpMessageBundle.getString("READ_FILE_ERROR"), input.toString())); - } - // Create output directory if output is a directory or create output file's directory if output is a file - checkCreateOutDir(output); - if (!input.isFile()) { - if (!output.isDirectory()) { - // input == dir && output != dir -> should only happen if already inside a directory and trying to recurse, - // which is not supported - logger.warning(format(mpMessageBundle.getString("WRITE_DIR_TO_FILE_ERROR"), input.getAbsolutePath(), - output.getAbsolutePath())); - return; - } - File[] files = input.listFiles(); - if (files == null || files.length < 1) { - throw new IOException(mpMessageBundle.getString("NO_FILES_ERROR")); - } - for (File file : files) { - File target = getOutputFileName(file, output); - batchProcess(file, target); - } - } else { - // NOTE: input is a single file, but output can be a file or a directory, i.e. for multimodel files (MAT format) - processFile(input, output); - } - } - - - /** - * @param file: - * File to get name for in input directory - * @param output: - * Path to output directory - * @return File in output directory with correct file ending for SBML - */ - private File getOutputFileName(File file, File output) { - fileType = getFileType(file); - if (!fileType.equals(FileType.SBML_FILE)) { - return new File( - Utils.ensureSlash(output.getAbsolutePath()) + FileTools.removeFileExtension(file.getName()) + ".xml"); - } else { - return new File(Utils.ensureSlash(output.getAbsolutePath()) + file.getName()); - } - } - - - /** - * @param output: - * File denoting output location - */ - private void checkCreateOutDir(File output) { - logger.info(format(mpMessageBundle.getString("OUTPUT_FILE_DESC"), isDirectory(output) ? "directory" : "file")); - /* - * ModelPolisher.isDirectory() checks if output location contains ., if so it is assumed to be a file, - * else it is assumed to be a directory - */ - // output is directory - if (isDirectory(output) && !output.exists()) { - logger.info(format(mpMessageBundle.getString("CREATING_DIRECTORY"), output.getAbsolutePath())); - if (output.mkdirs()) { - logger.fine(format(mpMessageBundle.getString("DIRECTORY_CREATED"), output.getAbsolutePath())); - } else { - logger.severe(format(mpMessageBundle.getString("DIRECTORY_CREATION_FAILED"), output.getAbsolutePath())); - exit(); - } - } - // output is a file - else { - // check if directory of outfile exist and create if required - if (!output.getParentFile().exists()) { - logger.info(format(mpMessageBundle.getString("CREATING_DIRECTORY"), output.getParentFile().getAbsolutePath())); - if (output.getParentFile().mkdirs()) { - logger.fine(format(mpMessageBundle.getString("DIRECTORY_CREATED"), output.getParentFile().getAbsolutePath())); - } else { - logger.severe( - format(mpMessageBundle.getString("DIRECTORY_CREATION_FAILED"), output.getParentFile().getAbsolutePath())); - exit(); - } - } - } - } - - - /** - * @param file - */ - public boolean isDirectory(File file) { - /* - * file = d1/d2/d3 is taken as a file by method file.isDirectory() - * Check if file is directory by checking presence or '.' in output.getName() - */ - return !file.getName().contains("."); - } - - - /** - * @param input: - * input file - * @param output: - * output file or directory - * @throws XMLStreamException - * propagated from {@link #readAndPolish(File, File)} - * @throws IOException - * propagated from {@link #readAndPolish(File, File)} - */ - private void processFile(File input, File output) throws XMLStreamException, IOException { - // get fileType array and check if any value is true - fileType = getFileType(input); - if (fileType.equals(FileType.UNKNOWN)) { - // TODO: move into resources for internationalization - logger.warning(format("Encountered file of unknown type in input : \"{0}\", skipping.", input.getPath())); - return; - } - if (output.isDirectory()) { - output = getOutputFileName(input, output); - } - readAndPolish(input, output); - } - - - /** - * Get file type from input file - * - * @param input - * File used in {@link #batchProcess(File, File)} - * @return FileType of given file, only SBML, MatLab and JSON files are supported - */ - private FileType getFileType(File input) { - if (SBFileFilter.isSBMLFile(input)) { - return FileType.SBML_FILE; - } else if (SBFileFilter.hasFileType(input, SBFileFilter.FileType.MAT_FILES)) { - return FileType.MAT_FILE; - } else if (SBFileFilter.hasFileType(input, SBFileFilter.FileType.JSON_FILES)) { - return FileType.JSON_FILE; - } else { - return FileType.UNKNOWN; - } - } - - - /** - * @param input: - * Input file in either SBML, MAT or JSON format - * @param output: - * Output file in SBML format - * @throws XMLStreamException - * propagated from {@link #polish(SBMLDocument, File)} - * @throws IOException - * propagated from {@link #polish(SBMLDocument, File)} - */ - private void readAndPolish(File input, File output) throws XMLStreamException, IOException { - long time = System.currentTimeMillis(); - logger.info(format(mpMessageBundle.getString("READ_FILE_INFO"), input.getAbsolutePath())); - SBMLDocument doc; - // reading or parsing input - if (fileType.equals(FileType.MAT_FILE)) { - doc = COBRAparser.read(input, parameters.omitGenericTerms); - } else if (fileType.equals(FileType.JSON_FILE)) { - doc = JSONparser.read(input); - } else { - checkHTMLTags(input); - doc = SBMLReader.read(input, new UpdateListener()); - } - if (doc == null) { - logger.severe(format(mpMessageBundle.getString("ALL_DOCS_PARSE_ERROR"), input.toString())); - return; - } - polish(doc, output); - // Clear map for next model - SBMLUtils.cleanGPRMap(); - GPRParser.clearAssociationMap(); - time = TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis() - time); - logger.info(String.format(mpMessageBundle.getString("FINISHED_TIME"), (time / 60), (time % 60))); - } - - - /** - * Replaces wrong html tags in a SBML model with body tags - * - * @param input: - * SBML file - */ - private void checkHTMLTags(File input) { - FileInputStream iStream = null; - try { - iStream = new FileInputStream(input); - } catch (FileNotFoundException exc) { - logger.severe(format(mpMessageBundle.getString("READ_FILE_ERROR"), input.toPath())); - } - // If it's null, something went horribly wrong and a nullPointerException should be thrown - BufferedReader reader = new BufferedReader(new InputStreamReader(iStream)); - // Replace tags and replace file for processing - try { - StringBuilder sb = new StringBuilder(); - String line; - while ((line = reader.readLine()) != null) { - sb.append(line).append("\n"); - } - reader.close(); - String doc = sb.toString(); - if (!doc.contains("", ""); - // Preserve a copy of the original. - try { - Path output = Paths.get(input.getAbsolutePath() + ".bak"); - Files.copy(input.toPath(), output); - } catch (IOException e) { - // We assume it was already corrected - logger.info(mpMessageBundle.getString("SKIP_TAG_REPLACEMENT")); - return; - } - BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(input))); - writer.write(doc); - logger.info(format(mpMessageBundle.getString("WROTE_CORRECT_HTML"), input.toPath())); - writer.close(); - } catch (IOException exc) { - logger.severe(mpMessageBundle.getString("READ_HTML_ERROR")); - } - } - - - /** - * @param doc - * @param output - * @throws IOException - * @throws XMLStreamException - */ - private void polish(SBMLDocument doc, File output) throws IOException, XMLStreamException { - doc = checkLevelAndVersion(doc); - // Polishing - SBMLPolisher polisher = initializeSBMLPolisher(); - doc = polisher.polish(doc); - // Annotation - if (parameters.annotateWithBiGG) { - BiGGAnnotation annotation = setAnnotationParameters(); - doc = annotation.annotate(doc); - } - // writing polished model - logger.info(format(mpMessageBundle.getString("WRITE_FILE_INFO"), output.getAbsolutePath())); - TidySBMLWriter.write(doc, output, getClass().getSimpleName(), getVersionNumber(), ' ', (short) 2); - // produce COMBINE archive and delete output model and glossary - if (parameters.outputCOMBINE) { - // producing & writing glossary - writeGlossary(doc, output); - writeCombineArchive(output); - } - if (parameters.compression != Compression.NONE) { - String fileExtension = parameters.compression.getFileExtension(); - String archive = output.getAbsolutePath() + "." + fileExtension; - logger.info(format(mpMessageBundle.getString("ARCHIVE"), archive)); - switch (parameters.compression) { - case ZIP: - ZIPUtils.ZIPcompress(new String[] {output.getAbsolutePath()}, archive, "SBML Archive", true); - break; - case GZIP: - ZIPUtils.GZip(output.getAbsolutePath(), archive); - break; - default: - break; - } - if (!output.delete()) { - logger.warning(String.format("Failed to delete output file '%s' after compression.", output.getAbsolutePath())); - } - if (parameters.sbmlValidation) { - validate(archive, false); - } - } - } - - - /** - * Make sure SBML Level and Version are 3.1, so that needed plugins work - * - * @param doc: - * SBMLDocument - */ - private SBMLDocument checkLevelAndVersion(SBMLDocument doc) { - if (!doc.isSetLevelAndVersion() || (doc.getLevelAndVersion().compareTo(ValuePair.of(3, 1)) < 0)) { - logger.info(mpMessageBundle.getString("TRY_CONV_LVL3_V1")); - SBMLtools.setLevelAndVersion(doc, 3, 1); - } - CobraToFbcV2Converter converter = new CobraToFbcV2Converter(); - return converter.convert(doc); - } - - - /** - * @return SBMLPolisher object with all relevant paramters set - */ - private SBMLPolisher initializeSBMLPolisher() { - SBMLPolisher polisher = new SBMLPolisher(); - polisher.setCheckMassBalance(parameters.checkMassBalance); - polisher.setOmitGenericTerms(parameters.omitGenericTerms); - if (parameters.includeAnyURI != null) { - polisher.setIncludeAnyURI(parameters.includeAnyURI); - } - if (parameters.documentTitlePattern != null) { - polisher.setDocumentTitlePattern(parameters.documentTitlePattern); - } - polisher.setFluxCoefficients(parameters.fluxCoefficients); - polisher.setFluxObjectives(parameters.fluxObjectives); - return polisher; - } - - - /** - * @return BiGGAnnotation object used for annotation with BiGG - */ - private BiGGAnnotation setAnnotationParameters() { - BiGGAnnotation annotation = new BiGGAnnotation(); - if ((parameters.noModelNotes != null) && parameters.noModelNotes) { - annotation.setDocumentNotesFile(null); - annotation.setModelNotesFile(null); - } else { - if (parameters.documentNotesFile != null) { - annotation.setDocumentNotesFile(parameters.documentNotesFile); - } - if (parameters.modelNotesFile != null) { - annotation.setModelNotesFile(parameters.modelNotesFile); - } - } - return annotation; - } - - - /** - * @param doc: - * SBMLDocument to write glossary for - * @param output: - * File SBMLDocument is written to - * @throws XMLStreamException: - * propagated from {@link #getGlossary(SBMLDocument)} and #TidySBMLWriter.write - * @throws IOException: - * propagated from {@link #writeTidyRDF(File, String)} - */ - private void writeGlossary(SBMLDocument doc, File output) throws XMLStreamException, IOException { - String glossary = getGlossary(doc); - String glossaryLocation = - output.getAbsolutePath().substring(0, output.getAbsolutePath().lastIndexOf('.')) + "_glossary.rdf"; - logger.info(format(mpMessageBundle.getString("WRITE_RDF_FILE_INFO"), glossaryLocation)); - writeTidyRDF(new File(glossaryLocation), glossary); - } - - - /** - * @param output: - * Output SBML file, location is used to get archive files - */ - private void writeCombineArchive(File output) { - try { - String baseLocation = output.getAbsolutePath().substring(0, output.getAbsolutePath().lastIndexOf('.')); - String glossaryLocation = baseLocation + "_glossary.rdf"; - String combineArcLocation = baseLocation + ".zip"; - // check if archive file exists and delete - File caFile = new File(combineArcLocation); - if (caFile.exists()) { - if (!caFile.delete()) { - logger.severe(format("Failed to delete archive file \"{0}\"", caFile.getPath())); - } - } - // build and pack archive - CombineArchive ca = new CombineArchive(caFile); - File outputXML = new File(output.getAbsolutePath()); - File outputRDF = new File(glossaryLocation); - ca.addEntry(outputXML, "model.xml", new URI("http://identifiers.org/combine.specifications/sbml"), true); - ca.addEntry(outputRDF, "glossary.rdf", - // generated from https://sems.uni-rostock.de/trac/combine-ext/wiki/CombineFormatizer - new URI("http://purl.org/NET/mediatypes/application/rdf+xml"), true); - logger.info(format(mpMessageBundle.getString("WRITE_RDF_FILE_INFO"), combineArcLocation)); - ca.pack(); - ca.close(); - // clean up original of packed files - boolean rdfDeleted = outputRDF.delete(); - boolean outputXMLDeleted = outputXML.delete(); - logger.info(format(mpMessageBundle.getString("DELETE_FILE"), outputXML.getParent(), outputXMLDeleted)); - logger.info(format(mpMessageBundle.getString("DELETE_FILE"), outputRDF.getParent(), rdfDeleted)); - } catch (Exception e) { - logger.warning("Exception while producing COMBINE Archive:"); - e.printStackTrace(); - } - } - - - /** - * @param doc: - * SBMLDocument to produce glossary for - * @return Glossary as XMLString or empty string, if either model is null or has no children - */ - private String getGlossary(SBMLDocument doc) throws XMLStreamException { - SBMLRDFAnnotationParser rdfParser = new SBMLRDFAnnotationParser(); - if (rdfParser.writeAnnotation(doc.getModel(), null) != null - && rdfParser.writeAnnotation(doc.getModel(), null).getChild(1) != null) { - XMLNode node = rdfParser.writeAnnotation(doc.getModel(), null).getChild(1); - for (Species s : doc.getModel().getListOfSpecies()) { - XMLNode tempNode = rdfParser.writeAnnotation(s, null); - if (tempNode != null && tempNode.getChildCount() != 0) { - node.addChild(tempNode.getChild(1)); - } - } - for (Reaction r : doc.getModel().getListOfReactions()) { - XMLNode tempNode = rdfParser.writeAnnotation(r, null); - if (tempNode != null && tempNode.getChildCount() != 0) { - node.addChild(tempNode.getChild(1)); - } - } - for (Compartment c : doc.getModel().getListOfCompartments()) { - XMLNode tempNode = rdfParser.writeAnnotation(c, null); - if (tempNode != null && tempNode.getChildCount() != 0) { - node.addChild(tempNode.getChild(1)); - } - } - if (doc.getModel().isSetPlugin(FBCConstants.shortLabel)) { - FBCModelPlugin fbcModelPlugin = (FBCModelPlugin) doc.getModel().getPlugin(FBCConstants.shortLabel); - for (GeneProduct gP : fbcModelPlugin.getListOfGeneProducts()) { - XMLNode tempNode = rdfParser.writeAnnotation(gP, null); - if (tempNode != null && tempNode.getChildCount() != 0) { - node.addChild(tempNode.getChild(1)); - } - } - } - return node.toXMLString(); - } else { - return ""; - } - } - - - /** - * @param outputFile, - * rdfString - */ - private void writeTidyRDF(File outputFile, String rdfString) throws FileNotFoundException { - Tidy tidy = new Tidy(); // obtain a new Tidy instance - tidy.setDropEmptyParas(false); - tidy.setHideComments(false); - tidy.setIndentContent(true); - tidy.setInputEncoding("UTF-8"); - tidy.setOutputEncoding("UTF-8"); - tidy.setQuiet(true); - tidy.setSmartIndent(true); - tidy.setTrimEmptyElements(true); - tidy.setWraplen(0); - tidy.setWrapAttVals(false); - tidy.setWrapScriptlets(true); - tidy.setLiteralAttribs(true); - tidy.setXmlOut(true); - tidy.setXmlSpace(true); - tidy.setXmlTags(true); - tidy.setSpaces(2); - Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputFile), StandardCharsets.UTF_8)); - InputStreamReader in = new InputStreamReader(new ByteArrayInputStream(rdfString.getBytes(StandardCharsets.UTF_8)), - StandardCharsets.UTF_8); - tidy.parse(in, out); - try { - in.close(); - out.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - - /** - * @param filename - */ - private void validate(String filename, boolean online) { - if (online) { - logger.info(String.format("Validating '%s' using online validator.", filename)); - String output = "xml"; - String offcheck = "p,u"; - Map parameters = new HashMap<>(); - parameters.put("output", output); - parameters.put("offcheck", offcheck); - logger.info("Validating " + filename + "\n"); - SBMLErrorLog sbmlErrorLog = SBMLValidator.checkConsistency(filename, parameters); - handleErrorLog(sbmlErrorLog, filename); - } else { - logger.info(String.format("Validating '%s' using offline validator.", filename)); - SBMLDocument doc = null; - try { - InputStream istream; - if (filename.endsWith(".gz")) { - istream = ZIPUtils.GUnzipStream(filename); - } else { - istream = new FileInputStream(filename); - } - doc = SBMLReader.read(istream); - } catch (XMLStreamException | IOException e) { - e.printStackTrace(); - } - if (doc != null) { - LoggingValidationContext context = new LoggingValidationContext(doc.getLevel(), doc.getVersion()); - context.loadConstraints(SBMLDocument.class); - context.validate(doc); - SBMLErrorLog sbmlErrorLog = context.getErrorLog(); - handleErrorLog(sbmlErrorLog, filename); - } else { - logger.severe(String.format("Failed reading file '%s' for offline validation.", filename)); - } - } - } - - - /** - * @param sbmlErrorLog - * @param filename - */ - private void handleErrorLog(SBMLErrorLog sbmlErrorLog, String filename) { - if (sbmlErrorLog != null) { - logger.info(format(mpMessageBundle.getString("VAL_ERR_COUNT"), sbmlErrorLog.getErrorCount(), filename)); - // printErrors - for (int j = 0; j < sbmlErrorLog.getErrorCount(); j++) { - SBMLError error = sbmlErrorLog.getError(j); - logger.warning(error.toString()); - } - } else { - logger.info(mpMessageBundle.getString("VAL_ERROR")); - } - } - - - /* - * (non-Javadoc) - * @see de.zbit.Launcher#getCitation(boolean) - */ - @Override - public String getCitation(boolean HTMLstyle) { - if (HTMLstyle) { - return mpMessageBundle.getString("CITATION_HTML"); - } - return mpMessageBundle.getString("CITATION"); - } - - - /* - * (non-Javadoc) - * @see de.zbit.Launcher#getCmdLineOptions() - */ - @Override - public List> getCmdLineOptions() { - List> options = new LinkedList<>(); - options.add(LogOptions.class); - options.add(BiGGDBOptions.class); - options.add(ADBOptions.class); - options.add(ModelPolisherOptions.class); - options.add(IOOptions.class); - return options; - } - - - /* - * (non-Javadoc) - * @see de.zbit.Launcher#getInstitute() - */ - @Override - public String getInstitute() { - return baseBundle.getString("INSTITUTE"); - } - - - /* - * (non-Javadoc) - * @see de.zbit.Launcher#getInteractiveOptions() - */ - @Override - public List> getInteractiveOptions() { - List> options = new LinkedList<>(); - options.add(BiGGDBOptions.class); - options.add(ADBOptions.class); - options.add(ModelPolisherOptions.class); - return options; - } - - - /* - * (non-Javadoc) - * @see de.zbit.Launcher#getLogPackages() - */ - @Override - public String[] getLogPackages() { - return new String[] {"edu.ucsd", "de.zbit"}; - } - - - /* - * (non-Javadoc) - * @see de.zbit.Launcher#getOrganization() - */ - @Override - public String getOrganization() { - return baseBundle.getString("ORGANIZATION"); - } - - - /* - * (non-Javadoc) - * @see de.zbit.Launcher#getProvider() - */ - @Override - public String getProvider() { - return baseBundle.getString("PROVIDER"); - } - - - /* - * (non-Javadoc) - * @see de.zbit.Launcher#getURLlicenseFile() - */ - @Override - public URL getURLlicenseFile() { - try { - return new URL(baseBundle.getString("LICENSE")); - } catch (MalformedURLException exc) { - return null; - } - } - - - /* - * (non-Javadoc) - * @see de.zbit.Launcher#getURLOnlineUpdate() - */ - @Override - public URL getURLOnlineUpdate() { - return null; - } - - - /* - * (non-Javadoc) - * @see de.zbit.Launcher#getVersionNumber() - */ - @Override - public String getVersionNumber() { - String version = getClass().getPackage().getImplementationVersion(); - return version == null ? "?" : version; - } - - - /* - * (non-Javadoc) - * @see de.zbit.Launcher#getYearOfProgramRelease() - */ - @Override - public short getYearOfProgramRelease() { - try { - return Short.parseShort(baseBundle.getString("YEAR")); - } catch (NumberFormatException exc) { - return (short) Calendar.getInstance().get(Calendar.YEAR); - } - } - - - /* - * (non-Javadoc) - * @see de.zbit.Launcher#getYearWhenProjectWasStarted() - */ - @Override - public short getYearWhenProjectWasStarted() { - try { - return Short.parseShort(baseBundle.getString("INCEPTION_YEAR")); - } catch (Throwable t) { - return (short) 2014; - } - } - - - /* - * (non-Javadoc) - * @see de.zbit.Launcher#initGUI(de.zbit.AppConf) - */ - @Override - public Window initGUI(AppConf appConf) { - return null; - } -} diff --git a/src/main/java/edu/ucsd/sbrg/bigg/ModelPolisherOptions.java b/src/main/java/edu/ucsd/sbrg/bigg/ModelPolisherOptions.java deleted file mode 100644 index b5fd99eb..00000000 --- a/src/main/java/edu/ucsd/sbrg/bigg/ModelPolisherOptions.java +++ /dev/null @@ -1,169 +0,0 @@ -/* - * - */ -package edu.ucsd.sbrg.bigg; - -import static edu.ucsd.sbrg.bigg.ModelPolisher.mpMessageBundle; - -import java.io.File; - -import de.zbit.util.objectwrapper.ValuePairUncomparable; -import de.zbit.util.prefs.KeyProvider; -import de.zbit.util.prefs.Option; -import de.zbit.util.prefs.Range; - -/** - * @author Andreas Dräger - */ -public interface ModelPolisherOptions extends KeyProvider { - - /** - * @author Andreas Dräger - */ - enum Compression { - - /** - * - */ - GZIP("gz"), - /** - * - */ - NONE, - /** - * - */ - ZIP("zip"); - - /** - * - */ - private String extension; - - /** - * - */ - Compression() { - this(null); - } - - - /** - * @param extension - */ - Compression(String extension) { - this.extension = extension; - } - - - /** - * @return - */ - public String getFileExtension() { - return extension; - } - } - - /** - * This switch allows users to specify if also those database cross-links - * should be extracted from BiGG Models database for which currently no entry - * in the MIRIAM exists. If set to true, ModelPolisher also includes URIs that - * do not contain the pattern identifiers.org. - */ - @SuppressWarnings("unchecked") - Option INCLUDE_ANY_URI = - new Option<>("INCLUDE_ANY_URI", Boolean.class, mpMessageBundle.getString("INCLUDE_ANY_URI_DESC"), Boolean.FALSE); - /** - * If set to true, the model will be annotated with data from BiGG Models - * database. If set to false, the resulting model will not receive annotation - * or correction from BiGG Models database - */ - @SuppressWarnings("unchecked") - Option ANNOTATE_WITH_BIGG = new Option<>("ANNOTATE_WITH_BIGG", Boolean.class, - mpMessageBundle.getString("ANNOTATE_WITH_BIGG_DESC"), Boolean.FALSE); - /** - * If set to true, annotations will be added to species and reactions from AnnotateDB also. - */ - @SuppressWarnings("unchecked") - Option ADD_ADB_ANNOTATIONS = new Option<>("ADD_ADB_ANNOTATIONS", Boolean.class, - mpMessageBundle.getString("ADD_ADB_ANNOTATIONS_DESC"), Boolean.FALSE); - /** - * If set to true, no web content will be inserted in the SBML container nor - * into the model within the SBML file. - */ - @SuppressWarnings("unchecked") - Option NO_MODEL_NOTES = - new Option<>("NO_MODEL_NOTES", Boolean.class, mpMessageBundle.getString("NO_MODEL_NOTES"), Boolean.FALSE); - /** - * When set to true, the mass balance of each reaction will be checked where - * possible. Reactions that are recognized as peudoreactions are excluded from - * this check, also are reactions that lack information about elementary - * composition of their participants. - */ - @SuppressWarnings("unchecked") - Option CHECK_MASS_BALANCE = new Option<>("CHECK_MASS_BALANCE", Boolean.class, - mpMessageBundle.getString("CHECK_MASS_BALANCE_DESC"), Boolean.TRUE); - /** - * - */ - @SuppressWarnings("unchecked") - Option FLUX_COEFFICIENTS = new Option<>("FLUX_COEFFICIENTS", Double[].class, - mpMessageBundle.getString("FLUX_COEFF_DESC"), new Double[0]); - /** - * - */ - @SuppressWarnings("unchecked") - Option FLUX_OBJECTIVES = new Option<>("FLUX_OBJECTIVES", String[].class, - mpMessageBundle.getString("FLUX_OBJ_DESC"), new String[0]); - /** - * Decides whether or not the output file should directly be compressed and if - * so, which archive type should be used. - */ - @SuppressWarnings("unchecked") - Option COMPRESSION_TYPE = - new Option<>("COMPRESSION_TYPE", Compression.class, mpMessageBundle.getString("COMPR_DESC"), Compression.NONE); - /** - * This option allows you to define the title of the SBML document's - * description and hence the head line when the file is displayed in a web - * browser. - */ - @SuppressWarnings("unchecked") - Option DOCUMENT_TITLE_PATTERN = new Option<>("DOCUMENT_TITLE_PATTERN", String.class, - mpMessageBundle.getString("DOC_TITLE_PATTERN_DESC"), "[biggId] - [organism]"); - /** - * This XHTML file defines alternative model notes and makes them - * exchangeable. - */ - Option MODEL_NOTES_FILE = - new Option<>("MODEL_NOTES_FILE", File.class, mpMessageBundle.getString("MODEL_NOTES_DESC")); - /** - * This XHTML file defines alternative document notes and makes them - * exchangeable. - */ - Option DOCUMENT_NOTES_FILE = - new Option<>("DOCUMENT_NOTES_FILE", File.class, mpMessageBundle.getString("DOC_NOTES_DESC")); - /** - * Set this option to true if generic top-level annotations, such as 'process' - * should not be applied. Not using those terms will reduce the size of the - * resulting output file. - */ - @SuppressWarnings("unchecked") - Option OMIT_GENERIC_TERMS = new Option<>("OMIT_GENERIC_TERMS", Boolean.class, - mpMessageBundle.getString("OMIT_GENERIC_TERMS_DESC"), Boolean.FALSE); - /** - * Produce output as a single COMBINE Archive. - */ - @SuppressWarnings("unchecked") - Option OUTPUT_COMBINE = - new Option<>("OUTPUT_COMBINE", Boolean.class, mpMessageBundle.getString("OUTPUT_COMBINE"), Boolean.FALSE); - /** - * If true, the created SBML file will be validated through the online - * validator service at {@link "http://sbml.org"}. This option is only used - * if the output is GZIP compressed. - */ - @SuppressWarnings("unchecked") - Option SBML_VALIDATION = - new Option<>("SBML_VALIDATION", Boolean.class, mpMessageBundle.getString("SBML_VAL_DESC"), Boolean.FALSE, - new ValuePairUncomparable<>(COMPRESSION_TYPE, new Range<>(Compression.class, Compression.GZIP)), - new ValuePairUncomparable<>(COMPRESSION_TYPE, new Range<>(Compression.class, Compression.ZIP))); -} diff --git a/src/main/java/edu/ucsd/sbrg/bigg/Parameters.java b/src/main/java/edu/ucsd/sbrg/bigg/Parameters.java deleted file mode 100644 index 6714c9c7..00000000 --- a/src/main/java/edu/ucsd/sbrg/bigg/Parameters.java +++ /dev/null @@ -1,243 +0,0 @@ -package edu.ucsd.sbrg.bigg; - -import java.io.File; - -import de.zbit.util.prefs.Option; -import de.zbit.util.prefs.SBProperties; - -/** - * Helper class to store all parameters for running ModelPolisher in batch - * mode. - * - * @author Andreas Dräger - */ -class Parameters { - - /** - * Singleton for ModelPolisher parameters - */ - static Parameters parameters; - /** - * @see ModelPolisherOptions#INCLUDE_ANY_URI - */ - Boolean includeAnyURI = null; - /** - * @see ModelPolisherOptions#ANNOTATE_WITH_BIGG - */ - Boolean annotateWithBiGG = null; - /** - * @see ModelPolisherOptions#OUTPUT_COMBINE - */ - Boolean outputCOMBINE = null; - /** - * @see ModelPolisherOptions#ADD_ADB_ANNOTATIONS - */ - Boolean addADBAnnotations = null; - /** - * @see ModelPolisherOptions#CHECK_MASS_BALANCE - */ - Boolean checkMassBalance = null; - /** - * @see ModelPolisherOptions#NO_MODEL_NOTES - */ - Boolean noModelNotes = null; - /** - * @see ModelPolisherOptions#COMPRESSION_TYPE - */ - ModelPolisherOptions.Compression compression = ModelPolisherOptions.Compression.NONE; - /** - * Can be {@code null} - * - * @see ModelPolisherOptions#DOCUMENT_NOTES_FILE - */ - File documentNotesFile = null; - /** - * Can be {@code null} (then a default is used). - * - * @see ModelPolisherOptions#DOCUMENT_TITLE_PATTERN - */ - String documentTitlePattern = null; - /** - * @see ModelPolisherOptions#FLUX_COEFFICIENTS - */ - double[] fluxCoefficients = null; - /** - * @see ModelPolisherOptions#FLUX_OBJECTIVES - */ - String[] fluxObjectives = null; - /** - * Can be {@code null} - * - * @see ModelPolisherOptions#MODEL_NOTES_FILE - */ - File modelNotesFile = null; - /** - * @see ModelPolisherOptions#OMIT_GENERIC_TERMS - */ - Boolean omitGenericTerms = null; - /** - * @see ModelPolisherOptions#SBML_VALIDATION - */ - Boolean sbmlValidation = null; - - /** - * - */ - private Parameters(SBProperties args) { - super(); - initParameters(args); - } - - - /** - * - */ - static Parameters init(SBProperties args) { - if (parameters == null) { - parameters = new Parameters(args); - } - return parameters; - } - - - public static Parameters get() { - if (parameters != null) { - return parameters; - } else { - // this should not happen, abort - throw new IllegalStateException("Parameters not initialized"); - } - } - - - /** - * @param args: - * Arguments from commandline - */ - private void initParameters(SBProperties args) { - String documentTitlePattern = "[biggId] - [organism]"; - if (args.containsKey(ModelPolisherOptions.DOCUMENT_TITLE_PATTERN)) { - documentTitlePattern = args.getProperty(ModelPolisherOptions.DOCUMENT_TITLE_PATTERN); - } - double[] coefficients = null; - if (args.containsKey(ModelPolisherOptions.FLUX_COEFFICIENTS)) { - String c = args.getProperty(ModelPolisherOptions.FLUX_COEFFICIENTS); - String[] coeff = c.substring(1, c.length() - 1).split(","); - coefficients = new double[coeff.length]; - for (int i = 0; i < coeff.length; i++) { - coefficients[i] = Double.parseDouble(coeff[i].trim()); - } - } - String[] fObj = null; - if (args.containsKey(ModelPolisherOptions.FLUX_OBJECTIVES)) { - String fObjectives = args.getProperty(ModelPolisherOptions.FLUX_OBJECTIVES); - fObj = fObjectives.substring(1, fObjectives.length() - 1).split(":"); - } - annotateWithBiGG = args.getBooleanProperty(ModelPolisherOptions.ANNOTATE_WITH_BIGG); - outputCOMBINE = args.getBooleanProperty(ModelPolisherOptions.OUTPUT_COMBINE); - addADBAnnotations = args.getBooleanProperty(ModelPolisherOptions.ADD_ADB_ANNOTATIONS); - checkMassBalance = args.getBooleanProperty(ModelPolisherOptions.CHECK_MASS_BALANCE); - noModelNotes = args.getBooleanProperty(ModelPolisherOptions.NO_MODEL_NOTES); - compression = ModelPolisherOptions.Compression.valueOf(args.getProperty(ModelPolisherOptions.COMPRESSION_TYPE)); - documentNotesFile = parseFileOption(args, ModelPolisherOptions.DOCUMENT_NOTES_FILE); - this.documentTitlePattern = documentTitlePattern; - fluxCoefficients = coefficients; - fluxObjectives = fObj; - includeAnyURI = args.getBooleanProperty(ModelPolisherOptions.INCLUDE_ANY_URI); - modelNotesFile = parseFileOption(args, ModelPolisherOptions.MODEL_NOTES_FILE); - omitGenericTerms = args.getBooleanProperty(ModelPolisherOptions.OMIT_GENERIC_TERMS); - sbmlValidation = args.getBooleanProperty(ModelPolisherOptions.SBML_VALIDATION); - } - - - /** - * Scans the given command-line options for a specific file option and - * returns the corresponding file if it exists, {@code null} otherwise. - * - * @param args - * command-line options. - * @param option - * a specific file option to look for. - * @return a {@link File} object that corresponds to a desired command-line - * option, or {@code null} if it does not exist. - */ - private File parseFileOption(SBProperties args, Option option) { - if (args.containsKey(option)) { - File notesFile = new File(args.getProperty(option)); - if (notesFile.exists() && notesFile.canRead()) { - return notesFile; - } - } - return null; - } - - - public Boolean getIncludeAnyURI() { - return includeAnyURI; - } - - - public Boolean getAnnotateWithBiGG() { - return annotateWithBiGG; - } - - - public Boolean getOutputCOMBINE() { - return outputCOMBINE; - } - - - public Boolean getAddADBAnnotations() { - return addADBAnnotations; - } - - - public Boolean getCheckMassBalance() { - return checkMassBalance; - } - - - public Boolean getNoModelNotes() { - return noModelNotes; - } - - - public ModelPolisherOptions.Compression getCompression() { - return compression; - } - - - public File getDocumentNotesFile() { - return documentNotesFile; - } - - - public String getDocumentTitlePattern() { - return documentTitlePattern; - } - - - public double[] getFluxCoefficients() { - return fluxCoefficients; - } - - - public String[] getFluxObjectives() { - return fluxObjectives; - } - - - public File getModelNotesFile() { - return modelNotesFile; - } - - - public Boolean getOmitGenericTerms() { - return omitGenericTerms; - } - - - public Boolean getSbmlValidation() { - return sbmlValidation; - } -} diff --git a/src/main/java/edu/ucsd/sbrg/bigg/SBMLPolisher.java b/src/main/java/edu/ucsd/sbrg/bigg/SBMLPolisher.java deleted file mode 100644 index 6a0986e2..00000000 --- a/src/main/java/edu/ucsd/sbrg/bigg/SBMLPolisher.java +++ /dev/null @@ -1,1121 +0,0 @@ -/* - * $Id$ - * $URL$ - * --------------------------------------------------------------------- - * This file is part of the program NetBuilder. - * Copyright (C) 2013 by the University of California, San Diego. - * This library is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation. A copy of the license - * agreement is provided in the file named "LICENSE.txt" included with - * this software distribution and also available online as - * . - * --------------------------------------------------------------------- - */ -package edu.ucsd.sbrg.bigg; - -import static edu.ucsd.sbrg.bigg.ModelPolisher.mpMessageBundle; -import static java.text.MessageFormat.format; - -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; -import java.util.ResourceBundle; -import java.util.function.Predicate; -import java.util.logging.Logger; -import java.util.regex.Pattern; - -import org.sbml.jsbml.CVTerm; -import org.sbml.jsbml.Compartment; -import org.sbml.jsbml.InitialAssignment; -import org.sbml.jsbml.KineticLaw; -import org.sbml.jsbml.ListOf; -import org.sbml.jsbml.LocalParameter; -import org.sbml.jsbml.Model; -import org.sbml.jsbml.NamedSBase; -import org.sbml.jsbml.Parameter; -import org.sbml.jsbml.Reaction; -import org.sbml.jsbml.SBMLDocument; -import org.sbml.jsbml.SBO; -import org.sbml.jsbml.SBase; -import org.sbml.jsbml.Species; -import org.sbml.jsbml.SpeciesReference; -import org.sbml.jsbml.Unit; -import org.sbml.jsbml.UnitDefinition; -import org.sbml.jsbml.Variable; -import org.sbml.jsbml.ext.fbc.FBCConstants; -import org.sbml.jsbml.ext.fbc.FBCModelPlugin; -import org.sbml.jsbml.ext.fbc.FBCReactionPlugin; -import org.sbml.jsbml.ext.fbc.FluxObjective; -import org.sbml.jsbml.ext.fbc.GeneProduct; -import org.sbml.jsbml.ext.fbc.Objective; -import org.sbml.jsbml.util.ModelBuilder; -import org.sbml.jsbml.util.ResourceManager; -import org.sbml.jsbml.xml.XMLNode; - -import de.zbit.kegg.AtomBalanceCheck; -import de.zbit.kegg.AtomBalanceCheck.AtomCheckResult; -import de.zbit.util.progressbar.AbstractProgressBar; -import de.zbit.util.progressbar.ProgressBar; -import edu.ucsd.sbrg.miriam.Registry; -import edu.ucsd.sbrg.util.GPRParser; -import edu.ucsd.sbrg.util.SBMLFix; -import edu.ucsd.sbrg.util.SBMLUtils; - -/** - * @author Andreas Dräger - */ -public class SBMLPolisher { - - /** - * - */ - public enum Patterns { - - ATP_MAINTENANCE(".*[Aa][Tt][Pp][Mm]"), - BIOMASS_CASE_INSENSITIVE(".*[Bb][Ii][Oo][Mm][Aa][Ss][Ss].*"), - BIOMASS_CASE_SENSITIVE(".*BIOMASS.*"), - DEFAULT_FLUX_BOUND("(.*_)?[Dd][Ee][Ff][Aa][Uu][Ll][Tt]_.*"), - DEMAND_REACTION("(.*_)?[Dd][Mm]_.*"), - EXCHANGE_REACTION("(.*_)?[Ee][Xx]_.*"), - SINK_REACTION("(.*_)?[Ss]([Ii][Nn])?[Kk]_.*"); - - private Pattern pattern; - - Patterns(String regex) { - pattern = Pattern.compile(regex); - } - - - public Pattern getPattern() { - return pattern; - } - } - - /** - * A {@link Logger} for this class. - */ - public static final transient Logger logger = Logger.getLogger(SBMLPolisher.class.getName()); - /** - * - */ - private boolean checkMassBalance = true; - /** - * Switch to decide if generic and obvious terms should be used. - */ - public boolean omitGenericTerms; - /** - * Switch to decide if also references to data sources can be included into - * {@link CVTerm}s whose URLs are not (yet) part of the MIRIAM registry. - */ - public boolean includeAnyURI; - /** - * - */ - private AbstractProgressBar progress; - /** - * - */ - private double[] fluxCoefficients; - /** - * - */ - private String[] fluxObjectives; - - /** - * - */ - public SBMLPolisher() { - omitGenericTerms = false; - } - - - /** - * @return the checkMassBalance - */ - public boolean isCheckMassBalance() { - return checkMassBalance; - } - - - /** - * Entrypoint for #ModelPolisher class - * - * @param doc: - * SBMLDocument containing the model to polish - * @return SBMLDocument containing polished model - */ - public SBMLDocument polish(SBMLDocument doc) { - if (!doc.isSetModel()) { - logger.severe(mpMessageBundle.getString("NO_MODEL_FOUND")); - return doc; - } - Model model = doc.getModel(); - polish(model); - doc.setSBOTerm(624); // flux balance framework - if (progress != null) { - progress.finished(); - } - return doc; - } - - - /** - * Main method delegating all polishing tasks - * - * @param model: - * SBML Model to polish - */ - public void polish(Model model) { - logger.info(format(mpMessageBundle.getString("PROCESSING_MODEL"), model.getId())); - // initialize ProgressBar - int count = 1 // for model properties - + model.getUnitDefinitionCount() + model.getCompartmentCount() + model.getParameterCount() - + model.getReactionCount() + model.getSpeciesCount() + model.getInitialAssignmentCount(); - if (model.isSetPlugin(FBCConstants.shortLabel)) { - FBCModelPlugin fbcModelPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); - count += fbcModelPlug.getObjectiveCount() + fbcModelPlug.getGeneProductCount(); - } - progress = new ProgressBar(count); - progress.DisplayBar("Polishing Model (1/9) "); - if (!model.isSetMetaId() && (model.getCVTermCount() > 0)) { - model.setMetaId(model.getId()); - } - polishListOfUnitDefinitions(model); - polishListOfCompartments(model); - polishListOfSpecies(model); - boolean strict = polishListOfReactions(model); - if (strict && model.isSetListOfInitialAssignments()) { - strict = polishListOfInitialAssignments(model, true); - } - FBCModelPlugin modelPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); - if (modelPlug.isSetListOfObjectives()) { - strict &= polishListOfObjectives(strict, modelPlug); - } - if (model.isSetPlugin(FBCConstants.shortLabel)) { - FBCModelPlugin fbcModelPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); - if (fbcModelPlug.isSetListOfGeneProducts()) { - polishListOfGeneProducts(fbcModelPlug); - } - } - polishListOfParameters(model); - modelPlug.setStrict(strict); - } - - - /** - * @param model - */ - public void polishListOfUnitDefinitions(Model model) { - progress.DisplayBar("Polishing Unit Definitions (2/9) "); // "Processing unit definitions"); - int udCount = model.getUnitDefinitionCount(); - ListOf unitDefinitions = model.getListOfUnitDefinitions(); - UnitDefinition mmol_per_gDW_per_hr = setBasicUnitDefinition(model); - UnitDefinition substanceUnits = setUnits(model, unitDefinitions); - boolean substanceExists = true; - if (substanceUnits == null) { - substanceUnits = model.createUnitDefinition(UnitDefinition.SUBSTANCE); - substanceUnits.setName("Millimoles per gram (dry weight)"); - substanceExists = false; - } - if (!model.isSetExtentUnits()) { - model.setExtentUnits(substanceUnits.getId()); - } - if (!model.isSetSubstanceUnits()) { - model.setSubstanceUnits(substanceUnits.getId()); - } - for (Unit unit : mmol_per_gDW_per_hr.getListOfUnits()) { - switch (unit.getKind()) { - case SECOND: - // Assumes it is per hour: - UnitDefinition ud = model.getTimeUnitsInstance(); - if (ud == null) { - ud = model.createUnitDefinition(UnitDefinition.TIME); - model.setTimeUnits(ud.getId()); - Unit timeUnit = safeClone(unit); - timeUnit.setExponent(1d); - ud.setName("Hour"); - ud.addUnit(timeUnit); - timeUnit.addCVTerm(new CVTerm(CVTerm.Qualifier.BQB_IS, Registry.createURI("unit", "UO:0000032"))); - unit.addCVTerm(new CVTerm(CVTerm.Qualifier.BQB_IS_VERSION_OF, Registry.createURI("unit", "UO:0000032"))); - } - break; - case GRAM: - unit.addCVTerm(new CVTerm(CVTerm.Qualifier.BQB_IS_VERSION_OF, unit.getKind().getUnitOntologyIdentifier())); - if (!substanceExists) { - substanceUnits.addUnit(safeClone(unit)); - } - break; - case MOLE: - if (unit.getScale() == -3) { - unit.addCVTerm(new CVTerm(CVTerm.Qualifier.BQB_IS, Registry.createURI("unit", "UO:0000040"))); - } - if (!substanceExists) { - substanceUnits.addUnit(safeClone(unit)); - } - break; - default: - break; - } - } - while (progress.getCallNumber() < udCount) { - progress.DisplayBar("Polishing Unit Definitions (2/9) "); - } - } - - - /** - * @param model - * @return - */ - private UnitDefinition setBasicUnitDefinition(Model model) { - UnitDefinition mmol_per_gDW_per_hr = model.getUnitDefinition("mmol_per_gDW_per_hr"); - if (mmol_per_gDW_per_hr == null) { - mmol_per_gDW_per_hr = model.createUnitDefinition("mmol_per_gDW_per_hr"); - logger.finest(mpMessageBundle.getString("ADDED_UNIT_DEF")); - } - if (mmol_per_gDW_per_hr.getUnitCount() < 1) { - ModelBuilder.buildUnit(mmol_per_gDW_per_hr, 1d, -3, Unit.Kind.MOLE, 1d); - ModelBuilder.buildUnit(mmol_per_gDW_per_hr, 1d, 0, Unit.Kind.GRAM, -1d); - ModelBuilder.buildUnit(mmol_per_gDW_per_hr, 3600d, 0, Unit.Kind.SECOND, -1d); - } - if (!mmol_per_gDW_per_hr.isSetName()) { - mmol_per_gDW_per_hr.setName("Millimoles per gram (dry weight) per hour"); - } - if (!mmol_per_gDW_per_hr.isSetMetaId()) { - mmol_per_gDW_per_hr.setMetaId(mmol_per_gDW_per_hr.getId()); - } - mmol_per_gDW_per_hr.addCVTerm( - new CVTerm(CVTerm.Qualifier.BQB_IS_DESCRIBED_BY, Registry.createURI("pubmed", 7986045))); - return mmol_per_gDW_per_hr; - } - - - /** - * @param model - * @param unitDefinitions - * @return - */ - private UnitDefinition setUnits(Model model, ListOf unitDefinitions) { - UnitDefinition substanceUnits = model.getSubstanceUnitsInstance(); - if (substanceUnits == null && unitDefinitions.get("substance") != null) { - model.setSubstanceUnits(UnitDefinition.SUBSTANCE); - substanceUnits = model.getSubstanceUnitsInstance(); - } - UnitDefinition volumeUnits = model.getVolumeUnitsInstance(); - if (volumeUnits == null && unitDefinitions.get("volume") != null) { - model.setVolumeUnits(UnitDefinition.VOLUME); - } - UnitDefinition timeUnits = model.getTimeUnitsInstance(); - if (timeUnits == null && unitDefinitions.get("time") != null) { - model.setTimeUnits(UnitDefinition.TIME); - } - return substanceUnits; - } - - - /** - * @param model - */ - public void polishListOfCompartments(Model model) { - for (int i = 0; i < model.getCompartmentCount(); i++) { - Compartment c = model.getCompartment(i); - progress.DisplayBar("Polishing Compartments (3/9) "); // "Processing compartment " + c.getId()); - polish(c); - } - } - - - /** - * @param c - */ - public void polish(Compartment c) { - if (!c.isSetId()) { - c.setId("d"); // default - } else { - // remove C_ prefix of compartment code, not in BiGGId specification - BiGGId.extractCompartmentCode(c.getId()).ifPresentOrElse(c::setId, - () -> logger.warning(String.format("CompartmentCode '%s' is not BiGGId conform.", c.getId()))); - } - c.setSBOTerm(410); // implicit compartment - if (!c.isSetName()) { - // TODO: make the name of a compartment a user setting - c.setName("default"); - } - if (!c.isSetMetaId() && (c.getCVTermCount() > 0)) { - c.setMetaId(c.getId()); - } - if (!c.isSetConstant()) { - c.setConstant(true); - } - if (!c.isSetSpatialDimensions()) { - // TODO: check with biGG id, not for surfaces etc. - // c.setSpatialDimensions(3d); - } - if (!c.isSetUnits()) { - Model model = c.getModel(); - // Let's take the model's default unless we don't have anything defined. - if ((model == null) || !(model.isSetLengthUnits() || model.isSetAreaUnits() || model.isSetVolumeUnits())) { - // TODO: set compartment units. - /* - * This is a temporary solution until we agree on something better. - */ - c.setUnits(Unit.Kind.DIMENSIONLESS); - } - } - } - - - /** - * @param model - */ - public void polishListOfSpecies(Model model) { - List speciesToRemove = new ArrayList<>(); - for (Species species : model.getListOfSpecies()) { - progress.DisplayBar("Polishing Species (4/9) "); // "Processing species " + species.getId()); - polish(species).ifPresent(speciesToRemove::add); - } - for (Species species : speciesToRemove) { - model.removeSpecies(species); - } - } - - - /** - * @param species - */ - public Optional polish(Species species) { - String id = species.getId(); - if (id.isEmpty()) { - // remove species with missing id, produces invalid SBML - if (species.isSetName()) { - logger.severe(String.format( - "Removing species '%s' due to missing id. Check your Model for entries missing the id attribute or duplicates.", - species.getName())); - } else { - logger.severe("Removing species with missing id and name. Check your Model for species without id and name."); - } - return Optional.of(species); - } - if (species.getId().endsWith("_boundary")) { - logger.warning(format(mpMessageBundle.getString("SPECIES_ID_INVALID"), id)); - id = id.substring(0, id.length() - 9); - boolean uniqueId = species.getModel().findUniqueNamedSBase(id) == null; - if (uniqueId) { - if (!species.isSetBoundaryCondition() || !species.isBoundaryCondition()) { - logger.warning(format(mpMessageBundle.getString("BOUNDARY_FLAG_MISSING"), id)); - species.setBoundaryCondition(true); - } - } - } else if (!species.isSetBoundaryCondition()) { - species.setBoundaryCondition(false); - } - /* - * Set mandatory attributes to default values - * TODO: make those maybe user settings. - */ - if (!species.isSetHasOnlySubstanceUnits()) { - species.setHasOnlySubstanceUnits(true); - } - if (!species.isSetConstant()) { - species.setConstant(false); - } - if ((species.getCVTermCount() > 0) && !species.isSetMetaId()) { - species.setMetaId(species.getId()); - } - BiGGId.createMetaboliteId(id).ifPresent(biggId -> { - if (biggId.isSetCompartmentCode() && species.isSetCompartment() - && !biggId.getCompartmentCode().equals(species.getCompartment())) { - logger.warning(format(mpMessageBundle.getString("CHANGE_COMPART_REFERENCE"), species.getId(), - species.getCompartment(), biggId.getCompartmentCode())); - species.setCompartment(biggId.getCompartmentCode()); - } - }); - checkCompartment(species); - return Optional.empty(); - } - - - /** - * @param nsb - */ - public void checkCompartment(NamedSBase nsb) { - if ((nsb instanceof Species) && !((Species) nsb).isSetCompartment()) { - Optional biggId = BiGGId.createMetaboliteId(nsb.getId()); - boolean setCompartment = false; - if (biggId.isPresent()) { - if (biggId.get().isSetCompartmentCode()) { - ((Species) nsb).setCompartment(biggId.get().getCompartmentCode()); - setCompartment = true; - } - } - if (!setCompartment) { - return; - } - } else if ((nsb instanceof Reaction) && !((Reaction) nsb).isSetCompartment()) { - return; - } - if (nsb instanceof Species) { - String cId = ((Species) nsb).getCompartment(); - Model model = nsb.getModel(); - SBase candidate = model.findUniqueNamedSBase(cId); - if (candidate instanceof Compartment) { - // compartment can't be null here, instanceof would evaluate to false - Compartment c = (Compartment) candidate; - polish(c); - } else if (candidate == null) { - logger.warning( - format(mpMessageBundle.getString("CREATE_MISSING_COMP"), cId, nsb.getId(), nsb.getElementName())); - polish(model.createCompartment(cId)); - } - } - } - - - /** - * @param model - * @return - */ - public boolean polishListOfReactions(Model model) { - boolean strict = true; - for (int i = 0; i < model.getReactionCount(); i++) { - Reaction r = model.getReaction(i); - strict &= polish(r); - progress.DisplayBar("Polishing Reactions (5/9) "); // "Processing reaction " + r.getId()); - } - return strict; - } - - - /** - * @param r - * @return {@code true} if the given reaction qualifies for strict FBC. - */ - public boolean polish(Reaction r) { - String id = r.getId(); - if (id.isEmpty()) { - // remove species with missing id, produces invalid SBML - if (r.isSetName()) { - logger.severe(String.format( - "Removing reaction '%s' due to missing id. Check your Model for entries missing the id attribute or duplicates.", - r.getName())); - } else { - logger.severe("Removing reaction with missing id and name. Check your Model for reaction without id and name."); - } - r.getModel().removeReaction(r); - return false; - } - BiGGId.createReactionId(id).ifPresent(biggId -> setSBOTermFromPattern(r, biggId)); - // TODO: make code more robust -> 'conflicting compartment codes?' - String compartmentId = r.isSetCompartment() ? r.getCompartment() : null; - if (r.isSetListOfReactants()) { - String cId = polish(r.getListOfReactants(), SBO.getReactant()); - compartmentId = checkCId(cId, compartmentId); - if (compartmentId != null) { - r.setCompartment(compartmentId); - } - } - if (r.isSetListOfProducts()) { - String cId = polish(r.getListOfProducts(), SBO.getProduct()); - compartmentId = checkCId(cId, compartmentId); - if (compartmentId != null) { - r.setCompartment(compartmentId); - } - } - if (!r.isSetMetaId() && (r.getCVTermCount() > 0)) { - r.setMetaId(r.getId()); - } - String rName = r.getName(); - if (rName.matches(".*_copy\\d*")) { - rName = rName.substring(0, rName.lastIndexOf('_')); - r.setName(rName); - } - SBMLUtils.setRequiredAttributes(r); - // This is a check if we are producing invalid SBML. - if ((r.getReactantCount() == 0) && (r.getProductCount() == 0)) { - ResourceBundle bundle = ResourceManager.getBundle("org.sbml.jsbml.resources.cfg.Messages"); - logger.severe(format(bundle.getString("SBMLCoreParser.reactionWithoutParticipantsError"), r.getId())); - } else { - checkBalance(r); - } - fluxObjectiveFromLocalParameter(r); - associationFromNotes(r); - boolean strict = checkBounds(r); - strict = checkReactantsProducts(r, strict); - return strict; - } - - - /** - * @param r - * @param id - * @return - */ - private void setSBOTermFromPattern(Reaction r, BiGGId id) { - String abbrev = id.getAbbreviation(); - if (Patterns.BIOMASS_CASE_INSENSITIVE.getPattern().matcher(abbrev).matches()) { - r.setSBOTerm(629); // biomass production - } else if (Patterns.DEMAND_REACTION.getPattern().matcher(abbrev).matches()) { - r.setSBOTerm(628); // demand reaction - } else if (Patterns.EXCHANGE_REACTION.getPattern().matcher(abbrev).matches()) { - r.setSBOTerm(627); // exchange reaction - } else if (Patterns.ATP_MAINTENANCE.getPattern().matcher(abbrev).matches()) { - r.setSBOTerm(630); // ATP maintenance - } else if (Patterns.SINK_REACTION.getPattern().matcher(abbrev).matches()) { - r.setSBOTerm(632); - } - } - - - /** - * @param speciesReferences - * @param defaultSBOterm - * @return - */ - private String polish(ListOf speciesReferences, int defaultSBOterm) { - String compartmentId = ""; - Model model = speciesReferences.getModel(); - for (SpeciesReference sr : speciesReferences) { - if (!sr.isSetSBOTerm() && !omitGenericTerms) { - sr.setSBOTerm(defaultSBOterm); - } - if (!sr.isSetConstant()) { - sr.setConstant(false); - } - Species species = model.getSpecies(sr.getSpecies()); - if (species != null) { - if (!species.isSetCompartment() || (compartmentId == null) - || (!compartmentId.isEmpty() && !compartmentId.equals(species.getCompartment()))) { - compartmentId = null; - } else { - compartmentId = species.getCompartment(); - } - } else { - logger.info(format(mpMessageBundle.getString("SPECIES_REFERENCE_INVALID"), sr.getSpecies())); - } - } - if ((compartmentId == null) || compartmentId.isEmpty()) { - return null; - } - return compartmentId; - } - - - /** - * @param cId - * @param compartmentId - * @return - */ - private String checkCId(String cId, String compartmentId) { - if (cId == null) { - compartmentId = null; - } else { - if (compartmentId == null) { - compartmentId = cId; - } else if (!compartmentId.equals(cId)) { - compartmentId = null; - } - } - return compartmentId; - } - - - /** - * @param r - */ - private void checkBalance(Reaction r) { - // TODO: change messages - if (!r.isSetSBOTerm()) { - // The reaction has not been recognized as demand or exchange reaction - if (r.getReactantCount() == 0) { - // fixme: Messages are wrong - if (r.isReversible()) { - // TODO: sink reaction - } else if (r.getSBOTerm() != 628) { - // logger.info(format(mpMessageBundle.getString("REACTION_DM_NOT_IN_ID"), r.getId())); - r.setSBOTerm(628); // demand reaction - } - } else if (r.getProductCount() == 0) { - if (r.isReversible()) { - // TODO: source reaction - } else { - // logger.warning(format(mpMessageBundle.getString("REACTION_DM_NOT_IN_ID"), r.getId())); - r.setSBOTerm(628); // demand reaction - } - } - } - if (isCheckMassBalance() && ((r.getSBOTerm() < 627) || (630 < r.getSBOTerm()))) { - // check atom balance only if the reaction is not identified as biomass - // production, demand, exchange or ATP maintenance. - AtomCheckResult defects = AtomBalanceCheck.checkAtomBalance(r, 1); - if ((defects != null) && (defects.hasDefects())) { - logger.warning(format(mpMessageBundle.getString("ATOMS_MISSING"), r.getId(), defects.getDefects().toString())); - } else if (defects == null) { - logger.fine(format(mpMessageBundle.getString("CHECK_ATOM_BALANCE_FAILED"), r.getId())); - } else { - logger.fine(format(mpMessageBundle.getString("ATOMS_OK"), r.getId())); - } - } - GPRParser.convertAssociationsToFBCV2(r, omitGenericTerms); - } - - - /** - * Set flux objective and its coefficient from reaction kinetic law, if no flux objective exists for the reaction - * - * @param r: - * Reaction - */ - private void fluxObjectiveFromLocalParameter(Reaction r) { - FBCModelPlugin modelPlugin = (FBCModelPlugin) r.getModel().getPlugin(FBCConstants.shortLabel); - Objective obj = modelPlugin.getObjective(0); - if (obj == null) { - obj = modelPlugin.createObjective("obj"); - obj.setType(Objective.Type.MAXIMIZE); - modelPlugin.getListOfObjectives().setActiveObjective(obj.getId()); - } - boolean foExists = obj.getListOfFluxObjectives().stream().anyMatch(fo -> fo.getReactionInstance().equals(r)); - if (foExists) { - return; - } - KineticLaw kl = r.getKineticLaw(); - if (kl != null) { - LocalParameter coefficient = kl.getLocalParameter("OBJECTIVE_COEFFICIENT"); - if (coefficient != null && coefficient.getValue() != 0d) { - FluxObjective fo = obj.createFluxObjective("fo_" + r.getId()); - fo.setCoefficient(coefficient.getValue()); - fo.setReaction(r); - } - } - } - - - /** - * Convert GENE_ASSOCIATION in reaction notes to FBCv2 {#GeneProductAssociation} - * - * @param r: - * Reaction - */ - private void associationFromNotes(Reaction r) { - FBCReactionPlugin reactionPlugin = (FBCReactionPlugin) r.getPlugin(FBCConstants.shortLabel); - if (!reactionPlugin.isSetGeneProductAssociation() && r.isSetNotes()) { - XMLNode body = r.getNotes().getChildElement("body", null); - if (body != null) { - for (XMLNode p : body.getChildElements("p", null)) { - if (p.getChildCount() == 1) { - String associationCandidate = p.getChildAt(0).getCharacters(); - if (associationCandidate.startsWith("GENE_ASSOCIATION: ")) { - String[] splits = associationCandidate.split("GENE_ASSOCIATION: "); - if (splits.length == 2) { - String association = splits[1]; - if (!association.isEmpty()) { - GPRParser.parseGPR(r, association, Parameters.get().getOmitGenericTerms()); - } - } - } - } - } - } - } - } - - - /** - * Check if existing FBC flux bounds fulfill the strict requirement. - * Bounds with no instance present are tried to be inferred from the reaction {#KineticLaw} - * - * @param r - * @return - */ - private boolean checkBounds(Reaction r) { - FBCReactionPlugin rPlug = (FBCReactionPlugin) r.getPlugin(FBCConstants.shortLabel); - Parameter lb = rPlug.getLowerFluxBoundInstance(); - Parameter ub = rPlug.getUpperFluxBoundInstance(); - boolean lbExists = polishFluxBound(lb); - // set bounds from KineticLaw, if they are not set in FBC, create global Parameter, as required by specification - if (!lbExists) { - LocalParameter bound = getBoundFromLocal(r, "LOWER_BOUND"); - if (bound != null) { - lb = new Parameter(bound); - Parameter existingParameter = getParameterVariant(r, lb, bound.getValue()); - if (existingParameter != null) { - rPlug.setLowerFluxBound(existingParameter); - } else { - r.getModel().addParameter(lb); - rPlug.setLowerFluxBound(lb); - } - lbExists = polishFluxBound(rPlug.getLowerFluxBoundInstance()); - } - } - boolean ubExists = polishFluxBound(ub); - if (!ubExists) { - LocalParameter bound = getBoundFromLocal(r, "UPPER_BOUND"); - if (bound != null) { - ub = new Parameter(bound); - Parameter existingParameter = getParameterVariant(r, ub, bound.getValue()); - if (existingParameter != null) { - rPlug.setUpperFluxBound(existingParameter); - } else { - r.getModel().addParameter(ub); - rPlug.setUpperFluxBound(ub); - } - ubExists = polishFluxBound(rPlug.getUpperFluxBoundInstance()); - } - } - boolean strict = lbExists && ubExists; - if (strict) { - strict = checkBound(lb) && lb.getValue() < Double.POSITIVE_INFINITY && checkBound(ub) - && ub.getValue() > Double.NEGATIVE_INFINITY && lb.getValue() <= ub.getValue(); - if (!strict) { - logger.warning(format(mpMessageBundle.getString("FLUX_BOUND_ERROR"), r.getId())); - } - } else { - logger.warning(format(mpMessageBundle.getString("FLUX_BOUNDS_MISSING"), r.getId())); - } - return strict; - } - - - /** - * @param bound - * @return {@code true} if this method successfully updated the bound - * parameter. - */ - public boolean polishFluxBound(Parameter bound) { - if (bound == null) { - return false; - } - if (Patterns.DEFAULT_FLUX_BOUND.getPattern().matcher(bound.getId()).matches()) { - bound.setSBOTerm(626); // default flux bound - } else { - bound.setSBOTerm(625); // flux bound - } - return true; - } - - - /** - * @param r: - * Reaction - * @param parameterName: - * LOWER_BOUND or UPPER_BOUND - * @return - */ - private LocalParameter getBoundFromLocal(Reaction r, String parameterName) { - KineticLaw kl = r.getKineticLaw(); - if (kl != null) { - return kl.getLocalParameter(parameterName); - } - return null; - } - - - /** - * @param r: - * Reaction - * @param bound: - * lower or upper bound instance - * @param boundValue: - * value of {#LocalParameter} bound obtained from {{@link #getBoundFromLocal(Reaction, String)}} - * @return - */ - private Parameter getParameterVariant(Reaction r, Parameter bound, double boundValue) { - if (boundValue == -1000d) { - bound.setId("DEFAULT_LOWER_BOUND"); - } else if (boundValue == 0d) { - bound.setId("DEFAULT_BOUND"); - } else if (boundValue == 1000d) { - bound.setId("DEFAULT_UPPER_BOUND"); - } else { - bound.setId(r.getId() + "_" + bound.getId()); - } - return r.getModel().getParameter(bound.getId()); - } - - - /** - * Checks if a given bound parameter satisfies the required properties of a - * strict flux bound parameter: - *
  • not null - *
  • constant - *
  • defined value - * other than {@link Double#NaN} - * - * @param bound - * @return {@code true} if the given parameter can be used as a flux bound in - * strict FBC models, {@code false} otherwise. - */ - public boolean checkBound(Parameter bound) { - return (bound != null) && bound.isConstant() && bound.isSetValue() && !Double.isNaN(bound.getValue()); - } - - - /** - * @param r - * @param strict - * @return - */ - private boolean checkReactantsProducts(Reaction r, boolean strict) { - if (strict && r.isSetListOfReactants()) { - strict = checkSpeciesReferences(r.getListOfReactants()); - if (!strict) { - logger.warning(format(mpMessageBundle.getString("ILLEGAL_STOICH_REACT"), r.getId())); - } - } - if (strict && r.isSetListOfProducts()) { - strict = checkSpeciesReferences(r.getListOfProducts()); - if (!strict) { - logger.warning(format(mpMessageBundle.getString("ILLEGAL_STOICH_PROD"), r.getId())); - } - } - return strict; - } - - - /** - * @param listOfSpeciesReference - * @return - */ - public boolean checkSpeciesReferences(ListOf listOfSpeciesReference) { - boolean strict = true; - for (SpeciesReference sr : listOfSpeciesReference) { - strict &= - sr.isConstant() && sr.isSetStoichiometry() && !Double.isNaN(sr.getValue()) && Double.isFinite(sr.getValue()); - } - return strict; - } - - - /** - * @param model - * @param strict - * @return - */ - public boolean polishListOfInitialAssignments(Model model, boolean strict) { - for (InitialAssignment ia : model.getListOfInitialAssignments()) { - Variable variable = ia.getVariableInstance(); - progress.DisplayBar("Polishing Initial Assignments (6/9) "); // "Processing initial assignment for " + - // variable.getId()); - if (variable != null) { - if (variable instanceof Parameter) { - if (variable.isSetSBOTerm() && SBO.isChildOf(variable.getSBOTerm(), 625)) { - strict = false; - logger.warning(format(mpMessageBundle.getString("FLUX_BOUND_STRICT_CHANGE"), variable.getId())); - } - } else if (variable instanceof SpeciesReference) { - strict = false; - } - } - } - return strict; - } - - - /** - * @param strict - * @param modelPlug - * @return - */ - public boolean polishListOfObjectives(boolean strict, FBCModelPlugin modelPlug) { - if (modelPlug.getObjectiveCount() == 0) { - // Note: the strict attribute does not require the presence of any Objectives in the model. - logger.warning(format(mpMessageBundle.getString("OBJ_MISSING"), modelPlug.getParent().getId())); - } else { - for (Objective objective : modelPlug.getListOfObjectives()) { - progress.DisplayBar("Polishing Objectives (7/9) "); // "Processing objective " + objective.getId()); - if (!objective.isSetListOfFluxObjectives()) { - Model model = modelPlug.getParent(); - strict &= SBMLFix.fixObjective(model.getId(), model.getListOfReactions(), modelPlug, fluxCoefficients, - fluxObjectives); - } - if (objective.isSetListOfFluxObjectives()) { - strict &= polishListOfFluxObjectives(strict, objective); - } - } - // removed unused objectives, i.e. those without flux objectives - modelPlug.getListOfObjectives().stream().filter(Predicate.not(Objective::isSetListOfFluxObjectives)) - .forEach(modelPlug::removeObjective); - } - return strict; - } - - - /** - * @param strict - * @param objective - * @return - */ - public boolean polishListOfFluxObjectives(boolean strict, Objective objective) { - if (objective.getFluxObjectiveCount() == 0) { - // Note: the strict attribute does not require the presence of any flux objectives. - logger.warning(format(mpMessageBundle.getString("OBJ_FLUX_OBJ_MISSING"), objective.getId())); - } else { - if (objective.getFluxObjectiveCount() > 1) { - logger.warning(format(mpMessageBundle.getString("TOO_MUCH_OBJ_TARGETS"), objective.getId())); - } - for (FluxObjective fluxObjective : objective.getListOfFluxObjectives()) { - if (!fluxObjective.isSetCoefficient() || Double.isNaN(fluxObjective.getCoefficient()) - || !Double.isFinite(fluxObjective.getCoefficient())) { - logger.warning(format(mpMessageBundle.getString("FLUX_OBJ_COEFF_INVALID"), fluxObjective.getReaction())); - } - } - } - return strict; - } - - - /** - * @param fbcModelPlug - */ - public void polishListOfGeneProducts(FBCModelPlugin fbcModelPlug) { - for (GeneProduct geneProduct : fbcModelPlug.getListOfGeneProducts()) { - progress.DisplayBar("Polishing Gene Products (8/9) "); - polish(geneProduct); - } - } - - - /** - * @param geneProduct - */ - public void polish(GeneProduct geneProduct) { - String label = null; - if (geneProduct.isSetLabel() && !geneProduct.getLabel().equalsIgnoreCase("None")) { - label = geneProduct.getLabel(); - } else if (geneProduct.isSetId()) { - label = geneProduct.getId(); - } - if (label == null) { - return; - } - BiGGId.createGeneId(geneProduct.getId()).ifPresent(biggId -> { - String id = biggId.toBiGGId(); - if (!id.equals(geneProduct.getId())) { - geneProduct.setId(id); - } - if (geneProduct.getCVTermCount() > 0) { - geneProduct.setMetaId(id); - } - }); - if (!geneProduct.isSetName() || geneProduct.getName().equalsIgnoreCase("None")) { - geneProduct.setName(label); - } - } - - - /** - * @param model - */ - public void polishListOfParameters(Model model) { - for (int i = 0; i < model.getParameterCount(); i++) { - Parameter parameter = model.getParameter(i); - progress.DisplayBar("Polishing Parameters (9/9) "); - polish(parameter); - } - } - - - /** - * @param p - */ - private void polish(Parameter p) { - if (p.isSetId() && !p.isSetName()) { - // TODO: what is happening here? - p.setName(polishName(p.getId())); - } - } - - - /** - * @param name - * @return - */ - public static String polishName(String name) { - // can this be replaced by BiGGId creation? - String newName = name; - if (name.startsWith("?_")) { - newName = name.substring(2); - } - if (newName.matches("__.*__")) { - newName = newName.replaceAll("__.*__", "(.*)"); - } else if (newName.contains("__")) { - newName = newName.replace("__", "-"); - } - if (newName.matches(".*_C?\\d*.*\\d*")) { - newName = - newName.substring(0, newName.lastIndexOf('_')) + " - " + newName.substring(newName.lastIndexOf('_') + 1); - } - newName = newName.replace("_", " "); - if (!newName.equals(name)) { - logger.fine(format(mpMessageBundle.getString("CHANGED_NAME"), name, newName)); - } - return newName; - } - - - /** - * @param sbase - * @return - */ - private T safeClone(T sbase) { - @SuppressWarnings("unchecked") - T sb = (T) sbase.clone(); - if (sb.isSetMetaId()) { - sb.unsetMetaId(); - } - return sb; - } - - - /** - * @param includeAnyURI - * define if only identifiers.org URIs are included in MIRIAM - * annotation. - */ - public void setIncludeAnyURI(boolean includeAnyURI) { - this.includeAnyURI = includeAnyURI; - } - - - /** - * @param checkMassBalance - */ - public void setCheckMassBalance(boolean checkMassBalance) { - this.checkMassBalance = checkMassBalance; - } - - - /** - * @param modelNamePattern - * the modelNamePattern to set - */ - public void setDocumentTitlePattern(String modelNamePattern) { - Parameters parameters = Parameters.get(); - parameters.documentTitlePattern = modelNamePattern; - } - - - /** - * @param omitGenericTerms - * the omitGenericTerms to set - */ - public void setOmitGenericTerms(boolean omitGenericTerms) { - this.omitGenericTerms = omitGenericTerms; - } - - - /** - * @param fluxCoefficients - */ - public void setFluxCoefficients(double[] fluxCoefficients) { - this.fluxCoefficients = fluxCoefficients; - } - - - /** - * @param fluxObjectives - */ - public void setFluxObjectives(String[] fluxObjectives) { - this.fluxObjectives = fluxObjectives; - } -} diff --git a/src/main/java/edu/ucsd/sbrg/bigg/SBMLValidator.java b/src/main/java/edu/ucsd/sbrg/bigg/SBMLValidator.java deleted file mode 100644 index 6875cb24..00000000 --- a/src/main/java/edu/ucsd/sbrg/bigg/SBMLValidator.java +++ /dev/null @@ -1,30 +0,0 @@ -/** - * - */ -package edu.ucsd.sbrg.bigg; - -import java.io.File; - -/** - * @author Andreas Dräger - */ -public class SBMLValidator { - - /** - * @param args - * the paths to at least one SBML file that is to be validated. When - * directories are encountered, these are recursively evaluated. - */ - public static void main(String... args) { - // System.setOut(new PrintStream(new File("output.txt"))); - for (String arg : args) { - File file = new File(arg); - if (file.isDirectory()) { - main(file.list()); - } else { - System.out.println(file.getName()); - org.sbml.jsbml.validator.SBMLValidator.main(new String[] {"-d", "p,u", file.getAbsolutePath()}); - } - } - } -} diff --git a/src/main/java/edu/ucsd/sbrg/bigg/XHTMLBuilder.java b/src/main/java/edu/ucsd/sbrg/bigg/XHTMLBuilder.java deleted file mode 100644 index c6b9fb30..00000000 --- a/src/main/java/edu/ucsd/sbrg/bigg/XHTMLBuilder.java +++ /dev/null @@ -1,104 +0,0 @@ -/** - * - */ -package edu.ucsd.sbrg.bigg; - -import java.util.Map; - -/** - * @author Andreas Dräger - */ -public class XHTMLBuilder { - - /** - * - */ - private XHTMLBuilder() { - } - - - /** - * @param header - * @param data - * @param caption - * @param attributes - * @return - */ - public static String table(Object header[], Object data[][], String caption, Map attributes) { - StringBuilder sb = new StringBuilder(); - sb.append(" entry : attributes.entrySet()) { - appendAttribute(sb, entry); - } - } - sb.append(">\n"); - if (caption != null) { - sb.append(""); - sb.append(caption); - sb.append("\n"); - } - if ((header != null) && (header.length > 0)) { - sb.append(""); - for (Object head : header) { - sb.append(""); - sb.append(head.toString()); - sb.append(""); - } - sb.append("\n"); - } - if ((data != null) && (data.length > 0)) { - for (Object row[] : data) { - if ((row != null) && (row.length > 0)) { - sb.append(""); - for (Object entry : row) { - sb.append(""); - sb.append(entry.toString()); - sb.append(""); - } - sb.append("\n"); - } - } - } - sb.append("\n"); - return sb.toString(); - } - - - /** - * @param sb - * @param entry - */ - public static void appendAttribute(StringBuilder sb, Map.Entry entry) { - appendAttribute(sb, entry.getKey(), entry.getValue()); - } - - - /** - * @param sb - * @param key - * @param value - */ - public static void appendAttribute(StringBuilder sb, String key, String value) { - if ((sb.length() > 0) && (sb.charAt(sb.length() - 1) != ' ')) { - sb.append(' '); - } - sb.append(key); - sb.append("=\""); - sb.append(value); - sb.append('"'); - } - - - /** - * @param content - * @return - */ - public static String p(String content) { - StringBuilder sb = new StringBuilder(); - sb.append("

    \n"); - sb.append(content); - sb.append("\n

    \n"); - return sb.toString(); - } -} diff --git a/src/main/java/edu/ucsd/sbrg/bigg/package-info.java b/src/main/java/edu/ucsd/sbrg/bigg/package-info.java deleted file mode 100644 index a8ddba3a..00000000 --- a/src/main/java/edu/ucsd/sbrg/bigg/package-info.java +++ /dev/null @@ -1,8 +0,0 @@ -/* - * - */ - -/** - * @author Andreas Dräger - */ -package edu.ucsd.sbrg.bigg; \ No newline at end of file diff --git a/src/main/java/edu/ucsd/sbrg/db/AnnotateDB.java b/src/main/java/edu/ucsd/sbrg/db/AnnotateDB.java deleted file mode 100644 index d26ba748..00000000 --- a/src/main/java/edu/ucsd/sbrg/db/AnnotateDB.java +++ /dev/null @@ -1,116 +0,0 @@ -package edu.ucsd.sbrg.db; - -import static edu.ucsd.sbrg.db.AnnotateDBContract.Constants.ADB_COLLECTION; -import static edu.ucsd.sbrg.db.AnnotateDBContract.Constants.COLUMN_NAMESPACE; -import static edu.ucsd.sbrg.db.AnnotateDBContract.Constants.COLUMN_SOURCE_NAMESPACE; -import static edu.ucsd.sbrg.db.AnnotateDBContract.Constants.COLUMN_SOURCE_TERM; -import static edu.ucsd.sbrg.db.AnnotateDBContract.Constants.COLUMN_TARGET_NAMESPACE; -import static edu.ucsd.sbrg.db.AnnotateDBContract.Constants.COLUMN_TARGET_TERM; -import static edu.ucsd.sbrg.db.AnnotateDBContract.Constants.COLUMN_URLPATTERN; -import static edu.ucsd.sbrg.db.AnnotateDBContract.Constants.MAPPING_VIEW; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.Set; -import java.util.TreeSet; -import java.util.logging.Logger; - -import de.zbit.util.Utils; - -/** - * @author Kaustubh Trivedi - */ -public class AnnotateDB { - - private static final Logger logger = Logger.getLogger(AnnotateDB.class.getName()); - private static final String SELECT = "SELECT "; - private static final String FROM = " FROM "; - private static final String WHERE = " WHERE "; - // source_namespace types: - public static final String BIGG_METABOLITE = "bigg.metabolite"; - public static final String BIGG_REACTION = "bigg.reaction"; - // prefixes - static final String METABOLITE_PREFIX = "M_"; - static final String REACTION_PREFIX = "R_"; - static final String GENE_PREFIX = "G_"; - private static PostgreSQLConnector connector; - - /** - * Don't allow instantiation - */ - private AnnotateDB() { - } - - - /** - * Initialize a SQL connection - * - * @param host - * @param port - * @param user - * @param passwd - * @param name - */ - public static void init(String host, String port, String user, String passwd, String name) { - connector = new PostgreSQLConnector(host, Integer.parseInt(port), user, passwd, name); - } - - - /** - * - */ - public static void close() { - connector.close(); - } - - /** - * @return - */ - public static boolean inUse() { - return connector != null; - } - - - /** - * @param type - * @param biggId - * @return - */ - public static Set getAnnotations(String type, String biggId) { - TreeSet annotations = new TreeSet<>(); - if (!type.equals(BIGG_METABOLITE) && !type.equals(BIGG_REACTION)) { - return annotations; - } - if (type.equals(BIGG_METABOLITE) && biggId.startsWith(METABOLITE_PREFIX)) { - biggId = biggId.substring(2); - } else if (type.equals(BIGG_METABOLITE) && biggId.startsWith(REACTION_PREFIX)) { - biggId = biggId.substring(2); - } - if (biggId.endsWith("_")) { - biggId = biggId.substring(0, biggId.length() - 2); - } - String query = SELECT + "m." + COLUMN_TARGET_TERM + ", ac." + COLUMN_URLPATTERN + FROM + MAPPING_VIEW + " m, " - + ADB_COLLECTION + " ac" + WHERE + "m." + COLUMN_SOURCE_NAMESPACE + " = ? AND " + "m." + COLUMN_SOURCE_TERM - + " = ? AND ac." + COLUMN_NAMESPACE + " = m." + COLUMN_TARGET_NAMESPACE; - try { - Connection connection = connector.getConnection(); - PreparedStatement pStatement = connection.prepareStatement(query); - pStatement.setString(1, type); - pStatement.setString(2, biggId); - ResultSet resultSet = pStatement.executeQuery(); - while (resultSet.next()) { - String uri = resultSet.getString(COLUMN_URLPATTERN); - String id = resultSet.getString(COLUMN_TARGET_TERM); - uri = uri.replace("{$id}", id); - annotations.add(uri); - } - pStatement.close(); - connection.close(); - } catch (SQLException exc) { - logger.warning(Utils.getMessage(exc)); - } - return annotations; - } -} diff --git a/src/main/java/edu/ucsd/sbrg/db/AnnotateDBContract.java b/src/main/java/edu/ucsd/sbrg/db/AnnotateDBContract.java deleted file mode 100644 index ec2ffdb8..00000000 --- a/src/main/java/edu/ucsd/sbrg/db/AnnotateDBContract.java +++ /dev/null @@ -1,23 +0,0 @@ -package edu.ucsd.sbrg.db; - -public final class AnnotateDBContract { - static abstract class Constants { - // Tables - static final String MAPPING_VIEW = "mapping_view"; - static final String ADB_COLLECTION = "adb_collection"; - // Column - static final String COLUMN_ID = "id"; - static final String COLUMN_SOURCE_NAMESPACE = "source_namespace"; - static final String COLUMN_SOURCE_MIRIAM = "source_miriam"; - static final String COLUMN_SOURCE_TERM = "source_term"; - static final String COLUMN_QUALIFIER = "qualifier"; - static final String COLUMN_TARGET_NAMESPACE = "target_namespace"; - static final String COLUMN_TARGET_MIRIAM = "target_miriam"; - static final String COLUMN_TARGET_TERM = "target_term"; - static final String COLUMN_EVIDENCE_SOURCE = "evidence_source"; - static final String COLUMN_EVIDENCE_VERSION = "evidence_version"; - static final String COLUMN_EVIDENCE = "evidence"; - static final String COLUMN_NAMESPACE = "namespace"; - static final String COLUMN_URLPATTERN = "urlpattern"; - } -} diff --git a/src/main/java/edu/ucsd/sbrg/db/BiGGDB.java b/src/main/java/edu/ucsd/sbrg/db/BiGGDB.java deleted file mode 100644 index e800c498..00000000 --- a/src/main/java/edu/ucsd/sbrg/db/BiGGDB.java +++ /dev/null @@ -1,693 +0,0 @@ -/* - * $Id$ - * $URL$ - * --------------------------------------------------------------------- - * This file is part of the program NetBuilder. - * Copyright (C) 2013 by the University of California, San Diego. - * This library is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation. A copy of the license - * agreement is provided in the file named "LICENSE.txt" included with - * this software distribution and also available online as - * . - * --------------------------------------------------------------------- - */ -package edu.ucsd.sbrg.db; - -import static edu.ucsd.sbrg.bigg.ModelPolisher.mpMessageBundle; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COLUMN_BIGG_ID; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COLUMN_CHARGE; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COLUMN_COMPARTMENTALIZED_COMPONENT_ID; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COLUMN_COMPARTMENT_ID; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COLUMN_COMPONENT_ID; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COLUMN_DATA_SOURCE_ID; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COLUMN_FORMULA; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COLUMN_GENE_REACTION_RULE; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COLUMN_GENOME_ID; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COLUMN_ID; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COLUMN_LOCUS_TAG; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COLUMN_MODEL_ID; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COLUMN_OME_ID; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COLUMN_ORGANISM; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COLUMN_PUBLICATION_ID; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COLUMN_REACTION_ID; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COLUMN_REFERENCE_ID; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COLUMN_REFERENCE_TYPE; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COLUMN_SYNONYM; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COLUMN_TAXON_ID; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COMPARTMENT; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COMPARTMENTALIZED_COMPONENT; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.COMPONENT; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.DATA_SOURCE; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.GENE; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.GENOME; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.GENOME_REGION; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.MCC; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.MODEL; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.MODEL_REACTION; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.OLD_BIGG_ID; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.PUBLICATION; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.PUBLICATION_MODEL; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.REACTION; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.REFSEQ_NAME; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.REFSEQ_PATTERN; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.SYNONYM; -import static edu.ucsd.sbrg.db.BiGGDBContract.Constants.URL_PREFIX; -import static java.text.MessageFormat.format; -import static org.sbml.jsbml.util.Pair.pairOf; - -import java.sql.Connection; -import java.sql.Date; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.LinkedHashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Optional; -import java.util.Set; -import java.util.TreeSet; -import java.util.logging.Logger; -import java.util.stream.Collectors; - -import org.sbml.jsbml.util.Pair; - -import de.zbit.util.Utils; -import edu.ucsd.sbrg.bigg.BiGGId; -import edu.ucsd.sbrg.miriam.Registry; - -/** - * @author Andreas Dräger - */ -public class BiGGDB { - - private static final String SELECT = "SELECT "; - private static final String FROM = " FROM "; - private static final String WHERE = " WHERE "; - public static final String TYPE_SPECIES = "SPECIES"; - public static final String TYPE_REACTION = "REACTION"; - public static final String TYPE_GENE_PRODUCT = "GENE_PRODUCT"; - /** - * A {@link Logger} for this class. - */ - private static final transient Logger logger = Logger.getLogger(BiGGDB.class.getName()); - /** - * The connection to the database. - */ - private static PostgreSQLConnector connector; - - /** - * Don't allow instantiation - */ - private BiGGDB() { - } - - - public static void init(String host, String port, String user, String passwd, String name) { - connector = new PostgreSQLConnector(host, Integer.parseInt(port), user, passwd, name); - } - - - /** - * - */ - public static void close() { - connector.close(); - } - - - /** - * @return - */ - public static boolean inUse() { - return connector != null; - } - - - /** - * @return - */ - public static Optional getBiGGVersion() { - Optional date = Optional.empty(); - try { - Connection connection = connector.getConnection(); - PreparedStatement pStatement = connection.prepareStatement("Select date_time FROM database_version"); - ResultSet resultSet = pStatement.executeQuery(); - if (resultSet.next()) { - date = Optional.of(resultSet.getDate(1)); - } - pStatement.close(); - connection.close(); - } catch (SQLException exc) { - logger.finest(format("{0}: {1}", exc.getClass().getName(), Utils.getMessage(exc))); - } - return date; - } - - - /** - * @param modelBiGGid - * @param reactionBiGGid - * @return - */ - public static List getSubsystems(String modelBiGGid, String reactionBiGGid) { - String query = "SELECT DISTINCT mr.subsystem FROM reaction r, model m, model_reaction mr WHERE m.bigg_id = ? " - + "AND r.bigg_id = ? AND m.id = mr.model_id AND r.id = mr.reaction_id AND LENGTH(mr.subsystem) > 0"; - List list = new LinkedList<>(); - try { - Connection connection = connector.getConnection(); - PreparedStatement pStatement = connection.prepareStatement(query); - pStatement.setString(1, modelBiGGid); - pStatement.setString(2, reactionBiGGid); - ResultSet resultSet = pStatement.executeQuery(); - while (resultSet.next()) { - list.add(resultSet.getString(1)); - } - pStatement.close(); - connection.close(); - } catch (SQLException exc) { - logger.warning(Utils.getMessage(exc)); - } - return list; - } - - - /** - * Get chemical formula for unknown model id - * - * @param componentId - * @param compartmentId - * @return - */ - public static Optional getChemicalFormulaByCompartment(String componentId, String compartmentId) { - String query = "SELECT DISTINCT mcc." + COLUMN_FORMULA + " FROM " + MCC + " mcc, " + COMPARTMENTALIZED_COMPONENT - + " cc, " + COMPONENT + " c, " + COMPARTMENT + " co WHERE c." + COLUMN_BIGG_ID + " = ? AND c." + COLUMN_ID - + " = cc." + COLUMN_COMPONENT_ID + " AND co." + COLUMN_BIGG_ID + " = ? AND co." + COLUMN_ID + " = cc." - + COLUMN_COMPARTMENT_ID + " and cc." + COLUMN_ID + " = mcc." + COLUMN_COMPARTMENTALIZED_COMPONENT_ID - + " AND mcc.formula <> '' ORDER BY mcc." + COLUMN_FORMULA; - Set results = runFormulaQuery(query, componentId, compartmentId); - if (results.size() == 1) { - return Optional.of(results.iterator().next()); - } else { - if (results.size() > 1) { - logger.info(String.format("Could not retrieve unique chemical formula for component '%s' and compartment '%s'", - componentId, compartmentId)); - } - return Optional.empty(); - } - } - - - /** - * @param query - * @param componentId - * @param compartmentOrModelId - * @return - */ - private static Set runFormulaQuery(String query, String componentId, String compartmentOrModelId) { - Set results = new HashSet<>(); - try { - Connection connection = connector.getConnection(); - PreparedStatement pStatement = connection.prepareStatement(query); - pStatement.setString(1, componentId); - pStatement.setString(2, compartmentOrModelId); - ResultSet resultSet = pStatement.executeQuery(); - while (resultSet.next()) { - results.add(resultSet.getString(1)); - } - pStatement.close(); - connection.close(); - } catch (SQLException exc) { - logger.warning(Utils.getMessage(exc)); - } - return results.stream().filter(formula -> formula != null && !formula.isEmpty()).collect(Collectors.toSet()); - } - - - /** - * Get chemical formula for models that are present in BiGG - * - * @param componentId - * @param modelId - * @return - */ - public static Optional getChemicalFormula(String componentId, String modelId) { - String query = "SELECT DISTINCT mcc." + COLUMN_FORMULA + "\n FROM " + COMPONENT + " c,\n" - + COMPARTMENTALIZED_COMPONENT + " cc,\n" + MODEL + " m,\n" + MCC + " mcc\n WHERE c." + COLUMN_ID + " = cc." - + COLUMN_COMPONENT_ID + " AND\n cc." + COLUMN_ID + " = mcc." + COLUMN_COMPARTMENTALIZED_COMPONENT_ID + " AND\n c." - + COLUMN_BIGG_ID + " = ? AND\n m." + COLUMN_BIGG_ID + " = ? AND\n m." + COLUMN_ID + " = mcc." + COLUMN_MODEL_ID - + " AND mcc.formula <> ''"; - Set results = runFormulaQuery(query, componentId, modelId); - if (results.size() == 1) { - return Optional.of(results.iterator().next()); - } else { - if (results.size() > 1) { - logger.info(String.format("Could not retrieve unique chemical formula for component '%s' and model '%s'", - componentId, modelId)); - } - return Optional.empty(); - } - } - - - /** - * @param biggId - * @return - */ - public static Optional getCompartmentName(BiGGId biggId) { - String query = "SELECT name FROM compartment WHERE bigg_id = ? AND name <> ''"; - return singleParamStatement(query, biggId.getAbbreviation()); - } - - - /** - * @param query - * @param param - * @return - */ - public static Optional singleParamStatement(String query, String param) { - Set results = new HashSet<>(); - try { - Connection connection = connector.getConnection(); - PreparedStatement pStatement = connection.prepareStatement(query); - pStatement.setString(1, param); - ResultSet resultSet = pStatement.executeQuery(); - while (resultSet.next()) { - results.add(resultSet.getString(1)); - } - pStatement.close(); - connection.close(); - } catch (SQLException exc) { - logger.warning(Utils.getMessage(exc)); - } - results = results.stream().filter(result -> result != null && !result.isEmpty()).collect(Collectors.toSet()); - if (results.size() == 1) { - return Optional.of(results.iterator().next()); - } else { - if (results.size() > 1) { - logger.severe(String.format("Query returned multiple results for parameter %s\nQuery:\n%s", param, query)); - } - return Optional.empty(); - } - } - - - /** - * @param biggId - * @return - */ - public static Optional getComponentName(BiGGId biggId) { - String query = "SELECT name FROM component WHERE bigg_id = ? AND name <> ''"; - return singleParamStatement(query, biggId.getAbbreviation()); - } - - - /** - * @param biggId - * @return - */ - public static Optional getComponentType(BiGGId biggId) { - String query = "SELECT type FROM component WHERE bigg_id = ? AND name <> ''"; - return singleParamStatement(query, biggId.getAbbreviation()); - } - - - /** - * Here we get all possible MIRIAM annotation for Gene Labels, but we ignore - * all those entries that are not MIRIAM-compliant for now. - * - * @param label - * @return - */ - public static TreeSet getGeneIds(String label) { - TreeSet results = new TreeSet<>(); - String query = SELECT + URL_PREFIX + ", s." + SYNONYM + "\n" + "FROM " + DATA_SOURCE + " d, " + SYNONYM + " s, " - + GENOME_REGION + " gr\n" + "WHERE d." + COLUMN_ID + " = s." + COLUMN_DATA_SOURCE_ID + " AND\n s." + COLUMN_OME_ID - + " = gr." + COLUMN_ID + " AND\n gr." + COLUMN_BIGG_ID + " = ? AND\n d." + COLUMN_BIGG_ID + " != " + OLD_BIGG_ID - + " AND\n d." + COLUMN_BIGG_ID + " NOT LIKE " + REFSEQ_PATTERN; - try { - Connection connection = connector.getConnection(); - PreparedStatement pStatement = connection.prepareStatement(query); - pStatement.setString(1, label); - ResultSet resultSet = pStatement.executeQuery(); - while (resultSet.next()) { - String resource; - String collection = resultSet.getString(1); - String identifier = resultSet.getString(2); - if (collection != null && identifier != null) { - resource = collection.replaceAll("http://", "https://") + identifier; - } else if (collection == null) { - logger.fine(mpMessageBundle.getString("COLLECTION_NULL_GENE")); - continue; - } else { - logger.warning(format(mpMessageBundle.getString("IDENTIFIER_NULL_GENE"), collection)); - continue; - } - Registry.checkResourceUrl(resource).map(results::add); - } - pStatement.close(); - connection.close(); - } catch (SQLException exc) { - logger.warning(Utils.getMessage(exc)); - } - return results; - } - - - /** - * @param label - * @return - */ - public static Optional getGeneName(String label) { - String query = "SELECT s." + SYNONYM + "\n" + "FROM " + DATA_SOURCE + " d, " + SYNONYM + " s, " + GENOME_REGION - + " gr\n" + "WHERE d." + COLUMN_ID + " = s." + COLUMN_DATA_SOURCE_ID + " AND\n s." + COLUMN_OME_ID + " = gr." - + COLUMN_ID + " AND\n gr." + COLUMN_BIGG_ID + " = ? AND\n d." + COLUMN_BIGG_ID + " LIKE " + REFSEQ_NAME - + " AND s.synonym <> ''"; - return singleParamStatement(query, label); - } - - - /** - * @param reactionId - * @param modelId - * @return - */ - public static List getGeneReactionRule(String reactionId, String modelId) { - return getReactionRules("SELECT REPLACE(REPLACE(RTRIM(REPLACE(REPLACE(mr." + COLUMN_GENE_REACTION_RULE - + ", 'or', '||'), 'and', '&&'), '.'), '.', '__SBML_DOT__'), '_AT', '__SBML_DOT__') AS " - + COLUMN_GENE_REACTION_RULE + " FROM " + MODEL_REACTION + " mr, " + REACTION + " r, " + MODEL + " m WHERE r." - + COLUMN_ID + " = mr." + COLUMN_REACTION_ID + " AND m." + COLUMN_ID + " = mr." + COLUMN_MODEL_ID + " AND mr." - + COLUMN_GENE_REACTION_RULE + " IS NOT NULL AND LENGTH(mr." + COLUMN_GENE_REACTION_RULE + ") > 0 AND r." - + COLUMN_BIGG_ID + " = ? AND m." + COLUMN_BIGG_ID + " = ? AND mr.gene_reaction_rule <> '' ORDER BY mr." - + COLUMN_ID, reactionId, modelId); - } - - - /** - * @param query - * @param reactionId - * @param modelId - * @return - */ - public static List getReactionRules(String query, String reactionId, String modelId) { - List results = new ArrayList<>(); - try { - Connection connection = connector.getConnection(); - PreparedStatement pStatement = connection.prepareStatement(query); - pStatement.setString(1, reactionId); - pStatement.setString(2, modelId); - ResultSet resultSet = pStatement.executeQuery(); - while (resultSet.next()) { - results.add(resultSet.getString(1)); - } - pStatement.close(); - connection.close(); - } catch (SQLException exc) { - logger.warning(Utils.getMessage(exc)); - } - return results; - } - - - /** - * @param abbreviation - * @return - */ - public static Optional getOrganism(String abbreviation) { - String query = "SELECT g." + COLUMN_ORGANISM + FROM + GENOME + " g, " + MODEL + " m WHERE m." + COLUMN_GENOME_ID - + " = g." + COLUMN_ID + " AND m." + COLUMN_BIGG_ID + " = ?"; - return singleParamStatement(query, abbreviation); - } - - - /** - * @param abbreviation - * @return - */ - public static List> getPublications(String abbreviation) { - List> results = new LinkedList<>(); - String query = "SELECT p." + COLUMN_REFERENCE_TYPE + ", p." + COLUMN_REFERENCE_ID + " FROM " + PUBLICATION + " p, " - + PUBLICATION_MODEL + " pm, " + MODEL + " m WHERE p." + COLUMN_ID + " = pm." + COLUMN_PUBLICATION_ID + " AND pm." - + COLUMN_MODEL_ID + " = m." + COLUMN_ID + " AND m." + COLUMN_BIGG_ID + " = ?"; - try { - Connection connection = connector.getConnection(); - PreparedStatement pStatement = connection.prepareStatement(query); - pStatement.setString(1, abbreviation); - ResultSet resultSet = pStatement.executeQuery(); - while (resultSet.next()) { - String key = resultSet.getString(1); - results.add(pairOf(key.equals("pmid") ? "pubmed" : key, resultSet.getString(2))); - } - pStatement.close(); - connection.close(); - } catch (SQLException exc) { - logger.warning(Utils.getMessage(exc)); - } - return results; - } - - - /** - * @param abbreviation - * @return - */ - public static Optional getReactionName(String abbreviation) { - String query = "SELECT name FROM reaction WHERE bigg_id = ? AND name <> ''"; - return singleParamStatement(query, abbreviation); - } - - - /** - * @param biggId - * @param includeAnyURI - * @param isReaction - * @return a set of external source together with external id. - */ - public static Set getResources(BiGGId biggId, boolean includeAnyURI, boolean isReaction) { - String type = isReaction ? REACTION : COMPONENT; - Set resources = new TreeSet<>(); - try { - String query = String.format( - "SELECT CONCAT(url_prefix, s.synonym) AS url FROM %s t, synonym s, data_source d WHERE t.id = s.ome_id AND s.data_source_id = d.id AND url_prefix IS NOT NULL AND %s AND t.bigg_id = ? %s", - type, getTypeQuery(isReaction), includeAnyURI ? "" : "AND url_prefix like '%%identifiers.org%%'"); - Connection connection = connector.getConnection(); - PreparedStatement pStatement = connection.prepareStatement(query); - pStatement.setString(1, biggId.getAbbreviation()); - ResultSet resultSet = pStatement.executeQuery(); - while (resultSet.next()) { - Registry.checkResourceUrl(resultSet.getString(1)).map(resources::add); - } - pStatement.close(); - connection.close(); - } catch (SQLException exc) { - logger.warning(Utils.getMessage(exc)); - } - return resources; - } - - - /** - * @param isReaction - * @return - */ - private static String getTypeQuery(boolean isReaction) { - if (isReaction) { - return "CAST(s.type AS \"text\") = '" + REACTION + "'"; - } - return "(CAST(s.type AS \"text\") = '" + COMPONENT + "' OR CAST(s.type AS \"text\") = '" - + COMPARTMENTALIZED_COMPONENT + "')"; - } - - - /** - * @param abbreviation - * @return - */ - public static Optional getTaxonId(String abbreviation) { - Integer result = null; - String query = SELECT + COLUMN_TAXON_ID + FROM + GENOME + " g, " + MODEL + " m WHERE g." + COLUMN_ID + " = m." - + COLUMN_GENOME_ID + " AND m." + COLUMN_BIGG_ID + " = ? AND taxon_id IS NOT NULL"; - try { - Connection connection = connector.getConnection(); - PreparedStatement pStatement = connection.prepareStatement(query); - pStatement.setString(1, abbreviation); - ResultSet resultSet = pStatement.executeQuery(); - while (resultSet.next()) { - if (result != null) { - logger.severe(String.format("Taxon id query returned multiple results for abbreviation: %s", abbreviation)); - } else { - result = resultSet.getInt(1); - } - } - pStatement.close(); - connection.close(); - } catch (SQLException exc) { - logger.warning(format(mpMessageBundle.getString("GET_TAXON_ERROR"), abbreviation, Utils.getMessage(exc))); - } - return result == null ? Optional.empty() : Optional.of(result); - } - - - /** - * @param table - * @return - */ - public static Set getOnce(String table) { - Set biggIds = new LinkedHashSet<>(); - try { - Connection connection = connector.getConnection(); - String query = "SELECT bigg_id FROM " + table + " ORDER BY bigg_id"; - PreparedStatement pStatement = connection.prepareStatement(query); - ResultSet resultSet = pStatement.executeQuery(); - while (resultSet.next()) { - biggIds.add(resultSet.getString(1)); - } - pStatement.close(); - connection.close(); - } catch (SQLException exc) { - logger.warning(String.format("Failed to fetch BiGGIDs for table '%s': '%s'", table, Utils.getMessage(exc))); - } - return biggIds; - } - - - /** - * Get charge for unknown model id - * - * @param componentId - * @param compartmentId - * @return - */ - public static Optional getChargeByCompartment(String componentId, String compartmentId) { - String query = "SELECT DISTINCT mcc." + COLUMN_CHARGE + " FROM " + MCC + " mcc, " + COMPARTMENTALIZED_COMPONENT - + " cc, " + COMPONENT + " c, " + COMPARTMENT + " co WHERE c." + COLUMN_BIGG_ID + " = ? AND c." + COLUMN_ID - + " = cc." + COLUMN_COMPONENT_ID + " AND co." + COLUMN_BIGG_ID + " = ? AND co." + COLUMN_ID + " = cc." - + COLUMN_COMPARTMENT_ID + " and cc." + COLUMN_ID + " = mcc." + COLUMN_COMPARTMENTALIZED_COMPONENT_ID - + " AND LENGTH(CAST( mcc." + COLUMN_CHARGE + " AS text)) > 0 ORDER BY mcc." + COLUMN_CHARGE; - Set results = runChargeQuery(query, componentId, compartmentId); - if (results.size() == 1) { - return Optional.of(Integer.parseInt(results.iterator().next())); - } else { - if (results.size() > 1) { - logger.warning(String.format("Could not retrieve unique charge for component '%s' and compartment '%s'", - componentId, compartmentId)); - } - return Optional.empty(); - } - } - - - /** - * @param query - * @param componentId - * @param compartmentOrModelId - * @return - */ - private static Set runChargeQuery(String query, String componentId, String compartmentOrModelId) { - Set results = new HashSet<>(); - try { - Connection connection = connector.getConnection(); - PreparedStatement pStatement = connection.prepareStatement(query); - pStatement.setString(1, componentId); - pStatement.setString(2, compartmentOrModelId); - ResultSet resultSet = pStatement.executeQuery(); - while (resultSet.next()) { - results.add(resultSet.getString(1)); - } - pStatement.close(); - connection.close(); - } catch (SQLException exc) { - logger.warning(Utils.getMessage(exc)); - } - return results.stream().filter(charge -> charge != null && !charge.isEmpty()).collect(Collectors.toSet()); - } - - - /** - * Get charge for known model id - * - * @param componentId - * @param modelId - * @return - */ - public static Optional getCharge(String componentId, String modelId) { - String query = - "SELECT DISTINCT mcc." + COLUMN_CHARGE + "\n FROM " + COMPONENT + " c,\n" + COMPARTMENTALIZED_COMPONENT + " cc,\n" - + MODEL + " m,\n" + MCC + " mcc\n WHERE c." + COLUMN_ID + " = cc." + COLUMN_COMPONENT_ID + " AND\n cc." - + COLUMN_ID + " = mcc." + COLUMN_COMPARTMENTALIZED_COMPONENT_ID + " AND\n c." + COLUMN_BIGG_ID + " = ? AND\n m." - + COLUMN_BIGG_ID + " = ? AND\n m." + COLUMN_ID + " = mcc." + COLUMN_MODEL_ID + " AND mcc.charge IS NOT NULL"; - Set results = runChargeQuery(query, componentId, modelId); - if (results.size() == 1) { - return Optional.of(Integer.parseInt(results.iterator().next())); - } else { - if (results.size() > 1) { - logger.warning(String.format("Could not retrieve unique charge for component '%s' and compartment '%s'", - componentId, modelId)); - } - return Optional.empty(); - } - } - - - /** - * @param reactionId - * @return - */ - public static boolean isPseudoreaction(String reactionId) { - String query = "SELECT pseudoreaction FROM reaction WHERE bigg_id = ?"; - Optional result = singleParamStatement(query, reactionId); - return result.isPresent() && result.get().equals("t"); - } - - - /** - * @param synonym - * @param type - * @param dataSourceId - * @return String - */ - public static Optional getBiggIdFromSynonym(String dataSourceId, String synonym, String type) { - Set results = new HashSet<>(); - String query; - switch (type) { - case TYPE_SPECIES: - query = SELECT + "c." + COLUMN_BIGG_ID + FROM + COMPONENT + " c, " + DATA_SOURCE + " d, " + SYNONYM + " s" + WHERE - + "d." + COLUMN_BIGG_ID + " = ? AND d." + COLUMN_ID + " = s." + COLUMN_DATA_SOURCE_ID + " AND s." - + COLUMN_SYNONYM + " = ? AND s." + COLUMN_OME_ID + " = c." + COLUMN_ID; - break; - case TYPE_REACTION: - query = SELECT + "r." + COLUMN_BIGG_ID + FROM + REACTION + " r, " + DATA_SOURCE + " d, " + SYNONYM + " s" + WHERE - + "d." + COLUMN_BIGG_ID + " = ? AND d." + COLUMN_ID + " = s." + COLUMN_DATA_SOURCE_ID + " AND s." - + COLUMN_SYNONYM + " = ? AND s." + COLUMN_OME_ID + " = r." + COLUMN_ID; - break; - case TYPE_GENE_PRODUCT: - query = SELECT + "g." + COLUMN_LOCUS_TAG + FROM + GENE + " g, " + DATA_SOURCE + " d, " + SYNONYM + " s" + WHERE - + "d." + COLUMN_BIGG_ID + " = ? AND d." + COLUMN_ID + " = s." + COLUMN_DATA_SOURCE_ID + " AND s." - + COLUMN_SYNONYM + " = ? AND s." + COLUMN_OME_ID + " = g." + COLUMN_ID; - break; - default: - return Optional.empty(); - } - try { - Connection connection = connector.getConnection(); - PreparedStatement pStatement = connection.prepareStatement(query); - pStatement.setString(1, dataSourceId); - pStatement.setString(2, synonym); - ResultSet resultSet = pStatement.executeQuery(); - while (resultSet.next()) { - results.add(resultSet.getString(1)); - } - connection.close(); - } catch (SQLException exc) { - logger.warning(Utils.getMessage(exc)); - } - results = results.stream().filter(biggId -> biggId != null && !biggId.isEmpty()).collect(Collectors.toSet()); - if (results.size() == 1) { - return Optional.of(results.iterator().next()); - } else { - return Optional.empty(); - } - } -} diff --git a/src/main/java/edu/ucsd/sbrg/db/BiGGDBContract.java b/src/main/java/edu/ucsd/sbrg/db/BiGGDBContract.java deleted file mode 100644 index 5e343740..00000000 --- a/src/main/java/edu/ucsd/sbrg/db/BiGGDBContract.java +++ /dev/null @@ -1,60 +0,0 @@ -package edu.ucsd.sbrg.db; - -final class BiGGDBContract { - - BiGGDBContract() { - } - - static abstract class Constants { - - // Tables - static final String COMPARTMENT = "compartment"; - static final String COMPARTMENTALIZED_COMPONENT = "compartmentalized_component"; - static final String COMPONENT = "component"; - static final String DATABASE_VERSION = "database_version"; - static final String DATA_SOURCE = "data_source"; - static final String GENE = "gene"; - static final String GENOME = "genome"; - static final String GENOME_REGION = "genome_region"; - static final String MCC = "model_compartmentalized_component"; - static final String MODEL = "model"; - static final String MODEL_REACTION = "model_reaction"; - static final String OLD_BIGG_ID = "'old_bigg_id'"; - static final String PUBLICATION = "publication"; - static final String PUBLICATION_MODEL = "publication_model"; - static final String REACTION = "reaction"; - static final String REFSEQ_PATTERN = "'refseq_%%'"; - static final String REFSEQ_NAME = "'refseq_name'"; - static final String SYNONYM = "synonym"; - static final String URL = "url"; - static final String URL_PREFIX = "url_prefix"; - // Columns - static final String COLUMN_BIGG_ID = "bigg_id"; - static final String COLUMN_CHARGE = "charge"; - static final String COLUMN_COMPARTMENTALIZED_COMPONENT_ID = "compartmentalized_component_id"; - static final String COLUMN_COMPARTMENT_ID = "compartment_id"; - static final String COLUMN_COMPONENT_ID = "component_id"; - static final String COLUMN_DATA_SOURCE_ID = "data_source_id"; - static final String COLUMN_DATE_TIME = "date_time"; - static final String COLUMN_DESCRIPTION = "description"; - static final String COLUMN_FIRST_CREATED = "first_created"; - static final String COLUMN_FORMULA = "formula"; - static final String COLUMN_GENE_REACTION_RULE = "gene_reaction_rule"; - static final String COLUMN_GENOME_ID = "genome_id"; - static final String COLUMN_ID = "id"; - static final String COLUMN_MODEL_ID = "model_id"; - static final String COLUMN_NAME = "name"; - static final String COLUMN_OME_ID = "ome_id"; - static final String COLUMN_ORGANISM = "organism"; - static final String COLUMN_PSEUDOREACTION = "pseudoreaction"; - static final String COLUMN_PUBLICATION_ID = "publication_id"; - static final String COLUMN_REACTION_ID = "reaction_id"; - static final String COLUMN_REFERENCE_ID = "reference_id"; - static final String COLUMN_REFERENCE_TYPE = "reference_type"; - static final String COLUMN_SUBSYSTEM = "subsystem"; - static final String COLUMN_TAXON_ID = "taxon_id"; - static final String COLUMN_TYPE = "type"; - static final String COLUMN_SYNONYM = "synonym"; - static final String COLUMN_LOCUS_TAG = "locus_tag"; - } -} diff --git a/src/main/java/edu/ucsd/sbrg/db/DBConfig.java b/src/main/java/edu/ucsd/sbrg/db/DBConfig.java deleted file mode 100644 index b832825d..00000000 --- a/src/main/java/edu/ucsd/sbrg/db/DBConfig.java +++ /dev/null @@ -1,73 +0,0 @@ -package edu.ucsd.sbrg.db; - -import de.zbit.util.prefs.SBProperties; - -public class DBConfig { - - public static void initADB(SBProperties args, boolean annotateWithADB) { - if (annotateWithADB && ! AnnotateDB.inUse()) { - initADB(args); - } - } - - - /** - * Sets DB to use, depending on provided arguments: - * If annotateWithBigg is true and all arguments are provided, PostgreSQL is used - * - * @param args: - * Arguments from Commandline - */ - private static void initADB(SBProperties args) { - String name = args.getProperty(ADBOptions.DBNAME); - String host = args.getProperty(ADBOptions.HOST); - String passwd = args.getProperty(ADBOptions.PASSWD); - String port = args.getProperty(ADBOptions.PORT); - String user = args.getProperty(ADBOptions.USER); - boolean run = iStrNotNullOrEmpty(name); - run &= iStrNotNullOrEmpty(host); - run &= iStrNotNullOrEmpty(port); - run &= iStrNotNullOrEmpty(user); - if (run) { - AnnotateDB.init(host, port, user, passwd, name); - } - } - - - public static void initBiGG(SBProperties args, boolean annotateWithBiGG) { - if (annotateWithBiGG && !BiGGDB.inUse()) { - initBiGG(args); - } - } - - - /** - * If annotateWithBigg is true and all arguments are provided, connection is established, else - * - * @param args: - * Arguments from Commandline - */ - private static void initBiGG(SBProperties args) { - String name = args.getProperty(BiGGDBOptions.DBNAME); - String host = args.getProperty(BiGGDBOptions.HOST); - String passwd = args.getProperty(BiGGDBOptions.PASSWD); - String port = args.getProperty(BiGGDBOptions.PORT); - String user = args.getProperty(BiGGDBOptions.USER); - boolean run = iStrNotNullOrEmpty(name); - run &= iStrNotNullOrEmpty(host); - run &= iStrNotNullOrEmpty(port); - run &= iStrNotNullOrEmpty(user); - if (run) { - BiGGDB.init(host, port, user, passwd, name); - } - } - - - /** - * @param string - * @return - */ - private static boolean iStrNotNullOrEmpty(String string) { - return !(string == null || string.isEmpty()); - } -} diff --git a/src/main/java/edu/ucsd/sbrg/db/QueryOnce.java b/src/main/java/edu/ucsd/sbrg/db/QueryOnce.java deleted file mode 100644 index e28104f9..00000000 --- a/src/main/java/edu/ucsd/sbrg/db/QueryOnce.java +++ /dev/null @@ -1,81 +0,0 @@ -package edu.ucsd.sbrg.db; - -import java.util.LinkedHashSet; -import java.util.Set; - -public class QueryOnce { - - private static Set BiGGDBCompartments = new LinkedHashSet<>(); - private static Set BiGGDBDataSources = new LinkedHashSet<>(); - private static Set BiGGDBMetabolites = new LinkedHashSet<>(); - private static Set BiGGDBModels = new LinkedHashSet<>(); - private static Set BiGGDBReactions = new LinkedHashSet<>(); - - /** - * @param id - * @return - */ - public static boolean isCompartment(String id) { - if (BiGGDBCompartments.isEmpty()) { - BiGGDBCompartments = BiGGDB.getOnce("compartment"); - } - if (id.startsWith("C_")) { - id = id.substring(2); - } - return BiGGDBCompartments.contains(id); - } - - - /** - * @param id - * @return - */ - public static boolean isDataSource(String id) { - if (BiGGDBDataSources.isEmpty()) { - BiGGDBDataSources = BiGGDB.getOnce("data_source"); - } - return BiGGDBDataSources.contains(id); - } - - - /** - * @param id - * @return - */ - public static boolean isMetabolite(String id) { - if (BiGGDBMetabolites.isEmpty()) { - BiGGDBMetabolites = BiGGDB.getOnce("component"); - } - if (id.startsWith("M_")) { - id = id.substring(2); - } - return BiGGDBMetabolites.contains(id); - } - - - /** - * @param id - * @return - */ - public static boolean isModel(String id) { - if (BiGGDBModels.isEmpty()) { - BiGGDBModels = BiGGDB.getOnce("model"); - } - return BiGGDBModels.contains(id); - } - - - /** - * @param id - * @return - */ - public static boolean isReaction(String id) { - if (BiGGDBReactions.isEmpty()) { - BiGGDBReactions = BiGGDB.getOnce("reaction"); - } - if (id.startsWith("R_")) { - id = id.substring(2); - } - return BiGGDBReactions.contains(id); - } -} diff --git a/src/main/java/edu/ucsd/sbrg/miriam/CompactEntry.java b/src/main/java/edu/ucsd/sbrg/miriam/CompactEntry.java deleted file mode 100644 index b0e389e6..00000000 --- a/src/main/java/edu/ucsd/sbrg/miriam/CompactEntry.java +++ /dev/null @@ -1,55 +0,0 @@ -package edu.ucsd.sbrg.miriam; - -import java.util.List; -import java.util.stream.Collectors; - -import edu.ucsd.sbrg.miriam.models.Namespace; - -public class CompactEntry { - - private final long id; - private final String name; - private final String pattern; - private final String prefix; - private final List resources; - - private CompactEntry(Namespace namespace) { - id = namespace.getId(); - name = namespace.getName(); - pattern = namespace.getPattern(); - prefix = namespace.getPrefix(); - // Get list of all alternative providers with URLs - resources = - namespace.getResources().parallelStream().map(CompactResource::fromResource).collect(Collectors.toList()); - } - - - public static CompactEntry fromNamespace(Namespace namespace) { - return new CompactEntry(namespace); - } - - - public long getId() { - return id; - } - - - public String getName() { - return name; - } - - - public String getPattern() { - return pattern; - } - - - public String getPrefix() { - return prefix; - } - - - public List getResources() { - return resources; - } -} diff --git a/src/main/java/edu/ucsd/sbrg/miriam/CompactResource.java b/src/main/java/edu/ucsd/sbrg/miriam/CompactResource.java deleted file mode 100644 index b481c526..00000000 --- a/src/main/java/edu/ucsd/sbrg/miriam/CompactResource.java +++ /dev/null @@ -1,36 +0,0 @@ -package edu.ucsd.sbrg.miriam; - -import edu.ucsd.sbrg.miriam.models.Resource; - -public class CompactResource { - - private final long id; - private final String providerCode; - private final String urlPattern; - - private CompactResource(Resource resource) { - id = resource.getId(); - providerCode = resource.getProviderCode(); - urlPattern = resource.getUrlPattern(); - } - - - public static CompactResource fromResource(Resource resource) { - return new CompactResource(resource); - } - - - public long getId() { - return id; - } - - - public String getProviderCode() { - return providerCode; - } - - - public String getUrlPattern() { - return urlPattern; - } -} diff --git a/src/main/java/edu/ucsd/sbrg/miriam/Registry.java b/src/main/java/edu/ucsd/sbrg/miriam/Registry.java deleted file mode 100644 index cae0677e..00000000 --- a/src/main/java/edu/ucsd/sbrg/miriam/Registry.java +++ /dev/null @@ -1,480 +0,0 @@ -package edu.ucsd.sbrg.miriam; - -import static edu.ucsd.sbrg.bigg.ModelPolisher.mpMessageBundle; -import static java.text.MessageFormat.format; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.logging.Logger; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.stream.Collectors; - -import org.sbml.jsbml.util.Pair; - -import edu.ucsd.sbrg.bigg.BiGGId; -import edu.ucsd.sbrg.miriam.models.Miriam; - -public class Registry { - - /** - * A {@link Logger} for this class. - */ - static final transient Logger logger = Logger.getLogger(Registry.class.getName()); - /** - * - */ - private static final List entries; - /** - * Contains mapping from resource provider URL to collection name for URLs ending with the id - */ - private static final Map ALTERNATIVE_URL_PATTERNS = new HashMap<>(); - /** - * Contains mapping for identifiers.org URI /w & /wo provider information - */ - private static final Map COLLECTION_FOR_URI = new HashMap<>(); - /** - * Mapping for collection to its pattern - */ - private static final Map COLLECTION_FOR_PATTERN = new HashMap<>(); - /** - * Mapping provider code to collection name - */ - private static final Map COLLECTION_FOR_PREFIX = new HashMap<>(); - /** - * Mapping for pattern to its respective collection - */ - private static final Map PATTERN_FOR_COLLECTION = new HashMap<>(); - /** - * Mapping collection name to provider code - */ - private static final Map PREFIX_FOR_COLLECTION = new HashMap<>(); - /* - * Static initializer for Miriam, read registry once and convert to compact representation - */ - static { - Miriam miriam = RegistryProvider.getInstance().getMiriam(); - // convert namespaces to CompactEntries, holding only the necessary information for ModelPolisher - entries = - miriam.getNamespaces().values().parallelStream().map(CompactEntry::fromNamespace).collect(Collectors.toList()); - // Free unneeded resources for GC - RegistryProvider.close(); - // Create helper structures for fast access - for (CompactEntry entry : entries) { - String collectionName = entry.getName(); - String pattern = entry.getPattern(); - String prefix = entry.getPrefix(); - COLLECTION_FOR_PATTERN.put(pattern, collectionName); - COLLECTION_FOR_PREFIX.put(prefix, collectionName); - COLLECTION_FOR_URI.put(createProviderURI(prefix), collectionName); - PATTERN_FOR_COLLECTION.put(collectionName, pattern); - PREFIX_FOR_COLLECTION.put(collectionName, prefix); - for (CompactResource resource : entry.getResources()) { - String provider = resource.getProviderCode(); - // Split pattern on {$id} and replace {$id} with actual pattern of namespace for urlPattern matching and id - // extraction later on - String urlPattern = removeIdParts(resource.getUrlPattern()); - String[] patternParts = urlPattern.split("\\{\\$id}"); - // Convert pattern to named capture group - String patternCaptureGroup = "(?" + pattern.replaceAll("\\^|\\$", "") + ")"; - // Part after {$id} is only present for some URLs - String first; - String second; - if (patternParts.length > 1) { - second = patternParts[1]; - first = patternParts[0]; - if (second.equals("\"")) { - first = first + second; - } - } else { - first = patternParts[0]; - second = ""; - } - first = Pattern.quote(first); - second = Pattern.quote(second); - String matcherPattern = String.format("%s%s%s", first, patternCaptureGroup, second); - ALTERNATIVE_URL_PATTERNS.put(matcherPattern, collectionName); - COLLECTION_FOR_URI.put(createProviderURI(provider), collectionName); - } - } - } - - /** - * NamespaceEmbeddedInLui does not work to correctly establish what is a part of an id in a non-identifiers URL - * Thus this function strips the namespace prefix for URLs where it would be duplicated - * - * @param urlPattern - * @return - */ - private static String removeIdParts(String urlPattern) { - String url = urlPattern; - for (String prefix : Arrays.asList("affymetrix", "BAO:", "EFO:", "FB:", "ecnumber:", "homologene:", "IDO:", - "interaction_id:", "interpro:", "kisao:", "Locus:", "locusname:", "ncbigene:", "ndc:", "orphanet:", "RGD:", - "sabioreactionid", "sgd:", "SGD:", "Taxon:", "taxonomy:", "WB:", "WP:", "ZFIN:")) { - if (urlPattern.contains(prefix)) { - return urlPattern; - } - } - Matcher idAfterEquals = Pattern.compile("(?<=/).*=(?\"?\\w+?:)\\{\\$id}\"?").matcher(urlPattern); - Matcher idAfterSlash = Pattern.compile("/#?(?\\w+?:)\\{\\$id}").matcher(urlPattern); - if (idAfterEquals.find()) { - String remove = idAfterEquals.group("remove"); - urlPattern = urlPattern.replaceAll(remove, ""); - } else if (idAfterSlash.find()) { - String remove = idAfterSlash.group("remove"); - urlPattern = urlPattern.replaceAll(remove, ""); - } - return urlPattern; - } - - - /** - * @param providerCode - * @param id - * @return - */ - public static String createURI(String providerCode, BiGGId id) { - return createURI(providerCode, id.getAbbreviation()); - } - - - /** - * @param id - * @return - */ - public static String createShortURI(Object id) { - return "https://identifiers.org/" + id.toString(); - } - - - /** - * @param providerCode - * @param id - * @return - */ - public static String createURI(String providerCode, Object id) { - return createProviderURI(providerCode) + id.toString(); - } - - - /** - * @param providerCode - * @return - */ - public static String createProviderURI(String providerCode) { - return "https://identifiers.org/" + providerCode + "/"; - } - - - public static String getPrefixForCollection(String collection) { - return PREFIX_FOR_COLLECTION.getOrDefault(collection, ""); - } - - - public static String getCollectionForPrefix(String prefix) { - return COLLECTION_FOR_PREFIX.getOrDefault(prefix, ""); - } - - - /** - * Checks resource URIs and logs those not matching the specified pattern - * Used to check URIs obtained from BiGGDB - * A resource URI that does not match the pattern will be logged and not added - * to the model - * - * @param resource: - * resource URI to be added as annotation - * @return corrected resource URI - */ - public static Optional checkResourceUrl(String resource) { - //TODO: temporary fix, http vs https should be irrelevant, handle urlPattern differently for proper handling - if(resource.startsWith("http://www.reactome.org")){ - resource = resource.replaceAll("http://www.reactome.org", "https://www.reactome.org"); - } - // no longer supported by identifiers.org, but should still resolve, keep and fix missing id prefix - if (resource.contains("ncbigi")) { - String URLWithoutId = Registry.getDataCollectionPartFromURI(resource); - String[] split = resource.split("/"); - int len = split.length; - String id = split[len - 1]; - if (!id.startsWith("GI:")) { - if (id.startsWith("gi:")) { - resource = Registry.replace(resource, id, id.replaceAll("gi:", "GI:")); - } else { - resource = Registry.replace(resource, id, "GI:" + id); - } - } - return Optional.of(resource); - } - if (resource.startsWith("https://identifiers.org/omim")) { - // omim is present in BiGGDB, but is not valid, skip - return Optional.empty(); - } - /* - * Either [namespace prefix]:[accession] or [provider code]/[namespace prefix]:[accession] second option is - * currently not strict - older URIs with only accession are supported, if provider code is given - */ - Pattern identifiersURL = Pattern.compile("(?:https?://)?identifiers.org/(?:(?.*?)/)?(?.*)"); - Matcher urlMatcher = identifiersURL.matcher(resource); - String provider = ""; - String identifier = ""; - if (urlMatcher.matches()) { - provider = Optional.ofNullable(urlMatcher.group("provider")).orElse(""); - identifier = urlMatcher.group("id"); - } else { - Pair parts = extractPartsFromNonCanonical(resource); - if (!parts.getKey().isEmpty()) { - provider = parts.getKey(); - identifier = parts.getValue(); - } - } - // remove trailing whitespace from id - identifier = identifier.stripTrailing(); - // handle case mismatch in provider code - if (provider.matches("[A-Z]+")) { - provider = provider.toLowerCase(); - } - String query = identifier; - // Get provider by checking for uniquely matching Regex - if (provider.isEmpty()) { - List collections = - COLLECTION_FOR_PATTERN.keySet().stream().filter(s -> Pattern.compile(s).matcher(query).matches()) - .collect(Collectors.toList()); - if (collections.size() == 1) { - String collection = collections.get(0); - provider = PREFIX_FOR_COLLECTION.get(collection); - } - } - // handle cases where provider and collection name have been mixed up - if (!COLLECTION_FOR_PREFIX.containsKey(provider) && PREFIX_FOR_COLLECTION.containsKey(provider)) { - provider = PREFIX_FOR_COLLECTION.get(provider); - } else if (!COLLECTION_FOR_PREFIX.containsKey(provider)) { - logger.severe(format(mpMessageBundle.getString("UNCAUGHT_URI"), resource)); - return Optional.of(resource); - } - String collection = COLLECTION_FOR_PREFIX.get(provider); - String regexp = getPattern(collection); - Boolean correct = checkPattern(identifier, regexp); - resource = createURI(provider, identifier); - String report_resource = resource; - if (!correct) { - logger.info(format(mpMessageBundle.getString("PATTERN_MISMATCH_INFO"), identifier, regexp, collection)); - resource = fixResource(resource, identifier); - } - if (resource == null) { - logger.warning(format(mpMessageBundle.getString("CORRECTION_FAILED_DROP"), report_resource, collection)); - return Optional.empty(); - } else { - logger.fine(format("Added resource {0}", resource)); - return Optional.of(resource); - } - } - - - /** - * @param resource - * @return - */ - private static Pair extractPartsFromNonCanonical(String resource) { - String identifier = ""; - String provider = ""; - for (Map.Entry entry : ALTERNATIVE_URL_PATTERNS.entrySet()) { - Matcher matcher = Pattern.compile(entry.getKey()).matcher(resource); - if (matcher.matches()) { - identifier = matcher.group("id"); - provider = PREFIX_FOR_COLLECTION.get(entry.getValue()); - break; - } - } - return Pair.of(provider, identifier); - } - - - /** - * Get pattern from collection name - * - * @param collection - * @return - */ - public static String getPattern(String collection) { - return PATTERN_FOR_COLLECTION.getOrDefault(collection, ""); - } - - - /** - * @param id: - * Id part of annotation URL - * @param pattern: - * Pattern for matching collection - * @return - */ - public static Boolean checkPattern(String id, String pattern) { - return Pattern.compile(pattern).matcher(id).matches(); - } - - - /** - * @param resource - * @param identifier - * @return - */ - private static String fixResource(String resource, String identifier) { - if (resource.contains("chebi")) { - resource = fixChEBI(resource, identifier); - } else if (resource.contains("ec-code")) { - resource = fixECCode(resource, identifier); - } else if (resource.contains("go") && !resource.contains("goa")) { - resource = fixGO(resource, identifier); - } else if (resource.contains("hmdb") && identifier.startsWith("/")) { - resource = replace(resource, identifier, identifier.substring(1)); - logger.severe(String.format("Changed identifier '%s' to '%s'", identifier, identifier.substring(1))); - } else if (resource.contains("kegg")) { - // We can correct the kegg collection - resource = fixKEGGCollection(resource, identifier); - } else if (resource.contains("reactome")) { - String resource_old = resource; - resource = fixReactome(resource, identifier); - logger.info(format(mpMessageBundle.getString("CHANGED_REACTOME"), resource_old, resource)); - } else if (resource.contains("refseq") && resource.contains("WP_")) { - resource = replace(resource, "refseq", "ncbiprotein"); - logger.info(String.format( - "Ids starting with 'WP_' seem to belong to 'ncbiprotein', not 'refseq'. Changed accordingly for '%s'", - resource)); - } else if (resource.contains("rhea") && resource.contains("#")) { - // remove last part, it's invalid either way, even though it gets resolved due to misinterpretation as non - // existing anchor - resource = resource.split("#")[0]; - logger.info(format(mpMessageBundle.getString("CHANGED_RHEA"), resource)); - } else { - resource = null; - } - return resource; - } - - - /** - * @param resource - * @param identifier - * @return - */ - private static String fixChEBI(String resource, String identifier) { - if (Pattern.compile("\\d+").matcher(identifier).matches()) { - logger.info(mpMessageBundle.getString("ADD_PREFIX_CHEBI")); - resource = replace(resource, identifier, "CHEBI:" + identifier); - } - return resource; - } - - - /** - * @param resource - * @param pattern - * @param replacement - * @return - */ - public static String replace(String resource, String pattern, String replacement) { - return resource.replaceAll(pattern, replacement); - } - - - /** - * @param resource - * @param identifier - * @return - */ - private static String fixECCode(String resource, String identifier) { - int missingDots = identifier.length() - identifier.replace(".", "").length(); - if (missingDots < 1) { - logger.warning(format(mpMessageBundle.getString("EC_CHANGE_FAILED"), identifier)); - return null; - } - return replace(resource, identifier, identifier + ".-".repeat(Math.max(0, 3 - missingDots))); - } - - - /** - * @param resource - * @param identifier - * @return - */ - private static String fixGO(String resource, String identifier) { - if (!identifier.toLowerCase().startsWith("go:")) { - logger.info(mpMessageBundle.getString("ADD_PREFIX_GO")); - return replace(resource, identifier, "GO:" + identifier); - } - return resource; - } - - - /** - * @param resource - * @param identifier - * @return - */ - private static String fixKEGGCollection(String resource, String identifier) { - if (identifier.startsWith("D")) { - logger.info(mpMessageBundle.getString("CHANGE_KEGG_DRUG")); - resource = replace(resource, "kegg.compound", "kegg.drug"); - } else if (identifier.startsWith("G")) { - logger.info(mpMessageBundle.getString("CHANGE_KEGG_GLYCAN")); - resource = replace(resource, "kegg.compound", "kegg.glycan"); - } - return resource; - } - - - /** - * @param resource - * @param identifier - * @return - */ - private static String fixReactome(String resource, String identifier) { - if (identifier.startsWith("R-ALL-REACT_")) { - identifier = identifier.split("_")[1]; - } - if (Character.isDigit(identifier.charAt(0))) { - identifier = "R-ALL-" + identifier; - } - if (checkPattern(identifier, PATTERN_FOR_COLLECTION.get("Reactome"))) { - return createURI("reactome", identifier); - } else { - return null; - } - } - - - /** - * @param resource - * @return - */ - public static List getPartsFromCanonicalURI(String resource) { - Pattern identifiersURL = Pattern.compile("(?:https?://)?identifiers.org/(?:(?.*?)/)?(?.*)"); - Matcher matcher = identifiersURL.matcher(resource); - List parts = new ArrayList<>(2); - if (matcher.matches()) { - parts.add(matcher.group("provider")); - parts.add(matcher.group("id")); - } - return parts; - } - - - /** - * Get collection from identifiers.org URI - * - * @param resource: - * identifiers.org URI - * @return - */ - public static String getDataCollectionPartFromURI(String resource) { - if (resource.contains("identifiers.org")) { - return resource.split("/")[3]; - } else { - return resource.split("/")[2]; - } - } -} diff --git a/src/main/java/edu/ucsd/sbrg/miriam/RegistryParser.java b/src/main/java/edu/ucsd/sbrg/miriam/RegistryParser.java deleted file mode 100644 index 69e8e791..00000000 --- a/src/main/java/edu/ucsd/sbrg/miriam/RegistryParser.java +++ /dev/null @@ -1,46 +0,0 @@ -package edu.ucsd.sbrg.miriam; - -import java.io.IOException; -import java.io.InputStream; -import java.util.HashMap; -import java.util.List; -import java.util.logging.Logger; - -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.ObjectMapper; - -import edu.ucsd.sbrg.miriam.models.Miriam; -import edu.ucsd.sbrg.miriam.models.Namespace; -import edu.ucsd.sbrg.miriam.models.Root; - -public class RegistryParser { - - private static final Logger logger = Logger.getLogger(RegistryParser.class.getName()); - private static RegistryParser parser; - private static InputStream registry; - - private RegistryParser() { - super(); - registry = RegistryParser.class.getResourceAsStream("IdentifiersOrg-Registry.json"); - } - - - public static RegistryParser getInstance() { - if (parser == null) { - parser = new RegistryParser(); - } - return parser; - } - - - Miriam parse() throws IOException { - logger.fine("Parsing MIRIAM registry"); - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - Root root = mapper.readValue(registry, Root.class); - List namespaces = root.getPayload().get("namespaces"); - HashMap prefixIndexedNamespaces = new HashMap<>(); - namespaces.forEach(x -> prefixIndexedNamespaces.put(x.getPrefix(), x)); - return Miriam.initFrom(prefixIndexedNamespaces); - } -} diff --git a/src/main/java/edu/ucsd/sbrg/miriam/RegistryProvider.java b/src/main/java/edu/ucsd/sbrg/miriam/RegistryProvider.java deleted file mode 100644 index 1a1df840..00000000 --- a/src/main/java/edu/ucsd/sbrg/miriam/RegistryProvider.java +++ /dev/null @@ -1,51 +0,0 @@ -package edu.ucsd.sbrg.miriam; - -import java.io.IOException; - -import edu.ucsd.sbrg.miriam.models.Miriam; - -public class RegistryProvider { - - private static RegistryProvider provider; - private static Miriam miriam; - - /** - * - */ - private RegistryProvider() { - super(); - try { - miriam = RegistryParser.getInstance().parse(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - - /** - * @return - */ - public static RegistryProvider getInstance() { - if (provider == null) { - provider = new RegistryProvider(); - } - return provider; - } - - - /** - * - */ - public static void close() { - provider = null; - miriam = null; - } - - - /** - * @return - */ - public Miriam getMiriam() { - return miriam; - } -} diff --git a/src/main/java/edu/ucsd/sbrg/miriam/models/Miriam.java b/src/main/java/edu/ucsd/sbrg/miriam/models/Miriam.java deleted file mode 100644 index 9247ad9c..00000000 --- a/src/main/java/edu/ucsd/sbrg/miriam/models/Miriam.java +++ /dev/null @@ -1,31 +0,0 @@ -package edu.ucsd.sbrg.miriam.models; - -import java.util.Map; - -public class Miriam { - - private static Miriam miriam = new Miriam(); - private static Map namespaces; - - private Miriam() { - super(); - } - - - public static Miriam initFrom(Map namespaces) { - Miriam.namespaces = namespaces; - return miriam; - } - - - public Miriam getInstance() { - if (miriam == null) { - throw new IllegalStateException(); - } - return miriam; - } - - public Map getNamespaces(){ - return namespaces; - } -} diff --git a/src/main/java/edu/ucsd/sbrg/parsers/COBRAparser.java b/src/main/java/edu/ucsd/sbrg/parsers/COBRAparser.java deleted file mode 100644 index d7ab93a8..00000000 --- a/src/main/java/edu/ucsd/sbrg/parsers/COBRAparser.java +++ /dev/null @@ -1,1091 +0,0 @@ -/** - * - */ -package edu.ucsd.sbrg.parsers; - -import static edu.ucsd.sbrg.bigg.ModelPolisher.mpMessageBundle; -import static java.text.MessageFormat.format; -import static org.sbml.jsbml.util.Pair.pairOf; - -import java.io.File; -import java.io.IOException; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.StringTokenizer; -import java.util.logging.Logger; - -import javax.xml.stream.XMLStreamException; - -import org.sbml.jsbml.CVTerm; -import org.sbml.jsbml.Model; -import org.sbml.jsbml.Reaction; -import org.sbml.jsbml.SBMLDocument; -import org.sbml.jsbml.SBase; -import org.sbml.jsbml.Species; -import org.sbml.jsbml.Unit; -import org.sbml.jsbml.UnitDefinition; -import org.sbml.jsbml.ext.fbc.FBCConstants; -import org.sbml.jsbml.ext.fbc.FBCModelPlugin; -import org.sbml.jsbml.ext.fbc.FBCReactionPlugin; -import org.sbml.jsbml.ext.fbc.FBCSpeciesPlugin; -import org.sbml.jsbml.ext.fbc.FluxObjective; -import org.sbml.jsbml.ext.fbc.GeneProduct; -import org.sbml.jsbml.ext.fbc.Objective; -import org.sbml.jsbml.ext.groups.Group; -import org.sbml.jsbml.ext.groups.GroupsConstants; -import org.sbml.jsbml.ext.groups.GroupsModelPlugin; -import org.sbml.jsbml.util.ModelBuilder; - -import de.zbit.sbml.util.SBMLtools; -import de.zbit.util.Utils; -import edu.ucsd.sbrg.bigg.BiGGId; -import edu.ucsd.sbrg.miriam.Registry; -import edu.ucsd.sbrg.util.GPRParser; -import edu.ucsd.sbrg.util.SBMLUtils; -import edu.ucsd.sbrg.util.UpdateListener; -import us.hebi.matlab.mat.format.Mat5; -import us.hebi.matlab.mat.format.Mat5File; -import us.hebi.matlab.mat.types.Array; -import us.hebi.matlab.mat.types.Cell; -import us.hebi.matlab.mat.types.Char; -import us.hebi.matlab.mat.types.MatFile.Entry; -import us.hebi.matlab.mat.types.MatlabType; -import us.hebi.matlab.mat.types.Matrix; -import us.hebi.matlab.mat.types.Struct; - -/** - * @author Andreas Dräger - */ -public class COBRAparser { - - /** - * A {@link Logger} for this class. - */ - private static final transient Logger logger = Logger.getLogger(COBRAparser.class.getName()); - private static final String DELIM = " ,;\t\n\r\f"; - /** - * - */ - private MatlabFields mlField; - /** - * - */ - private boolean omitGenericTerms; - - /** - * - */ - private COBRAparser() { - super(); - setOmitGenericTerms(false); - } - - - /** - * @return the omitGenericTerms - */ - public boolean getOmitGenericTerms() { - return omitGenericTerms; - } - - - /** - * @param omitGenericTerms - * the omitGenericTerms to set - */ - public void setOmitGenericTerms(boolean omitGenericTerms) { - this.omitGenericTerms = omitGenericTerms; - } - - - /** - * @param matFile - * @param omitGenericTerms - * @return - * @throws IOException - */ - public static SBMLDocument read(File matFile, boolean omitGenericTerms) throws IOException { - COBRAparser parser = new COBRAparser(); - parser.setOmitGenericTerms(omitGenericTerms); - return parser.parse(matFile); - } - - - /** - * @param matFile - * @return - * @throws IOException - */ - // returns List after parsing - private SBMLDocument parse(File matFile) throws IOException { - Mat5File mat5File = Mat5.readFromFile(matFile); - SBMLDocument doc = parseModel(getModel(mat5File)); - mat5File.close(); - return doc; - } - - - /** - * @param mat5File - * @return - */ - // returns Map of arrayName, Array - private Map getModel(Mat5File mat5File) { - Map content = new HashMap<>(); - for (Entry entry : mat5File.getEntries()) { - content.put(entry.getName(), entry.getValue()); - } - Map nameModel = new HashMap<>(1); - Iterator keys = content.keySet().iterator(); - while (keys.hasNext()) { - // only fetch and process first model in file, assume other models present are equal to it - String name = keys.next(); - Array array = content.get(name); - if ((array.getNumElements() == 1) && array.getType() == MatlabType.Structure) { - nameModel.put(name, array); - break; - } - } - if (content.keySet().size() > 1) { - logger.warning(format(mpMessageBundle.getString("MORE_MODELS_COBRA_FILE"), content.keySet().size())); - } - return nameModel; - } - - - /** - * @param namedModel - * @return - */ - // input = HashMap - private SBMLDocument parseModel(Map namedModel) { - if (namedModel.size() != 1) { - return null; - } - Map.Entry entry = namedModel.entrySet().iterator().next(); - String name = entry.getKey(); - Array model = entry.getValue(); - ModelBuilder builder = new ModelBuilder(3, 1); - builder.buildModel(SBMLtools.toSId(name), null); - SBMLDocument doc = builder.getSBMLDocument(); - doc.addTreeNodeChangeListener(new UpdateListener()); - parseModel(builder, name, model); - return doc; - } - - - /** - * @param builder - * @param array - * @return - */ - // input = builder, arrayName, array - private void parseModel(ModelBuilder builder, String name, Array array) { - Struct struct = (Struct) array; - // Check that the given data structure only contains allowable entries - Struct correctedStruct = Mat5.newStruct(struct.getDimensions()); - List field_names = struct.getFieldNames(); - for (String field_name : field_names) { - Array field = MatlabFields.getStructField(struct, field_name); - checkModelField(correctedStruct, name, field, field_name); - } - Model model = parseModel(correctedStruct, builder); - parseGPRsAndSubsystems(model); - FBCModelPlugin fbc = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); - Objective obj = fbc.createObjective("obj"); - obj.setType(Objective.Type.MAXIMIZE); - fbc.getListOfObjectives().setActiveObjective(obj.getId()); - parseCSense(model); - buildFluxObjectives(model, obj); - parseBValue(model); - } - - - /** - * @param correctedStruct - * @param field - */ - private void checkModelField(Struct correctedStruct, String structName, Array field, String fieldName) { - boolean invalidField = false; - try { - logger.finest(format(mpMessageBundle.getString("FOUND_COMPO"), ModelField.valueOf(fieldName))); - } catch (IllegalArgumentException exc) { - logException(exc); - invalidField = true; - } - finally { - // For each non matched struct field, check if an enum variant exists in a case insensitive way - if (invalidField) { - for (ModelField variant : ModelField.values()) { - String variantLC = variant.name().toLowerCase(); - if (variantLC.equals(fieldName.toLowerCase()) || variantLC.startsWith(fieldName.toLowerCase())) { - if (MatlabFields.getStructField(correctedStruct, variant.name()) != null) { - logger.warning(format(mpMessageBundle.getString("FIELD_ALREADY_PRESENT"), variant.name(), fieldName)); - break; - } - correctedStruct.set(variant.name(), field); - logger.warning(format(mpMessageBundle.getString("CHANGED_TO_VARIANT"), fieldName, variant.name())); - invalidField = false; - break; - } - } - if (invalidField) { - logger.warning(format(mpMessageBundle.getString("CORRECT_VARIANT_FAILED"), fieldName)); - } - } else { - correctedStruct.set(fieldName, field); - } - } - } - - - /** - * @param builder - * @param correctedStruct - * @return - */ - private Model parseModel(Struct correctedStruct, ModelBuilder builder) { - Model model = builder.getModel(); - buildBasicUnits(builder); - mlField = new MatlabFields(correctedStruct); - parseDescription(model); - parseMetabolites(builder); - parseGenes(builder); - parseRxns(builder); - return model; - } - - - /** - * @param builder - */ - private void buildBasicUnits(ModelBuilder builder) { - UnitDefinition ud = builder.buildUnitDefinition("mmol_per_gDW_per_hr", null); - ModelBuilder.buildUnit(ud, 1d, -3, Unit.Kind.MOLE, 1d); - ModelBuilder.buildUnit(ud, 1d, 0, Unit.Kind.GRAM, -1d); - ModelBuilder.buildUnit(ud, 3600d, 0, Unit.Kind.SECOND, -1d); - } - - - /** - * @param model - */ - private void parseDescription(Model model) { - if (mlField.description == null) { - logger.warning(format(mpMessageBundle.getString("FIELD_MISSING"), ModelField.description)); - return; - } - if (mlField.description.getType() == MatlabType.Character) { - Char description = (Char) mlField.description; - if (description.getDimensions()[0] == 1) { - model.setName(description.getRow(0)); - } else { - logger.warning( - format(mpMessageBundle.getString("MANY_IDS_IN_DESC"), ((Char) mlField.description).asCharSequence())); - } - } else if (mlField.description.getType() == MatlabType.Structure) { - mlField.setDescriptionFields(); - if (mlField.name != null) { - model.setName(toString(mlField.name)); - } - if (mlField.organism != null) { - // TODO - } - if (mlField.author != null) { - // TODO - } - if (mlField.geneindex != null) { - // TODO - } - if (mlField.genedate != null) { - // TODO - } - if (mlField.genesource != null) { - // TODO - } - if (mlField.notes != null) { - try { - model.appendNotes(SBMLtools.toNotesString("

    " + toString(mlField.notes) + "

    ")); - } catch (XMLStreamException exc) { - logException(exc); - } - } - } - } - - - /** - * @param exc - */ - private void logException(Exception exc) { - logger.warning(format("{0}: {1}", exc.getClass().getSimpleName(), Utils.getMessage(exc))); - } - - - /** - * @param builder - */ - private void parseMetabolites(ModelBuilder builder) { - Model model = builder.getModel(); - for (int i = 0; (mlField.mets != null) && (i < mlField.mets.getNumElements()); i++) { - parseMetabolite(model, i); - } - } - - - /** - * @param model - * @param i - */ - private void parseMetabolite(Model model, int i) { - String id = toString(mlField.mets.get(i), ModelField.mets.name(), i + 1); - if (id.isEmpty()) { - return; - } - BiGGId.createMetaboliteId(id).ifPresent(biggId -> { - Species species = model.createSpecies(biggId.toBiGGId()); - parseSpeciesFields(species, i); - parseAnnotation(species, i); - }); - } - - - /** - * @param species - * @param i - */ - private void parseSpeciesFields(Species species, int i) { - if (mlField.metNames != null) { - species.setName(toString(mlField.metNames.get(i), ModelField.metNames.name(), i + 1)); - } - if ((mlField.metFormulas != null) || (mlField.metCharge != null)) { - FBCSpeciesPlugin specPlug = (FBCSpeciesPlugin) species.getPlugin(FBCConstants.shortLabel); - if (exists(mlField.metFormulas, i)) { - specPlug.setChemicalFormula(toString(mlField.metFormulas.get(i), ModelField.metFormulas.name(), i + 1)); - } - if ((mlField.metCharge != null) && (mlField.metCharge.getNumElements() > i)) { - double charge = mlField.metCharge.getDouble(i); - specPlug.setCharge((int) charge); - if (charge - ((int) charge) != 0d) { - logger.warning(format(mpMessageBundle.getString("CHARGE_TO_INT_COBRA"), charge, specPlug.getCharge())); - } - } - } - if ((mlField.metSmile != null) && (mlField.metSmile.get(i) != null)) { - String smile = toString(mlField.metSmile.get(i), ModelField.metSmile.name(), i + 1); - if (!isEmptyString(smile)) { - try { - species.appendNotes("SMILES: " + smile + ""); - } catch (XMLStreamException exc) { - logException(exc); - } - } - } - if (species.isSetAnnotation()) { - species.setMetaId(species.getId()); - } - } - - - /** - * @param cell - * @param i - * @return - */ - private boolean exists(Array cell, int i) { - if (cell != null) { - if (cell instanceof Cell) { - return (((Cell) cell).get(i) != null); - } - return true; - } - return false; - } - - - /** - * @param string - * the {@link String} to be tested. - * @return {@code true} if the given {@link String} is either {@code null} or - * empty or equals empty square brackets. - */ - private boolean isEmptyString(String string) { - return (string == null) || string.isEmpty() || string.equals("[]"); - } - - - /** - * @param species - * @param i - */ - private void parseAnnotation(Species species, int i) { - CVTerm term = new CVTerm(); - term.setQualifierType(CVTerm.Type.BIOLOGICAL_QUALIFIER); - term.setBiologicalQualifierType(CVTerm.Qualifier.BQB_IS); - addResource(mlField.metCHEBIID, i, term, "ChEBI"); - addResource(mlField.metHMDB, i, term, "HMDB"); - addResource(mlField.metInchiString, i, term, "InChI"); - addKEGGResources(term, i); - addPubChemResources(term, i); - if (term.getResourceCount() > 0) { - species.addCVTerm(term); - } - } - - - /** - * Adds resources to provided CVTerm if catalog and id from MLCell - * provide a valid URI. Logs ids not matching collection patterns - * and invalid collections. In both cases no resource is added. - * - * @param cell - * @param i - * the index within the cell. - * @param term - * @param collection - */ - private boolean addResource(Cell cell, int i, CVTerm term, String collection) { - boolean success = false; - if (exists(cell, i)) { - String id = Optional.ofNullable(toMIRIAMid((Array) cell.get(i))).orElse(""); - if (!id.isEmpty()) { - id = checkId(id); - String prefix = Registry.getPrefixForCollection(collection); - if (!prefix.isEmpty()) { - String resource; - if (id.startsWith("http")) { - resource = id; - } else { - resource = Registry.createURI(prefix, id); - } - String finalId = id; - success = Registry.checkResourceUrl(resource).map(res -> { - term.addResource(res); - logger.finest(format(mpMessageBundle.getString("ADDED_URI_COBRA"), res)); - return true; - }).orElseGet(() -> { - logger.severe(format(mpMessageBundle.getString("ADD_URI_FAILED_COBRA"), collection, finalId)); - return false; - }); - } - } - } - return success; - } - - - /** - * @param array: - * MLArray to be stringified - * @return String representation of the given array - */ - private String toMIRIAMid(Array array) { - return toMIRIAMid(toString(array)); - } - - - /** - * @param idCandidate: - * id part for the uri - * @return finalized id, without [, ], ' at the string boundaries - */ - private String toMIRIAMid(String idCandidate) { - if ((idCandidate == null) || idCandidate.isEmpty()) { - return null; - } - int start = 0; - int end = idCandidate.length() - 1; - if ((idCandidate.charAt(start) == '[') || (idCandidate.charAt(start) == '\'')) { - start++; - } - if ((idCandidate.charAt(end) == ']') || (idCandidate.charAt(end) == '\'')) { - end--; - } - // substring method already decrements second index - return (start < end) ? idCandidate.substring(start, end + 1) : null; - } - - - /** - * Necessary to check for a special whitespace (code 160) at beginning of id - * (iCHOv1.mat, possibly other models) and to remove trailing ';' - * - * @param id - * @return: trimmed id without ';' at the end - */ - private String checkId(String id) { - if (id.startsWith("InChI")) { - return id; - } - if (id.startsWith(Character.toString((char) 160)) || id.startsWith("/")) { - id = id.substring(1); - } - if (id.endsWith(";")) { - id = id.substring(0, id.length() - 1); - } else if (id.contains(";")) { - logger.warning(mpMessageBundle.getString("TRUNCATED_ID") + id); - id = id.substring(0, id.indexOf(";")); - } - return id; - } - - - /** - * Checks if id belongs to a given collection by matching it with the - * respective regexp - * - * @param prefix: - * Miriam collection - * @param id: - * id to test for membership - * @return {@code true}, if it matches, else {@code false} - */ - private boolean validId(String prefix, String id) { - if (id.isEmpty()) { - return false; - } - String pattern = Registry.getPattern(Registry.getCollectionForPrefix(prefix)); - boolean validId = false; - if (!pattern.equals("")) { - validId = Registry.checkPattern(id, pattern); - if (!validId) { - logger.warning(format(mpMessageBundle.getString("PATTERN_MISMATCH"), id, pattern)); - } - } else { - logger.severe(format(mpMessageBundle.getString("COLLECTION_UNKNOWN"), prefix)); - } - return validId; - } - - - /** - * @param term - * @param i - * @return - */ - private boolean addKEGGResources(CVTerm term, int i) { - // use short circuit evaluation to only run addResource until one of them returns true - // return type is needed for this to work - return addResource(mlField.metKeggID, i, term, "KEGG Compound") - || addResource(mlField.metKeggID, i, term, "KEGG Drug") || addResource(mlField.metKeggID, i, term, "KEGG Genes") - || addResource(mlField.metKeggID, i, term, "KEGG Glycan") - || addResource(mlField.metKeggID, i, term, "KEGG Pathway"); - } - - - /** - * @param i - * @param term - * @return - */ - private boolean addPubChemResources(CVTerm term, int i) { - return addResource(mlField.metPubChemID, i, term, "PubChem-compound") - || addResource(mlField.metPubChemID, i, term, "PubChem-substance"); - } - - - /** - * @param builder - */ - private void parseGenes(ModelBuilder builder) { - if (mlField.genes == null) { - logger.info(mpMessageBundle.getString("GENES_MISSING")); - return; - } - Model model = builder.getModel(); - FBCModelPlugin modelPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); - for (int i = 0; i < mlField.genes.getNumElements(); i++) { - parseGene(modelPlug, i); - } - } - - - /** - * @param modelPlug - * @param i - */ - private void parseGene(FBCModelPlugin modelPlug, int i) { - String id = toString(mlField.genes.get(i), ModelField.genes.name(), i + 1); - if (id.isEmpty()) { - return; - } - BiGGId.createGeneId(id).ifPresent(biggId -> { - GeneProduct gp = modelPlug.createGeneProduct(biggId.toBiGGId()); - gp.setLabel(id); - gp.setName(id); - }); - } - - - /** - * @param builder - */ - @SuppressWarnings("unchecked") - private void parseRxns(ModelBuilder builder) { - for (int j = 0; (mlField.rxns != null) && (j < mlField.rxns.getNumElements()); j++) { - parseRxn(builder, j); - } - } - - - /** - * @param builder - * @param index - */ - private void parseRxn(ModelBuilder builder, int index) { - Model model = builder.getModel(); - String reactionId = toString(mlField.rxns.get(index), ModelField.rxns.name(), index + 1); - if (reactionId.isEmpty()) { - return; - } - BiGGId.createReactionId(reactionId).ifPresent(biggId -> { - Reaction reaction = model.createReaction(biggId.toBiGGId()); - setNameAndReversibility(reaction, index); - setReactionBounds(builder, reaction, index); - buildReactantsProducts(model, reaction, index); - parseAnnotations(builder, reaction, reactionId, index); - if (reaction.getCVTermCount() > 0) { - reaction.setMetaId(reaction.getId()); - } - }); - } - - - /** - * @param reaction - * @param index - */ - private void setNameAndReversibility(Reaction reaction, int index) { - if (mlField.rxnNames != null) { - reaction.setName(toString(mlField.rxnNames.get(index), ModelField.rxnNames.name(), index + 1)); - } - if (mlField.rev != null) { - reaction.setReversible(mlField.rev.getDouble(index) != 0d); - } - } - - - /** - * @param builder - * @param reaction - * @param index - */ - private void setReactionBounds(ModelBuilder builder, Reaction reaction, int index) { - FBCReactionPlugin rPlug = (FBCReactionPlugin) reaction.getPlugin(FBCConstants.shortLabel); - if (mlField.lb != null) { - rPlug.setLowerFluxBound(builder.buildParameter(reaction.getId() + "_lb", reaction.getId() + "_lb", - mlField.lb.getDouble(index), true, (String) null)); - } - if (mlField.ub != null) { - rPlug.setUpperFluxBound(builder.buildParameter(reaction.getId() + "_ub", reaction.getId() + "_lb", - mlField.ub.getDouble(index), true, (String) null)); - } - } - - - /** - * @param model - * @param reaction - * @param index - */ - private void buildReactantsProducts(Model model, Reaction reaction, int index) { - // Take the current column of S and look for all non-zero coefficients - for (int i = 0; (mlField.S != null) && (i < mlField.S.getNumRows()); i++) { - double coeff = mlField.S.getDouble(i, index); - if (coeff != 0d) { - try { - String id = toString(mlField.mets.get(i), ModelField.mets.name(), i + 1); - BiGGId.createMetaboliteId(id).ifPresent(metId -> { - Species species = model.getSpecies(metId.toBiGGId()); - if (coeff < 0d) { // Reactant - ModelBuilder.buildReactants(reaction, pairOf(-coeff, species)); - } else if (coeff > 0d) { // Product - ModelBuilder.buildProducts(reaction, pairOf(coeff, species)); - } - }); - } catch (IllegalArgumentException exc) { - logger.warning(format(mpMessageBundle.getString("REACT_PARTIC_INVALID"), Utils.getMessage(exc))); - } - } - } - } - - - /** - * @param builder - * @param reaction - * @param rId - * @param index - */ - private void parseAnnotations(ModelBuilder builder, Reaction reaction, String rId, int index) { - if (exists(mlField.ecNumbers, index)) { - parseECcodes(toString(mlField.ecNumbers.get(index), ModelField.ecNumbers.name(), index + 1), reaction); - } - if (exists(mlField.rxnKeggID, index)) { - parseRxnKEGGids(toString(mlField.rxnKeggID.get(index), ModelField.rxnKeggID.name(), index + 1), reaction); - } - if (exists(mlField.rxnKeggOrthology, index)) { - parseRxnKEGGOrthology( - toString(mlField.rxnKeggOrthology.get(index), ModelField.rxnKeggOrthology.name(), index + 1), reaction); - } - if (exists(mlField.comments, index)) { - String comment = toString(mlField.comments.get(index), ModelField.comments.name(), index + 1); - appendComment(comment, reaction); - } - if (exists(mlField.confidenceScores, index)) { - Array cell = mlField.confidenceScores.get(index); - if (cell instanceof Matrix) { - if (cell.getNumElements() == 0) { - logger.warning(mpMessageBundle.getString("CONF_CELL_WRONG_DIMS")); - return; - } - double score = ((Matrix) cell).getDouble(0); - logger.fine(format(mpMessageBundle.getString("DISPLAY_CONF_SCORE"), score, reaction.getId())); - builder.buildParameter("P_confidenceScore_of_" + SBMLtools.toSId(rId), // id - format("Confidence score of reaction {0}", reaction.isSetName() ? reaction.getName() : reaction.getId()), // name - score, // value - true, // constant - Unit.Kind.DIMENSIONLESS // unit - ).setSBOTerm(613); - // TODO: there should be a specific term for confidence scores. - // Use "613 - reaction parameter" for now. - } else { - logger.warning(format(mpMessageBundle.getString("TYPE_MISMATCH_MLDOUBLE"), cell.getClass().getSimpleName())); - } - } - if (exists(mlField.citations, index)) { - parseCitation(toString(mlField.citations.get(index), ModelField.citations.name(), index + 1), reaction); - } - } - - - /** - * @param ec - * @param reaction - */ - private void parseECcodes(String ec, Reaction reaction) { - if (isEmptyString(ec)) { - return; - } - CVTerm term = findOrCreateCVTerm(reaction, CVTerm.Qualifier.BQB_HAS_PROPERTY); - StringTokenizer st = new StringTokenizer(ec, DELIM); - boolean match = false; - while (st.hasMoreElements()) { - String ecCode = st.nextElement().toString().trim(); - if (!ecCode.isEmpty() && validId("ec-code", ecCode)) { - String resource = Registry.createURI("ec-code", ecCode); - if (!term.getResources().contains(resource)) { - match = term.addResource(resource); - } - } - } - if (!match) { - logger.warning(format(mpMessageBundle.getString("EC_CODES_UNKNOWN"), ec)); - } - if ((term.getResourceCount() > 0) && (term.getParent() == null)) { - reaction.addCVTerm(term); - } - } - - - /** - * @param keggId - * @param reaction - */ - private void parseRxnKEGGids(String keggId, Reaction reaction) { - if (isEmptyString(keggId)) { - return; - } - String prefix = "kegg.reaction"; - String pattern = Registry.getPattern(Registry.getCollectionForPrefix(prefix)); - CVTerm term = findOrCreateCVTerm(reaction, CVTerm.Qualifier.BQB_IS); - StringTokenizer st = new StringTokenizer(keggId, DELIM); - while (st.hasMoreElements()) { - String kId = st.nextElement().toString().trim(); - if (!kId.isEmpty() && Registry.checkPattern(kId, pattern)) { - term.addResource(Registry.createURI(prefix, kId)); - } - } - if (term.getResourceCount() == 0) { - // This is actually bad.. should only be KEGG ids, not EC-Codes - parseECcodes(keggId, reaction); - } - if ((term.getResourceCount() > 0) && (term.getParent() == null)) { - reaction.addCVTerm(term); - } - } - - - /** - * @param keggId - * @param reaction - */ - private void parseRxnKEGGOrthology(String keggId, Reaction reaction) { - if (isEmptyString(keggId)) { - return; - } - String catalog = "kegg.orthology"; - String pattern = Registry.getPattern(Registry.getCollectionForPrefix(catalog)); - CVTerm term = findOrCreateCVTerm(reaction, CVTerm.Qualifier.BQB_IS); - StringTokenizer st = new StringTokenizer(keggId, DELIM); - while (st.hasMoreElements()) { - String kId = st.nextElement().toString().trim(); - if (!kId.isEmpty() && Registry.checkPattern(kId, pattern)) { - term.addResource(Registry.createURI(catalog, kId)); - } - } - if ((term.getResourceCount() > 0) && (term.getParent() == null)) { - reaction.addCVTerm(term); - } - } - - - /** - * Searches for the first {@link CVTerm} within the given {@link SBase} that - * has the given {@link CVTerm.Qualifier}. - * - * @param sbase - * @param qualifier - * @return the found {@link CVTerm} or a new {@link CVTerm} if non exists. - * To distinguish between both cases, test if the parent is - * {@code null}. - */ - private CVTerm findOrCreateCVTerm(SBase sbase, CVTerm.Qualifier qualifier) { - if (sbase.getCVTermCount() > 0) { - for (CVTerm term : sbase.getCVTerms()) { - if (term.getQualifier().equals(qualifier)) { - return term; - } - } - } - return new CVTerm(CVTerm.Type.BIOLOGICAL_QUALIFIER, qualifier); - } - - - /** - * @param comment - * @param sbase - */ - private void appendComment(String comment, SBase sbase) { - try { - if (!isEmptyString(comment)) { - sbase.appendNotes(SBMLtools.toNotesString("

    " + comment + "

    ")); - } - } catch (XMLStreamException exc) { - logException(exc); - } - } - - - /** - * @param citation - * @param reaction - */ - private void parseCitation(String citation, Reaction reaction) { - StringBuilder otherCitation = new StringBuilder(); - if (isEmptyString(citation)) { - return; - } - CVTerm term = new CVTerm(CVTerm.Type.BIOLOGICAL_QUALIFIER, CVTerm.Qualifier.BQB_IS_DESCRIBED_BY); - StringTokenizer st = new StringTokenizer(citation, ","); - while (st.hasMoreElements()) { - String ref = st.nextElement().toString().trim(); - if (!addResource(ref, term, "pubmed")) { - if (!addResource(ref, term, "doi")) { - if (otherCitation.length() > 0) { - otherCitation.append(", "); - } - otherCitation.append(ref); - } - } - } - if (otherCitation.length() > 0) { - try { - if (reaction.isSetNotes()) { - reaction.appendNotes("\n\nReference: " + otherCitation); - } else { - reaction.appendNotes(SBMLtools.toNotesString("

    Reference: " + otherCitation.toString() + "

    ")); - } - } catch (XMLStreamException exc) { - logException(exc); - } - } - if ((term.getResourceCount() > 0) && (term.getParent() == null)) { - reaction.addCVTerm(term); - } - } - - - /** - * Tries to update a resource according to pre-defined rules. If the resource - * starts with the MIRIAM name followed by a colon, its value is added to the - * given term. This method assumes that there is a colon between catalog id - * and resource id. If this is not the case, {@code false} will be returned. - * - * @param resource - * @param term - * @param prefix - * @return {@code true} if successful, {@code false} otherwise. - */ - private boolean addResource(String resource, CVTerm term, String prefix) { - StringTokenizer st = new StringTokenizer(resource, " "); - while (st.hasMoreElements()) { - String r = st.nextElement().toString().trim(); - if (r.contains(":")) { - r = r.substring(r.indexOf(':') + 1).trim(); - } else { - continue; - } - if (r.endsWith("'") || r.endsWith(".")) { - r = r.substring(0, r.length() - 1); - } - r = checkId(r); - if (validId(prefix, r)) { - if (!resource.isEmpty()) { - if (st.countTokens() > 1) { - logger.warning(format(mpMessageBundle.getString("SKIP_COMMENT"), resource, r, prefix)); - } - resource = Registry.createURI(prefix, r); - logger.finest(format(mpMessageBundle.getString("ADDED_URI"), resource)); - return term.addResource(resource); - } - } - } - return false; - } - - - /** - * @param model - */ - private void parseGPRsAndSubsystems(Model model) { - for (int i = 0; (mlField.grRules != null) && (i < mlField.grRules.getNumElements()); i++) { - String geneReactionRule = toString(mlField.grRules.get(i), ModelField.grRules.name(), i + 1); - if (model.getReaction(i) == null) { - logger.severe(format(mpMessageBundle.getString("CREATE_GPR_FAILED"), i)); - } else { - GPRParser.parseGPR(model.getReaction(i), geneReactionRule, omitGenericTerms); - } - } - if ((mlField.subSystems != null) && (mlField.subSystems.getNumElements() > 0)) { - parseSubsystems(model); - } - } - - - /** - * @param model - */ - private void parseSubsystems(Model model) { - // this is to avoid creating the identical group multiple times. - Map nameToGroup = new HashMap<>(); - GroupsModelPlugin groupsModelPlugin = (GroupsModelPlugin) model.getPlugin(GroupsConstants.shortLabel); - for (int i = 0; (mlField.subSystems != null) && (i < mlField.subSystems.getNumElements()); i++) { - String name = toString(mlField.subSystems.get(i), ModelField.subSystems.name(), i + 1); - Group group = nameToGroup.get(name); - if (group == null) { - group = groupsModelPlugin.createGroup(); - group.setName(name); - group.setKind(Group.Kind.partonomy); - nameToGroup.put(name, group); - } - if (model.getReaction(i) != null) { - SBMLUtils.createSubsystemLink(model.getReaction(i), group.createMember()); - } else { - logger.severe(format(mpMessageBundle.getString("SUBSYS_LINK_ERROR"), i)); - } - } - } - - - /** - * @param model - */ - private void parseCSense(Model model) { - if (mlField.csense == null) { - return; - } - for (int i = 0; (mlField.csense != null) && (i < mlField.csense.getNumElements()); i++) { - try { - char c = mlField.csense.getChar(i, 0); - // TODO: only 'E' (equality) is supported for now! - if (c != 'E' && model.getListOfSpecies().size() > i) { - logger.severe(format(mpMessageBundle.getString("NEQ_RELATION_UNSUPPORTED"), model.getSpecies(i).getId())); - } - } catch (Exception e) { - logger.info(e.toString()); - return; - } - } - } - - - /** - * @param model - * @param obj - */ - private void buildFluxObjectives(Model model, Objective obj) { - for (int i = 0; (mlField.coefficients != null) && (i < mlField.coefficients.getNumElements()); i++) { - double coefficient = mlField.coefficients.getDouble(i); - if (coefficient != 0d) { - Reaction r = model.getReaction(i); - if (r == null) { - break; - } - FluxObjective fo = obj.createFluxObjective("fo_" + r.getId()); - fo.setCoefficient(coefficient); - fo.setReaction(r); - } - } - } - - - /** - * @param model - */ - private void parseBValue(Model model) { - for (int i = 0; (mlField.b != null) && (i < mlField.b.getNumElements()); i++) { - double bVal = mlField.b.getDouble(i); - if (bVal != 0d && model.getListOfSpecies().size() > i) { - // TODO: this should be incorporated into FBC version 3. - logger.warning(format(mpMessageBundle.getString("B_VALUE_UNSUPPORTED"), bVal, model.getSpecies(i).getId())); - } - } - } - - - private String toString(Array array) { - return toString(array, null, -1); - } - - - /** - * @param array - * @param parentName - * @param parentIndex - * @return - */ - private String toString(Array array, String parentName, int parentIndex) { - StringBuilder sb = new StringBuilder(); - if (array.getType() == MatlabType.Character) { - Char string = (Char) array; - if (string.getDimensions()[0] > 1) { - logger.fine(format(mpMessageBundle.getString("MANY_STRINGS_IN_CELL"), string.asCharSequence())); - } - for (int i = 0; i < string.getDimensions()[0]; i++) { - if (i > 0) { - sb.append('\n'); - } - sb.append(string.getRow(i)); - } - } else if (!Arrays.equals(array.getDimensions(), new int[] {0, 0})) { - logger.warning(format(mpMessageBundle.getString("TYPE_MISMATCH_STRING"), array.getType().toString(), - "parentName = %s", parentName, "parentIndex = %s", parentIndex)); - } - return sb.toString(); - } -} diff --git a/src/main/java/edu/ucsd/sbrg/parsers/JSONwriter.java b/src/main/java/edu/ucsd/sbrg/parsers/JSONwriter.java deleted file mode 100644 index 23283c36..00000000 --- a/src/main/java/edu/ucsd/sbrg/parsers/JSONwriter.java +++ /dev/null @@ -1,111 +0,0 @@ -package edu.ucsd.sbrg.parsers; - -import java.util.logging.Logger; - -import org.sbml.jsbml.Parameter; -import org.sbml.jsbml.Reaction; -import org.sbml.jsbml.Species; -import org.sbml.jsbml.ext.fbc.FBCConstants; -import org.sbml.jsbml.ext.fbc.FBCReactionPlugin; -import org.sbml.jsbml.ext.fbc.FBCSpeciesPlugin; -import org.sbml.jsbml.ext.fbc.GeneProduct; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; - -import edu.ucsd.sbrg.parsers.models.Metabolite; -import edu.ucsd.sbrg.parsers.models.Metabolites; - -public class JSONwriter { - - private static final Logger logger = Logger.getLogger(JSONwriter.class.getName()); - - /** - * @param g - */ - public static void geneToJSON(GeneProduct g) { - edu.ucsd.sbrg.parsers.models.Gene gene = new edu.ucsd.sbrg.parsers.models.Gene(); - gene.setId(g.getId()); - gene.setName(g.getName()); - ObjectMapper mapper = new ObjectMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - try { - logger.info(String.format("GENE JSON:\n%s\n", mapper.writeValueAsString(gene))); - } catch (JsonProcessingException e) { - e.printStackTrace(); - } - } - - - /** - * @param r: - * SBML Reaction - */ - public static void reactionToJSON(Reaction r) { - edu.ucsd.sbrg.parsers.models.Reaction reaction = new edu.ucsd.sbrg.parsers.models.Reaction(); - reaction.setId(r.getId()); - reaction.setName(r.getName()); - Metabolites metabolites = new Metabolites(); - r.getListOfReactants().forEach(reference -> metabolites.add(reference.getSpecies(), - reference.getStoichiometry() < 0 ? reference.getStoichiometry() * -1 : reference.getStoichiometry())); - r.getListOfProducts().forEach(reference -> metabolites.add(reference.getSpecies(), reference.getStoichiometry())); - reaction.setMetabolites(metabolites); - FBCReactionPlugin fbc = (FBCReactionPlugin) r.getPlugin(FBCConstants.shortLabel); - // dummy value - reaction.setGeneReactionRule(""); - boolean reversible = r.isReversible(); - Parameter lb = fbc.getLowerFluxBoundInstance(); - double lbVal; - if(reversible){ - lbVal = -1000d; - }else{ - lbVal = 0d; - } - if(lb != null){ - lbVal = lb.getValue(); - } - reaction.setLowerBound(lbVal); - Parameter ub = fbc.getUpperFluxBoundInstance(); - double ubVal = 1000; - if(ub != null){ - ubVal = ub.getValue(); - } - reaction.setUpperBound(ubVal); - // dummy value - reaction.setObjectiveCoefficient(0); - ObjectMapper mapper = new ObjectMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - try { - logger.info(String.format("REACTION JSON:\n%s\n", mapper.writeValueAsString(reaction))); - } catch (JsonProcessingException e) { - e.printStackTrace(); - } - } - - - /** - * @param species: - * SBML Species - */ - public static void speciesToJSON(Species species) { - Metabolite metabolite = new Metabolite(); - metabolite.setId(species.getId()); - metabolite.setName(species.getName()); - metabolite.setCompartment(species.getCompartment()); - FBCSpeciesPlugin fbc = (FBCSpeciesPlugin) species.getPlugin(FBCConstants.shortLabel); - if (fbc.isSetCharge()) { - metabolite.setCharge(fbc.getCharge()); - } - if (fbc.isSetChemicalFormula()) { - metabolite.setFormula(fbc.getChemicalFormula()); - } - ObjectMapper mapper = new ObjectMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - try { - logger.info(String.format("SPECIES JSON:\n%s\n", mapper.writeValueAsString(metabolite))); - } catch (JsonProcessingException e) { - e.printStackTrace(); - } - } -} diff --git a/src/main/java/edu/ucsd/sbrg/parsers/MatlabFields.java b/src/main/java/edu/ucsd/sbrg/parsers/MatlabFields.java deleted file mode 100644 index b3e4f687..00000000 --- a/src/main/java/edu/ucsd/sbrg/parsers/MatlabFields.java +++ /dev/null @@ -1,228 +0,0 @@ -package edu.ucsd.sbrg.parsers; - -import static edu.ucsd.sbrg.bigg.ModelPolisher.mpMessageBundle; -import static java.text.MessageFormat.format; - -import java.util.logging.Logger; - -import us.hebi.matlab.mat.types.Array; -import us.hebi.matlab.mat.types.Cell; -import us.hebi.matlab.mat.types.Char; -import us.hebi.matlab.mat.types.MatlabType; -import us.hebi.matlab.mat.types.Matrix; -import us.hebi.matlab.mat.types.Sparse; -import us.hebi.matlab.mat.types.Struct; - -/** - * - */ -class MatlabFields { - - /** - * A {@link Logger} for this class. - */ - private static final transient Logger logger = Logger.getLogger(MatlabFields.class.getName()); - // fields - Array description; - Cell author; - Cell citations; - Cell comments; - Cell confidenceScores; - Cell ecNumbers; - Cell genedate; - Cell geneindex; - Cell genesource; - Cell genes; - Cell grRules; - Cell metCHEBIID; - Cell metFormulas; - Cell metHMDB; - Cell metInchiString; - Cell metKeggID; - Cell metNames; - Cell metPubChemID; - Cell metSmile; - Cell mets; - Cell name; - Cell notes; - Cell organism; - Cell rxns; - Cell rxnCOG; - Cell rxnKeggID; - Cell rxnKeggOrthology; - Cell rxnNames; - Cell subSystems; - Char csense; - Matrix lb; // Double - Matrix metCharge; // Double - Matrix ub; // Double - Matrix b; // NumericArray - Matrix coefficients; // NumericArray - Matrix rev; // NumericArray - Sparse S; - Struct struct; - - /** - * @param struct - */ - MatlabFields(Struct struct) { - this.struct = struct; - initializeFields(); - } - - - /** - * - */ - void initializeFields() { - b = toNumericArrayMatrix(getStructField(ModelField.b)); - citations = toCell(getStructField(ModelField.citations), ModelField.citations.name()); - coefficients = toNumericArrayMatrix(getStructField(ModelField.c)); - comments = toCell(getStructField(ModelField.comments), ModelField.comments.name()); - confidenceScores = toCell(getStructField(ModelField.confidenceScores), ModelField.confidenceScores.name()); - description = toCell(getStructField(ModelField.description), ModelField.description.name()); - csense = toChar(getStructField(ModelField.csense), ModelField.csense.name()); - ecNumbers = toCell(getStructField(ModelField.ecNumbers), ModelField.ecNumbers.name()); - genes = toCell(getStructField(ModelField.mets), ModelField.mets.name()); - grRules = toCell(getStructField(ModelField.grRules), ModelField.grRules.name()); - lb = toDouble(getStructField(ModelField.lb), ModelField.lb.name()); - mets = toCell(getStructField(ModelField.mets), ModelField.mets.name()); - metCharge = toDouble(getStructField(ModelField.metCharge), ModelField.metCharge.name()); - metCHEBIID = toCell(getStructField(ModelField.metCHEBIID), ModelField.metCHEBIID.name()); - metFormulas = toCell(getStructField(ModelField.metFormulas), ModelField.metFormulas.name()); - metHMDB = toCell(getStructField(ModelField.metHMDB), ModelField.metHMDB.name()); - metInchiString = toCell(getStructField(ModelField.metInchiString), ModelField.metInchiString.name()); - metKeggID = toCell(getStructField(ModelField.metKeggID), ModelField.metKeggID.name()); - metNames = toCell(getStructField(ModelField.metNames), ModelField.metNames.name()); - metPubChemID = toCell(getStructField(ModelField.metPubChemID), ModelField.metPubChemID.name()); - metSmile = toCell(getStructField(ModelField.metSmile), ModelField.metSmile.name()); - rev = toNumericArrayMatrix(getStructField(ModelField.rev)); - rxns = toCell(getStructField(ModelField.rxns), ModelField.rxns.name()); - rxnCOG = toCell(getStructField(ModelField.rxnCOG), ModelField.rxnCOG.name()); - rxnKeggID = toCell(getStructField(ModelField.rxnKeggID), ModelField.rxnKeggID.name()); - rxnKeggOrthology = toCell(getStructField(ModelField.rxnKeggOrthology), ModelField.rxnKeggOrthology.name()); - rxnNames = toCell(getStructField(ModelField.rxnNames), ModelField.rxnNames.name()); - S = toSparse(getStructField(ModelField.S), ModelField.S.name()); - subSystems = toCell(getStructField(ModelField.subSystems), ModelField.subSystems.name()); - ub = toDouble(getStructField(ModelField.ub), ModelField.ub.name()); - } - - - /** - * - */ - void setDescriptionFields() { - Struct descrStruct = (Struct) description; - name = toCell(getStructField(descrStruct, ModelField.name), ModelField.name.name()); - organism = toCell(getStructField(descrStruct, ModelField.organism), ModelField.organism.name()); - author = toCell(getStructField(descrStruct, ModelField.author), ModelField.author.name()); - geneindex = toCell(getStructField(descrStruct, ModelField.geneindex), ModelField.geneindex.name()); - genedate = toCell(getStructField(descrStruct, ModelField.genedate), ModelField.genedate.name()); - genesource = toCell(getStructField(descrStruct, ModelField.genesource), ModelField.genesource.name()); - notes = toCell(getStructField(descrStruct, ModelField.notes), ModelField.notes.name()); - } - - - /** - * @param field - * @return - */ - private Array getStructField(ModelField field) { - return getStructField(this.struct, field.name()); - } - - - /** - * @param struct - * @param field - * @return - */ - private Array getStructField(Struct struct, ModelField field) { - return getStructField(struct, field.name()); - } - - - /** - * @param struct - * @param fieldName - * @return Array - */ - static Array getStructField(Struct struct, String fieldName) { - try { - return struct.get(fieldName); - } catch (Exception e) { - logger.info(format(mpMessageBundle.getString("STRUCT_FIELD_NOT_PRESENT"), fieldName, e.toString())); - return null; - } - } - - - /** - * @param array - * @return - */ - private Cell toCell(Array array, String arrayName) { - if (array != null) { - if (array.getType() == MatlabType.Cell) { - return (Cell) array; - } - logger.warning(format(mpMessageBundle.getString("TYPE_MISMATCH_CELL"), array.getType().toString(), arrayName)); - } - return null; - } - - - /** - * @param array - * @return - */ - private Char toChar(Array array, String arrayName) { - if (array != null) { - if (array.getType() == MatlabType.Character) { - return (Char) array; - } - logger.warning(format(mpMessageBundle.getString("TYPE_MISMATCH_CHAR"), array.getType().toString(), arrayName)); - } - return null; - } - - - /** - * @param array - * @return - */ - private Matrix toDouble(Array array, String arrayName) { - if (array != null) { - if (array.getType() == MatlabType.Double) { - return (Matrix) array; - } - logger.warning(format(mpMessageBundle.getString("TYPE_MISMATCH_DOUBLE"), array.getType().toString(), arrayName)); - } - return null; - } - - - /** - * @param array - * @return - */ - private Matrix toNumericArrayMatrix(Array array) { - if (array instanceof Matrix) { - return (Matrix) array; - } - return null; - } - - - /** - * @param array - * @return - */ - private Sparse toSparse(Array array, String arrayName) { - if (array.getType() == MatlabType.Sparse) { - return (Sparse) array; - } - logger.warning(format(mpMessageBundle.getString("TYPE_MISMATCH_S_ARRAY"), array.getType().toString(), arrayName)); - return null; - } -} diff --git a/src/main/java/edu/ucsd/sbrg/parsers/package-info.java b/src/main/java/edu/ucsd/sbrg/parsers/package-info.java deleted file mode 100644 index 302c37e0..00000000 --- a/src/main/java/edu/ucsd/sbrg/parsers/package-info.java +++ /dev/null @@ -1,7 +0,0 @@ -/* - * - */ -/** - * @author Andreas Dräger - */ -package edu.ucsd.sbrg.parsers; diff --git a/src/main/java/edu/ucsd/sbrg/util/GPRParser.java b/src/main/java/edu/ucsd/sbrg/util/GPRParser.java deleted file mode 100644 index f6b39363..00000000 --- a/src/main/java/edu/ucsd/sbrg/util/GPRParser.java +++ /dev/null @@ -1,356 +0,0 @@ -package edu.ucsd.sbrg.util; - -import static edu.ucsd.sbrg.bigg.ModelPolisher.mpMessageBundle; - -import java.io.StringReader; -import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.logging.Logger; - -import org.sbml.jsbml.ASTNode; -import org.sbml.jsbml.Annotation; -import org.sbml.jsbml.Model; -import org.sbml.jsbml.Reaction; -import org.sbml.jsbml.ext.fbc.And; -import org.sbml.jsbml.ext.fbc.Association; -import org.sbml.jsbml.ext.fbc.FBCConstants; -import org.sbml.jsbml.ext.fbc.FBCModelPlugin; -import org.sbml.jsbml.ext.fbc.FBCReactionPlugin; -import org.sbml.jsbml.ext.fbc.GeneProduct; -import org.sbml.jsbml.ext.fbc.GeneProductAssociation; -import org.sbml.jsbml.ext.fbc.GeneProductRef; -import org.sbml.jsbml.ext.fbc.LogicalOperator; -import org.sbml.jsbml.ext.fbc.Or; -import org.sbml.jsbml.text.parser.CobraFormulaParser; -import org.sbml.jsbml.xml.XMLNode; - -import de.zbit.util.Utils; -import edu.ucsd.sbrg.bigg.BiGGId; - -public class GPRParser { - - /** - * A {@link Logger} for this class. - */ - private static final Logger logger = Logger.getLogger(GPRParser.class.getName()); - /** - * Mapping holding geneAssociations from model annotations - */ - private static Map oldGeneAssociations; - - /** - * resets Map containing geneAssociation XMLNodes, as it is only valid for one model - */ - public static void clearAssociationMap() { - if (oldGeneAssociations != null) { - oldGeneAssociations = null; - } - } - - - /** - * @param r - * @param geneReactionRule - */ - public static void parseGPR(Reaction r, String geneReactionRule, boolean omitGenericTerms) { - if ((geneReactionRule != null) && (geneReactionRule.length() > 0)) { - Association association = null; - try { - association = - convertToAssociation(ASTNode.parseFormula(geneReactionRule, new CobraFormulaParser(new StringReader(""))), - r.getId(), r.getModel(), omitGenericTerms); - } catch (Throwable exc) { - logger.warning( - MessageFormat.format(mpMessageBundle.getString("PARSE_GPR_ERROR"), geneReactionRule, Utils.getMessage(exc))); - } - if (association != null) { - parseGPR(r, association, omitGenericTerms); - } - } - } - - - /** - * @param ast - * @param reactionId - * @param model - * @return - */ - public static Association convertToAssociation(ASTNode ast, String reactionId, Model model, - boolean omitGenericTerms) { - int level = model.getLevel(), version = model.getVersion(); - if (ast.isLogical()) { - LogicalOperator operator; - if (ast.getType() == ASTNode.Type.LOGICAL_AND) { - operator = new And(level, version); - if (!omitGenericTerms) { - operator.setSBOTerm(173); // AND - } - } else { - operator = new Or(level, version); - if (!omitGenericTerms) { - operator.setSBOTerm(174); // OR - } - } - for (ASTNode child : ast.getListOfNodes()) { - Association tmp = convertToAssociation(child, reactionId, model, omitGenericTerms); - if (tmp.getClass().equals(operator.getClass())) { - // flatten binary trees to compact representation - LogicalOperator lo = (LogicalOperator) tmp; - for (int i = lo.getAssociationCount() - 1; i >= 0; i--) { - operator.addAssociation(lo.removeAssociation(i)); - } - } else { - operator.addAssociation(tmp); - } - } - return operator; - } - return createGPR(ast.toString(), reactionId, model); - } - - - /** - * @param identifier - * @param reactionId - * @param model - * @return - */ - public static GeneProductRef createGPR(String identifier, String reactionId, Model model) { - // TODO: check if this could return an empty gpr in real cases - int level = model.getLevel(), version = model.getVersion(); - GeneProductRef gpr = new GeneProductRef(level, version); - // check if this id exists in the model - String oldId = identifier.startsWith("G_") ? identifier : "G_" + identifier; - boolean containsOldId = !model.containsUniqueNamedSBase(oldId); - BiGGId.createGeneId(identifier).map(BiGGId::toBiGGId).ifPresent(id -> { - if (!model.containsUniqueNamedSBase(id)) { - GeneProduct gp; - if (containsOldId) { - gp = (GeneProduct) model.findUniqueNamedSBase(oldId); - } else { - gp = (GeneProduct) model.findUniqueNamedSBase(id); - } - if (gp == null) { - logger.warning(MessageFormat.format(mpMessageBundle.getString("CREATE_MISSING_GPR"), id, reactionId)); - FBCModelPlugin fbcPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); - gp = fbcPlug.createGeneProduct(id); - gp.setLabel(id); - } else { - logger.info(MessageFormat.format(mpMessageBundle.getString("UPDATE_GP_ID"), gp.getId(), id)); - gp.setId(id); - } - } - gpr.setGeneProduct(id); - }); - return gpr; - } - - - /** - * @param r - * @param association - * @param omitGenericTerms - */ - private static void parseGPR(Reaction r, Association association, boolean omitGenericTerms) { - FBCReactionPlugin plugin = (FBCReactionPlugin) r.getPlugin(FBCConstants.shortLabel); - if (!plugin.isSetGeneProductAssociation()) { - GeneProductAssociation gpa = new GeneProductAssociation(r.getLevel(), r.getVersion()); - gpa.setAssociation(association); - plugin.setGeneProductAssociation(gpa); - } else if (!areEqual(association, plugin.getGeneProductAssociation().getAssociation())) { - mergeAssociation(r, association, plugin, omitGenericTerms); - } - } - - - /** - * @param gpa1 - * @param gpa2 - * @return - */ - private static boolean areEqual(Association gpa1, Association gpa2) { - if (gpa1.isLeaf() && gpa2.isLeaf()) { - return true; - } else if (gpa1 instanceof Or && gpa2 instanceof Or) { - if (((Or) gpa1).getNumChildren() != ((Or) gpa2).getNumChildren()) { - return false; - } else { - boolean childrenEqual = true; - for (int i = 0; i < ((Or) gpa1).getNumChildren(); i++) { - childrenEqual &= areEqual((Association) gpa1.getChildAt(i), (Association) gpa2.getChildAt(i)); - } - return childrenEqual; - } - } else if (gpa1 instanceof And && gpa2 instanceof And) { - if (((And) gpa1).getNumChildren() != ((And) gpa2).getNumChildren()) { - return false; - } else { - boolean childrenEqual = true; - for (int i = 0; i < ((And) gpa1).getNumChildren(); i++) { - childrenEqual &= areEqual((Association) gpa1.getChildAt(i), (Association) gpa2.getChildAt(i)); - } - return childrenEqual; - } - } - return false; - } - - - /** - * @param r - * @param association - * @param plugin - * @param omitGenericTerms - */ - private static void mergeAssociation(Reaction r, Association association, FBCReactionPlugin plugin, - boolean omitGenericTerms) { - // get current association to replace - Association old_association = plugin.getGeneProductAssociation().getAssociation(); - plugin.getGeneProductAssociation().unsetAssociation(); - GeneProductAssociation gpa = new GeneProductAssociation(r.getLevel(), r.getVersion()); - // link all GPRs fetched with or - LogicalOperator or = new Or(r.getLevel(), r.getVersion()); - if (!omitGenericTerms) { - or.setSBOTerm(174); // OR - } - if (old_association instanceof And) { - or.addAssociation(old_association); - or.addAssociation(association); - Set gprs = new HashSet<>(); - for (int i = 0; i < or.getChildCount(); i++) { - Association current = (Association) or.getChildAt(i); - if (current instanceof GeneProductRef) { - String geneProduct = ((GeneProductRef) current).getGeneProduct(); - if (gprs.contains(geneProduct)) { - if (!or.removeAssociation(current)) { - logger.warning(String.format("Failed to unset duplicate GeneProductReference '%s' for reaction '%s'", - geneProduct, r.getId())); - } - } else { - gprs.add(geneProduct); - } - } - } - gpa.setAssociation(or); - } else if (old_association instanceof GeneProductRef) { - if (association instanceof Or) { - or = (Or) association; - } else { - or.addAssociation(association); - } - or.addAssociation(old_association); - gpa.setAssociation(or); - } else { // OR - if (association instanceof Or) { - for (int idx = 0; idx < association.getChildCount(); idx++) { - Association child = (Association) association.getChildAt(idx); - ((Or) association).removeAssociation(idx); - ((LogicalOperator) old_association).addAssociation(child); - } - } else { - ((LogicalOperator) old_association).addAssociation(association); - } - gpa.setAssociation(old_association); - } - plugin.setGeneProductAssociation(gpa); - } - - - /** - * @param reaction - */ - public static void convertAssociationsToFBCV2(Reaction reaction, boolean omitGenericTerms) { - Model model = reaction.getModel(); - Annotation annotation = model.getAnnotation(); - XMLNode node = annotation.getNonRDFannotation(); - if (node == null) { - return; - } - if (oldGeneAssociations == null) { - oldGeneAssociations = new HashMap<>(); - for (int i = 0; i < node.getChildCount(); i++) { - XMLNode current = node.getChild(i); - if (current.getName().equals("geneAssociation")) { - String reactionId = current.getAttributes().getValue("reaction"); - oldGeneAssociations.put(reactionId, node.getChild(i)); - node.removeChild(i); - } - } - } - String id = reaction.getId(); - XMLNode ga = oldGeneAssociations.getOrDefault(id, null); - if (ga != null) { - FBCReactionPlugin plugin = (FBCReactionPlugin) reaction.getPlugin(FBCConstants.shortLabel); - GeneProductAssociation gpa = new GeneProductAssociation(reaction.getLevel(), reaction.getVersion()); - List associations = processAssociation(ga, model, omitGenericTerms); - if (associations.size() == 1) { - gpa.setAssociation(associations.get(0)); - plugin.setGeneProductAssociation(gpa); - } - } - } - - - /** - * @param association - * @return - */ - private static List processAssociation(XMLNode association, Model model, boolean omitGenericTerms) { - int level = model.getLevel(), version = model.getVersion(); - List associations = new ArrayList<>(); - for (int i = 0; i < association.getChildCount(); i++) { - XMLNode current = association.getChild(i); - switch (current.getName()) { - case "and": - And and = new And(level, version); - if (!omitGenericTerms) { - and.setSBOTerm(173); // AND - } - and.addAllAssociations(processAssociation(current, model, omitGenericTerms)); - if (and.isSetListOfAssociations()) { - associations.add(and); - } - break; - case "or": - Or or = new Or(level, version); - if (!omitGenericTerms) { - or.setSBOTerm(174); // OR - } - or.addAllAssociations(processAssociation(current, model, omitGenericTerms)); - if (or.isSetListOfAssociations()) { - associations.add(or); - } - break; - case "gene": - String geneReference = current.getAttributes().getValue("reference"); - GeneProductRef gpr = new GeneProductRef(level, version); - BiGGId.createGeneId(geneReference).map(BiGGId::toBiGGId).ifPresent(id -> { - if (!model.containsUniqueNamedSBase(id)) { - GeneProduct gp = (GeneProduct) model.findUniqueNamedSBase(id); - if (gp == null) { - logger.warning(String.format("Creating missing gene product %s", id)); - FBCModelPlugin fbcPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); - gp = fbcPlug.createGeneProduct(id); - gp.setLabel(id); - } else { - logger.info(MessageFormat.format(mpMessageBundle.getString("UPDATE_GP_ID"), gp.getId(), id)); - gp.setId(id); - } - } - gpr.setGeneProduct(id); - }); - if (gpr.isSetGeneProduct()) { - associations.add(gpr); - } - break; - } - } - return associations; - } -} diff --git a/src/main/java/edu/ucsd/sbrg/util/SBMLFix.java b/src/main/java/edu/ucsd/sbrg/util/SBMLFix.java deleted file mode 100644 index 6aa63cbd..00000000 --- a/src/main/java/edu/ucsd/sbrg/util/SBMLFix.java +++ /dev/null @@ -1,272 +0,0 @@ -/** - * - */ -package edu.ucsd.sbrg.util; - -import static edu.ucsd.sbrg.bigg.ModelPolisher.mpMessageBundle; - -import java.io.File; -import java.io.IOException; -import java.text.MessageFormat; -import java.util.logging.Logger; -import java.util.regex.Pattern; - -import javax.xml.stream.XMLStreamException; - -import edu.ucsd.sbrg.bigg.ModelPolisher; -import org.sbml.jsbml.ListOf; -import org.sbml.jsbml.Model; -import org.sbml.jsbml.Reaction; -import org.sbml.jsbml.SBMLDocument; -import org.sbml.jsbml.SBMLReader; -import org.sbml.jsbml.TidySBMLWriter; -import org.sbml.jsbml.ext.fbc.FBCConstants; -import org.sbml.jsbml.ext.fbc.FBCModelPlugin; -import org.sbml.jsbml.ext.fbc.Objective; -import org.sbml.jsbml.ext.groups.Group; -import org.sbml.jsbml.ext.groups.GroupsConstants; -import org.sbml.jsbml.ext.groups.GroupsModelPlugin; -import org.sbml.jsbml.util.filters.NameFilter; - -import de.zbit.io.ZIPUtils; -import de.zbit.io.filefilter.SBFileFilter; -import de.zbit.util.Utils; -import de.zbit.util.logging.LogUtil; -import edu.ucsd.sbrg.bigg.ModelPolisher; -import edu.ucsd.sbrg.bigg.SBMLPolisher; - -/** - * This is a stand-alone bug-fix program. It recursively traverses a directory - * of SBML files and applies fixes to each model found. The result is saved to - * a target directory, which can be in-place, i.e., identical to the input - * directory. Otherwise, an identical directory structure will be created within - * the target directory. - *

    - * This program became necessary as a temporary solution for invalid SBML models - * in BiGG database before a new version of {@link ModelPolisher} could be - * released. - *

    - * The methods in this class can also be used in other parts of ModelPolisher, - * and are used in fact. This class can become a collection of repair functions - * for invalid SBML models. - * - * @author Andreas Dräger - * @date 2016-02-19 - */ -public class SBMLFix { - - /** - * A {@link Logger} for this class. - */ - private static final transient Logger logger = Logger.getLogger(SBMLFix.class.getName()); - /** - * - */ - private static final double DEFAULT_COEFFICIENT = 1d; - - - /** - * @param input - * @param output - * @throws XMLStreamException - * @throws IOException - */ - public static void batchProcess(File input, File output) { - if (!output.exists() && !output.isFile() && !(input.isFile() && input.getName().equals(output.getName()))) { - logger.info(MessageFormat.format(mpMessageBundle.getString("DIRECTORY_CREATED"), output.getAbsolutePath())); - output.mkdir(); - } - if (input.isFile()) { - if (SBFileFilter.isSBMLFile(input)) { - if (output.isDirectory()) { - String fName = input.getName(); - output = new File(Utils.ensureSlash(output.getAbsolutePath()) + fName); - } - try { - fixSBML(input, output); - } catch (XMLStreamException | IOException exc) { - logger.severe(exc.getMessage()); - } - } - } else { - if (!output.isDirectory()) { - logger.severe(MessageFormat.format(mpMessageBundle.getString("WRITE_TO_FILE_ERROR"), output.getAbsolutePath())); - } - for (File file : input.listFiles()) { - File target = new File(Utils.ensureSlash(output.getAbsolutePath()) + file.getName()); - batchProcess(file, target); - } - } - } - - - /** - * Set group kind where required - * - * @param model - */ - public static void fixGroups(Model model) { - GroupsModelPlugin gPlug = (GroupsModelPlugin) model.getExtension(GroupsConstants.shortLabel); - if ((gPlug != null) && gPlug.isSetListOfGroups()) { - for (Group group : gPlug.getListOfGroups()) { - if (!group.isSetKind()) { - logger.info(MessageFormat.format(mpMessageBundle.getString("ADD_KIND_TO_GROUP"), - group.isSetName() ? group.getName() : group.getId())); - group.setKind(Group.Kind.partonomy); - } - } - } - } - - - /** - * Check for missing objective function. - * - * @param modelDescriptor - * this can be the path to the model file or some name that describes - * this model. - * @param model - */ - public static void fixObjective(String modelDescriptor, Model model) { - FBCModelPlugin fbcPlug = (FBCModelPlugin) model.getExtension(FBCConstants.shortLabel); - if ((fbcPlug != null) && fbcPlug.isSetListOfObjectives()) { - fixObjective(modelDescriptor, model.isSetListOfReactions() ? model.getListOfReactions() : null, fbcPlug); - } - } - - - /** - * @param modelDescriptor - * some descriptive String for the model, e.g., its id, the path to the - * file, or any other meaningful information for users. - * @param listOfReactions - * @param fbcPlug - * @return {@code true} if this operation was successful and {@code false} if - * the problem could not be fixed. - */ - public static boolean fixObjective(String modelDescriptor, ListOf listOfReactions, FBCModelPlugin fbcPlug) { - return fixObjective(modelDescriptor, listOfReactions, fbcPlug, null, null); - } - - - /** - * @param modelDescriptor - * @param listOfReactions - * @param fbcPlug - * @param fluxCoefficients - * @param fluxObjectives - * @return - */ - public static boolean fixObjective(String modelDescriptor, ListOf listOfReactions, FBCModelPlugin fbcPlug, - double[] fluxCoefficients, String[] fluxObjectives) { - Objective activeObjective = null; - if (!fbcPlug.isSetActiveObjective()) { - logger.severe(MessageFormat.format(mpMessageBundle.getString("OBJ_NOT_DEFINED"), modelDescriptor)); - if (fbcPlug.getObjectiveCount() == 1) { - activeObjective = fbcPlug.getObjective(0); - fbcPlug.setActiveObjective(activeObjective); - logger.info(MessageFormat.format(mpMessageBundle.getString("OBJ_SOLUTION"), activeObjective.getId())); - } - } else { - activeObjective = - fbcPlug.getListOfObjectives().firstHit(new NameFilter(fbcPlug.getListOfObjectives().getActiveObjective())); - } - if (activeObjective != null) { - if (!activeObjective.isSetListOfFluxObjectives()) { - logger.severe(MessageFormat.format(mpMessageBundle.getString("TRY_GUESS_MISSING_FLUX_OBJ"), modelDescriptor)); - if (listOfReactions != null) { - if (fluxObjectives != null) { - /* - * An array of target reactions is provided. We want to use this as - * flux objectives. - */ - boolean strict = false; - for (int i = 0; i < fluxObjectives.length; i++) { - final String id = fluxObjectives[i]; - Reaction r = listOfReactions.firstHit((obj) -> { - return (obj instanceof Reaction) && id.equals(((Reaction) obj).getId()); - }); - if (r != null) { - createFluxObjective(modelDescriptor, r, fluxCoefficients, activeObjective, i); - // if at least one flux objective exists, the model qualifies as - // strict model. - strict = true; - } else { - logger.severe( - MessageFormat.format(mpMessageBundle.getString("REACTION_UNKNOWN_ERROR"), id, modelDescriptor)); - } - } - return strict; - } else { - /* - * Search for biomass reaction in the model and use this as - * objective. - */ - final Pattern pattern = SBMLPolisher.Patterns.BIOMASS_CASE_INSENSITIVE.getPattern(); - Reaction rBiomass = listOfReactions.firstHit((obj) -> { - return (obj instanceof Reaction) && pattern.matcher(((Reaction) obj).getId()).matches(); - }); - if (rBiomass != null) { - createFluxObjective(modelDescriptor, rBiomass, fluxCoefficients, activeObjective, 0); - return true; - } else { - logger.severe(mpMessageBundle.getString("REACTION_BIOMASS_UNKNOWN_ERROR")); - } - } - } else { - logger.severe(MessageFormat.format(mpMessageBundle.getString("REACTION_LIST_MISSING"), modelDescriptor)); - } - } - } - return false; - } - - - /** - * @param modelDescriptor - * @param r - * @param fluxCoefficients - * @param o - * @param i - */ - private static void createFluxObjective(String modelDescriptor, Reaction r, double[] fluxCoefficients, Objective o, - int i) { - double coeff = DEFAULT_COEFFICIENT; - if ((fluxCoefficients != null) && (fluxCoefficients.length > i)) { - coeff = fluxCoefficients[i]; - } - logger.info(MessageFormat.format(mpMessageBundle.getString("ADDED_FLUX_OBJ"), r.getId(), coeff, modelDescriptor)); - o.createFluxObjective(null, null, coeff, r); - } - - - /** - * @param in - * @param out - * @throws XMLStreamException - * @throws IOException - */ - public static void fixSBML(File in, File out) throws XMLStreamException, IOException { - long time = System.currentTimeMillis(); - logger.info(MessageFormat.format(mpMessageBundle.getString("READ_FILE_INFO"), in.getAbsolutePath())); - SBMLDocument doc = SBMLReader.read(in); - Model model = doc.getModel(); - fixGroups(model); - fixObjective(in.getAbsolutePath(), model); - logger.info(MessageFormat.format(mpMessageBundle.getString("WRITE_FILE_INFO"), out.getAbsolutePath())); - TidySBMLWriter.write(doc, out, ModelPolisher.class.getName(), "1.1", ' ', (short) 2); - String archive = out.getAbsolutePath() + ".gz"; - logger.info(MessageFormat.format("ARCHIVE", archive)); - ZIPUtils.GZip(out.getAbsolutePath(), archive); - logger.info(MessageFormat.format("Done. Time elapsed: {0,number,integer} ms", System.currentTimeMillis() - time)); - } - - - /** - * @param args - */ - public static void main(String[] args) { - LogUtil.initializeLogging("de.zbit", "edu.ucsd.sbrg"); - batchProcess(new File(args[0]), new File(args[1])); - } -} diff --git a/src/main/java/edu/ucsd/sbrg/util/SBMLUtils.java b/src/main/java/edu/ucsd/sbrg/util/SBMLUtils.java deleted file mode 100644 index 11653db6..00000000 --- a/src/main/java/edu/ucsd/sbrg/util/SBMLUtils.java +++ /dev/null @@ -1,178 +0,0 @@ -/** - * - */ -package edu.ucsd.sbrg.util; - -import static edu.ucsd.sbrg.bigg.ModelPolisher.mpMessageBundle; - -import java.text.MessageFormat; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -import java.util.logging.Logger; - -import javax.swing.tree.TreeNode; - -import org.sbml.jsbml.ListOf; -import org.sbml.jsbml.Reaction; -import org.sbml.jsbml.ext.fbc.Association; -import org.sbml.jsbml.ext.fbc.FBCModelPlugin; -import org.sbml.jsbml.ext.fbc.FluxObjective; -import org.sbml.jsbml.ext.fbc.GeneProduct; -import org.sbml.jsbml.ext.fbc.GeneProductAssociation; -import org.sbml.jsbml.ext.fbc.GeneProductRef; -import org.sbml.jsbml.ext.fbc.ListOfObjectives; -import org.sbml.jsbml.ext.fbc.LogicalOperator; -import org.sbml.jsbml.ext.fbc.Objective; -import org.sbml.jsbml.ext.groups.Member; - -/** - * A collection of helpful functions for dealing with SBML data structures. - * - * @author Andreas Dräger - */ -public class SBMLUtils { - - /** - * A {@link Logger} for this class. - */ - private static final Logger logger = Logger.getLogger(SBMLUtils.class.getName()); - /** - * Key to link from {@link Reaction} directly to {@link Member}s referencing - * that reaction. - */ - public static final String SUBSYSTEM_LINK = "SUBSYSTEM_LINK"; - /** - * HashMap holding all gene product references in a model for updating - */ - private static Map geneProductReferences = new HashMap<>(); - - /** - * Apply updated GeneID to geneProductReferenece - * - * @param gp - */ - public static void updateGeneProductReference(GeneProduct gp) { - if (geneProductReferences.isEmpty()) { - initGPRMap(gp.getModel().getListOfReactions()); - } - String id = gp.getId(); - if (id.startsWith("G_")) { - id = id.split("G_")[1]; - } - if (geneProductReferences.containsKey(id)) { - GeneProductRef gpr = geneProductReferences.get(id); - gpr.setGeneProduct(gp.getId()); - } - } - - - /** - * @param reactions - */ - private static void initGPRMap(ListOf reactions) { - for (Reaction r : reactions) { - for (int childIdx = 0; childIdx < r.getChildCount(); childIdx++) { - TreeNode child = r.getChildAt(childIdx); - if (child instanceof GeneProductAssociation) { - Association association = ((GeneProductAssociation) child).getAssociation(); - if (association instanceof GeneProductRef) { - GeneProductRef gpr = (GeneProductRef) association; - geneProductReferences.put(gpr.getGeneProduct(), gpr); - } else if (association instanceof LogicalOperator) { - processNested(association); - } - } - } - } - } - - - /** - * - */ - public static void cleanGPRMap() { - geneProductReferences = new HashMap<>(); - } - - - /** - * @param association - */ - private static void processNested(Association association) { - for (int idx = 0; idx < association.getChildCount(); idx++) { - TreeNode child = association.getChildAt(idx); - if (child instanceof LogicalOperator) { - processNested((Association) child); - } else { - // has to GeneProductReference - GeneProductRef gpr = (GeneProductRef) child; - geneProductReferences.put(gpr.getGeneProduct(), gpr); - } - } - } - - - /** - * @param oldId - * @param newId - * @param fbcModelPlug - */ - public static void updateReactionRef(String oldId, String newId, FBCModelPlugin fbcModelPlug) { - if ((fbcModelPlug != null) && fbcModelPlug.isSetListOfObjectives()) { - ListOfObjectives loo = fbcModelPlug.getListOfObjectives(); - for (Objective objective : loo) { - if (objective.isSetListOfFluxObjectives()) { - for (FluxObjective fo : objective.getListOfFluxObjectives()) { - if (fo.getReaction().equals(oldId)) { - fo.setReaction(newId); - } - } - } - } - } - } - - - /** - * @param r - */ - @SuppressWarnings("deprecation") - public static void setRequiredAttributes(Reaction r) { - // TODO: make defaults user settings or take from L2V5. - if (!r.isSetId()) { - logger.severe(MessageFormat.format(mpMessageBundle.getString("ID_MISSING_FOR_TYPE"), r.getElementName())); - } - if (!r.isSetFast()) { - r.setFast(false); - } - if (!r.isSetReversible()) { - r.setReversible(false); - } - if (!r.isSetMetaId() && ((r.getCVTermCount() > 0) || r.isSetHistory())) { - r.setMetaId(r.getId()); - } - // TODO - // if (!r.isSetSBOTerm()) { - // r.setSBOTerm(SBO.getProcess()); - // } - } - - - /** - * Add a direct link from the reaction to the member pointing to that - * reaction. - * - * @param r - * @param member - */ - @SuppressWarnings("unchecked") - public static void createSubsystemLink(Reaction r, Member member) { - member.setIdRef(r); - if (r.getUserObject(SUBSYSTEM_LINK) == null) { - r.putUserObject(SUBSYSTEM_LINK, new HashSet()); - } - ((Set) r.getUserObject(SUBSYSTEM_LINK)).add(member); - } -} diff --git a/src/main/java/edu/ucsd/sbrg/util/UpdateListener.java b/src/main/java/edu/ucsd/sbrg/util/UpdateListener.java deleted file mode 100644 index 26b3e600..00000000 --- a/src/main/java/edu/ucsd/sbrg/util/UpdateListener.java +++ /dev/null @@ -1,137 +0,0 @@ -/** - * - */ -package edu.ucsd.sbrg.util; - -import static edu.ucsd.sbrg.bigg.ModelPolisher.mpMessageBundle; - -import java.beans.PropertyChangeEvent; -import java.text.MessageFormat; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -import java.util.logging.Logger; - -import javax.swing.tree.TreeNode; - -import org.sbml.jsbml.Model; -import org.sbml.jsbml.NamedSBase; -import org.sbml.jsbml.Reaction; -import org.sbml.jsbml.ext.fbc.Association; -import org.sbml.jsbml.ext.fbc.FBCConstants; -import org.sbml.jsbml.ext.fbc.FBCModelPlugin; -import org.sbml.jsbml.ext.fbc.GeneProduct; -import org.sbml.jsbml.ext.fbc.GeneProductRef; -import org.sbml.jsbml.ext.groups.Member; -import org.sbml.jsbml.util.TreeNodeChangeEvent; -import org.sbml.jsbml.util.TreeNodeChangeListener; -import org.sbml.jsbml.util.TreeNodeRemovedEvent; - -/** - * This class keeps track of changes to the model and tries to keep cross - * references etc. consistent. - * - * @author Andreas Dräger - */ -public class UpdateListener implements TreeNodeChangeListener { - - /** - * A {@link Logger} for this class. - */ - private static final transient Logger logger = Logger.getLogger(UpdateListener.class.getName()); - /** - * Stores links from geneIds to {@link Association} objects where these are - * used. - */ - private Map> geneIdToAssociation; - - - /** - * - */ - public UpdateListener() { - geneIdToAssociation = new HashMap<>(); - } - - - /* - * (non-Javadoc) - * @see java.beans.PropertyChangeListener#propertyChange(java.beans. - * PropertyChangeEvent) - */ - @SuppressWarnings("unchecked") - @Override - public void propertyChange(PropertyChangeEvent evt) { - if (evt.getPropertyName().equals(TreeNodeChangeEvent.id)) { - String oldId = (String) evt.getOldValue(); - if (oldId != null) { - // There is only a need to do some further change if the id is updated - // to a new id. - String newId = (String) evt.getNewValue(); - NamedSBase nsb = (NamedSBase) evt.getSource(); - if (nsb instanceof Reaction) { - Reaction r = (Reaction) nsb; - Model model = r.getModel(); - FBCModelPlugin fbcModelPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); - SBMLUtils.updateReactionRef(oldId, newId, fbcModelPlug); - Set subsystems = (Set) r.getUserObject(SBMLUtils.SUBSYSTEM_LINK); - if (subsystems != null) { - for (Member m : subsystems) { - m.setIdRef(newId); - } - } - } else if (nsb instanceof GeneProduct) { - Set geneRefs = geneIdToAssociation.remove(oldId); - if (geneRefs != null) { - for (GeneProductRef ref : geneRefs) { - ref.setGeneProduct(newId); - } - geneIdToAssociation.put(newId, geneRefs); - } - } else { - logger.severe( - MessageFormat.format(mpMessageBundle.getString("ID_CHANGE_WARNING"), nsb.getElementName(), oldId, newId)); - } - } - } - } - - - /* - * (non-Javadoc) - * @see org.sbml.jsbml.util.TreeNodeChangeListener#nodeAdded(javax.swing.tree. - * TreeNode) - */ - @Override - public void nodeAdded(TreeNode node) { - // Memorize link from GeneProduct to Associations when this association is - // being added. - if (node instanceof GeneProductRef) { - GeneProductRef gpr = (GeneProductRef) node; - Set geneRefs = geneIdToAssociation.get(gpr.getGeneProduct()); - if (geneRefs == null) { - geneRefs = new HashSet(); - geneIdToAssociation.put(gpr.getGeneProduct(), geneRefs); - } - geneRefs.add(gpr); - // GeneProduct gene = gpr.getGeneProductInstance(); - // if (gene != null) { - // gene.putUserObject("ASSOCIATION_LINK", geneRefs); - // } - } - logger.fine(node.toString()); - } - - - /* - * (non-Javadoc) - * @see - * org.sbml.jsbml.util.TreeNodeChangeListener#nodeRemoved(org.sbml.jsbml.util. - * TreeNodeRemovedEvent) - */ - @Override - public void nodeRemoved(TreeNodeRemovedEvent event) { - logger.fine(event.toString()); - } -} diff --git a/src/main/java/edu/ucsd/sbrg/util/package-info.java b/src/main/java/edu/ucsd/sbrg/util/package-info.java deleted file mode 100644 index c45e2ee3..00000000 --- a/src/main/java/edu/ucsd/sbrg/util/package-info.java +++ /dev/null @@ -1,7 +0,0 @@ -/** - * - */ -/** - * @author Andreas Dräger - */ -package edu.ucsd.sbrg.util; \ No newline at end of file diff --git a/src/main/resources/edu/ucsd/sbrg/bigg/ZBIT_ModelNotes.html b/src/main/resources/edu/ucsd/sbrg/bigg/ZBIT_ModelNotes.html deleted file mode 100644 index f22e2b2b..00000000 --- a/src/main/resources/edu/ucsd/sbrg/bigg/ZBIT_ModelNotes.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - ${title} - - - - - - - - - - -

    Description

    - -
    -

    - This is a model of ${organism} in - SBML format. -

    -
    - -
    -

    - The content of this model has been created by individual researchers and postprocessed using the - online version of the - JSBML-based - ModelPolisher application. -

    -
    - -
    -

    - This file has been produced by the - webservice facility of the - Center for Bioinformatics Tuebingen (ZBIT) using a local mirror of the - BiGG Models knowledgebase version of ${bigg.timestamp}. -

    -
    - -

    Terms of use

    -
    -

    Copyright © ${year} The Regents of the University of California and the University of Tuebingen.

    -
    -
    -

    - Redistribution and use of any part of models from BiGG Models knowledgebase, - with or without modification, are permitted provided that the - following conditions are met: -

      -
    1. Redistributions of this SBML file must retain the above copyright - notice, this list of conditions and the following disclaimer.
    2. -
    3. Redistributions in a different form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution.
    4. -
    -

    - This model is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -

    -
    - -

    References

    - -

    - When using webservices of the Center for Bioinformatics Tuebingen (ZBIT), the software - JSBML or - ModelPolisher, or content from the - BiGG Models knowledgebase in your research works, please cite -

    -
    -
    Römer M., Eichner J., Dräger A., Wrzodek C., Wrzodek F., Zell A. (2016). -
    - ZBIT Bioinformatics Toolbox: a Web-Platform for Systems Biology and Expression Data Analysis. - PLoS ONE. -
    - -
    King ZA, Lu JS, Dräger A, Miller PC, Federowicz S, Lerman JA, - Ebrahim A, Palsson BO, and Lewis NE. (2015). -
    - BiGG Models: A platform for integrating, standardizing, and sharing genome-scale models. - Nucl Acids Res. -
    - -
    Rodriguez N., Thomas A., Watanabe L., Vazirabad I.Y., Kofia V., Gómez HF, - Mittag F., Matthes J., Rodolph J., Wrzodek F., Netz E., Diamantikos A., Eichner J., - Keller R., Wrzodek C., Fröhlich S., Lewis N.E., Myers C.J., Le Novère N., - Palsson B.Ø., Hucka M., and Dräger A. (2015). -
    - JSBML 1.0: providing a smorgasbord of options to encode systems biology models. - Bioinformatics. 2015 May 29. -
    - -
    - - ${species_table} - - - diff --git a/src/main/resources/edu/ucsd/sbrg/bigg/ZBIT_SBMLDocumentNotes.html b/src/main/resources/edu/ucsd/sbrg/bigg/ZBIT_SBMLDocumentNotes.html deleted file mode 100644 index 0763e28c..00000000 --- a/src/main/resources/edu/ucsd/sbrg/bigg/ZBIT_SBMLDocumentNotes.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - ${title} - - - - - - - - - - - -
    -
    -

    -
    ${title}
    -

    -
    -
    - - - diff --git a/src/main/resources/edu/ucsd/sbrg/polisher/Messages.xml b/src/main/resources/edu/ucsd/sbrg/polisher/Messages.xml deleted file mode 100644 index ad57fb79..00000000 --- a/src/main/resources/edu/ucsd/sbrg/polisher/Messages.xml +++ /dev/null @@ -1,173 +0,0 @@ - - - - Invalid abbreviation: ''{0}' - If set to true, annotations will be added to species and reactions from AnnotateDB also. NOTE: Effective only if 'annotate-with-bigg' is true. - Adding missing kind attribute to group {0}. - Adding missing CHEBI: namespace. - Adding missing GI: namespace. - Adding missing GO: namespace. - Could not obtain resource URI for collection ''{0}'' and id ''{1}''. - Added flux objective for reaction ''{0}'' with coefficient {1,number} to model {2}. - Added basic mmol_per_gDW_per_hr unit definition to model - Added resource ''{0}'' - Added resource URI ''{0}'' to provided CVTerm - Could not parse any model from input file ''{0}'' , aborting. - If set to true, the model will be annotated with data from BiGG Models database. If set to false, the resulting model will not receive annotation or correction from BiGG Models database - There is no annotation for this model - Packing archive file {0} - There are missing atoms in reaction ''{0}''. Values lower than zero indicate missing atoms on the substrate side, whereas positive values indicate missing atoms on the product side: {1} - There are no missing atoms in reaction ''{0}''. - Skipping unsupported non-zero b-value of {0,number,######.####} for metabolite {1} - Species ''{0}'' is supposed to be on the system''s boundary, but its boundary condition flag was not correctly set. - Changing compartment reference in species ''{0}'' from ''{1}'' to ''{2}'' so that it matches the compartment code of its BiGG id ''{0}''. - Changing KEGG collection to kegg.drug - Changing KEGG collection to kegg.glycan - Changed id from ''{0}'' to ''{1}'' in order to match the BiGG id specification. - Changed name ''{0}'' to ''{1}'' - Reactome URL {0} changed to {1} - Changed rhea resource to {0} - Changed name of unmatched enum variant ''{0}'' to possible match ''{1}'' - Charge {0,number,integer} in BiGG Models contradicts attribute value {1,number,integer} on species ''{2}''. - Non-integer charge {0,number} was truncated to {1}. - Could not check the atom balance of reaction ''{0}''. - When set to true, the mass balance of each reaction will be checked where possible. Reactions that are recognized as peudoreactions are excluded from this check, also are reactions that lack information about elementary composition of their participants. - Invalid chemical formula: {0} - - \n
    King ZA, Lu JS, Dräger A, Miller PC, Federowicz S, Lerman JA, Ebrahim A, Palsson BO, and Lewis NE. (2015).\n
    \n BiGG Models: A platform for integrating, standardizing, and sharing genome-scale models. Nucl Acids Res.\n doi:10.1093/nar/gkv1049\n
    \n \n"]]>
    - Collection is null for this gene resource URI. - Unknown collection ''{0}'' - Invalid compartment code: ''{0}'' - There are no compartments in this model - Decides whether or not the output file should directly be compressed and if so, which archive type should be used. - Cell containing confidence score had 0x0 dimensions - Connection to SQL server closed. - Could not find correct variant for field ''{0}'' - Correcting invalid use of model qualifier ''{0}'' on {1} with id=''{2}''. - Correcting invalid use of biological qualifier ''{0}'' on model with id=''{1}''. - Could not update resource ''{0}''. Resource will not be added to the model. - Could not create GPR for reaction with index ''{0}''. - Creating compartment ''{0}'' because it is referenced by {2} ''{1}'' but does not yet exist in the model. - Creating missing gene product with id ''{0}'' because reaction ''{1}'' uses this id in its gene-product association. - Creating directory {0}. - Deleting file: {0}, successful: {1} - Created directory {0}. - Could not create directory {0}. - Reaction {1} has confidence score {0,number,##}. - This XHTML file defines alternative document notes and makes them exchangeable. - This option allows you to define the title of the SBML document's description and hence the head line when the file is displayed in a web browser. - Could not correct ec-code ''{0}'' - Could not recognize any of the EC codes from {0}. - Could not append document and model notes. - Field for possible match is already present: ''{0}''. ''{1}'' will be omitted. - Missing field: {0} - Done in %02d:%02d min. - The flux bounds of reaction {0} can either not be resolved or they have illegal values. - Reaction {0} does not define both required flux bounds. - The parameter {0} is used as flux bound but an initial assignment changes its value. - The flux coefficients, a comma-separated list - A flux objective for reaction {0} has an illegal coefficient value. - The flux objectives, a colon-separated list - Found model component {0}. - There are no genes in this model - Could not retrieve NCBI taxon identifier for model ''{0}'', because of {1}. - Name is missing for geneproduct - Unknown BiGG id component {0} - Change of identifier of type {0} from ''{1}'' to ''{2}'' can have unpredictable consequences... - Found element of type {0} without defined id. - Id ''{0}'' seems to have no known prefix. - Identifier was null for collection ''{0}'' and this gene resource URI - Some products in reaction {0} have an non strict stoichiometry - Some reactants in reaction {0} have an non strict stoichiometry - This switch allows users to specify if also those database cross-links should be extracted from BiGG Models database for which currently no entry in the MIRIAM exists. If set to true, ModelPolisher also includes URIs that do not contain the pattern identifiers.org. - SBML, MAT or JSON files, or directories - Could not determine if ''{0}'' is a compartment or not: {1}. - Could not determine if ''{0}'' is a metabolite or not: {1}. - Could not determine if ''{0}'' is a model or not: {1}. - Could not determine if ''{0}'' is a reaction or not: {1}. - Started JSONparser - Found more than one identifier in cell {0} - Found more than one string in cell {0} - Merging all resources with identical MIRIAM qualifier ''{0}'' in {1} with id=''{2}''. - There are no metabolites in this model - This XHTML file defines alternative model notes and makes them exchangeable. - Model id is required, but it is null - There are several models in this file. Of ''{0}'' top level structures ''{1}'' could be verified as models and will be parsed. - There is no name for this model - Unsupported nonequality relationship for metabolite with id ''{0}''. - There were no files in the provided directory. - No gene name found in BiGG for label ''{0}''. - This SBML document does not contain a model. Nothing to do. - If set to true, no web content will be inserted in the SBML container nor into the model within the SBML file. - URI: ''{0}'' will be added without validity check. Collection not present in registry-lib - There are no notes for this model - The number of fields in the JSON-Model is not in the expected range of 4-10: ''{0}''\nSome properties might not get parsed. - There are {0} compartments in this model. - There are {0} genes in this model. - There are {0} metabolites in this model. - There are {0} reactions in this model. - Objective {0} does not have any flux objectives - No objectives defined for model {0}. - No active objective defined in model {0}. - The problem could be successfully solved by declaring ''{0}'' the active objective. - Set this option to true if generic top-level annotations, such as 'process' should not be applied. Not using those terms will reduce the size of the resulting output file. - Produce output as a single COMBINE Archive including polished model and glossary rdf file. NOTE: Output file name is taken from input to option --output. - Output SBML file - Output is {0}. - Could not parse ''{0}'' because {1} - Failed to correctly parse id ''{0}''. {1} - Identifier ''{0}'' did not match the pattern ''{1}'' - Collection ''{0}'' does not match expected pattern. It will not be added as resource. - Identifier ''{0}'' does not match collection pattern ''{1}'' from collection ''{2}''! - ''{0}'' is not a known prefix. - Processing model {0}. - Connected to SQL server {0}:{1,number,####} using database {2}. - Could not add reaction participant because of invalid id: {0} - Operation failed! Could not identify biomass reaction. - Reaction ''{0}'' has been recognized as demand reaction, but this is not reflected in its BiGG id. - Operation failed! Missing list of reactions in model {0}. - Operation failed! Could not identify reaction ''{0}'' in model {1}. - There are no reactions in this model - Could not open file at ''{0}''. - Reading input file {0}. - Could not read whole file - Root node is empty, model could not be parsed. - Result obtained for {0} and parameters {1} and {2} not unique, omitting. - If true, the created SBML file will be validated through the online validator service at http://sbml.org. - Could not set abbreviation: {0} - Failed to set CompartmentCode: ''{0}'' - Failed setting prefix : ''{0}'' - Failed to set TissueCode: ''{0}'' - Skipping comment for resource: ''{0}'', only keeping reference ''{1}'' to {2}. - File was already corrected, skipping tag replacement - Found a species with invalid BiGG id ''{0}''. - Invalid reference to a species ''{0}'' that doesn''t exist in the model. - Species ''{0}'' in reaction ''{1}'' is not defined! - Connected to the local SQLite version of BiGGDB. - Struct field {0} not present - Reaction at index ''{0}'' is null. Could not create subsystem link. - No replacement needed, continuing - Invalid tissue code: ''{0}'' - Only one reaction should be the target of objective {0}. - Given id String possibly contained more than one id. Only the first one is used: - Trying to convert the model to Level 3 Version 1. - Trying to identify missing flux objective from model in model {0}. - Expected data structure ''{1}'' to be of type cell, but received type {0}. - Expected data structure ''{1}'' to be of type char, but received type {0}. - Expected data structure ''{1}'' to be of type double, but received type {0}. - Expected MLDouble, but received {0}. - Expected data structure ''{1}'' to be of type sparse array, but received type {0}. - Expected character string in data field ''{1}''{2}, but received data type {0}. - Please report this URI {0} - Updating the id of gene product ''{0}'' to ''{1}''. - Updating gene product name from ''{0}'' to ''{1}''. - - No SBML validation possible, process terminated with errors. - There is no version number provided for this model - Writing COMBINE Archive {0} - Cannot write inputs from directory {0} to a output file {1}. Skipping directory. - Writing output file {0} - Writing output RDF glossary file {0} - Cannot write to file {0}. - Wrote corrected file to ''{0}'' -
    diff --git a/src/main/resources/edu/ucsd/sbrg/polisher/Messages_de.xml b/src/main/resources/edu/ucsd/sbrg/polisher/Messages_de.xml deleted file mode 100644 index 943b740f..00000000 --- a/src/main/resources/edu/ucsd/sbrg/polisher/Messages_de.xml +++ /dev/null @@ -1,173 +0,0 @@ - - - - Ungültige Abkürzung: ''{0}'' - If set to true, annotations will be added to species and reactions from AnnotateDB also. NOTE: Effective only if 'annotate-with-bigg' is true. - Adding missing kind attribute to group {0}. - Füge fehlenden CHEBI: Namespace hinzu. - Füge fehlendes GI: Namespace hinzu. - Füge fehlendes GO: Namespace hinzu. - Konnte aus Collection ''{0}'' und Id ''{1}'' keine Ressource URI bilden . - Flux objective für Reaktion ''{0}'' mit Koeffizient {1,number} zum Model {2} hinzugefügt. - Grundlegende Unit Definition mmol_per_gDW_per_hr zum Model hinzugefügt - Ressource ''{0}'' hinzugefügt - Ressource URI ''{0}'' zum gegegbenen CVTerm hinzugefügt - Konnte kein Model aus der gegebenen Datei ''{0}'' parsen, breche ab. - Wenn wahr, wird das Model mit Daten aus der BiGG Mdoels Datenbank annotiert. Wenn falsch, wird keine Annotation oder Korrektur mithilfe der BiGG Models Datenbank vorgenommen. - Für dieses Model ist keine Annotation vorhanden - Packe Archiv {0} - Es fehlen Atome in Reaktion ''{0}''. Werte kleiner null zeigen fehlende Atome auf der Substrat Seite an, Werte größer null zeigen fehlende Atome auf der Produkt Seite an: {1} - Es fehlen keine Atome in Reaktion ''{0}''. - Überspringe nicht unterstützen, nicht null b-Wert {0,number,######.####} für Metabolit {1} - Species ''{0}'' is supposed to be on the system''s boundary, but its boundary condition flag was not correctly set. - Ändere Kompartiment Referenz von Species ''{0}'' von ''{1}'' zu ''{2}'', so dass sie dem Compartment Code ihrer BiGG Id ''{0}'' entspricht. - Ändere KEGG collection zu kegg.drug - Ändere KEGG collection zu kegg.glycan - Id von ''{0}'' zu ''{1}'' geändert, um der BiGG Id Spezifikation zu entsprechen. - Name geändert von ''{0}'' zu ''{1}'' - Reactome URL {0} zu {1} geändert - Rhea resource geändert zu {0} - Namen der nicht getroffenen Enum Variante ''{0}'' zum möglichen Treffer ''{1}'' geändert - Ladung {0,number,integer} in BiGG Models widerspricht dem eingetragenen Wert {1,number,integer} für Species ''{2}''. - Nicht Integer Ladung {0,number} wurde gekürzt zu {1}. - Konnte die Atombalance für Reaktion ''{0}'' nicht überprüfen. - Wenn wahr, wird die Masse Balance jeder Reaktion überprüft, soweit möglich. Reaktionen, die als Pseudoreaktionen erkannt werden, sind aus dieser Überprüfung ausgeschlossen, ebenso Reaktionen, die keine Informationen über die elementare Zusammensetzung ihrer Teilnehmer beinhalten. - Ungültige chemische Formel: {0} - - \n
    King ZA, Lu JS, Dräger A, Miller PC, Federowicz S, Lerman JA, Ebrahim A, Palsson BO, and Lewis NE. (2015).\n
    \n BiGG Models: A platform for integrating, standardizing, and sharing genome-scale models. Nucl Acids Res.\n doi:10.1093/nar/gkv1049\n
    \n \n"]]>
    - Die Collection ist null für diese Gen Ressource URI. - Unbekannte Collection ''{0}'' - Compartment Code ungültig: ''{0}'' - In diesem Model sind keine Kompartimente enthalten - Bestimmt, ob eine Ausgabedatei komprimiert werden soll und ihren Archivtyp. - Die Zelle, die den Konfidenzwert enthält, hat die Dimensionen 0x0 - Verbindung zum SQL Server geschlossen. - Konnte keine korrekte Variante für ''{0}'' bestimmen - Korrigiere ungültig benutzten Modelqualifikator ''{0}'' in {1} mit id=''{2}''. - Korrigiere ungültig benutzen biologischen Qualifikator ''{0}'' im model mit id=''{1}''. - Konnte Ressource ''{0}'' nicht aktualisieren. Ressource wird nicht zum Model hinzugefügt. - Konnte GPR für Reaktion mit Index ''{0}'' nicht erstellen. - Erstelle Kompartiment ''{0}'' weil es von {2} ''{1}'' referenziert wird, aber noch nicht im Model existiert. - Erstelle fehlendes Genprodukt mit Id ''{0}'' weil die Reaktion ''{1}'' diese Id in ihrer Gen-Produkt Assoziation verwendet. - Erstelle Verzeichnis {0}. - Lösche Datei: {0}, erfolgreich: {1} - Erstelle Verzeichnis {0}. - Konte Verzeichnis {0} nicht erstellen. - Reaction {1} hat den Konfidenzwert {0,number,##}. - Diese XTHL Datei definiert alternative Notizen für das Dokument und macht sie austauschbar. - Diese Option erlaubt die Titel Zeile des SBML Dokuments zu ändern und somit den Titel, der für das Dokument in eienm Browser angezeigt wird. - Konnte EC-Code ''{0}'' nicht berichtigen - Konnte keinen der EC-Codes aus {0} erkennen. - Konnte Model und Dokument Notizen nicht hinzufügen. - Feld für möglichen Treffer existiert bereits: ''{0}''. ''{1}'' wird ausgelassen - Fehlendes Feld: {0} - Beendet in %02d:%02d min. - Die flux bounds von Reaktion {0} können entweder nicht gelöst werden oder haben unzulässige Werte. - Reaktion {0} definiert nicht beide benötigte flux bounds. - Das Parameter {0} wird als flux bound verwendet, aber eine initiale Zuweisung überschreibt seinen Wert. - Eine Komma separierte Liste von Flux Koeffizienten. - Das flux objective für Reaktion {0} besitzt einen ungültigen Wert für seinen Koeffizienten. - Eine durch Doppelpunkte separierte Liste and flux objectives - Model Komponente {0} gefunden. - In diesem Model sind keine Gene vorhanden - Konnte NCBI Taxon Id für Model ''{0}'' wegen {1} nicht abrufen. - Name für das Genprodukt fehlt - Unbekannte BiGG Id Komponente {0} - Das Ändern der Id des Typs {0} von ''{1}'' zu ''{2}'' kann unvorhersehbare Konsequenzen haben... - Element des Typs {0} ohne definierte Id gefunden. - Id ''{0}'' besitzt kein bekanntes Präfix. - Id ist null für die Collection ''{0}'' und diese Gene Ressource URI - Einige Produkte in Reaktion {0} besitzen eine nicht strikte Stöchiometrie - Einige Reaktanten in Reaktion {0} besitzen eine nicht strikte Stöchiometrie - Dieser Switch erlaubt es Benutzern festzulegen, ob auch Datenbank Kreuzreferenzen für die momentan kein Eintrag in MIRIAM existieŕt aus der BiGG Models Datenbank extrahiert werden sollen. Wenn wahr, schließt ModelPolisher für die Annotationen solche mit ein, die nicht dem Pattern identifiers.org entsprechen. - SBML, MAT oder JSON Dateien, oder Verzeichnisse - Konnte nicht bestimmen, ob ''{0}'' ein Kompartiment ist oder nicht: {1}. - Konnte nicht bestimmen, ob ''{0}'' ein Metabolit ist oder nicht: {1}. - Konnte nicht bestimmen, ob ''{0}'' ein Model ist oder nicht: {1}. - Konnte nicht bestimmen ob ''{0}'' eine Reaktion ist oder nicht: {1}. - JSONparser gestartet - Mehr als eine Id in Zelle {0} gefunden - Mehr als einen String in Zelle {0} gefunden - Alle Resources mit identischem MIRIAM-Qualifikator ''{0}'' in {1} mit id=''{2}'' werden zusammengeführt. - In diesem Model sind keine Metaboliten vorhanden - Diese XHTML Datei definiert alternative Model Notizen und macht sie austauschbar. - Model wird benötigt, aber ist null - Es sind mehrere Modelle in dieser Datei. Von ''{0}'' top level Strukturen konnten ''{1}'' als Modelle verifiziert werden und werden nun geparst. - Es gibt keinen Namen für dieses Model - Nicht unterstützte Ungleichheitsbeziehung für den Metaboliten mit Id ''{0}''. - In dem angegebenen Verzeichnis befinden sich keine Dateien. - Keine Gen Name für das Label ''{0}'' in BiGG gefunden. - Dieses SBML Dokument enthält keine Model. Nichts zu tun. - Wenn diese Option eingestellt wird, so wird weder in den SBML-Container noch in das Modell-Objekt Webseiteninhalte eingefügt. - URI: ''{0}'' wird ohne Überprüfung ihrer Validität hinzugefügt. Die entsprechende Collection ist nicht in der registry-lib enthalten - Es gibt keine Notizen für dieses Model - Die Anzahl der Felder in dem JSON-Model befindet sich nicht im erwarteten Bereich von 4-10: ''{0}''\nEinige Eigenschaften werden möglicherweise nicht geparst. - Es gibt {0} Kompartimente in diesem Model. - Es gibt {0} Gene in diesem Model. - Es gibt {0} Metabolite in diesem Model. - Es gibt {0} Reaktionen in diesem Model. - Zielfunktion {0} hat keine Flussziele. - Keine Zielfunktion für das Model {0} definiert. - Keine aktive Zielfunktion definiert für Model {0}. - Das Problem könnte erfolgreich gelöst werden, indem man ''{0}'' als die aktive Zielfunktion deklariert. - Wenn wahr, werden generische Top Level annotationen wie "Prozess" angewendet. Ist diese Option ausgeschaltet, wird die Ausgabedatei kleiner. - Produce output as a single COMBINE Archive including polished model and glossary rdf file. NOTE: Output file name is taken from input to option --output. - SBML-Ausgabedatei - Output is {0}. - Konnte ''{0}'' wegen {1} nicht parsen - Konnte Id ''{0}'' nicht korrekt parsen. {1} - Id ''{0}'' passt nicht zum Pattern ''{1}'' - Collection ''{0}'' passt nicht zum erwarteten Pattern. Es wird nicht als Ressource hinzugefügt. - "Id ''{0}'' passt nicht zum Pattern ''{1}'' von Collection ''{2}''!" - ''{0}'' ist keine bekanntes Präfix. - Bearbeite Model {0}. - Verbunden mit SQL server {0}:{1,number,####}. Die Datenbank mit Namen {2} wird verwendet. - Konnte keine Reaktionsteilnehmer hinzufügen, da die Id ungültig ist: {0} - Operation gescheitert! Konnte Biomasse Reaktion nicht identifizieren. - Reaktion ''{0}'' wurde als Demand Reaktion erkannt, dies kommt jedoch nicht in ihrer BiGG Id zum Ausdruck. - Operation gescheitert! Liste der Reaktionen fehlt in Model {0}. - Operation gescheitert! Konnte Reaktion ''{0}'' in Model {1} nicht identifizieren. - In diesem Model sind keine Reaktionen vorhanden - Konnte Datei ''{0}'' nicht öffnen. - Lese Datei {0}. - Konnte Datei nicht vollständig lesen - Die Root Node ist leer, Model konnte nicht geparsed werden. - Resultat für {0} und parameter {1} und {2} nicht eindeutig. Das Resultat wird verworfen. - Wenn wahr, wird die geschaffene SBML Datei mit dem Online Validierungsservice auf http://sbml.org validiert. - Konnte Abkürzung nicht setzen: {0} - Konnte Compartment Code nicht setzen: ''{0}'' - Konnte Präfix nicht setzen : ''{0}'' - Konnte TissueCode nicht setzen: ''{0}'' - Überspringe Kommentar für Ressource: ''{0}'', behalte nur Referenzen ''{1}'' bis {2}. - Datei wurde bereits berichtigt, überspringe diesen Schritt - Spezies ''{0}'' mit ungültiger Id gefunden. - Ungültige Referanz auf Spezies ''{0}'', diese existiert im Model nicht. - Spezies ''{0}'' in Reaktion ''{1}'' ist nicht definiert! - Verbunden mit der lokalen SQLite Version von BiGGDB. - Struct field {0} not present - Reaktion an Index ''{0}'' ist null. Konnte Subsystem Linnk nicht herstellen. - Es muss nichts ersetzt werden, weiter zum nächsten Schritt - Ungültiger tissue code: ''{0}'' - Nur eine Reaktion sollte das Ziel von objective {0} sein. - Der gegebene Id String enthält möglicherweise mehr als eine Id. Nur die erste wird benutzt: - Versuche das Model zu Level 3 Version 1 zu konvertieren. - Versuche im Model fehlendes flux objective für das Model {0} zu identifizieren. - Erwartete ''{1}'' vom Typ cell zu sein, ist aber vom Typ {0}. - Erwartete ''{1}'' vom Typ char zu sein, ist aber vom Typ {0}. - Erwartete ''{1}'' vom Typ double zu sein, ist aber vom Typ {0}. - Erwartete MLDouble, erhielt aber {0}. - Erwartete ''{1}'' vom Typ sparse array zu sein, ist aber vom Typ {0}. - Erwartete Character String im Datenfeld ''{1}''{2}, erhielt aber {0}. - Diese URI bitte melden {0} - Aktualisiere Id des Genprodukts ''{0}'' zu ''{1}''. - Aktualisiere Namen des Genprodukts ''{0}'' to ''{1}''. - - Keine SBML Validierung möglich. Prozess mit Fehlern beendet. - Die Versionsnummer für das Model fehlt - Schreibe COMBINE Archiv {0} - Die Eingabedaten aus dem Verzeichnis {0} können nicht in die Ausgabedatei {1} geschrieben werden. Überspringe das Verzeichnis. - Schreibe Datei {0} - Schreibe RDF glossary Datei {0} - Kann Datei {0} nicht schreiben. - Korrigierte Datei nach ''{0}'' geschrieben -
    diff --git a/src/overview.html b/src/overview.html deleted file mode 100644 index a87551bd..00000000 --- a/src/overview.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/scripts/ModelPolisher.sh b/src/scripts/ModelPolisher.sh deleted file mode 100755 index 256d388f..00000000 --- a/src/scripts/ModelPolisher.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -# -# This script launches ModelPolisher with convenient settings and an increased -# initial heap size. -# -# Author: Andreas Dräger, University of California, San Diego. -# - -## Find location of this script ## -DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) -cd ${DIR}/.. - -## Launch the program".travis.yml" -java -jar -Xms8G -Xmx8G -Xss128M -Duser.language=en target/ModelPolisher-2.1-beta.jar $@ - -exit 0 diff --git a/src/scripts/runModelPolisher.sh b/src/scripts/runModelPolisher.sh deleted file mode 100755 index ec7e6050..00000000 --- a/src/scripts/runModelPolisher.sh +++ /dev/null @@ -1,111 +0,0 @@ -#!/bin/bash -# -# Launches the ModelPolisher with the options given below. -# -# Author: Andreas Draeger, University of California, San Diego. -# -## Find location of this script ## -DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) - -# Default argument values, all other values have to be provided as -# arguments for the given mode -ANNOTATE=false -COMPRESSION_TYPE=GZIP -CHECK_MASS_BALANCE=true -SBML_VALIDATION=true -OMIT_GENERIC_TERMS=false -LOG_LEVEL=INFO -LOG_FILE=${DIR}/model_polisher.log 2>/dev/null - -for OPT in $*; do - case $OPT in - --user=*) USER="${OPT#*=}";; - --dbname=*) DBNAME="${OPT#*=}";; - --annotate-with-bigg=*) ANNOTATE="${OPT#*=}";; - --passwd=*) PASSWD="${OPT#*=}";; - --host=*) HOST="${OPT#*=}";; - --port=*) PORT="${OPT#*=}";; - --input=*) INPUT="${OPT#*=}";; - --output=*) OUTPUT="${OPT#*=}";; - --compression-type=*) COMPRESSION_TYPE="${OPT#*=}";; - --check-mass-balance=*) CHECK_MASS_BALANCE="${OPT#*=}";; - --sbml-validation=*) SBML_VALIDATION="${OPT#*=}";; - --omit-generic-terms=*) OMIT_GENERIC_TERMS="${OPT#*=}";; - --log-level=*) LOG_LEVEL="${OPT#*=}";; - --log-file=*) LOG_FILE="${OPT#*=}";; - --include-any-uri=*) INCLUDE_ANY_URI="${OPT#*=}";; - --flux-coefficients=*) FLUX_COEFFICIENTS="${OPT#*=}";; - --flux-objectives=*) FLUX_OBJECTIVES="${OPT#*=}";; - --document-title-pattern=*) DOCUMENT_TITLE_PATTERN="${OPT#*=}";; - --model-notes-file=*) MODEL_NOTES_FILE="{OPT#*=}";; - --document-notes-file=*) DOCUMENT_NOTES_FILE="{OPT#*=}";; - esac -done - -if $ANNOTATE -then -# Completion with annotation -ARGS="\ ---user=$USER \ ---dbname=$DBNAME \ ---annotate-with-bigg=$ANNOTATE \ ---passwd=$PASSWD \ ---host=$HOST \ ---port=$PORT \ ---input=$INPUT \ ---output=$OUTPUT \ ---compression-type=$COMPRESSION_TYPE \ ---check-mass-balance=$CHECK_MASS_BALANCE \ ---sbml-validation=$SBML_VALIDATION \ ---omit-generic-terms=$OMIT_GENERIC_TERMS \ ---log-level=$LOG_LEVEL \ ---log-file=$LOG_FILE" -else -# Only completion -ARGS="\ ---input=$INPUT \ ---output=$OUTPUT \ ---compression-type=$COMPRESSION_TYPE \ ---check-mass-balance=$CHECK_MASS_BALANCE \ ---sbml-validation=$SBML_VALIDATION \ ---omit-generic-terms=$OMIT_GENERIC_TERMS \ ---log-level=$LOG_LEVEL \ ---log-file=$LOG_FILE" -fi - - -# Optional Arguments -if [ -n "$INCLUDE_ANY_URI" ] -then - ARGS+=" --include-any-uri=$INCLUDE_ANY_URI" -fi -if [ -n "$FLUX_COEFFICIENTS" ] -then - ARGS+=" --flux-coefficients=$FLUX_COEFFICIENTS" -fi -if [ -n "$FLUX_OBJECTIVES" ] -then - ARGS+=" --flux-objectives=$FLUX_OBJECTIVES" -fi -if [ -n "$DOCUMENT_TITLE_PATTERN" ] -then - ARGS+=" --document-title-pattern=$DOCUMENT_TITLE_PATTERN" -fi -if [ -n "$MODEL_NOTES_FILE" ] -then - ARGS+=" --model-notes-file=$MODEL_NOTES_FILE" -fi -if [ -n "$DOCUMENT_NOTES_FILE" ] -then - ARGS+=" --document-notes-file=$DOCUMENT_NOTES_FILE" -fi - -"${DIR}/ModelPolisher.sh" $ARGS - -if [ -e "${DIR}/ModelPolisherTemplate.sh" ] && [ ! -e "${DIR}/ModelPolisherTemplate.bckp" ]; -then - mv "${DIR}/ModelPolisherTemplate.sh" "${DIR}/ModelPolisherTemplate.bckp" -fi -echo "${DIR}/ModelPolisher.sh $ARGS" > "${DIR}/ModelPolisherTemplate.sh" - -exit 0 diff --git a/src/test/java/edu/ucsd/sbrg/bigg/BiGGAnnotationTest.java b/src/test/java/edu/ucsd/sbrg/bigg/BiGGAnnotationTest.java deleted file mode 100644 index 71871a06..00000000 --- a/src/test/java/edu/ucsd/sbrg/bigg/BiGGAnnotationTest.java +++ /dev/null @@ -1,53 +0,0 @@ -package edu.ucsd.sbrg.bigg; - -import java.io.File; -import java.io.IOException; - -import javax.xml.stream.XMLStreamException; - -import org.junit.jupiter.api.AfterAll; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Test; -import org.sbml.jsbml.SBMLDocument; -import org.sbml.jsbml.SBMLReader; -import org.sbml.jsbml.Species; - -import edu.ucsd.sbrg.db.BiGGDB; -import edu.ucsd.sbrg.util.UpdateListener; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -public class BiGGAnnotationTest { - - private static Parameters parameters; - private static SBMLDocument doc; - -// @BeforeAll -// public static void setUp() throws IOException, XMLStreamException { -// // get test file -// String input = BiGGAnnotationTest.class.getResource("models/ecoli_core.xml").getFile(); -// doc = SBMLReader.read(new File(input), new UpdateListener()); -// // DB connection -// BiGGDB.init("biggdb", "5432", "postgres", "postgres", "bigg"); -// } -// -// -// @Test -// public void getBiGGIdFromResourcesTest() { -// for (Species species : doc.getModel().getListOfSpecies()) { -// Species obfuscated = species.clone(); -// obfuscated.setId("random"); -// BiGGAnnotation biGGAnnotation = new BiGGAnnotation(); -// String originalId = biGGAnnotation.checkId(species).map(BiGGId::toBiGGId).get(); -// String obfuscatedId = biGGAnnotation.checkId(species).map(BiGGId::toBiGGId).get(); -// assertEquals(originalId, obfuscatedId); -// } -// } -// -// -// @AfterAll -// public static void cleanUp() { -// if (BiGGDB.inUse()) -// BiGGDB.close(); -// } -} diff --git a/src/test/java/edu/ucsd/sbrg/bigg/IDtest.java b/src/test/java/edu/ucsd/sbrg/bigg/IDtest.java deleted file mode 100644 index ee8b0ed3..00000000 --- a/src/test/java/edu/ucsd/sbrg/bigg/IDtest.java +++ /dev/null @@ -1,32 +0,0 @@ -package edu.ucsd.sbrg.bigg; - -import static org.junit.jupiter.api.Assertions.fail; - -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Test; - - -/** - * @author Andreas Dräger - * - */ -public class IDtest { - - @BeforeAll - public static void setUp() { - } - - - @Test - public void test() { - String r1 = "R_SK_5moxac"; - String r2 = "R_sink_test"; - String r3 = "R_sdnk_test"; - String pattern = ".*_[Ss]([Ii][Nn])?[Kk]_.*"; - if (r1.matches(pattern) && r2.matches(pattern) && !r3.matches(pattern)) { - System.out.println("pass"); - } else { - fail(); - } - } -} diff --git a/src/test/java/edu/ucsd/sbrg/miriam/RegistryTest.java b/src/test/java/edu/ucsd/sbrg/miriam/RegistryTest.java deleted file mode 100644 index caebf315..00000000 --- a/src/test/java/edu/ucsd/sbrg/miriam/RegistryTest.java +++ /dev/null @@ -1,142 +0,0 @@ -package edu.ucsd.sbrg.miriam; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; - -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Optional; -import java.util.Set; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.junit.jupiter.api.BeforeAll; -import org.junit.Test; -import org.junit.Ignore; - -import edu.ucsd.sbrg.miriam.models.Miriam; -import edu.ucsd.sbrg.miriam.models.Namespace; -import edu.ucsd.sbrg.miriam.models.Resource; - -public class RegistryTest { - - private static Set namespaces; - - @BeforeAll - public static void setUp() { - Miriam miriam = RegistryProvider.getInstance().getMiriam(); - namespaces = new LinkedHashSet<>(miriam.getNamespaces().values()); - } - - @Ignore - @Test - public void retrieveNamespaceNonCanonical() { - for (Namespace ns : namespaces) { - // Given sample identifier does not match provided pattern for GWAS and Pattern is wrong for GOLD genome - String name = ns.getName(); - if (name.equals("GWAS Central Phenotype") || name.equals("GOLD genome")) { - continue; - } - for (Resource res : ns.getResources()) { - // id from sciwalker is slightly different, ignore for now - // Panther Pattern is interpreted incorrectly - '^G|P|U|C|S\\d{5}$' should be '^[GPUCS]\\d{5}$' instead - // Onto bee has a weird id pattern that we currently don't handle, ignore for now - name = res.getName(); - if (name.equals("SciWalker Open Data") || name.equals("PANTHER Pathway Component at USC (Los Angeles)") || name.equals("VariO at Lund University")) { - continue; - } - String id = res.getSampleId(); - String urlPattern = res.getUrlPattern(); - String sourceURL = urlPattern.replaceAll("\\{\\$id}", id); - Optional canonicalURL = Registry.checkResourceUrl(sourceURL); - assertTrue(canonicalURL.isPresent()); - canonicalURL.ifPresent(url -> { - assertTrue(url.startsWith("https://identifiers.org")); - List parts = Registry.getPartsFromCanonicalURI(url); - assertEquals(2, parts.size()); - }); - // While most provider inequalities result in correct resource resolution, a few need to be handled differently - // TODO: add this handling - // keep this in the comments for now: - // String provider = parts.get(0); - // ark is present twice, once nested in a namespace and once as a separate namespace, the created identifiers - // URI, however, is resolvable, same problem with ebi.ac.uk/ena and others - // if (targetPrefix.equals("bioproject") && provider.equals("dbest") - // // BDGP EST at NCBI resolves to correct entry, but identifiers.org adress ebi instead of ncbi, this should be - // // ok - // || targetPrefix.equals("bdgp.est") && provider.equals("dbest") - // || targetPrefix.equals("cath.superfamily") && provider.equals("cath") - // || targetPrefix.equals("ena.embl") && provider.equals("dbest") - // || targetPrefix.equals("ena.embl") && provider.equals("insdc") - // || targetPrefix.equals("insdc") && provider.equals("dbest") - // || targetPrefix.equals("insdc.cds") && provider.equals("dbest") - // || targetPrefix.equals("kegg.metagenome") && provider.equals("kegg") - // // linkedchemistry.info resolves to both chembl.compound and chembl.target. While this is wrong, chembl can - // // still resolve this correctly. Leave for now - // || targetPrefix.equals("chembl.compound") && provider.equals("chembl.target") - // || targetPrefix.equals("minid") && provider.equals("ark")) { - // } else { - // assertEquals(targetPrefix, provider); - // } - } - } - } - - - @Test - public void checkPatternTest() { - for (Namespace ns : namespaces) { - // Given sample identifier does not match provided pattern for GWAS and Pattern is wrong for GOLD genome - // Regex for Panther Pathway Component is wrong - String name = ns.getName(); - if (name.equals("GWAS Central Phenotype") || name.equals("GOLD genome") - || name.equals("PANTHER Pathway Component")) { - continue; - } - String id = correctId(ns); - String pattern = ns.getPattern(); - assertTrue(Registry.checkPattern(id, pattern)); - } - } - - @Ignore - @Test - public void getPartsFromCanonicalURITest() { - for (Namespace ns : namespaces) { - // Given sample identifier does not match provided pattern for GWAS and Pattern is wrong for GOLD genome - // Regex for Panther Pathway Component is wrong - String name = ns.getName(); - if (name.equals("GWAS Central Phenotype") || name.equals("GOLD genome") - || name.equals("PANTHER Pathway Component")) { - continue; - } - String resource = Registry.createURI(ns.getPrefix(), correctId(ns)); - List parts = Registry.getPartsFromCanonicalURI(resource); - assertEquals(2, parts.size()); - String provider = parts.get(0); - String id = parts.get(1); - String collection = Registry.getCollectionForPrefix(provider); - String pattern = Registry.getPattern(collection); - assertEquals(ns.getPattern(), pattern); - assertTrue(Registry.checkPattern(id, pattern)); - } - } - - - private String correctId(Namespace ns) { - String id = ns.getSampleId(); - String pattern = ns.getPattern(); - // Extract prefix if pattern in Lui, aka prefix is part of pattern but id does not contain it - if (ns.isNamespaceEmbeddedInLui()) { - Pattern prefixPattern = Pattern.compile("^\\^?.*?(?\\w+)[\\\\]?:.*"); - Matcher patternWithPrefix = prefixPattern.matcher(pattern); - if (patternWithPrefix.matches()) { - String prefix = patternWithPrefix.group("prefix"); - if (!id.startsWith(prefix)) { - id = prefix + ":" + id; - } - } - } - return id; - } -} diff --git a/src/test/java/edu/ucsd/sbrg/util/GPRParserTest.java b/src/test/java/edu/ucsd/sbrg/util/GPRParserTest.java deleted file mode 100644 index ddf5ded7..00000000 --- a/src/test/java/edu/ucsd/sbrg/util/GPRParserTest.java +++ /dev/null @@ -1,57 +0,0 @@ -package edu.ucsd.sbrg.util; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import org.junit.jupiter.api.BeforeAll; -import org.sbml.jsbml.Model; -import org.sbml.jsbml.ext.fbc.FBCConstants; -import org.sbml.jsbml.ext.fbc.FBCModelPlugin; -import org.sbml.jsbml.ext.fbc.GeneProduct; -import org.sbml.jsbml.ext.fbc.GeneProductAssociation; -import org.sbml.jsbml.ext.fbc.GeneProductRef; - -public class GPRParserTest { - - final static int LEVEL = 3; - final static int VERSION = 1; - static Model model = new Model(LEVEL, VERSION); - static List geneReactionRules = new ArrayList<>(); - static List geneProductAssociations = new ArrayList<>(); - - @BeforeAll - public static void setUp() { - String[] grr = {"1591.1", "8639.1 or 26.1 or 314.2 or 314.1", - "(4967.2 and 1738.1 and 8050.1 and 1743.1) or (4967.1 and 1738.1 and 8050.1 and 1743.1)", - "130.1 or 127.1 or (125.1 and 124.1) or 131.1 or (126.1 and 124.1) or 128.1 or 137872.1 or (125.1 and 126.1)"}; - geneReactionRules.addAll(Arrays.asList(grr)); - //geneProductAssociations.add(prepareFirstResult()); - } - - - private static void prepareFirstResult() { - GeneProductRef geneProductRef = new GeneProductRef(LEVEL, VERSION); - FBCModelPlugin fbcPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); - String identifier = "G_1591_AT1"; - GeneProduct geneProduct = fbcPlug.createGeneProduct(identifier); - geneProduct.setLabel(identifier); - geneProductRef.setGeneProduct(identifier); - //return (GeneProductAssociation) geneProductRef; - } - - - private static GeneProductAssociation prepareSecondResult() { - GeneProductAssociation association = new GeneProductAssociation(LEVEL, VERSION); - GeneProductRef geneProductRef = new GeneProductRef(LEVEL, VERSION); - FBCModelPlugin fbcPlug = (FBCModelPlugin) model.getPlugin(FBCConstants.shortLabel); - String identifier = "G_1591_AT1"; - GeneProduct gp = fbcPlug.createGeneProduct(identifier); - gp.setLabel(identifier); - return association; - } - - - public final void test() { - } -}