All Projects → bio4j → Bio4j

bio4j / Bio4j

Licence: agpl-3.0
Bio4j abstract model and general entry point to the project

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Bio4j

Indradb
A graph database written in rust
Stars: ✭ 1,035 (+815.93%)
Mutual labels:  graph, database, graph-database
Neo4j
Graphs for Everyone
Stars: ✭ 9,582 (+8379.65%)
Mutual labels:  graph, database, graph-database
Eliasdb
EliasDB a graph-based database.
Stars: ✭ 611 (+440.71%)
Mutual labels:  graph, database, graph-database
Reddit Detective
Play detective on Reddit: Discover political disinformation campaigns, secret influencers and more
Stars: ✭ 129 (+14.16%)
Mutual labels:  graph, database, graph-database
Cog
A Persistent Embedded Graph Database for Python
Stars: ✭ 90 (-20.35%)
Mutual labels:  graph, database, graph-database
Grakn
TypeDB: a strongly-typed database
Stars: ✭ 2,947 (+2507.96%)
Mutual labels:  graph, database, graph-database
Taxadb
🐣 locally query the ncbi taxonomy
Stars: ✭ 26 (-76.99%)
Mutual labels:  bioinformatics, database
Graph
Graph is a semantic database that is used to create data-driven applications.
Stars: ✭ 855 (+656.64%)
Mutual labels:  graph, database
Terpene Profile Parser For Cannabis Strains
Parser and database to index the terpene profile of different strains of Cannabis from online databases
Stars: ✭ 63 (-44.25%)
Mutual labels:  bioinformatics, database
Movies Java Bolt
Neo4j Movies Example application with SparkJava backend using the neo4j-java-driver
Stars: ✭ 66 (-41.59%)
Mutual labels:  graph, graph-database
Arcs
🌈Scaffold genome sequence assemblies using linked read sequencing data
Stars: ✭ 67 (-40.71%)
Mutual labels:  graph, bioinformatics
Bcalm
compacted de Bruijn graph construction in low memory
Stars: ✭ 69 (-38.94%)
Mutual labels:  graph, bioinformatics
Awesome Graph
A curated list of resources for graph databases and graph computing tools
Stars: ✭ 717 (+534.51%)
Mutual labels:  graph, graph-database
Graphjin
GraphJin - Build APIs in 5 minutes with GraphQL. An instant GraphQL to SQL compiler.
Stars: ✭ 1,264 (+1018.58%)
Mutual labels:  graph, database
Redisgraph
A graph database as a Redis module
Stars: ✭ 1,292 (+1043.36%)
Mutual labels:  graph, graph-database
Opencypher
Specification of the Cypher property graph query language
Stars: ✭ 534 (+372.57%)
Mutual labels:  graph, database
Chat
基于自然语言理解与机器学习的聊天机器人,支持多用户并发及自定义多轮对话
Stars: ✭ 516 (+356.64%)
Mutual labels:  graph, database
Tinkerpop
Apache TinkerPop - a graph computing framework
Stars: ✭ 1,309 (+1058.41%)
Mutual labels:  graph, graph-database
Gremlin Scala
Scala wrapper for Apache TinkerPop 3 Graph DSL
Stars: ✭ 462 (+308.85%)
Mutual labels:  graph, graph-database
Things.sh
Simple read-only comand-line interface to your Things 3 database
Stars: ✭ 492 (+335.4%)
Mutual labels:  graph, database

Bio4j bioinformatics graph data platform

Bio4j is a bioinformatics graph data platform, integrating most data available in Uniprot KB (SwissProt + Trembl), Gene Ontology (GO), UniRef (50,90,100), NCBI Taxonomy, and Expasy Enzyme DB.

Bio4j provides a completely new and powerful framework for protein related information querying and management. The use of a graph-based data model makes possible to store and query data in a way that semantically represents its own structure. On the contrary, traditional relational models and databases must flatten the data they represent into tables, creating artificial ids in order to connect the different tuples; which can in some cases eventually lead to domain models that have almost nothing to do with the actual structure of data.

Project structure and overview

Bio4j can look a bit intimidating at first, with all those repositories with kind of similar names; here you have a guided tour around:

bio4j/bio4j

In this repository bio4j/bio4j you will find the generic Bio4j model and API. Entities, relationships and their properties are modeled using a typed property graph model. For example, there are vertex types for Protein or GoTerm, and a GoAnnotation edge type going from Protein to GoTerm. This graph schema is separated into different graphs, corresponding to the different data sources (UniProt, Go, UniRef, ...) and connections between them (UniProtGo, UniProtUniRef, ...).

The API, based on bio4j/angulillos, lets you write generic typed traversals over this graph schema:

protein.uniref50Member_outV()
  .map(
    UniRef50Cluster::uniRef50Member_inV
  )
  .map(
    prts -> prts.map(
      Protein::goAnnotation_outV
    )
  );

which can later be executed on a particular backend. Generic data import code is also here, which can be used to load the data using any implementation of angulillos.

bio4j/angulillos

You can think of bio4j/angulillos as a strongly typed version of the property graph model. You can describe graph schemas and write generic traversals over them which are guranteed to be well-typed in that for example

  • you cannot retrieve the outgoing edges of and edge
  • and you can get the tweets that a user tweeted, but not the users that a tweet follows!

bio4j/bio4j-titan

In bio4j/bio4j-titan you will find a Titan-based Bio4j distribution. This is the the default standard distribution, and we also provide through AWS S3 the database binaries with all data already loaded. Go there if you want to stop reading and use Bio4j now!

bio4j/angulillos-titan

bio4j/angulillos-titan is an implementation of the angulillos API using Titan.

Documentation

Community and contact

Licensing

Bio4j is an open source platform released under the AGPLv3 license.

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].