Metadata-Version: 2.4
Name: acellera-lomap2
Version: 3.3.0
Summary: Lead Optimization Mapper 2
Author: Gaetano Calabro and David Mobley
Maintainer-email: The Open Free Energy developers <openfreeenergy@omsf.io>
License-Expression: MIT
Project-URL: Homepage, https://github.com/OpenFreeEnergy/Lomap
Keywords: alchemical free energy,network,perturbation,setup
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: matplotlib
Requires-Dist: networkx
Requires-Dist: numpy
Requires-Dist: rdkit
Provides-Extra: credits
Requires-Dist: duecredit; extra == "credits"
Provides-Extra: graphviz
Requires-Dist: pygraphviz; extra == "graphviz"
Provides-Extra: test
Requires-Dist: codecov; extra == "test"
Requires-Dist: pytest; extra == "test"
Dynamic: license-file

[![CI](https://github.com/OpenFreeEnergy/Lomap/actions/workflows/CI.yaml/badge.svg)](https://github.com/OpenFreeEnergy/Lomap/actions/workflows/CI.yaml)
[![Documentation Status](https://readthedocs.org/projects/lomap/badge/?version=latest)](https://lomap.readthedocs.io/en/latest/?badge=latest)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.16898468.svg)](https://doi.org/10.5281/zenodo.16898468)
# Lomap
The Lead Optimization Mapper (LOMAP) is an automated algorithm for planning
efficient relative free energy calculation networks across a set of ligands,
built on freely available tools such as RDKit.
With the optional [`gufe`](https://github.com/OpenFreeEnergy/gufe) dependency installed,
it also integrates with the [Open Free Energy](https://openfree.energy) ecosystem.
The method is described in the original
[LOMAP publication](https://doi.org/10.1007/s10822-013-9678-y).

## Installation

`lomap` is available on conda-forge as the `lomap2` package. See the
[installation documentation](https://lomap.readthedocs.io/en/latest/installation.html)
for install instructions, including the development install and optional
dependencies (`gufe` and `pygraphviz`).

## Quickstart

This example uses LOMAP's optional `gufe` bindings to load two example ligands
bundled with the package and plan a perturbation network between them with the
default atom mapper and scorer.

```python
# requires the optional `gufe` dependency (see Installation)
import importlib.resources

import lomap
from gufe import SmallMoleculeComponent

# Two example ligands ship with the package under lomap.tests.data
data = importlib.resources.files("lomap.tests.data")
ligands = [
    SmallMoleculeComponent.from_sdf_file(data / name)
    for name in ["lig_41.sdf", "lig_74.sdf"]
]

# Build a LigandNetwork using LOMAP's scoring and network-construction rules
network = lomap.generate_lomap_network(
    ligands=ligands,
    mappers=lomap.LomapAtomMapper(),
    scorer=lomap.default_lomap_score,
)
print(f"{len(network.nodes)} ligands, {len(network.edges)} edges")
```

For proposing individual mappings, customising edge scores, and the full set of
network options, see the [documentation](https://lomap.readthedocs.io).

## Authors

See [AUTHORS.md](https://github.com/OpenFreeEnergy/Lomap/blob/main/AUTHORS.md).

## History

Open Free Energy took over maintenance of LOMAP in 2022. The original
development repository has since been archived, but can be found at
https://github.com/MobleyLab/Lomap.
