Custom Dictionary in Name import

It is possible to extend the name to structure conversion by putting structures with their name in a custom dictionary file. Names present in the custom dictionary will be converted to the corresponding structure. The custom dictionary has precedence over the standard name to structure conversion.

Default path: CHEMAXON_DIR/custom_names.smi where CHEMAXON_DIR is located at:

Format

For performance reasons, the dictionary has to be in SMILES format. To use a dictionary in another format, it can be converted to SMILES using molconvert or mview (Save As). In the same way, several dictionaries should be merged into a single dictionary file in SMILES format.

The dictionary file can be represented in 2 different ways. In the most simple and usual one, each line contains a SMILES and a name field, separated by a tab character. For instance:

C\C=C\CCC(O)=O	gamma-hexenoic acid

If there are named properties in the file, the NAME field will be used. For instance:

#SMILES	EXACT_MASS	NAME
C\C=C\CCC(O)=O	114.1424	gamma-hexenoic acid

You can download this example custom dictionary to test this feature, and to use as a template. Once this dictionary is installed correctly, you need to restart the ChemAxon application you are using (for instance Marvin Sketch, Instant JChem or JChem for Excel). You should now be able to convert the following custom IDs: CXN000001 through CXN000008, and aspirin in four extra languages: 阿司匹林 (Chinese), アスピリン (Japanese), 아스피린 (Korean) and аспири́н (Russian). Note that the foreign names will only work with version 5.12 or later.

Preventing a name from being converted

If a name is converted by name to structure but is not desired, it can be blocked using the custom dictionary. This can be useful for instance with names like ATP, which have a chemical meaning (adenosine triphosphate), but also unrelated non-chemical meanings. To block it, use such a line in the custom dictionary:
[IGNORE]	ATP

Using a different location for the dictionary

Path can be changed from API or console by using the dict property:

API

Molecule mol = MolImporter.importMol("CUSTOMNAME", "name:dict=PATH");

Command line

molconvert smiles -s CUSTOMNAME{name:dict=PATH}