Metadata-Version: 2.4
Name: novemberff
Version: 0.3.0
Summary: Custom implementation of the AMBER forcefield, focused on simplicity and verbose outputs.
Home-page: https://github.com/diegobarmor/novemberff
Author: DiegoBarMor
Author-email: diegobarmor42@gmail.com
License: MIT
Keywords: Amber Forcefield MolecularDynamics MD Simulation
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.md
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: requires-python
Dynamic: summary

# NOVEMBERFF
**NovemberFF** (implemeNtatiOn of VErbose aMBER ForceField) is a custom implementation of the AMBER forcefield, inspired by [OpenMM](https://github.com/openmm/openmm)'s C++ source. NovemberFF's aim is not to be performant, but rather to be compact and easy to modify/customize. It also provides by default the option to obtain verbose outputs, i.e. the energies of every singular molecular interaction in arrays (instead of their sum).

* Current outputs supported:
    * Bonded energies
    * Angle energies
    * Dihedral (Torsion) energies
    * LennardJones energies
    * Coulomb energies

* Current forcefield formats supported:
    * XML

* Current forcefields packed along NovemberFF (at `novemberff/_data`):
    * `RNA.OL3.xml` for RNA
    * `amber99sb.xml` for protein

<!-- ----------------------------------------------------------------------- -->
# Requirements
* currently depends on `MDAnalysis` for parsing the PDB structures

<!-- ----------------------------------------------------------------------- -->
# Examples
* display energy sums:
```python3 main.py rna  testdata/1ato.pdb```
```python3 main.py prot testdata/prot.pdb```

* save energy arrays:
```python3 main.py rna  testdata/1ato.pdb testdata/output/1ato```
```python3 main.py prot testdata/prot.pdb testdata/output/prot```


<!-- ----------------------------------------------------------------------- -->
# TODO
* improve CLI.
* add documentation.
* add more forcefields.
* remove MDAnalysis dependency for PDB parsing.
* improve `bond_graphs`'s graph data structure.
* improve the residue/atom labels fixing procedures.
* finish refactoring of parser base class and `forcefield.from_xml` (i.e. should be Parser's responsability to yield the needed data, not Forcefield).
* allow to specify the forcefield to use in `main.py`.
* add option for saving the molecule's topology features (bonds, angles, etc), as well as their geometry values.
