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.
Files changed (96) hide show
  1. firecode-1.5.0a0/.ase/gui.py +1 -0
  2. firecode-1.5.0a0/.gitignore +153 -0
  3. firecode-1.5.0a0/.readthedocs.yaml +35 -0
  4. {firecode-1.4.0 → firecode-1.5.0a0}/CHANGELOG.md +10 -0
  5. firecode-1.5.0a0/PKG-INFO +59 -0
  6. firecode-1.5.0a0/docs/images/atropo.png +0 -0
  7. firecode-1.5.0a0/docs/images/complex_embed_cd.png +0 -0
  8. firecode-1.5.0a0/docs/images/embeds.svg +449 -0
  9. firecode-1.5.0a0/docs/images/intro_embed.PNG +0 -0
  10. firecode-1.5.0a0/docs/images/logo.png +0 -0
  11. firecode-1.5.0a0/docs/images/orbitals.png +0 -0
  12. firecode-1.5.0a0/docs/images/peptide.png +0 -0
  13. firecode-1.5.0a0/docs/images/peptide_chemdraw.png +0 -0
  14. firecode-1.5.0a0/docs/images/plot.svg +1534 -0
  15. firecode-1.5.0a0/docs/images/qz_firecode.gif +0 -0
  16. firecode-1.5.0a0/docs/images/trimolecular.png +0 -0
  17. {firecode-1.4.0 → firecode-1.5.0a0}/docs/installation.rst +18 -10
  18. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/__main__.py +6 -3
  19. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/ase_manipulations.py +171 -12
  20. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/calculators/_ase_uma.py +7 -7
  21. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/calculators/_xtb.py +1 -1
  22. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/embedder.py +3 -3
  23. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/embedder_options.py +7 -0
  24. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/hypermolecule_class.py +3 -1
  25. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/mep_relaxer.py +5 -1
  26. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/modify_settings.py +4 -3
  27. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/operators.py +20 -16
  28. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/optimization_methods.py +2 -1
  29. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/settings.py +0 -1
  30. firecode-1.5.0a0/firecode/smarts.py +307 -0
  31. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/solvents.py +1 -0
  32. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/standalone_optimizer.py +10 -9
  33. firecode-1.5.0a0/firecode/tests/chelotropic/C2H4.xyz +8 -0
  34. firecode-1.5.0a0/firecode/tests/chelotropic/HCOOOH.xyz +8 -0
  35. firecode-1.5.0a0/firecode/tests/chelotropic/chelotropic.txt +3 -0
  36. firecode-1.5.0a0/firecode/tests/cyclical/C2H4.xyz +8 -0
  37. firecode-1.5.0a0/firecode/tests/cyclical/cyclical.txt +3 -0
  38. firecode-1.5.0a0/firecode/tests/dihedral/C2F2H4.xyz +10 -0
  39. firecode-1.5.0a0/firecode/tests/dihedral/dihedral.txt +2 -0
  40. firecode-1.5.0a0/firecode/tests/string/CH3Cl.xyz +7 -0
  41. firecode-1.5.0a0/firecode/tests/string/HCOOH.xyz +7 -0
  42. firecode-1.5.0a0/firecode/tests/string/string.txt +3 -0
  43. firecode-1.5.0a0/firecode/tests/trimolecular/CH3Cl.xyz +7 -0
  44. firecode-1.5.0a0/firecode/tests/trimolecular/HCOOH.xyz +7 -0
  45. firecode-1.5.0a0/firecode/tests/trimolecular/trimolecular.txt +9 -0
  46. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/torsion_module.py +2 -2
  47. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/units.py +2 -1
  48. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/utils.py +55 -258
  49. firecode-1.5.0a0/icon.ico +0 -0
  50. firecode-1.5.0a0/pixi.lock +4205 -0
  51. firecode-1.5.0a0/pyproject.toml +68 -0
  52. firecode-1.4.0/PKG-INFO +0 -374
  53. firecode-1.4.0/firecode/TEST_NOTEBOOK.ipynb +0 -216
  54. firecode-1.4.0/firecode.egg-info/PKG-INFO +0 -374
  55. firecode-1.4.0/firecode.egg-info/SOURCES.txt +0 -62
  56. firecode-1.4.0/firecode.egg-info/dependency_links.txt +0 -1
  57. firecode-1.4.0/firecode.egg-info/requires.txt +0 -14
  58. firecode-1.4.0/firecode.egg-info/top_level.txt +0 -1
  59. firecode-1.4.0/pyproject.toml +0 -3
  60. firecode-1.4.0/setup.cfg +0 -4
  61. firecode-1.4.0/setup.py +0 -74
  62. {firecode-1.4.0 → firecode-1.5.0a0}/LICENSE +0 -0
  63. {firecode-1.4.0 → firecode-1.5.0a0}/MANIFEST.in +0 -0
  64. {firecode-1.4.0 → firecode-1.5.0a0}/README.md +0 -0
  65. {firecode-1.4.0 → firecode-1.5.0a0}/docs/conf.py +0 -0
  66. {firecode-1.4.0 → firecode-1.5.0a0}/docs/examples.rst +0 -0
  67. {firecode-1.4.0 → firecode-1.5.0a0}/docs/index.rst +0 -0
  68. {firecode-1.4.0 → firecode-1.5.0a0}/docs/introduction.rst +0 -0
  69. {firecode-1.4.0 → firecode-1.5.0a0}/docs/license.rst +0 -0
  70. {firecode-1.4.0 → firecode-1.5.0a0}/docs/operators_keywords.rst +0 -0
  71. {firecode-1.4.0 → firecode-1.5.0a0}/docs/requirements.txt +0 -0
  72. {firecode-1.4.0 → firecode-1.5.0a0}/docs/usage.rst +0 -0
  73. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/__init__.py +0 -0
  74. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/algebra.py +0 -0
  75. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/atropisomer_module.py +0 -0
  76. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/automep.py +0 -0
  77. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/calculators/__init__.py +0 -0
  78. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/calculators/_orca.py +0 -0
  79. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/calculators/dummy_ase_calc.py +0 -0
  80. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/concurrent_test.py +0 -0
  81. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/embeds.py +0 -0
  82. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/errors.py +0 -0
  83. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/explode_search.py +0 -0
  84. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/graph_manipulations.py +0 -0
  85. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/multiembed.py +0 -0
  86. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/numba_functions.py +0 -0
  87. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/parameters.py +0 -0
  88. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/pka.py +0 -0
  89. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/profiler.py +0 -0
  90. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/pt.py +0 -0
  91. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/quotes.json +0 -0
  92. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/quotes.py +0 -0
  93. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/reactive_atoms_classes.py +0 -0
  94. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/references.py +0 -0
  95. {firecode-1.4.0 → firecode-1.5.0a0}/firecode/tests/C2H4.xyz +0 -0
  96. {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
+ [![License: GNU LGPL v3](https://img.shields.io/github/license/ntampellini/firecode)](https://opensource.org/licenses/LGPL-3.0)
32
+ ![Python Version](https://img.shields.io/badge/Python-3.12-blue)
33
+ ![Size](https://img.shields.io/github/languages/code-size/ntampellini/firecode)
34
+ ![Lines](https://sloc.xyz/github/ntampellini/firecode/)
35
+ [![CodeFactor Grade](https://img.shields.io/codefactor/grade/github/ntampellini/firecode)](https://www.codefactor.io/repository/github/ntampellini/firecode)
36
+
37
+ [![PyPI](https://img.shields.io/pypi/v/firecode)](https://pypi.org/project/firecode/)
38
+ [![Wheel](https://img.shields.io/pypi/wheel/firecode)](https://pypi.org/project/firecode/)
39
+ [![Documentation Status](https://readthedocs.org/projects/firecode/badge/?version=latest)](https://firecode.readthedocs.io/en/latest/?badge=latest)
40
+ ![PyPI - Downloads](https://img.shields.io/pypi/dm/firecode)
41
+ [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)
42
+
43
+ ![Twitter](https://img.shields.io/twitter/url?url=https%3A%2F%2Ftwitter.com%2Fntampellini_&label=%40ntampellini_&link=https%3A%2F%2Ftwitter.com%2Fntampellini_)
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