Event notes
Follow-up workshops are the riskiest kind of demo - They’re LIVE software demos, and we invite you to run it on your own machine as well. These are intended to be hands-on and technical, so we’ll be discussing both the relevant science and technical aspects of using the tools.
This will be recorded, but recording will stop after the end of the notebook Q&A. Feel free to ask questions via voice or chat during the workshop . There is no expectation of privacy in this meeting, either in the recorded or unrecorded parts, so assume it is a public space even after the recording finishes.
General plan is for this to be about two hours of prepared material, feel free to interrupt with questions, and if we have a natural stopping point we might take a 5 minute break. After the prepared material we’ll have a developer support session, where we turn off the recording and encourage you to try feeding your own data in or modify the workflow to your liking. During that time we can help out with any problems you encounter.
Start the install instructions immediately if you haven’t already - The installation instructions are available on the workshop page, but if you’re not able to install the material for this one locally, you might be best off just following and running yourself later. If you’re having trouble, please mention it in the Zoom chat and switch to the Colab link available on the project page. OpenFF developers will work with you during the dev time to debug your setup.
2024_04_24 Vignettes Workshop
MT and JW will prepare personal meeting links and stage them here
JW – https://us06web.zoom.us/j/83259717547?pwd=ke1l7YiR1UGxTOI1zkFW9Ydorb5hH8.1
MT – https://us06web.zoom.us/j/87885784973?pwd=gnIHcbboXbxdopbG3OBb9kyoUKUYLr.1
Main meeting link - https://us06web.zoom.us/j/87885784973?pwd=gnIHcbboXbxdopbG3OBb9kyoUKUYLr.1
Participants
Audrius Kalpokas
Cesar
Eva Notari
Jeff Wagner
John
Josh Mitchell
Luke Zondagh
Matt Thompson
Noora
Pavel Buslaev
Vaclav Hanzl
Vedran Miletic
Vsites
PB – AFAIK, different engines support different vsites. How are you planning to support these in the future?
JM – We will pick the appropriate representation for our SMIRNOFF vsites in other engines. But some engines won’t be able to handle them, those will emit an error when you try to export them in Interchange.
PB – Will you have two lines of FF, one with vsites, another without?
JW – In the distant future, we’ll only have a single FF line that will include vsites. But we won’t include them until we show that they’re worth the performance hit. If it turns out that there’s a type of vsite that improves FF performance a lot and ISN’T supported by the common engines (AMBER, GROMACS, etc), we’ll have a period of time when we release TWO force fields - one with vsites, one without.
RDKit ligand modification
PB – How are conformers generated for the simulation after the chemical change?
JW – It’s such a small chemical change (H → F) that we keep the coordinates the same and just minimize to clean it up.
Micelle
PB (DM to Jeff) – For your information: there is a raised issue within NMRLipids community about openff lipids (Issues · NMRLipids/Databank I might take a look at it quit soon in detail, but as for now this is maybe a good community/repository to track/evaluate lipid ff
RNA
PB – Is it possible to change the coordinates of the structure in the interchange? A potential use case is that you might have multiple monomers of the same NA and want to move it around.
JW – Traffic light system?
NCAA
PB – In priciple, does NAGL have guards against cases where it will behave poorly?
JM – It’s hard to guard for these cases it in general. There are limited guards in NAGL but they can’t be considered to be super safe.
PB – So the whole protein uses ff14sb parameters, and the dye uses sage?
JM – The dye residue has some ff14sb parameters because of the backbone similarity.
Zoom chat
05:00:43 From Jeffrey Wagner to Everyone:
The materials for today’s workshop can be found here: Things to make and do with OpenFF tools — OpenFF Documentation documentation
05:11:29 From Cesar to Everyone:
can you explain again what is interchange please?
05:12:33 From Cesar to Everyone:
Perfect thanks
05:25:13 From Cesar to Everyone:
I fouy can at some point, could explain a bit more how active sites can be used in applications. Apologies, for me it is a new concept
05:29:26 From Jeffrey Wagner to Everyone:
Virtual sites are a way to more accurately model the non bonded forces in a simulation. For example, some atoms have uneven charge distributions and aren’t well modeled by having just a point charge at their center, so taking some of the charge off their nucleus and putting it a short distance away can make a simulation more accurate.
05:36:08 From Cesar to Everyone:
Reacted to "Virtual sites are ..." with 👍
05:41:34 From Matt Thompson to Everyone:
(QCArchive is normally one of the more stable tools we interact with - we shove millions of molecules through it a year and only rarely have issues pulling them back down)
05:44:02 From Jeffrey Wagner to Everyone:
Reacted to "(QCArchive is normal..." with 🔥
05:44:59 From Matt Thompson to Everyone:
Reacted to "(QCArchive is normal..." with 🔥
05:45:01 From Matt Thompson to Everyone:
Removed a 🔥 reaction from "(QCArchive is normal..."
05:52:38 From pbuslaev to Jeffrey Wagner(Direct Message):
For your information: there is a raised issue within NMRLipids community about openff lipids (Issues · NMRLipids/Databank I might take a look at it quit soon in detail, but as for now this is maybe a good community/repository to track/evaluate lipid ff
05:54:06 From Jeffrey Wagner to pbuslaev(Direct Message):
Wow - This is awesome. I’ll share this with the team!
05:54:20 From pbuslaev to Jeffrey Wagner(Direct Message):
Reacted to "Wow - This is awesom..." with 👍
05:55:03 From pbuslaev to Jeffrey Wagner(Direct Message):
I can share additional details if need, so just let me know
05:56:47 From Jeffrey Wagner to pbuslaev(Direct Message):
I’m not super aware of the details, but our science lead, Lily, had done some poking around with lipid validation. Do you mind if she contacts you later if she has questions?
05:58:25 From pbuslaev to Jeffrey Wagner(Direct Message):
Yes, sure. That's fine. Do you need my contacts?
06:00:43 From Jeffrey Wagner to pbuslaev(Direct Message):
Yes please. Are you on our slack/want to be added?
06:01:34 From Jeffrey Wagner to pbuslaev(Direct Message):
(In either case, I’d love to have your email)
06:02:53 From pbuslaev to Jeffrey Wagner(Direct Message):
I guess I am not on your slack but can be useful to be added. Thanks. I guess personal email would be better for this: pbuslaev@gmail.com
06:03:54 From Jeffrey Wagner to pbuslaev(Direct Message):
Great, invite sent.
06:04:05 From pbuslaev to Jeffrey Wagner(Direct Message):
Thanks! Received
06:10:51 From Vaclav Hanzl to Everyone:
Many thanks Josh and Jeffrey! (Have to leave now unfortunately.)
06:11:57 From Cesar to Everyone:
is openFF able to handle cofactors? ATP, NADPH< FAD etc
06:13:11 From Cesar to Everyone:
ok, Thanks
06:18:49 From Matt Thompson to Everyone:
This bug was fixed yesterday, just not in a release yet 🙂
06:19:17 From Jeffrey Wagner to Everyone:
Reacted to "This bug was fixed y..." with 👍
06:29:18 From Matt Thompson to Everyone:
Star Trek hour 😎
06:38:02 From Cesar to Everyone:
very inetresting. Shall we able to expor those charges?
06:38:51 From Cesar to Everyone:
yes
06:49:11 From Jeffrey Wagner to Everyone:
To add on to what Josh said about “NAGL is not an AM1BCC charge assignment method” - this is the current state. Our goal in the coming months is to release a NAGL model that we do endorse for AM1BCC charge assignment, and when that happens, calling offmol.assign_partial_charges(“am1bcc”)
will use NAGL when it’s available.
Debrief
JM –
Felt a little more chaotic/pacing was trickier to hold. If we do vignettes again we should focus more on showing what we can do rather than discussing how it all works. I think I covered things well and JW filled in when I missed important details. I think I was most familiar with the notebooks I wrote and less with the ones contributes by JW and MT. Also, if we do this again, we could say that the first hour is more basic stuff and the second hour is more advanced, and so folks might drop in at halftime.
MT –
Thought it went great. Was half-paying attention and doing other stuff. Most of my ideas for improvement were about “it’d be great if this was green/the tools were out”. I think the pacing was good for an audience of people that don’t work here.
JW –
Congrats on finishing up the live demos. This year was a big improvement on last year.
I forgot to do the #general channel announcement before this one, might be the reason for the low initial turnout
The colab env failed on the QCSubmit example because it was broken by OpenEye vs. qcportal/the zstandard thing. I think this issue is more severe than I’ve previously assumed. If we caught this earlier we could have just kept OE from being installed on colab in the first place.
JM – Yeah, worth noting that colab is a HUGE pain to use for this.
JW – Yes, but it’s also a HUGE win that people can use our whole stack so easily in just a few minutes. Let’s not forget how much of a selling point this is to make attendees believe that our stuff is usable.
JM – Possible future self-running WASM notebooks in a few years.
Awesome back-and-forth with PB
Pacing seemed a little… rambling? Discussion of lots of good details but also some less important ones. Sometimes I could see things that we could start pre-executing but instead we talked a lot about the previous cell and then had nothing to say while the next one ran. I probably didn’t help by taking away rehearsal time by asking you to spend time on RNA+lipids at the 11th hour.
JM – If we do this again, we should reduce the scope/number of bignettes.
JM+JW – Maybe some rethinking of how notebooks are transitioned/introduced. Sometimes the audience wouldn’t know at a high level what we were about to see, but they’d hear a few minutes of caveats. So more context at the introduction about what we’re doing and why it’s hard to do in other ecosystems would be good.
2024_04_17 Protein prep Workshop
MT and JW will prepare personal meeting links and stage them here
JW – https://us06web.zoom.us/j/83428623890?pwd=wHbKTkQjIYaiGPcTaTcJu14ViZzRUl.1
MT – https://us06web.zoom.us/j/86702973232?pwd=FsOZ7SnXlVBZm3DIb0Ytm8J0Q20jtH.1
Main meeting link - https://us06web.zoom.us/j/85120722786?pwd=Hb4mp4gOkNnjyarG4RLsoR9ClEPDDC.1
Participants
Josh Mitchell
Jeff Wagner
Audrius Kalpokas (left at 45 mins)
Nicola Demitri
Thomas Steinbrecher
Kira Campbell (left at 55 min break)
Joao Morado (left at 29 mins)
Pavel Buslaev
Vaclav Hanzl
Surya (left at 55 min break)
Nikolas Rintdorf (left at 45 mins)
John
Dimitras Stamatis (left at 75 mins)
Cesar
Matt Thompson
Magd Badaoui
Abhishek Kognole (left at 77 mins)
Luke Zondagh (left at 23 mins)
Noora Aho JYU (left at 85 mins)
Lisa Castellar (left at 55 min break)
Hannah Turney (joined at 1 hour)
PB – If there’s a big missing part, I might want to simulate the protein with two independent chains. Would that be possible here?
JM – Yes, could removethe loop and replace with NME and ACE
PB – What are the supported termini?
JM – Just ACE and NME, and uncapped/zwitterionic protiens.
(after propka)
PB – How does the protonation consider the ligand?
JM – Propka doesn’t support ligands.
PB – Are you aware of any open source tools that would do this?
JW + JM – Not off the top of our heads. We’ll do a quick check and get back to you though.
PB – You’re only mentioning monovalent ions, but there are parameters for calcium and magnesium in OpenFF
JM – I don’t think we have them in our FFs
PB – They’re in TIP3P-FB
JW – That’s a port of an external FF, not recommended for use
(end of talk)
MB – Thanks, super clear. Is it possible to run this on HPC/which files do I need to send over? And which format do you suggest for saving systems?.
JM – Best to save with checkpoints
(General discussion, we don’t quite have best practices for schlepping parameterized systems)
PB – Can do HMR?
MT – Interchange can do HMR in OpenMM and GROMACS. It’s a keyword in the export commands.
Wrap up
A reminder about context for this workshop: OpenFF’s ecosystem can load proteins, but it requires them to be “perfect” - protons assigned, no missing atoms. The purpose of this workshop is to help you to get your input to OpenFF’s door without using commercial tools. We’re not arguing that this workflow is better than any commercial product, but rather that there’s a fully open alternative.
We’ll be putting a recording of this workshop on Youtube in the coming weeks. We intend to keep these materials online in some form, but feel free to grab a copy in case it gets moved around.
COPY CHAT TRANSCRIPT
04:58:40 From Jeffrey Wagner to Everyone:
The materials for today’s workshop can be found here: Protein Preparation in Jupyter — OpenFF Documentation documentation
05:00:33 From Jeffrey Wagner to Everyone:
The materials for today’s workshop can be found here: Protein Preparation in Jupyter — OpenFF Documentation documentation
05:04:51 From Jeffrey Wagner to Everyone:
The materials for today’s workshop can be found here: Protein Preparation in Jupyter — OpenFF Documentation documentation
05:06:35 From Jeffrey Wagner to Everyone:
The materials for today’s workshop can be found here: Protein Preparation in Jupyter — OpenFF Documentation documentation
05:07:35 From nicola.demitri to Jeffrey Wagner(Direct Message):
Tried the env.yaml with mamba on an Apple Silicon, which didn't work. That's expected I assume?
(this doesn't block me, I usually work on a Linux VM, and on that I didn't have issues)
05:09:24 From Jeffrey Wagner to nicola.demitri(Direct Message):
Right - We don’t have quite all of our dependencies built for apply silicon yet. We’ve had good luck using Apple’s Rosetta emulation (I work on a Apply Silicon Mac and don’t have any trouble).
05:09:33 From Jeffrey Wagner to nicola.demitri(Direct Message):
A tip for how to get started on that: https://docs.openforcefield.org/en/latest/install.html#install-arm
05:09:54 From nicola.demitri to Jeffrey Wagner(Direct Message):
Reacted to "A tip for how to get..." with 👍
05:10:00 From Jeffrey Wagner to Everyone:
The materials for today’s workshop can be found here: Protein Preparation in Jupyter — OpenFF Documentation documentation
05:10:48 From nicola.demitri to Jeffrey Wagner(Direct Message):
thanks! If I ever need to actually work on my local machine, I'll start from there. For now, Linux's ok. Thanks for the early wake up too.
05:10:58 From Jeffrey Wagner to nicola.demitri(Direct Message):
Reacted to "thanks! If I ever ne..." with 👍
05:12:27 From Cesar to Everyone:
I am runnin this in colabfold
05:13:20 From Jeffrey Wagner to Everyone:
Someone wrote in saying that they had trouble installing OpenFF on Apple Silicon. We don’t have all of our dependencies built for apple silicon yet, but the Rosetta emulation layer is perfectly sufficient to run everything (I do all my development work on an apple silicon Mac!) https://docs.openforcefield.org/en/latest/install.html#install-arm
05:21:55 From Vaclav Hanzl to Everyone:
Works like a charm locally so far :)
05:22:05 From Jeffrey Wagner to Everyone:
Reacted to "Works like a charm l..." with 🎉
05:38:56 From Thomas S to Everyone:
does pdbfixer optimize H-bond networks? Things like Histidine states, GLN flips, etc.
05:40:00 From Jeffrey Wagner to Everyone:
No, but I believe the next step (pdb2pqr) does :-)
05:51:14 From nicola.demitri to Everyone:
Is docking (with this stack and API) deterministic? Will I always get the same few poses?
05:52:03 From nicola.demitri to Everyone:
👍 thanks, I'll take a look at the utils. Just wanted to know if it was an explicit goal or not.
05:53:22 From Cesar to Everyone:
what deterministic means?
05:57:31 From Jeffrey Wagner to Everyone:
Deterministic in this context means “the program will always return the same output”. In a lot of computational chemistry applications, programs either intentionally use random numbers to sample a space, or their output can vary depending on a number of factors at runtime. That is the case for the docking portion of today’s workflow.
06:00:16 From nicola.demitri to Everyone:
Sorry, I missed Cesar's question. Yes, I meant what Jeffrey explained.
06:00:57 From Thomas S to Everyone:
Isnt Autodock based on a random genetic algorithm for Docking? So it would not ever be deterministic?
06:01:02 From Cesar to Everyone:
Reacted to "Deterministic in t..." with 👍
06:02:08 From Jeffrey Wagner to Everyone:
I believe that’s correct, however (if I recall correctly) it’s possible for the user to specify a seed for the random number generator to make it give the same output each time the program is run.
06:02:22 From nicola.demitri to Everyone:
Thomas: sometimes algorithms that include a stochastic component can be made to behave deterministically by providing a seed, as long as the developers have made sure that all random number generators use that seed
06:02:32 From Jeffrey Wagner to Everyone:
Reacted to "Thomas: sometimes al..." with 👍
06:06:45 From nicola.demitri to Everyone:
The fact that connectivity seems broken for some of the waters (rogue oxygens/hydrogens) is because they supposedly cond across PBC edges?
06:06:52 From nicola.demitri to Everyone:
*bond across
06:07:06 From Matt Thompson to Everyone:
Usually yes
06:07:53 From Jeffrey Wagner to Everyone:
I believe so, I’ll confirm with Josh at the next break.
06:08:12 From nicola.demitri to Everyone:
ok. They seemed too many for being just the edge ones, but then again I don't have a innate intuition for dodecahedral boxes (where the edge to inner volume ratio is higher)
06:08:31 From nicola.demitri to Everyone:
Reacted to "I believe so, I’ll c..." with 👍
06:09:32 From Jeffrey Wagner to Everyone:
Reacted to "ok. They seemed too ..." with 👍
06:12:44 From Cesar to Everyone:
Can be MD made determinist as well?
06:13:45 From Thomas S to Everyone:
are 4-point waters coming soon?
06:14:02 From nicola.demitri to Everyone:
Cesar: not with openmm as far as I'm aware (they support seeds, but they adopt a particular approach to seeding which defies detirminism)
06:14:21 From john to Everyone:
Just a side question: Is this the last session of the workshop ?
06:14:46 From Matt Thompson to Everyone:
@Cesar At the level of “if I run or 1 ns, will my positions be the same between runs”: it’s possible with a heroic amount of effort, but almost surely not what you want (it’s typically ensemble- or time-averaged properties that you want, not precise positions)
06:15:50 From Jeffrey Wagner to Everyone:
Reacted to "@Cesar At the level ..." with 👍
06:16:43 From Matt Thompson to Everyone:
@Thomas S there are SMIRNOFF ‘ports’ of some common 4+ site models openff-forcefields/docs/water-models.md at main · openforcefield/openff-forcefields
Note that virtual site waters (and non-waters) are not supported universally across all engines at the Interchange level (living docs): <https://docs.openforcefield.org/projects/interchange/en/stable/using/status.html>
06:17:40 From nicola.demitri to Everyone:
(Cesar: determinism in this context is maybe only useful for devs developing downstream tools, to test reproducible scenarios, develop numerical benchmarks, or assess stability)
06:19:48 From Cesar to Everyone:
Reacted to "(Cesar: determinis..." with 👍
06:19:57 From Cesar to Everyone:
yeap. I took so long
06:20:50 From Jeffrey Wagner to Everyone:
Replying to "Just a side question..."
This is the final section of today’s Protein Prep workshop (previously we’d run this material in the pacific time zone, but there are no more instances of this material planned after this Atlantic time zone instance). There IS one more OpenFF workshop on a different topic - the vignettes/things to make and do with OpenFF workshop. The information for that workshop can be found here: <https://docs.openforcefield.org/en/latest/workshops/2024/>
06:22:12 From john to Everyone:
Reacted to "This is the final se..." with ❤️
06:25:03 From nicola.demitri to Everyone:
Extremely clear, thanks
06:25:24 From nicola.demitri to Everyone:
HOH999
06:25:31 From Jeffrey Wagner to Everyone:
Reacted to "HOH999" with 😎
06:25:45 From Jeffrey Wagner to Everyone:
Yes, I think it’s exactly something like that.
06:33:58 From Matt Thompson to Everyone:
Interchange.json() dumps out a blob, so something like open(“file.json”, “w”).write(my_interchange.json())
06:35:54 From Matt Thompson to Everyone:
JSON not optimized for size 🙂
06:38:37 From nicola.demitri to Everyone:
Great walkthrough. Thanks Josh and Jeffrey 👏🎈
06:38:47 From Vaclav Hanzl to Everyone:
Thank you for a fantastically prepared workshop!
06:39:24 From Matt Thompson to Everyone:
A good page to have bookmarked for “does Interchange support X?”: Capabilities — openff-interchange documentation
06:40:04 From nicola.demitri to Everyone:
Reacted to "Thank you for a fant..." with 👆
06:40:29 From Magd Badaoui to Everyone:
Reacted to "A good page to hav..." with 👍
06:40:37 From Matt Thompson to Everyone:
(We’ve done plenty of work with protein+ligand+water stuff, and separately work with JSON dumps of smaller Interchange systems, but not so much of doing both at the same time, so that particular detail is not really optimized. If this is important just reach out and we can reprioritize over time)
06:42:50 From nicola.demitri to Everyone:
Replying to "(We’ve done plenty o..."
what's 90MB in this day and age? 🙂
(well otherwise there's binary JSON, which supports bytearrays)
06:43:24 From Hannah Turney to Everyone:
Thank you!
06:43:30 From Matt Thompson to Everyone:
Reacted to "what's 90MB in this ..." with 🙌
06:43:32 From Thomas S to Everyone:
Thanks a lot!
06:43:33 From Matt Thompson to Everyone:
Reacted to "Thank you!" with 🙌
06:43:37 From Matt Thompson to Everyone:
Reacted to "Thanks a lot!" with 🙌
Debrief
JW –
High attrition. Not sure why. I suspect it’s just that the notebook explains itself well.
Lots of good questions, especially from PB
Let’s discuss best practices for preparing systems and schlepping them on to HPC
MT – Is this really our job? There are already places where people teach first year PhDs how to do this. We don’t need to put our hats in this ring.
JM – It’d be great if we were the ones teaching first year phds how to do this.
MT – It’d be nice but we have to be careful with scoping our responsibilities.
JW – I agree that there are already explanations for porting sims to HPC in other ecosystems. But I’m not aware of such a tutorial for OpenMM.
JM – I think I’ve read this before.
JM
Should have code for checking system charge=0. I figured out how to do this for vignettes but didn’t pull it in.
Determinism question is good. Would be good to have answers to this and thread seeds through out API. Makes it hard to say things were reproducible
JW – I dont' think we should worry about this, let’s just say “reproducible modulo random seeds”
Need to be more familiar with JSON API - That’s just pydantic, right?
MT – Basically yes
JM – I’ll memorize that and figure out how to zip it.
Realized that we can’t just move OMM system to another computer because platform might choke
Taking ligand into account for better protonation is a good question
JW – I don’t think we should get too involved in this kind of question.
Divalent ions recommendation was a good question - Apparently we have those from forcebalance? I know gromacs is a big mess because they distribute divalent ion params but they don’t work.
MT
I’m thinking a lot about how much of this we want to be responsible for. Very complex question.
Things to change for next time?
MT – The breadth of vignettes might attract a lot of really hard questions.
JM – In a way that might be easier because we’re more allowed to say “we don’t know”
JW – Agree
MT – No other feedback/ideas for improvement. This went super well IMO.
JW – Agree
2024_04_10 SMIRNOFF Workshop
Participants
Jeff Wagner
Josh Mitchell
Matt Thompson
Eva Notari
Abishek Kognole
Hannah Turney
Javier Camargo
Joao Morado
John
Kin Chao
Kira Campbell
Lisa Casteller
Luke Zondagh
Noora
PBuslaev
Surya
Thomas S
Audrius Kalpokas
Anna Herz
Hovine El Khaoudi
Niklas Rindtorff
Goliath/Michael
Alejandro
Vaclav Hanzl
Eduard Neu
Jen
PB – Is it possible to add new parameters? Sage in the newer version would be based on some fitting to fragments/data?
JM – All of our fitting tools and data are out in the open. But they may be a little harder to use. MT, can someone add a parameter to an already-created interchange?
MT – Not easily. Folks should
JW – But to clarify, it’s super easy to add
PB (re protein box simulation) – What if you protein has modifications?
JM – Current workflow has all parameters except for nonbonded for PTM-modified proteins. Come to workshop in a few weeks.
NR – Double checking: When combining forcefields - can we only use OpenFF forcefields (or their ported analogs like AmberFF14 / Bespoke fields)?
JM+JW – Can’t combine at the forcefield level, but we can combine at the Interchange level. Come to the Vignettes workshop later.
after bespokefit
PB – Is there a prior way to estimate how good the torsions would be? schrodinger offers this sort of estimate
JW – That’s a great question. We don’t have the resources to offer this now but it’s something that our governing board has requested.
Recordings of these talk will be uploaded soon
Debrief
JW
Overall excellent
Quiet-ish crowd initially. Not much we can do about that. Good Qs in chat. I should remember to verbalize good chat questions.
Update Zoom profile pic. Camera-off was a good idea
I should set up breakout rooms
JM – That is only for webinars
JW – MT and I could have our personal meeting room links ready and pull people into those for deployment/tech support.
JM
Thought it went well. Recorded rehearsal helped, had an auto-transcript and also wrote a script, didn’t end up using either.
MT
Don’t recall anything standing out as desperately needing improvement
In openMM bit, during minimization, you use OMM API. Could have used Interchange wrapper.
JM – Used OMM API instead of wrapper to localize audience in OMM-land
Could relax OMM minimization tolerance (minimization took 581 secs on colab)
JM – I could pre-minimize the coordinates in the PDB
A few very minor recommendations about rewording/rewriting certain parts, but nothing super important.
Seems goldilocks-level well prepared. I thought that was really nice.
JM – The first run a few weeks ago may have been under-prepared, but I feel good about this one
2024_03_13 Pacific Vignette Extravaganza
Participants
Josh Mithcell
Jeff Wagner
Anika Friedman
Binqing Wei
Lily Wang
Zachary Baker
Monsurat Lawal
Cesar
Mary Pitman
Rohith Mohan
Xiangwei Zhu
Cesar Mendoza Martinez
Thomas Coudrat
Geregin/Garyk Papoian
BW – QC notebook complains, wants verify=false Return to this at end of workshop
RNA example - Make a workflow diagram showing what we’re doing/which objects go through which ecosystem. (done, opened https://github.com/openforcefield/openff-qcsubmit/issues/269)
Chat:
15:01:54 From Jeffrey Wagner to Everyone:
The materials for today’s workshop are available here: Things to make and do with OpenFF tools — OpenFF Documentation documentation
15:03:45 From cesar to Everyone:
Hi from the UK, Scotland
15:06:46 From Jeffrey Wagner to Everyone:
Reacted to "Hi from the UK, Scot..." with 👋
15:11:14 From cesar to Everyone:
OSError: Source 'openff-2.1.1.offxml' could not be read. If this is a file, ensure that the path is correct. Looked in the following paths and found no files named 'openff-2.1.1.offxml':
15:11:47 From Jeffrey Wagner to Everyone:
It sounds like you may have an older environment. Could you run “!mamba list openff” and post the output here?
15:12:42 From Lily Wang to Everyone:
Reacted to "Hi from the UK, Scot..." with 👋
15:13:22 From cesar to Everyone:
# Name Version Build Channel openff-amber-ff-ports 0.0.4 pyhca7485f_0 conda-forge openff-forcefields 2023.11.0 pyhca7485f_0 conda-forge openff-interchange 0.3.18 pyhd8ed1ab_0 conda-forge openff-interchange-base 0.3.18 pyhd8ed1ab_0 conda-forge openff-models 0.1.1 pyhca7485f_0 conda-forge openff-toolkit 0.14.5 pyhd8ed1ab_1 conda-forge openff-toolkit-base 0.14.5 pyhd8ed1ab_1 conda-forge openff-units 0.2.1 pyh1a96a4e_0 conda-forge openff-utilities 0.1.11 pyhd8ed1ab_0 conda-forge
15:13:55 From mary.pitman to Everyone:
Is interchange fairly stable at this point?
15:15:26 From Jeffrey Wagner to Everyone:
Replying to "# Name Version Build..."
15:16:58 From Jeffrey Wagner to Everyone:
Replying to "# Name Version Build..."
15:18:52 From cesar to Everyone:
Replying to "# Name Version Bui..."
15:20:39 From Jeffrey Wagner to Everyone:
Reacted to "Great, it works now...." with 🎉
15:26:38 From cesar to Everyone:
can you explain please, where we can use virtual sites?
15:26:48 From cesar to Everyone:
I know a silly question
15:27:06 From cesar to Everyone:
form a chemistry level
15:27:48 From cesar to Everyone:
yes
15:27:53 From cesar to Everyone:
thanks!!
15:28:04 From Jeffrey Wagner to Everyone:
Reacted to "thanks!!" with 👍
15:28:33 From Binqing Wei to Everyone:
Are there VS on sulfur atoms in heteraryl ring?
15:29:19 From Jeffrey Wagner to Everyone:
I think, to expand on Josh’s answer - there ARE some force fields out in the world with virtual sites - Schrodinger’s OPLS3e and 4 (I believe) has some vsites.
15:29:52 From Binqing Wei to Everyone:
Replying to "I think, to expand o..."
15:31:03 From Jeffrey Wagner to Everyone:
Replying to "Are there VS on sulf..."
15:32:54 From Jeffrey Wagner to Everyone:
Replying to "I think, to expand o..."
15:34:49 From cesar to Everyone:
can we use here gpus?
15:36:13 From Lily Wang to Everyone:
Reacted to "My understanding is ..." with 👍
15:36:20 From Jeffrey Wagner to Everyone:
Replying to "can we use here gpus..."
15:36:43 From cesar to Everyone:
Reacted to "The parameter assi..." with 👍
15:38:10 From Jeffrey Wagner to Everyone:
Replying to "I think, to expand o..."
15:44:03 From cesar to Everyone:
does this work as a kind of benchmark!
15:44:06 From cesar to Everyone:
?
15:44:54 From Thomas Coudrat to Everyone:
you're muted Josh
15:46:19 From Josh Mitchell to Everyone:
Reacted to "you're muted Josh" with 🤦
15:46:43 From cesar to Everyone:
if we can compare our results with hte database
15:48:11 From cesar to Everyone:
Thanks!!
15:49:40 From Thomas Coudrat to Everyone:
I have to leave at the hour unfortunately: is this being recorded? The workshop part, not the following discussion. Thanks!
15:50:40 From Jeffrey Wagner to Everyone:
Replying to "I have to leave at t..."
15:50:59 From Thomas Coudrat to Everyone:
Replying to "I have to leave at t..."
15:54:26 From Jeffrey Wagner to Everyone:
Replying to "if we can compare ou..."
16:03:17 From mary.pitman to Everyone:
If you give pac_box too high of densities will it put everything in the box?
16:07:07 From mary.pitman to Everyone:
Sounds like a safety
16:07:13 From cesar to Everyone:
That is so cool!!. Have you tried an see with small molecules and lipids?
Debrief:
Overall:
Generally went well. Participants were very engaged. Especially Binqing and Mary.
Lots of material for not a lot of time. Are there topics that could be cut?
QCSubmit? Could be its own workshop.
Pace is good for an audience that’s just watching. But it’s hard to split attention when running the notebooks yourself.
Maybe just have the audience follow for this workshop? They’ll have materials
We had a good exchange with Mary about valdiity/correctness of nagl charigng a whole modified protein. So “stop light” system nucleates good discussions.
Things to change
Stop using interchange +, use combine instead
Change order?
JW – Could put nagl early and then use it for rdkit modification?
JM – I don’t think so, the conceptual layout right now is pretty solid.
Make NAGL comparison yellow?
JM – That’s a good idea, but I wouldn’t change the order
JW – Could be good to pre-run more examples
LW – Pausing-for-running breaks gave folks a good chance to catch up/get back on board/generate questions
JM – I didn’t feel like the timing was bad. Though pre-charging DLPC was a good change (and introduces charge_from_molecules). But I’ll pre-run the rdkit ligand modification one.
JW – Could be good to loop trajectories at the end or otherwise have more of a “ta da!” conclusion before continuing on to next notebook.
Add a workflow diagram to RNA simulation
LW – I understood it alright, but I’m already an expert. The big function made sense to me.
JW – I think a diagram would help a lot, and a bit more rehearsing for this one.
Add lipid to RNA sim?
JW – Our partners would absolutely love lipid+RNA sims
JM – Do we know of a system with RNA+lipids that we can simulate? Everything in the literature is way too big.
Add charge comparison vs ff14sb to NCAA+NAGL workshop
Move solvation code to the front of RNA vignette
Maybe refactor RNA notebook to have membrane+cholesterol already packed/in a micelle. Could remove the RNA-from-rdkit part as well and just have it pre-placed. Might require some more scientific justification (why is this RNA next to a micelle?) but could be worth it.
2024_02_27 Pacific Protein Prep workshop
Participants
Ely Fazelpour
Binqing Wei
Lev Tsidilkovski
Monsurat Lawal
Omer Osman
Thomas Coudrat
Xiangwei Zhu
Theodore L Fobe
Tarini Hardikar
Mary Pitman
Lucia Vinalopez (left @ 1 hour mark, during solvation)
Cesar Mendoza Martinez
Anshuman Kumar
Johannes Loffler
Akim Guseynov
Recommendations for open source ligand proton assignment?
(General) Nobody knows of a broadly-accepted “best” option. Could be a good discussion.
Running on WSL 1/2
Future of this workflow? Will folks use this in their work? Should we make more workshops like this?
MP – Yes, this is more straightforward that what I’m doing.
TC – What are the gotchas in this workflow?
JM – Impossible to enumerate all of them.
Feedback
TC – Colab run looked slightly different -
…
These steps shouldn’t be assumed to be reproducible
Need to fix “sage can handle anything made of CHONPS - Include halogens!
Chat log
You (Feb 27, 2024, 2:59 PM)
The materials and install instructions for this workshop are available here: Protein Preparation in Jupyter — OpenFF Documentation documentation
The materials and install instructions for this workshop are available here: Protein Preparation in Jupyter — OpenFF Documentation documentation
You (Feb 27, 2024, 3:07 PM)
The materials and install instructions for this workshop are available here: Protein Preparation in Jupyter — OpenFF Documentation documentation
Omer Osman (Feb 27, 2024, 3:09 PM)
Fyi— would be great if the Installation instructions for Mac link to Apple Silicon Mambaforge as opposed to Intel (error message is unclear since error says “you are trying to install 64-bit version while your machine is not 64-bit”)
Thanks for the feedback - I need to double check whether all of our dependencies are available as osx-arm packages. In particular, some of the QM stack was slow on updating, so it may be a good time for us to run through all that and see what the current status is :-)
Binqing Wei (Feb 27, 2024, 3:16 PM)
Getting an error:
URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:1007)>
Binqing Wei (Feb 27, 2024, 3:16 PM)
On cell 3
mary.pitman (Feb 27, 2024, 3:17 PM)
Agreed on the strict PDB thing.. I realized that recently.
You (Feb 27, 2024, 3:17 PM)
Binqing, are you working from a corporate network that might not have access to the outside internet?
Thomas Coudrat (Feb 27, 2024, 3:18 PM)
Running into an error as well: I'm running the jupyter notebook inside VScode. Installed the env.yml mamba env, loading this kernel in VScode and it complains with the following: "The version of Python associated with the selected kernel is no longer supported. Please consider selecting a different kernel. --source Jupyte"
Thomas Coudrat (Feb 27, 2024, 3:19 PM)
Will follow along with the Colab in the meantime
Thomas Coudrat (Feb 27, 2024, 3:20 PM)
As a low effort attempt, I tried changing env.yml to force py311, but there are conflicts
Binqing Wei (Feb 27, 2024, 3:18 PM)
Must be it. Will download the file manually
You (Feb 27, 2024, 3:20 PM)
Which operating system are you using, Thomas?
Thomas Coudrat (Feb 27, 2024, 3:21 PM)
Running on Windows, but actually connected via SSH to a Linux workstation. So Linux :)
Thomas Coudrat (Feb 27, 2024, 3:23 PM)
OK thanks!
mary.pitman (Feb 27, 2024, 3:26 PM)
Would espaloma or NAGL support SEP or other nonstandard residues?
mary.pitman (Feb 27, 2024, 3:43 PM)
Definitely the right spot
mary.pitman (Feb 27, 2024, 3:45 PM)
“Know the answer”
You (Feb 27, 2024, 3:46 PM)
I totally didn’t look at the PDB entry. This is 100% my years of expert med chem knowledge 😉Today
mary.pitman (Feb 27, 2024, 3:47 PM)
That is a bad sign
mary.pitman (Feb 27, 2024, 3:52 PM)
Best volume obviously
mary.pitman (Feb 27, 2024, 3:53 PM)
I understand your excitement
Theodore L Fobe (Feb 27, 2024, 3:54 PM)
Hmmmm, I seem to be having an issue with the dockstring package. I'm getting this error: Exec format error: PosixPath('/home/lenny/miniforge3/envs/openff-docs-examples/lib/python3.10/site-packages/dockstring/resources/bin/vina_linux')
I'm also running things on WSL, so my mamba environment might not be properly setup
You (Feb 27, 2024, 3:55 PM)
Is it WSL talking to a linux cluster, or just WSL? If I recall there’s a WSL1 and 2, and I think some of our users may have had success on 2, but not 1.
Thomas Coudrat (Feb 27, 2024, 4:11 PM)
No halogens in Sage?
Thomas Coudrat (Feb 27, 2024, 4:18 PM)
General question: I forget where I found the link to sign up to this workshop. Can I simply share the zoom link with colleagues for them to join, or would you prefer people signing up?
Josh Mitchell (Feb 27, 2024, 4:22 PM)
https://docs.openforcefield.org/en/latest/workshops/2024/
mary.pitman (Feb 27, 2024, 4:06 PM)
RDKit (and OpenFF) treats some things like radicals that are not onnected via SSH to a Linux workstation. So Linux :)
Thomas Coudrat (Feb 27, 2024, 3:23 PM)
OK thanks!
mary.pitman (Feb 27, 2024, 3:26 PM)
Would espaloma or NAGL support SEP or other nonstandard residues?
mary.pitman (Feb 27, 2024, 3:43 PM)
Definitely the right spot
mary.pitman (Feb 27, 2024, 3:45 PM)
“Know the answer”
You (Feb 27, 2024, 3:46 PM)
I totally didn’t look at the PDB entry. This is 100% my years of expert med chem knowledge 😉
mary.pitman (Feb 27, 2024, 3:47 PM)
That is a bad sign
mary.pitman (Feb 27, 2024, 3:52 PM)
Best volume obviouslyradicals though.. and they end up tripping the radical warnings in OpenFF (like a positively charged nitrogen that is not protonated in an aromatic ring)
Theodore L Fobe (Feb 27, 2024, 4:25 PM)
Just confirming after updating WSL1 to WSL2 was able to run the ligand docking step
Thomas Coudrat (Feb 27, 2024, 4:27 PM)
yes, great to understand how you're suggesting to arrive at the OpenFF tools
Theodore L Fobe (Feb 27, 2024, 4:27 PM)
I wonder if GH actions will eventually have WSL builds for devs to easily deploy on WSL
I started with a dual boot Windows+Linux system, but that's a bit of a headache to maintain
Tarini Hardikar (Feb 27, 2024, 4:21 PM)
I need to solvate and model metaloproteins, you said earlier this isn’t supported here. Any suggestions for alternative software?
mary.pitman (Feb 27, 2024, 4:31 PM)
You can’t set seeds for some things in OpenMM for “reasons”
Theodore L Fobe (Feb 27, 2024, 4:34 PM)
The scientists at DESHAW are working on it 😂
Xiangwei Zhu
Theodore L Fobe (Feb 27, 2024, 4:35 PM)
Great workshop! Thanks for sharing
Binqing Wei (Feb 27, 2024, 4:35 PM)
Thanks!
Debrief
JM
That went well. Had good audience feedback. MPitman was great with the hand-raising, we should ask for that again.
Topology.from_pdb was slower than I thought. Everything else was roughly on pace. Setting OMP_NUM_THREAD to a smaller number was good.
I liked the vibe, we could be open about the robustness of workflow and stuff.
Was good to have justification of why we’re doing a workshop on stuff that helps people GET stuff to our doorstep.
JW
We had a nice, bustling chat going, but I’m worried it may have distracted folks. But overall I think this is a better situation than slowing down the speaker to accomodate the chat, or restricting chats to DMs.
Like half the attendees interacted with us in some way, which was great.
JW – This came off a lot more polished, nice work
JM – It might be my familiarity with the material
JW – Was good that we showed how to start colab, even though we couldn’t show the terminal mamba install. I think we should just do this for future workshops.
JM – Agree
Maybe we can be a little clearer about how far we endorse this workflow - Like “this seems pretty useful, but this isn’t something we systematically use this internally and you’re still responsible for the correctness of each step!”
2024_02_20 Pacific SMIRNOFF workshop
Participants:
Josh Mitchell
Jeff Wagner
Ashwin
Ben Cree
Binqing Wei
Byungchan Kim
Elhamfezelpour
Gargein Papoian
Lev Tsidilkovski
Monsurat Lawal
Pablo Arantes
Rohith Mohan
Satish Kumar Iyemperumal
Xiangwei Zhu
Rina Mansour
Roumi
Jon Sutter
Chat:
Satish Kumar Iyemperumal (Feb 20, 2024, 3:28 PM)
Apologies - have to sign off. Thanks for the intro - will check out the recording later.
Satish Kumar Iyemperumal left
Garegin Papoian left
Pablo Arantes left
Garegin Papoian joined as a guest
Xiangwei Zhu (Feb 20, 2024, 3:35 PM)
Hi Josh, does it need to specify the charge of the small molecule in a particular pH?
Ashwin left
Garegin Papoian left
You (Feb 20, 2024, 3:37 PM)
Yes, the molecules need to have explicit hydrogens to be loaded into OpenFF, so the user is responsible for determining the protonation state before loading into an OpenFF Molecule.
Xiangwei Zhu (Feb 20, 2024, 3:39 PM)
Thanks, Jeff.
Roumi joined as a guest
rina mansor left
elhamfazelpour (Feb 20, 2024, 4:13 PM)
Can this be used for membrane proteins?
Xiangwei Zhu (Feb 20, 2024, 4:13 PM)
what other protein force fileds are available in openFF?
elhamfazelpour (Feb 20, 2024, 4:13 PM)
Like protein bound into membrane
Thank you.
Ben Cree joined as a guest
Byungchan Kim (Feb 20, 2024, 4:29 PM)
What happens if you don’t provide input force field?
At end of notebook - STOP RECORDING
Thank you for rolling with our technical issues
Q&A
Anyone have deployment/issues?
Debriefing
Specific
JW – I’m very surprised that ~half the registrants didn’t join at all
JM – Maybe we were overly cautious about zoom bombers
JM – We went WAY longer than I expected (1:40)
Debug why Josh’s computer mic didn’t work
JW – DD has the exact same thing.
JM – My computer has better audio and lets me hear myself so I speak better. I have a macbook and stuff so I can fall back to those.
JW – Let me know if I can help debug.
Make SMIRKS diagram larger
JM – I was at 170% zoom during this presentation
Add this pic for interchange matrix rep https://docs.google.com/presentation/d/1ErRATwIlkQvjynz_6QAqeYQ36nPqOCR9-JfGbXoiDpI/edit#slide=id.g23f613e74f3_0_13
Add comments for the tricky indexing stuff (interchange matrix form section parameter setting)
Add context for Interchange matrix forms - “this would be really useful for folks doing ML”
The install/local run instructions were a little rough - could use polishing/more context.
General
Good question invitation cadence
JM – Let’s just open to “interruption” questions for the next one
JW – Sounds good, I’ve updated my intro notes to say that.
JM – Material was finished very soon before workshop, so not much time for practice. Maybe a dummy run before the workshops next time?
JW – That could be a good idea. Could run it for an internal audience.
JM – Would have appreciated more questions to get a sense of audience pace, even if they were interruptions
Create environment as part of the talk - Could switch share between windows terminal to screen
(General) – Probably not necessary, but a quick jupyter intro (press shift+enter to run, etc) would be good
JW + JM – A bit rambling - More prep would be good, will have time for this before the second run.
I wonder if people attended the first workshop hoping to get a general intro. May be good to do a “general intro” workshop first each year to catch those folks.
JM – Low turnout could have been people seeing the materials and deciding it wasn’t for them
No verbal comments - Mostly text chat. Could be a oceania region thing? Though I expect we’ll have similar outcomes for the other time zones too.
Action items
JW will send materials earlier and make them less scary in case the “30 minutes before” email spooked folks.
Come up with a better way to do pacing cues.
JM will make a waiting slide (or use Jeff’s)