metadata
title: Protein Similarity API
emoji: 🧬
colorFrom: blue
colorTo: indigo
sdk: docker
app_port: 7860
python_version: 3.1
short_description: FastAPI for comparing protein sequences.
tags:
- bioinformatics
- protein
- api
- fastapi
- transformer
- huggingface
pinned: true
protein-similarity-api
A lightweight, production-ready FastAPI service for comparing protein sequences using state-of-the-art transformer embeddings (ESM-2).
It provides a simple REST API to measure semantic similarity between protein sequences, returning a similarity score based on cosine distance in embedding space.
Why this matters?
Protein similarity is at the heart of functional annotation, homology detection, and structure prediction. This API lets anyone (researcher, student, dev) compare protein sequences using powerful models.
Features
- Compare two protein sequences using ESM-2
- Returns cosine similarity + classification (homologous vs. non-homologous)
- Lightweight, deployable on free-tier platforms like Render or Railway
- Clean FastAPI structure, easy to extend (e.g. embeddings endpoint, caching)
API Endpoints
POST /compare
Compare two sequences and get similarity:
Request:
{
"sequence_1": "MSSKVIFF...",
"sequence_2": "MTTRLIFF...",
"model": "esm_2_650m"
}
Response:
{
"cosine_similarity": 0.57,
"classification": "moderate similarity (possible remote homolog)",
"model": "ESM-2 650M"
}
How to run it?
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload
How to deploy it?