Hi Colin, Toni,

  I added your new icosahedral virus lattices to the ChimeraX hkcage command using your GitHub code.  I changed your "alpha" parameter that chooses the lattice type from a number (you used 1-8) to instead a string that can be one of standard, standard-dual, rhomb, rhomb-dual, trihex, trihex-dual, snub, snub-dual.

  When the hkcage command is used with any of your lattices it logs a message so the user knows to cite your publication.

  Thanks for contributing this new feature!

Tom



On Oct 30, 2020, at 12:04 PM, Colin Brown <colintravisbrown@gmail.com> wrote:

Hi Tom,

The repository is now public. Let me know if you’d like to be added as a collaborator as we continue revising the bundle.

Thank you,
Colin Brown

From: Tom Goddard <goddard@sonic.net>
Sent: Friday, October 30, 2020 10:46:39 AM
To: Antoni Luque Santolaria <aluque@sdsu.edu>
Cc: chimera-dev@cgl.ucsf.edu <chimera-dev@cgl.ucsf.edu>; Colin Brown <colintravisbrown@gmail.com>
Subject: Re: [chimera-dev] question: development of a new icosahedral tool to include new lattices relevant for viruses
 
Hi Toni,

  Thanks!  I would like to put your improved hkcage command into ChimeraX.  The github link to the hktest bundle gives a 404 error "not found" in the web browser.  Maybe your repository is private?  If your source code is clean and maintainable I can just put it in ChimeraX, no need for a meeting.   I do not think I should be a co-author as I have contributed very little.

Tom


On Oct 30, 2020, at 6:38 AM, Antoni Luque Santolaria <aluque@sdsu.edu> wrote:

Dear Tom,

Here are some updates and questions regarding the new hkcage bundle:

1. The new bundle now generates the 8 icosahedral lattices (hexagonal, trihexagonal, snub hexagonal, and rhombitrihexagonal), including regular and dual as published in Tawrock and Luque, 2019. Our next step is to publish the method, for example, in PeerJ Computer Science. We based our approach on your hkcage tool. Since the method underlying that tool was not published on a peer-reviewed journal, we would like you to be a co-author in the manuscript. Would you be interested in being a co-author?

2. As we polish the algorithm and the bundle's options for publication, we would like to incorporate changes that you consider adequate so the new hkcage tool can be integrated as a native tool in Chimera X in the near future. If this sounds good to you, we could set up a meeting to show you how the tool works and receive feedback from you about options that you consider essential for Chimera X. What do you think?

3. The current version of the bundle is available on GitHub: https://github.com/colintravisbrown/hktest. The lattices are controlled by the new parameter alpha, which takes values from 1 to 8. We have used the tool to generate figures for research talks and a research manuscript, which is currently under review. In this google drive folder, you can see some of the images and movies (files named chimera_*): 

4. Our project is funded by the National Science Foundation. Integrating our new tool in Chimera X is one of our Broader Impact goals. Accomplishing this task will help us secure additional funding to develop more computational methods for Chimera X and the scientific community. Your support on this end is greatly appreciated.

Let me know if you have any questions.

Thanks for your time,
Toni

On Fri, Jun 26, 2020 at 1:30 PM Antoni Luque Santolaria <aluque@sdsu.edu> wrote:
Great, thanks for the info! 

On Fri, Jun 26, 2020 at 9:38 AM Tom Goddard <goddard@sonic.net> wrote:
Hi Toni,

  Ok, plan sounds good.

  Regarding the coloring, it is usually easy to do when you have an atomic model of the asymmetric unit, you just color each chain as needed.  That requires no additional capabilities in Chimera / ChimeraX.  To generate the icosahedral layout from the asymmetric unit (1/60 of capsid) use the sym command.  To color a cryoEM map the easiest approach is to use the "color zone" capability to color the map according to the atomic model.  It is only when you don't have an atomic model for the map that the coloring gets tricky.  That is a rare case since usually the first thing that is done with these maps is to fit an atomic model.  That herpes simplex virus image I sent was one of those rare cases, the researchers were studying the virus portal and did not include atomic models in their publication.  So developing easier coloring may not be needed.

Tom


On Jun 25, 2020, at 6:06 PM, Antoni Luque Santolaria <aluque@sdsu.edu> wrote:

Thanks, Tom.

1) The user interface will not be essential for the research that we'll be carrying out in the short term, but it's something that I think it would be beneficial in the longer run. Whenever you have a chance to port the interface from Chimera to Chimera X let us know, and we'll adapt it for the extended hkcage. In the meantime, we'll focus on extending the hkcage tool to work through the command line.

2) Coloring the proteins in relation to hkcage as in the example that you shared would be ideal. In fact, for herpes, the trihexagonal lattice would show trimers that are missing in the color scheme of the image that you shared. Our initial goal is to focus on viruses deposited in viperdb because they have associated pdb files, but we would also like to include some cryo-em capsids in the analysis because there are many more capsid architectures that must to be reanalyzed. We'll follow the protocol that is described in the link that you shared with us.

Best,
Toni

On Thu, Jun 25, 2020 at 9:32 AM Tom Goddard <goddard@sonic.net> wrote:
Hi Toni,

  That all sounds good.  Yes the link you found is our svn source code for cages.py.  Sorry, I accidentally gave you the https link which takes a password and allows checking in changes to the code.

  The additional options to the hkcage command should be no trouble.  It will be pretty obvious how to add them in ChimeraX.  In Chimera the code may be harder to fathom, but Colin can ask when stuck on anything.

  The user interface panel is the most work of what you describe.  The current Icosahedron Surface tool in Chimera does not offer the hkcage options, just a plain icosahedron.  The hkcage command was developed after that user interface and never got incorporated in.  For that user interface window Chimera and ChimeraX will be completely different because Chimera uses the Tk window toolkit while ChimeraX uses the Qt window toolkit.  I suggest giving priority to the ChimeraX version of that tool, although the plain icosahedron user interface has not been ported to ChimeraX yet.  Possibly I can port it to ChimeraX making all the Tk to Qt changes as a starting point for Colin.  Probably I would not have time to do that until mid-July.  The Chimera icosahedron surface tool has a subdivision parameter that divides the facets into smaller triangles.  The current hkcage does not support that and some extra code would be needed to compute such subdivisions of the hexagons, pentagons, ....

  It may also be interesting to think about how to color electron microscopy maps to show the virus capsomere arrangement, for example as in this image

<emd1307.jpg>
  ChimeraX hkcage docs


  Chimera hkcage docs


  Chimera icosahedron surface docs


    Tom


On Jun 25, 2020, at 9:02 AM, Antoni Luque Santolaria <aluque@sdsu.edu> wrote:

Hi Tom,

1. Thank you for the quick response and clear instructions. I wasn't aware of ChimeraX. I just installed it, and it looks fantastic.

2. Colin Brown (in CC) is a master student in the lab who will be leading the efforts to develop the new icosahedral tool over the summer. He will contact you if we have any questions during the development process.

3. I wasn't able to access the second link that you shared with us. It requires a username and password. But I found the cages.py in this other link: http://plato.cgl.ucsf.edu/trac/chimera/browser/trunk/contrib/IcosahedralCage/cages.py?rev=26214 Is it the same code?

4. The extension that we have in mind would include an option, as you suggest, to identify the lattice (h, t, s, r,...),  an option to indicate if the construction uses the regular (hexagons, pentagons) or dual (single tile) blocks, and a third parameter for lattices that have a degree of freedom (see for example Figure 5a in Twarock and Luque, 2019). We would also like to add a panel to control the options manually like in the icosahedron tool. The goal of this gui panel would be to facilitate users to modify the radius, sphere factor, and other options on the fly to obtain a good visual agreement with the viral structure or macromolecular complex of study. Let us know if this would be reasonable.

Best,
Toni

On Wed, Jun 24, 2020 at 2:30 PM Tom Goddard <goddard@sonic.net> wrote:
Hi Toni,

  Neat!  I wrote the hkcage code and I think adding your 3 additional series t,s,r to that command would be the way for researchers to get the most use out of it.  It could simply be adding one more option to that command that specifies the series.  The code that would be needed is Python that computes the vertex coordinates, a triangulation (a list of 3-tuples of vertex indices), and an edge mask that says which of the triangle edges should be hidden (one integer per triangle with 3-bits 0x1, 0x2, 0x4 indicating if the triangle edge should be shown).  I could incorporate your code into the Chimera and ChimeraX distributions and we would credit you cite your paper in the documentation.  I think it would be quite easy for you to simply modify the cage.py code in your Chimera or ChimeraX distribution, do all the testing, write a bit of documentation describing the new option -- send that to me and I will get it into the daily builds and subsequent releases.

  ChimeraX is the successor of Chimera and ChimeraX 1.0 was just released.  Most researchers are still using Chimera instead of ChimeraX but we expect that to transition over the next few years, so I would suggest making your addition to the ChimeraX code.  But you can make the additions to ChimeraX or Chimera and I can move it to the other if you like, the hkcage code for the two is nearly identical.  ChimeraX uses Python 3 while Chimera uses Python 2.



  Tom


On Jun 24, 2020, at 8:49 AM, Antoni Luque Santolaria <aluque@sdsu.edu> wrote:

Dear Chimera development team,

My lab is interested in developing (or extending) a new version of the hkcage command in cages.py to include the different icosahedral lattices that have been recently discovered and have important implications for viral structures (see Twarock and Luque, Nature Communications, 2019). We would like to receive advice on what would be the best approach to help integrate the tool to be used and shared with the Chimera community. Would it be better to extend hkcage? Generate a new function? Integrate the function in cages.py? Generate a different python script?

My lab (https://www.luquelab.com/) is part of the Viral Information Institute at San Diego State University (https://viralization.org/) and recently discovered, in collaboration with Prof. Reidun Twarock (The University of York), a new set of icosahedral lattices that describe previously uncharacterized viral capsid structures (https://www.nature.com/articles/s41467-019-12367-3). My lab's goal is to develop a tool in Chimera that reflects these new geometries and helps us analyze viral capsids and other complexes with icosahedral symmetry. We would also like to facilitate the scientific community to use this tool in Chimera. This project will be developed as part of an NSF award.

Please let us know the best way to proceed.

Thanks,
Toni


--
Antoni Luque, PhD
http://luquelab.com
Assistant Professor
Department of Mathematics and Statistics
Viral Information Institute
San Diego State University

Office: GMCS 514
Phone: 619 594 7244
_______________________________________________
Chimera-dev mailing list
Chimera-dev@cgl.ucsf.edu
https://www.rbvi.ucsf.edu/mailman/listinfo/chimera-dev



--
Antoni Luque, PhD
http://luquelab.com
Assistant Professor
Department of Mathematics and Statistics
Viral Information Institute
San Diego State University

Office: GMCS 514
Phone: 619 594 7244



--
Antoni Luque, PhD
http://luquelab.com
Assistant Professor
Department of Mathematics and Statistics
Viral Information Institute
San Diego State University

Office: GMCS 514
Phone: 619 594 7244



--
Antoni Luque, PhD
http://luquelab.com
Assistant Professor
Department of Mathematics and Statistics
Viral Information Institute
San Diego State University

Office: GMCS 514
Phone: 619 594 7244


--
Antoni Luque, PhD
http://luquelab.com
Assistant Professor
Department of Mathematics and Statistics
Viral Information Institute
San Diego State University

Office: GMCS 514
Phone: 619 594 7244