lammps-forcefield-tools 0.1.0__py3-none-any.whl

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 (97) hide show
  1. lammps_forcefield_tools-0.1.0.dist-info/METADATA +298 -0
  2. lammps_forcefield_tools-0.1.0.dist-info/RECORD +97 -0
  3. lammps_forcefield_tools-0.1.0.dist-info/WHEEL +5 -0
  4. lammps_forcefield_tools-0.1.0.dist-info/entry_points.txt +2 -0
  5. lammps_forcefield_tools-0.1.0.dist-info/licenses/LICENSE +339 -0
  6. lammps_forcefield_tools-0.1.0.dist-info/top_level.txt +1 -0
  7. lft/__init__.py +7 -0
  8. lft/__main__.py +4 -0
  9. lft/audit.py +67 -0
  10. lft/backends/__init__.py +6 -0
  11. lft/backends/function_map.py +41 -0
  12. lft/backends/gromacs.py +215 -0
  13. lft/backends/moltemplate.py +410 -0
  14. lft/bonds.py +5 -0
  15. lft/charges/__init__.py +5 -0
  16. lft/charges/_atomic_density.py +87 -0
  17. lft/charges/_cm5_data.py +115 -0
  18. lft/charges/_grid.py +67 -0
  19. lft/charges/acpype.py +144 -0
  20. lft/charges/data/APS.DAT +45 -0
  21. lft/charges/data/ATOMTYPE_BCC.DEF +254 -0
  22. lft/charges/data/BCCPARM.DAT +405 -0
  23. lft/charges/data/BCCPARM_ABCG2.DAT +475 -0
  24. lft/charges/data/ESPPARM.DAT +121 -0
  25. lft/charges/data/GASPARM.DAT +40 -0
  26. lft/charges/data/__init__.py +0 -0
  27. lft/charges/data/multiwfn_atmraddens.npz +0 -0
  28. lft/charges/density_charges.py +156 -0
  29. lft/charges/dispatcher.py +186 -0
  30. lft/charges/empirical.py +163 -0
  31. lft/charges/esp.py +204 -0
  32. lft/charges/input.py +64 -0
  33. lft/charges/resp.py +325 -0
  34. lft/charges/semiempirical/__init__.py +15 -0
  35. lft/charges/semiempirical/am1.py +2005 -0
  36. lft/charges/semiempirical/bcc.py +225 -0
  37. lft/charges/semiempirical/bondtype.py +1150 -0
  38. lft/cli.py +136 -0
  39. lft/config.py +95 -0
  40. lft/domain/__init__.py +29 -0
  41. lft/domain/image.py +25 -0
  42. lft/domain/parameters.py +114 -0
  43. lft/domain/structure.py +284 -0
  44. lft/domain/topology.py +107 -0
  45. lft/domain/units.py +62 -0
  46. lft/errors.py +44 -0
  47. lft/forcefields/__init__.py +7 -0
  48. lft/forcefields/atomtype.py +185 -0
  49. lft/forcefields/data/ATOMTYPE_AMBER.DEF +150 -0
  50. lft/forcefields/data/ATOMTYPE_GAS.DEF +130 -0
  51. lft/forcefields/data/ATOMTYPE_GFF.DEF +406 -0
  52. lft/forcefields/data/ATOMTYPE_GFF2.DEF +429 -0
  53. lft/forcefields/data/CORR_NAME_TYPE.DAT +185 -0
  54. lft/forcefields/gaff.py +5 -0
  55. lft/forcefields/gaff_typer.py +1552 -0
  56. lft/forcefields/manual.py +20 -0
  57. lft/forcefields/matching.py +172 -0
  58. lft/forcefields/reference.py +240 -0
  59. lft/forcefields/tables.py +214 -0
  60. lft/forcefields/uff.py +5 -0
  61. lft/hessian.py +6 -0
  62. lft/io/__init__.py +6 -0
  63. lft/io/loaders.py +459 -0
  64. lft/io/qc_loaders.py +5 -0
  65. lft/io/serializers.py +17 -0
  66. lft/io/writers.py +6 -0
  67. lft/lft.config +28 -0
  68. lft/model.py +5 -0
  69. lft/parameterize/__init__.py +5 -0
  70. lft/parameterize/classic.py +164 -0
  71. lft/parameterize/hessian.py +49 -0
  72. lft/parameters.py +3 -0
  73. lft/pipeline.py +353 -0
  74. lft/qc/__init__.py +6 -0
  75. lft/qc/backend.py +43 -0
  76. lft/qc/hessian.py +56 -0
  77. lft/qc/pyscf_backend.py +94 -0
  78. lft/qc/wavefunction.py +77 -0
  79. lft/report.py +34 -0
  80. lft/runners/__init__.py +5 -0
  81. lft/runners/external.py +80 -0
  82. lft/runners/gmx.py +22 -0
  83. lft/runners/lammps.py +28 -0
  84. lft/runners/moltemplate.py +17 -0
  85. lft/runners/packmol.py +16 -0
  86. lft/settings.py +76 -0
  87. lft/topology/__init__.py +7 -0
  88. lft/topology/enumerate_terms.py +184 -0
  89. lft/topology/infer_bonds.py +105 -0
  90. lft/topology/pbc.py +80 -0
  91. lft/units.py +3 -0
  92. lft/validation/__init__.py +5 -0
  93. lft/validation/differential.py +16 -0
  94. lft/validation/gaff_oracle.py +111 -0
  95. lft/validation/ground_truth.py +52 -0
  96. lft/validation/normalized.py +45 -0
  97. lft/validation/physical.py +19 -0
@@ -0,0 +1,298 @@
1
+ Metadata-Version: 2.4
2
+ Name: lammps-forcefield-tools
3
+ Version: 0.1.0
4
+ Summary: Automated LAMMPS and GROMACS force-field and topology generation from molecular and crystal structures
5
+ Author: tgraphite
6
+ License-Expression: GPL-2.0-only
7
+ Project-URL: Homepage, https://github.com/tgraphite/LammpsForcefieldTools
8
+ Project-URL: Repository, https://github.com/tgraphite/LammpsForcefieldTools
9
+ Project-URL: Documentation, https://github.com/tgraphite/LammpsForcefieldTools/blob/main/docs/MANUAL.md
10
+ Project-URL: Changelog, https://github.com/tgraphite/LammpsForcefieldTools/blob/main/docs/CHANGELOG.md
11
+ Project-URL: Issues, https://github.com/tgraphite/LammpsForcefieldTools/issues
12
+ Project-URL: PyPI, https://pypi.org/project/lammps-forcefield-tools/
13
+ Keywords: lammps,gromacs,force-field,topology,molecular-dynamics,gaff,am1-bcc,resp,computational-chemistry
14
+ Classifier: Development Status :: 4 - Beta
15
+ Classifier: Environment :: Console
16
+ Classifier: Intended Audience :: Science/Research
17
+ Classifier: Operating System :: POSIX :: Linux
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Topic :: Scientific/Engineering :: Chemistry
22
+ Classifier: Topic :: Scientific/Engineering :: Physics
23
+ Requires-Python: >=3.11
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSE
26
+ Requires-Dist: numpy>=1.26
27
+ Requires-Dist: scipy>=1.11
28
+ Requires-Dist: pyscf>=2.14
29
+ Requires-Dist: dftd3>=1.6
30
+ Requires-Dist: cclib>=1.8
31
+ Requires-Dist: openbabel-wheel>=3.1.1
32
+ Requires-Dist: PyYAML>=6.0
33
+ Provides-Extra: test
34
+ Requires-Dist: pytest>=8; extra == "test"
35
+ Dynamic: license-file
36
+
37
+ # LammpsForcefieldTools
38
+
39
+ [![PyPI](https://img.shields.io/pypi/v/lammps-forcefield-tools.svg)](https://pypi.org/project/lammps-forcefield-tools/)
40
+ [![Python](https://img.shields.io/pypi/pyversions/lammps-forcefield-tools.svg)](https://pypi.org/project/lammps-forcefield-tools/)
41
+ [![License: GPL-2.0](https://img.shields.io/badge/license-GPL--2.0-blue.svg)](LICENSE)
42
+
43
+ 把分子/晶体结构自动转换为可运行的 **LAMMPS** 力场与拓扑输入,同时提供 **GROMACS** 兼容输出。命令行入口为 **`lft`**。
44
+
45
+ ```bash
46
+ lft -f molecule.mol2 # 生成 molecule.data + molecule.in
47
+ lmp -in molecule.in # 直接运行
48
+ ```
49
+
50
+ - GitHub:<https://github.com/tgraphite/LammpsForcefieldTools>
51
+ - PyPI:<https://pypi.org/project/lammps-forcefield-tools/>
52
+ - 使用手册:[docs/MANUAL.md](docs/MANUAL.md)
53
+
54
+ ---
55
+
56
+ ## 功能特性
57
+
58
+ | 能力 | 说明 |
59
+ |---|---|
60
+ | 结构读入 | MOL2、PDB/ENT、PQR、GRO、XYZ、CIF/mmCIF、结构 JSON |
61
+ | 连接性 | 显式键优先;无键结构按共价半径与价键上限自动建键 |
62
+ | 拓扑 | 键、角、二面角、improper、1-4 pair,支持周期镜像 |
63
+ | 原子类型 | GAFF 规则引擎;`gaff+uff` 自动回退;支持纯 UFF 与手动映射 |
64
+ | 电荷 | 输入、MMFF94、AM1-BCC、RESP/RESP2、MK、CM5/raw-CM5、ADCH |
65
+ | 量化 | 内置 pySCF:单点、PCM、Hessian、ESP,无外部量化程序依赖 |
66
+ | 参数化 | 经典参数 + Hessian 投影;手动参数 JSON |
67
+ | LAMMPS 输出 | `real` 单位、`atom_style full`、`.data` + `.in`,可选 moltemplate |
68
+ | GROMACS 输出 | `.itp`、`.top`、`.gro`、`.mdp` |
69
+ | 周期体系 | 镜像感知键合项;晶体必须显式提供电荷 |
70
+ | 诊断 | 重要警告直接显示;完整披露写入 `<name>.lft/` |
71
+
72
+ ---
73
+
74
+ ## 安装
75
+
76
+ 要求 **Python 3.11+**。
77
+
78
+ ```bash
79
+ python -m pip install --upgrade pip
80
+ python -m pip install lammps-forcefield-tools
81
+ ```
82
+
83
+ 检查安装:
84
+
85
+ ```bash
86
+ lft --version
87
+ lft --help
88
+ ```
89
+
90
+ 从源码安装:
91
+
92
+ ```bash
93
+ git clone https://github.com/tgraphite/LammpsForcefieldTools.git
94
+ cd LammpsForcefieldTools
95
+ python -m pip install .
96
+ ```
97
+
98
+ 开发/测试安装:
99
+
100
+ ```bash
101
+ python -m pip install -e ".[test]"
102
+ python -m pytest -q
103
+ ```
104
+
105
+ 安装包会自动拉取:`numpy`、`scipy`、`pyscf`、`dftd3`、`cclib`、`openbabel-wheel`、`PyYAML`。
106
+
107
+ ---
108
+
109
+ ## 快速开始
110
+
111
+ 仓库自带一个带电荷的水分子示例:
112
+
113
+ ```bash
114
+ cd examples
115
+ lft -f water.mol2
116
+ ```
117
+
118
+ 输出:
119
+
120
+ ```text
121
+ water.data
122
+ water.in
123
+ ```
124
+
125
+ 运行 LAMMPS:
126
+
127
+ ```bash
128
+ lmp -in water.in
129
+ ```
130
+
131
+ 生成 GROMACS 输入:
132
+
133
+ ```bash
134
+ lft -f water.mol2 --output gromacs
135
+ # water.itp water.top water.gro water.mdp
136
+ ```
137
+
138
+ 生成后立即做引擎输入烟测:
139
+
140
+ ```bash
141
+ lft -f water.mol2 --engine-smoke
142
+ ```
143
+
144
+ ---
145
+
146
+ ## 模块
147
+
148
+ 程序按处理阶段组织,命令行会把各阶段自动串联:
149
+
150
+ | 阶段 | Python 包 | 职责 |
151
+ |---|---|---|
152
+ | 结构 | `lft.io` | 读取常见分子/晶体格式,输出统一结构模型 |
153
+ | 领域模型 | `lft.domain` | 原子、晶胞、拓扑项、参数、单位 |
154
+ | 拓扑 | `lft.topology` | 建键、键合项枚举、周期镜像处理 |
155
+ | 力场 | `lft.forcefields` | GAFF/UFF/manual 原子类型与非键参数 |
156
+ | 电荷 | `lft.charges` | AM1-BCC、RESP、密度电荷、电荷文件 |
157
+ | 量化 | `lft.qc` | pySCF 单点、PCM、Hessian、ESP |
158
+ | 参数化 | `lft.parameterize` | 经典参数与 Hessian 投影 |
159
+ | 后端 | `lft.backends` | LAMMPS 与 GROMACS 文件生成 |
160
+ | 外部程序 | `lft.runners` | gmx、lmp、moltemplate、Packmol 受控调用 |
161
+ | 校验 | `lft.validation` | 结构、电荷、能量与 ground truth 校验 |
162
+
163
+ ---
164
+
165
+ ## 通用参数
166
+
167
+ | 参数 | 默认值 | 说明 |
168
+ |---|---|---|
169
+ | `-f`, `--structure` | 必填 | 输入结构文件 |
170
+ | `-o`, `--output` | `lammps` | `lammps` 或 `gromacs` |
171
+ | `--ff` | `gaff+uff` | `gaff`、`gaff+uff`、`uff`、`manual` |
172
+ | `--charge` | 自动 | 电荷方法名或电荷文件路径 |
173
+ | `--net-charge` | `0` | 分子形式电荷 |
174
+ | `--mult`, `--multiplicity` | `1` | 自旋多重度 |
175
+ | `--outdir` | 当前目录 | 产物目录 |
176
+ | `--force` | 关闭 | 覆盖同名产物 |
177
+ | `--debug` | 关闭 | 写出 `<name>.lft/debug.txt` 诊断包 |
178
+ | `-V`, `--version` | — | 显示版本 |
179
+ | `-h`, `--help` | — | 显示帮助 |
180
+
181
+ ### 电荷自动选择
182
+
183
+ 未指定 `--charge` 时:
184
+
185
+ 1. 结构自带电荷 → 直接使用;
186
+ 2. 非周期且 ≤100 原子 → `resp`;
187
+ 3. 非周期且 >100 原子 → `am1-bcc`;
188
+ 4. 周期结构 → 必须显式提供电荷,否则报错。
189
+
190
+ `--charge` 也可以直接给文件路径:
191
+
192
+ ```bash
193
+ lft -f molecule.xyz --charge charges.txt
194
+ lft -f crystal.pdb --charge charges.txt --ff uff
195
+ ```
196
+
197
+ ### 高级参数
198
+
199
+ 以下参数默认值通常正确,完整说明见[使用手册](docs/MANUAL.md):
200
+
201
+ `--parameter-mode`、`--qc`、`--qc-backend`、`--hessian-file`、`--hessian-method`、`--manual-file`、`--no-qc`、`--engine-smoke`、`--moltemplate`。
202
+
203
+ ---
204
+
205
+ ## 输入与输出
206
+
207
+ ### 输入格式
208
+
209
+ | 后缀 | 连接性 | 周期性 |
210
+ |---|---|---|
211
+ | `.mol2` | `@<TRIPOS>BOND`(推荐) | `@<TRIPOS>CRYSIN` |
212
+ | `.pdb`、`.ent`、`.pqr` | `CONECT` 或距离推断 | `CRYST1` |
213
+ | `.gro` | 距离推断 | box 行 |
214
+ | `.xyz` | 距离推断 | 注释行晶格(可选) |
215
+ | `.cif`、`.mmcif` | 距离推断 | 晶胞参数 |
216
+ | `.json` | 文件内 `bonds` | 文件内 `cell` |
217
+
218
+ ### 输出文件
219
+
220
+ LAMMPS(默认):
221
+
222
+ ```text
223
+ <name>.data 坐标、拓扑、原子类型与系数
224
+ <name>.in units / pair_style / bond_style / 运行设置
225
+ ```
226
+
227
+ GROMACS:
228
+
229
+ ```text
230
+ <name>.itp 原子、键、角、二面角、1-4 pair
231
+ <name>.top 力场默认项与系统定义
232
+ <name>.gro 坐标
233
+ <name>.mdp 最小运行参数
234
+ ```
235
+
236
+ 按需出现:
237
+
238
+ ```text
239
+ <name>.lft/notes.txt 警告与参数来源披露
240
+ <name>.lft/image_map.json 周期图镜像映射
241
+ <name>.lft/debug.txt --debug 诊断
242
+ <name>.lft/normalized_ir.json --debug 规范化结构
243
+ ```
244
+
245
+ ---
246
+
247
+ ## 配置
248
+
249
+ 可选全局配置文件 `lft.config`,格式为 `key = value`:
250
+
251
+ ```ini
252
+ output = lammps
253
+ ff = gaff+uff
254
+ charge = resp
255
+ qc = b3lyp-d3bj/def2-svp
256
+ gmx = /usr/local/gromacs/bin/gmx
257
+ lmp = /opt/lammps/bin/lmp
258
+ ```
259
+
260
+ 查找顺序:`$LFT_CONFIG` → 安装根目录 → Python 包目录。优先级:**命令行 > 配置文件 > 内置默认**。
261
+
262
+ 常用环境变量:
263
+
264
+ | 变量 | 作用 |
265
+ |---|---|
266
+ | `LFT_CONFIG` | 配置文件路径 |
267
+ | `LFT_GMX` | GROMACS 可执行文件 |
268
+ | `LFT_LMP` | LAMMPS 可执行文件 |
269
+ | `LFT_OBABEL` | OpenBabel 可执行文件 |
270
+ | `LFT_AM1BCC_OPTIMIZE` | AM1-BCC 几何优化:`yes`/`no`/`auto` |
271
+ | `LFT_ATOMTYPE_EXTERNAL` | 用外部 `atomtype` 做对照 |
272
+
273
+ ---
274
+
275
+ ## 文档
276
+
277
+ | 文档 | 内容 |
278
+ |---|---|
279
+ | [使用手册](docs/MANUAL.md) | 安装、完整 CLI、电荷、周期、产物、排错 |
280
+ | [模块现状](docs/PROJECT_STATUS.md) | 模块成熟度、能力矩阵、验证结果与已知边界 |
281
+ | [更新日志](docs/CHANGELOG.md) | 版本变更 |
282
+
283
+ ---
284
+
285
+ ## 已知限制
286
+
287
+ - 经典键合参数库尚不完整;未命中项使用确定性通用值,并在 `notes.txt` 中标注。
288
+ - UFF/共轭二面角当前使用占位参数,定量工作前应核对或用 `--manual-file` 覆盖。
289
+ - AM1-BCC 默认不做几何优化,电荷依赖输入构象。
290
+ - 周期体系只接受显式电荷,不做 ESP/密度电荷拟合。
291
+ - LAMMPS 输出固定 10 Å 直接截断,未启用 PPPM/PME。
292
+ - 不提供构象搜索、体系组装、MD 采样或力场重优化。
293
+
294
+ ---
295
+
296
+ ## 许可证
297
+
298
+ GNU General Public License v2.0,见 [LICENSE](LICENSE)。
@@ -0,0 +1,97 @@
1
+ lammps_forcefield_tools-0.1.0.dist-info/licenses/LICENSE,sha256=gXf5dRMhNSbfLPYYTY_5hsZ1r7UU1OaKQEAQUhuIBkM,18092
2
+ lft/__init__.py,sha256=hevAchZVCkBoP7soPJl7QquyQ46mDOe422pdgCCMG70,257
3
+ lft/__main__.py,sha256=dvqRbpPgrhpsG7UdzAvPKJwBTp92CkcWX4qEQBzPQdc,49
4
+ lft/audit.py,sha256=Bp2_9-q1l5gOAr9wESiNZ8dEQr7gs_EBecLlfsTVKLs,2352
5
+ lft/bonds.py,sha256=3XMZpnksfMNV762BQe7HXTbmwV4f_ezUVXN4pkzX1Jk,325
6
+ lft/cli.py,sha256=qTv64SYB6t53tidAILz4HLvYgyTkKIKh6BrUrp8mpow,6616
7
+ lft/config.py,sha256=Ml3K7I3LfDM8B7X4dR1UesQPrSU6HCD1mhQ_vzQVi2k,3882
8
+ lft/errors.py,sha256=T85NFrHrU9CwEigQLmTm4AK39igf-SnDNjyQ45BS9E0,909
9
+ lft/hessian.py,sha256=O1JsTJ3gkYQFMGuMiai8n_N9dTaHCz9DTLEo7S4K-cs,214
10
+ lft/lft.config,sha256=Ut12NlLLGVOXrLSAhrp9pA0lprnmJRIZjeJ4a65Mrdc,1171
11
+ lft/model.py,sha256=WbjxwqmPkg0YVdnxTof_t9fEh1skdfUy2OLg1hgFuUI,232
12
+ lft/parameters.py,sha256=AilvwfizsEpcSyIm0eJXNOTd9acFbQiOWC-3FbRy7PQ,119
13
+ lft/pipeline.py,sha256=fsWud8k5POJqeVkhtvY8NKpIf39OVRmZZt0sPYZKQMw,17600
14
+ lft/report.py,sha256=c12lQgd916nHywb3H0Pob9_tjSlfj1ESpyFU-_xsiuY,1257
15
+ lft/settings.py,sha256=UR_4jiIHGDxnbrte0ICrPJ0Uz4VUW1MZxVeunzw5vvs,2465
16
+ lft/units.py,sha256=vKYIsrwbffxWZu0ld7S3LNG-X0lY9Dwq-27YatSotAY,107
17
+ lft/backends/__init__.py,sha256=fKAyCtHHe9FF1RNmVIa_pfkhHiPWt-1NTbeV0niVa1c,142
18
+ lft/backends/function_map.py,sha256=VmcWOHVpXYT3uLM6aowff22j8iEpzEmmmg-UCg3IlC0,1669
19
+ lft/backends/gromacs.py,sha256=E5gA-newr2V-rYrk-zYe0ZCyGmUPk5A__3rZfGa7uJQ,10404
20
+ lft/backends/moltemplate.py,sha256=Eixc66KqA24vZb0uzQqMot8m7qbqmqGHmTe4OG9VCCw,16931
21
+ lft/charges/__init__.py,sha256=QoQjGGI1NdJkKNayAToRlWZTgXnIX5AUho2T-ZWJMaw,272
22
+ lft/charges/_atomic_density.py,sha256=xN8N10rkcSXG0XwtiCdZCjxfIIDbCvAtlVjjVD2TBZo,3204
23
+ lft/charges/_cm5_data.py,sha256=dqI_as1iGsAWnrp7mIhjvXtJ4rxXEXhugDuyHLmghfk,4761
24
+ lft/charges/_grid.py,sha256=XSSuWZixFsiMDgyvVWrHe7iKnHSXKQwW7PzaFC_1728,2573
25
+ lft/charges/acpype.py,sha256=Mj0Wgm91zn_7kK2QxVvPEqBDHAXcAKc8MnCdozAQk0k,5588
26
+ lft/charges/density_charges.py,sha256=5GXoQZj0_WnSS5Q0QSQb4CQ9tCxGS6cejMHEhAcvm5I,6913
27
+ lft/charges/dispatcher.py,sha256=Gv7Zx4OHEpKMNQ3dAcrKxZG_o_PzJt_UiivdVv6U3b0,9431
28
+ lft/charges/empirical.py,sha256=H20E7LBuSoAx8A0GNnO4-G_J2HcTyglLEOtjat34SW4,7713
29
+ lft/charges/esp.py,sha256=Iwdz68vmb8E9LO-RL0q48vdl0gTqqM_nG1JP-j8w9jQ,7710
30
+ lft/charges/input.py,sha256=MRRehJeMriJvsrKM1n2O-UqdrF814mAkTkPDgR2One0,2676
31
+ lft/charges/resp.py,sha256=HiNMzfXpvR4AdYTDON0Rg1afXMpiglvVtFVyQWs0GKM,11228
32
+ lft/charges/data/APS.DAT,sha256=zQ-5qXFNr2HMrLCcPRKrsdFzcScIFkFFiMEeB7rCTeE,3440
33
+ lft/charges/data/ATOMTYPE_BCC.DEF,sha256=3Vw8RFMfmvyw1ppe_vh2eF5uPFpw41AiHZQ42JTVwMw,8658
34
+ lft/charges/data/BCCPARM.DAT,sha256=BfA0kB0FitkzEyW27j-volx1sc5PUoOf6FAy65KUEnY,12176
35
+ lft/charges/data/BCCPARM_ABCG2.DAT,sha256=dBLvLGKDqpahKrRKiBoudVu9qkMYpVvsXOvHiV_oqU8,15057
36
+ lft/charges/data/ESPPARM.DAT,sha256=yod_2ZP-L6vn_vS0gvZn5Ro9bNPIwWdqIvLLmTGu8rA,8538
37
+ lft/charges/data/GASPARM.DAT,sha256=BE4IFOtuLL8uYXf0lMeVv_zJkJJNB0n_9x2IdOqnGh0,1856
38
+ lft/charges/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
+ lft/charges/data/multiwfn_atmraddens.npz,sha256=8UTQ3rgVgTzCB3wQX6Dm107Ew6VXkoQFVJitMFr83nA,131226
40
+ lft/charges/semiempirical/__init__.py,sha256=rEJcNkqLPWt9kfrpIa8fHn1_UvSfMnFwNhPT4tI6xOY,338
41
+ lft/charges/semiempirical/am1.py,sha256=F1aXAxmqJJkq7S5u147LrIZhO-yDMh14Ff6zKRrIS-E,78261
42
+ lft/charges/semiempirical/bcc.py,sha256=GBmKNThQULTgNfXdHNkXVByIBVfdFTjSHL3PRrCLcR0,8130
43
+ lft/charges/semiempirical/bondtype.py,sha256=yJO-ckDQ8mxz4cSRuOOWc8P_HA1FKDNA94vnVKRxrNI,39702
44
+ lft/domain/__init__.py,sha256=clEM-5v8NYKtIp9FiQxDWlfiM81UiGIMzAdU8NloW_0,548
45
+ lft/domain/image.py,sha256=rjmCZyPVvYfFVegfwGVuxhfeJbjt8TCkw0UGXhrTnuA,990
46
+ lft/domain/parameters.py,sha256=Jlm2oqIndxKz9n3dHCAo2Ew7wdrZUYEbREHIcpo7T2s,3498
47
+ lft/domain/structure.py,sha256=Sw8nUqfov9jfHGHjE0fZj2Pjjms9Shmd0K8lt_t1kdE,11016
48
+ lft/domain/topology.py,sha256=fQNsrviE86FGLeXQc0pNaZhTwPoKI0F3-3_7v62F6uA,3084
49
+ lft/domain/units.py,sha256=I2F3Or88X32dEvQulNkHiTcleEPyEXu__kT-GhaK428,1665
50
+ lft/forcefields/__init__.py,sha256=mWK-P2-DYMdbl05iIu8l7zApOy7mvKFXyfW_ZZCSYQk,358
51
+ lft/forcefields/atomtype.py,sha256=IRJXAF-NVl4EaDRpZZxYYoULkxuucYd4kMOMqjWd7SA,6307
52
+ lft/forcefields/gaff.py,sha256=6_8vBWBtSyWYwra_rfWGgupgdXK2o8XbiM6CJeuqa88,116
53
+ lft/forcefields/gaff_typer.py,sha256=UYwZ0OLKOA4CTbQc-esBYmi_t1oSaSh9HKJjfPXiHZs,48028
54
+ lft/forcefields/manual.py,sha256=zzARV7F9rkQpvF6WNeRgQHqzgFQKZ0BcpWm-kXue8_w,857
55
+ lft/forcefields/matching.py,sha256=DUWiY8hZMe2jLy0RUDON_7_0ZG0Fknv9ypax5Iaa6ho,6885
56
+ lft/forcefields/reference.py,sha256=wgG1rifpzgz5tKcdnZ7vOTIU4lJ141p1Nsfq5e93aK4,10602
57
+ lft/forcefields/tables.py,sha256=C3VszDcgctFLi5up48Ji7EHMFE3nRl5ER7LL5OVBjxg,4416
58
+ lft/forcefields/uff.py,sha256=fG2i25BXsteZqPavtS_283z3anFABQbpk4Y33va-Ct0,115
59
+ lft/forcefields/data/ATOMTYPE_AMBER.DEF,sha256=8HiI4JOU6V9pQKSlTVuHTm6tAZuwBFrfDG-aFahfpv4,7057
60
+ lft/forcefields/data/ATOMTYPE_GAS.DEF,sha256=HwT3VsIRPuLtLp0O9_aW3au_T1z_EGQ5q5YHPKyQpfg,5798
61
+ lft/forcefields/data/ATOMTYPE_GFF.DEF,sha256=M2MbBB8_X4hDTirjlXNOqhCU-j2gurut94xrMmYTLoA,16851
62
+ lft/forcefields/data/ATOMTYPE_GFF2.DEF,sha256=egdqwuZnq4cFe-_HpZhb5M6tg-Af9dLT2rnx1lv_Y34,17916
63
+ lft/forcefields/data/CORR_NAME_TYPE.DAT,sha256=9xOMjV2aEKsCxXe-dllyASEkZdo3Edv8NIYffV2B-Wg,1445
64
+ lft/io/__init__.py,sha256=uiXQdMXCTV1hsrPA5s1pcGDEvGR7gA-hJX_YT66sl_Q,168
65
+ lft/io/loaders.py,sha256=F5OBlfF0q2_m-9eob5-UEv5VmIft_CWDXe3Js_X0R9Y,20612
66
+ lft/io/qc_loaders.py,sha256=b8bFHilsJoE96WKE1Dl1g5gGKLsIr0iUkWsoNoyhpz4,119
67
+ lft/io/serializers.py,sha256=B8u3cNEucQSiUWUd0w0yiQN4a3Fk4bkFf0QqfXf6tZo,467
68
+ lft/io/writers.py,sha256=iqYeLVuN0WGUpLfOqHdSe1GFU7DnNsb3MLbMpz0g4Mo,216
69
+ lft/parameterize/__init__.py,sha256=BNB-Rl2Z_GbHkLKE4p4MTy-SgFUxByWEmHscPAMD8I4,127
70
+ lft/parameterize/classic.py,sha256=MA1-514TAB1X-3eCOAwLlc1oP0usBdOWFMcMPPCyj_M,8750
71
+ lft/parameterize/hessian.py,sha256=KdvRsy9ntrmkbvjP9MLnIsjiQcoMd4c6MTtsMVT2U1M,1848
72
+ lft/qc/__init__.py,sha256=f5hNtaQde-r9h0w0nc2xUAMC8medp443XXaDa2JC0Qc,190
73
+ lft/qc/backend.py,sha256=AJ2WgKuQWHjFnOYahrb6g2ZXT0ZJBb_VqTMZDkNlXVM,1352
74
+ lft/qc/hessian.py,sha256=EfDsNLrtHJsW0933Z3Yc_jOpsPAwjpRgSi52BfEOk2M,2318
75
+ lft/qc/pyscf_backend.py,sha256=UFPCEf4fuJezG3ViImkZ4YnJb1fAnpbPdbms24rUgqA,3725
76
+ lft/qc/wavefunction.py,sha256=DfgcdCwRAfeqkHZFOLi4u8j92YxgJEfgNV_f7uJzrgk,2217
77
+ lft/runners/__init__.py,sha256=88E6K99REWcBE5d5os9Ih7ClolvMYD5gCR4tx7JI5JA,137
78
+ lft/runners/external.py,sha256=2HzUnGYgHScKwQsTWRuPH4_ccrxR3Q-bi0C_ToNY1ng,2286
79
+ lft/runners/gmx.py,sha256=9DAIO8s15Eh6k-7krDwSCGoDe8b1yCb8wYVThXrtml4,691
80
+ lft/runners/lammps.py,sha256=xgkGYvhGFOP9D2eGpIe67D06WGxDiin0_3Zm4zvqZek,978
81
+ lft/runners/moltemplate.py,sha256=bbeF-Hu04Ker3PawhO2HbQGNo8adduO0N2gaJlz19mg,614
82
+ lft/runners/packmol.py,sha256=8ujdKNs-Siqv4pvzqM26qQoZVMeTVEUEwB61j85U78Q,523
83
+ lft/topology/__init__.py,sha256=_JmTmVHaQJb4uMFwxnCz4AHmoFNbtoqyIGDQaCLzcks,360
84
+ lft/topology/enumerate_terms.py,sha256=eDd8HQHCBQo-rMFC4DrV81WJy8QF0ksLJz0YG3enidc,8437
85
+ lft/topology/infer_bonds.py,sha256=YZHqVlD3fWHOsF_bDTh_DZMU9Fp7LXJafFw_S6hJhhI,4467
86
+ lft/topology/pbc.py,sha256=YJtKXJIBArsq4UsZU162oHuJgt89qCKJswNE5CJ9xQU,3034
87
+ lft/validation/__init__.py,sha256=a5kXiUyNOipkSNFRIzsdca3CtNqVGUq642UKF5u-hkQ,178
88
+ lft/validation/differential.py,sha256=A23j-JP89-t2OrWUy0ApKXW280BLMN8eEEnRqNEVapM,585
89
+ lft/validation/gaff_oracle.py,sha256=DZnGglyU1seC6djPO4hjVZvn-_KA9DyZyf-TOrKdvDw,3888
90
+ lft/validation/ground_truth.py,sha256=HPpScWHlpG-9b2QlzHaTCCry-KdNYdUZAGKbVvK-xrM,2732
91
+ lft/validation/normalized.py,sha256=nbIvmzB5Adoi_DGRJbA5ltmN7bW_j0RnjwqM7QYvmvU,1939
92
+ lft/validation/physical.py,sha256=R7McYsFBCLMBxoQPGdXtj9uMrFU4O-jBGmIQslLg69A,617
93
+ lammps_forcefield_tools-0.1.0.dist-info/METADATA,sha256=fbJkvQhtXyRmO703TMvuSfkHvlIyi2zY238jf4_f2Ac,9121
94
+ lammps_forcefield_tools-0.1.0.dist-info/WHEEL,sha256=mOdXR9C3wMVov7cSY8PY-XCzo3SmmWCHvGQr5csJoao,91
95
+ lammps_forcefield_tools-0.1.0.dist-info/entry_points.txt,sha256=Bx29NCCkPqFaXbKQ6YIdZQIVBYjSTEo74e92eIiePTE,37
96
+ lammps_forcefield_tools-0.1.0.dist-info/top_level.txt,sha256=ATNdxRjJG5u-ddLTbUchI9kX0mgn8dRn3sZDCr48-18,4
97
+ lammps_forcefield_tools-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (84.2.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ lft = lft.cli:main