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
------------------------------
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".
