SEE ALSO LIGNSR.TXT for the reporting mechanism in the Mol Info Tab.
------------------------------
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.

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 dipeps/dinucs of STD residues are HETERO and protein and should be ligand+.


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

For "odd ligands" see 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".
