From d83a405fff8dbe0e0421236f10d11944a2d3eeea Mon Sep 17 00:00:00 2001
From: Duo <50307526+iProzd@users.noreply.github.com>
Date: Thu, 25 May 2023 11:43:03 +0800
Subject: [PATCH 1/4] fix `set_size` in `to_deepmd_npy_mixed` func
---
.idea/.gitignore | 8 ++
.idea/deployment.xml | 15 +++
.idea/dpdata_iprozd.iml | 12 +++
.idea/inspectionProfiles/Project_Default.xml | 27 +++++
.../inspectionProfiles/profiles_settings.xml | 6 ++
.idea/misc.xml | 4 +
.idea/modules.xml | 8 ++
.idea/vcs.xml | 6 ++
dpdata/plugins/deepmd.py | 6 +-
tests/test_deepmd_mixed.py | 101 ++++++++++++++++++
10 files changed, 191 insertions(+), 2 deletions(-)
create mode 100644 .idea/.gitignore
create mode 100644 .idea/deployment.xml
create mode 100644 .idea/dpdata_iprozd.iml
create mode 100644 .idea/inspectionProfiles/Project_Default.xml
create mode 100644 .idea/inspectionProfiles/profiles_settings.xml
create mode 100644 .idea/misc.xml
create mode 100644 .idea/modules.xml
create mode 100644 .idea/vcs.xml
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 000000000..73f69e095
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/.idea/deployment.xml b/.idea/deployment.xml
new file mode 100644
index 000000000..2f68b5935
--- /dev/null
+++ b/.idea/deployment.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/dpdata_iprozd.iml b/.idea/dpdata_iprozd.iml
new file mode 100644
index 000000000..9445686e6
--- /dev/null
+++ b/.idea/dpdata_iprozd.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 000000000..67260150e
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 000000000..105ce2da2
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 000000000..a46a2956a
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 000000000..143f36772
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 000000000..94a25f7f4
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dpdata/plugins/deepmd.py b/dpdata/plugins/deepmd.py
index 51fd4667a..ebe26561b 100644
--- a/dpdata/plugins/deepmd.py
+++ b/dpdata/plugins/deepmd.py
@@ -95,7 +95,7 @@ def from_system_mix(self, file_name, type_map=None, **kwargs):
file_name, type_map=type_map, labels=False
)
- def to_system(self, data, file_name, prec=np.float64, **kwargs):
+ def to_system(self, data, file_name, set_size: int = 2000, prec=np.float64, **kwargs):
"""Dump the system in deepmd mixed type format (numpy binary) to `folder`.
The frames were already split to different systems, so these frames can be dumped to one single subfolders
@@ -107,12 +107,14 @@ def to_system(self, data, file_name, prec=np.float64, **kwargs):
System data
file_name : str
The output folder
+ set_size: int, default=2000
+ set size
prec : {numpy.float32, numpy.float64}
The floating point precision of the compressed data
**kwargs : dict
other parameters
"""
- dpdata.deepmd.mixed.dump(file_name, data, comp_prec=prec)
+ dpdata.deepmd.mixed.dump(file_name, data, set_size=set_size, comp_prec=prec)
def from_labeled_system_mix(self, file_name, type_map=None, **kwargs):
return dpdata.deepmd.mixed.to_system_data(
diff --git a/tests/test_deepmd_mixed.py b/tests/test_deepmd_mixed.py
index 6311410ef..7e522e065 100644
--- a/tests/test_deepmd_mixed.py
+++ b/tests/test_deepmd_mixed.py
@@ -109,6 +109,107 @@ def test_str(self):
)
+class TestMixedMultiSystemsDumpLoadSetSize(
+ unittest.TestCase, CompLabeledSys, MultiSystems, IsNoPBC
+):
+ def setUp(self):
+ self.places = 6
+ self.e_places = 6
+ self.f_places = 6
+ self.v_places = 6
+
+ # C1H4
+ system_1 = dpdata.LabeledSystem(
+ "gaussian/methane.gaussianlog", fmt="gaussian/log"
+ )
+
+ # C1H3
+ system_2 = dpdata.LabeledSystem(
+ "gaussian/methane_sub.gaussianlog", fmt="gaussian/log"
+ )
+
+ tmp_data = system_1.data.copy()
+ tmp_data["atom_numbs"] = [1, 1, 1, 2]
+ tmp_data["atom_names"] = ["C", "H", "A", "B"]
+ tmp_data["atom_types"] = np.array([0, 1, 2, 3, 3])
+ # C1H1A1B2
+ system_1_modified_type_1 = dpdata.LabeledSystem(data=tmp_data)
+
+ tmp_data = system_1.data.copy()
+ tmp_data["atom_numbs"] = [1, 1, 2, 1]
+ tmp_data["atom_names"] = ["C", "H", "A", "B"]
+ tmp_data["atom_types"] = np.array([0, 1, 2, 2, 3])
+ # C1H1A2B1
+ system_1_modified_type_2 = dpdata.LabeledSystem(data=tmp_data)
+
+ tmp_data = system_1.data.copy()
+ tmp_data["atom_numbs"] = [1, 1, 1, 2]
+ tmp_data["atom_names"] = ["C", "H", "A", "D"]
+ tmp_data["atom_types"] = np.array([0, 1, 2, 3, 3])
+ # C1H1A1C2
+ system_1_modified_type_3 = dpdata.LabeledSystem(data=tmp_data)
+
+ self.ms = dpdata.MultiSystems(
+ system_1,
+ system_2,
+ system_1_modified_type_1,
+ system_1_modified_type_2,
+ system_1_modified_type_3,
+ )
+ self.ms.to_deepmd_npy_mixed("tmp.deepmd.mixed", set_size=1)
+ self.place_holder_ms = dpdata.MultiSystems()
+ self.place_holder_ms.from_deepmd_npy("tmp.deepmd.mixed", fmt="deepmd/npy")
+ self.systems = dpdata.MultiSystems()
+ self.systems.from_deepmd_npy_mixed("tmp.deepmd.mixed", fmt="deepmd/npy/mixed")
+ self.system_1 = self.ms["C1H4A0B0D0"]
+ self.system_2 = self.systems["C1H4A0B0D0"]
+ mixed_sets = glob("tmp.deepmd.mixed/*/set.*")
+ self.assertEqual(len(mixed_sets), 5)
+ for i in mixed_sets:
+ self.assertEqual(
+ os.path.exists(os.path.join(i, "real_atom_types.npy")), True
+ )
+
+ self.system_names = [
+ "C1H4A0B0D0",
+ "C1H3A0B0D0",
+ "C1H1A1B2D0",
+ "C1H1A2B1D0",
+ "C1H1A1B0D2",
+ ]
+ self.system_sizes = {
+ "C1H4A0B0D0": 1,
+ "C1H3A0B0D0": 1,
+ "C1H1A1B2D0": 1,
+ "C1H1A2B1D0": 1,
+ "C1H1A1B0D2": 1,
+ }
+ self.atom_names = ["C", "H", "A", "B", "D"]
+
+ def tearDown(self):
+ if os.path.exists("tmp.deepmd.mixed"):
+ shutil.rmtree("tmp.deepmd.mixed")
+
+ def test_len(self):
+ self.assertEqual(len(self.ms), 5)
+ self.assertEqual(len(self.place_holder_ms), 2)
+ self.assertEqual(len(self.systems), 5)
+
+ def test_get_nframes(self):
+ self.assertEqual(self.ms.get_nframes(), 5)
+ self.assertEqual(self.place_holder_ms.get_nframes(), 5)
+ self.assertEqual(self.systems.get_nframes(), 5)
+
+ def test_str(self):
+ self.assertEqual(str(self.ms), "MultiSystems (5 systems containing 5 frames)")
+ self.assertEqual(
+ str(self.place_holder_ms), "MultiSystems (2 systems containing 5 frames)"
+ )
+ self.assertEqual(
+ str(self.systems), "MultiSystems (5 systems containing 5 frames)"
+ )
+
+
class TestMixedMultiSystemsTypeChange(
unittest.TestCase, CompLabeledSys, MultiSystems, IsNoPBC
):
From 36792c95d702ff5c4e963150dd18018d92de0cb5 Mon Sep 17 00:00:00 2001
From: Duo <50307526+iProzd@users.noreply.github.com>
Date: Thu, 25 May 2023 11:43:50 +0800
Subject: [PATCH 2/4] Revert "fix `set_size` in `to_deepmd_npy_mixed` func"
This reverts commit d83a405fff8dbe0e0421236f10d11944a2d3eeea.
---
.idea/.gitignore | 8 --
.idea/deployment.xml | 15 ---
.idea/dpdata_iprozd.iml | 12 ---
.idea/inspectionProfiles/Project_Default.xml | 27 -----
.../inspectionProfiles/profiles_settings.xml | 6 --
.idea/misc.xml | 4 -
.idea/modules.xml | 8 --
.idea/vcs.xml | 6 --
dpdata/plugins/deepmd.py | 6 +-
tests/test_deepmd_mixed.py | 101 ------------------
10 files changed, 2 insertions(+), 191 deletions(-)
delete mode 100644 .idea/.gitignore
delete mode 100644 .idea/deployment.xml
delete mode 100644 .idea/dpdata_iprozd.iml
delete mode 100644 .idea/inspectionProfiles/Project_Default.xml
delete mode 100644 .idea/inspectionProfiles/profiles_settings.xml
delete mode 100644 .idea/misc.xml
delete mode 100644 .idea/modules.xml
delete mode 100644 .idea/vcs.xml
diff --git a/.idea/.gitignore b/.idea/.gitignore
deleted file mode 100644
index 73f69e095..000000000
--- a/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
-# Editor-based HTTP Client requests
-/httpRequests/
diff --git a/.idea/deployment.xml b/.idea/deployment.xml
deleted file mode 100644
index 2f68b5935..000000000
--- a/.idea/deployment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/dpdata_iprozd.iml b/.idea/dpdata_iprozd.iml
deleted file mode 100644
index 9445686e6..000000000
--- a/.idea/dpdata_iprozd.iml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 100644
index 67260150e..000000000
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
deleted file mode 100644
index 105ce2da2..000000000
--- a/.idea/inspectionProfiles/profiles_settings.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index a46a2956a..000000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index 143f36772..000000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 94a25f7f4..000000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/dpdata/plugins/deepmd.py b/dpdata/plugins/deepmd.py
index ebe26561b..51fd4667a 100644
--- a/dpdata/plugins/deepmd.py
+++ b/dpdata/plugins/deepmd.py
@@ -95,7 +95,7 @@ def from_system_mix(self, file_name, type_map=None, **kwargs):
file_name, type_map=type_map, labels=False
)
- def to_system(self, data, file_name, set_size: int = 2000, prec=np.float64, **kwargs):
+ def to_system(self, data, file_name, prec=np.float64, **kwargs):
"""Dump the system in deepmd mixed type format (numpy binary) to `folder`.
The frames were already split to different systems, so these frames can be dumped to one single subfolders
@@ -107,14 +107,12 @@ def to_system(self, data, file_name, set_size: int = 2000, prec=np.float64, **kw
System data
file_name : str
The output folder
- set_size: int, default=2000
- set size
prec : {numpy.float32, numpy.float64}
The floating point precision of the compressed data
**kwargs : dict
other parameters
"""
- dpdata.deepmd.mixed.dump(file_name, data, set_size=set_size, comp_prec=prec)
+ dpdata.deepmd.mixed.dump(file_name, data, comp_prec=prec)
def from_labeled_system_mix(self, file_name, type_map=None, **kwargs):
return dpdata.deepmd.mixed.to_system_data(
diff --git a/tests/test_deepmd_mixed.py b/tests/test_deepmd_mixed.py
index 7e522e065..6311410ef 100644
--- a/tests/test_deepmd_mixed.py
+++ b/tests/test_deepmd_mixed.py
@@ -109,107 +109,6 @@ def test_str(self):
)
-class TestMixedMultiSystemsDumpLoadSetSize(
- unittest.TestCase, CompLabeledSys, MultiSystems, IsNoPBC
-):
- def setUp(self):
- self.places = 6
- self.e_places = 6
- self.f_places = 6
- self.v_places = 6
-
- # C1H4
- system_1 = dpdata.LabeledSystem(
- "gaussian/methane.gaussianlog", fmt="gaussian/log"
- )
-
- # C1H3
- system_2 = dpdata.LabeledSystem(
- "gaussian/methane_sub.gaussianlog", fmt="gaussian/log"
- )
-
- tmp_data = system_1.data.copy()
- tmp_data["atom_numbs"] = [1, 1, 1, 2]
- tmp_data["atom_names"] = ["C", "H", "A", "B"]
- tmp_data["atom_types"] = np.array([0, 1, 2, 3, 3])
- # C1H1A1B2
- system_1_modified_type_1 = dpdata.LabeledSystem(data=tmp_data)
-
- tmp_data = system_1.data.copy()
- tmp_data["atom_numbs"] = [1, 1, 2, 1]
- tmp_data["atom_names"] = ["C", "H", "A", "B"]
- tmp_data["atom_types"] = np.array([0, 1, 2, 2, 3])
- # C1H1A2B1
- system_1_modified_type_2 = dpdata.LabeledSystem(data=tmp_data)
-
- tmp_data = system_1.data.copy()
- tmp_data["atom_numbs"] = [1, 1, 1, 2]
- tmp_data["atom_names"] = ["C", "H", "A", "D"]
- tmp_data["atom_types"] = np.array([0, 1, 2, 3, 3])
- # C1H1A1C2
- system_1_modified_type_3 = dpdata.LabeledSystem(data=tmp_data)
-
- self.ms = dpdata.MultiSystems(
- system_1,
- system_2,
- system_1_modified_type_1,
- system_1_modified_type_2,
- system_1_modified_type_3,
- )
- self.ms.to_deepmd_npy_mixed("tmp.deepmd.mixed", set_size=1)
- self.place_holder_ms = dpdata.MultiSystems()
- self.place_holder_ms.from_deepmd_npy("tmp.deepmd.mixed", fmt="deepmd/npy")
- self.systems = dpdata.MultiSystems()
- self.systems.from_deepmd_npy_mixed("tmp.deepmd.mixed", fmt="deepmd/npy/mixed")
- self.system_1 = self.ms["C1H4A0B0D0"]
- self.system_2 = self.systems["C1H4A0B0D0"]
- mixed_sets = glob("tmp.deepmd.mixed/*/set.*")
- self.assertEqual(len(mixed_sets), 5)
- for i in mixed_sets:
- self.assertEqual(
- os.path.exists(os.path.join(i, "real_atom_types.npy")), True
- )
-
- self.system_names = [
- "C1H4A0B0D0",
- "C1H3A0B0D0",
- "C1H1A1B2D0",
- "C1H1A2B1D0",
- "C1H1A1B0D2",
- ]
- self.system_sizes = {
- "C1H4A0B0D0": 1,
- "C1H3A0B0D0": 1,
- "C1H1A1B2D0": 1,
- "C1H1A2B1D0": 1,
- "C1H1A1B0D2": 1,
- }
- self.atom_names = ["C", "H", "A", "B", "D"]
-
- def tearDown(self):
- if os.path.exists("tmp.deepmd.mixed"):
- shutil.rmtree("tmp.deepmd.mixed")
-
- def test_len(self):
- self.assertEqual(len(self.ms), 5)
- self.assertEqual(len(self.place_holder_ms), 2)
- self.assertEqual(len(self.systems), 5)
-
- def test_get_nframes(self):
- self.assertEqual(self.ms.get_nframes(), 5)
- self.assertEqual(self.place_holder_ms.get_nframes(), 5)
- self.assertEqual(self.systems.get_nframes(), 5)
-
- def test_str(self):
- self.assertEqual(str(self.ms), "MultiSystems (5 systems containing 5 frames)")
- self.assertEqual(
- str(self.place_holder_ms), "MultiSystems (2 systems containing 5 frames)"
- )
- self.assertEqual(
- str(self.systems), "MultiSystems (5 systems containing 5 frames)"
- )
-
-
class TestMixedMultiSystemsTypeChange(
unittest.TestCase, CompLabeledSys, MultiSystems, IsNoPBC
):
From 0e2fd036f3ffb3ecddfa8429f355ce54415fce37 Mon Sep 17 00:00:00 2001
From: Duo <50307526+iProzd@users.noreply.github.com>
Date: Thu, 25 May 2023 11:51:23 +0800
Subject: [PATCH 3/4] fix set_size in to_deepmd_npy_mixed func
---
dpdata/plugins/deepmd.py | 6 ++-
tests/test_deepmd_mixed.py | 101 +++++++++++++++++++++++++++++++++++++
2 files changed, 105 insertions(+), 2 deletions(-)
diff --git a/dpdata/plugins/deepmd.py b/dpdata/plugins/deepmd.py
index 51fd4667a..ebe26561b 100644
--- a/dpdata/plugins/deepmd.py
+++ b/dpdata/plugins/deepmd.py
@@ -95,7 +95,7 @@ def from_system_mix(self, file_name, type_map=None, **kwargs):
file_name, type_map=type_map, labels=False
)
- def to_system(self, data, file_name, prec=np.float64, **kwargs):
+ def to_system(self, data, file_name, set_size: int = 2000, prec=np.float64, **kwargs):
"""Dump the system in deepmd mixed type format (numpy binary) to `folder`.
The frames were already split to different systems, so these frames can be dumped to one single subfolders
@@ -107,12 +107,14 @@ def to_system(self, data, file_name, prec=np.float64, **kwargs):
System data
file_name : str
The output folder
+ set_size: int, default=2000
+ set size
prec : {numpy.float32, numpy.float64}
The floating point precision of the compressed data
**kwargs : dict
other parameters
"""
- dpdata.deepmd.mixed.dump(file_name, data, comp_prec=prec)
+ dpdata.deepmd.mixed.dump(file_name, data, set_size=set_size, comp_prec=prec)
def from_labeled_system_mix(self, file_name, type_map=None, **kwargs):
return dpdata.deepmd.mixed.to_system_data(
diff --git a/tests/test_deepmd_mixed.py b/tests/test_deepmd_mixed.py
index 6311410ef..7e522e065 100644
--- a/tests/test_deepmd_mixed.py
+++ b/tests/test_deepmd_mixed.py
@@ -109,6 +109,107 @@ def test_str(self):
)
+class TestMixedMultiSystemsDumpLoadSetSize(
+ unittest.TestCase, CompLabeledSys, MultiSystems, IsNoPBC
+):
+ def setUp(self):
+ self.places = 6
+ self.e_places = 6
+ self.f_places = 6
+ self.v_places = 6
+
+ # C1H4
+ system_1 = dpdata.LabeledSystem(
+ "gaussian/methane.gaussianlog", fmt="gaussian/log"
+ )
+
+ # C1H3
+ system_2 = dpdata.LabeledSystem(
+ "gaussian/methane_sub.gaussianlog", fmt="gaussian/log"
+ )
+
+ tmp_data = system_1.data.copy()
+ tmp_data["atom_numbs"] = [1, 1, 1, 2]
+ tmp_data["atom_names"] = ["C", "H", "A", "B"]
+ tmp_data["atom_types"] = np.array([0, 1, 2, 3, 3])
+ # C1H1A1B2
+ system_1_modified_type_1 = dpdata.LabeledSystem(data=tmp_data)
+
+ tmp_data = system_1.data.copy()
+ tmp_data["atom_numbs"] = [1, 1, 2, 1]
+ tmp_data["atom_names"] = ["C", "H", "A", "B"]
+ tmp_data["atom_types"] = np.array([0, 1, 2, 2, 3])
+ # C1H1A2B1
+ system_1_modified_type_2 = dpdata.LabeledSystem(data=tmp_data)
+
+ tmp_data = system_1.data.copy()
+ tmp_data["atom_numbs"] = [1, 1, 1, 2]
+ tmp_data["atom_names"] = ["C", "H", "A", "D"]
+ tmp_data["atom_types"] = np.array([0, 1, 2, 3, 3])
+ # C1H1A1C2
+ system_1_modified_type_3 = dpdata.LabeledSystem(data=tmp_data)
+
+ self.ms = dpdata.MultiSystems(
+ system_1,
+ system_2,
+ system_1_modified_type_1,
+ system_1_modified_type_2,
+ system_1_modified_type_3,
+ )
+ self.ms.to_deepmd_npy_mixed("tmp.deepmd.mixed", set_size=1)
+ self.place_holder_ms = dpdata.MultiSystems()
+ self.place_holder_ms.from_deepmd_npy("tmp.deepmd.mixed", fmt="deepmd/npy")
+ self.systems = dpdata.MultiSystems()
+ self.systems.from_deepmd_npy_mixed("tmp.deepmd.mixed", fmt="deepmd/npy/mixed")
+ self.system_1 = self.ms["C1H4A0B0D0"]
+ self.system_2 = self.systems["C1H4A0B0D0"]
+ mixed_sets = glob("tmp.deepmd.mixed/*/set.*")
+ self.assertEqual(len(mixed_sets), 5)
+ for i in mixed_sets:
+ self.assertEqual(
+ os.path.exists(os.path.join(i, "real_atom_types.npy")), True
+ )
+
+ self.system_names = [
+ "C1H4A0B0D0",
+ "C1H3A0B0D0",
+ "C1H1A1B2D0",
+ "C1H1A2B1D0",
+ "C1H1A1B0D2",
+ ]
+ self.system_sizes = {
+ "C1H4A0B0D0": 1,
+ "C1H3A0B0D0": 1,
+ "C1H1A1B2D0": 1,
+ "C1H1A2B1D0": 1,
+ "C1H1A1B0D2": 1,
+ }
+ self.atom_names = ["C", "H", "A", "B", "D"]
+
+ def tearDown(self):
+ if os.path.exists("tmp.deepmd.mixed"):
+ shutil.rmtree("tmp.deepmd.mixed")
+
+ def test_len(self):
+ self.assertEqual(len(self.ms), 5)
+ self.assertEqual(len(self.place_holder_ms), 2)
+ self.assertEqual(len(self.systems), 5)
+
+ def test_get_nframes(self):
+ self.assertEqual(self.ms.get_nframes(), 5)
+ self.assertEqual(self.place_holder_ms.get_nframes(), 5)
+ self.assertEqual(self.systems.get_nframes(), 5)
+
+ def test_str(self):
+ self.assertEqual(str(self.ms), "MultiSystems (5 systems containing 5 frames)")
+ self.assertEqual(
+ str(self.place_holder_ms), "MultiSystems (2 systems containing 5 frames)"
+ )
+ self.assertEqual(
+ str(self.systems), "MultiSystems (5 systems containing 5 frames)"
+ )
+
+
class TestMixedMultiSystemsTypeChange(
unittest.TestCase, CompLabeledSys, MultiSystems, IsNoPBC
):
From 9f1df974182a06c02006a5239d89ef3cbbf21f87 Mon Sep 17 00:00:00 2001
From: "pre-commit-ci[bot]"
<66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Thu, 25 May 2023 03:51:56 +0000
Subject: [PATCH 4/4] [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---
dpdata/plugins/deepmd.py | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/dpdata/plugins/deepmd.py b/dpdata/plugins/deepmd.py
index ebe26561b..26cdc3824 100644
--- a/dpdata/plugins/deepmd.py
+++ b/dpdata/plugins/deepmd.py
@@ -95,7 +95,9 @@ def from_system_mix(self, file_name, type_map=None, **kwargs):
file_name, type_map=type_map, labels=False
)
- def to_system(self, data, file_name, set_size: int = 2000, prec=np.float64, **kwargs):
+ def to_system(
+ self, data, file_name, set_size: int = 2000, prec=np.float64, **kwargs
+ ):
"""Dump the system in deepmd mixed type format (numpy binary) to `folder`.
The frames were already split to different systems, so these frames can be dumped to one single subfolders
@@ -107,7 +109,7 @@ def to_system(self, data, file_name, set_size: int = 2000, prec=np.float64, **kw
System data
file_name : str
The output folder
- set_size: int, default=2000
+ set_size : int, default=2000
set size
prec : {numpy.float32, numpy.float64}
The floating point precision of the compressed data