Git Product home page Git Product logo

retrobiocat's Introduction

RetroBioCat

DOI

RetroBioCat is a web-based tool for designing biocatalytic cascades and reactions.

We recommend using retrobiocat through the online version hosted at https://retrobiocat.com

However, you may run your own instance of RetroBioCat by following the installation instructions below. Currently only an example data-set is provided for the substrate specificity database.

For more information, please see our preprint:
Finnigan, William; Hepworth, Lorna J.; Turner, Nicholas J.; Flitsch, Sabine (2020): RetroBioCat: Computer-Aided Synthesis Planning for Biocatalytic Reactions and Cascades. ChemRxiv. Preprint. https://doi.org/10.26434/chemrxiv.12571235.v1

Requirements and testing

python = 3.7
rdkit >= 2020 tensorflow >= 2.1.0
Python packages listed in requirements.txt. The lastest version of each package is recommended other than where specified.

Retrobiocat also requires a running mongodb and redis instance, for which we recommended using docker.

Retrobiocat has been tested on macOS v10.14.6 and Ubuntu 18.04.3 (LTS).

Installation should take no longer than 10-30 minutes on a modern computer.

Option 1 - Use docker-compose

Warning - currently this method does not function correctly on Windows due to an issue with specifying a volume for use with the mongo container.

  • Clone this repository and move working directory to /retrobiocat/docker/
git clone https://github.com/willfinnigan/retrobiocat.git 
cd retrobiocat/docker/
  • Build the docker containers
docker-compose build --no-cache
docker-compose up

RetroBioCat should now be available locally at http://127.0.0.1:5000
Databases must now be initalised (see below)

Option 2 - Manual Installation

RetroBioCat requires anaconda or miniconda with python 3.7 or later
You may wish to install retrobiocat in a virtual environment to prevent conflicting dependencies.

  • First install the following conda packages
conda install -c rdkit rdkit -y
  • Next, clone this repository, either with the git command below or through the link on github
git clone https://github.com/willfinnigan/retrobiocat.git 
  • Install retrobiocat_web along with requirements.
pip install -e .

2b. Running redis and mongodb

RetroBioCat requires access to a redis server and a mongo database on the default ports.
We recommend using docker to run redis and mongodb.

To run redis using docker:

docker run -d -p 6379:6379 redis

To run mongodb using docker:

docker run -d -p 27017-27019:27017-27019 mongo:4.0.4

2c. Running RetroBioCat

To run the RetroBioCat website, two python scripts are required.
From the retrobiocat directory, run (in separate terminals):

python retrobiocat_web/main.py
python retrobiocat_web/worker.py

RetroBioCat should now be available locally at http://127.0.0.1:5000

Initialiase the database (required for both methods of installation)

Before your local version of RetroBioCat can be used, the databases it relies on must be set up.

To do this, first login using the default admin account:

Navigate to the Initialise Database page in the admin menu.

Initialise the database by uploading the required files. This can be done one at a time (recommended) or all together.

(A mongo_dump.gz file can be used as an alternative if you have previously created one.. otherwise this input can be ignored.)

Files are available at:
https://figshare.com/articles/software/RetroBioCat_database_files/12696482

Reaction rules: rxns_yaml.yaml
Activity: trial_biocatdb_will_and_lorna.xlsx
Building blocks: building_blocks.db

Currently only an example set substrate specificity information is provided, pending future publications.

Once the databases are initialised RetroBioCat is ready to use.

Automated testing of pathway test-set

Our publication on RetroBioCat features an evaluation on a test-set of 52 pathways.
We automated this evaluation using a script available in the /scripts/pathway_testing/ folder.

To run the pathway_eval.py script, install retrobiocat via option 2 (above) and ensure that your mongodb instance is running and that the databases have been initialised as described above.

Move directories to /scripts/pathway_testing/ , and run python pathway_eval.py

Note this script takes a long time to run. Results are saved by default to test_pathways.xlsx

(Note, replication of the results in the paper requires the complete set of reaction rules and database file, which are not yet publicly available)

retrobiocat's People

Contributors

willfinnigan avatar

Stargazers

Martin Holub avatar wqzhuangUOA avatar Jeff Carpenter avatar  avatar Jeffrey Ouyang-Zhang avatar Gahyeon Ryu avatar Kobi Felton avatar  avatar  avatar  avatar Robert Giessmann avatar  avatar erin petra sofiya moon avatar Dachuan Zhang avatar  avatar Qin WAN avatar  avatar Baudoin Delépine avatar Sergi Rodà avatar YuqiYu avatar

Watchers

 avatar

retrobiocat's Issues

When initializing the database, the mongo_dump.gz and Sequences files were not found

https://figshare.com/articles/software/RetroBioCat_database_files/12696482

QQ图片20210730175653

QQ图片20210730175729

When I got to the step of initializing the database, the web page suggested that 4 files were needed, but I only found 3 on your website, and the mongo_dump.gz and Sequences files are missing.
After I successfully uploaded rxns_yaml.yaml and trial_activity_data.xlsx, I run the website and use the Network explorer tool, but an error is reported and no information is displayed in the background. Is it the lack of data? Or something else, how can I make this website work?

QQ图片20210730175754

searching for API

Hi,

I am interested in this tool and trying to use it. However, I got several errors when installing the tool and I noticed that I will only install a docker. I am curious that is there any API or python interface that I can use this tool directly, even only for single step is good enough. Thanks for your time!

Best,

Database initialization problem

Dear author, recently I was trying to use RetroBioCat locally and encountered a problem.
I had configured the environment and opened the interface, but when I submitted a target molecule, the progress bar showed 'Failed'. But my terminal does say 'Network Generated' and 'Result is kept for 500 seconds'.
I suspect it is the problem of initializing the database. According to your prompt, the order of files I submit is: rxns_yaml.yaml; trial_activity_data.xlsx; source_mols.db; building_blocks.db. Is my database initialization wrong? Or is it something else? And can I find the generated results locally?
I would really appreciate your help!

not able to sign in

Hi, I am interested in your tool and hope to install it. I saw in the README that I need to sign in and initialize the database.
Screen Shot 2023-02-22 at 23 19 54
However, when Ii try to sign in with the username and password you provided, it tells me the password is wrong.
Screen Shot 2023-02-22 at 23 19 40
Could you please help me solve this problem? Thanks in advance!

Best

Possible duplicate reaction paths if double-clicking fast

Hi there!

Thank you for the awesome resource, I was just playing around with it today to see how it works.
I see some of duplicate paths in my network, and I wonder if it might have happened because I double-clicked the same node twice before it could finish expanding?

Screenshot 2024-07-26 at 2 16 37 PM

clarifying the fields in rules file

Hi Will,

Thank you very much for your effort. Retrobiocat is a handy software that has proven to be useful in computer aided biocatalysis planning.
I looked at the data you shared and was just wondering if you could provide additional information about some fields in the rxn_yaml.yaml. Would you be able to tell please what positive_tests and negative_tests mean in the reactions and why they are included? Also, there are fields "Two_step" and "experimental" which I struggle to understand as well. Could you please tell what they mean?

Best,
Ksenia

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.