wiki:SurfaceCategories

Version 1 (modified by Conrad Huang, 11 years ago) ( diff )

--

Chimera2 surface category thoughts

Default surface categories

Maybe we could use the same default surfcats as in Chimera1, with the modification: splitting main by chain ID. Not sure what the resulting sub-main category names should be, possibly just a concatenation of “main” and the chain ID.

Chimera1 default surface categories are mutually exclusive (see membership rules):

  • solvent
  • ions
  • ligand
  • main

The most conservative approach is for surfacing to work as it does now, keeping the categories mutually exclusive. Then using the surface command with an atomspec or the menu with a selection will automatically only show the surface for those atoms based on the category or categories to which they belong. A minor modification I suggest is that when nothing is specified or selected, instead of surface for “main” one would get the surfaces for all categories “main*”. Examples:

  • surface

... if there were protein chains A-D, this would show four surfaces, each enclosing one protein chain (but not any solvent, ions, or ligands even if they have the same chain IDs as the proteins)

  • surface /a & protein

... (or surface mainA) to show only the surface enclosing protein chain A, not surfaces for residues in other categories with that same chain ID (see Chimera2 atomspec writeup)

  • surface /a:10

... to show only the surface patch for residue 10 in chain A

In the second example above, one might try surface /a but that would also surface ligand etc. with chain ID A, although they would not be in the same category (surface enclosure) as the protein part. This is regardless of whether main is split; it happens in Chimera1 now. It seems like the purpose of the solvent and ions categories is to exclude them from any surfaces rather than to surface them, because they are usually monatomic residues. If that remains true, only chain A ligands will be picked up by the simpler command, sometimes even intentionally, so it's not a big problem.

Custom surface categories or logical equivalent

Even thornier is how to get surfaces enclosing sets of atoms other than the default categories. I don't have a strong opinion on what would be best, but two alternatives come to mind:

  • As in Chimera1, keeping surface categories mutually exclusive and allowing the user to move atoms into their own custom categories; then it is unambiguous what would happen after later uses of Actions/Surface or the surface command. Conceptual example (I'm not suggesting these should be the exact commands):
    • surfcat mycat protein
    • surface mycat
      • ...(or surface protein) to surface whole protein in one lump
    • surface /a & mycat
      • ...(or surface /a & protein) to show the surface patch from protein chain A in the context of the whole-protein category, but not the surface of any ligand in chain A

One disadvantage is that it may be surprising that the default categories get emptied out when new categories are defined, and that it's hard to restore the default categories without closing and reopening the structure.

  • Allowing direct specification of the set of atoms to enclose (treat as a category, but without changing the existing categories) in the surface command or Actions/Surface invocation; however, this would require either showing that whole surface or somehow specifying two sets of atoms, one to define the category and one for which to show the surface patch. Conceptual example:
    • surface enclose protein
      • ...to surface whole protein in one lump, where “enclose” is a keyword and the atomspec which would have been before it (see Chimera2 command structure writeup) is blank (another complication: above I said surface with blank atomspec should surface all atoms in categories “main*” ... although that would work OK in this particular example, perhaps it should be overriden by the enclose keyword to mean all the atoms in the enclose set, or equivalently, all atoms, period)
    • surface /a enclose protein
      • ...to show surface patch from chain A in the context of the whole-protein lump; don't have to worry about ligands etc. in chain A because the specified surface only encloses protein

One disadvantage is that it is more complicated to give two specs at once, even if one can be blank/implied.

Note: See TracWiki for help on using the wiki.