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 PLAMSMolecule
objects 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 PLAMSMolecule
objects 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 PLAMSMolecule
objects representing the intermediates (vertices) of the network. EachMolecule
object 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