-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Output labeled adjacency lists for each reaction #72
Comments
This was mentioned again on the April 8 call. |
@mazeau please could you try and tackle this? Ask @nateharms for help as he knows the inner working of reaction center atom labels. What we want is: when a reaction has been created (but before the labels have been wiped) we should save (somehow) a representation of the adjacency lists of the reaction, with the relevant atom labels. We could perhaps immediately output these to a separate text (or yaml) file for each reaction. Or could save the atom labels and create the output later. I'd be happy to work on this, but Sandia are getting impatient and it seems I don't have much spare time to actually do it myself. |
Do you want this to be an option in the input file? Similar to generateOutputHTML? |
Ooh, Having it something we can turn on and off using the input file is a good idea. But having it just on all the time is a useful start so we can give Eric something |
Are you looking for something like this?
|
Yes! Something like that |
Okay, this chunk of code should do what you need. It'll take in a list of reactions and write the reactant and product complexes to adjacency lists in an
|
Right now I don't have the ability to run RMG-cat, so I can't test the above code. I just wanted an example of what the reaction specification would look like, so I can write a parser that will turn it into 3D structures. Remember that the purpose of this exercise is to begin automating the translation of RMG-cat reactions into 3D structures of the saddle point. With this in mind, I have a couple of comments regarding the example you provided: I see that your atom indices are moving around -- e.g. the C atom participating in the reaction moves from index 3 to index 4, and the H atom moves from index 5 to index 11. The labels Related to this first point, what about more complicated reactions where multiple bonds are being made and broken? Based on the example you gave, I understand that the bond between The reaction that I am initially going to be testing is a simple catalytic dehydrogenation reaction:
Thanks for the work on this issue, and apologies for the long comment. Edit: Corrected the label numbers in my paragraph about more complex reaction types. |
Note to self:
prints what we need. (It just prints it far too often and for everything, without us knowing which is which. But it's a start) |
Now it will print reactant adj lists and prod and reactant adj lists (or just the combined reactant adj list if it is the same as the product one), as well as some will print the reaction itself. It's just far too large to keep all of these until the end of model generation. |
These changes on a branch somewhere? |
Progress from a different approach. What's needed next is to find the most appropriate place to print them out. Could be in an i/o thing that's done for all reactions each iteration, like how we print the chemkin and html files. Or it could be done just once per reaction when a reaction gets added to the core (or even edge). eg. |
I merged your changes and now have all the reactions print out to a text file |
Thanks. I took your (relevant) changes to the catlabel branch. Though I just noticed one small problem...
|
Think this is now funcitoning. Any tweaks to make it easier on downstream processing? should be easy enough to apply a template to make it yaml or something.
Each reaction family (eg |
OK, it's now yaml.
|
Eric Hermes @ehermes would like, in order to test Sella, would like labeled adjacency lists for each (important) reaction.
The text was updated successfully, but these errors were encountered: