@@ -905,7 +905,7 @@ def sort_atom_types(self):
905
905
class MultiSystems :
906
906
'''A set containing several systems.'''
907
907
908
- def __init__ (self , * systems , type_map = None , file_name = None , fmt = None ):
908
+ def __init__ (self , * systems ,file_name = None , fmt = None , type_map = None ):
909
909
"""
910
910
Parameters
911
911
----------
@@ -914,9 +914,6 @@ def __init__(self, *systems, type_map=None,file_name=None, fmt=None):
914
914
type_map : list of str
915
915
Maps atom type to name
916
916
"""
917
- if all (type (ii )== str for ii in systems ) and len (systems )> 0 :
918
- raise RuntimeError ("the prefix 'file_name=' and 'fmt=' can not be omitted"
919
- "for example MultiSystems(file_name='water.xyz', fmt='gap/xyz')" )
920
917
self .systems = {}
921
918
if type_map is not None :
922
919
self .atom_names = type_map
@@ -956,6 +953,10 @@ def __add__(self, others) :
956
953
elif isinstance (others , list ):
957
954
return self .__class__ (self , * others )
958
955
raise RuntimeError ("Unspported data structure" )
956
+
957
+ @classmethod
958
+ def from_file (cls ,file_name ,fmt ,type_map = None ):
959
+ return cls (file_name = file_name , fmt = fmt ,type_map = type_map )
959
960
960
961
def get_nframes (self ) :
961
962
"""Returns number of frames in all systems"""
@@ -1018,6 +1019,7 @@ def from_gap_xyz_file(self,filename):
1018
1019
system = LabeledSystem (data = info_dict )
1019
1020
self .append (system )
1020
1021
1022
+
1021
1023
def to_deepmd_raw (self , folder ) :
1022
1024
"""
1023
1025
Dump systems in deepmd raw format to `folder` for each system.
0 commit comments