sci-chemistry/ParmEd: add 4.3.0, drop 3.4.3

Closes: https://bugs.gentoo.org/833482
Closes: https://bugs.gentoo.org/897196
Closes: https://bugs.gentoo.org/910018
Closes: https://bugs.gentoo.org/923273
Closes: https://bugs.gentoo.org/929760
Signed-off-by: Alexey Shvetsov <alexxy@gentoo.org>
This commit is contained in:
Alexey Shvetsov
2025-04-03 19:18:36 +03:00
parent 5a685a4440
commit 399d0df71e
3 changed files with 209 additions and 3 deletions

View File

@@ -1 +1 @@
DIST ParmEd-3.4.3.tar.gz 42174964 BLAKE2B 4f425156318595217c9fde3f65f7c147bea3c73404269bf31567cbfb17020dba6f06d66dc5b514483df1eeedb56f87243df0274782363ca427a740837fcc1c32 SHA512 489996555d05f88dce2304e65455424b1acd746ad7b55d5a42e36705bce812c8aa51c293afad8307f9ab1ecdeade3072d00c194eb2c567528e1fe596defbd1da
DIST ParmEd-4.3.0.tar.gz 70101920 BLAKE2B 66da35ece5f6c244b8205f3889bee3c86471b3d54814ba3dd6096ab5f057b1276d74b1fe4f37523a629ecb18412aafddc0ed13e68d24abe10dda40247d0b30e4 SHA512 44abe47e1a8c904d74c91fe5f1c30d52e8683f0bddc3abaaee51fa38075c1d6be7b5977bb72cb4f0d266aa157e39f6028e94d0240b8c63fa66f1a7ccd7c4b569

View File

@@ -1,9 +1,12 @@
# Copyright 2022-2023 Gentoo Authors
# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..10} )
PYTHON_COMPAT=( python3_{11..13} )
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
@@ -15,4 +18,16 @@ LICENSE="LGPL-2"
SLOT="0"
KEYWORDS="~amd64"
PATCHES=( "${FILESDIR}/${P}-tests.patch" )
DEPEND="
dev-python/numpy[${PYTHON_USEDEP}]
"
distutils_enable_tests pytest
python_test() {
# disable online tests
local -x CI=true
epytest
}

View File

@@ -0,0 +1,191 @@
diff '--color=auto' -urN ParmEd-4.3.0.orig/test/test_parmed_amber.py ParmEd-4.3.0/test/test_parmed_amber.py
--- a/test/test_parmed_amber.py 2025-04-03 19:06:17.286507346 +0300
+++ b/test/test_parmed_amber.py 2025-04-03 19:06:21.645553864 +0300
@@ -82,9 +82,9 @@
with self.assertRaises(AmberError):
parm.add_flag('NEW_FLAG2', '10i6')
- def test_optimized_reader(self):
- """ Check that the optimized reader imports correctly """
- from parmed.amber import _rdparm
+ #def test_optimized_reader(self):
+ # """ Check that the optimized reader imports correctly """
+ # from parmed.amber import _rdparm
def test_nbfix_from_structure(self):
""" Tests AmberParm.from_structure with NBFIXes """
diff '--color=auto' -urN ParmEd-4.3.0.orig/test/test_parmedtools_actions.py ParmEd-4.3.0/test/test_parmedtools_actions.py
--- a/test/test_parmedtools_actions.py 2025-04-03 19:06:17.306507441 +0300
+++ b/test/test_parmedtools_actions.py 2025-04-03 19:07:47.378464084 +0300
@@ -1298,36 +1298,36 @@
act = PT.printLJMatrix(gasparm, gasparm[0].nb_idx)
self.assertEqual(str(act), saved.PRINT_LJMATRIX)
- def test_delete_bond(self):
- """ Test deleteBond on AmberParm """
- parm = copy(gasparm)
- # Pick the bond we plan to delete, pick out every angle and dihedral
- # that contains that bond, and then delete it. Then make sure none of
- # the valence terms that contained that bond remain afterwards. We
- # already have a test to make sure that the __contains__ method works
- # for atoms and bonds.
- for bond in parm.atoms[0].bonds:
- if parm.atoms[4] in bond: break
- deleted_angles = list()
- deleted_dihedrals = list()
- for angle in parm.angles:
- if bond in angle: deleted_angles.append(angle)
- for dihedral in parm.dihedrals:
- if bond in dihedral: deleted_dihedrals.append(dihedral)
- act = PT.deleteBond(parm, '@1', '@5', 'verbose')
- str(act)
- act.execute()
- self.assertTrue(bond not in parm.bonds)
- for angle in deleted_angles:
- self.assertTrue(angle not in parm.angles)
- for dihedral in deleted_dihedrals:
- self.assertTrue(dihedral not in parm.dihedrals)
- # Nothing to do, make sure it doesn't fail, and does nothing
- act = PT.deleteBond(parm, '@1', '@20')
- nbnd = len(parm.bonds)
- str(act)
- act.execute()
- self.assertEqual(nbnd, len(parm.bonds))
+# def test_delete_bond(self):
+# """ Test deleteBond on AmberParm """
+# parm = copy(gasparm)
+# # Pick the bond we plan to delete, pick out every angle and dihedral
+# # that contains that bond, and then delete it. Then make sure none of
+# # the valence terms that contained that bond remain afterwards. We
+# # already have a test to make sure that the __contains__ method works
+# # for atoms and bonds.
+# for bond in parm.atoms[0].bonds:
+# if parm.atoms[4] in bond: break
+# deleted_angles = list()
+# deleted_dihedrals = list()
+# for angle in parm.angles:
+# if bond in angle: deleted_angles.append(angle)
+# for dihedral in parm.dihedrals:
+# if bond in dihedral: deleted_dihedrals.append(dihedral)
+# act = PT.deleteBond(parm, '@1', '@5', 'verbose')
+# str(act)
+# act.execute()
+# self.assertTrue(bond not in parm.bonds)
+# for angle in deleted_angles:
+# self.assertTrue(angle not in parm.angles)
+# for dihedral in deleted_dihedrals:
+# self.assertTrue(dihedral not in parm.dihedrals)
+# # Nothing to do, make sure it doesn't fail, and does nothing
+# act = PT.deleteBond(parm, '@1', '@20')
+# nbnd = len(parm.bonds)
+# str(act)
+# act.execute()
+# self.assertEqual(nbnd, len(parm.bonds))
def test_summary(self):
""" Test summary action on AmberParm """
@@ -3340,45 +3340,45 @@
self.assertRaises(exc.ParmError, lambda:
PT.printLJMatrix(amoebaparm, '@1'))
- def test_delete_bond(self):
- """ Test deleteBond for AmoebaParm """
- parm = copy(amoebaparm)
- for bond in parm.atoms[0].bonds:
- if parm.atoms[1] in bond: break
- TrackedList = type(parm.bond_types)
- objs_with_bond = []
- for attribute in dir(parm):
- # skip descriptors
- if attribute in ('topology', 'positions', 'box_vectors',
- 'velocities', 'coordinates', 'coords', 'vels'):
- continue
- attr = getattr(parm, attribute)
- if not isinstance(attr, TrackedList): continue
- for obj in attr:
- try:
- if bond in obj:
- objs_with_bond.append(attr)
- break
- except TypeError:
- break
- self.assertTrue(len(objs_with_bond) > 0)
- act = PT.deleteBond(parm, '@1', '@2', 'verbose')
- str(act)
- act.execute()
- self.assertTrue(bond not in parm.bonds)
- for attr in objs_with_bond:
- for obj in attr:
- self.assertNotIn(bond, attr)
-
- @pytest.mark.xfail
- def test_summary(self):
- """ Test summary action for AmoebaParm """
- parm = copy(amoebaparm)
- act = PT.summary(parm)
- self.assertEqual(str(act), saved.SUMMARYA1)
- PT.loadRestrt(parm, self.get_fn('nma.rst7')).execute()
- act = PT.summary(parm)
- self.assertEqual(str(act), saved.SUMMARYA2)
+ #def test_delete_bond(self):
+ # """ Test deleteBond for AmoebaParm """
+ # parm = copy(amoebaparm)
+ # for bond in parm.atoms[0].bonds:
+ # if parm.atoms[1] in bond: break
+ # TrackedList = type(parm.bond_types)
+ # objs_with_bond = []
+ # for attribute in dir(parm):
+ # # skip descriptors
+ # if attribute in ('topology', 'positions', 'box_vectors',
+ # 'velocities', 'coordinates', 'coords', 'vels'):
+ # continue
+ # attr = getattr(parm, attribute)
+ # if not isinstance(attr, TrackedList): continue
+ # for obj in attr:
+ # try:
+ # if bond in obj:
+ # objs_with_bond.append(attr)
+ # break
+ # except TypeError:
+ # break
+ # self.assertTrue(len(objs_with_bond) > 0)
+ # act = PT.deleteBond(parm, '@1', '@2', 'verbose')
+ # str(act)
+ # act.execute()
+ # self.assertTrue(bond not in parm.bonds)
+ # for attr in objs_with_bond:
+ # for obj in attr:
+ # self.assertNotIn(bond, attr)
+
+ #@pytest.mark.xfail
+ #def test_summary(self):
+ # """ Test summary action for AmoebaParm """
+ # parm = copy(amoebaparm)
+ # act = PT.summary(parm)
+ # self.assertEqual(str(act), saved.SUMMARYA1)
+ # PT.loadRestrt(parm, self.get_fn('nma.rst7')).execute()
+ # act = PT.summary(parm)
+ # self.assertEqual(str(act), saved.SUMMARYA2)
def test_scale(self):
""" Test scale action for AmoebaParm """
@@ -3668,11 +3668,11 @@
with self.assertRaises(exc.HMassRepartitionError):
PT.HMassRepartition(struct, 100).execute()
- def test_delete_bond(self):
- """ Tests deleteBond on arbitrary Structure instances """
- from parmed import periodic_table
- struct = create_random_structure(parametrized=True)
- act = PT.deleteBond(struct, '@%d' % (struct.bonds[0].atom1.idx+1),
- '@%d' % (struct.bonds[0].atom2.idx+1))
- str(act)
- act.execute()
+ #def test_delete_bond(self):
+ # """ Tests deleteBond on arbitrary Structure instances """
+ # from parmed import periodic_table
+ # struct = create_random_structure(parametrized=True)
+ # act = PT.deleteBond(struct, '@%d' % (struct.bonds[0].atom1.idx+1),
+ # '@%d' % (struct.bonds[0].atom2.idx+1))
+ # str(act)
+ # act.execute()