What is DOMINO? What is it good for?

DOMINO is a calculation manager. It neatly organizes and stores quantum chemical calculations that are done by Gaussian0X software in a database. It is designed to speed up the generation of input files, the launch of calculations (in batch) from the program and to ease the collection of results from the outputs (log files). Last, but not least, to reduce the human error!
In summary, you can prepare the inputs in the right format, upload it to the server, launch them in batch, without opening a shell; fetch back the results with one click and get the results in an excel with another one. Follow up calculations, such as stability investigations of the wavefunction, energy evaluations with other methods or larger basis sets, solvent and frequency calculations can be done essentially by another click.

Start with creating a Project!

Organizing data (calculations) is done on the Domino level. Every research project is separated in individual projects. You can create as many project as you want, parallel to each other. But do not group different subprojects into subdirectories.
Right click on the Project field, and select “Create new project” from the drop down menu. Give an acronym for the project. This is going to be the CalcID for every single calculation you make, followed by an incremental number.
You can also give a short description then you have to give the path for the Project’s working directory and calc directory. The latter is where your actual calculations will be stored. The work directory is just a pool for temp/ initial/ raw files. As you use them for an actual input, it will be moved from the work folder under the corresponding created calculation folder. The initial “raw” structures have to be provided by the user, for example created in GaussView. The program expects a *.com file format. The heading and/or footer does not matter.

Crate input for optimization

Once you have created the Project, you can start creating inputs starting from the work tab. Select a prepared file. You can make as many calculations as you want starting from one. In the first example, I created 4 from one, because I want to use the same geometry but with four different settings. In this case, different multiplicity/charge settings, but the rest is same for all. In most of the cases we want one calculation from one initial/raw file. Once you clicked on “Create X input template”, you have created a calculation with a CalcID. In the color coded buttons on the top left, you will see number (of files) appearing in Purple. These calculations are your initial inputs. They are not set up yet, only the xyz coordinates are used. You have to give the header/footer for them. This is what you must do one by one. Carefully! This is the time, where you should not make any mistakes. Fill out the fields correctly!
You can type in the functional, basis set and job specification to their appropriate field or you can choose from the list. The lists come from the previously used values.

Note: For transition metals, cc-pvDZ and cc-pvTZ basis set that are not implemented in Gaussian are implemented in DOMINO! If you wish to use these, select genecp for basis set, and click either the DZ or the TZ button. It will automatically write the basis set to the footer.

If you miss one filed, the program will warn you, and will not proceed, create the input file. Once all the fields are filled, click on “Create Input” tab on the top. The CalcID gets a new color. It changes from purple to light blue, showing that it is a calculation ready to be uploaded to the HPC server.
You can always filter the calculations by clicking on the number next to the colored buttons. By clicking on them, they will filter the list of calculations by their status. Second click on a button will remove that status from the filter. When no button is clicked then no filter is applied and all calculations are showed by default.
Each color represents one or two statuses of the calculations:

  • purple: newly created calculation with no input yet
  • light blue: new input files are ready to be uploaded to HPC
  • gray blue: input files have been uploaded to HPC
  • green: calculation output (log file) has been downloaded, analyzed and terminated normally
  • yellow: calculation output (log file) has been downloaded, analyzed and there is imaginary frequency in the out file
  • red: calculation output (log file) has been downloaded, analyzed and found that there is a termination error or the output file is just not valid (it’s corrupt :))
  • green check icon: in addition to the normal status, this status represent those calculations that the user marked as final (what makes a calculation final.. well, depends..)
  • trash icon: in addition to the normal status, this status represent those calculations that the user did not wanted to see in the list anymore, so they have been deleted (put to trash)
TIP: If you want to do a benchmark study, do not set it up one by one for each calculation, there is a different option for that! See it later in Benchmark section.

Upload and Server settings

First you have to set up your HPC server details. Click on the “Settings” button (gear icon in the top right), and fill the fields. Domino will connect is using standard SFTP protocol to connect to HPC. Type in the host name, user and password. At this point, the password is not encrypted, only hidden, so please take this into account when using DOMINO. Give the name of the submitting script that you use to submit your job.
Also, you have to locate and/or create the folder on the server, where you will upload and run the calculations then save it in Project settings (“Remote folder on Gaussian server”). Once all is set, you can upload files one by one or in batch by clicking on the Up arrow button. TIPS: Filter out only the light blue calcs, select all (Ctrl+A) and upload.
You can see a simple progress indicator during the process which may take a few seconds. If they are up on the server, their color change to gray blue. Select (all) again, and the “Play” button gets active. Clicking on this button will launch your calculations (using your prefilled submitting script). BUT! Before launching, you can test your connection with the server. Click on the “black” list like button. It actually sends a “qstat” command in the background. If the connection was successful, a terminal icon appears next to the job list icon. This indicates a connection between your computer and the HPC. You can click on the terminal icon to show a terminal window-like panel to the right, clicking again will hide the panel.
On the bottom of the terminal panel, you can type in shell commands. It’s almost a fully functional terminal. :)

Now you can push the launch button, and see what happens in the right side of the interface.
You can see, how it submits your jobs one by one.

Fetch and analyze log files

Once your calculations are finished (remember, you could check by the job list button), you select the gray blues, but this time click on the Down arrow button. It can take a while, you can see the same simple progress indicator as when you upload calculations. Be patient Log files, checkpoint files can be huge.
Domino will automatically analyze your log on the basis of the end of the file. If it has a Normal termination, it gets a green sign. If it has been terminated with an error, gets a red. If it has been terminated normally, but has imaginary frequency, it gets yellow.
For the normal terminated jobs, Domino automatically generates (reads out from the log) a last geometry file, written in a separated com file, under the corresponding CalcID folder. This will be used for optional follow up calculations.

Creating Follow up calculation (Solvation, Single Point, Frequency, NBO, NICS…)

You can only do follow up, on Normal terminated (green) calculations. There are a few preset options, but you can create custom follow up calculations.
Select the Calc, fill in the fields on the right, then click on Create followup and select the ones you need. The protocol from here is the same as it is for optimization.

Get the results to excel

Next to the Project name, there are two Excel buttons. Use the green one (blue is still under development :)). This will put the database to the clipboard, which you can paste with ctrl+V to an empty excel sheet.
See in the video how it looks. It talks for itself.
It reads out the Gibbs free energy with Thermal Correction and the Electronic Energy in Hartree.

Benchmark

Let’s say you want to test the dependence of the applied functional and/or basis set on a set of molecules, or you realized (too late), that you chose the wrong functional/basis set for the given task and you already created tens of calculations! Don NOT throw them out just yet! First of all, because Policy #1, we don’t delete, destroy valuable data! Secondly, you have already optimized structures that can be used as initial structures for further calculations, basis for a benchmark study! You save a lot of CPU time for HPC!
So, if you have well finished calculations with a given settings, just select them, fill out the fields, give a note (‘job title, description…’ field), but it is optional. I would suggest to use this option, to be able to differentiate from the original set, like in the video example. And then click on Benchmark tab on the top. Et voila! You created a whole new set of calculations in 30 seconds!

What can we do with an “Error terminated” (Red) or “Imaginary frequency found” (Yellow) calcs?

Obviously, with error terminated files, you have to look in to it. Open the log file. You can double click on the CalcID in the list, which will open the folder of the calculation in Windows Explorer.
Once you figured out what went wrong and how to continue, if you even want to. You can save this CalcID and restart it by a right click on the CalcID and select “Restart generation from”. Select a new initial file for it and do the steps as explained above in “Create Input”. Obviously, in this case Last Geometry is not created.

The same stands for the Yellow marked calculations, where “Imaginary frequency is found”, except, that in this case, Last Geom is created automatically, since the the calculation terminated normally. (In the search for Transition state, this is what you looked for!)

The future…DOMINO 2.0!

We are very proud of this user friendly application, which has saved uncountable hours for us, however, we see how much we can improve it. We have already seen halfway in the development, that we had limited the features and platform to Windows by using Delphi, by customizing it only for Gaussian, etc. But since we have been working with Gaussian in 95% of the time, it was worth to complete it to a point and agreed to “redevelop” it when the time allows it. Note, that we are not computer scientists, not even programmers. It started as a hobby, a great idea that we have done mostly in our spare time.

DOMINO 2.0 is dreamed to be a web application, published on the internet! Think about it, you could login from everywhere around the world through a secure connection, manage your calculation from your phone/tablet. It’d be independent from operating system, not limited to Windows, just to mention a few pros.
We don’t want to limit it to only Gaussian. It should handle Jaguar, ADF, ORCA. Implement post analysis of the wavefunction (MO, NBO etc. analysis) and many more features like implementing more complex project manager functions (invite individuals for certain calculations projects), publishing raw calculation data reports, etc. And don't forget, this is in the cloud, you never have to worry about the loss of your calculations ;)