Skip to content

Latest commit

 

History

History
75 lines (41 loc) · 5.28 KB

README.md

File metadata and controls

75 lines (41 loc) · 5.28 KB

ComplexMine

ComplexMine is a small web based tool to find similar patterns in protein complexes. This application serves mainly as a small tech demo for database optimization technologies.

For a production ready feature-rich implementation users should refer to GeoMine on [https://proteins.plus].

This application uses PartitionCache to speed up database queries. For more information refer to [https://github.com/MPoppinga/PartitionCache]

Usage

  • Setting up database.env
  • Download and import dataset
    • Download scripts for AlphaFold datasets are provided

Setup

Requirements

  • PostgreSQL database (or compatible)
    • Alternatively: MySQL or MariaDB, however in our tests PostgreSQL showed better performance
  • Redis (or compatible)
  • Python >= 3.9

Download data

For this demo application we use AlphaFold2 Data, however all PDB-style data sources should work.

For more information on the datasets in the download scripts see [https://alphafold.ebi.ac.uk]

Run for example

download_af_human.sh // (smaller dataset) or download_af_swiss_prot.sh // (larger dataset)

run importer

python importer.py --import_pdb --pdb_folder="data/af_db/"

Start webui

python app.py --cachetype=redis

visit [http://localhost:5000]

Example query

Start PartitionCache Observer

(optional)

pcache-observer --db_backend=postgresql --db_env_file=database.env --cache_backend=redis  --partition_key="complex_data_id" --db-name=alphafold_swissprot  --long_running_query_timeout=300s

Overview

Searchviewview

ResultListView

Resultview

Protein Strucutres: AlphaFold Data Copyright (2022) DeepMind Technologies Limited.

License

This program is licensed under the GPLv3 license. See LICENSE for details.