SEE ALSO LIGNSR.TXT for the reporting mechanism in the Mol Info Tab. For many examples of dipeptides & dinucleotides, see SALTBR.TXT and DINUC-DIPEP.TXT ------------------------------ doToggleButton(ligandIndex) makeLigandSpt() ligandOffSpt ------------------------------ Jmol "protein" includes anything with an alpha carbon, but HETERO if non-standard. An example is ligand 3ES in 2xy9 which has a single alpha carbon, hence "protein". Except HETERO for standard single residues or dipeps/dinucs (see corresp with Rachel Kramer Green). She said the handful of cases of dipeptides that are ATOM/SEQRES are errors of PDBe to be remediated. See CHARGE EXAMPLES in moltab.js. Std tripeps/trinucs are ATOM with SEQRES and unique chain IDs. It is desirable to separate NSR from LIG so the initial view spacefills LIG but not NSR which clutters the cartoon. Note that the LIG help has a checkbox to show NSR as ball and stick. PROBLEMS: Mono and dipeptides (and a minority? of dinucleoties) of STD residues are HETERO and protein/nucleic and should be ligand+. SPACEFILL THESE: select polymerlength=2 and protein and hetero If a longer chain had missing residues, leaving a 2-residue fragment, and if both of those residues happened to be non-standard (hetero), this would also select those. We have isStdAA() and isStdNucleotide() in util.js which lists TEST CASES. makeLigandsHelp(): var visibleLigandAtoms = jmolAtomCount("not (protein, nucleic, solvent, ~hidden_jdef)"); THIS FAILS TO INCLUDE A IN 1BKX, AND WOULD FAIL WITH STD DIPEPS/DINUCS ALSO. IT WOULD EXCLUDE NONSTANDARD GROUPS THAT INCLUDE AN ALPHA CARBON HENCE DEEMED "PROTEIN" SUCH AS ??? var totalLigandAtoms = ligandHydrogenCount + ligandNonHCount; modeldat.js ligandNonHCount = jmolAtomCount("not (solvent, protein, nucleic, hydrogen)"); ligandHydrogenCount = jmolAtomCount("hydrogen and not (solvent, protein, nucleic)"); See ligandSelectSpt which uses ligandPlusExpression (scripts.js). For unusual components, see makeDefineUnusualSpt() (which replaces defineBackboneInvisibleSpt) which defines ~backbone_invisible which is included in ligandSelectSpt See makeLigandSpt() For reporting found nucleic C5' atoms in scripts.js: foundNucleotideC5primeCount = jmolAtomCountAllConfigs("selected and ~nucleic and *.c5\'") ~nucleic is used because it includes unknown residues "N".