All Projects → biolink → biolink-api

biolink / biolink-api

Licence: BSD-3-Clause license
API for linked biological knowledge

Programming Languages

python
139335 projects - #7 most used programming language
Gherkin
971 projects
perl
6916 projects
shell
77523 projects
Makefile
30231 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to biolink-api

snpsea
📊 Identify cell types and pathways affected by genetic risk loci.
Stars: ✭ 26 (-51.85%)
Mutual labels:  bioinformatics, gene
CellO
CellO: Gene expression-based hierarchical cell type classification using the Cell Ontology
Stars: ✭ 34 (-37.04%)
Mutual labels:  bioinformatics, ontologies
gene-oracle
Feature extraction algorithm for genomic data
Stars: ✭ 13 (-75.93%)
Mutual labels:  bioinformatics, gene
phenol
phenol: Phenotype ontology library
Stars: ✭ 15 (-72.22%)
Mutual labels:  ontologies, phenotypes
NeuroSEED
Implementation of Neural Distance Embeddings for Biological Sequences (NeuroSEED) in PyTorch (NeurIPS 2021)
Stars: ✭ 40 (-25.93%)
Mutual labels:  bioinformatics
rkmh
Classify sequencing reads using MinHash.
Stars: ✭ 42 (-22.22%)
Mutual labels:  bioinformatics
CeleScope
Single Cell Analysis Pipelines
Stars: ✭ 36 (-33.33%)
Mutual labels:  bioinformatics
awesome-phages
A curated list of phage related software and computational resources for phage scientists, bioinformaticians and enthusiasts.
Stars: ✭ 14 (-74.07%)
Mutual labels:  bioinformatics
go4bio
Golang for Bioinformatics
Stars: ✭ 27 (-50%)
Mutual labels:  bioinformatics
wdlRunR
Elastic, reproducible, and reusable genomic data science tools from R backed by cloud resources
Stars: ✭ 34 (-37.04%)
Mutual labels:  bioinformatics
slamdunk
Streamlining SLAM-seq analysis with ultra-high sensitivity
Stars: ✭ 24 (-55.56%)
Mutual labels:  bioinformatics
DigitalCellSorter
Digital Cell Sorter (DCS): single cell RNA-seq analysis toolkit. Documentation:
Stars: ✭ 19 (-64.81%)
Mutual labels:  gene
tibanna
Tibanna helps you run your genomic pipelines on Amazon cloud (AWS). It is used by the 4DN DCIC (4D Nucleome Data Coordination and Integration Center) to process data. Tibanna supports CWL/WDL (w/ docker), Snakemake (w/ conda) and custom Docker/shell command.
Stars: ✭ 61 (+12.96%)
Mutual labels:  bioinformatics
sirius
SIRIUS is a software for discovering a landscape of de-novo identification of metabolites using tandem mass spectrometry. This repository contains the code of the SIRIUS Software (GUI and CLI)
Stars: ✭ 32 (-40.74%)
Mutual labels:  bioinformatics
RNArtistCore
A Kotlin DSL and library to create and plot RNA 2D structures
Stars: ✭ 20 (-62.96%)
Mutual labels:  bioinformatics
GRAFIMO
GRAph-based Finding of Individual Motif Occurrences
Stars: ✭ 22 (-59.26%)
Mutual labels:  bioinformatics
Binning refiner
Improving genome bins through the combination of different binning programs
Stars: ✭ 26 (-51.85%)
Mutual labels:  bioinformatics
compomics-utilities
Open source Java library for computational proteomics
Stars: ✭ 24 (-55.56%)
Mutual labels:  bioinformatics
admixr
An R package for reproducible and automated ADMIXTOOLS analyses
Stars: ✭ 20 (-62.96%)
Mutual labels:  bioinformatics
codon-usage-tables
📊 Codon usage tables in code-friendly format + Python bindings
Stars: ✭ 21 (-61.11%)
Mutual labels:  bioinformatics

BioLink API

Tests

An API providing access to information on biologically and biomedically relevant entities, and the relationships between them, including:

  • genes, gene products, proteins
  • diseases, phenotypes, traits and clinical measurements
  • pathways, biological process
  • substances: small molecules, drugs, chemical entities
  • biological and molecular roles and activities
  • genotypes, alleles, sequence variants; for plants, germplasms
  • environmental contexts and exposures
  • individual organisms: patients, cohorts, model organisms
  • cell lines and cell types
  • investigations: experiments, clinical trials and 'natural experiments'
  • genomic features
  • phylogenies
  • metadata: publications, ontology terms, database metadata, prefixes

This repository provides an example server for the biolink API. This can be customized for other sources; or an entirely new implementation conforming to the API can be created.

Demo

This API is designed to be implemented or partially implemented via a variety of databases.

The Monarch instance provides access to a wide variety of aggregated data:

http://api.monarchinitiative.org/api/

Note this instance also provides access to GO annotations.

Running the server

After checking out this repo:

./start-server.sh

This uses gunicorn and starts a server on 8888 by default. pyvenv is activated automatically.

Then look at:

http://localhost:8888/api/

For the swagger docs

To run in development mode:

pyvenv venv
source venv/bin/activate
pip install -r requirements.txt
export PYTHONPATH=.:$PYTHONPATH
python biolink/app.py

Running with Docker

Docker requires a config directory with an ontobio config file named ontobio-config.yaml and a biolink config file named biolink-config.yaml

For testing purposes these can be copied from the defaults, eg

mkdir config
cp conf/config.yaml config/biolink-config.yaml
cp venv/lib/python3.8/site-packages/ontobio/config.yaml config/ontobio-config.yaml
docker build -t biolink-api .
docker run -p 5000:5000 -v `pwd`/config:/config biolink-api start-server -k gevent --worker-connections 5 --bind 0.0.0.0:5000 wsgi:app

Datamodel

See the swagger UI for more details. Click on 'model' under any of the routes.

The primary abstraction used in the modeling is the distinction between named objects and associations.

  • Named objects include things like genes, drugs, pathways.
    • specific types subclass from a more generic type
  • Associations connect these, usually via some evidence and provenance information.
    • Some associations can be direct, others are indirect or inferred
    • Where associations are inferred, these is a graph of evidence tracing the primary associations

Examples

See EXAMPLE-QUERIES.md

These examples are compiled from the behave tests

Contributing to BioLink-API

This is the repo:

https://github.com/biolink/biolink-api/

You can run a server instance locally with very little effort (less than one minute), see below:

Dependencies

This server implementation is primarily a flask-rest wrapper onto the ontobio package.

Goals

This API will wrap and integrate number of different more modular APIs and database engines or analysis services. The idea is that the API implementation will do the right thing - for example, using Solr for searches but injecting results with fast in-memory traversal of ontology graphs.

Client API Libraries

A service implementing the Biolink API can be accessed through standard http libraries. We also provide client language bindings, generated through swagger-codegen. For more information, see:

ClientAPIs

Implementation and Project Organization

This is intended as a think wrapper layer, integrating existing services, as shown here:

img

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].