{"id":15043292,"url":"https://github.com/bio4j/bio4j","last_synced_at":"2025-04-10T00:41:08.723Z","repository":{"id":1363003,"uuid":"1312351","full_name":"bio4j/bio4j","owner":"bio4j","description":"Bio4j abstract model and general entry point to the project","archived":false,"fork":false,"pushed_at":"2016-12-16T10:48:30.000Z","size":285906,"stargazers_count":118,"open_issues_count":6,"forks_count":19,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-03-24T02:22:48.546Z","etag":null,"topics":["bio4j","bio4j-titan","bioinformatics","database","gene-ontology","graph","graph-data","graph-database","graph-databases","graph-queries","graph-schema","java","java-8","ncbi-taxonomy","property-graph","protein","proteins","titan","uniprot","uniref"],"latest_commit_sha":null,"homepage":"http://www.bio4j.com","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bio4j.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-01-31T14:12:05.000Z","updated_at":"2025-01-13T09:58:07.000Z","dependencies_parsed_at":"2022-07-29T10:39:49.935Z","dependency_job_id":null,"html_url":"https://github.com/bio4j/bio4j","commit_stats":null,"previous_names":[],"tags_count":100,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bio4j%2Fbio4j","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bio4j%2Fbio4j/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bio4j%2Fbio4j/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bio4j%2Fbio4j/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bio4j","download_url":"https://codeload.github.com/bio4j/bio4j/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137998,"owners_count":21053775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bio4j","bio4j-titan","bioinformatics","database","gene-ontology","graph","graph-data","graph-database","graph-databases","graph-queries","graph-schema","java","java-8","ncbi-taxonomy","property-graph","protein","proteins","titan","uniprot","uniref"],"created_at":"2024-09-24T20:48:49.019Z","updated_at":"2025-04-10T00:41:08.705Z","avatar_url":"https://github.com/bio4j.png","language":"Java","readme":"# Bio4j bioinformatics graph data platform\n\n[![](https://travis-ci.org/bio4j/bio4j.svg)](https://travis-ci.org/bio4j/bio4j)\n[![](https://img.shields.io/codacy/a580b554490b42969eec4ab82d8463a0.svg)](https://www.codacy.com/app/bio4j/bio4j)\n[![](http://github-release-version.herokuapp.com/github/bio4j/bio4j/release.svg)](https://github.com/bio4j/bio4j/releases/latest)\n[![](https://img.shields.io/badge/license-AGPLv3-blue.svg)](https://tldrlegal.com/license/gnu-affero-general-public-license-v3-%28agpl-3.0%29)\n[![](https://img.shields.io/badge/contact-gitter_chat-dd1054.svg)](https://gitter.im/bio4j/bio4j)\n\n\nBio4j is a bioinformatics graph data platform, integrating most data available in [**Uniprot KB**](http://www.uniprot.org/) (SwissProt + Trembl), [**Gene Ontology**](http://www.geneontology.org/) (GO), [**UniRef**](http://www.ebi.ac.uk/uniref/) (50,90,100), [**NCBI Taxonomy**](http://www.ncbi.nlm.nih.gov/Taxonomy/), and [**Expasy Enzyme DB**](http://enzyme.expasy.org/).\n\nBio4j provides a completely new and powerful **framework for protein related information querying and management**.\nThe 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.\n\n## Project structure and overview\n\n\u003c!-- TODO: add a diagram here, I think it would help --\u003e\n\nBio4j can look a bit intimidating at first, with all those repositories with kind of similar names; here you have a guided tour around:\n\n#### bio4j/bio4j\n\nIn this repository [bio4j/bio4j](https://github.com/bio4j/bio4j) you will find the generic Bio4j model and API. Entities, relationships and their properties are modeled using a typed [property graph](https://github.com/tinkerpop/blueprints/wiki/property-graph-model) 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`, ...).\n\nThe API, based on [bio4j/angulillos](https://github.com/bio4j/angulillos), lets you write generic typed traversals over this graph schema:\n\n``` Java\nprotein.uniref50Member_outV()\n  .map(\n    UniRef50Cluster::uniRef50Member_inV\n  )\n  .map(\n    prts -\u003e prts.map(\n      Protein::goAnnotation_outV\n    )\n  );\n```\n\nwhich 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.\n\n#### bio4j/angulillos\n\nYou can think of [bio4j/angulillos](https://github.com/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\n\n- you cannot retrieve the outgoing edges of and edge\n- and you can get the tweets that a user tweeted, but not the users that a tweet follows!\n\n#### bio4j/bio4j-titan\n\nIn [bio4j/bio4j-titan](https://github.com/bio4j/bio4j-titan) you will find a [Titan](https://github.com/thinkaurelius/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!\n\n#### bio4j/angulillos-titan\n\n[bio4j/angulillos-titan](https://github.com/bio4j/angulillos-titan) is an implementation of the angulillos API using [Titan](https://github.com/thinkaurelius/titan/).\n\n\u003c!-- TODO: add more repos --\u003e\n\n## Documentation\n\n* General docs: [docs/](docs/)\n* Code docs: [docs/src/](docs/src/main/java/com/bio4j/model/)\n* API Docs: [v0.12.0](http://bio4j.com/bio4j/docs/api/0.12.0/)\n\n\u003c!-- * [Getting started](docs/getting-started.md)\n* [Domain model](docs/domain-model.md)\n* [Bio4j modules](docs/bio4j-modules.md)\n* [Importing Bio4j](docs/importing-bio4j.md)\n* Entry points and Indexing:\n  - [Auxiliary relationships](docs/auxiliary-relationships.md)\n  - [Node indexing](docs/node-indexing.md)\n* [FAQ](docs/faq.md)\n* [Examples](docs/examples.md) --\u003e\n\n\n## Community and contact\n\n- **[Gitter chat](https://gitter.im/bio4j/bio4j)** _The easiest and fastest way to contact developers and ask for help_\n- **[bio4j-user](http://groups.google.com/group/bio4j-user)** _Google group / mailing list_\n- **[@bio4j](http://twitter.com/bio4j)** _Twitter_\n- **[Bio4j](http://www.linkedin.com/groups/Bio4j-3890937)** _LinkedIn_\n\n##  Licensing\n\nBio4j is an **open source** platform released under the [**AGPLv3**](http://www.gnu.org/licenses/agpl.html) license.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbio4j%2Fbio4j","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbio4j%2Fbio4j","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbio4j%2Fbio4j/lists"}