Skip to content

Commit cda3ff0

Browse files
committed
Merge remote-tracking branch 'origin/main' into docker_bashrc
2 parents 94f1847 + 9252a0d commit cda3ff0

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

arc/species/species.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,7 @@ class ARCSpecies(object):
287287
multi_species: (str): The multi-species set this species belongs to. Used for running a set of species
288288
simultaneously in a single ESS input file.
289289
symmetry_number (int): The external symmetry number of the species, calculated from mol_list.
290+
index (int): An optional index for the species.
290291
"""
291292

292293
def __init__(self,
@@ -366,6 +367,7 @@ def __init__(self,
366367
self.project_directory = project_directory
367368
self.label = label
368369
self.symmetry_number = None
370+
self.index = None
369371

370372
if species_dict is not None:
371373
# Reading from a dictionary (it's possible that the dict contains only a 'yml_path' argument, check first)
@@ -678,6 +680,8 @@ def as_dict(self,
678680
species_dict['arkane_file'] = self.arkane_file
679681
if not self.consider_all_diastereomers:
680682
species_dict['consider_all_diastereomers'] = self.consider_all_diastereomers
683+
if self.index is not None:
684+
species_dict['index'] = self.index
681685
if self.is_ts:
682686
if len(self.ts_guesses):
683687
species_dict['ts_guesses'] = [tsg.as_dict() for tsg in self.ts_guesses]
@@ -827,6 +831,7 @@ def from_dict(self, species_dict):
827831
self.ts_conf_spawned = species_dict['ts_conf_spawned'] if 'ts_conf_spawned' in species_dict \
828832
else False if self.is_ts else None
829833
self.adjlist = species_dict['adjlist'] if 'adjlist' in species_dict else None
834+
self.index = species_dict['index'] if 'index' in species_dict else None
830835
if self.is_ts:
831836
self.ts_number = species_dict['ts_number'] if 'ts_number' in species_dict else None
832837
self.ts_guesses_exhausted = species_dict['ts_guesses_exhausted'] if 'ts_guesses_exhausted' in species_dict else False

arc/species/species_test.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2767,6 +2767,20 @@ def test_hash(self):
27672767
self.assertEqual(len(s), 2)
27682768
self.assertIn(self.spc1, s)
27692769

2770+
def test_species_indexing(self):
2771+
"""Test species indexing in ARCSpecies."""
2772+
spc_a = ARCSpecies(label='spc_a', smiles='C')
2773+
spc_b = ARCSpecies(label='spc_b', smiles='CC')
2774+
spc_c = ARCSpecies(label='spc_c', smiles='CCC')
2775+
2776+
species_list = [spc_a, spc_b, spc_c]
2777+
for index, spc in enumerate(species_list):
2778+
spc.index = index
2779+
2780+
self.assertEqual(spc_a.index, 0)
2781+
self.assertEqual(spc_b.index, 1)
2782+
self.assertEqual(spc_c.index, 2)
2783+
27702784

27712785
class TestTSGuess(unittest.TestCase):
27722786
"""

0 commit comments

Comments
 (0)