NSF Conflicts

For several years the NSF have been prototyping a spreadsheet based conflicts reporting system. The spreadsheet typically has the following fields:


C Name: Organizational Affiliation Optional (email, Department) Last Active

The problem is you need to make this file every time you submit a grant. Here is a somewhat trivial solution, but hopefully it will help you create this file.

The main issue is co-authors on papers. I assume that you can rattle off your PhD/Postdoc advisors and advisees. So we’re going to need a list of your publications. The easiest way to do that is to use Google Scholar, because you probably already have a page with all your publications.

  1. Go to your citations page.
  2. At the top of the page, click the check box next to Title which will select your citations (it doesn’t matter if it doesn’t select all as we’ll do that on the next step).
  3. Click the Export button, and choose bibtex
  4. Choose Export all my articles and save that to a file somewhere on your computer. If that page opens in your web browser, just right click on the page and choose “Save As…”. Save as a file called, for example, citations.txt.

Next, grab this python code from Github (you don’t really need the whole repo, just the code). NSF_Conflicts.py. You will also need to install pybtex, which you can easily do with pip (e.g. pip install  pybtex).

If you have a previous years conflicts file, we will read that for you and use it to populate this years conflicts form. We expect it to be a tab separated file with the author in the second column and affiliation in the 3rd column.

To run the code, use a command like this:

python NSF_conflicts.py -f citations-2017.txt -c conflicts_2017.csv

Note: there is an issue that google often incorrectly formats bibtex files by including duplicate entry names. NSF_conflicts.py will warn you before trying to parse the file (because pybtex breaks if there are duplicate IDs). There are two trivial solutions: you can either delete one of the offending entries or you can add a number (e.g. 1) to the end of the offending entry so it is no longer a duplicate. It doesn’t matter which you choose and you can do it with a text editor.

Finally, output the file to a .tsv file like this:

python NSF_conflicts.py -f citations-2017.txt -c conflicts_2017.csv > NSF_Conflicts2017.tsv

This code prints out all possible variants of your conflicts. For example, when I do it, I see entries for:

  • Rohwer, F
  • Rohwer, Forest
  • Rohwer, Forest L

But they are alphabetical, and so it is easier to go through the list and delete the duplicates. The way that I approach this is to edit it in Open Office (but you can use excel) and delete the name of one of the duplicates. When I’m done, I sort on the name column and delete the rows for those with missing names. Then you need to go back and add locations for those that you know where they are.

You can now double click on the .tsv file and it will open with excel or your favorite editor. From there, you can copy and paste into the NSF conflicts template that you will need to download from the NSF. Currently (August 2017) the template is available from the NSF Conflicts Page

You need to add enough rows in Table C to include all your co authors, and then copy and paste the lists over.

Note that we make the date january 1st that year, because often the bibtex record only has year information.