# Similarity Searching of Proteins Using Machine Learning Techniques

This repository contains the pipeline for similarity searching of proteins using the Learned Metric Index

## How to run
- Download the repo and run the code locally
    - python 3.x required
    - run `pip install -r requirements.txt` to install needed dependencies

## Overview of included files
`Proteins_pipeline.ipynb` presents the overvirew of the pipeline using the best parameters described in the thesis

`lmi_proteins` is the modified version of the original LMI available on [Gitlab](https://gitlab.ics.muni.cz/445526/learned-metric-index-framework)

Protein descriptors with granularity N=10 are included in the repository

Run the following commands to create descriptors with different granularity:

 - `cd data/scripts`
 - `./download_pdb.sh` to download all proteins from the PDB
 - `descriptors.py --pdb PDB --output <FILENAME> --granularity <N>` to create descriptors for all proteins downloaded in the previous step

