o Geometry instancing (CLIENT)
- Pseudo instanced cylinders.
- ANGLE_instanced_arrays perfect-/points-spheres, then cylinders.
o Multiple bonds from CIF dictionaries (CLIENT ONLY)
- From data island.
- From local dictionary file.
- From EBI/PDB?
- From local monomer library?
o Multiple lights. (CLIENT)
o Atom selections (CLIENT ONLY)
o Colouring schemes (CLIENT ONLY)
o BUGS
- This does not work in MapDisp in scene.xml: surface_style_solid
o Symmetry (SERVER/CLIENT, CLIENT)
o Save current scene to view in CCP4MG
o Primitives (CLIENT)
* Latex/MathML text, which looks a bit difficult.
o Menus on GUI show something. (GUI)
o Full Display Table
- Other display objects: surfaces, h-bonds, maps, annotations, etc.
- Selection browser tools: Logic, interactive selection (requires line widths).
- Metal on simple menu.
- Edit transparency.
o Wizard choices.
o More atoms to triangles in client.
- Thermal ellipsoids: Atoms + B/U -> spheroids.
- Hydrogen bonds: Atoms + HBond calc -> lines
- Contacts: Atoms + contacts calc -> lines.
- Worms scaled by b/nmr: Atoms (+B) -> CAs -> spline -> worm.
- Nucleic base blacks: Atoms -> rna/dna rings -> triangles.
- Bloboids: Atoms -> bloboids.
- Circles: Atoms -> circles.
- Perfect spheres: Atoms -> perfect spheres.
- Base pair sticks: Atoms -> HBonded base pairs -> cylinders. (HARD, want H-Bonds.)
- Lipid cartoon: Atoms -> lipids: tail -> spline -> worm -> spheroid; head -> spheroid. (HARD)
- Glycoblocks: Atoms -> sugar rings -> glycoblocks. (HARD? Might be better way than in MG)
- Surface: Atoms -> surface (HARD, might be able to obtain code/algorithm).
- Require:
* maths: eigensolver, svd(?) Could/should use numeric.js.
* primitives: spheroid, perfect sphere (might not be possible).
- Colouring:
* By chain
* By entity
* By model
* Main/side
* Rainbow
* Residue type
* ASA
* Hydrophobicity
* B-factor
* Browser
o Statefulness: ??? (The elephant in the room)
- Local storage - thsi might be best. (CLIENT)
- Keep process alive on server. (SERVER):
* Remove QApplication mainloop requirement of MG so that it can be run in non-main thread. This
is potentially very tricky.
o Only click on atoms not fogged or clipped. (CLIENT)
o FPS (CLIENT)
o Simple Display Table (CLIENT)
o Stereo/3-way (CLIENT)
o Rock/roll (CLIENT)
o Scale (CLIENT)
o Render/screenshot (CLIENT, in progress)
o Generate helices (CLIENT)
o Applications where we should use web services if possible:
- Superpose
- Download SF, maps, PDB_REDO, etc.
- Ebeye
- Get monomer
- PISA
o Sequence viewer
o Harder/unknown applications:
- Normal modes (Simple calc in JS, if we have an eigen solver).
- Get smiles ???
- ProSMART ???