![Logo](/naity/ReceptorAI/raw/main/images/logo.png)
Discover TCR matches, antigen specificity, and structure with AI
View Demo
·
Report Bug
·
Request Feature
Table of Contents
ReceptorAI is an AI-powered app that uses Transformer-based protein language models to help you identify T cell receptor (TCR) matches, discover antigen specificity, and predict TCR structure. ReceptorAI leverages embeddings to represent TCR sequences in a compact and informative way, allowing it to efficiently query a database of TCRs with known antigen specificity.
- 🔍 Efficiently identify TCR matches
- 💡 Discover TCR antigen specificity
- 🧩 Predict TCR structure
To launch the ReceptorAI web app, please follow the steps below:
- Clone the repo:
git clone https://github.com/naity/ReceptorAI.git
- Run the Streamlit app:
streamlit run app.py
The requirements.txt
file lists the Python packages that need to be installed in order to run the app. Please use the command below for installation.
pip install -r requirements.txt
The ReceptorAI app can be run as is. However, users can also update or customize the embedding database for the app using the following Jupyter Notebooks:
-
antigen_specific_tcrs.ipynb
: This notebook preprocesses TCR sequences from various public databases. Users can customize the TCRs they want to include in the database. -
build_index.ipynb
: Run this notebook after executingantigen_specific_tcrs.ipynb
to transform TCRs into vectors and build the embedding database for the ReceptorAI app. You may customize the underlying LLM for creating embeddings. -
evaluation.ipynb
: This notebook assesses the performance of the constructed TCR embedding database. TCRs used to build the database are queried against it, and the recall is 99.7%, indicating that the same TCR is returned 99.7% of the time.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.