3.5.4. ACErxnNetwork¶
Class representing a reaction network. It contains a networkx graph, as well as a list of PLAMS Molecule objects for the intermediates
- class ACErxnNetwork(reactant=None, products=None, known_intermediates=None, name='acerxn', settings=None)¶
A class that represents an ACE reaction network
List of constructor arguments:
intermediates– Optional list of PLAMSMoleculeobjects representing the intermediates (vertices) of the networkgraph– Optional networkx DiGraph object with vertices that match the names of the intermediates (intermediate[i].properties.name)
All information on the reaction network is stored in two instance variables :
intermediates– List of PLAMSMoleculeobjects representing the intermediates (vertices) of the networkgraph– Networkx DiGraph object with vertices that match the names of the intermediates (intermediate[i].properties.name)
- property generator¶
Get the generator object
- static default_settings()¶
Get the default input settings for an ACErxn computation
- generate(jobrunner=None, resultsdir=None)¶
Generate the network
- write(dirname='ams.results', filename='ams.rkf', write_ts=False)¶
Writes the reaction network to RKF
dirname– The name of the folder where the RKF files shoud be writtenfilename– The name of the main RKF file that contains the network data (in the EnergyLandscape section)write_ts– The option to link all connected vertices with a fabricated transition state. May be useful for visualization in AMSMovie
- classmethod read(infile, reactant=None)¶
Read the intermediates and graph from RKF.
infile– Can be either a file object, or a file namereactant– A complete Reactant object (including fragment data)
- classmethod from_rkf(path)¶
Load an network from an rkf file in path.
path– Can be either the folder containsing all the acerxn result RKF files, or the path to the main ams.rkf file
- get_graph()¶
Return the networkx DiGraph object
- get_acenetwork()¶
Convert the networkx DiGraph object to ACE format
- write_graph(path, file_format='ace')¶
Write the networkx graph to file, in one of the available formats
path– The full filename of the main file to be written (‘/path/to/acercn.results/ams.rkf’)file_format– Currently the only option are the original ACE format and RKF (‘ace’,’rkf’)
- has_graph()¶
Check if a networkx DiGraph object has already been created
- has_intermediates()¶
Check if the intermediates have already been created
- get_intermediates(format='plams')¶
Get the intermediates as a list of PLAMS molecules
format– One of [‘plams’,’ace’]
- get_all_paths()¶
Get all paths from reactant to product in the network
- get_shortest_paths(targets=None, single=False)¶
Returns the shortest paths from reactant to products
up_to– If set to 1 only the shortest paths are collected. If set to 2 path lengths of 1 higher are also added
- get_chemdists_for_path(path)¶
For a single path out of the network, get the weights
path– Sequence of names for the vertices, representing a path
- get_n_shortest_paths(n)¶
Uses Yens algorithm to get the n shortest paths from reactant to products
- get_path_block(path)¶
Return a string that represents the path
path– List of names for the vertices in the path
- get_subnetwork(names)¶
Get the subnetwork ACErxnNetwork object for the list of intermediates
names– List/iterable of names for the intermediates
- store_submolecules_as_intermediate(submols, name)¶
Find the order of atoms the original product or intermediate, matching the reactant
- get_reacted_reactant(reactant, product)¶
Propagate the reactant to the product along the shortest path between the two
- optimize(engine_settings, jobrunner=None)¶
Optimize the geometries of all intermediates
- read_energy_landscape(filename)¶
Read the intermediates and graph from RKF (used by the generator).
filename– Accepts either the full path to the main RKF file (‘path/to/acerxn.results/ams.rkf’) or the corresponding folder name (‘path/to/acerxn.results’)
- set_intermediates(intermediates)¶
Set the intermediates instance variable (used by the generator)
intermediates– List of PLAMSMoleculeobjects representing the intermediates (vertices) of the network. EachMoleculeobject must contain a name and an energy in mol.properties.name and mol.properties.energy.
- set_graph(graph)¶
Set the graph instance variable (a networkx DiGraph object) (used by the generator)
graph– Networkx DiGraph object with vertices that match the names of the intermediates (intermediate[i].properties.name)
- order_paths(paths)¶
Order a set of paths based on length AND highest energy
- trim_edges(paths)¶
Remove incomplete paths
- _get_n_shortest_paths(n, source, target)¶
Uses Yens algorithm to get the n shortest paths from source to target
- _get_fake_transitionstates(indices, ts_energy)¶
Get molecule objects for the fake transition states in elementary reactions
- _get_sp_results(settings)¶
Retrieve the results objects from the intermediate single point calculations
Note: Obsolete