@@ -161,24 +161,28 @@ function getatomdictfromrmg(mol)
161161 molecularweight = mol. get_molecular_weight ()
162162 return atmD,nbonds,molecularweight
163163end
164- getatomdictsmiles (smiles) = getatomdictfromrdkit (Chem. AddHs (Chem. MolFromSmiles (smiles)))
164+ function getatomdictsmiles (smiles)
165+ if occursin (r" R" , smiles) || occursin (r" L" , smiles)
166+ mol = fragment. Fragment (). from_smiles_like_string (smiles)
167+ mol. assign_representative_molecule ()
168+ getatomdictfromrmg (mol. mol_repr)
169+ else
170+ getatomdictfromrdkit (Chem. AddHs (Chem. MolFromSmiles (smiles)))
171+ end
172+ end
173+
165174export getatomdictsmiles
166175getatomdictinchi (inchi) = getatomdictfromrdkit (Chem. AddHs (Chem. MolFromInchi (inchi)))
167176export getatomdictinchi
168177function getatomdictadjlist (adjlist)
169178 _ , cutting_label_list = fragment. Fragment (). detect_cutting_label (adjlist)
170179 if isempty (cutting_label_list)
171180 mol = molecule. Molecule (). from_adjacency_list (adjlist)
181+ getatomdictfromrmg (mol)
172182 else
173183 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)
178184 mol. assign_representative_molecule ()
179185 getatomdictfromrmg (mol. mol_repr)
180- else
181- @error (" Unrecognizable molecule type $mol " )
182186 end
183187end
184188export getatomdictadjlist
0 commit comments