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, 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; picking and clustering molecules based on 2D fingerprints and various clustering methodologies; removal of duplicate molecules; and removal of salts from molecules.

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.

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) 2018 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 8, 2018README