By M. Haranczyk
ConGENER is a software package for combinatorial generation and characterization of molecular libraries containing substitution isomers, so called congeners. The molecules are built by substituting hydrogen atoms in the parent molecule with a combination of desired atoms. The ConGENER program is described in Sections 2-5. The scripts to run QM calculations are described in Section 6.
ConGENER was developed by Maciej Haranczyk at
If you publish any results obtained with ConGENER, we kindly ask you to reference following publication:
M. Haranczyk, T. Puzyn and P. Sadowski, ConGENER – A Tool for Modeling of the Congeneric Sets of Environmental Pollutants. Sumitted to QSAR & Comb. Sci.
Author is not responsible for any damaged caused by this software. Use at your own risk.
2. Installation and execution
ConGENER has been written in standard C++. In order to use it, you have to download the source code and compile it. To compile under any common Linux/Unix distribution, just type:
g++ congener.cpp –o congener
In order to use the program, execute the „congener” binary. For example:
The program runs in the interactive mode asking user a number of questions about the geometry of the parent molecule and isomer space to be expanded. However, to facilitate running multiple jobs or restarting, all answers can be combined as one input file. In order use the passive mode and read the input file use:
./congener < input_file
The information how to prepare input data for ConGENER is described in the following sections of this manual.
3. Preparation of parent molecule geometry
ConGENER works with molecules represented as internal coordinates In Gaussian format. Those Z-matrixes should have text strings to code variables (Bond lengths and angels) and the values should be provided at the end of the file in two blocks (Variables/Constants). The example of proper Z-matrix In Gaussian format is provided below:
C 1 r1
C 1 r2 2 v1
H 3 r3 2 v2 1 t1
In order to convert such Z-matrix into ConGENER input file, each block of data (molecule specification, variables and constants) has to be terminated with 0 (zero). Hydrogen atoms to be substituted with desired atom in the process of congeners generation has to be marked with * (star). Star has to be placed before H symbol and shouldn’t be separated with space or any other sign. The example of proper input file is provided below:
C 1 r1
C 1 r2 2 v1
*H 3 r3 2 v2 1 t1
* In the current version ConGENER does not work with z-matrixes containing constants. (The should be only one block with variables)
* Hydrogen atoms cannot be placed In the first three lines of z-matrix
*Order of hydrogen atoms in z-matrix is very important because ConGENER relies on this order when detecting equivalent isomers and generating proper names. When building the z-matrix of parent molecule: 1) the first hydrogen atom added to the molecule should be the one of the lowest position number; 2) when adding subsequent hydrogens atoms, assume that the molecule is flat and you’re moving “on the edge” of the molecule in clockwise (or counterclockwise) direction.
For dibenzofurane the proper ordering of hydrogen atoms In z-matrix should be:
1,2,3,4,6,7,8,9 or 9,8,7,6,4,3,2,1
During the execution, ConGENER will generale all possibile congeners. However, having two identical, like for example 1,2-dichlorobiphenylene and 7,8-dichlorobiphenylene, only the first one will be saved as it uses hydrogen sites of higher priority (provided first) in z-matrix.
4. Question asked by program during execution
Name of the input file ?
Provide filename containing molecule specification as described in point 3.
Number of hydrogen atoms to be substituted ?
Symbol of atom to be substituted with ?
Symbol of atom that will be used to substitute hydrogen atoms, exmaple Br lub Cl
String to same variable related to substitute atom bond lenght
For example, if one sets this string to „clx”, when hydrogen with Bond lenght defined by string hc10 will be substituted with Rother atom, the next Bond lenght will be named clxhc10.
Change of Bond lenght ??.
Value of Bond lenght (In Andrestrem) with will be addend to Bond lenght of hydrogen when it is substituted with desired atom.
Number of equal numbering schemes ?
Answering this question allows to remove duplicates. For example, for biphenylene there are 4 numbering schemes:
1,2,3,4,5,6,7,8 or 5,6,7,8,1,2,3,4 or 8,7,6,5,4,3,2,1 or 4,3,2,1,8,7,6,5
Number of numbering schemes In clockwise direction ?
As In example above, there are two numbering schemes, first starts with 1, the other with 5.
Analogous questions about counterclockwise direction…
Number of single bonds allowing for rotation of two fragments ? (in current version only 0 or 1)
(if answer to previous question is 1)
Enter last atom In first fragment
For example, In biphenyl the first fragment is
Enter part of filename used for congeners
For example, bph for biphynylu. All congeners will be saved to bph0.zmat, bph1.zmat etc.
Display names of congeners ?
Answer yes or no.
If answer is yes:
Enter name of the molecule ?
Enter substituent name ?
Enter names of positions in order as hydrogen atoms are defined
E.g. for biphenyl 2,3,4,5,6,2’,3’,4’,5’,6’
Enter words to describe number of substituents :
Enter as many as the maximum number of substituents. One per line. Example:. mono, di, tri…
There are few examples provided together with the program. The examples of input files are in *.input files and examples of input geometries are in *.zmat files.
To generate congeners of biphenylene using provided input files, type:
./congener < biphenylene.input
The ConGENER package is supplemented with a set of scripts that allows performing QM calculations with Mopac2007 program. The scripts can be easily modified to work with any other program. To perform calculations for a set of congeners you must execute scripts as follows:
Note: Before running scripts, make sure they are in the same directory as .zmat files generated with ConGENER (or set up correct PATH).