What I Do (2025)

Trying to summarize some of the regular tasks, with workflow details for the less obvious ones, in case anybody else is going to pick them up when I'm gone.

Whoever is doing the task may want to use different methods, which is fine! Undoubtedly my methods for some of these things are dumb and inefficient, and would be different if designed from scratch. But I wanted to provide enough detail so that it would be possible to carry on with the task in some manner.

Testing/Documentation
Helpdesk
Citation tracking
Website
Licensing
ChimeraX testing/documentation – I don't think I need to elaborate on this one, as you are all aware of it, know how to add/modify files in our github, and for guidelines on the general structure and format, you can view the existing files [User Guide]

Chimera testing/documentation – not so much of this anymore, but similar to the above except that we use svn rather than git [User's Guide]

ChimeraX and Chimera helpdesk (user email lists) – don't need to elaborate on this one either

Citation tracking (both ChimeraX and Chimera) – I use Web of Science. Requires being on UCSF network directly or VPN.
  1. WoS queries (bookmarked URLs for my convenience, you could easily instead generate new queries with title containing program name and author ferrin or pettersen, or whatever else works): – these give ChimeraX and Chimera papers as well as their numbers of citations. For each paper, I click the citations number, sort by "recently added," and consult my personal notes on what these totals were the previous time I did citations, of to get an estimate of how far down each list I need to look. It's not exact, counts fluctuate for various reasons.
  2. For each citation: I search Pubmed in a separate Chrome window (better for cut-n-paste than Firefox, and link color indicates ones I've already visited), copy entry into relevant citations HTML file (see more details below), including a link to the paper. If fulltext, I search the paper for "chimera" and add brief comments on how Chimera(X) was used, and whether competitor programs such as Pymol, VMD, DSV were mentioned. If not in Pubmed, I copy the entry text from WoS and then use Google to find a link for the paper.
  3. The lists are in HTML files by program and year of publication, usually based on the date first listed in Pubmed (sometimes I manually edit to print date) in plato:/usr/local/projects/chimera/www/data/secure/chimera-citations, names like chipap2024.html, chipap2025.html, chix2024.html, chix2025.html. The Chimera intranet index has links for viewing these files as rendered in a browser. Within the files, the text of each entry looks something like this:
    <p><font color="black">
    Structural basis for the interaction between the bacterial cell division proteins FtsZ and ZapA.
    Fujita J, Kasai K, Hibino K, Kagoshima G, Kamimura N, Tobita S, Kato Y, Uehara R, Namba K, Uchihashi T, Matsumura H.
    Nat Commun. 2025 Jul 1;16(1):5985. doi: 10.1038/s41467-025-60940-w.
    PMID: 40593603
    <a href="https://www.nature.com/articles/s41467-025-60940-w">open access<a>
    (Chimera fitting, figures along with ChimeraX and Pymol)
    </font>
    
    The "font color" stuff is a relic from when I used to color-code entries differently, but now I still have it on each entry since it's used in my citation-counting scripts. The link text is just "link" or "open access" or "abstract". Within each file I have separate sections for our own publications, those describing plugins/interfaces, and everything else (the vast majority); each section is in reverse chronological order. Gray areas:
    • if both Chimera and ChimeraX are mentioned by name and they seem to realize they are two different things, I add to both lists regardless of whether either paper is cited. So hopefully I don't put the same thing in the same file twice, but it can be in both a Chimera file and a ChimeraX file.
    • if only one of the programs is mentioned by name but only the other one's paper is cited, I only add it to the list for the one whose paper was cited (e.g., if they say "ChimeraX" but only cite the Chimera paper, it goes in the Chimera list).
    • if it's clearly wrong, like the paper is cited for protein blots, or they say "we used Pymol" with a citation to our paper and the figures look like Pymol, I won't count it, although it may get put into the file with HTML commenting out around it instead of the "font color" stuff so that I don't bother with it again.
  4. I note down potential featured citations for the respective homepages: high-profile (Nature, Science, Cell...) or otherwise interesting (description of plugin or protocol, great figures, or cool project), recent enough to show up on the homepage list, which is automatically assembled to show just the five most recent dates. More on this below.
  5. Every week, I also scan the latest issues of Nature and Science as soon as they come out, so that I can feature any citations therein right away; I add the day date to the Pubmed entry if it only has the month, so that they aren't bunched up on the first of each month (the featured citations are automatically sorted by date on the homepage).
  6. Citation-counting scripts are in the same dir as the citation files (plato:/usr/local/projects/chimera/www/data/secure/chimera-citations):
    • count – count all Chimera citations
    • ncount – recent years of ChimeraX citations by year
    • countx – ChimeraX citations by year.
    These are simple shell scripts, easily modified to add the next year as time goes by. I manually maintain Chimera counts by year in the text file citations-per-year-ECM, ChimeraX counts by year in chimerax.csv, corresponding Numbers graph in chimerax.numbers
  7. The graph that appears in the ChimeraX downloads & citations page is a screenshot of that Numbers graph, the file plato.cgl.ucsf.edu:/usr/local/projects/chimerax/www/preview/htdocs/images/citationsPerCalendarYear.png (updated weekly, SVN-committed)
  8. I note down potentially interesting papers for group meeting presentations
Website (both) Licensing (both, but mostly ChimeraX now)
License release example, Altos Labs global license for ChimeraX:
  1. received notification to release the license, email 7/15/25 (see figure). This notification format was developed with Kimberly Cantero in an iterative process and is meant to provide all the information needed to generate a license key. Usually it does, but not always.
  2. consulted spreadsheet * to make sure it was in agreement with information in the notification. Some stuff is wrong, e.g., state is not "United States," but I was going to put "global" as the site in the license key anyway. There was already an entry for this license in the spreadsheet, modified many times for all of the correspondence that had already taken place.
    Examples of information added/modified in spreadsheet in response to emails: date of sending them an agreement and quote, date they return partially executed agreement, date OTMA returns fully executed agreement, date they provide a PO, any change in user name, location, and/or company name after they initially fill out the form to populate these parts of the agreement (since I need those to generate the license key), names/addresses of those who want to be CC'd on the license key email even though they're not the primary contact, etc.

    There are also lots of “where's my license?!?” email messages even though they may not have returned a signed form or paid yet, or if they did pay, they did it wrong and we can't find it easily.

  3. in the Chimera intranet, there are links to generate a new license key and to view pre-existing license keys. I use the link to generate a new key, enter the information needed to generate the key (usually mostly in the notification email, but sometimes needs checking against the spreadsheet and/or old emails), and then save it to a text file
  4. I go to the relevant Google doc form letter * [ChimeraX] [Chimera] copy it, and paste into an email to the contact, CC myself, Tef, chimera@cgl.ucsf.edu, any others at the company that should also be CC'd according to my spreadsheet. Then I paste in the actual license key and edit number of users, or say it is global, and also attach the license key as a text file, then send it after doublechecking everything. In this case Tom L from Altos Labs had sent a message 6/27/25 requesting to be the primary user, but nobody on our end ever replied and Yana J had filled out the form with her own name, so that's what ended up in the license key. However, I CC'd Tom L on the email with the license key (sent 7/15/25).
  5. I change the color of the entry in the spreadsheet to light green after changing status and adding dates of release and expiration
  6. I delete most (but not all) of the past email correspondence for that license since my licensing mail folder is ridiculously huge.