Coder Social home page Coder Social logo

cbc-univie / transformato Goto Github PK

View Code? Open in Web Editor NEW
18.0 3.0 6.0 213.98 MB

Set up relative free energy calculations using a common scaffold

Home Page: https://cbc-univie.github.io/transformato/

License: MIT License

Python 97.51% Shell 0.29% Jupyter Notebook 2.20%
charmm-gui free-energy-calculations openmm

transformato's Introduction

transformato

GitHub Actions Build Status codecov Github release GitHub license GH Pages Conda Downloads

Transformato is a package that helps to set up relative alchemical free energy calculations of small molecules with a common core scaffold, either for relative solvation free energy1, absolute solvation free energy2 or binding free energy3 estimates. The package is designed to be used with output generated by CHARMM-GUI.

Installation

transformato can be easily installed from conda-forge:

conda install transformato -c conda-forge

Usage

For more information on how to use transformato please visit the documentation

Maintainers

Copyright

©️ 2024, Marcus Wieder, Johannes Karwounopoulos, Stefan Boresch

Acknowledgements

Project based on the Computational Molecular Science Python Cookiecutter version 1.1.

Footnotes

  1. Wieder, M., Fleck, M., Braunsfeld, B., Boresch, S., J. Comput. Chem. 2022, 1. DOI

  2. Karwounopoulos, J.,Kaupang, A., Wieder, M., Boresch, S., JCTC 2023, 9, 954638 DOI

  3. Karwounopoulos, J., Wieder, M., Boresch, S., Front. Mol. Biosci. 2022, 9, 954638 DOI

transformato's People

Contributors

agrass15268 avatar bbraunsfeld avatar florianjoerg avatar johanneskarwou avatar lint-action avatar loeflerm avatar wiederm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

transformato's Issues

TODO for point mutations

@JohannesKarwou While investigating peptide ligands, I ran into some issues that could be considered for improvement:

  • Overall charge between intermediate states can differ (see #71 )

    • Maybe compensating via scaling the charge of an ion (sodium, chloride, etc.) could help?
  • Dihedral parameters are not covered when mutating residues, which are covalently bound to the rest of the peptide ligand (in my case there were two missing dihedrals connecting to the rest of the backbone)

Alternate system inputs

Hi Transformato - looking forward to using this package. Thanks for making it available.

I'm interested in using this with inputs other than those that come from CHARMM-GUI, and/or that don't use CGenFF. Since the MD core looks like it is OpenMM, that means AMBER-style and GROMACS-style inputs are on the table. As far as I can see, the key step is generating a "SystemStructure" object: https://github.com/wiederm/transformato/blob/77d5f0fd2e3e9a0d67c0ecc817bfe8389295a3aa/transformato/system.py#L16
which, right now, uses a lot of psf-specific data. But perhaps it's doable to port this to work on an openmm or parmed topology, instead. Is this something that's already on your radar for implementation? Can you see any roadblocks if I start trying now?
Thanks

More ions

@JohannesKarwou Do you think toppar_all36_moreions.str could be included in toppar.str? Some of the more common ions (phosphates, sulfates, etc.) are listed in this file, and it would be convenient to have access to them from the get-go

Any examples/documentation about peptide mutations?

Hello.
Thanks for this awesome work.
This is related to #72 and #98
I am trying to understand if I can use transformato for a protein-peptide system where there are point mutations in the peptide(15-20 residues).
Sometimes these mutations are to modified amino-acids like methylated and halogenated residues which I have parameterized using gaff2. I currently have the solvated systems in amber parm7 and rst format or converted to psf and crd using parmed.
If gaff/amber is not compatible, I can parameterize modified residues using CGenFF as well.
Is there some documentation about how to handle protein-peptide systems or if I can generate the solvated systems, I can just follow the documentation and treat a protein-peptide system as a normal protein-ligand system?
I would be really grateful for any suggestions.
Best,
Amin.

Possibility of multiple restraints acting on single atom for automatic restraints.

At present, automatically generated extremity restraints may have overlapping spheres of influence, meaning that a single atom can be part of multiple ligand restraint groups. That way it is acted upon by different restraints at the same time.

Having talked with Stefan about this, this may cause issues in more complex systems and should thus be flagged as an issue. I'm currently writing a patch for this which should be along shortly.

Charge compensation between intermediate states

@sboresch I just realized while mutating two ligands of unequal charges that the intermediate states have a different overall charge (in my case intst 1 to 5 are neutral, 6 to 9 have a charge of 2) . I assume that is a problem for the subsequent analysis?

changing to new openmm version

In the test_mutation file, I get an error for all test using parmed:

    @wraps(fcn)
    def new_fcn(*args, **kwargs):
        if not HAS_OPENMM:
>           raise ImportError('Could not find or import OpenMM version 7.0+')
E           ImportError: Could not find or import OpenMM version 7.0+

In the parmed/utils/decorators.py, parmed checks for the openmm version with:

try:
    import openmm as mm

    HAS_OPENMM = True
except ImportError:
    HAS_OPENMM = False

which will not find openmm v.7.5.1 where one needs to use import simtk.openmm

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.