The Phenix chatbot is designed to guide Phenix users through the steps in structure determination, to provide help with running Phenix programs and interpreting their output, to help with debugging problems, and as a reference for the theory behind Phenix tools. The chatbot can be accessed in the Phenix GUI with the Chat button on the toolbar.
The Phenix chatbot is based on Google NotebookLM. The notebook was supplied with over 600 pages of Phenix documentation, all the Phenix newsletters, most of the Phenix video tutorials, and many of the Phenix publications.
The chatbot can be started with this chat link. You have to log into a Google account (any Google account should work). This creates a new clean copy of the notebook.
The notebook has a Sources section containing a list of materials that it will use, a Chat section where you type in questions and the chatbot answers, and a Studio section that contains an audio overview.
Normally you will use the Chat section. You can ask any questions about how to use Phenix and how to interpret results.
In the Studio section, you can listen to an audio summary (a podcast) of structure determination with Phenix. You can also click the "Interactive mode" button and ask questions verbally and the hosts will answer you in the middle of their podcast.
When the chatbot answers your questions in the Chat section, it will put citations after its responses. When you click on a citation, it opens up a source in the Sources section and highlights text at the point where it got its information. If the source is a video, you can scroll to the top of that source and the youtube video will be visible there.
This type of AI does not save or learn from your questions. If you close the chat or hit Refresh, it will be in the same state as it started in. The AI does answer in the context of previous questions or requests, so if you ask it to give you instructions suitable for the GUI, it will try to do that throughout the session.
You can ask the chatbot almost anything, from big-picture questions to details.
For example:
"How do I solve my structure?" "I have an mtz file and a sequence file. What do I do next?" "What is the difference between an mtz file and an mrc file?" "Can I use AlphaFold with X-ray data?" "What inputs do I need for autosol?" "How do I run refinement?" "Please create an atom selection string that will select all the main-chain atoms of the nucleic acid residues in chain A" "Please tell me how to run autobuild on the command-line" "How do I know if my autobuild run worked?" "How do I tell if I have a good model? Is an R-value of 0.25 ok?" "What might prevent me from solving my structure by sad?"
The chatbot is limited to the sources that is supplied with, so it only knows about Phenix, and it only knows what is in the documentation, the videos and newsletters, and the papers we have supplied.
AI chatbots like this one can also just make mistakes and give incorrect answers. This does not seem to happen too often with this chatbot, but you need to always be on alert when using it. Use the chatbot as a helper, don't expect it to always be right.
If a detail is missing in the documentation, the chatbot will not know it. For example, the current version of the chatbot does not know that for the phenix.map_correlations tool you must supply a resolution if you are comparing a model and a map because that was not stated in the documentation.
While the chatbot can give generally-correct overviews of how to solve a structure, sometimes it can get some aspects mixed up. For example, it might say that density modification improves resolution slightly. While that may be true for cryoEM, density modification does not change the resolution in X-ray crystallography, it only improves the phase information.
Similarly, when the atom selection example above is given to the chatbot, it may give an answer like: "backbone and chain A", instead of "backbone and (not protein) and chain A". Further, the chatbot may suggest testing atom selections with phenix.pdb_atom_selection, but can miss the detail that phenix.pdb_atom_selection does not recognize the "backbone" smart selection string.