Contributions of any kind are greatly appreciated!


The Issue Tracker is the best place to post any feature ideas, requests and bug reports.

The following are especially welcome:

  • General feedback on whether any standardization stages should work differently.
  • Specific molecules that don’t validate or standardize as expected.
  • Ideas for new validation and standardization stages.


If you are able to contribute changes yourself, just fork the source code on GitHub, make changes and file a pull request. All contributions are welcome, no matter how big or small.

The following are especially welcome:

  • New validation or standardization stages.
  • Alternative tautomer transforms and scores.
  • Lists of salts and solvents to strip out.
  • New or improved documentation of existing features.

Quick guide to contributing

  1. Fork the MolVS repository on GitHub, then clone your fork to your local machine:

    git clone<username>/MolVS.git
    cd molvs
  2. Install the development requirements into a conda environment:

    conda env create -n molvs -f environment.yml
    source activate molvs
  3. Create a new branch for your changes:

    git checkout -b <name-for-changes>
  4. Make your changes or additions. Ideally add some tests and ensure they pass by running:

  5. Commit your changes and push to your fork on GitHub:

    git add .
    git commit -m "<description-of-changes>"
    git push origin <name-for-changes>
  1. Submit a pull request.