Giter VIP home page Giter VIP logo

asitedesign's Introduction

Alt text

AsiteDesign

AsiteDesign combines PyRosetta modules with enhanced sampling techniques to both design catalytic residues, as well as, perform in silico directed evolution of an existing active site.

Installation

A set of Python libraries are necessary to run the scripts of this Git repository; mainly OpenMM, PyRosetta, and Biotite. An easy way to install these dependencies is by using a yaml file with all the required packages to create a conda environment to use AsiteDesign. The PyRosetta credentials of the user must be added to the yaml file ("$USER" and "$PASS" must be changed). The command should be the following:

conda env create -f asitedesign.yaml 

Then, activate the conda environment:

conda activate asitedesign

Finally, you have to execute the Setup Python script to use the algorithm:

python Setup.py install

If the user wants to use the scripts for analysis and plotting (for instance, PlotSimulation.py), you must install the following dependencies in the created environment:

conda install matplotlib seaborn scikit-learn

Requirements

  • Python Python 3.7 or higher must be installed.
  • PyRosetta (licensed software), Biotite, MPI4py, OpenMM.

Usage

To run AsiteDesign, you need the following:

  • An input PDB file with the complex (ligand docked to the protein, otherwise the ligand can be placed by the code, but it's better to have it already bound)
  • The parameters of all ligands, cofactors, and non-conventional amino acids that appear in the simulation (to generate them, for instance, save the ligand as mol2 file from Pymol. Then, use the facilitated molfile_to_params Python script to transform to a params file)

To start using it, the parameters that should be set in the input yaml file are the following:

  • PDB --> Add the name of your input PDB file
  • ParameterFiles --> Add the name of all the used params files (list them with "-")
  • Name --> Add the name of the desired output folder
  • DesignResidues --> Add the list of residues allowed to be mutated (ZZ leaves the residue as frozen. ZX stands for not mutable, but repackable. XX stands for mutable and repackable and XX+ adds the option to use the native residue as well. You can also specify to which residues you want to allow it to mutate by listing them, for instance, 100-A: AILFWVPY)
  • CatalyticResidues --> Specify the number of residues of the active site that wants to be added (RES1, RES2 ... RESN: H)
  • Ligands, 1-L (you have to specify the ligand by giving the residue number and the chain of the specific LIG). Also, the torsions that want to be excluded must be specified by the user ("ExcludedTorsions")
  • Constraints --> Add the distance and sequence constraints that you want. The distance constraints should be added by passing two residues (with residue_number-chain) and two atoms (atomname) and to which values you want to constraint them (lb: value in angstroms, hb: value in angstroms)
  • nIterations --> Number of adaptive sampling epochs that want to be performed
  • nSteps --> Number of steps performed in each epoch/iteration
  • nPoses --> Number of final poses (mutants/designs) to be reported (each one given to a processor/CPU)
  • Time --> Time in the queue (if it's run in a cluster)

To get a better understanding, check the examples (both yaml files) in the Templatized_control_file folder

Citation

If AsiteDesign is used in one of your publications, please cite the paper: https://doi.org/10.1021/acs.jpcb.2c07091

Contact

For any queries, feel free to ask us:

Masoud Kazemi, (@masoudk), Biomatter Designs, Vilnius, Lithuania Sergi Roda, (@SergiR1996), Barcelona Supercomputing Center, Barcelona, Spain

asitedesign's People

Contributors

masoudk avatar sergir1996 avatar

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.