Skip to content

Commit 4e8274c

Browse files
committed
Generalize parser to get atom dict. Assign representative mol to give realistic atom dict for Mw calculation
1 parent 76bd4a8 commit 4e8274c

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

src/Parse.jl

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,22 @@ getatomdictsmiles(smiles) = getatomdictfromrdkit(Chem.AddHs(Chem.MolFromSmiles(s
165165
export getatomdictsmiles
166166
getatomdictinchi(inchi) = getatomdictfromrdkit(Chem.AddHs(Chem.MolFromInchi(inchi)))
167167
export getatomdictinchi
168-
getatomdictadjlist(adjlist) = getatomdictfromrmg(molecule.Molecule().from_adjacency_list(adjlist))
168+
function getatomdictadjlist(adjlist)
169+
_ , cutting_label_list = fragment.Fragment().detect_cutting_label(adjlist)
170+
if isempty(cutting_label_list)
171+
mol = molecule.Molecule().from_adjacency_list(adjlist)
172+
else
173+
mol = fragment.Fragment().from_adjacency_list(adjlist)
174+
end
175+
if pybuiltin(:isinstance)(mol, molecule.Molecule)
176+
getatomdictfromrmg(mol)
177+
elseif pybuiltin(:isinstance)(mol, fragment.Fragment)
178+
mol.assign_representative_molecule()
179+
getatomdictfromrmg(mol.mol_repr)
180+
else
181+
@error("Unrecognizable molecule type $mol")
182+
end
183+
end
169184
export getatomdictadjlist
170185

171186
function getspeciesradius(atomdict,nbonds::Int64)

0 commit comments

Comments
 (0)