Python scripts for calculating Fukui Indexes

One of the most popular posts in this blog has to do with calculating Fukui indexes, however, when dealing with a large number of molecules, our described methodology can become cumbersome since it requires to manually extract the population analysis from two or three different output files and then performing the arithmetic on them separately with a spreadsheet or something.

Our new team member Ricardo Loaiza has written a python script that takes the three aforementioned files and yields a .csv file with the calculated Fukui indexes, and it even points out which of the atoms exhibit the largest values so if you have a large molecule you don’t have to manually check for them. We have also a batch version which takes all the files in any given directory and performs the Fukui calculations for each, provided it can find file triads with the naming requirements described below.

Output files must be named filename.log (the N electrons reference state), filename_plus.log (the state with N+1 electrons) and filename_minus.log (the N-1 electrons state). Another restriction is that so far these scripts only work with NBO population analysis as provided by the NBO3.1 program available in the various versions of Gaussian. I imagine the listing is similar in NBO5.x and NBO6.x and so it should work if you do the population analysis with them.

The syntax for the single molecule version is:

python fukui.py filename.log filename_minus.log filename_plus.log

For the batch version is:

./fukuiPorLote.sh

(Por Lote means In Batch in Spanish.)

These scripts are available via GitHub. We hope you find them useful, and you do please let us know whether here at the comments section or at our GitHub site.

About joaquinbarroso

Theoretical chemist in his early forties, in love with life and deeply in love with his woman and children. I love science, baseball, literature, movies (perhaps even in that order). I'm passionate about food and lately wines have become a major hobby. In a nutshell I'm filled with regrets but also with hope, and that is called "living".

Posted on December 20, 2017, in Coding, Computational Chemistry, DFT, Fukui, Gaussian, NBO, NBO, White papers and tagged , , , , , , , , , , , , . Bookmark the permalink. 3 Comments.

  1. Dear Dr. Barroso,
    thanks a lot for the very useful Python script to calculate Fukui indices and the information on the Blog page, How to calculate Fukui indices

    I would like to point out a possible inconsistency of usage of the symbols f+, f- for the Fukui indices between the Blog page and the GitHub page

    In your Blog page, we read:

    “…which atoms in a molecule have a larger tendency to either loose or accept an electron, which we chemist interpret as which are more prone to undergo a nucleophilic or an electrophilic attack, respectively”

    And it seems clear that:
    – larger tendency to lose an electron corresponds to doing a nucleophilic attack
    – larger tendency to accept an electron corresponds to doing an electrophilic attack

    Unfortunately, it is not fully clear whether the atom is doing the attack or it is subjected to the attack.
    I guess some ambiguity stems from the use of the verb “undergo”.
    According to dictionary.cambridge.org, undergo means “to experience” but mainly in the sense of “to be subjected to”.

    Considering the information that you provide in the rest of the page, It seems clear to me that the atom is doing the attack.
    For example, in the case of a nucleophilic attack, the atom is acting as a nucleophile, having a larger tendency to lose (donate or share) an electron.

    This seems also consistent with the definition of the Fukui indices indicated on the Blog page:

    Electrophilicity of atom A in molecule M (of N electrons)
    fA+ = PA(N+1)-PA(N)

    Nucleophilicity of atom A in molecule M (of N electrons)
    fA– = PA(N)-PA(N-1)

    So, for example, a large fA- means that on atom A we observe a large change in population when we remove one electron from the molecule.
    The atom with the largest change has the larger tendency to lose an electron, so it is the most nucleophilic.
    Therefore, correctly, f- indicates the nucleophilicity of that atom.

    On the GitHub page
    https://github.com/joaquinbarroso/Fukui
    we read
    “The spreadsheet will also display the highest values for the f+ (nucleophilicity) and f- (electrophilicity) functions”

    So now I am confused.

    Sorry for the long message and, again, thank you very much indeed for your attention!

    Sincerely
    Corrado

    • Dear Corrado,
      Thank you very much for pointing this issue, I agree that it is confusing and I most likely got it wrong at some point. What I usually do is use the phrase “being susceptible to a nucleo/electro philic attack”. If I remember correctly, there is another answer in this post claiming the opposite but I can’t remember what we were trying to specify on the github page.
      I promise to take a look at it soon.

      Thanks for commenting!

  1. Pingback: How to calculate Fukui indices | Dr. Joaquin Barroso's Blog

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: