topology
This module contains the decision tree derived by Decius’ work on complete sets and redundancies among small vibrational coordinates (https://doi.org/10.1063/1.1747158)
- topology.Total_IC_dict = None
Arguments for IC Comb
- topology.add_element_to_all_entries(dict_list, element, dict_key, amount) list
Adds an element to all entries in a given dictionary.
- Attributes:
- dict_list:
a list of dictionaries where the dictionaries are IC sets
- element:
a element which gets added to a specific position
- dict_key:
a string which determines where the element gets added
- amount:
determines how often this element gets added to a specific position
- Returns:
a list of dictionaries
- topology.combine_dictionaries(dict_list) list
Combines two submolecule dictionaries where in each dictionary all possible IC sets are contained. This combiniation is based on combinatorics
The length of each dictionary determines how the combination takes place
- Attributes:
- dict_list:
a list of dictionarys
- Returns:
a list that contains the combined IC sets for both covalent submolecules
- topology.distribute_elements(dict_list, elements, dict_key, number_of_elements) list
Distributes elements to a given IC set also generating all possible combinations for the even distribution
Here all combinatoric cases are considered for example if the there is one IC set and one needs to distribute two IC coordinates out of a list of two the total amount of IC sets in the end is two
- Attributes:
- dict_list:
a list of dictionaries with possible IC sets
- elements:
a list of possible elements that get distributed
- dict_key:
a str that determines the key where the elements get added
- number_of_elements:
a str with the number of elements that are taken out of the elements list
- Returns:
a list of dictionaries where each entry in the dictionary is a possible IC set
- topology.eliminate_symmetric_tuples(list_tuples) list
Eliminates symmetric tuples in a list of tuples e.q (H2,O,H1) (H1,O,H2)
- topology.fully_linear_molecule(ic_dict, bonds, angles, linear_angles, out_of_plane, dihedrals) dict
Generates the IC sets for the covalent fully linear conformation of a structure
- Attributes:
- ic_dict:
a dictionary containing IC_sets
- bonds:
a list of tuples with bonds
- angles:
a list of tuples with angles
- linear_angles:
a list of tuples with linear angles
- out_of_plane:
a list of tuples with oop’s
- dihedrals:
a list of tuples with dihedrals
- Returns:
a IC dictionary where each entry is a valid IC set for the further analysis
- topology.general_acyclic_linunit_molecule(ic_dict, out, idof, bonds, angles, linear_angles, out_of_plane, dihedrals, num_bonds, num_atoms, a_1, l, specification) dict
Generates all possible IC sets for the general,acyclic case where linear submolecules are in the structure
- Attributes:
- ic_dict:
a dictionary with IC sets
- out:
the output file of nomodeco
- idof:
a integer with the vibrational degrees of freedom
- bonds:
a list of tuples with bonds
- angles:
a list of tuples with angles
- linear_angles:
a list of tuples with linear angles
- out_of_plane:
a list of tuples with oop’s
- dihedrals:
a list of tuples with dihedrals
- num_bonds:
a integer containing the number of bonds
- num_atoms:
a integer containing the number of atoms
- l:
a integer with the number of linear bonds
- a_1:
a integer containing the number of terminal atoms
- specification:
the specification for the given molecule (see specifcation documentation)
- topology.general_acyclic_nolinunit_molecule(ic_dict, out, idof, bonds, angles, linear_angles, out_of_plane, dihedrals, num_bonds, num_atoms, a_1, specification) dict
Generates all possible IC sets for the general acyclic case without linear submolecules
- Attributes:
- ic_dict:
a dictionary with IC sets
- out:
the output file of nomodeco
- idof:
a integer with the vibrational degrees of freedom
- bonds:
a list of tuples with bonds
- angles:
a list of tuples with angles
- linear_angles:
a list of tuples with linear angles
- out_of_plane:
a list of tuples with oop’s
- dihedrals:
a list of tuples with dihedrals
- num_bonds:
a integer containing the number of atoms
- num_atoms:
contains the number of bonds of the structure
- a_1:
a integer containing the number of terminal atoms
- specification:
the specification for the given molecule (see specifcation documentation)
- Returns:
a dictionary where each entry is a IC set
- topology.general_cyclic_linunit_molecule(ic_dict, out, idof, bonds, angles, linear_angles, out_of_plane, dihedrals, num_bonds, num_atoms, num_of_red, a_1, l, specification) dict
Generates all possible IC sets for the general, cyclic case with linear submolecules
- Attributes:
- ic_dict:
a dictionary with IC sets
- out:
the output file of nomodeco
- idof:
a integer with the vibrational degrees of freedom
- bonds:
a list of tuples with bonds
- angles:
a list of tuples with angles
- linear_angles:
a list of tuples with linear angles
- out_of_plane:
a list of tuples with oop’s
- dihedrals:
a list of tuples with dihedrals
- num_bonds:
a integer containing the number of bonds
- num_atoms:
a integer containing the number of atoms
- a_1:
a integer containing the number of terminal atoms
- l:
a integer containing the number of linear bonds
- specification:
the specification for the given molecule (see specifcation documentation)
- Returns:
a dictionary where each entry is a valid IC set
- topology.general_cyclic_nolinunit_molecule(ic_dict, out, idof, bonds, angles, linear_angles, out_of_plane, dihedrals, num_bonds, num_atoms, num_of_red, a_1, specification) dict
Generates all possible IC sets for the general cyclic case without linear submolecules
- Attributes:
- ic_dict:
a dictionary with IC sets
- out:
the output file of nomodeco
- idof:
a integer with the vibrational degrees of freedom
- bonds:
a list of tuples with bonds
- angles:
a list of tuples with angles
- linear_angles:
a list of tuples with linear angles
- out_of_plane:
a list of tuples with oop’s
- dihedrals:
a list of tuples with dihedrals
- num_bonds:
a integer containing the number of bonds
- a_1:
a integer containing the number of terminal atoms
- num_atoms:
a integer containing the number of atoms
- num_of_red:
a integer containg the redundancies of a given molecular structure
- specification:
the specification for the given molecule (see specifcation documentation)
- Returns:
a dictionary where each entry is a valid IC set
- topology.intermolecular_general_acyclic_linunit_molecule(ic_dict, out, idof, bonds, angles, linear_angles, out_of_plane, dihedrals, num_bonds, num_atoms, a_1, l, specification) dict
Generates all possible IC sets for the intermolecular, general acyclic case without linear submolecules.
- Attributes:
- ic_dict:
a dictionary containing valid IC sets
- out:
the output file of nomodeco
- idof:
a integer with the vibrational degrees of freedom
- bonds:
a list of tuples containing bonds
- angles:
a list of tuples containing angles
- linear_angles:
a list of tuples containing angles
- out_of_plane:
a list of tupels containing oop’s
- dihedrals:
a list of tupels containing dihedrals
- a_1:
a integer with the number of terminal atoms
- l:
a integer with the number of linear bonds
- num_bonds:
a integer with the number of bonds
- num_atoms:
a integer with the number of atoms
- specification:
the specification dictionary of the given molecule
- Returns:
a dictionary where each entry is a possible IC set
- topology.intermolecular_general_acyclic_nolinunit_molecule(ic_dict, out, idof, bonds, angles, linear_angles, out_of_plane, dihedrals, num_bonds, num_atoms, a_1, specification) dict
Generates all possible IC sets for the intermolecular, general, acyclic case without linear submolecules Attributes:
- ic_dict:
a dictionary containing valid IC sets
- out:
the output file of nomodeco
- idof:
a integer with the vibrational degrees of freedom
- bonds:
a list of tuples containing bonds
- angles:
a list of tuples containing angles
- linear_angles:
a list of tuples containing angles
- out_of_plane:
a list of tupels containing oop’s
- dihedrals:
a list of tupels containing dihedrals
- a_1:
a integer with the number of terminal atoms
- num_bonds:
a integer with the number of bonds
- num_atoms:
a integer with the number of atoms
- specification:
the specification dictionary of the given molecule
- Returns:
a dictionary where each entry is a possible IC set
- topology.intermolecular_general_cyclic_linunit_molecule(ic_dict, out, idof, bonds, angles, linear_angles, out_of_plane, dihedrals, num_bonds, num_atoms, num_of_red, a_1, l, specification) dict
Generates all possible IC sets for the intermolecular, general, cyclic case with linear submolecules
- Attributes:
- ic_dict:
a dictionary containing valid IC sets
- out:
the output file of nomodeco
- idof:
a integer with the vibrational degrees of freedom
- bonds:
a list of tuples containing bonds
- angles:
a list of tuples containing angles
- linear_angles:
a list of tuples containing angles
- out_of_plane:
a list of tupels containing oop’s
- dihedrals:
a list of tupels containing dihedrals
- a_1:
a integer with the number of terminal atoms
- l:
a integer with the number of linear bonds
- num_bonds:
a integer with the number of bonds
- num_of_red:
a integer with the number of redundancies
- num_atoms:
a integer with the number of atoms
- specification:
the specification dictionary of the given molecule
- Returns:
a dictionary where each entry of the dictionary is a valid IC set
- topology.intermolecular_general_cyclic_nolinsub(ic_dict, out, idof, bonds, angles, linear_angles, out_of_plane, dihedrals, num_bonds, num_atoms, num_of_red, a_1, specification) dict
Generates all possible IC sets for the intermolecular, general cyclic case where no linear submolecules are contained Attributes:
- ic_dict:
a dictionary containing valid IC sets
- out:
the output file of nomodeco
- idof:
a integer with the vibrational degrees of freedom
- bonds:
a list of tuples containing bonds
- angles:
a list of tuples containing angles
- linear_angles:
a list of tuples containing angles
- out_of_plane:
a list of tupels containing oop’s
- dihedrals:
a list of tupels containing dihedrals
- a_1:
a integer with the number of terminal atoms
- num_of_red:
a integer with the number of redundancies of the molecular structure
- num_bonds:
a integer with the number of bonds
- num_atoms:
a integer with the number of atoms
- specification:
the specification dictionary of the given molecule
- Returns:
a dictionary where each entry is a valid IC set
- topology.intermolecular_planar_acyclic_linunit_molecule(ic_dict, out, idof, bonds, angles, linear_angles, out_of_plane, dihedrals, num_bonds, num_atoms, a_1, l, specification) dict
Generates all possible IC sets for the intermolecular, planar, acyclic case where linear submolecules are contained
- Attributes:
- ic_dict:
a dictionary containing valid IC sets
- out:
the output file of nomodeco
- idof:
a integer with the vibrational degrees of freedom
- bonds:
a list of tuples containing bonds
- angles:
a list of tuples containing angles
- linear_angles:
a list of tuples containing angles
- out_of_plane:
a list of tupels containing oop’s
- dihedrals:
a list of tupels containing dihedrals
- a_1:
a integer with the number of terminal atoms
- l:
a integer with the number of linear bonds
- num_bonds:
a integer with the number of bonds
- num_atoms:
a integer with the number of atoms
- specification:
the specification dictionary of the given molecule
- Returns:
a dictionary where each entry is a possible IC set
- topology.intermolecular_planar_acyclic_nolinunit_molecule(ic_dict, out, idof, bonds, angles, linear_angles, out_of_plane, dihedrals, num_bonds, num_atoms, a_1, specification) dict
Generates all possible IC sets for the intermolecular, planar, acyclic case without linear submolecules
- Attributes:
- ic_dict:
a dictionary containing valid IC sets
- out:
the output file of nomodeco
- idof:
a integer with the vibrational degrees of freedom
- bonds:
a list of tuples containing bonds
- angles:
a list of tuples containing angles
- linear_angles:
a list of tuples containing angles
- out_of_plane:
a list of tupels containing oop’s
- dihedrals:
a list of tupels containing dihedrals
- a_1:
a integer with the number of terminal atoms
- l:
a integer with the number of linear bonds
- num_bonds:
a integer with the number of bonds
- num_atoms:
a integer with the number of atoms
- specification:
the specification dictionary of the given molecule
- Returns:
a dictionary where each entry is a possible IC set
- topology.intermolecular_planar_cyclic_linunit_molecule(ic_dict, out, idof, bonds, angles, linear_angles, out_of_plane, dihedrals, num_bonds, num_atoms, a_1, l, specification) dict
Generates all possible IC sets for the intermolecular, planar, cyclic case with linear submolecules
- Attributes:
- ic_dict:
a dictionary containing valid IC sets
- out:
the output file of nomodeco
- idof:
a integer with the vibrational degrees of freedom
- bonds:
a list of tuples containing bonds
- angles:
a list of tuples containing angles
- linear_angles:
a list of tuples containing angles
- out_of_plane:
a list of tupels containing oop’s
- dihedrals:
a list of tupels containing dihedrals
- a_1:
a integer with the number of terminal atoms
- l:
a integer with the number of linear bonds
- num_bonds:
a integer with the number of bonds
- num_atoms:
a integer with the number of atoms
- specification:
the specification dictionary of the given molecule
- Returns:
a dictionary where each entry is a possible IC set
- topology.intermolecular_planar_cyclic_nolinunit_molecule(ic_dict, out, idof, bonds, angles, linear_angles, out_of_plane, dihedrals, num_bonds, num_atoms, a_1, specification) dict
Generates all possible IC sets for the intermolecular, planar, cyclic case without linear submolecules
- Attributes:
- ic_dict:
a dictionary containing valid IC sets
- out:
the output file of nomodeco
- idof:
a integer with the vibrational degrees of freedom
- bonds:
a list of tuples containing bonds
- angles:
a list of tuples containing angles
- linear_angles:
a list of tuples containing angles
- out_of_plane:
a list of tupels containing oop’s
- dihedrals:
a list of tupels containing dihedrals
- a_1:
a integer with the number of terminal atoms
- l:
a integer with the number of linear bonds
- num_bonds:
a integer with the number of bonds
- num_atoms:
a integer with the number of atoms
- specification:
the specification dictionary of the given molecule
- Returns:
a dictionary containing all the possible IC sets for a given molecule
- topology.molecule_is_not_split(bonds) bool
Uses Networkx to check if for a given list of bonds the molecular structure is connected or split
- topology.planar_acyclic_linunit_molecule(ic_dict, out, idof, bonds, angles, linear_angles, out_of_plane, dihedrals, num_bonds, num_atoms, a_1, l, specification) dict
Generates all possible IC sets for the planar,acyclic case with linear submoleculesd
- Attributes:
- ic_dict:
a dictionary with IC sets
- out:
the output file of nomodeco
- idof:
a integer with the vibrational degrees of freedom
- bonds:
a list of tuples with bonds
- angles:
a list of tuples with angles
- linear_angles:
a list of tuples with linear angles
- out_of_plane:
a list of tuples with oop’s
- dihedrals:
a list of tuples with dihedrals
- num_bonds:
a integer containing the number of atoms
- a_1:
a integer containing the number of terminal atoms
- l:
a integer containing the number of linear bonds
- specification:
the specification for the given molecule (see specifcation documentation)
- Returns:
a dictionary where each entry is a valid IC set
- topology.planar_acyclic_nolinunit_molecule(ic_dict, out, idof, bonds, angles, linear_angles, out_of_plane, dihedrals, num_bonds, num_atoms, a_1, specification) dict
Generates IC sets for the planar acyclic case without any linear subunits
- Attributes:
- ic_dict:
a dictionary with IC sets
- out:
the output file of nomodeco
- idof:
a integer with the vibrational degrees of freedom
- bonds:
a list of tuples with bonds
- angles:
a list of tuples with angles
- linear_angles:
a list of tuples with linear angles
- out_of_plane:
a list of tuples with oop’s
- dihedrals:
a list of tuples with dihedrals
- num_bonds:
a integer containing the number of atoms
- a_1:
a integer containing the number of terminal atoms
- specification:
the specification for the given molecule (see specifcation documentation)
- Returns:
all possible IC sets for this conformation in a dictionary, where each entry is a IC set
- topology.planar_cyclic_linunit_molecule(ic_dict, out, idof, bonds, angles, linear_angles, out_of_plane, dihedrals, num_bonds, num_atoms, a_1, l, specification) dict
Generates all possible IC sets for the planar,cyclic case with linear submolecules
- Attributes:
- ic_dict:
a dictionary with IC sets
- out:
the output file of nomodeco
- idof:
a integer with the vibrational degrees of freedom
- bonds:
a list of tuples with bonds
- angles:
a list of tuples with angles
- linear_angles:
a list of tuples with linear angles
- out_of_plane:
a list of tuples with oop’s
- dihedrals:
a list of tuples with dihedrals
- num_bonds:
a integer containing the number of atoms
- a_1:
a integer containing the number of terminal atoms
- l:
a integer containing the number of linear bonds
- specification:
the specification for the given molecule (see specifcation documentation)
- Returns:
a dictionary where each entry is a valid IC set
- topology.planar_cyclic_nolinunit_molecule(ic_dict, out, idof, bonds, angles, linear_angles, out_of_plane, dihedrals, num_bonds, num_atoms, a_1, specification) dict
Generates all possible IC sets for the planar,cyclic case without linear submolecules
- Attributes:
- ic_dict:
a dictionary with IC sets
- out:
the output file of nomodeco
- idof:
a integer with the vibrational degrees of freedom
- bonds:
a list of tuples with bonds
- angles:
a list of tuples with angles
- linear_angles:
a list of tuples with linear angles
- out_of_plane:
a list of tuples with oop’s
- dihedrals:
a list of tuples with dihedrals
- num_bonds:
a integer containing the number of atoms
- a_1:
a integer containing the number of terminal atoms
- specification:
the specification for the given molecule (see specifcation documentation)
- Returns:
a dictionary where each entry is a valid IC set, note that in this case bonds are cut
- topology.strip_numbers(string) str
Removes the digits from a string e.q H2 -> H
- topology.update_internal_coordinates_cyclic(removed_bonds, ic_list) list
Given a set of ICs and a removed bond, eliminates this particular IC out of the list
- Attributes:
- removed_bonds: list
a list of tuples containing the bonds to remove
- ic_list: list
a list of internal coordinates of a specific type
- topology.valide_atoms_to_cut(bonds, multiplicity_list) list
Checks for a given list of bonds if the multiplicity of the atoms is greater then two. If this is the case return the atoms