Skip to main content

Ringo –⁠ The Python Library for Kinematics-Driven Conformer Generation

Ringo is a Python library that uses inverse kinematics to analyze the conformational flexibility of (poly)cyclic molecules by identifying independently rotatable dihedral angles of the molecule, and generate conformers when these values are chosen. It provides a back-end for identification and manipulation of degrees of freedom of cyclic molecules, i.e. setting their values to generate corresponding conformations. Ringo's algorithm processes one set of dihedral angle values in fractions of a millisecond and scales well with number of rings in the molecule, allowing for efficient and comprehensive conformational searches of polycyclic molecules.

Try it out by installing (Linux x86_64 only, Python >= 3.9):

pip install --upgrade ringo-ik

Usage example:

import ringo
import random
import math
import numpy as np

NUM_TRIES = 10000

# Load and analyze molecular topology
mol = ringo.Molecule.from_sdf('my_molecule.sdf')
p = ringo.Confpool() # Initialize conformer storage

# Simple Monte-Carlo conformational sampling
dofs_list, dofs_values = mol.get_ps()
for i in range(NUM_TRIES):
    for i, cur_param in enumerate(dofs_list):
        newvalue = random.uniform(-math.pi, math.pi)
        dofs_values[i] = newvalue

    result = mol.prepare_solution_iterator()
    if result != 0:
        # If not successfull, then try another set of dihedral values
        continue

    # Request the list of all inverse kinematics solutions
    # that passed overlap checks
    sol_list: list[np.ndarray] = mol.get_solutions_list()
    for i, matr in enumerate(sol_list):
        p.include_from_xyz(matr, f"Conformation #{len(p) + 1}")
    p.atom_symbols = mol.get_symbols()

assert len(p) > 0, f'No conformers generated in {NUM_TRIES} trials'
p.save_xyz('result.xyz')

Documentation

pipeline status

Available here

Test sets

The Gitlab repository also contains the following test sets:

./
test_sets/macromodel/* MacroModel test set of macrocyclic molecules
test_sets/bird/* Bird test set (only macrocycles of reasonable size)
test_sets/*/start_structures/*.sdf Randomized conformers to initiate conformational sampling
test_sets/*/experimental_geometries/*.sdf Experimental geometries from either CSD or PDB

Links and references

Gitlab home page

PyPi page

Papers on inverse kinematics conformer generation using Ringo:

Krivoshchapov, N. V.; Medvedev, M. G. Ring Kinematics-Informed Conformation Space Exploration. WIREs Computational Molecular Science 2024, 14 (1), e1690. https://doi.org/10.1002/wcms.1690

Krivoshchapov, N. V.; Medvedev, M. G. Accurate and Efficient Conformer Sampling of Cyclic Drug-Like Molecules with Inverse Kinematics. J. Chem. Inf. Model. 2024, 64 (11), 4542–4552. https://doi.org/10.1021/acs.jcim.3c02040

Ringo is based on inverse kinematics solver called TLC:

Coutsias EA, Seok C, Jacobson MP, Dill KA. A kinematic view of loop closure. J Comput Chem. 2004 Mar;25(4):510-28. doi: https://doi.org/10.1002/jcc.10416

Metadata

Release files for ringo-ik 1.0.14

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

Source distribution (sdist)

Source distribution for ringo-ik 1.0.14
File Size Uploaded
ringo_ik-1.0.14.tar.gz 7.2 MB Details

Release files / ringo_ik-1.0.14.tar.gz

Download URL ringo_ik-1.0.14.tar.gz
Size 7.2 MB
Tags Source
SHA-256 checksum
How to use checksums
e8002c51e624917cc49817a94631d0dd02313eaf14d44ca3877987aadfccfa59
BLAKE2b-256 checksum
How to use checksums
aa940776ae380bc0e786e3367650bc7731ed3e066d192fb7b12d43f655870307
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.9.19

Release history Release notifications | RSS feed

This release

1.0.14 This release

1 release file

1.0.13

1 release file

1.0.12

1 release file

1.0.11

1 release file

1.0.10

1 release file

1.0.9

1 release file

1.0.8

1 release file

1.0.7

1 release file

1.0.6

1 release file

1.0.5

1 release file

1.0.4

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.0.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