Skip to main content

Package to automate quantum mechanical calculations and molecular dynamics simulations of covalent drugs.

Project description

CovDrugSim

ci-cd

Description

CovDrugSim is a package that provides functionalities to automate quantum mechanical calculations and molecular dynamics simulations of covalent drugs.

Features

Aims

  • Automatic creation of high-performance computing cluster submission files to run Gaussian calculations.
  • Automatic analysis of molecular dynamics simulation trajectories.

Under Development

  • Complete example.ipynb.

Installation

Use pip or conda to install CovDrugSim:

$ pip install covdrugsim
$ conda install -c conda-forge covdrugsim

Usage

covdrugsim can be used to conduct quantum mechanical calculations and molecular dynamics simulations as follows:

from covdrugsim.qmCalc.genScript import genAllScripts

targetDirPath = '/mnt/c/Users/JonTing/exampleXYZs'  # Absolute path to the directories containing all of your xyz files to be run
genAllScripts(targetDirPath, verbose=True)

Check out the notebook tutorial for further explanations and demonstrations!

Descriptions of source codes:

Quantum Mechanical Calculations (qmcalc)

unitConv

unitConv.py - Interconverts between kinetics and thermodynamic quantities (dGbarr, k, t_half, RT).

runGaussian

  • settings.py - Contains variables for different type of Gaussian jobs that are used by prepGaussian.py.
  • admin.py - Group files with the same names (before extension, e.g. abc.inp is the same as abc.xyz) into individual directories.
  • prepGaussian.py - Batch generation of Gaussian input files and job submission files on HPCs with PBS Scheduler.
  • tabulate.py - Batch tabulation of interested values from Gaussian (version 16) output files into an Excel file.
  • gsub.sh - Batch submission of Gaussian QM calculation jobs on HPCs.

Typical workflow for a mechanism-based project where flexible molecules are involved would be:

  1. Conduct conformational searches on the species along the reaction coordinate (using MacroModel).
  2. Export all conformers within 3 kcal/mol of the lowest energy structure to a directory in .xyz format. The naming convention is very important, be consistent, but make sure each conformer has a different name (I do this by adding numbers at the end of their names, signifying their ranks from the conformational searches).
  3. Change your input directory in admin.py to where you store the coordinate files and run it. This will group all of the conformers into individual directories.
  4. Change your input directory in prepGaussian.py to the same location and run it. This will generate the Gaussian input files and job submission files in the corresponding directory. Make sure you check at least a few of the files generated to see that you got the charges, spacing at the end of file, solvents, resources requested, etc right. I named all of the Gaussian job submission jobs with *.sh, feel free to change it according to your preference (Line 52 in prepGaussian.py).
  5. Copy the directories across to the HPCs (Raijin/Gadi/Tinaroo/Awoonga, NOTE: The details for job submissions on Raijin and RCC HPCs are different, specify the cluster before running prepGaussian.py in Step 4).
  6. Change directory to the directory that contains all the conformers subdirectories and run 'gsub.sh' (Make sure it's an executable, if you can't run it, use chmod to change it). This will submit all of the Gaussian submission jobs to the HPC. Note that prior to this you need to adjust Line 6 in the gsub.sh file to the naming convention you give to your Gaussian submit files if you have changed them in the prepGaussian.py.
  7. After the jobs are done, copy them over to your local machine.
  8. Change your input directory in tabulate.py to the directory that contains all the conformers and run it. Note that you need to have the Python package pandas installed for it to work.

visAnalysis

energyLeveller.py - Draws energy profile diagrams. plotConfig.py - Stores configuration for figure-plotting functions. plotFigs.py - Plots figures for QM data analysis.

Molecular Dynamics Simulations (mdsim)

  • config.py contains some variables that are used repetitively for almost all files.
  • baseID.py plots the distances between potential base species and the targeted protons.
  • bbRMSD.py plots the RMSD of Bruton's Tyrosine Kinease (BTK) backbones over time, for the purpose of checking the stability of the simulations.
  • hbondAnalysis.py plots the distribution of the number of hydrogen bonds between BTK backbones over time.
  • ligDihedral.py plots the distribution of the critical C=C-C=O dihedral angle near BTK active site over time.
  • SCbondDist.py plots the distances between the reacting S and C atoms over time.
  • sumCharge.py sums up the charges to aid in the parameterisation of non-standard amino acids.
  • prepMTB.py was written during an attempt to map the unbound ligand to covalently bound ligand. Was not utilised in the end.

Documentation

Detailed documentation and usage examples are hosted by Read the Docs.

Contributing

CovDrugSim appreciates your enthusiasm and welcomes your expertise!

Please check out the contributing guidelines and code of conduct. By contributing to this project, you agree to abide by its terms.

License

The project is distributed under an MIT License.

Credits

The package was created with cookiecutter using the The codes were written by Jonathan Yik Chang Ting for University of Queensland Bachelors of Advanced Science (Honours) CHEM6511 under the title "Molecular Modelling of Reversible Covalent Inhibition of Bruton’s Tyrosine Kinase by Cyanoacrylamides". Click on the title to see the details of the project.

Contact

Email: Jonathan.Ting@anu.edu.au/jonting97@gmail.com

Feel free to reach out if you have any questions, suggestions, or feedback.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

covdrugsim-1.0.1.tar.gz (521.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

covdrugsim-1.0.1-py3-none-any.whl (552.9 kB view details)

Uploaded Python 3

File details

Details for the file covdrugsim-1.0.1.tar.gz.

File metadata

  • Download URL: covdrugsim-1.0.1.tar.gz
  • Upload date:
  • Size: 521.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for covdrugsim-1.0.1.tar.gz
Algorithm Hash digest
SHA256 46dac80e126520c0523d6299785a0e54fa9e32c3d8932de051e5b2b5ee47f2f1
MD5 7fab4a48a2cfa3eca79fb43e53eababc
BLAKE2b-256 11b2f987bf3437f8661c32eb83b9af55ef9fdc5cf03b02bbd84699048afd1411

See more details on using hashes here.

File details

Details for the file covdrugsim-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: covdrugsim-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 552.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for covdrugsim-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 85b4398cef8738910eb3cbdeff834e9996c3173a9411ab460ad80f9b035b37bc
MD5 fcfa08f13a2719231fde4410d5e697b9
BLAKE2b-256 dd1517da793214ff9d87986b9050f8d8a1f0aef4750cb2b7ea168319b1ccd486

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page