MayaChemTools is a growing collection of Perl and Python scripts, modules, and classes to support a variety of day-to-day computational discovery needs.

The core set of command line Perl scripts available in the current release of MayaChemTools has no external dependencies and provide functionality for the following tasks: manipulation and analysis of data in SD, CSV/TSV, sequence/alignments, and PDB files; calculation of a key set of physicochemical properties, such as molecular weight, hydrogen bond donors and acceptors, logP, and topological polar surface area; generation of 2D fingerprints corresponding to atom neighborhoods, atom types, E-state indices, extended connectivity, MACCS keys, path lengths, topological atom pairs, topological atom triplets, topological atom torsions, topological pharmacophore atom pairs, and topological pharmacophore atom triplets; generation of 2D fingerprints with atom types corresponding to atomic invariants, DREIDING, E-state, functional class, MMFF94, SLogP, SYBYL, TPSA and UFF; similarity searching and calculation of similarity matrices using available 2D fingerprints; listing properties of elements in the periodic table, amino acids, and nucleic acids; and exporting data from relational database tables into text files. An extensive set of modules and classes are also available for custom development.

The command line Python scripts based on RDKit provide functionality for the following tasks: calculation of molecular descriptors and partial charges; comparison of 3D molecules based on RMSD and shape; conversion between different molecular file formats; enumeration of compound libraries and stereoisomers; filtering molecules using SMARTS, PAINS, torsion library, and names of functional groups; generation of graph and atomic molecular frameworks; generation of images for molecules; performing structure minimization and conformation generation based on distance geometry and forcefields; performing R group decomposition; performing torsion scan; picking and clustering molecules based on 2D fingerprints and various clustering methodologies; positional analogue scanning; removal of duplicate molecules; and removal of salts from molecules.

The command line Python scripts based on PyMOL provide functionality for the following tasks: aligning macromolecules; splitting macromolecules into chains and ligands; listing information about macromolecules; calculation of physicochemical properties; comparison of marcromolecules based on RMSD; conversion between different ligand file formats; mutating amino acids and nucleic acids; generating Ramachandran plots; visualizing X-ray electron density and cryo-EM density; visualizing macromolecules in terms of chains, ligands, and ligand binding pockets; visualizing cavities and pockets in macromolecules; visualizing macromolecular interfaces; visualizing surface and buried residues in macromolecules.

The command line Python scripts based on Psi4 provide functionality for the following tasks: calculation of single point energies; calculation of interaction energies; calculation of molecular properties and partial charges; performing structure minimization; generating molecular conformations; performing torsion scan; visualizing frontier molecular orbitals and dual descriptors; visualizing electrostatic potential on densities and molecular surfaces.

Review the documentation for further details.


1. Add <YOUR MAYACHEMTOOLS DIR>/bin to your PATH environment variable.
2. And check to make sure PATH doesn't contain multiple entries for MayaChemTools package, and all *.pl and *.py files in <YOUR MAYACHEMTOOLS DIR>/bin are executable.

That's it. And you're all set to try out the various scripts.


All output files generated by MayaChemTools package contain UNIX style new line character; you can modify it using script.


Perl v5.8 or higher. Additional Perl modules required to use database scripts: DBI, DBD-mysql and/or DBD-Oracle.

Python 2.7, Python 3.6, or higher. RDKit to use Python scripts based on RDKit. The latest release of RDKit available through Anaconda2 or Anaconda3 is recommended. PyMOL to use Python scripts baded on PyMOL. Psi4 to use Python scripts based on Psi4.

Supported Platforms

Whatever Perl and Python support. It includes support for various flavors of UNIX, LINUX, Windows, and Mac operating systems running on all kinds of hardware platforms.


Manish Sud <>

Copyright & License

Copyright (C) 2023 Manish Sud. All rights reserved.

MayaChemTools is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License. Please see GNULICENSE.txt file for additional information.

TOC  NextMarch 27, 2024README