Skip to content

Torsion Angular Bin Strings: Quantifying flexibility by introducing a discrete vector representation of a conformer's dihedral angles to allow for counting of states.

License

Notifications You must be signed in to change notification settings

rinikerlab/TorsionAngularBinStrings

Repository files navigation

Torsion Angular Bin Strings

RDKit Test Image

Releases

v2.0.0: to add

v1.0.0: DOI

Publications

[1] J. Chem. Inf. Model. 2024, DOI: https://pubs.acs.org/doi/10.1021/acs.jcim.4c01513#, v1.0.0

[2] preprint: https://chemrxiv.org/doi/full/10.26434/chemrxiv.10001731/v1

Documentation

Our full documentation: https://torsionangularbinstrings.readthedocs.io/en/

Installation

Installation of the dependencies via mamba (conda) using the provided environment.yml file:

mamba env create -n tabs -f environment.yml

If you are only interested in using the basic TABS and nTABS functionality, you can also use the minimal environment file:

mamba env create -n tabs -f minimalEnvironment.yml

To activate the new environment and install tabs:

conda activate tabs
python -m pip install git+https://github.com/rinikerlab/TorsionAngularBinStrings

Usage

With version 2 of TABS, major changes in the API were introduced.

from tabs import DihedralInfoFromTorsionLib
from rdkit import Chem
from rdkit.Chem import rdDistGeom

mol = Chem.AddHs(Chem.MolFromSmiles("CCCCC"))
# build DihedralsInfo class object
info = DihedralInfoFromTorsionLib(mol)
# check the matched SMARTS, multiplicities, torsion types
info.smarts, info.multiplicities, info.torsionTypes, info.indices
# get the number of possible TABS (calculation based on the Burnside Lemma)
info.GetnTABS()

# embed molecule, get TABS
rdDistGeom.EmbedMultipleConfs(mol, randomSeed=42, numConfs=10)
infoEnsemble = DihedralInfoFromTorsionLib(mol)
infoEnsemble.GetTABS()

How to contribute

If you want to contribute, please make sure that all currently provided unittests run and that new unittests are provided for any new functionalities. Run the tests with

pytest

If you want to deseclect the CustomTABS functionalities, run the tests with

pytest -m "not custom"

Data

The complete datasets used in the study can be reproduced by going to Data/TABS and Data/nTABS and running the provided conformer generation scripts as described in the respective READMEs.

Analysis

The analysis notebooks to reproduce the plots shown in the study can be found in Analysis/.

Thanks

This program uses software written by other people. We thank all their authors for their contributions.

Authors

Jessica Braun (@brje01), Djahan Lamei (@dlamei), Greg Landrum (@greglandrum)

Project status

in development

About

Torsion Angular Bin Strings: Quantifying flexibility by introducing a discrete vector representation of a conformer's dihedral angles to allow for counting of states.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •