Skip to main content

Fragmenter

Test Status Documentation Status codecov License: MIT Software DOI Paper DOI

A package for fragmenting molecules for quantum mechanics torsion scans.

More information about using this package and its features can be found in the documentation.

Warning: This code is currently experimental and under active development. If you are using this code, be aware that it is not guaranteed to provide the correct results, and the API can change without notice.

Installation

The package and its dependencies can be installed using the conda package manager:

conda install -c conda-forge openff-fragmenter

Getting Started

We recommend viewing the getting started example in a Jupyter notebook. This full example can be found here.

Here will will show how a drug-like molecule can be fragmented using this framework, and how those fragments can be easily visualised using its built-in helper utilities.

To begin with we load in the molecule to be fragmented. Here we load Cobimetinib directly using its SMILES representation using the Open Force Field toolkit:

from openff.toolkit.topology import Molecule

parent_molecule = Molecule.from_smiles(
    "OC1(CN(C1)C(=O)C1=C(NC2=C(F)C=C(I)C=C2)C(F)=C(F)C=C1)[C@@H]1CCCCN1"
)

Next we create the fragmentation engine which will perform the actual fragmentation. Here we will use the recommended WBOFragmenter with default options:

from openff.fragmenter.fragment import WBOFragmenter

frag_engine = WBOFragmenter()
# Export the engine's settings directly to JSON
frag_engine.json()

Use the engine to fragment the molecule:

result = frag_engine.fragment(parent_molecule)
# Export the result directly to JSON
result.json()

Any generated fragments will be returned in a FragmentationResult object. We can loop over each of the generated fragments and print both the SMILES representation of the fragment as well as the map indices of the bond that the fragment was built around:

for fragment in result.fragments:
    print(f"{fragment.bond_indices}: {fragment.smiles}")

Finally, we can visualize the produced fragments:

from openff.fragmenter.depiction import depict_fragmentation_result

depict_fragmentation_result(result=result, output_file="example_fragments.html")

Copyright

Copyright (c) 2018, Chaya D. Stern

Acknowledgements

Project based on the Computational Molecular Science Python Cookiecutter version 1.5.

Metadata

Release files for acellera-openff-fragmenter 0.2.2.post1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for acellera-openff-fragmenter 0.2.2.post1
File Size Uploaded
acellera_openff_fragmenter-0.2.2.post1.tar.gz 51.9 kB Details

Release files / acellera_openff_fragmenter-0.2.2.post1.tar.gz

Download URL acellera_openff_fragmenter-0.2.2.post1.tar.gz
Size 51.9 kB
Tags Source
SHA-256 checksum
How to use checksums
ee5071b433e159bff6c09d165910bf81a189740d7d904e232db868db0320fecb
BLAKE2b-256 checksum
How to use checksums
127086dda94eabc5aa56bddbf9016445bd0511f880c693834f49cec8d6a76500
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.13

Release history Release notifications | RSS feed

This release

0.2.2.post1 This release

1 release file

0.2.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page