JuliaGraf/ProteinClustering

Master's Thesis in Bioinformatics at the University of Tübingen

Python

0

4 commits

updated Aug 10, 2026

See the code

README

Semantic Clustering of Protein Spaces

This repository contains the source code for my Master's thesis in Bioinformatics at the University of Tübingen.

[!NOTE] Due to file size constraints, the input datasets and intermediate files are not included in this repository.

They are available on the IBMI cluster at /ceph/ibmi/ab/projects/grafjul/ProteinClustering/.

Project overview

overview

As comprehensive databases like the NCBI nr protein database expand rapidly, exhaustive homologous sequence searching is becoming more and more computationally infeasible. This search complexity can be mitigated by clustering massive databases and aligning queries exclusively against cluster representatives. The traditional sequence-based clustering approach struggles to identify distant evolutionary relationships. Although computationally far more expensive, structure-based similarity provides a much higher sensitivity for detecting distant evolutionary relationships, as structure evolves much more slowly than sequence. Protein language models have emerged as a powerful tool to combine the high sensitivity of structural search with the efficiency of sequence search. This study develops a multistage clustering workflow to investigate how embeddings from protein language models can be used to cluster the NCBI nr protein database into structurally conserved communities. Ultimately, this framework yields high-purity clusters, successfully uniting even remote homologs into cohesive communities.

Repository structure

ProteinClustering/
├── clustering/                         # Main scripts
│   ├── evaluation/                     # Scripts for cluster evaluation
│   └── graph_based_clustering/         # Scripts for the graph-based clustering workflow
│   └── hdbscan/                        # Scripts for HDBSCAN clustering
│   └── sequence_based/                 # Scripts for DIAMOND clustering
├── data/                               # Input datasets and intermediate files
├── models/                             # PLM model scripts
├── slurm/                              # Slurm scripts for running computations on BinAC2
└── README.md                           # Project description

JuliaGraf/ProteinClustering

Master's Thesis in Bioinformatics at the University of Tübingen

Python

0

4 commits

updated Aug 10, 2026

See the code

README

Semantic Clustering of Protein Spaces

This repository contains the source code for my Master's thesis in Bioinformatics at the University of Tübingen.

[!NOTE] Due to file size constraints, the input datasets and intermediate files are not included in this repository.

They are available on the IBMI cluster at /ceph/ibmi/ab/projects/grafjul/ProteinClustering/.

Project overview

overview

As comprehensive databases like the NCBI nr protein database expand rapidly, exhaustive homologous sequence searching is becoming more and more computationally infeasible. This search complexity can be mitigated by clustering massive databases and aligning queries exclusively against cluster representatives. The traditional sequence-based clustering approach struggles to identify distant evolutionary relationships. Although computationally far more expensive, structure-based similarity provides a much higher sensitivity for detecting distant evolutionary relationships, as structure evolves much more slowly than sequence. Protein language models have emerged as a powerful tool to combine the high sensitivity of structural search with the efficiency of sequence search. This study develops a multistage clustering workflow to investigate how embeddings from protein language models can be used to cluster the NCBI nr protein database into structurally conserved communities. Ultimately, this framework yields high-purity clusters, successfully uniting even remote homologs into cohesive communities.

Repository structure

ProteinClustering/
├── clustering/                         # Main scripts
│   ├── evaluation/                     # Scripts for cluster evaluation
│   └── graph_based_clustering/         # Scripts for the graph-based clustering workflow
│   └── hdbscan/                        # Scripts for HDBSCAN clustering
│   └── sequence_based/                 # Scripts for DIAMOND clustering
├── data/                               # Input datasets and intermediate files
├── models/                             # PLM model scripts
├── slurm/                              # Slurm scripts for running computations on BinAC2
└── README.md                           # Project description