firecode 1.4.0__tar.gz → 1.5.0a0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- firecode-1.5.0a0/.ase/gui.py +1 -0
- firecode-1.5.0a0/.gitignore +153 -0
- firecode-1.5.0a0/.readthedocs.yaml +35 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/CHANGELOG.md +10 -0
- firecode-1.5.0a0/PKG-INFO +59 -0
- firecode-1.5.0a0/docs/images/atropo.png +0 -0
- firecode-1.5.0a0/docs/images/complex_embed_cd.png +0 -0
- firecode-1.5.0a0/docs/images/embeds.svg +449 -0
- firecode-1.5.0a0/docs/images/intro_embed.PNG +0 -0
- firecode-1.5.0a0/docs/images/logo.png +0 -0
- firecode-1.5.0a0/docs/images/orbitals.png +0 -0
- firecode-1.5.0a0/docs/images/peptide.png +0 -0
- firecode-1.5.0a0/docs/images/peptide_chemdraw.png +0 -0
- firecode-1.5.0a0/docs/images/plot.svg +1534 -0
- firecode-1.5.0a0/docs/images/qz_firecode.gif +0 -0
- firecode-1.5.0a0/docs/images/trimolecular.png +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/docs/installation.rst +18 -10
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/__main__.py +6 -3
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/ase_manipulations.py +171 -12
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/calculators/_ase_uma.py +7 -7
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/calculators/_xtb.py +1 -1
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/embedder.py +3 -3
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/embedder_options.py +7 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/hypermolecule_class.py +3 -1
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/mep_relaxer.py +5 -1
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/modify_settings.py +4 -3
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/operators.py +20 -16
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/optimization_methods.py +2 -1
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/settings.py +0 -1
- firecode-1.5.0a0/firecode/smarts.py +307 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/solvents.py +1 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/standalone_optimizer.py +10 -9
- firecode-1.5.0a0/firecode/tests/chelotropic/C2H4.xyz +8 -0
- firecode-1.5.0a0/firecode/tests/chelotropic/HCOOOH.xyz +8 -0
- firecode-1.5.0a0/firecode/tests/chelotropic/chelotropic.txt +3 -0
- firecode-1.5.0a0/firecode/tests/cyclical/C2H4.xyz +8 -0
- firecode-1.5.0a0/firecode/tests/cyclical/cyclical.txt +3 -0
- firecode-1.5.0a0/firecode/tests/dihedral/C2F2H4.xyz +10 -0
- firecode-1.5.0a0/firecode/tests/dihedral/dihedral.txt +2 -0
- firecode-1.5.0a0/firecode/tests/string/CH3Cl.xyz +7 -0
- firecode-1.5.0a0/firecode/tests/string/HCOOH.xyz +7 -0
- firecode-1.5.0a0/firecode/tests/string/string.txt +3 -0
- firecode-1.5.0a0/firecode/tests/trimolecular/CH3Cl.xyz +7 -0
- firecode-1.5.0a0/firecode/tests/trimolecular/HCOOH.xyz +7 -0
- firecode-1.5.0a0/firecode/tests/trimolecular/trimolecular.txt +9 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/torsion_module.py +2 -2
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/units.py +2 -1
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/utils.py +55 -258
- firecode-1.5.0a0/icon.ico +0 -0
- firecode-1.5.0a0/pixi.lock +4205 -0
- firecode-1.5.0a0/pyproject.toml +68 -0
- firecode-1.4.0/PKG-INFO +0 -374
- firecode-1.4.0/firecode/TEST_NOTEBOOK.ipynb +0 -216
- firecode-1.4.0/firecode.egg-info/PKG-INFO +0 -374
- firecode-1.4.0/firecode.egg-info/SOURCES.txt +0 -62
- firecode-1.4.0/firecode.egg-info/dependency_links.txt +0 -1
- firecode-1.4.0/firecode.egg-info/requires.txt +0 -14
- firecode-1.4.0/firecode.egg-info/top_level.txt +0 -1
- firecode-1.4.0/pyproject.toml +0 -3
- firecode-1.4.0/setup.cfg +0 -4
- firecode-1.4.0/setup.py +0 -74
- {firecode-1.4.0 → firecode-1.5.0a0}/LICENSE +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/MANIFEST.in +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/README.md +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/docs/conf.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/docs/examples.rst +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/docs/index.rst +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/docs/introduction.rst +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/docs/license.rst +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/docs/operators_keywords.rst +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/docs/requirements.txt +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/docs/usage.rst +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/__init__.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/algebra.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/atropisomer_module.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/automep.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/calculators/__init__.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/calculators/_orca.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/calculators/dummy_ase_calc.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/concurrent_test.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/embeds.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/errors.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/explode_search.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/graph_manipulations.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/multiembed.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/numba_functions.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/parameters.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/pka.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/profiler.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/pt.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/quotes.json +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/quotes.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/reactive_atoms_classes.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/references.py +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/tests/C2H4.xyz +0 -0
- {firecode-1.4.0 → firecode-1.5.0a0}/firecode/tests.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
gui_default_settings['show_bonds'] = True
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
.vscode/
|
|
2
|
+
.DS_Store
|
|
3
|
+
cython
|
|
4
|
+
old
|
|
5
|
+
variables.md
|
|
6
|
+
|
|
7
|
+
# Created by https://www.toptal.com/developers/gitignore/api/python
|
|
8
|
+
# Edit at https://www.toptal.com/developers/gitignore?templates=python
|
|
9
|
+
|
|
10
|
+
### Python ###
|
|
11
|
+
# Byte-compiled / optimized / DLL files
|
|
12
|
+
__pycache__/
|
|
13
|
+
*.py[cod]
|
|
14
|
+
*$py.class
|
|
15
|
+
|
|
16
|
+
# C extensions
|
|
17
|
+
*.so
|
|
18
|
+
|
|
19
|
+
# Distribution / packaging
|
|
20
|
+
.Python
|
|
21
|
+
build/
|
|
22
|
+
develop-eggs/
|
|
23
|
+
dist/
|
|
24
|
+
downloads/
|
|
25
|
+
eggs/
|
|
26
|
+
.eggs/
|
|
27
|
+
lib/
|
|
28
|
+
lib64/
|
|
29
|
+
parts/
|
|
30
|
+
sdist/
|
|
31
|
+
var/
|
|
32
|
+
wheels/
|
|
33
|
+
share/python-wheels/
|
|
34
|
+
*.egg-info/
|
|
35
|
+
.installed.cfg
|
|
36
|
+
*.egg
|
|
37
|
+
MANIFEST
|
|
38
|
+
|
|
39
|
+
# PyInstaller
|
|
40
|
+
# Usually these files are written by a python script from a template
|
|
41
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
42
|
+
*.manifest
|
|
43
|
+
*.spec
|
|
44
|
+
|
|
45
|
+
# Installer logs
|
|
46
|
+
pip-log.txt
|
|
47
|
+
pip-delete-this-directory.txt
|
|
48
|
+
|
|
49
|
+
# Unit test / coverage reports
|
|
50
|
+
htmlcov/
|
|
51
|
+
.tox/
|
|
52
|
+
.nox/
|
|
53
|
+
.coverage
|
|
54
|
+
.coverage.*
|
|
55
|
+
.cache
|
|
56
|
+
nosetests.xml
|
|
57
|
+
coverage.xml
|
|
58
|
+
*.cover
|
|
59
|
+
*.py,cover
|
|
60
|
+
.hypothesis/
|
|
61
|
+
.pytest_cache/
|
|
62
|
+
cover/
|
|
63
|
+
|
|
64
|
+
# Translations
|
|
65
|
+
*.mo
|
|
66
|
+
*.pot
|
|
67
|
+
|
|
68
|
+
# Django stuff:
|
|
69
|
+
*.log
|
|
70
|
+
local_settings.py
|
|
71
|
+
db.sqlite3
|
|
72
|
+
db.sqlite3-journal
|
|
73
|
+
|
|
74
|
+
# Flask stuff:
|
|
75
|
+
instance/
|
|
76
|
+
.webassets-cache
|
|
77
|
+
|
|
78
|
+
# Scrapy stuff:
|
|
79
|
+
.scrapy
|
|
80
|
+
|
|
81
|
+
# Sphinx documentation
|
|
82
|
+
docs/_build/
|
|
83
|
+
|
|
84
|
+
# PyBuilder
|
|
85
|
+
.pybuilder/
|
|
86
|
+
target/
|
|
87
|
+
|
|
88
|
+
# Jupyter Notebook
|
|
89
|
+
.ipynb_checkpoints
|
|
90
|
+
|
|
91
|
+
# IPython
|
|
92
|
+
profile_default/
|
|
93
|
+
ipython_config.py
|
|
94
|
+
|
|
95
|
+
# pyenv
|
|
96
|
+
# For a library or package, you might want to ignore these files since the code is
|
|
97
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
98
|
+
# .python-version
|
|
99
|
+
|
|
100
|
+
# pipenv
|
|
101
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
102
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
103
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
104
|
+
# install all needed dependencies.
|
|
105
|
+
#Pipfile.lock
|
|
106
|
+
|
|
107
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
|
108
|
+
__pypackages__/
|
|
109
|
+
|
|
110
|
+
# Celery stuff
|
|
111
|
+
celerybeat-schedule
|
|
112
|
+
celerybeat.pid
|
|
113
|
+
|
|
114
|
+
# SageMath parsed files
|
|
115
|
+
*.sage.py
|
|
116
|
+
|
|
117
|
+
# Environments
|
|
118
|
+
.env
|
|
119
|
+
.venv
|
|
120
|
+
env/
|
|
121
|
+
venv/
|
|
122
|
+
ENV/
|
|
123
|
+
env.bak/
|
|
124
|
+
venv.bak/
|
|
125
|
+
|
|
126
|
+
# Spyder project settings
|
|
127
|
+
.spyderproject
|
|
128
|
+
.spyproject
|
|
129
|
+
|
|
130
|
+
# Rope project settings
|
|
131
|
+
.ropeproject
|
|
132
|
+
|
|
133
|
+
# mkdocs documentation
|
|
134
|
+
/site
|
|
135
|
+
|
|
136
|
+
# mypy
|
|
137
|
+
.mypy_cache/
|
|
138
|
+
.dmypy.json
|
|
139
|
+
dmypy.json
|
|
140
|
+
|
|
141
|
+
# Pyre type checker
|
|
142
|
+
.pyre/
|
|
143
|
+
|
|
144
|
+
# pytype static type analyzer
|
|
145
|
+
.pytype/
|
|
146
|
+
|
|
147
|
+
# Cython debug symbols
|
|
148
|
+
cython_debug/
|
|
149
|
+
|
|
150
|
+
# End of https://www.toptal.com/developers/gitignore/api/python
|
|
151
|
+
firecode/TEST_NOTEBOOK.ipynb
|
|
152
|
+
*Zone.Identifier
|
|
153
|
+
firecode/calculators/uma-s-1p1.pt
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Read the Docs configuration file for Sphinx projects
|
|
2
|
+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
|
3
|
+
|
|
4
|
+
# Required
|
|
5
|
+
version: 2
|
|
6
|
+
|
|
7
|
+
# Set the OS, Python version and other tools you might need
|
|
8
|
+
build:
|
|
9
|
+
os: ubuntu-22.04
|
|
10
|
+
tools:
|
|
11
|
+
python: "3.8"
|
|
12
|
+
# You can also specify other tool versions:
|
|
13
|
+
# nodejs: "20"
|
|
14
|
+
# rust: "1.70"
|
|
15
|
+
# golang: "1.20"
|
|
16
|
+
|
|
17
|
+
# Build documentation in the "docs/" directory with Sphinx
|
|
18
|
+
sphinx:
|
|
19
|
+
configuration: docs/conf.py
|
|
20
|
+
# You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs
|
|
21
|
+
# builder: "dirhtml"
|
|
22
|
+
# Fail on all warnings to avoid broken references
|
|
23
|
+
# fail_on_warning: true
|
|
24
|
+
|
|
25
|
+
# Optionally build your docs in additional formats such as PDF and ePub
|
|
26
|
+
# formats:
|
|
27
|
+
# - pdf
|
|
28
|
+
# - epub
|
|
29
|
+
|
|
30
|
+
# Optional but recommended, declare the Python requirements required
|
|
31
|
+
# to build your documentation
|
|
32
|
+
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
|
|
33
|
+
python:
|
|
34
|
+
install:
|
|
35
|
+
- requirements: docs/requirements.txt
|
|
@@ -3,11 +3,21 @@
|
|
|
3
3
|
|
|
4
4
|
<!-- - ... mep_relax> BETA
|
|
5
5
|
- ... IMAGES kw, also implement it for neb>-->
|
|
6
|
+
<!-- FINALSPLEVEL keyword? -->
|
|
7
|
+
|
|
8
|
+
## FIRECODE 1.5.0 🔥 (WIP)
|
|
9
|
+
- Implemented an interface to [ML-FSM](https://github.com/thegomeslab/ML-FSM/tree/main).
|
|
10
|
+
- Removed openbabel dependency.
|
|
11
|
+
- Imports bugfixes.
|
|
12
|
+
- Restructured setup to use [Pixi](https://pixi.prefix.dev/latest/).
|
|
13
|
+
<!-- add documentation: SCRAMBLECHECK kw -->
|
|
14
|
+
|
|
6
15
|
## FIRECODE 1.4.0 🔥 (January 25 2026) - Big cleanup and reorganization!
|
|
7
16
|
- Similarity pruning is now done via the standalone [PRISM](https://github.com/ntampellini/prism_pruner) library.
|
|
8
17
|
- Removed dependencies: numba, cclib, periodictable.
|
|
9
18
|
- Removed MOPAC, GAUSSIAN and OPENBABEL calculator interfaces completely.
|
|
10
19
|
- Removed SADDLE, CSEARCH and NCI keywords, as well as the saddle> operator.
|
|
20
|
+
- Restructured most functions taking coordinates and atomic numbers to atomic symbols and coordinates (ASE style). [coords, atomnos] -> [atoms, coords]
|
|
11
21
|
- Bumped minimum Python version from 3.8 to 3.12.
|
|
12
22
|
|
|
13
23
|
## FIRECODE 1.3.0 🔥 (December 15 2025)
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: firecode
|
|
3
|
+
Version: 1.5.0a0
|
|
4
|
+
Summary: FIRECODE: Filtering Refiner and Embedder for Conformationally Dense Ensembles
|
|
5
|
+
Author-email: Nicolò Tampellini <nicolo.tampellini@yale.edu>
|
|
6
|
+
License-Expression: LGPL-3.0-or-later
|
|
7
|
+
License-File: LICENSE
|
|
8
|
+
Requires-Python: <3.13,>=3.10
|
|
9
|
+
Requires-Dist: ase
|
|
10
|
+
Requires-Dist: fairchem-core
|
|
11
|
+
Requires-Dist: importlib-metadata
|
|
12
|
+
Requires-Dist: inquirerpy
|
|
13
|
+
Requires-Dist: llvmlite
|
|
14
|
+
Requires-Dist: matplotlib
|
|
15
|
+
Requires-Dist: networkx
|
|
16
|
+
Requires-Dist: numpy
|
|
17
|
+
Requires-Dist: prettytable
|
|
18
|
+
Requires-Dist: prism-pruner
|
|
19
|
+
Requires-Dist: psutil
|
|
20
|
+
Requires-Dist: rdkit>=2025.9.3
|
|
21
|
+
Requires-Dist: rich
|
|
22
|
+
Requires-Dist: scipy
|
|
23
|
+
Requires-Dist: typing-extensions
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
# FIRECODE - Filtering Refiner and Embedder for Conformationally Dense Ensembles
|
|
28
|
+
|
|
29
|
+
<div align="center">
|
|
30
|
+
|
|
31
|
+
[](https://opensource.org/licenses/LGPL-3.0)
|
|
32
|
+

|
|
33
|
+

|
|
34
|
+

|
|
35
|
+
[](https://www.codefactor.io/repository/github/ntampellini/firecode)
|
|
36
|
+
|
|
37
|
+
[](https://pypi.org/project/firecode/)
|
|
38
|
+
[](https://pypi.org/project/firecode/)
|
|
39
|
+
[](https://firecode.readthedocs.io/en/latest/?badge=latest)
|
|
40
|
+

|
|
41
|
+
[](https://github.com/charliermarsh/ruff)
|
|
42
|
+
|
|
43
|
+

|
|
44
|
+
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
<p align="center">
|
|
48
|
+
|
|
49
|
+
<img src="docs/images/logo.png" alt="FIRECODE logo" class="center" width="500"/>
|
|
50
|
+
|
|
51
|
+
</p>
|
|
52
|
+
|
|
53
|
+
*FIRECODE is the expanded successor of [TSCoDe](https://github.com/ntampellini/TSCoDe).*
|
|
54
|
+
|
|
55
|
+
FIRECODE is a computational chemistry toolbox for the generation, optimization and refinement of conformational ensembles. It features many flexible and highly customizable workflow utilities including conformer generation (via [CREST](https://github.com/crest-lab/crest) or FIRECODE), constrained ensemble optimization through popular calculators like [XTB](https://github.com/grimme-lab/xtb), [ORCA](https://www.orcasoftware.de/tutorials_orca/), [GAUSSIAN](https://gaussian.com/) and Pytorch Neural Network models via [ASE](https://github.com/rosswhitfield/ase) ([AIMNET2](https://github.com/isayevlab/AIMNet2)). It implements a series of conformational pruning routines based on inertia tensors, RMSD, symmetry-corrected RMSD, and more. It can also assemble non-covalent adducts from conformational ensembles (embedding) for fast and automated generation and evaluation of ground and transtition state-like structures. CPU and GPU multithreading is implemented throughout the codebase and linear algebra-intensive modules are compiled at runtime via [Numba](https://github.com/numba/numba).
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
## Documentation
|
|
59
|
+
Documentation on how to install and use the program can be found on [readthedocs](https://firecode.readthedocs.io/en/latest/index.html).
|
|
Binary file
|
|
Binary file
|