https://github.com/biocypher/tcr-epitope

https://github.com/biocypher/tcr-epitope

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.3%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: biocypher
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 5.84 MB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 5
  • Releases: 0
Created about 3 years ago · Last pushed 11 months ago
Metadata Files
Readme License

README.md

IggyTop: Immunological Graph Yielding Top receptor-epitope pairings

Python Version License

figure1

This repository uses BioCypher framework for harmonization of databases with existing immunoreceptor-epitope matching information.

BioCypher is designed to facilitate the standardized integration of heterogeneous data sources through a regulated framework. The BioCypher framework implements a modular architecture where each data source is processed through dedicated transformation scripts called adapters. These adapters serve as the primary interface between raw data sources and the BioCypher knowledge graph infrastructure. This project provides adapters for the following databases:

These include data from both, original sources, extracting data directly from studies, such es McPAS-TCR, and from already pulled sources such as TRAIT. A script is provided to build a knowledge graph with all these adapters. On a consumer laptop, building the full graph typically takes 20-30 mins.

The final output is the IggyTop database, which integrates immunoreceptor-epitope matching information from all supported data sources in the unified list of AIRR cells.

Node and Edge Types

Nodes

  • tra sequence
  • trb sequence
  • igh sequence
  • igl sequence
  • epitope

Edges

  • alpha sequence to beta sequence association
  • heavy sequence to light sequence association
  • t cell receptor sequence to epitope association
  • b cell receptor sequence to epitope association

Prerequisites

  • Poetry for dependency management

Installation

  1. Clone the repository: bash git clone https://github.com/biocypher/tcr-epitope.git cd open-targets

  2. Install dependencies using Poetry: bash poetry install

  3. Print the activate command of the virtual environment to the console and run it: bash poetry env activate

  4. You are ready to go! {bash} python create_knowledge_graph.py

Pipeline

  • create_knowledge_graph.py: the main script that orchestrates the pipeline. It brings together the BioCypher package with the data sources. To build a knowledge graph, you need at least one adapter (see below). For common resources, there may already be an adapter available in the BioCypher package or in a separate repository. You can also write your own adapter, should none be available for your data.

  • tcr-epiotope.adapters contains modules that define the adapter to the data source.

  • schema_config.yaml: a configuration file (found in the config directory) that defines the schema of the knowledge graph. It is used by BioCypher to map the data source to the knowledge representation on the basis of ontology (see this part of the BioCypher tutorial).

  • biocypher_config.yaml: a configuration file (found in the config directory) that defines some BioCypher parameters, such as the mode, the separators used, and other options. More on its use can be found in the Documentation.

🐳 Docker

This repo also contains a docker compose workflow to create the example database using BioCypher and load it into a dockerised Neo4j instance automatically. To run it, simply execute docker compose up -d in the root directory of the project. This will start up a single (detached) docker container with a Neo4j instance that contains the knowledge graph built by BioCypher as the DB docker, which you can connect to and browse at localhost:7474 (don't forget to switch the DB to docker instead of the standard neo4j). Authentication is set to neo4j/neo4jpassword by default and can be modified in the docker_variables.env file.

By using the BIOCYPHER_CONFIG environment variable in the Dockerfile, the biocypher_docker_config.yaml file is used instead of the biocypher_config.yaml. Everything else is the same as in the local setup. The first container installs and runs the BioCypher pipeline, and the second container installs and runs Neo4j. The files created by BioCypher in the first container are copied and automatically imported into the DB in the second container.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request or create an Issue if you discover any problems.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Owner

  • Name: biocypher
  • Login: biocypher
  • Kind: organization

GitHub Events

Total
  • Create event: 5
  • Issues event: 12
  • Watch event: 1
  • Delete event: 3
  • Issue comment event: 9
  • Member event: 1
  • Push event: 19
  • Pull request review comment event: 6
  • Pull request review event: 13
  • Pull request event: 7
Last Year
  • Create event: 5
  • Issues event: 12
  • Watch event: 1
  • Delete event: 3
  • Issue comment event: 9
  • Member event: 1
  • Push event: 19
  • Pull request review comment event: 6
  • Pull request review event: 13
  • Pull request event: 7

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 11
  • Total pull requests: 9
  • Average time to close issues: 3 months
  • Average time to close pull requests: 6 days
  • Total issue authors: 2
  • Total pull request authors: 2
  • Average comments per issue: 1.27
  • Average comments per pull request: 1.44
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 10
  • Pull requests: 6
  • Average time to close issues: 3 months
  • Average time to close pull requests: 10 days
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 1.4
  • Average comments per pull request: 2.17
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • vd-dragan21 (10)
  • slobentanzer (1)
Pull Request Authors
  • vd-dragan21 (6)
  • martinkim0 (2)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

Dockerfile docker
  • docker.io/andimajore/biocyper_base python3.10 build
  • docker.io/neo4j 4.4-enterprise build
poetry.lock pypi
  • appdirs 1.4.4
  • biocypher 0.5.14
  • certifi 2022.12.7
  • cffi 1.15.1
  • charset-normalizer 3.1.0
  • colorama 0.4.6
  • colorlog 6.7.0
  • cryptography 40.0.2
  • deprecated 1.2.13
  • idna 3.4
  • isodate 0.6.1
  • more-itertools 9.1.0
  • neo4j 4.4.11
  • neo4j-utils 0.0.7
  • networkx 3.1
  • numpy 1.24.3
  • packaging 23.1
  • pandas 2.0.1
  • platformdirs 3.5.0
  • pooch 1.7.0
  • pycparser 2.21
  • pygithub 1.58.1
  • pyjwt 2.6.0
  • pynacl 1.5.0
  • pyparsing 3.0.9
  • python-dateutil 2.8.2
  • pytz 2023.3
  • pyyaml 6.0
  • rdflib 6.3.2
  • requests 2.29.0
  • six 1.16.0
  • stringcase 1.2.0
  • toml 0.10.2
  • tqdm 4.65.0
  • treelib 1.6.4
  • tzdata 2023.3
  • urllib3 1.26.15
  • wrapt 1.15.0
pyproject.toml pypi
  • PyGithub ^1
  • biocypher ^0.5.14
  • pandas ^2.0.1
  • pooch ^1
  • python ^3.10
  • requests ^2
  • tqdm ^4.65.0
docker-compose.yml docker