Instead of constructing an adjacency list by hand, new modules have been built to convert IUPAC International Chemical Identifiers (InChIs) and .mol files to adjacency lists.
Note
The InChI executable must be present in the %rmg%\bin directory for the InChI2AdjList and AdjList2InChI modules to function.
To convert an InChI (or a series of InChIs) into an adjacency list, create a text file in any directory you like (for the purposes of this example, we’ll create a file named listOfInChIs.txt). List each InChI in this new file, separated by a carriage return. If you’d like to identify the InChI with a particular name (e.g. the InChI for 1,3-hexadiene as HXD13), place this name before the InChI; if a line only contains the InChI, the default name of this species will be the InChI itself.
An example of the listOfInChIs.txt file is:
HXD13 InChI=1/C6H10/c1-3-5-6-4-2/h3,5-6H,1,4H2,2H3
CH4 InChI=1/CH4/h1H4
H2 InChI=1/H2/h1H
Running the following command will generate a file (adjList_output.txt) which contains a list of species, in the form of adjacency lists:
java -classpath "%rmg%"\bin\RMG.jar InChI2AdjList listOfInChIs.txt
To convert a series of .mol files into a list of adjacency lists, place the list of .mol files in any directory you like (for the purpose of this example, we’ll create a file named temp.mol in a folder named directoryOfMolFiles). An example of a .mol file (for 1,3-hexadiene) is:
Structure #1
InChI v1 SDfile Output
6 5 0 0 0 0 0 0 0 0 1 V2000
0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0
0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0
0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0
0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0
0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0
0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0
1 3 2 0 0 0 0
2 4 1 0 0 0 0
3 5 1 0 0 0 0
4 6 1 0 0 0 0
5 6 2 0 0 0 0
M END
$$$$
Passing the location of this directory to the Mol2AdjList console, using the following command, generates the adjacency list in a file named adjList.txt:
java -classpath "%rmg%"\bin\RMG.jar Mol2AdjList directoryOfMolFiles > adjList.txt
To convert an adjacency list (or series of adjacency lists) to an InChI, create a text file in any directory you like (for the purposes of this example, we’ll create a file named listOfAdjLists.txt). List each adjacency list in this new file, separated by a carriage return. Furthermore, you must identify each adjacency list with a name (e.g. HXD13 for 1,3-hexadiene); place this name before the adjacency list.
An example of the listOfAdjLists.txt file is:
HXD13
1 C 0 {2,D}
2 C 0 {1,D} {3,S}
3 C 0 {2,S} {4,D}
4 C 0 {3,D} {5,S}
5 C 0 {4,S} {6,S}
6 C 0 {5,S}
CH4
1 C 0
H2
1 H 0 {2,S}
2 H 0 {1,S}
Running the following command will generate a file (inchi_output.txt) which contains a list of InChIs, identified by the name given in the input file:
java -classpath "%rmg%"\bin\RMG.jar AdjList2InChI listOfAdjLists.txt