Skip to content

Commit 4732aa1

Browse files
committed
use Ar workaround to construct surface molecules
1 parent 704632d commit 4732aa1

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

rmgpy/molecule/molecule.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -984,7 +984,20 @@ def __init__(self, atoms=None, symmetry=-1, multiplicity=-187, reactive=True, pr
984984
self.from_inchi(inchi)
985985
self._inchi = inchi
986986
elif smiles:
987-
self.from_smiles(smiles)
987+
if 'X' in smiles:
988+
self.from_smiles(smiles.replace('X', 'Ar'))
989+
lines = self.to_adjacency_list().split('\n')
990+
for i, line in enumerate(lines):
991+
if 'Ar' in line:
992+
lines[i] = lines[i].replace('Ar', 'X')
993+
# remove any extra electron pairs
994+
lines[i] = lines[i].replace('p3', 'p0')
995+
lines[i] = lines[i].replace('p2', 'p0')
996+
lines[i] = lines[i].replace('p1', 'p0')
997+
adj_list = '\n'.join(lines)
998+
self = self.from_adjacency_list(adj_list)
999+
else:
1000+
self.from_smiles(smiles)
9881001
self._smiles = smiles
9891002

9901003
if multiplicity != -187: # it was set explicitly, so re-set it (from_smiles etc may have changed it)

0 commit comments

Comments
 (0)