mdinterface 1.5.1__tar.gz → 1.5.2__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 (94) hide show
  1. {mdinterface-1.5.1/mdinterface.egg-info → mdinterface-1.5.2}/PKG-INFO +1 -1
  2. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/__init__.py +2 -2
  3. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/externals/ligpargen.py +5 -2
  4. {mdinterface-1.5.1 → mdinterface-1.5.2/mdinterface.egg-info}/PKG-INFO +1 -1
  5. {mdinterface-1.5.1 → mdinterface-1.5.2}/LICENSE +0 -0
  6. {mdinterface-1.5.1 → mdinterface-1.5.2}/MANIFEST.in +0 -0
  7. {mdinterface-1.5.1 → mdinterface-1.5.2}/README.md +0 -0
  8. {mdinterface-1.5.1 → mdinterface-1.5.2}/assets/mdinterface.png +0 -0
  9. {mdinterface-1.5.1 → mdinterface-1.5.2}/docs/api/database.md +0 -0
  10. {mdinterface-1.5.1 → mdinterface-1.5.2}/docs/api/externals.md +0 -0
  11. {mdinterface-1.5.1 → mdinterface-1.5.2}/docs/api/io.md +0 -0
  12. {mdinterface-1.5.1 → mdinterface-1.5.2}/docs/api/polymer.md +0 -0
  13. {mdinterface-1.5.1 → mdinterface-1.5.2}/docs/api/simcell.md +0 -0
  14. {mdinterface-1.5.1 → mdinterface-1.5.2}/docs/api/specie.md +0 -0
  15. {mdinterface-1.5.1 → mdinterface-1.5.2}/docs/assets/mdinterface.png +0 -0
  16. {mdinterface-1.5.1 → mdinterface-1.5.2}/docs/guide/database.md +0 -0
  17. {mdinterface-1.5.1 → mdinterface-1.5.2}/docs/guide/logging.md +0 -0
  18. {mdinterface-1.5.1 → mdinterface-1.5.2}/docs/guide/polymer.md +0 -0
  19. {mdinterface-1.5.1 → mdinterface-1.5.2}/docs/guide/simcell.md +0 -0
  20. {mdinterface-1.5.1 → mdinterface-1.5.2}/docs/guide/specie.md +0 -0
  21. {mdinterface-1.5.1 → mdinterface-1.5.2}/docs/index.md +0 -0
  22. {mdinterface-1.5.1 → mdinterface-1.5.2}/docs/installation.md +0 -0
  23. {mdinterface-1.5.1 → mdinterface-1.5.2}/docs/quickstart.md +0 -0
  24. {mdinterface-1.5.1 → mdinterface-1.5.2}/docs/requirements.txt +0 -0
  25. {mdinterface-1.5.1 → mdinterface-1.5.2}/examples/electrode_interface.py +0 -0
  26. {mdinterface-1.5.1 → mdinterface-1.5.2}/examples/legacy/make_POSCAR.py +0 -0
  27. {mdinterface-1.5.1 → mdinterface-1.5.2}/examples/legacy/make_box.py +0 -0
  28. {mdinterface-1.5.1 → mdinterface-1.5.2}/examples/legacy/make_polymer.py +0 -0
  29. {mdinterface-1.5.1 → mdinterface-1.5.2}/examples/legacy/make_solvent_box.py +0 -0
  30. {mdinterface-1.5.1 → mdinterface-1.5.2}/examples/legacy/make_specie_ligpargen_resp.py +0 -0
  31. {mdinterface-1.5.1 → mdinterface-1.5.2}/examples/multilayer.py +0 -0
  32. {mdinterface-1.5.1 → mdinterface-1.5.2}/examples/multisolvent_box.py +0 -0
  33. {mdinterface-1.5.1 → mdinterface-1.5.2}/examples/polymer/polymer_piperion.py +0 -0
  34. {mdinterface-1.5.1 → mdinterface-1.5.2}/examples/sandwich_from_traj.py +0 -0
  35. {mdinterface-1.5.1 → mdinterface-1.5.2}/examples/solvent_box.py +0 -0
  36. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/build/__init__.py +0 -0
  37. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/build/box.py +0 -0
  38. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/build/builder.py +0 -0
  39. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/build/continuum2sim.py +0 -0
  40. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/build/polymerize.py +0 -0
  41. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/build/snippets.py +0 -0
  42. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/build/solvent.py +0 -0
  43. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/config.py +0 -0
  44. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/core/__init__.py +0 -0
  45. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/core/polymer.py +0 -0
  46. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/core/specie.py +0 -0
  47. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/core/topology.py +0 -0
  48. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/database/__init__.py +0 -0
  49. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/database/graphene.py +0 -0
  50. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/database/ions.py +0 -0
  51. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/database/metals.py +0 -0
  52. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/database/molecules.py +0 -0
  53. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/database/nobles.py +0 -0
  54. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/externals/__init__.py +0 -0
  55. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/externals/aimd.py +0 -0
  56. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/externals/ase.py +0 -0
  57. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/externals/obabel.py +0 -0
  58. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/externals/optimization.py +0 -0
  59. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/externals/pyscf.py +0 -0
  60. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/io/__init__.py +0 -0
  61. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/io/gromacswriter.py +0 -0
  62. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/io/lammpswriter.py +0 -0
  63. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/io/packmol.py +0 -0
  64. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/io/read.py +0 -0
  65. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/read/cp2ktraj.py +0 -0
  66. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/read/lammpstraj.py +0 -0
  67. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/read/read.py +0 -0
  68. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/read/trajectory.py +0 -0
  69. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/read/xyztraj.py +0 -0
  70. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/simulationbox.py +0 -0
  71. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/utils/__init__.py +0 -0
  72. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/utils/auxiliary.py +0 -0
  73. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/utils/draw.py +0 -0
  74. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/utils/graphs.py +0 -0
  75. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/utils/logger.py +0 -0
  76. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/utils/map.py +0 -0
  77. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/utils/poisson.py +0 -0
  78. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/utils/rings.py +0 -0
  79. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface/utils/units.py +0 -0
  80. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface.egg-info/SOURCES.txt +0 -0
  81. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface.egg-info/dependency_links.txt +0 -0
  82. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface.egg-info/requires.txt +0 -0
  83. {mdinterface-1.5.1 → mdinterface-1.5.2}/mdinterface.egg-info/top_level.txt +0 -0
  84. {mdinterface-1.5.1 → mdinterface-1.5.2}/pyproject.toml +0 -0
  85. {mdinterface-1.5.1 → mdinterface-1.5.2}/requirements.txt +0 -0
  86. {mdinterface-1.5.1 → mdinterface-1.5.2}/setup.cfg +0 -0
  87. {mdinterface-1.5.1 → mdinterface-1.5.2}/setup.py +0 -0
  88. {mdinterface-1.5.1 → mdinterface-1.5.2}/tests/__init__.py +0 -0
  89. {mdinterface-1.5.1 → mdinterface-1.5.2}/tests/test_auxiliary.py +0 -0
  90. {mdinterface-1.5.1 → mdinterface-1.5.2}/tests/test_builder.py +0 -0
  91. {mdinterface-1.5.1 → mdinterface-1.5.2}/tests/test_database.py +0 -0
  92. {mdinterface-1.5.1 → mdinterface-1.5.2}/tests/test_solvent.py +0 -0
  93. {mdinterface-1.5.1 → mdinterface-1.5.2}/tests/test_specie.py +0 -0
  94. {mdinterface-1.5.1 → mdinterface-1.5.2}/tests/test_topology.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mdinterface
3
- Version: 1.5.1
3
+ Version: 1.5.2
4
4
  Summary: Build Interface Systems for Molecular Dynamics Simulations
5
5
  Author-email: Fabrice Roncoroni <fabrice.roncoroni@gmail.com>
6
6
  License-Expression: Apache-2.0
@@ -6,8 +6,8 @@ Initially developed to construct electrolyte/electrode interfaces, it is also we
6
6
 
7
7
  """
8
8
 
9
- __version__ = '1.5.1'
10
- __date__ = '31 Mar. 2026'
9
+ __version__ = '1.5.2'
10
+ __date__ = '28 Apr. 2026'
11
11
  __author__ = 'Fabrice Roncoroni'
12
12
  __all__ = ['SimulationBox', 'SimCell', 'BoxBuilder', "Specie", "Polymer"]
13
13
 
@@ -379,8 +379,10 @@ def refine_large_specie_topology(specie, Nmax=12, ending="H", offset=True,
379
379
  sn_sys, sn_atypes, sn_bonds, sn_angles, sn_dihs, sn_imps = \
380
380
  run_ligpargen(capped, charge=sn_charge, is_snippet=True)
381
381
 
382
- # Remap: real atoms -> original sids; caps -> placeholders
383
- real_sids = list(specie._sids[seg_indices])
382
+ # Remap: real atoms -> globally unique labels (original atom index
383
+ # avoids collisions across segments); caps -> placeholders
384
+ real_sids = [f"{sn_atypes[pos].symbol}_{seg_indices[pos]:03d}"
385
+ for pos in range(n_real)]
384
386
  cap_sids = [f"__cap_{seg_idx}_{c}__"
385
387
  for c in range(len(sn_atypes) - n_real)]
386
388
  original_idxs = np.array(real_sids + cap_sids)
@@ -399,6 +401,7 @@ def refine_large_specie_topology(specie, Nmax=12, ending="H", offset=True,
399
401
  for pos, orig_idx in enumerate(seg_indices):
400
402
  charges[orig_idx] = seg_charges[pos]
401
403
  atom_types_ordered[orig_idx] = sn_atypes[pos]
404
+ atom_types_ordered[orig_idx].set_label(real_sids[pos])
402
405
 
403
406
  # ------------------------------------------------------------------
404
407
  # 3. Rebuild topology from assembled segment results
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mdinterface
3
- Version: 1.5.1
3
+ Version: 1.5.2
4
4
  Summary: Build Interface Systems for Molecular Dynamics Simulations
5
5
  Author-email: Fabrice Roncoroni <fabrice.roncoroni@gmail.com>
6
6
  License-Expression: Apache-2.0
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes