

Things to do for 0.5.1

  1 Things, 1hd.

  o 1h4p NAG: it doesn't refine - even when I read in the dictionary
    by hand.  What's going wrong?







  o Pucker of ideal DNA need to be fixed.  Needs better reference nucleotide.
    1hd.

* Done. Not tested :-/

  o Nucleotide builder - with B form RNA need to be fixed.  Needs O2'. 1hd

* Done.

  o [Maria Håkansson] Hydrogen fail to move in SHELXL molecule when using:

   add alternative conformation
   edit chi angles
     Confirmed fail - uses dictionary?
   real space refine
     Of course
   rotate translate zone 
     Works for me.

* There is no quick solution for this - SHELXL has systematically
  different hydrogen names.  Needs an email to Maria.  Done.

  o Do the fat bond and Ball & Stick rep get updated on moving
    residue/sidechain? 

* Fixed.

  o Draw -> Additional Representation -> This residue -> Ball & Stick
    Gets drawn in fat bonds too.  Bad.

* Fixed.

  o Reset View needs fixing.

* Fixed.

  o "the molecule chooser dropdown in go to atom is not updated on
    copy fragment." - JED

* Fixed

  o Loop building in both directions for scheme.  Needs checking from GUI.
    1hd

* Done.

  o Ramachandran fixup in Extensions - does it need more residues to be refined?

* Done.

   o clean up this debugging:

DEBUG:: GetSelIndex (make_flanking_atoms_rama_restraints) returned 3 residues (for flanking rama restraints)
DEBUG:: --------- :: Adding RAMA phi_psi_restraints_type
Adding RAMACHANDRAN_RESTRAINT

* Done.

  o Open Distance and Angles dialog, open a new one, close the new
    one, take a distance on the old one -> crash.  We need to not open
    a new one if there is an old one and we need to raise and
    unminimize the old one.

* Fixed.

  o (set-view-quaternion 0 0 0 0) in 0-coot.state.scm file [written
    when using --no-graphics preivously (perhaps)].

* Fixed.

  o Test that manual-ncs-ghosts averages all the maps for NCS > 2.
    Jianghai Zhu <jzhu@idi.harvard.edu> 3 Nov 2008.  (I mean, add a test, 
    that'll be fun).
    1hd.  Do this in the office.

* Done.  Not added to test suite though.  Looks... OK, but not ideal results.

  o restraints editor:  
       edit ASN
       save
       edit CYS
       save
       Look at monomer-CYS.cif, the TLC is ASN.
       0 or 2hd.

* Looks fine on FC4, still bad on MacBook?  Pass on MacBook - too difficult.

  o LSQ map by overlap - does that work properly?  Use an offset
    reference molecule.  You can test this by summing the density
    before hand, rotation/translating the map and then re-summing the
    density on the transformed map.
    2hd.

  * Seems fine.

  o remove debugging:
    Gtk2 text view code...

* Done.

 o make_dynamically_transformed_maps() needs an extra arg to tell
   whether or not to overwrite maps that already exist with that given
   name (instead of creating new maps).

* Done.

  o in the Restraints Editor monomer selector, the last residue should
    be the active item.

* Done.

  o Does molprobity (specifically reduce) work with modern distros and
    do the right thing in Coot.  Check (set-do-probe-dots-post-refine 1).

* Works.

 o Add "Make 4mer-XYS" to the advanced tutorial.

* Noted.
   
  o Look at build-coot-fc4-gtk2/src/Ideal-B-form-DNA-interesting.pdb.
    Make a fixed atom on the O3* of 1A.  The refinement fails now (no
    progress).  Is that because of make_link_restraints() is not taking
    into account the fixed atoms?  Could well be, because if I delete
    residue 2 in that chain, then the regularization (with that atom 
    fixed) works fine! 
    1hd

* Looks good now. Well, the fixed atom moves, but the minimization
  completes succesfully now.

  o Mail B re: changes to manual-ncs-ghosts.

* Done.

  o Make a function that colours by a function that returns a value
    given an atom spec.

  o on build-latest-coot on bubbles:
   ! LaTeX Error: File `graphicx.sty' not found.
   1hr

* Fiddled. Needs examining of the logs.  Still is failing.  Fixed now
  I think.  TEXINPUTS.

 o Add a function of molecule-class that returns the position
   (if posible) of an atom given a string e.g. 
   "A" -> nearest atom in the A chain
   "43" residue 43 of the chain we are looking at.
   "21b" -> residue 21 of the "b" chain, otherwise residue 21 of the "B" 
    chain 

* Done.

  o update map without generating a new molecule.
    Perhaps the NCS maps, or read a new map from MTZ updating a
    already existing map.

* Done.

 o Add a function of molecule-class that returns the position
   (if posible) of an atom given a string e.g. 
   "A" -> nearest atom in the A chain
   "43" residue 43 of the chain we are looking at.
   "21b" -> residue 21 of the "b" chain, otherwise residue 21 of the "B" 
    chain 

* Done.

  o info-dialog history string needs quotes

* Done.

  o remove this debugging (on making NCS ghosts): 

INFO::  max_xmaps :0
INFO::  xmap_list :0

* Done.

  o Makefile.am in share/coot/python - bad.

* Done.
   
  o in make_link_restraints() use

   class bonded_pair_t { 
     CResidue *res_1;
     CResidue *res_2;
     std::string link_type;
   };

   Write:
   bonded_pair_t::try_add(CResidue *r1, CResidue *r2, std::string link_type)
   which only addes a bonded_pair_t to the vector if this link is not
   aleady in the vector.  Hmm.. container class?

   std::vector<bonded_pair_t> bonded_residue_pairs = bonded_residues(int SelResHnd);

   i.e. make a function that returns this then simply run through the list.

* Done, with avengance.

   o     on building an non-python version:

/home/emsley/autobuild/Linux-koala-pre-release-gtk2/lib/python2.6 does not exist

also on bragg3:

/y/people/emsley/autobuild/Linux-bragg3-pre-release-gtk2-python/etc does not exist
/y/people/emsley/autobuild/Linux-bragg3-pre-release-gtk2-python/html does not exist


/y/people/emsley/autobuild/Linux-bragg3-pre-release-gtk2-python/bin/pythonpython2.6 does not exist
/y/people/emsley/autobuild/Linux-bragg3-pre-release-gtk2-python/bin/pythonpython2.6-config does not exist
/y/people/emsley/autobuild/Linux-bragg3-pre-release-gtk2-python/include/pythonpython2.6 does not exist

* Fixed.

   1hr

  o update map without generating a new molecule.
    Perhaps the NCS maps, or read a new map from MTZ updating a
    already existing map.
    Punt to 0.6.

  o Schubert, Carsten [PRDUS] bug:
    Test that the following work with and without command line args:

    coot --pdb my.pdb --auto my_map_coeffs.mtz

      set_model_fit_refine_dialog_position()
      set_delete_dialog_position()
      set_rotate_translate_dialog_position()

* Seem fine to me witout args.  And with args.  i.e. it works for me,
  can't reproduce.

      I tried both the python and scheme commands with the same lack of effect.

  o The chiral restraints for GLS (a spiro compound) are not appearing
    - they do for ASP though.  Hmm...
    This is because they get rejected at the stage where the volume
    sign is check, currently it needs to be NEG or POS.  If it is
    BOTH, we need to be careful that it can be available to be
    reassigned and that when it is BOTH, no retraint is added (or we
    could be more clever and work out which restraint should be used
    (is closest) by looking at the geometry of the atoms involved).
    1hd

* Fixed.

  o  save_restraint_chooserdialog in glade, the response is not
     working or not closing the dialog. Maybe its a Mac thing.  I
     can't see how this "close/cancel" button is supposed to work.

     I can now.  Use GTK_RESPONSE_CANCEL.

     Remove this debugging though:

   restraints editor saving 0x90065b8
    debug:: testing restraints editor number 0 of 1 0x90065b8
    debug:: testing restraints editor number 0 of 1
    comparing 0x90065b8 vs 0x90065b8
   restraints editor index 0 matches
   Returing restraints editor with dialog 0x90065b8 from get_restraints_editor() from dialog 0x90065b8

* Done.

  o Fix up clipper (21ac)

* Need to use new clipper.  Done.

  o Build a helix in 1b41 map.  The Spacegroup is R 3 2 but the cell
   is hexagonal.
   2hd

* OK, need new clipper.  Applied.

  o Make l toggle label for this closest atom.

* Done.  It adds a label, not toggles.

  o Fix rotamers for residues with ins codes e.g. gui rotamers on 52A H 
    chain of 3hfl. And autofit rotamer.

    molecule-class-info-other.cc:1414, is the moving atoms asc for
    residue 52 or 52A?

* Fixed.  Test added.
   
  o Pick on an active atom should flash the atom.

* Done.

  o Can you enable the 'X' key for residues with alt confs?

* Yes, done.

  o Coot fails to read 293.cif.  I want to be able to parse it
    correctly and get the coordinates from it.
    2hd.

* Done.

  o Can you enable the 'X' key for residues with alt confs?

* Yes.
    
  o remove debugging ======== new version 

* It's gone.

  o Build a helix in 1b41 map.  The Spacegroup is R 3 2 but the cell
   is hexagonal.
   2hd

* OK, need new clipper.

  o goosh is part of guile main now?

* Nope.

  o Baton-build, cancel, baton build again.  There is no Baton Atoms
    molecule.  Why?

* Can't reproduce.

  o Bernhard we need a COOT_PYTHON_EXTRAS_DIR, a directly of *.py
    files that Coot reads/evalutes on start up. (If, of course
    COOT_PYTHON_EXTRAS_DIR is define and is a directory).

* Bernhard has done.

  o DEBUG:: rotamer_probability_tables self test passed

* cleaned

  o Look at rotamer graph, make a modification, look at rotamer graph
    again.  The blocks have been scaled down [JED report]
    1hd

* Fixed.

  o Flip peptide needs to flip the H on the N too. [Joel Bard].

* Done.

  o Edit the Coot page on the CCP4 wiki: put a link into Kay's page.

* Done.

  o I have taken the setting of transient out of
    store_geometry_dialog(). Now on_distances_and_angles1_activate()
    needs to set it's dialog as transient explicitly.

* Done.

  o Geometry graphs (rotamers at least) are transient and annoying.

* Nope.  It's a window manager issue.

  o Enable the torsion of a ligand when in CA+lig display mode [Ingo
    Korndoefer]

* Done.

  o Fix Frank's problem of Keybindings when using F8 bin with python
    and scheme keybindings.

* seems OK to me now.

  o Don't tar up python files for a non-pythonic build.

* Done - sort of.  I have not got rid of the python libs.

* Fix by making python builds build in their own directory.
  Needs changes to build-it - non-trivial.
  build-web-page-builder.scm needs to change to follow the 
  new places for the python build info.

  o Do the P backbone.

* Done.

  o Crash: Using the display manager delete molecule buttons (CentOS
    build)

* Fixed.

  o Need to make cootrc gtk1/gtk2 specific - see fixes/cootrc on the
     web site

* Done

  o are test-wiggly ligands written to disk by default?

* No.

  o test that fixed atoms with alt confs work.

* Looks good to me.    

  o Read a shelx file with PART 1 10.6 [Mirek Gilski] [10.6 is the
    site occupancy factor]

* Done. 

  o put the NCS edit test into greg-tests.

* Done

  o Rework the Extensions dialog to make it less long.

* Done.

  o Add a Delete button in display manager

* Done.

  o green torsion bond hilighting has disappeared.

* Done.

  o do_rotamers() given imol, chainid, resno, inscode, altconf.
    Attach it to active atom and a key binding. FvD

* Done.


---


Things to do for 0.6

  o Rotate translate chain/molecule

  o Edit a SHELXL file before refinement

  o backrub on rotamer search

  o PISA output display

  o multi-residue range for RSR - eg in residues in a sphere

  o redo sequence view

  o Helix fitting overshoots

  o Do ligand fitting from a given place (don't blob search).




  o P backbone mode

* Done in 0.5.1


--------


   Things to fix before 0.5


127 Done.


  o 'Refinement Options GUI' for scheme

Done.

   o Crash: from JD.

     Another crash from JD: on closing molecules.

* These are the same thing, the use of (or destroying of) a radio
  button group for the maps in the display manager.  I tried to debug
  with valgrind, but could not reproduce.

   o crash:
       ./coot-real pdb coot-download/pdb1rt9.ent --data 1e2k_sigmaa.mtz
       create/read in map
       reset view
       -> crash
      (note, I had typed pdb not --pdb 
             pdb1rt9.ent is not there at time of writing)

* Fixed, stupid trivial mistake.

   o --flood crashes.  Something to do with clipper symmetry.

* No, not really, it was to do with the mtz filename being wrong and
  trying to mask the map that was not filled.

   o Bill Scott's python problem: 2hd

     I can get rid of the problem by hacking "ivector FF1,FF2;" out of line
     211 in ssm_superpose.h

     First, get Coot to compile on a Mac... (sigh)

     Well, Bill has sorted this out now... not so much a priority.

   o Tell Bernie: Need a gui preferences for torsions that move
     hydrogens (in response to Klaus Piontek 30 Aug 2008)

* Bernie says do it the proper way, make (or make sure that) the
  hydrogens rotate even though we are rotating chi1 (say).  He is
  right.

* Done.
    o update README.  coot clipper and mmdb info up to date?

Done.

    o TS: Check that the ramachandran button/accept reject info works
      (is set to a sensible name).  

      Bleugh.  Have to build a gtk1 version..

* Built and fixed.

    o I fiddled with generic-single-entry.  Make sure that it works.

* Seems to.

    o Bernie: Delete, Keep Active, delete zone click click then delete
      zone again click delete the wrong atoms.

* Fixed.  This is an example something not caught by automated tests.

    o Delete atom (or waters perhaps) with "keep delete active?" 
      active turns the cursor to normal "move", not the pick cursor,
      which is confusing.

* delete, water, atom and residue all behave.

    o Atom selection error? pdb2qc1.ent additional representation B 97
      101 "" ball and stick -> just one residue selected (or did I make
      a typo?)
      Atom selection by string works OK.

* A typo, I guess.  It seems to OK now.

   o Test Steven's 3CH6 for NCS chain skipping problems.

* Is fine, except the usual sliding problems when too close to the
  paired residue.

    o check that 1xu1 works with NCS jumping

* Is fine.

    o write an internal test for the atom selection (in selection and
      inverted)  (test the number of atoms in each will do, I guess)

    o check the console when rotating the hh1 (hydrogen torsion) of a
      TYR.


118 Done.



   o Robert von Dreele: test that nZ is divisible by 3 for hexagonal
     axes.  See mail from Kevin.

*  It's a clipper issue.

   o Finish A-RAPPER-gui, penelope. 2hd

* see what Nick says.  He says it shouldn't crash.  No progress.  Punt.

   o PDB v3.0 compatibility.  1hd 

* Done.  As of mmdb-1.12

   o fix writing restraints from restraints editor.

* Done.  If tlc is not set on rendering the restraint, then copy the
  comp_id to the tlc.

   o Use Eugene's new LINK-reading code < 1hd as above

* It reads LINKs, now what?

   o chi squareds are displayed properly on GTK1 version? kalypso - 1hd

   o Correct CISPEP if needed cards on writing pdb. <1hd - depending
     on new mmdb code.

   o need fixup for gtk_combo_box_get_active_text(null). jackal 1hd

* Done.

   o -c script is half done. impala. 1hd

* Done.

   o build-hardy-python makes a build where cootaneer_bl_gui fails (on
     some python lib). pygtk failed to be configured?  1hd

   o N terminal residue addition (with valgrinding?)

* Done.

   o Why does the residue type not work when adding a new residue?
     Because (set-add-terminal-residue-default-residue-type "UNK")
     perhaps?

* Yes

   o documentation for NCS chain edits

* Done.

   o the scrollable map needs to be (correctly?) saved in state file. 1hd.

* Done.  

   o Kevin's Ramachandran Refinement target, 8hd

* Done

   o Problem with (run-python-command "cootaneer_gui_bl()"))) when
     pyobject and pygtk don't get built? Roni Gordon.

* Fixed.

   o put the manual in Oxford.

* Done

   o Jan D. crash.

* Nvidia driver problems is my guess

   o Side by stereo with (and without) display-lists for maps

* Done.

   o HK's 3 map crash?

* a sentinel issue, I guess, Fixed, but keep an eye on it.

   o "key bindings" in the manual needs to be updated.

* Done

   o Ca Zone -> Mainchain on a short range should give back useful
     feedback. Confirmed - needs some feedback. An info dialog (fragment
     too short - needs to be at least 6 residues).

* Done.

   o rotate/translate fragment about fragment centre fails when
     clicking on sliders.  However, by mouse control, it works.

* Done.

   o plane restraints being set in gui, dismiss dialog, open dialog ->
     plane restraints seem unset.

* Fixed.

   o plane restraints should be saved in state file, if it is not the
     default, i.e. if they are off.

* Done.

   o set-matrix state not saved in state file.
 
* Done.

   o refmac-extra-params as a function need documenting.

* Done.

   o  Need to check torsion restraints 
      and wiggly ligands
          get_torsion_bonds_atom_pairs() in wiggly ligands?
      and Edit Chi
      now that I have enabled the reading of CONST torsions.

      How about a test for wiggly ligands and then we can put this
      item to bed.  2hd

* That will do for now. BUA looks good, and I suspect 3GP looks bad
  (broken bonds) because the dictionary is wrong.

   o (assoc-ref (monomer-restraints "TYR") "_chem_comp_chir") extra
     list layer? [JED]

   o Fix the comp_id on exporting monomer restraints to a file. 1hd

* Done

   o rev 1217 is good, rev 1218 causes glade-2 to crash on coot-gtk2.glade

* Fixed, for now.

   o Reference for EDS:
     Title: The Uppsala Electron-Density Server
     Author(s): Kleywegt GJ, Harris MR, Zou JY, Taylor TC, Wahlby A, Jones TA
     Source: ACTA CRYSTALLOGRAPHICA SECTION D-BIOLOGICAL CRYSTALLOGRAPHY 60: 2240-2249 
        Part 12 Sp. Iss. 1, DEC 2004 

   o Make names for map transformation better - both the new
     coordinates and the new map (use set-molecule-name).

* Done.

   o Check Richardson Rotatmer library is correctly used for GLN, ASN, PRO.
     Ask about Rotamer misses.  Well, the dictionary is fine. Why does
     molprobity web site gives less bad rotamers then? (First: Does it?).
     Yes it does: e.g. for 1sar molprobity notes only these:
     "Bad rotamer B  47 GLN (0.3%)"   agreed
     "Bad rotamer A  91 LEU (0.4%)"   agreed
     "Bad rotamer A  13 PRO (0.9%)"   hmmm - it agrees.
     "Bad rotamer B  41 GLU (0.7%)"   don't see why it is bad, but it agrees.

     There are 10 times more for Coot.  
     (fix-nomenclature-errors doesn't fix anything).  4hd.

* Done.  More like 8hd, actually, when alt confs were added.

   o refmac-runs-with-no-labels, c-interface-info.cc (wrong place for
     this?)   <1hd.

* Done.

   o Question: does guile-lib work for guile version 1.6.x ?
 
* Yes, it does.
   o Can the map transformation interface be clearer?  Can I GUI
     interface the most frequent usage? 1hd

* Done.  It was done already - I'd forgotten.

   o on opening the about dialog:

   ** (lt-coot-real:18431): WARNING **: Couldn't find pixmap file:
      coot-icon.png on kalypso

* Done by Bernhard

   o Make a test pdb that exercises Case 3: model has deletion in
     align_on_chain(). (tutorial-modern.pdb exercises it, but the
     deletion is at the end of the A chain).  Make tests where the
     deletion is at the N term and in the middle of the A chain.  4hd.

* Done.

   o crash on delete residue range: Harri Jayaram

      The steps I did were
      1) Start fresh coot
      2) Get coords from pdb - get-ebi-pdb 1OTS
      3) Centre on chain A residue 39
      4) Bring up delete residue GUI
      5) delete from residue 17 ( n terminus) to residue 37 or 39 (I 
         forgot which one)
      6) Coot beachballs and takes machine down with it

      Very slow.  Some fumbling of atom picking needed to tickle this? 
      1hd.

* Can't reproduce now.

   o side by side stereo with dislay lists. 4hd

* Gone away, or I've fixed it or I've forgotten what the problem was.

   o Ethan Merrit's bugs on window sizing.  

 Partially fixed. gtk_widget_set_usize() in
 set_graphics_window_size() now replaced with gtk_window_resize()
 on a GtkWindow() (not the glarea).

     g.graphics_x_size is used inconsistently.  It is a bad name.  It
     is (now) used for the window size (c-interface-gui) and the
     glarea size (glextras()).  Both need to be stored gl_area_x_size,
     gl_area_y_size, main_window_x_size, main_window_y_size. 
 
        This is no longer true.

   o Change into side by side stereo mode.  Resize the window.  Now
     views are of different size/aspect ratios.

* Fixed.

   o Test/fix hardware stereo in Gtk2 mode.  See also Randy Read's
     message about going to wall-eyed and the state of walled eyed in
     the status file. 

     Note also Joel Bard's comment about the problem of non-updating
     density lines after switching to (or attempting to switch to)
     hardware stereo mode.

     2hd

* Done.  Well, very nearly.  When coming out of side by side stereo,
  still the map disappears.  Other than that it all seems OK.

   o check the number of saves on Eigen flips.  On undoing, it seems I
     have to undo twice for each step.

* Done.

   o Make ball and stick mode to work in Additional Representations -
     I want to be able to turn them on on off with a check box. 2hd

* Done.

   o fix build-it-gtk2-simple so that it does not run the tests when
     run not in York etc.

* Done.
 
   o Add an Alt Conf to a MSE.  Fails to display all atoms.  Edit a
     file and read it in.  Now refine.  Longer bonds? 3hd

* Done.

   o look at the fail-recentre .scm state file (penelope gtk2).  It
     fails to try to centre on a molecule other than 0 it seems (from
     the status bar).  <1hd

* Ignore this.  Molecule 0 was the same as molecule 4 (molecule 1 was
  different).  When finding which molecule we were centred on, Coot
  chose 4, even though it had been on 4 and centred on 0 for the next round.
  Pathological case.

   o check that newly read cif file overwrites the restraints of the
     previous restraint set (e.g. delete a restraint and see what
     happens) < 1hd

* Done from scheme level.  Need testing from GUI.
  Done.

   o make the reset view work only for coordinates molecules. <1hd.

* Done.

   o Re-instate (and bug fix) the molecule-number greg-test in
     08-utils.scm.  1hd

* Done.

   o Do not display hydrogens in intermediate atoms in refinement if
     they are not displayed in the "static" atoms.

* Done.

   o Does Replace Fragment work? Can you write a test?

* Yes, it does.  Yes, I can.

   o In Key bindings GUI, show the key bindings from python also.

* Done.

   o Document eigen-flip in user manual.

* Done.

   o Draw zero occ spots in colour by chain mode [PRE] <1hd

* Done.

   o Add Terminal residue with on to a residue with a TER.  (TER must
     disappear) 2hd.

* Done.

   o Add means to get to fix/anchor atoms in gtk1 version.

* Done.

   o NCS loop (or whatever it's called (Copy NCS fragment?): when
     there is a difference of residue name, then the old name should be
     replace by the new one.  1hd

* Done.

   o Open Bond Parameters dialog with no molecules loaded -> crash

* Done.

   o Addition of waters using GUI in a shelx molecule puts waters in
     with occupancy 1.0 [Tobias Beck]

* Done.

   o NCS jumping with a 2 x heterotetramer (or some such) 2hd

* Done.

   o Add Terminal residue with on to a residue with a TER.  (TER must
     disappear) 2hd.

* Done.

   o Addition of waters using GUI in a shelx molecule puts waters in
     with occupancy 1.0 [Tobias Beck]

* Done.

   o SFAC needs to be written higher in the shelx ins file, after UNIT
     line.

* Done.  Before, in fact.

   o check that newly read cif file overwrites the restraints of the
     previous restraint set (e.g. delete a restraint and see what
     happens)

       How shall I test this?  use monomer-restraints, delete a bond
       restraint between a given atom pair (e.g. cb cg in a tyr), copy
       a TYR from imol-rnase, refine.  As there is no bond restraint,
       cb and cg should fly appart to 3A or so.

* Done.

   o Do a refinement on 3bv2 in CA + ligand mode.  It changes the
     colour scheme to rainbow representation.
 
* Fixed.

   o multi-carbo.pdb contains 2 residues that should have a glycosidic
     linkage.  However, the regularization on it fails (they move
     apart).  Why?  

      Because, d'uh, I'd tried to connect the monomers the wrong way
      round.

   Make a test.  Test on the distance between atoms in
   the link.
   BETA1-4  1 O4      2 C1        single       1.439    0.020

     need function (return a boolean): 
     (bond-length-within-tolerance? atom-1 atom-2 ideal-length tolerance)

   o It would be better (faster) if the carbo test was fitting into
     density, rather than regularizing.

* No, it wouldn't as it turns out.

   o Glycosidic linkage needs to be 3A not 2A.

* Done.

   o get an alanine - with hydrogens.  Refine. undo, refine.  check
     hydrogen positions.

* Fixed.

   o Pierre Aller:
 
     I am using the last version of coot with an imac Os 10.5.2 intel
     core Duo.  I download coot via fink, and since one or two month
     coot freezes a lot. It happens always when I am using "Measures"
     and "residue info".

* Crappy X11, I'd say.

   o The default occupancy for new atoms in a shelx molecule should be
     11.0.  Is it? [JED]

* It is, but the residue number is "1" and the SFAC index is -1.  Bad.
  Fixed now.  Note SFAC line is now moved in the output .ins file.

   o Fix up Addition Representations in Display Control.  Don't
     display if empty.    

* Done
   
   o Reading in a shelx molecule should reset reset the view.

* Done

   o on adding a a Mg atom by widget:  
   (lt-coot-real:4004): Gtk-CRITICAL **: gtk_widget_destroy: assertion 
   `GTK_IS_WIDGET (widget)' failed
   INFO:: adding atom of type Mg at (13.5244,64.8628,-16.4644)

* Done - it was get Gtk2 thing, getting a menu from an option menu with 
  NULL menu.

   o reset_view() does not belong in c-interface-gui.cc.

   o reset view on a map should not return to origin.  Not very
     useful, just skip maps.

* Done.

   o Fix up Addition Representations in Display Control.  Don't
     display if empty.    

* Done.
   
   o Can the map transformation interface be clearer?  Can the GUI
     interface the most frequent usage?

* Done

   o Update the density fit graph on delete residue (e.g. water) [JED]

* Hoorah.  Done.

   o the tutorial on the web site has no figures (the pdf does,
     strangely).
 
* They are not auto-generated, it seems.  Just delete the ps file then.

   o > > - created a Python function for adding toolbar buttons (no guile 
     > > function yet! Paul!?)

* currently handled by calling the python function

   o Bill's config log

* Pass for now

   o Jim Pflugrath: You need a "Clear Ball & Stick" extensions gui.

     The tricky thing here is the handle.  Hmm.. Perhaps not.  If we
     make it "clear all ball and sticks" for a given molecule, then
     that will be easier. Hmm.. let's make a new function for that in
     C++ to make life easier for Bernhard.  Oh.  We don't need to! 
     clear_ball_and_stick(imol) does not take a handle argument.
     Hmm...

* Done.

   o coot-has-python? and coot_has_guile() functions needed.

* Done.

   o Update the graphics properly (redraw) when a dialog goes away
     (configure event?)  do_expose_swap_buffers not used now, it seems.

* No longer a problem.

   o Fun: a guile/expect script to build latest source tar on bubbles

   o Do the additional representations work on gtk1?

* Yes, they do now.

   o the tutorial on the web site has no figures (the pdf does,
     strangely).

*  Deleted web site ps file.

   o coot-has-python? and coot_has_guile() functions needed.

Done.

   o Do the additional representations work on gtk2?

* Yes.  Perhaps I meant gtk1.  It works there too.

   o Fun: a guile/expect script to build latest source tar on bubbles

* Done.  With Python and Pexpect.

   o build-it-gtk2-simple seems to run glib-config, but it is not
     there (of course) on a gtk2 system.

* Can't see what is going on here, certainly glib-config is not used
  explicitly.

   o Save Symmetry Coordinates should not put .pdb in the middle of
     the suggested file name.  (Was this from Steven Sheriff?)

* Done.

   o Add in the restraints editor.

   o The tooltip on a geometry graph gives the wrong bad geometry element?
     e.g. check 3GP after refinement.

* Fixed.  

   o Valgrind long/multiple fit-proteins. I valgrinded the tests. 

* Done. Fixed bug.  SSM and clipper bugs left.

   o undo needs to update the additional representations 

* Done.

   o set-molecule-name does not update name in Display Control.  It
     should.

* Done.

   o NCS Ligands: if we find a ligand C in molecule A, we should look
     for a similar blob near molecule B and try to fit the same kind of
     ligand there as well [JED]

* Done.

   o NCS chain Extension: Randy Read

* Actually, it works like that anyway.

   o On calculating NCS differences graph, if no matrices, generate
     the on the fly, like we do when making NCS maps.  Easy.

* Done.

   o on NCS jumping, how about not centering on the related CA, but
     instead centering on the NCS transposition of the current/old
     centre position?  Better for distance NCS matches?

* Done

   o On calculating NCS differences graph, if no matrices, generate
     the on the fly, like we do when making NCS maps.  Easy.

* Done.

   o Fix this:  
      ./configure: line 26927: ./po/POTFILES.in: No such file or directory
      (it comes from building from the tar file)

* No problem on penelope, gtk2.  It is a problem on dragon (or was it braggn?).

* Commented stuff out in configure.in.  Fixed now?

* 20080322: bragg1 still has problems, version coot-0.5-pre-1-revision-860
  (ah, not modern enough to get the comments) Needs 867.  872 now on website.

* Yep, it's fixed.

   o 1qex from PDB crash (see below).

* Can't reproduce - damn.  Valgrind clean.

   o Torsion general bonding problem on complex ligand? [JED]

     Also, try torsioning around CG-CD of A40 (rnase).  Then accept.
     Duplicate atoms.

* Done.

   o The atom spheres in "Ball and Stick" mode have the wrong colours.
     Needs fixing.

* Done.

   o Make extensions for NCS fitting tools

* Done.

   o Difference map needs documentation and and GUI Extension

* Done.

   o On reading state file, the window does not keep correct geometry.

* Done.

   o Try to improve the picking algorithm.

* Done.  Better?  Maybe - it was always pretty good for me.

   o multi-NCS crash (on installing NCS maps?) - JED

* Done!

   o "Thick bonds" for ligands etc

* Done.  Needs Ball and Stick to be enabled though

   o Nigel's python restraints -> non found on regularization

* Fixed

   o doing a flexible ligand fit in a ligands without flexible bonds -
     e.g. SO4 gives non-optimal message ("Did you forget to read the
     dictionary?").

* Fixed

   o document set-default-temperature-factor-for-new-atoms

* Done.

   o Turn off the ability to translate a rotamer withe atom drag
     Also in chi angles mode?  Herb Klei.  

* Done.

   o Nigel's python restraints -> non found on regularization

* Fixed/Kludged.  Bernhard problem.

   o Test for non positive definite anisotropic atoms from a .ins file
     [test should crash, Mitch Miller, Stanford]

* Done.  Test added.

   o Insertion codes for intelligent next atom.  Antibody, Kabat

* Done.

   o Test for JED's delete residue with alt conf and recentre [test
     should crash]

* Fixed.

   o NCS diffs graph need finishing.  Almost there.  Needs code to do
     dynamic update.

* Done.  Needs testing.  Does it dynamically update?

   o Save symmetry colour to state (Doug Kuntz).  When the slider
     moves, it should update the graphics

   o Fix problem of ccp4i project open menu (for maps? certainly on
     Select Coordiantes File.)

* Done.

   o Fixed atoms in refinement (and marking in molecules).  Code needs
     finishing.  mark_atom_as_fixed()

* Done.  Refinement sometimes unstable, sadly.

   o graphics::molecules should be a std::vector

* Done.  Yay!

   o Make build-it-gtk2 and use it.

* Done.

   o Mutate should not change the order of the atoms in the pdb.
     http://bmerc-www.bu.edu/needle-doc/latest/atom-format.html

     "For amino acids, the traditional order of atom records within a
     residue is N, CA, C, O, followed by the sidechain atoms (CB, CG1,
     CG2 . . . ) in order first of increasing remoteness, and then
     branch. The extra oxygen at the carboxyl terminal is called "
     OXT", and appears after all sidechain atoms."

* Done.

   o Fix Charlie Bond's shelx ins writing bug ("shelx woe", 10 sept 2007)

* Done.  Sort of.  It writes a file now at least.  What more do you want?
  Added a test.

   o on building source tar on bubbles:

    cp -r doxygen /y/people/emsley/public_html/coot/doc
    snafing coot docs...
    ERROR: Unbound variable: drag-intermediate-atom-scm
    snafing coot docs done.
    texi2html coot-scheme.texi

* Fixed.

   o fill SCM ncs_chains_scm(int imol) and use it in
     ncs-other-chain-jump.  It can return #f, so in that case, revert
     back to using, as currently, (chain-ids imol).

* Done

   o If we have guile scripting in configure, then we should check for
     net-http and goosh have been installed.  If not, fail gracefully,
     not obscurely at run time!

* Done

   o Add some SHELX reading to the test suite.  Insulin for starters.

* Done.

   o To make the test non-tedious, especially on slow computers, we
     need a set-atoms-attributes that takes a list of attribute sets.
     No need to re-calulate the bonding for each atom move.
     No need to redraw, except once at the end.

* Done.

   o Make a new dialog: clear up old/backup files on exit.
     86400 seconds per day

* Done.

   o Kleywegt plot should not draw ("wrapped") long arrows

* Done.

   o Torsion General

* Done.

   o Lars Prade crash.  Try doing actions in a directory that you can't
     write to.  Test Geometry validation.

* Seems OK to me.

   o work in the svn-revision.cc.  svn-revision.cc should be in
     Makefile.am, and be part of the tar file.  It should be generated
     after every time we do a svn update or commit.
 
* Done.

   o On pressing the filter button we get this ugliness:

** (lt-coot-real:8759): WARNING **: Widget not found: coords_fileselection1

** (lt-coot-real:8759): WARNING **: Widget not found: dataset_fileselection1

** (lt-coot-real:8759): WARNING **: Widget not found: coords_fileselection1

** (lt-coot-real:8759): WARNING **: Widget not found: dataset_fileselection1

     on_filename_filter_toggle_button_toggled() looks up the
     fileselection by going through all names of file selections. This
     is ugly (gives terminal warnings).  Make the user data also encode 
     information about which fileselection this is (in 1000s, say).

* Fixed.

   o Dynamic distances on moving atom/fragments

* Fixed.


-------------------
Tue Jul  3 14:27:37 BST 2007

      Things to add or fix before 0.4


   o  move to interface-gui  handle_get_accession_code(GtkWidget *widget)

* Done

   o Refine and regularization parameters dialog: The Torsions
     Restraints check button is not set when it should be.

* Fixed.

   o Look at this: CSHL crash:

     on calculating a skeleton after deleting a map (and skeleton) and
     reading in a new map.
 
* Can't reproduce. Added some protection.  Maybe that'll fix it?

   o Python test should test for presence of Python.h in the
     appropriate include dir. (python exe environement may have been
     installed without python-dev)

* Done

   o  on simply closing the Go To Atom Widget

    (lt-coot-real:18301): Gtk-CRITICAL **: gtk_widget_unref: assertion `GTK_IS_WIDGET (widget)' failed

* Fixed

   o Pressing -Current-Dir- in Gtk2 version in Select Map results in:

      INFO:: Sorting files by date
      ** (lt-coot-real:6070): WARNING **: Widget not found: coords_fileselection1
      WARNING:: failed to find filesection in option_menu_refmac_ccp4i_project_signal_func

Fixed.

   o File -> Exit doesn't quit in gtk1 coot - backup-maybe problems I suspect.

* Fixed.  It was.  How did it ever work before?


   o int fileselection_type = 0; // FIXME
     c-interface-gui.cc:
void
option_menu_refmac_ccp4i_project_signal_func(GtkWidget *item, GtkPositionType pos) {

also:

void
handle_filename_filter_gtk1(GtkWidget *entry_widget) {
   
   int file_selection_type = 0; // FIXME
   Test by filtering scripts

* Done.


   o Every time I use "Edit backbone torsions", if I hit "cancel".
     The backbone thick white line is still there and it can be dragged
     to anywhere, which is kinda annoying.  But if I hit "OK", the white
     line is gone.

     Jianghai Zhu, Ph.D

* Can't reproduce.

    o remove this junk from output:

INFO:: setup minimol has spacegroup: P 21 21 21

Rigid Body Refinement  imol: 10 residue 2 to 2 chain D
residue_range_atom_index_1 33
residue_range_atom_index_2 33
masking....masking done
:::: INFO:: imol moving atoms is 10

* Done

    o when no gsl:
l_and_refine(int, int, int, std::string, int, std::string, std::string, std::string)~:
../../coot/src/graphics-info-modelling.cc:145: error: ~GSL_CONTINUE~ was not declared in this scope
../../coot/src/graphics-info-modelling.cc: In member function ~void graphics_info_t::check_and_warn_bad_chirals_and_cis_peptides() const~:
../../coot/src/graphics-info-modelling.cc:2580: error: ~bad_chiral_volumes~ is not a member of ~coot~
make[1]: *** [graphics-info-modelling.o] Error 1

* Fixed.

   o Check that map sampling rate can be varied for fcf files.
 
* Done.

   o check that sigmaA maps work now.

* Done.

   o Fix map transformation text pointed out by Stephen Graham

* Done.

   o Wendy Offen: disulphide drawn between CYS and close MET. Oops.
 
* Done.

   o Carsten's Map Masking crash

     Is it passing an out-of-date group?  No, looks to be handled
     correctly.  Wrote a test... didn't tickle the bug.  Tricky.

       #3  0x08295a48 in display_control_map_combo_box (
           display_control_window_glade=0x8cf4d60,
           name=0x86c1154 "Generic Masked Map", n=0x8767580) at
           gtk-manual.c:1160

     valgrind it?
* Will pass on this for now.  :-(.  More info needed.

   o Mark Saper: 

     I got another crash error with similar results.  This time
     clicking on a water (part of a 3 water split) and doing Real
     Space Refine Zone, it crashed everything.

click on 2 atoms (in the same molecule)
(0)  O  ,C/1/chainid="B"/2/HOH,  occ: 0.5 with B-factor: 29.98 element:  O at (34.2394,37.8481,18.0267) : 0.0223551
(0)  O  ,C/1/chainid="B"/2/HOH,  occ: 0.5 with B-factor: 29.98 element:  O at (34.2394,37.8481,18.0267) : 0.00370478
refine (fit to map): molecule 0 atom index 2534 to 2534
imol_rigid_body_refine 0
residue_range_atom_index_1 2534
residue_range_atom_index_2 2534
 Rigid Body Refinement  imol: 0 residue 2 to 2 chain B
INFO:: setup minimol has spacegroup: C 1 2 1
terminate called after throwing an instance of 'std::bad_alloc'
  what():  St9bad_alloc
Abort

* Can't reproduce this.  But maybe it was a version before the alt conf of waters rigid body 
  refinement was touched.    

   o Steven Muchmore crash on mutating a residue

      #0  0x081d1a88 in lookup_widget (widget=0x41, 
          widget_name=0x848d999 "go_to_atom_residue_tree") at support.c:37
   	   in support.c
      #0  0x081d1a88 in lookup_widget (widget=0x41, 
          widget_name=0x848d999 "go_to_atom_residue_tree") at support.c:37
      #1  0x08146e4a in graphics_info_t::update_go_to_atom_window_on_changed_mol(int)
          (this=0xbfff963f, imol=0) at graphics-info-navigation.cc:627
      #2  0x0814193e in graphics_info_t::do_mutation(std::string const&, short) (
          this=0xbfff963f, residue_type=@0xbfff96e0, do_stub_flag=0)
          at graphics-info-mutate.cc:224
      #4  0x409e1883 in gtk_marshal_NONE__NONE (object=0x87c2f70, 
          func=0x8221b20 <on_residue_type_chooser_LYS_clicked>, func_data=0x0, 
          args=0xbfff9800) at gtkmarshal.c:312
  
      A job for valgrind. 

         Hmmm - tried. Nothing obvious.  Mabye it was GTK2 problem?
         Test on penelope.

* Tested with Gtk2 and Valgrind.  Can't spot the problem.

      Copy molecule is valgrind-clean (both coords and map)
   o To make the test non-tedious, especially on slow computers, we
     need a set-atoms-attributes that takes a list of attribute sets.
     
       No need to re-calulate the bonding for each atom move.
 
       No need to redraw, except once at the end.

       Not for now.   Next release.

* Done. 

   o When undisplay a model, the ball and stick representation should be undisplayed too.

* Done.   


   o multireadpdb should not recentre [JED]

* Done.

    o Mark Saper: 

      I'm also seeing a crash when I try check waters with the latest
      coot from Fink, on Intel running 10.4.11.

(stereo-mode-state)
State file /Users/saper/Research/HI1655/YraM257-575/Monoclinic/Refinement/ccp4/0-coot.state.scm written.
(save-state-file /Users/saper/Research/HI1655/YraM257-575/Monoclinic/Refinement/ccp4/0-coot.state.scm)
(command-in-path? *probe-command*)

(coot:24624): Gtk-CRITICAL **: gtk_widget_destroy: assertion `GTK_IS_WIDGET (widget)' failed

(coot:24624): Gtk-CRITICAL **: gtk_menu_get_active: assertion `GTK_IS_MENU (menu)' failed
Bus error

* Done.     


   o Wendy Offen: 

     In Check/delete waters in the Validate menu, the Questionable
     Waters list should include occupancies as well as B factors.

* Done.

   o does the map sampling affect maps from fcf files?  Dale suggests not.

* It didn't.  It should now.

   o Get rid of this debugging:

refine (fit to map): molecule 12 atom index 0 to 0
DEBUG:: refine_residue_range: 12 A 1:: 1:: :: 0
24 atoms selected to regularize from residue 1 to 1 chain A
INFO:: 1 residues selected for refined and flanking residues
INFO::24 atoms selected from molecule for refinement (this includes fixed and flanking atoms).
INFO:: GetSelIndex returned 1 residues (monomer restraints)
DEBUG:: add_monomer plane restraint for plane-id: comp-id: 3GP plan-1 A 1 ::
DEBUG:: adding monomer plane with pos indexes  0 1 2 3 4 5 6 7 8 9 10 11

* Done.


    o Mark Sapper: 

    I'm running the most recent coot from Fink (0.4-pre-2 [with guile
    1.8.3 embedded] [with python 2.3.5 embedded]).

    While trying to adjust backbone torsions, I had a crash.  Perhaps
    it was because the following residue was beyond bonding distance
    to the carbonyl carbon?  Her's the output from the terminal:

click on an atom in the peptide to change
(5)  CA /1/chainid="A"/428/ASN,  occ: 1 with B-factor: 34.53 element:  C at (16.9337,29.5642,-1.2658) : 0.0119083
Debug:: initing rama with levels 0.02 0.002

** (coot:24288): WARNING **: Widget not found: not-found

(coot:24288): GLib-GObject-WARNING **: invalid uninstantiatable type `<unknown>' in cast to `GtkObject'

(coot:24288): Gtk-CRITICAL **: gtk_object_destroy: assertion `GTK_IS_OBJECT (object)' failed
Segmentation fault
[sapir:Monoclinic/Refinement/ccp4] saper% coot --version
0.4-pre-2 [with guile 1.8.3 embedded] [with python 2.3.5 embedded]
[sapir:Monoclinic/Refinement/ccp4] saper% 

* Done.

   o Turn on pythoning in build-it.  No special days.

* Done.

   o skeleton colour set correctly in the colour selector?

* Done.

   o kalypso gkt2: Fit Loop.  undo.  Fit loop. crash.

* Can't reproduce. Loop fitting is now backed up at start.

   o Fix mapman bones reader.  What does G(DVD)K say? he says move-to, draw-to.  But 
     can I make that work?  Yes I can. move it over.

* Done. Libcheck problem.  Needs new libcheck and/or dictionary.

     libcheck << !
     N
     MON GLC
     !  -> failure:    ERROR: can"t open (lib.):g/GLC-B-D

o Submarining of green spot on Ramachandran Plot.  Also no green
  spot for GLY.

*Fixed.

   o Put limit of 180 clusters in fascinating-clusters-gui.

* Done

   o Dynamically add view to the Views Panel [FvD]

* Done.

   o Eddie's Snell anisotropic Bs form .res file.
     Write a test that checks that the shelx output is anisotropic.  

* Bug fixed.  Test another time (it's 10x harder than the fix)

   o Dynamically add view to the Views Panel [FvD]

* Done.

   o S. Sheriff:

     * I find that (set-colour-map-rotation-on-read-pdb-c-only-flag   1)
       in my .coot file does not work (at least in v0.3.3), i.e. until
       I click on the radio button in the bond colour pop-up menu, the
       atoms are not atomic coloring.

* Can't reproduce.  Bad ~/.coot, bugging out early?

   o Refine across an insertion code [Steven Sheriff] 27 -> 28 L in 1ruk.  
     Write a greg test for it.

   o S. Sheriff:

     * I find that (set-colour-map-rotation-on-read-pdb-c-only-flag   1)
       in my .coot file does not work (at least in v0.3.3), i.e. until
       I click on the radio button in the bond colour pop-up menu, the
       atoms are not atomic coloring.

* Can't reproduce.

   o Crash on OK on Map properties after changing map colour:
     [corrupted, useless stack]

*Fixed.

   o Try again to add chiral volumes to the geometry target function

* Done.

   o Remove debugging screen info in NCS ghosting (including on reading pdb)

* Done.

   o Load latest .scm file, key binding (96)

* Done.

   o Update environement distances after refinement

* Done.  Nice

   o Fix Rigid body fit zone dialog message.

* Done.

   o remove probability limit for RichRots
     look at LEUs.

* Done.

   o Extend the length of the entries in the SMILES interface

* Done

   o "Carriage Return" in the entry in Export map should do an "OK"

* Done.

   o Does the state file contain the hue shift for each of the
     coordinate molecules?  It should do.

Yes, it's fine.


   o Test Cootaneer by building from just a map - MOK's CSHL tutorial map.

* PE is not doing that. Job for BL.

   o Jan Dohnalek symmetry failing

* Fixed.

   o GMS Molprobity problem.

        Is a molprobity issue.  Get new version?

   o Pirkko Heikinheimo pdb entry 1o7d, space group P6122.  symmetry
     pick is failing.

* Done.

   o On reading a .res file, can you check for NCS with residue offset?
     Needs a test

* Done.

   o read in a .res file.  Does it see the default bond width?

* Done.

   o Problem with resizing window starting from a big one from the
     state file? JED

* Done.

   o Post-install slim the binaries

* Done.

   o Stub disappeared on simple mutate

* Done.

   o The reading of a cif dictionary should set the file name for the
     dialog like reading a pdb file does.

* Done

   o Eliminate Stub from the Mutate and Autofit residue chooser - it
     doesn't make sense there.

* Done.

   o Add darken-maps function

* Done

   o Add user setable env distance limit

   o glob overflow with latest-file.scm in top500H dir.

* Fixed.

   o Dictionaries should have their name chopped in the state file
     preamble - like pdbs and mtzs.

* Fixed.

   o Steven Graham:

      I seem to have found another small feature in 0.3.3.  When I
      read in an ensemble of 20 lowest-energy NMR structures, they
      display fine if displayed as C-alpha traces or as bonds coloured
      by atom, B-value sec.  structure or occupancy.  However, if I
      colour the bonds by chain or by molecule the connectivity goes
      all screwy (presumably because the different members of the
      ensemble all have the same chain ID).

* Done (except for bonds to hydrogens).

   o Correct CISPEP if needed cards on writing pdb.
     Hand off to Eugene for now.  Needs mmdb-1.0.10

* Done - And tested.

   o Do the strand restraints work well under refinement?

* Seems OK.

    o Check where else we do a SetSpaceGroup()?  Bug there too?

      Where else do I mess with the space group like I did at the end of 
      unshelxing?  Fix that too.

      Fixed coot-utils/coot-coord-utils.cc:      atoms_mol->SetSpaceGroup(sgc);
      Fixed coot-utils/coot-shelx-ins.cc:   shelx_mol->SetSpaceGroup(sgc);
      Fixed src/c-interface-mutate.cc:             mmdb_info.first->SetSpaceGroup(sgc);

      Not fixed: Frank's bug? (No, that was not Frank's bug - Franks
      bug was a mess in writing out the sequence alignment).

      src/c-interface-superpose.cc:    m2->SetSpaceGroup(sgc);

      The following need to be examined:
      src/c-interface-superpose.cc:    m2->SetSpaceGroup(sgc); fixed
      src/graphics-info.cc:      int istat_spgr = MMDBManager->SetSpaceGroup(copied_str); fixed
      src/graphics-info.cc:      std::cout << "status from SetSpaceGroup: " << istat_spgr << std::endl; yep
      src/molecule-class-info.cc:   mol_new->SetSpaceGroup(spacegroup_str); correct usage
      src/molecule-class-info.cc:      atom_sel.mol->SetSpaceGroup((char *)cell_spgr.second.c_str()); good
      src/molecule-class-info.cc:   atom_sel.mol->SetSpaceGroup((char *)spg.c_str()); // ok
      src/molecule-class-info-other.cc:           mol->SetSpaceGroup(sg); // fine

* Done

   o Fix non-orthorhombic aniso Us.

* Done.


   o res098 from Lionel Colliandre - alt conf occ resetting problem on
     regularize. 

* Fixed.  Needs a test. Done.

   o Alice Dawson SSM Problem, 1pyd.  Message sent to Eugene -
     He says no problem.  Therefore small example program is required
     to find the problem in SSM (or elsewhere of course).

* Done.

   o Frank's SSM crash.

* Done.

   o Build against new clipper (delete clipper from all autobuild trees).

	 York Bubbles: Don't care
	 York Auto:    Done
         Oxford cycle: Done
         Home:         Don't care
         Laptop:       Done

   o "Environment distances that label everything" - David Briggs

* Done.

   o Don't display symmetry with hydrogens if the main molecule
     doesn't have them [Stephen Graham]

* Done.       

   o Richardson rotamers

* Done.

   o history doesn't quote set-display-intro-string and
     handle-read-draw-molecule-with-recentre - it should.

* Done.

   o Activate test suite

* Done.

   o Fix Cootaneer crash

* Done.  It was a problem in trim_atom_label_table().

   o Multiple models overlapping does not delete the non-best fitting
     models. It should.

* It does - I don't know why I thought that it didn't.  Hmm...

   o specify default working molecule for water addition (esp. for
     key-bound water addition) [JED]

* Done.  You need to set it using "Place Atom at Pointer" molecule
  chooser (then Cancel that dialog).

   o are the findwaters and findligands being installed correctly
     (with wrappers?).  Get a pre-release tar ball and look at that.

* Seems fine.  Ask eleanor to run it on the command line

   o Make the Omega Angle Plot update properly in
     update_geometry_graphs()

* Done.

   o C key press in the graphics runs the graphics-general-key-press-hook.  
     It should not.

* Fixed.

   o When refining, add a status bar message that describes the Ctrl
     button usage.

* Done. 

   o Is there a memory problem in unshelx?  Valgrind it, I suppose.

* Yes, there was.  Messing with copying the Space group name.  No need
  SetSpaceGroup() does a string copy.

   o try read phs, read a pdb to get cell, pdb file does not have cell
     -> crash. 	deliang chen <deliangc@uci.edu>
       Subject: 	Re: [ccp4bb] Wincoot 0.3.3(Zeta) crash help
       Date: 	Fri, 27 Jul 2007 00:26:26 +0200  (Thu, 23:26 BST)

* Seems OK under valgrind - a WinCoot bug?

   o Get B factors from shelx Us (for B factor variance plot)

* Done.

   o Crash report by "Gajiwala, Ketan": CR in graphics after Acc/Rej
     was deleted.

* Fixed (I guess).

   o re-work the cootaneering gui, use a sub-menu.

* Done.

   o Ignore hydrogens in B-factor variance plot

* Done     

   o auto-read-shelx-project: check if fcf is more recent than fcf.cif
     before auto-loading fcf.cif

* Done.

   o Add a PIR sequence reader for cootaneering

* Done.

   o Add select by sphere to test suite

* Done.

   o Add planar peptide restraints as default

* Done.

   o Add Chiral centre inversion and cis peptide generation check 
     after refinement or regularization.

     - move bad_chiral_volumes() to coot-coord-extras and use it to
     check chiral volumes after refinement (i.e. we should get a
     warning info_dialog on top of (displayed after) the Accept/Reject
     dialog. 

* Actually, simple-restraint.cc was the right place because coot-utils
  are low level and don't use simple-restraint.hh

     Also test a mmdb for a cis peptide.  Add that function to
     coot-coord-utils.hh 
	
     std::vector<std::pair<coot::residue_spec_t, coot::residue_spec_t> > 
	test_for_cis_peptides(CMMDBManager *fragment_mol);

* Done - I'm not sure I like the way the dialogs work... but perhaps
  too much warning is better than not enough?

   o Gtk Timeout for reading socket strings

* Done in 0.3.2 in fact.

   o Select residues (for new molecule) by sphere

* Done

   o Multiple model ligand overlaying

* Done.

   o Cootaneer

* Done.

   o fix db-main so that it doesn't spew error messages

* Done.  Trivial

   o unshelxing is interfering with go to atom from lst file reader.
     How about this cunning plan:  
     (shelx-lst-conversion-func imol) returns a function that takes
     the lst residue number as an arg and returns a (list chain-id
     resno).  The body of the returned func will depend on the output
     of unshelx().

    CMMDBManager *unshelx(CMMDBManager *mol);
    need to also return mapping info
    vector of 
    [input_threash -> (chain-id resno-offset)]
    i.e. if residue_num >= input_threash we have a given chain-id and
    resno offset.
    run over all sets of [input_threash -> (chain-id resno-offset)] to get the 
    correct offset

* Done.

-----

To compile guile etc for gtk2:


prfx=$HOME/guile-1.8.1
wget libtool-1.5.22.tar.gz
cd libtoo-1.5.22
./configure --prefix=$prfx
make 
make install

wget guile-1.8.1.tar.gz
cd guile-1.8.1
./configure --prefix=$prfx CFLAGS=-I$prfx/include LDFLAGS=-L$prfx/lib
# on cycle at least, we need to stop the optimization:
./configure --prefix=$prfx "CFLAGS=-I$prfx/include -g" LDFLAGS=-L$prfx/lib
make 
make install

wget guile-gtk-2.0.tar.gz
cd guile-gtk-2.0
./configure --prefix=$prfx --without-gtkgl

 --------
  
   Things to fix before 0.3.2

   o Change the Release notes, 
     the ChangeLog, 
     configure.in (obviously)
     old coot timer
     re-order release notes 


   o Ramachandran Plot and Kleywegt Plot interact badly causing crash.

* Fixed.  Simply we can't have both.

   o Fix the carriage return on Check Delete waters result.  It should
     do a next button, not a click on the OK button.

* Easy fix - done in glade.

   o set-map-display, set-mol-displayed, set-mol-active.  Do they
     properly toggle the buttons in the Display Manager?  They should.

* They didn't.  They do now.  It worked first time :)

   o Fix the File-name filter: in script file reading

* Done.

   o Sort out the Cholesky decomposition.  Question to self: what are
     the matrices that are being decomposed, exactly?
     
     Good question.  That broke the back of the problem actually.  I
     compared thox.pdb Us with thos.res Us and found they were
     different (a transposition).  Now U matrix principal minors are
     checked before cholesky decomposition is performed.

 * Done!

   o mainchain zone, reverse dir, mainchain zone, screwed mainchain

* Done.

   o residue range was inserted into the wrong place in the pdb file

* Done.

   o copy fragment, residue range miss - feedback required.

* Done.

   o optionally animate fit-waters

* Done.

   o Mask map should have an inversion check button.

* Done.

   o Kleywegt plots don't update properly when not specifying chains.

* Done.

   o Saving in another directory - remember the save dir for next
     molecule to be saved.

* Done.

   o copy fragment, residue range miss - feedback required.

* Done.     

   o Disappearing NCS ghosts on changing NCS master 

     Also:

	Coot behaves differently depending on which chain I've chosen
	as the "master". When A is master, I can click the display box
	on/off and it simply displays (or hides) the ghost chains with
	no fuss. However, if I chosen a different chain as master,
	then each time I turn the ghosts on it recalculates the entire
	alignment.

* Done.

   o Thick bonds do not get set/groked in state file - they should be.

* Done.

   o transform-map

* Done.

   o Multiple coordinate molecules, inconsistent when starting up go
     to atom window.  Residue tree not same molecule as molecule
     chooser.  It only fails on startup.

* Fixed.

   o Do residue refinement after nucleotide add terminal residue (or
     can it be done trivially using the same mechanism as
     add-terminal-resdue-do-post-refine?

* Man, that was hard work.  Needed nucleotide to nucleotide function

   o Bad logic in setting display/active for molecules (Bob Nolte bug)

        If I turn on the display manager in my .coot file, and then
        load a coot state file which toggles off some of the loaded
        structures, the display manager gets confused and shows the
        wrong state.

* Fixed.

   o fix this:

	Kevin was doing some building and Coot lost the spacegroup.
	Adding UNK terminal residues
	Reversing the chain direction (probably this one?)
	db-main for new mainchain

* Done. Trival error in transfering spacegroup string.  Fixed malloc
  error in show-spacegroup while debugging this, which was much more
  important.

   o Stereo buttons need to be fixed

       Need to check that wall and cross eyes work

* Done.

   o Fix text widget in Sequence reading code (e.g. Fit Loop)

* Done.

   o Residue Info edits not being applied

* Done.

   o Delete a View number

* Done.

   o Save views to view file.

* Done.

   o Ramachandran plot window should remember where it was put

* Done.

   o Colour by B-factor

* Done

   o Colour by occupancy

* Done

   o Fix text widget in About 

* Done.

   o Alt confs fly apart in regularization of ligands.

* Done.

   o CNS map reading

* Done.

   o CNS data reading

* Kevin says leave it.  Fine.

   o Juergen's bad map

* Hand off to Kevin, bad map.

   o Put a file selector on the shelxl refine interface.

* Done.

   o Spin View 

* Done.

-------

# gtkglext:
wget "http://downloads.sourceforge.net/gtkglext/gtkglext-1.2.0.tar.gz?modtime=1139081517 & big_mirror=1"

# make sure when you compile guile-gtk-2.0, you pick up the right
# guile in your path (i.e. 1.8.x) otherwise libguile will be stuck in
# the guilegtk.la file and it wil cause a mess.

 ----- 
Sat Apr 28 16:21:54 BST 2007

   Those who compile with gtk2 need to regenerate the interface files
   coot_wrap_guile.cc and coot_wrap_guile_pre.cc by runing swig
   (delete them and make)

----
Wed May  2 11:20:29 BST 2007

   for shelx molecules:

   symmetry-related hydrogens don't appear (they flash off)

----
Wed May  2 15:40:02 BST 2007

	Residue info edits need testing.

* Done.

----
Thu May  3 10:26:10 BST 2007

   intelligent next atom should consider insertion codes.
   (how tedious).

* Done - simple-mindedly

------
Wed May  9 13:54:04 BST 2007

   Dirk Kostewa:
   overblend for electron density?

-----
Thu May 10 16:03:56 BST 2007

   How should "Check for updates" work.

   In scheme, of course

   It should know the current coot-version

   It needs to get the latest stable relesed version and 
   the release notes for that.

   So the release notes should be on the web site.  I think that they
   are...

   So it needs to get the current stable release version (a string)
   from the web site.  How shall that be done?

      From the RELEASE-NOTES on the web site (pick the second section
      - the first section can be empty)

-----

trying to run render without render in path:


rendering ray trace number: 0
rendering ray trace number: 1
rendering ray trace number: 2
rendering ray trace number: 3
done raytrace.
calling render...
calling display...
((safe_scheme_command) Error in proc: key:  system-error  args:  (execlp ~A (No such file or directory) (..... scm_catch done 
scm_catch returns: 20152

2)))
..... scm_catch done 
scm_catch returns: #<unspecified>

Xlib: unexpected async reply (sequence 0xb9f30)!
Xlib: unexpected async reply (sequence 0xb9f4a)!
Xlib: unexpected async reply (sequence 0xb9f4b)!
Xlib: unexpected async reply (sequence 0xba0b6)!
Xlib: unexpected async reply (sequence 0xba0f1)!
Xlib: unexpected async reply (sequence 0xba0f3)!
lt-coot-real: Fatal IO error 14 (Bad address) on X server :0.0.

Some deprecated features have been used.  Set the environment
variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
program to get more information.  Set it to "no" to suppress
this message.
ObjectCache: Leaked 0002 refs to <P 31 2" Nuvw = ( 240, 240, 132)>
ObjectCache: Leaked 0002 refs to <P 31 2">
47.510u 14.504s 12:56.93 7.9%   0+0k 0+0io 160pf+0w


interesting!


------


  how about a "density at point" function exported to the scripting
  layer.  Then the "delete atoms below a certain level" can be done in
  scheme.

* Done.

-----
Sun May 13 13:33:46 BST 2007



INFO:: There were 2 maps contributing to the average
INFO:: rescaling by 0.5
==4884== 
==4884== Invalid read of size 2
==4884==    at 0x824D42B: molecule_class_info_t::ncs_averaged_maps(clipper::Xmap<float> const&, float) (molecule-class-info-ncs.cc:672)
==4884==    by 0x824D8ED: molecule_class_info_t::make_dynamically_transformed_maps(int, short, float) (molecule-class-info-ncs.cc:472)
==4884==    by 0x813EB8B: make_dynamically_transformed_ncs_maps (c-interface-ncs.cc:299)
==4884==    by 0x813F5A1: make_dynamically_transformed_ncs_maps_by_widget (c-interface-ncs.cc:374)
==4884==    by 0x81E5C04: on_ncs_maps_ok_button_clicked (callbacks.c:5746)
==4884==    by 0x509D9D8: g_cclosure_marshal_VOID__VOID (in /usr/lib/libgobject-2.0.so.0.1200.11)
==4884==    by 0x509062A: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.1200.11)
==4884==    by 0x50A1102: (within /usr/lib/libgobject-2.0.so.0.1200.11)
==4884==    by 0x50A2626: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.1200.11)
==4884==    by 0x50A27E8: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.1200.11)
==4884==    by 0x4C32162: gtk_button_clicked (in /usr/lib/libgtk-x11-2.0.so.0.1000.11)
==4884==    by 0x4C33DAD: (within /usr/lib/libgtk-x11-2.0.so.0.1000.11)
==4884==  Address 0x777C2E8 is 0 bytes after a block of size 522,720 alloc'd
==4884==    at 0x4022DC5: operator new(unsigned) (vg_replace_malloc.c:163)
==4884==    by 0x824EBB3: std::vector<short, std::allocator<short> >::_M_fill_insert(__gnu_cxx::__normal_iterator<short*, std::vector<short, std::allocator<short> > >, unsigned, short const&) (new_allocator.h:88)
==4884==    by 0x824CE08: molecule_class_info_t::ncs_averaged_maps(clipper::Xmap<float> const&, float) (stl_vector.h:658)
==4884==    by 0x824D8ED: molecule_class_info_t::make_dynamically_transformed_maps(int, short, float) (molecule-class-info-ncs.cc:472)
==4884==    by 0x813EB8B: make_dynamically_transformed_ncs_maps (c-interface-ncs.cc:299)
==4884==    by 0x813F5A1: make_dynamically_transformed_ncs_maps_by_widget (c-interface-ncs.cc:374)
==4884==    by 0x81E5C04: on_ncs_maps_ok_button_clicked (callbacks.c:5746)
==4884==    by 0x509D9D8: g_cclosure_marshal_VOID__VOID (in /usr/lib/libgobject-2.0.so.0.1200.11)
==4884==    by 0x509062A: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.1200.11)
==4884==    by 0x50A1102: (within /usr/lib/libgobject-2.0.so.0.1200.11)
==4884==    by 0x50A2626: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.1200.11)
==4884==    by 0x50A27E8: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.1200.11)
==4884== 
==4884== Invalid write of size 4
==4884==    at 0x824D440: molecule_class_info_t::ncs_averaged_maps(clipper::Xmap<float> const&, float) (molecule-class-info-ncs.cc:676)
==4884==    by 0x824D8ED: molecule_class_info_t::make_dynamically_transformed_maps(int, short, float) (molecule-class-info-ncs.cc:472)
==4884==    by 0x813EB8B: make_dynamically_transformed_ncs_maps (c-interface-ncs.cc:299)
==4884==    by 0x813F5A1: make_dynamically_transformed_ncs_maps_by_widget (c-interface-ncs.cc:374)
==4884==    by 0x81E5C04: on_ncs_maps_ok_button_clicked (callbacks.c:5746)
==4884==    by 0x509D9D8: g_cclosure_marshal_VOID__VOID (in /usr/lib/libgobject-2.0.so.0.1200.11)
==4884==    by 0x509062A: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.1200.11)
==4884==    by 0x50A1102: (within /usr/lib/libgobject-2.0.so.0.1200.11)
==4884==    by 0x50A2626: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.1200.11)
==4884==    by 0x50A27E8: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.1200.11)
==4884==    by 0x4C32162: gtk_button_clicked (in /usr/lib/libgtk-x11-2.0.so.0.1000.11)
==4884==    by 0x4C33DAD: (within /usr/lib/libgtk-x11-2.0.so.0.1000.11)
==4884==  Address 0x79DE3E8 is 0 bytes after a block of size 1,045,440 alloc'd
==4884==    at 0x4022DC5: operator new(unsigned) (vg_replace_malloc.c:163)
==4884==    by 0x824F144: clipper::Xmap<float>::Xmap(clipper::Xmap<float> const&) (new_allocator.h:88)
==4884==    by 0x824C089: molecule_class_info_t::ncs_averaged_maps(clipper::Xmap<float> const&, float) (molecule-class-info-ncs.cc:587)
==4884==    by 0x824D8ED: molecule_class_info_t::make_dynamically_transformed_maps(int, short, float) (molecule-class-info-ncs.cc:472)
==4884==    by 0x813EB8B: make_dynamically_transformed_ncs_maps (c-interface-ncs.cc:299)
==4884==    by 0x813F5A1: make_dynamically_transformed_ncs_maps_by_widget (c-interface-ncs.cc:374)
==4884==    by 0x81E5C04: on_ncs_maps_ok_button_clicked (callbacks.c:5746)
==4884==    by 0x509D9D8: g_cclosure_marshal_VOID__VOID (in /usr/lib/libgobject-2.0.so.0.1200.11)
==4884==    by 0x509062A: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.1200.11)
==4884==    by 0x50A1102: (within /usr/lib/libgobject-2.0.so.0.1200.11)
==4884==    by 0x50A2626: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.1200.11)
==4884==    by 0x50A27E8: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.1200.11)n
INFO:: 0 out of 228096 (0%) map points  were masked out of NCS average target volume,  chain A
INFO:: made 1 averaged map(s)
Map statistics: mean: -0.000679089 st.d: 0.480031
Map statistics: min: -1.48057, max: 4.66996


* Fixed.


----
Sun May 13 16:23:53 BST 2007


  What should active residue do when it is looking at (centred on) a water?


-----
Mon May 14 08:24:42 BST 2007

   Add library file in "Do you want to run auto-save state file?" window

* Done.

-----
Mon May 14 08:50:14 BST 2007

	Go To Atom fails in Gtk1 now.
	
Gtk-WARNING **: invalid cast from `GtkList' to `GtkTree'

Gtk-CRITICAL **: file gtktree.c: line 379 (gtk_tree_clear_items): assertion `GTK_IS_TREE (tree)' failed.

** WARNING **: Widget not found: go_to_atom_atom_list

Gtk-WARNING **: invalid cast from (NULL) pointer to `GtkList'

Gtk-CRITICAL **: file gtklist.c: line 1258 (gtk_list_clear_items): assertion `list != NULL' failed.

Gtk-WARNING **: invalid cast from `GtkList' to `GtkTree'

Gtk-CRITICAL **: file gtktree.c: line 200 (gtk_tree_append): assertion `GTK_IS_TREE (tree)' failed.

Gtk-CRITICAL **: file gtkwidget.c: line 3359 (gtk_widget_set_parent): assertion `parent != NULL' failed.

Gtk-WARNING **: invalid cast from (NULL) pointer to `GtkObject'
Segmentation fault (core dumped)

----
Tue May 15 23:59:45 BST 2007

have a look at this:

src/graphics-info-navigation.cc:            std::cout << "WARNING: (Programmer error) looking for atoms "

it was related (I'm pretty sure) with the AZ NCS crash.

-----
Wed May 16 09:27:21 BST 2007

	User pickable atoms:

	a function that registers interest in n atom selections and a
	function to call when it has them.  We test in
	graphics-info-defines whether such a function exists and has
	all the number of picks that it needs, if it does and it
	doesn't then collect them and pass them on when it has all
	it needs.  When the function has been called delete it from
	the queue/vector of such functions (umm, better do the
	deletion just before the function call so that if there is an
	error in the scm function we don't jump away from the function
	deletion part).

------
Thu May 17 18:20:51 BST 2007

Christopher Rife:

   I've noticed that when using "NCS Control" in Coot, it behaves
   differently depending on which chain I've chosen as the
   "master". When A is master, I can click the display box on/off and
   it simply displays (or hides) the ghost chains with no
   fuss. However, if I chosen a different chain as master, then each
   time I turn the ghosts on it recalculates the entire
   alignment. This is rather cumbersome with large structures...

* Fixed.


-----
Wed May 16 20:30:02 BST 2007

	CA representation by default:

       Swanand sg363@mole.bio.cam.ac.uk

* No, just bind a function to a key.

----
Thu May 17 12:44:56 BST 2007

   INFO::
	use gtk_widget_get_name(widget) to find out about what type a
	widget is.

------
Thu May 24 10:59:16 BST 2007

	Copy a molecule.

	Save state, by exiting

	retstart.  dialog says there are 2 molecules in state file.
	
	But only one is loaded.  

	Is that right?

* Fixed.

------
Sun May 27 19:21:11 BST 2007

   o Merge a fragment, change chain ids by residue range (40-50)

   o The GoTo Atom residue tree looks messed up (nothing beyond 50)

   on writing out the PBD file, residue 50 is in the right place, but
   40-49 have been writen to the end of the chain.  Which causes the
   problem in the Go To Atom window.

* Fixed.

-----
Fri Jun 15 13:09:53 BST 2007

   rajiv.chopra@novartis.com:

   In real space refinement, don't move the atoms with zero occ.

------
 
  INFO::

  old guile convert to string:
    std::string name_target = SCM_STRING_CHARS(name_target_scm);
   new guile convert to string:
    std::string name_target = scm_to_locale_string(name_target_scm);

   all guile convert from string:
      SCM mess = scm_makfrom0str(a_string.c_str());


-----
Thu Jun 21 11:57:16 CEST 2007

   Fitting a helix in a low resolution and low level (0.02 e) map.  

   Density looked reasonable for a helix, but was rejected on CB
   density.

   Should the be less strict for CB density at lower resolutions? 
   What is the cut-off criteria for CB density?

* There was a hard-wired cut off 0.2 in the helix fitting.  Make
  variable and moved upstairs to the invoking function.

----
Thu Jun 21 13:35:07 CEST 2007

  Randy Read:

  It's currently tedious to make a native patterson.  So add an option
  to do it for me.  You'll have to change the space group to have the
  symmetry of the Patterson and make up a column of zeros for the phase.

  (patterson mtz-filename f-col origin-remove-flag) returns an int

* Problem gone away with cpatterson.

----
Thu Jun 21 14:35:28 CEST 2007


   Problem with doing Randy's sidebyside screen update:

   to solve his problem we want to 
	draw(glarea1)
	draw(glarea2)
	swap_buffers(glarea1)
	swap_buffers(glarea2)

   so we have to move swap_buffers *out* of the draw() function. 

   OK, I did that.

   The problem now is with the expose_event callback.

   the expose event callback is what is used by draw()

   urgh.

* Anyway, fixed now.

---
Mon Jun 25 08:20:12 BST 2007

   Do this at some stage (but not before 0.3.2)

   o Valgrind long/multiple fit-proteins


----
Tue Jul  3 21:45:19 BST 2007

   o better documentation for skip-to-next-ncs-chain

* Done.

---

  Stephen Graham:

     I had just another minor quibble with coot... If one reads in a
     molecule with hydrogens in the PDB file, and one turns the
     display of hydrogens off using 'Edit > Bond Parameters', any
     symmetry-related molecules that are drawn still have protons
     displayed.

     Is there an easy way to not display protons for symmetry
     molecules?

  This is a bug. 

  Priority: High.

*Fixed.

---- 
Wed Jul  4 12:58:51 BST 2007

   o copy over sgi coot 0.3.3

* Done.

------
Fri Jul  6 13:24:43 BST 2007

  compiling guile-1.8.1

prfx=$HOME/testg

./configure --prefix=$prfx LDFLAGS=-L$prfx/lib CFLAGS="-g -I$prfx/include"

 ./configure --prefix=/lmb/wear/emsley/testg LDFLAGS=-L/lmb/wear/emsley/testg/lib CFLAGS='-O -I/lmb/wear/emsley/testg/include'

i.e. NO DEBUGGING!


cycle ~/compile/g/guile-gtk-2.0> ./configure --prefix=/lmb/wear/emsley/guile-1.8.1  --without-gtkgl

make 
make install

-
in guile-gtk-2.0's gdk-glue.c add

#define PANGO_PIXELS_CEIL(d) (((int)(d) + 1023) >> 10)
#define PANGO_PIXELS_FLOOR(d) (((int)(d)) >> 10)

- 
also need goosh:
./configure --prefix=/lmb/wear/emsley/guile-1.8.1
make install
and guile-gui:
 ./configure --prefix=/lmb/wear/emsley/guile-1.8.1
make install
and net-http:
 ./configure --prefix=/lmb/wear/emsley/guile-1.8.1
make install


  From Stephano Benini, deleting waters:


  Using host libthread_db library "/lib/tls/libthread_db.so.1".
Core was generated by `/apps/xtal/coot/current/linux/bin/coot-real'.
Program terminated with signal 11, Segmentation fault.
#0  CAtom::GetChainID (this=0x2ed9) at mmdb_atom.cpp:758
	in mmdb_atom.cpp
#0  CAtom::GetChainID (this=0x2ed9) at mmdb_atom.cpp:758
#1  0x0823df36 in molecule_class_info_t::make_atom_label_string (this=0xb4be400c, atom=0x2ed9, 
    brief_atom_labels_flag=0) at molecule-class-info.cc:4233
#2  0x08232a57 in molecule_class_info_t::label_atom (this=0xb4be400c, i=11993, 
    brief_atom_labels_flag=0) at molecule-class-info.cc:2464
#3  0x08229b1d in molecule_class_info_t::label_atoms (this=0xb4be400c, brief_atom_labels_flag=0)
    at molecule-class-info.cc:450
#4  0x081cbd9b in draw_mono (widget=0x8689698, event=0x2ed9, in_stereo_flag=0) at globjects.cc:1756
#5  0x081cb9bd in draw (widget=0x8689698, event=0xbfffc160) at globjects.cc:1552
#6  0x081cb8a7 in expose (widget=0x8689698, event=0xbfffc160) at globjects.cc:1501
#7  0xb6ecb659 in gtk_marshal_BOOL__POINTER (object=0x8689698, 
    func=0x81cb896 <expose(_GtkWidget*, _GdkEventExpose*)>, func_data=0x0, args=0x2ed9)
    at gtkmarshal.c:28
#8  0xb6efae92 in gtk_handlers_run (handlers=0x86399b8, signal=0xbfffbe10, object=0x8689698, 
    params=0xbfffbe70, after=0) at gtksignal.c:1917
#9  0xb6efa19e in gtk_signal_real_emit (object=0x8689698, signal_id=25, params=0xbfffbe70)
    at gtksignal.c:1477
#10 0xb6ef8274 in gtk_signal_emit (object=0x8689698, signal_id=25) at gtksignal.c:552
#11 0xb6f2e087 in gtk_widget_event (widget=0x8689698, event=0xbfffc160) at gtkwidget.c:2864
#12 0xb6f3289e in gtk_widget_real_draw (widget=0x8689698, area=0xbfffc500) at gtkwidget.c:4585
#13 0xb6ecb7a5 in gtk_marshal_NONE__POINTER (object=0x8689698, 
    func=0xb6f3279c <gtk_widget_real_draw>, func_data=0x0, args=0x2ed9) at gtkmarshal.c:193
#14 0xb6efa0af in gtk_signal_real_emit (object=0x8689698, signal_id=8, params=0xbfffc250)
    at gtksignal.c:1440
#15 0xb6ef8274 in gtk_signal_emit (object=0x8689698, signal_id=8) at gtksignal.c:552
#16 0xb6f2cce1 in gtk_widget_draw (widget=0x8689698, area=0xbfffc500) at gtkwidget.c:2335
#17 0x0814e321 in graphics_draw () at graphics-info.h:733
#18 0x0818e762 in delete_atom (imol=0, chain_id=0x869b484 "W", resno=132, 
    ins_code=0x89e6620 "0f\236\b", at_name=0x8faa88c " O  ", altLoc=0x854a0fc "")
    at c-interface-build.cc:865
#19 0x0818f4c0 in delete_atom_by_atom_index (imol=0, index=2954, do_delete_dialog=1)
    at /usr/include/c++/3.2/bits/basic_string.h:781
#20 0x08133e28 in graphics_info_t::check_if_in_delete_item_define (this=0xbfffc8a3, 
    event=0x86167b0, state=@0x2ed9) at graphics-info-defines.cc:657
#21 0x08132ba3 in graphics_info_t::check_if_in_range_defines (this=0xbfffc8a3, event=0x86167b0, 
    state=@0xbfffc8ac) at graphics-info-defines.cc:204
#22 0x081ceac1 in glarea_button_press (widget=0x8689698, event=0x86167b0) at globjects.cc:3394
#23 0xb6ecb659 in gtk_marshal_BOOL__POINTER (object=0x8689698, 
    func=0x81ce816 <glarea_button_press(_GtkWidget*, _GdkEventButton*)>, func_data=0x0, args=0x2ed9)
    at gtkmarshal.c:28
#24 0xb6efae92 in gtk_handlers_run (handlers=0x8639958, signal=0xbfffca10, object=0x8689698, 
    params=0xbfffca70, after=0) at gtksignal.c:1917
#25 0xb6efa19e in gtk_signal_real_emit (object=0x8689698, signal_id=20, params=0xbfffca70)
    at gtksignal.c:1477
#26 0xb6ef8274 in gtk_signal_emit (object=0x8689698, signal_id=20) at gtksignal.c:552
#27 0xb6f2e087 in gtk_widget_event (widget=0x8689698, event=0x86167b0) at gtkwidget.c:2864
#28 0xb6ecb4dc in gtk_propagate_event (widget=0x8689698, event=0x86167b0) at gtkmain.c:1385
#29 0xb6eca5cd in gtk_main_do_event (event=0x86167b0) at gtkmain.c:818
#30 0xb6e23b28 in gdk_event_dispatch (source_data=0x0, current_time=0xbfffce40, user_data=0x0)
    at gdkevents.c:2139
#31 0xb6b68e81 in g_main_dispatch (dispatch_time=0xbfffce40) at gmain.c:656
#32 0xb6b69338 in g_main_iterate (block=0, dispatch=1) at gmain.c:877
#33 0xb6b69568 in g_main_run (loop=0x8845118) at gmain.c:935
#34 0xb6eca08f in gtk_main () at gtkmain.c:524
#35 0x080e8349 in c_inner_main (closure=0x0, argc=1, argv=0xbfffd264) at c-inner-main.c:237
#36 0xb7526864 in invoke_main_func (body_data=0x2ed9) at init.c:635
#37 0xb752682c in scm_boot_guile_1 (base=0xbfffcfac, closure=0xbfffcfb0) at init.c:615
#38 0xb752654b in scm_boot_guile (argc=11993, argv=0x2ed9, main_func=0x2ed9, closure=0x2ed9)
    at init.c:440
#39 0x080e8450 in c_wrapper_scm_boot_guile (argc=1, argv=0xbfffd264) at c-inner-main.c:257
#40 0x080e34b5 in main (argc=1, argv=0xbfffd264) at main.cc:408


* Possibly fixed - reworked labelling code not to use poiners now.


------
Mon Jul  9 18:29:22 BST 2007

   Related to above:

	Add a greg test:

	Add atom (at pointer, I suppose), add atom, add atom.

	Label atoms.

	delete atom 

	delete atom

	delete atom

* Done.

-----
Thu Jul 12 13:13:43 BST 2007

	I was testing sphere atoms.  I had pointer distances up.  I
	going to delete atoms to count them.  Mabye I labelled lots of
	atoms.  I guess I had a go to atom up (maybe not).

	I fired up Delete, changed to delete water, keep active.

	I clicked on an atom

	Boom, crash.

OK, here's how to reproduce:

	start from 0crash.scm
        add pointer distances
	Fire up Go to atom
	Close with top right WM button
	Delete, Delete Atom, Active
	Click an atom
	Crash.


It said this in the console:

INFO:: backup file coot-backup/_home_paule_Projects_build-coot_src_data_rnase_tutorial-modern.pdb_Thu_Jul_12_13:09:49_2007_modification_0.pdb.gz

** WARNING **: Widget not found: go_to_atom_residue_tree
ERROR:: gtktree (go_to_atom_residue_tree) is null!

** WARNING **: Widget not found: go_to_atom_residue_tree

Gtk-WARNING **: invalid cast from (NULL) pointer to `GtkTree'

Gtk-CRITICAL **: file gtktree.c: line 378 (gtk_tree_clear_items): assertion `tree != NULL' failed.

Gtk-WARNING **: invalid cast from (NULL) pointer to `GtkWidget'
Segmentation fault (core dumped)
6.587u 0.512s 18:22.29 0.6%     0+0k 0+0io 226pf+0w


(gdb) where
#0  lookup_widget (widget=0x0, widget_name=0x85d2742 "go_to_atom_atom_list") at ../../coot/src/support.c:40
#1  0x081a9664 in graphics_info_t::fill_go_to_atom_residue_list_gtk1 (gtktree=0x0)
    at ../../coot/src/graphics-info-navigation-gtk1.cc:204
#2  0x081f1cf5 in delete_atom (imol=1, chain_id=0x8a399fc "B", resno=96, ins_code=0x90bcdf0 "",
    at_name=0x91e417c " CB ", altLoc=0x86afce4 "") at ../../coot/src/c-interface-build.cc:859
#3  0x081f2126 in delete_atom_by_atom_index (imol=1, index=0, do_delete_dialog=1)
    at ../../coot/src/c-interface-build.cc:1003
#4  0x0818849b in graphics_info_t::check_if_in_delete_item_define (this=0xbfcb62fb, event=0x8b16008,
    state=@0x0) at ../../coot/src/graphics-info-defines.cc:604
#5  0x08189cc8 in graphics_info_t::check_if_in_range_defines (this=0xbfcb62fb, event=0x8b16008,
    state=@0xbfcb62ec) at ../../coot/src/graphics-info-defines.cc:204
#6  0x08246247 in glarea_button_press (widget=0x8bd9ac0, event=0x8b16008)
    at ../../coot/src/globjects.cc:3400
#7  0x0104e0f9 in gtk_marshal_BOOL__POINTER (object=0x8bd9ac0,
    func=0x8246194 <glarea_button_press(_GtkWidget*, _GdkEventButton*)>, func_data=0x0, args=0x0)
    at gtkmarshal.c:28
#8  0x0107d5c4 in gtk_handlers_run (handlers=0x8b8c840, signal=0xbfcb63a8, object=0x8bd9ac0,
    params=0xbfcb6408, after=0) at gtksignal.c:1917
#9  0x0107e5c1 in gtk_signal_real_emit (object=Variable "object" is not available.
) at gtksignal.c:1477
#10 0x0107eb80 in gtk_signal_emit (object=Variable "object" is not available.
) at gtksignal.c:552
#11 0x010b65a3 in gtk_widget_event (widget=0x8bd9ac0, event=0x8b16008) at gtkwidget.c:2864
#12 0x0104daec in gtk_propagate_event (widget=0x8bd9ac0, event=0x8b16008) at gtkmain.c:1378
#13 0x0104de1e in gtk_main_do_event (event=0x8b16008) at gtkmain.c:818
#14 0x006f9ed3 in gdk_event_dispatch (source_data=0x0, current_time=0xbfcb6800, user_data=0x0)
    at gdkevents.c:2139
#15 0x0072e5ba in g_main_dispatch (dispatch_time=0xbfcb6800) at gmain.c:656
#16 0x0072f0f2 in g_main_iterate (block=Variable "block" is not available.
) at gmain.c:877
#17 0x0104cb93 in gtk_main_iteration () at gtkmain.c:603
#18 0x00f6ad7a in sgtk_gtk_main_iteration () at gtk-glue.c:1617
#19 0x002c0110 in scm_deval () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#20 0x002bbfb3 in scm_deval () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#21 0x002bd494 in scm_deval () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#22 0x002bd867 in scm_deval () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#23 0x002bbfb3 in scm_deval () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#24 0x002c24dd in scm_dapply () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#25 0x002b9ade in scm_apply () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#26 0x002b97fc in scm_call_0 () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#27 0x0030a98e in sf_fill_input () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
---Type <return> to continue, or q <return> to quit---
#28 0x002eeae5 in scm_fill_input () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#29 0x002eeb7f in scm_getc () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#30 0x002f689c in scm_flush_ws () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#31 0x002f66e4 in scm_read () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#32 0x002c0763 in scm_deval () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#33 0x002bd494 in scm_deval () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#34 0x002c0503 in scm_deval () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#35 0x002c24dd in scm_dapply () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#36 0x002bfa20 in scm_deval () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#37 0x002c0503 in scm_deval () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#38 0x002c23e2 in scm_dapply () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#39 0x002b9ade in scm_apply () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#40 0x002b97fc in scm_call_0 () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#41 0x002a9f60 in with_traps_inner ()
   from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#42 0x002abcd6 in scm_internal_dynamic_wind ()
   from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#43 0x002a9fcb in scm_with_traps () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#44 0x002c0763 in scm_deval () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#45 0x002c24dd in scm_dapply () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#46 0x002b9ade in scm_apply () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#47 0x002b97fc in scm_call_0 () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#48 0x002abb64 in scm_dynamic_wind ()
   from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#49 0x002c1594 in scm_deval () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#50 0x002c24dd in scm_dapply () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#51 0x002b9ade in scm_apply () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#52 0x002b97fc in scm_call_0 () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#53 0x0030874e in scm_body_thunk () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#54 0x003085de in scm_internal_lazy_catch ()
   from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#55 0x00308bc3 in scm_lazy_catch () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#56 0x002c1594 in scm_deval () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#57 0x002c24dd in scm_dapply () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#58 0x002b9ade in scm_apply () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#59 0x002b97fc in scm_call_0 () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#60 0x0030874e in scm_body_thunk () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#61 0x00308402 in scm_internal_catch ()
---Type <return> to continue, or q <return> to quit---w
   from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#62 0x00308b47 in scm_catch () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#63 0x002c1594 in scm_deval () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#64 0x002bd494 in scm_deval () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#65 0x002bd494 in scm_deval () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#66 0x002bd494 in scm_deval () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#67 0x002c24dd in scm_dapply () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#68 0x002b9ade in scm_apply () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#69 0x002b97fc in scm_call_0 () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#70 0x002abb64 in scm_dynamic_wind ()
   from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#71 0x002c1594 in scm_deval () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#72 0x002bb039 in scm_i_eval_x () from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#73 0x002bb118 in scm_primitive_eval_x ()
   from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#74 0x0030619e in inner_eval_string ()
   from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#75 0x002c4461 in scm_c_with_fluids ()
   from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#76 0x002c44df in scm_c_with_fluid ()
   from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#77 0x002dc454 in scm_c_call_with_current_module ()
   from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#78 0x0030620f in scm_eval_string ()
   from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#79 0x003060f9 in scm_c_eval_string ()
   from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#80 0x081b3c29 in post_scripting_window () at ../../coot/src/c-interface.cc:5473
#81 0x0104e357 in gtk_marshal_NONE__NONE (object=0x8b81ebc, func=0x8296cf8 <on_scripting_window_activate>,
    func_data=0x0, args=0xbfcbb538) at gtkmarshal.c:312
#82 0x0107d5c4 in gtk_handlers_run (handlers=0x8b852b0, signal=0xbfcbb4d8, object=0x8b81ebc,
    params=0xbfcbb538, after=0) at gtksignal.c:1917
#83 0x0107e5c1 in gtk_signal_real_emit (object=Variable "object" is not available.
) at gtksignal.c:1477
#84 0x0107eb80 in gtk_signal_emit (object=Variable "object" is not available.
) at gtksignal.c:552
#85 0x010b29c7 in gtk_widget_activate (widget=0x8b81ebc) at gtkwidget.c:2890
#86 0x010567ff in gtk_menu_shell_activate_item (menu_shell=0x8b80398, menu_item=0x8b81ebc,
    force_deactivate=1) at gtkmenushell.c:859
#87 0x01056b5d in gtk_menu_shell_button_release (widget=0x8b80398, event=0x8b15e98) at gtkmenushell.c:486
---Type <return> to continue, or q <return> to quit---w
#88 0x0104e0f9 in gtk_marshal_BOOL__POINTER (object=0x8b80398,
    func=0x1056914 <gtk_menu_shell_button_release>, func_data=0x0, args=0x0) at gtkmarshal.c:28
#89 0x0107e4a1 in gtk_signal_real_emit (object=Variable "object" is not available.
) at gtksignal.c:1492
#90 0x0107eb80 in gtk_signal_emit (object=Variable "object" is not available.
) at gtksignal.c:552
#91 0x010b65a3 in gtk_widget_event (widget=0x8b80398, event=0x8b15e98) at gtkwidget.c:2864
#92 0x0104daec in gtk_propagate_event (widget=0x8b80398, event=0x8b15e98) at gtkmain.c:1378
#93 0x0104de1e in gtk_main_do_event (event=0x8b15e98) at gtkmain.c:818
#94 0x006f9ed3 in gdk_event_dispatch (source_data=0x0, current_time=0xbfcbbd10, user_data=0x0)
    at gdkevents.c:2139
#95 0x0072e5ba in g_main_dispatch (dispatch_time=0xbfcbbd10) at gmain.c:656
#96 0x0072f0f2 in g_main_iterate (block=Variable "block" is not available.
) at gmain.c:877
#97 0x0072f367 in g_main_run (loop=0x8e76900) at gmain.c:935
#98 0x0104d1ef in gtk_main () at gtkmain.c:524
#99 0x081099e3 in c_inner_main (closure=0x0, argc=1, argv=0xbfcbc094) at ../../coot/src/c-inner-main.c:242
#100 0x002d800c in invoke_main_func ()
   from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#101 0x002d7fbd in scm_boot_guile_1 ()
   from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#102 0x002d7cc1 in scm_boot_guile ()
   from /home/paule/autobuild/Linux-kalypso-pre-release/lib/libguile.so.12
#103 0x081096b4 in c_wrapper_scm_boot_guile (argc=1, argv=0xbfcbc094) at ../../coot/src/c-inner-main.c:262
#104 0x080f785b in main (argc=1, argv=0xbfcbc094) at ../../coot/src/main.cc:408
Current language:  auto; currently c
(gdb)

----
Thu Jul 12 13:18:27 BST 2007

    Get rid of this:

    DEBUG:: no molecule number match

* Done.

-----
Fri Jul 13 11:48:08 BST 2007


  I find the option to use the directories and projects i have defined
  for ccp4i in the coot file-selection menus rather VERY useful. now
  it turns out i do have quite a few projects defined in ccp4, and the
  list runs off the bottom of my screen in coot (while ccp4 breaks it
  over and starts a second column and a third ...). any chance ... ???

  and while you are at it ... would you still have an option to also
  use ccp4 aliases in coot on your 'to think about' list ? this would
  be quite a luxury ... you once said this might be possible ...

* Done.

  ehem ... another idea ... would anybody else be interested in having
  a button to undisplay ALL maps at once in the display menu pop-up
  ???

* A bit of scripting can do this (done).


----
Mon Jul 16 13:09:11 BST 2007

  if the first and last non-blank characters read from the scripting
  window are not ( and ) then add them. So

  read-pdb "test.pdb"

  will "work".

-----

Here's a description of the PIR format:

http://www.cmbi.kun.nl/bioinf/tools/crab_pir.html

----
Tue Jul 17 13:11:20 BST 2007

	Files that end in .fcf or .cif should not *first* be read as
	MTZ files.  Do the sensible thing first.

----
Mon Jul 16 23:18:03 BST 2007

	in creating a GTK2 gl context:


> WARNING:: Can't enable stereo visual - falling back 
> INFO:: Hardware stereo widget opened successfully
> INFO:: switch to hardware_stereo_mode succeeded

So in gl_extras():

We need a "stereo_successful" flag set before we get to saying 
"Hardware stereo widget opened successfully"

----
Tue Jul 31 21:32:53 BST 2007

	crash report on SSMing from Alice Dawson:

using 1pyd.pdb from the EBI:

(mail sent to Eugene)


==18731==
==18731== Mismatched free() / delete / delete []
==18731==    at 0x1B9098CF: operator delete(void*) (vg_replace_malloc.c:155)
==18731==    by 0x1BDCBA3C: CSuperpose::_superpose(CSSGraph*, CSSGraph*, int&) (ssm_superpose.cpp:2683)
==18731==    by 0x1BDCC194: CSuperpose::SuperposeCalphas(CSSGraph*, CSSGraph*, int*, int*, int, CMMDBManager *, CMMDBManager*, int, int) (ssm_superpose.cpp:2424)
==18731==    by 0x1BDBA7C8: CSSMAlign::Align(CMMDBManager*, CMMDBManager*, int, int, int, int) (ssm_align.cp p:200)
==18731==    by 0x81A0394: graphics_info_t::superpose_with_atom_selection(atom_selection_container_t, atom_s election_container_t, int, std::string, std::string, short) (graphics-info-superpose.cc:209)
==18731==    by 0x822FF88: superpose_with_chain_selection (c-interface-superpose.cc:136)
==18731==    by 0x8232162: execute_superpose (c-interface-superpose.cc:306)
==18731==    by 0x829B13D: on_superpose_dialog_superpose_button_clicked (callbacks.c:4748)
==18731==    by 0x1C243356: gtk_marshal_NONE__NONE (gtkmarshal.c:312)
==18731==    by 0x1C2725C3: gtk_handlers_run (gtksignal.c:1917)
==18731==    by 0x1C2735C0: gtk_signal_real_emit (gtksignal.c:1477)
==18731==    by 0x1C273B7F: gtk_signal_emit (gtksignal.c:552)
==18731==  Address 0x1E6E5588 is 0 bytes inside a block of size 136 alloc'd
==18731==    at 0x1B9095DA: operator new[](unsigned) (vg_replace_malloc.c:138)
==18731==    by 0x1BDCBBF2: CSuperpose::_superpose(CSSGraph*, CSSGraph*, int&) (ssm_superpose.cpp:2617)
==18731==    by 0x1BDCC194: CSuperpose::SuperposeCalphas(CSSGraph*, CSSGraph*, int*, int*, int, CMMDBManager *, CMMDBManager*, int, int) (ssm_superpose.cpp:2424)
==18731==    by 0x1BDBA7C8: CSSMAlign::Align(CMMDBManager*, CMMDBManager*, int, int, int, int) (ssm_align.cp p:200)
==18731==    by 0x81A0394: graphics_info_t::superpose_with_atom_selection(atom_selection_container_t, atom_s election_container_t, int, std::string, std::string, short) (graphics-info-superpose.cc:209)
==18731==    by 0x822FF88: superpose_with_chain_selection (c-interface-superpose.cc:136)
==18731==    by 0x8232162: execute_superpose (c-interface-superpose.cc:306)
==18731==    by 0x829B13D: on_superpose_dialog_superpose_button_clicked (callbacks.c:4748)
==18731==    by 0x1C243356: gtk_marshal_NONE__NONE (gtkmarshal.c:312)
==18731==    by 0x1C2725C3: gtk_handlers_run (gtksignal.c:1917)
==18731==    by 0x1C2735C0: gtk_signal_real_emit (gtksignal.c:1477)
==18731==    by 0x1C273B7F: gtk_signal_emit (gtksignal.c:552)
!! Warning:: No symmetry available for this molecule
No Symmetry for this model
INFO:: backup file coot-backup/Copy_of_1pyd.pdb_Chain_A_Tue_Jul_31_21:30:08_2007_modification_0.pdb.gz
INFO:: coordinates transformed by orthonal matrix:
|   -0.9211,  -0.05199,   -0.3858|
|  -0.02574,   -0.9807,    0.1936|
|   -0.3884,    0.1883,     0.902|
(     1.148,    -1.095,   -0.1226)
INFO: core rmsd achieved: 1.04335 Angstroems
      number of residues in reference structure: 537
      number of residues in moving structure:    537
      number of residues in aligned sections (reference):  537
      number of residues in aligned sections (moving):     537
      number of aligned residues:  528
      number of gaps:              4
      number of misdirections:     0
      number of SSE combinations:  4
      sequence identity:           99.4318%
number of Ca atoms in selections: 537 (moving) and 537 (reference)
Another Go...

==18731==
==18731== Invalid read of size 4
==18731==    at 0x81A1987: graphics_info_t::superpose_with_atom_selection(atom_selection_container_t, atom_s election_container_t, int, std::string, std::string, short) (graphics-info-superpose.cc:402)
==18731==    by 0x822FF88: superpose_with_chain_selection (c-interface-superpose.cc:136)
==18731==    by 0x8232162: execute_superpose (c-interface-superpose.cc:306)
==18731==    by 0x829B13D: on_superpose_dialog_superpose_button_clicked (callbacks.c:4748)
==18731==    by 0x1C243356: gtk_marshal_NONE__NONE (gtkmarshal.c:312)
==18731==    by 0x1C2725C3: gtk_handlers_run (gtksignal.c:1917)
==18731==    by 0x1C2735C0: gtk_signal_real_emit (gtksignal.c:1477)
==18731==    by 0x1C273B7F: gtk_signal_emit (gtksignal.c:552)
==18731==    by 0x1C1E06FD: gtk_button_clicked (gtkbutton.c:336)
==18731==    by 0x1C1E1D2D: gtk_real_button_released (gtkbutton.c:861)
==18731==    by 0x1C243356: gtk_marshal_NONE__NONE (gtkmarshal.c:312)
==18731==    by 0x1C273312: gtk_signal_real_emit (gtksignal.c:1440)

==18731==  Address 0x1C684A94 is 4 bytes before a block of size 2148 alloc'd
==18731==    at 0x1B9095DA: operator new[](unsigned) (vg_replace_malloc.c:138)
==18731==    by 0x1BE5316A: GetVectorMemory(int*&, unsigned, unsigned) (mattype_.cpp:182)
==18731==    by 0x1BDC4A11: CSuperpose::GetSuperposition(int*&, double*&, int&, int*&, int&, double[4] (&) [ 4], double&, int&, int&, double&, int&, double&) (ssm_superpose.cpp:395)
==18731==    by 0x1BDBA89D: CSSMAlign::Align(CMMDBManager*, CMMDBManager*, int, int, int, int) (ssm_align.cp p:206)
==18731==    by 0x81A0394: graphics_info_t::superpose_with_atom_selection(atom_selection_container_t, atom_s election_container_t, int, std::string, std::string, short) (graphics-info-superpose.cc:209)
==18731==    by 0x822FF88: superpose_with_chain_selection (c-interface-superpose.cc:136)
==18731==    by 0x8232162: execute_superpose (c-interface-superpose.cc:306)
==18731==    by 0x829B13D: on_superpose_dialog_superpose_button_clicked (callbacks.c:4748)
==18731==    by 0x1C243356: gtk_marshal_NONE__NONE (gtkmarshal.c:312)
==18731==    by 0x1C2725C3: gtk_handlers_run (gtksignal.c:1917)
==18731==    by 0x1C2735C0: gtk_signal_real_emit (gtksignal.c:1477)
==18731==    by 0x1C273B7F: gtk_signal_emit (gtksignal.c:552)
==18731==
==18731== Invalid read of size 4
==18731==    at 0x81A1A69: graphics_info_t::superpose_with_atom_selection(atom_selection_container_t, atom_s election_container_t, int, std::string, std::string, short) (graphics-info-superpose.cc:427)
==18731==    by 0x822FF88: superpose_with_chain_selection (c-interface-superpose.cc:136)
==18731==    by 0x8232162: execute_superpose (c-interface-superpose.cc:306)
==18731==    by 0x829B13D: on_superpose_dialog_superpose_button_clicked (callbacks.c:4748)
==18731==    by 0x1C243356: gtk_marshal_NONE__NONE (gtkmarshal.c:312)
==18731==    by 0x1C2725C3: gtk_handlers_run (gtksignal.c:1917)
==18731==    by 0x1C2735C0: gtk_signal_real_emit (gtksignal.c:1477)
==18731==    by 0x1C273B7F: gtk_signal_emit (gtksignal.c:552)
==18731==    by 0x1C1E06FD: gtk_button_clicked (gtkbutton.c:336)
==18731==    by 0x1C1E1D2D: gtk_real_button_released (gtkbutton.c:861)
==18731==    by 0x1C243356: gtk_marshal_NONE__NONE (gtkmarshal.c:312)
==18731==    by 0x1C273312: gtk_signal_real_emit (gtksignal.c:1440)
==18731==  Address 0x1CC2CDC4 is 4 bytes before a block of size 2148 alloc'd
==18731==    at 0x1B9095DA: operator new[](unsigned) (vg_replace_malloc.c:138)
==18731==    by 0x1BE5316A: GetVectorMemory(int*&, unsigned, unsigned) (mattype_.cpp:182)
==18731==    by 0x1BDC4A3D: CSuperpose::GetSuperposition(int*&, double*&, int&, int*&, int&, double[4] (&) [ 4], double&, int&, int&, double&, int&, double&) (ssm_superpose.cpp:397)
==18731==    by 0x1BDBA89D: CSSMAlign::Align(CMMDBManager*, CMMDBManager*, int, int, int, int) (ssm_align.cp p:206)
==18731==    by 0x81A0394: graphics_info_t::superpose_with_atom_selection(atom_selection_container_t, atom_s election_container_t, int, std::string, std::string, short) (graphics-info-superpose.cc:209)
==18731==    by 0x822FF88: superpose_with_chain_selection (c-interface-superpose.cc:136)
==18731==    by 0x8232162: execute_superpose (c-interface-superpose.cc:306)
==18731==    by 0x829B13D: on_superpose_dialog_superpose_button_clicked (callbacks.c:4748)
==18731==    by 0x1C243356: gtk_marshal_NONE__NONE (gtkmarshal.c:312)
==18731==    by 0x1C2725C3: gtk_handlers_run (gtksignal.c:1917)
==18731==    by 0x1C2735C0: gtk_signal_real_emit (gtksignal.c:1477)
==18731==    by 0x1C273B7F: gtk_signal_emit (gtksignal.c:552)

* Fixed.

-----
Wed Jul 18 09:09:16 BST 2007

	Hydrogens naming problem with shelx.

	Shelx calls hydrogens attached to ILE CG2 HG2A HG2B HG2C,
	whereas refmac names are HG21 HG22 HG33.

	There are lots of other problems like this.


-----

	gtk2 rotamers box needs to be made not small.

* Done.

----
Sat Jul 21 10:25:29 MDT 2007

	problem with libcootaneer lib dependency when building in gtk1
	version.

* Don't see it any more.
	
-----
Wed Aug  1 19:48:19 BST 2007

	How about an Env Var to specify where to read and write
	startup files (state, history etc) so that you can run coot
	cleanly from the Desktop.
    
     Good idea.  Bit tedious though?  

-----
Wed Aug  1 22:55:35 BST 2007

     Add Chiral Volume Outliers to  some validation graph.  Geometry?

     ie. make the blocks big and blue (c.f. missing atoms)

     Priority Low, but cute and maybe useful.

-----
Thu Aug  2 03:20:36 BST 2007

   add a test for overlap-ligands - quite tricky.


----
Thu Aug  2 14:43:06 BST 2007

	unexpanded symmetry labels have 0-indexed symm labels.  It
	should be 1-indexed - Steven Sheriff

-----
Thu Aug  2 14:47:07 BST 2007

   How about some flexibility in file name output?

     How difficult is it to create (or, maybe, How would one go about
     creating a) naming system for output PDB files that is consonant
     with my usage?  Currently COOT gives a default of
     input_file_name-coot-0.pdb.  I typically name my files
     model_0i.pdb for the file out of refinement (before ligand, hence
     the zero -- yes I do it too ;-) ) and my first output file as
     model_0o1.pdb.  If I do some "editing" outside of COOT, I might
     then create model_0i2.pdb and if I make some changes inside COOT,
     the output file would be model_0o2.pdb, etc.  After the next
     cycle of refinement, I would come in with model_1i.pdb, etc.

	-- Steven Sheriff


------
Thu Aug  2 15:40:32 BST 2007

   Add a test that adds lots of labels and deletes residues so that
   there are more atom labels than atoms left

	Use the label-all-atoms-in-residue function

* Done.

-----
Thu Aug  2 23:47:38 BST 2007

    Add a greg test, generating a ideal RNA, make a copy. Jiggle the
    atoms of the copy a bit.

    Merge those molecules.

    Make a copy:
    Do a lsq of C in the copy to A in the copy. capture the matrix.
    (apply add-ncs-matrix rna-mol "C" "A" matrix)

    Show NCS ghosts - are they there?

* Done.


-----
Fri Aug  3 15:32:18 BST 2007

on cycle:

** (coot-real:2464): WARNING **: Couldn't find pixmap file: reside-info.svg

** (coot-real:2464): WARNING **: Couldn't find pixmap file: env-distances.png


* Fixed.


----
Fri Aug  3 21:21:47 BST 2007

   after lsqing a copy and saving state

   on reading the state file at startup, it says there are 2 pdbs in
   the state file, but only one gets loaded.

   Priority Low, Easy.


-----
Sat Aug  4 14:36:06 BST 2007

	how about adding assign-pir-sequence to the state file?
	Problem is we don't store raw input, just the decoded sequence.
	We need both.
	something should be std::pair<std::string, std::string (orig, seq)
	not just std::string

        Hmm... perhaps a simple class then, because we need a flag to
        say that this molecule has a sequence assigned to it.


--------
Wed Aug  8 12:21:09 BST 2007

	set-atom-attribute for multiple atoms.
	
	currently we do an atom selection and a rebonding (and redraw)
	for each atom attribute.

* Done.

------
Sat Aug  4 15:22:06 BST 2007

        using multiple-set-atom-attribute will get rid of the
        intermediate rebonding and drawing.  How much will that speed
        things up (we still are doing the individual atom selections).

* Done.

-----
Wed Aug  8 16:47:01 BST 2007

	Make the crash catcher add the coot version, platform etc.

* looks like I did that.

------
Fri Aug 10 12:56:36 BST 2007

   add a side chain flip test.

   check that the OE1 was where the OE2 was
   and vica versa.

   also test torsions from running correct-nomenclature 
   
-------
Fri Aug 10 15:37:54 BST 2007

	Frank's SSM bug.

	Priority: Critical

* Done.

        Also mail Kendall W. Nettles

* Forget it by now.

-----
Fri Aug 10 16:43:38 BST 2007

	1a4x water at 416X - can't pick close-by symmetry water

* Fixed.  But I did see: 
   Spgr_descr: No such HM symbol
   Oops, trouble.  No such spacegroup
  What is that about?

-----
Mon Aug 13 15:43:54 BST 2007

	Add a test

	Use multiple wiggle ligands. Delete stuff and do it again.

-----
Mon Aug 13 16:52:03 BST 2007

	fit SAH into 2an3.

	It's really slow to converge.  Why?

-----
Fri Aug 17 14:18:40 BST 2007
	
	To analyse the 60 molecules crash:

	Make a test: 
	Run 6 times the ligand fitting of NPO to 43ca

* Done.  Fixed.

-------
Mon Aug 20 18:08:16 BST 2007

	Add lots of tests for the space groups of shelx .res files
	using show-spacegroup

------

   Something is going wrong on bubbles with the texi files.

snafing coot docs...
ERROR: In procedure list:
ERROR: end of file
grep: coot-gui.texi.tmp: No such file or directory

* Fixed.

----
Sun Aug  5 00:29:27 BST 2007

   Revisit the --as-needed patch from Donnie Berkholz

   Try to apply (bits of) it and see what happens - problems on
   feisty, I guess

---
Sun Aug  5 00:30:26 BST 2007

   The X11 libs dependencies need to be revisited - I had to install
   some stuff to compile - they should be tested for in configure.

   Try with a gutsy pre-release?

----
Sun Aug  5 00:32:03 BST 2007

   The Coot FAQ should be written as a texi (article?) document, so
   that it has an index and toc.

----
Sat Aug 11 13:15:35 BST 2007

   Icons
   http://jimmac.musichall.cz/icons.php

   Think about icons for info dialog and the like.

----
Sat Aug 11 15:51:42 BST 2007

    Open Clip Art Notes:

    world in connect-to-world is "cartoon globe" by lunanaut

    crispy computer mouse for scroll wheel.

-----

http://www.itbusiness.ca/it/client/en/home/News.asp?id=44529&cid=11
	
The Novell SUSE Linux subscription model is considerably less painful,
Chevalier argues, because it doesn't hit the capital expense budget
and it can often be considered an operational expense, which is better
from a tax perspective.


--------


	Schedule some time to do the CISPEP cards vs refmac.

	Important.

* Done.

-----
Tue Aug 21 14:26:00 BST 2007

   Thoughts for a tutorial or some such.

   "Assessing structure quality with Coot"
    (in response to EJD's comments on CCP4bb 2hr0)

    Structure with 0 occupancy

	What is a good (bad) Ramachandran?
	    
            What is a bad Kleywegt plot?
	
	Good (bad) geometry graph.

	Chiral volume outliers

	Cis-peptides, planar peptide restraints

	Good density fit graph (and how to scale it)

	Nomenclature errors in rotamers - and how to fix them
	   Missing atoms

	How to use with Molprobity (web output and local exes)

	B-factor variance.  What's good and bad.
	
   Priority: Low


-----
Tue Aug 21 14:44:14 BST 2007

	Note to self:

	B factor average, variance vs resolution for each residue type.

	Probably best to have a shell script to provide the pdb files
	
	c++ program reads pdbs and does b-factor analysis, 

            on completion appends to files "ARG.tab" "ASP.tab" etc
            with average and variance for each residue of that type in
            that pdb file.  Also the resolution.

	    only do 1 chain of each pdb file.

            use Coot libs - make it a Coot program.


    Priority: Low


-------
Tue Aug 21 16:50:52 BST 2007

  ionic waters:

  http://biochem.wustl.edu/~enrico/

  e.g. WASP
  Reference: Nayal, M., & Di Cera, E. (1996) J. Mol. Biol. 256: 228-234

Nayal M and Di Cera E. Valence screening of water in protein crystals reveals potential Na+ binding sites. J Mol Biol 256: 228–234, 1996

  Looks straightforward.  Except symmetry must be used to find neighbours.

  GSoC project?




-----
Tue Aug 21 18:15:47 BST 2007

	blender's iksolver for inverse kinemetic (loop fitting).
	Source code not obviously in 2.44.

        But see this
   http://www.koders.com/cpp/fid45A6AC666E04B001C8A397CC9CEA3A46D801EB30.aspx?s=cdef%3aparser
        Hmm.

-----
Wed Aug 22 10:43:56 BST 2007

	Coot's configure should test for net-http and goosh.

	And fail gracefully when they are not there.

* Done.

------
Fri Aug 24 15:40:17 BST 2007

electron_density_gradient_at_point() in simple-restraint.cc used
template type double.  Would things be faster with a float?

clipper::Grad_orth<double>
coot::restraints_container_t::electron_density_gradient_at_point(const clipper::Coord_orth &ao);


----
Thu Aug 30 10:15:37 BST 2007

  From reading JED mail

  Do some speed tests on regularizing with and without peptide plane restraints.


  Interface to change the weight of the peptide plane restraint

  Interface to turn on peptide plane restraints for refinement (or regularizing) only?

  Allow the display of anisotropic atoms per molecule - from the
  scripting layer at least.


-----
Fri Aug 31 16:28:42 BST 2007

	Do a NCS ghosts for a blue map, 

	Do it again for the difference map.

	Does it recalculate the NCS operators?

	   It shouldn't.



------
Tue Aug 28 14:31:25 BST 2007

   And if the display manager would automatically resize itself when
   more objects are loaded, would be great.
 
  Marko Hyvönen
  Department of Biochemistry    
  University of Cambridge        

   Priority: Low, Difficulty: Medium.
   A thing for GSoC.


-----
Tue Aug 28 14:48:50 BST 2007

      http://blog.mithis.net/
      lython and SchemePy 

------
From: 	Matthew Wilce <matthew.wilce@med.monash.edu.au>
To: 	emsley@ysbl.york.ac.uk
Subject: 	Coot and polynucleotide
Date: 	Tue, 17 May 2005 10:39:44 +1000  (01:39 BST)

    Functionality for both RNA and DNA

    the ability to change RNA into DNA and visa versa

    mutation of bases

    rotamer flipping (manual and automated)

    fragment library for each nucleotide

    a version of baton would be useful - either base to base and/or  
    phosphate to phosphate

      o is that still needed?

    insertion of nucleotides

    addition of a nucleotide at 3' or 5' end of polynucleotide

      o Done?


-----

   Venki Ramakrishnan:

	"CA mode" for nucleic acids should draw a P and C1' trace.

-----

   Write a FAQ for sucking of metal ligands into metal density.

-----

   make dist runs a scsh script.  configure should check for scsh?
   (not easy to convert to guile) 

 
-----
Sun Sep 16 00:33:44 BST 2007

	Suggestion on the coot list in the last week:

    o Better algorithm to find picked atoms (prefer atoms at the front).

    o "Reverse" chi angle fragment tail/dog

    o Cache libcheck results for faster "Get Monomer"

-----
Sun Sep 16 01:25:09 BST 2007


texi2html ../../coot/doc/user-manual.texi
*** Undefined node of menu_entry (Dictionary): * Dictionary::
*** Undefined node of menu_entry (Planar Peptide Restraints): * Planar Peptide Restraints::
*** Undefined node of menu_entry (The <TT>UNK</TT> residue type): * The @t{UNK} residue type::

	Priority: Medium: Difficulty: Low

----
Sun Sep 16 12:31:03 BST 2007

	refine-zone, regularize-zone, auto-refine-zone all ignore the
	alt-conf specifier.  They should not.

	Priority: Medium.

------
Wed Sep 19 17:20:41 BST 2007

	doing a flexible ligand fit in a ligands without flexible
	bonds - e.g. SO4 gives non-optimal message ("Did you forget to
	read the dictionary?").

-----
Tue Sep 18 12:01:13 BST 2007

   Interesting/useful?
	OpenBabel:
	http://openbabel.sourceforge.net/wiki/Main_Page

        pygtk-openbabel - A PyGTK frontend to OpenBabel A PyGTK
        frontend to OpenBabel that utilizes the power of
        python. Included is a graphical frontend to PubChem

	PubChem:
        http://pubchem.ncbi.nlm.nih.gov/


	Priority: Medium: Difficulty: Low

----
Tue Sep 18 16:12:29 BST 2007

   Mischa 

	if pick centering on an atom fails, can you fall back to test
	against having clicked on the intermediate atoms?

	   Indeed.  Why not.


-----
Fri Sep 21 18:17:52 BST 2007

	
	When there is a sytax error in ~/.coot, is it obvious what has
	happened?


-----

        RSR when map is ambiguous cancels rsr.  It should not.

----
Wed Sep 26 13:12:24 BST 2007


   Regularize residue A 11, 2izq

   Crashes in recently touched (well, the replace type has been
   changed) replace_coords()

(gdb) where
#0  molecule_class_info_t::replace_coords (this=0x87bfc7c, asc=@0x866b518, change_altconf_occs_flag=false)
    at ../../coot/src/molecule-class-info.cc:4564
#1  0x080c4a9f in graphics_info_t::accept_moving_atoms (this=0xbf8b8463) at ../../coot/src/graphics-info.cc:1364
#2  0x0815d612 in accept_regularizement () at ../../coot/src/c-interface-build.cc:5093
#3  0x08218ae2 in on_accept_reject_refinement_accept_button_clicked (button=0x90a88e8, user_data=0x0)
    at ../../coot/src/callbacks.c:2283
#4  0xb6e009d9 in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0
#5  0xb6df362b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#6  0xb6e04103 in ?? () from /usr/lib/libgobject-2.0.so.0


----
Wed Sep 26 14:52:14 BST 2007

	read junk*.pdb in order (starting at junk.pdb) and it crashes on junk2.

	note that model 0 is not a valid model.


------
Wed Sep 26 16:03:32 BST 2007

    Crash:

	coot --no-state-script --script delete-waters.scm --no-graphics

* Fixed - don't display the dialog in delete_checked_waters_baddies().
  
    
-------


	A168 on 1A0F fails to properly find the right rotamer, even
	though we select the rotamer by hand and do rigid body refine
	it works fine. 

	Bug?


-------

	Residue 13 of 1UBQ fails to Rigid body refine after chi1 was 
        rotated by 180.
	
	Bug?

        In fact, it looks like nothing with Rigid body refine.  Hmmm!

------

    What about interactions with PISA?

* Scheduled for 0.6.

------

    NCS skip to next change should preserve the view.

* It does now.

-----

	what can be done for displaying and editing restraints?
        (for a particular monomer).

     export a restraints description to the scripting layer.

------

 Peter's talk:

   need to set the ccp4 project from the start script.

- Done.  Needs testing.  Also, the correct ccp4 project should
  selected on creation of file-selection.  This may be a bit harder.

-----

    Frank:

    add test peptide flips cf a database

    This is quite important.

-----
Sat Sep 29 20:04:56 BST 2007

CKChuang@LBL.GOV

   Also, when I reverse direction of a chain, if I use Reverse
   Direction followed by Ca Zone-> Mainchain, a few CAs will remain
   without a chain.  If I delete the preexisting residues and try to
   Rotate/Translate them myself they are automatically reversed back
   to their original direction once I try to Regularize Zone.  Is
   there a reason for this or a way to overwrite or go around this?

-----
Sat Sep 29 20:38:27 BST 2007

	Steven Graham:

    I don't want to be able to pick other atoms in CA mode.

* Done

----
Thu Sep 27 09:27:26 BST 2007

	Ramachandran plot from atom selection (no need for a gui for
	this just yet).

---
Thu Sep 27 09:30:20 BST 2007

	John Berrisford complains about OXT refinement.

	Make sure Coot properly refines OXT at some stage (by
	correctly handling modifications).

-----
Tue Oct  2 09:05:25 BST 2007

   A must-do for 1.0:

        ***** 

	Put backrub into minimizer for auto-fit-rotamer - as an
	alternative.

        ***** 
----
Wed Oct  3 12:23:09 BST 2007


   NCS Ligands

   Make the NCS ghost matrices available at the scripting layer

	(let ((rtop ((get-ncs-matrix imol "A" "B"))))

	   ;; now apply rtop to the ligand "C" in the "A" pocket to
	   ;; make "D" in the "B" pocket

----
Wed Oct  3 18:59:34 BST 2007

   write a triv app with latest glade with icons and libglade

----
Sat Oct  6 08:04:36 BST 2007


pkg-config libglade-2.0 --cflags

-I/usr/include/libglade-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libxml2 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12  

pkg-config libglade-2.0 --libs

-lglade-2.0 -lgtk-x11-2.0 -lxml2 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0  


----
Tue Oct  9 22:19:02 BST 2007

    GSOC project?
	nice graphic output of SSM results.
hari jayaram <harijay@gmail.com>


-----
Thu Oct 11 23:20:47 BST 2007

	convert axes.scm to axes.py for Paolo.


----
Mon Oct 29 09:36:34 GMT 2007

   Clemens:

   Add function that does
   copy_residue_range_from_ncs_master_to_others(int imol, const char *master_chain_id, 
					  int residue_range_start, int residue_range_end)
   but to a specific chain only:

   i.e.:

   copy_residue_range_from_ncs_master_to_chain(int imol, const char *target_chain_id, 
					  int residue_range_start, int residue_range_end)

   which looks up the master_chain_id from the ghost of the target_chain_id
   

------

   I would like to report a bug in the 0.4 pre-release.  In the clash 
   panel generated by probe, the vertical bar doesn't work anymore.  
   Could you fix it?

Jianghai


------

From:   	 Adam Okerlund <okerlund13@hotmail.com>
To: 	paul.emsley@bioch.ox.ac.uk
Date: 	Fri, 19 Oct 2007 15:23:31 -0500

I don't need anything, but it said I should send this to you.

Thanks,
Adam Okerlund

----------------------------------------------

Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/local/coot/bin/coot-real'.
Program terminated with signal 11, Segmentation fault.
#0  0x081acbad in lookup_widget (widget=0x33203a66, 
    widget_name=0x84a151c "geometry_distance_togglebutton") at support.c:33
        in support.c
#0  0x081acbad in lookup_widget (widget=0x33203a66, 
    widget_name=0x84a151c "geometry_distance_togglebutton") at support.c:33
#1  0x080d31ec in graphics_info_t::unset_geometry_dialog_distance_togglebutton
    (this=0xffc0e7cb) at graphics-info.cc:5328
#2  0x0811fdda in graphics_info_t::check_if_in_geometry_range_defines (
    this=0xffc0e7cb, event=0x8662118) at graphics-info-defines.cc:393
#3  0x081232c6 in graphics_info_t::check_if_in_range_defines (this=0xffc0e7cb, 
    event=0x8662118, state=@0xffc0e7bc) at graphics-info-defines.cc:201
#4  0x081aab02 in glarea_button_press (widget=0xab91428, event=0x8662118)
    at globjects.cc:3344
#5  0x55f24f64 in gtk_marshal_BOOL__POINTER (object=0xab91428, 
    func=0x81aa812 , 
    func_data=0x0, args=0xffc0e938) at gtkmarshal.c:28
#6  0x55f594d2 in gtk_handlers_run (handlers=0xc4cc200, signal=0xffc0e8b8, 
    object=0xab91428, params=0xffc0e938, after=0) at gtksignal.c:1917
#7  0x55f5bba3 in gtk_signal_real_emit (object=) at gtksignal.c:1477
#8  0x55f5c1e8 in gtk_signal_emit (object=) at gtksignal.c:552
#9  0x55f975a1 in gtk_widget_event (widget=0xab91428, event=0x8662118)
    at gtkwidget.c:2864
#10 0x55f230b8 in gtk_propagate_event (widget=0xab91428, event=0x8662118)
    at gtkmain.c:1378
#11 0x55f241ee in gtk_main_do_event (event=0x8662118) at gtkmain.c:803
#12 0x55fdf71b in gdk_event_dispatch (source_data=0x0, 
    current_time=0xffc0ed50, user_data=0x0) at gdkevents.c:2139
#13 0x56012bc9 in g_main_dispatch (dispatch_time=0xffc0ed50) at gmain.c:656
#14 0x5601345d in g_main_iterate (block=) at gmain.c:877
#15 0x5601365f in g_main_run (loop=0x8a054e0) at gmain.c:935
#16 0x55f2463f in gtk_main () at gtkmain.c:524
#17 0x080d233b in c_inner_main (closure=0x0, argc=1, argv=0xffc0f144)
    at c-inner-main.c:217
#18 0x556258c0 in invoke_main_func () from /usr/local/coot/lib/libguile.so.12
#19 0x5562586d in scm_boot_guile_1 () from /usr/local/coot/lib/libguile.so.12
#20 0x5562556c in scm_boot_guile () from /usr/local/coot/lib/libguile.so.12
#21 0x080d2018 in c_wrapper_scm_boot_guile (argc=1, argv=0xffc0f144)
    at c-inner-main.c:237
#22 0x080cd46e in main (argc=) at main.cc:402
Current language:  auto; currently c


-----
Fri Oct 19 21:46:34 BST 2007

   Message from EJD.

   Check that the skeleton colour works correctly.

-----
Thu Oct 25 11:09:07 EDT 2007

reading in a minimal state file:

Bad view quaternion

----
Thu Oct 25 18:23:31 BST 2007

    Can we fit the helix at residue 122 in the CSHL Au Lysozyme
    dataset?

-----
Tue Oct 30 15:24:25 GMT 2007

crash from EJD, not much to report:


#4  0x089626e6 in gtk_canvas_re_unrealize (item=0x1b5ad798) at gtk-canvas-rect-ellipse.c:598
#5  0x0895a74d in gtk_canvas_group_unrealize (item=0x1a68e428) at gtk-canvas.c:1796
#6  0x0895bb39 in gtk_canvas_unrealize (widget=0x1b330028) at gtk-canvas.c:2568

    validation graph open, then molecule closed?

    validation graph open, and graph is updated?  residue deleted?
    residue generated (add terminal residue) then graph is asked to be
    updated?

    
----
Tue Oct 30 15:49:12 GMT 2007

   On starting up coot, if imol_refinement_map() is undefined, then
   set insensitive the map fitting functions (e.g. refine zone,
   autofit rotamer).

   When it is set, we can activate those buttons (and menu items?).


----
Tue Oct 30 15:52:39 GMT 2007

   CSHL CRASH:

   on calculating a skeleton after deleting a map (and skeleton) and
   reading in a new map.

   

----
Tue Oct 30 15:53:49 GMT 2007

    Remove probability limit when using Richardson Rotamers.

* Done.

----
Tue Oct 30 15:54:27 GMT 2007

    Editing chi angles on a reduced pdb file failed to rotate the
    hydrogens (maybe a dictionary/version 3.0 problem).

    Also (set-find-hydrogen-torsions 1) fails.  Same cause?

---
Mon Nov  5 11:49:30 GMT 2007

  Maria Solà Vilarrubias: 

   I want to display ILE, LEU, VAL residues with just sidechains (in a
   different colour), the rest with Mainchain CAs.

----
Mon Nov  5 20:31:59 GMT 2007

   mask map by sphere

* Done - or close enough

----
Mon Nov  5 20:32:25 GMT 2007

   export map on Extensions menu.

* Done.

----
Fri Nov 16 12:51:54 GMT 2007

    short int is_hydrogen(const std::string &atom_name) const;

    should be bool

* Done.

----
Tue Nov 13 23:30:57 GMT 2007

   what is read_number in cif reading for. 

   try to get rid of it.

   examine read_number_in usage here:

  coot::protein_geometry::init_refmac_mon_lib(std::string ciffilename, int read_number_in)


----
Tue Nov 13 23:42:21 GMT 2007

	coot --recover

    reads history file (history file needs to be written when commands
    executed - not at exit time) to get maps.

    reads most recent saved files in coot-backup.

    recover those written < 5 mins ago (or some such).


----
Tue Nov 13 23:30:57 GMT 2007

   Gregory C. Benison NMR program:
   http://oregonstate.edu/~benisong/software/burrow-owl/
   now at
   http://sourceforge.net/projects/burrow-owl

-----
Fri Nov 16 20:23:19 GMT 2007

   How do I change my residue to have insertion code and the following
   residues to have -1 offset and it all to be joined up?

   e.g.:
   (change-residue-number 0 "C" 86 "" 85 "A")
   Which is fine, execpt I can't then move C/85A to the A chain.


----
Sat Nov 17 12:14:46 GMT 2007

	phosphorylate-active-residue: 

	what about phospholysine?

----
Sun Nov 18 16:47:57 GMT 2007

	update Map Transformation example in user-manual


-----
Thu Nov 22 16:28:41 GMT 2007

EJD crash:

#0  0x0844eb3a in molecule_class_info_t::intelligent_this_residue_mmdb_atom ()
#1  0x0834be67 in graphics_info_t::on_go_to_atom_residue_tree_selection_changed_gtk1 ()
#2  0x0837f6c8 in on_go_to_atom_atom_list_selection_changed_gtk1 ()
#3  0x089d2c26 in gtk_marshal_NONE__POINTER_INT_INT ()
#4  0x08a0605b in gtk_handlers_run ()
#5  0x08a0520b in gtk_signal_real_emit ()
#6  0x08a02b07 in gtk_signal_emit ()
#7  0x089d2a80 in gtk_marshal_NONE ()
#8  0x08a05118 in gtk_signal_real_emit ()
#9  0x08a02b07 in gtk_signal_emit ()
#10 0x08a2dba0 in gtk_tree_select_item ()
#11 0x08a2c571 in gtk_tree_button_release ()
#12 0x0c520378 in ?? ()
#13 0x00000000 in ?? ()



------
texi2html ../../coot/doc/user-manual.texi
*** Undefined node of menu_entry (Dictionary): * Dictionary::
*** Undefined node of menu_entry (Planar Peptide Restraints): * Planar Peptide Restraints::
*** Undefined node of menu_entry (The <TT>UNK</TT> residue type): * The @t{UNK} residue type::
mkdir -p chapters ; \
cd chapters ; \
splitstr='-split_chapter' ; \
texi2html --version ; \
if [ $? = 0 ] ; then splitstr='-split=chapter' ; fi ; \
texi2html $splitstr ../../../coot/doc/user-manual.texi ; \
cd ..
1.64
*** Undefined node of menu_entry (Dictionary): * Dictionary::
*** Undefined node of menu_entry (Planar Peptide Restraints): * Planar Peptide Restraints::
*** Undefined node of menu_entry (The <TT>UNK</TT> residue type): * The @t{UNK} residue type::


----
Wed Dec  5 14:13:31 GMT 2007

    Plans for multi-stick representations

    class line_representation {
      representation_type { atom_bond, CA, CA+ligand etc }
      bonds_container
      displayed_flag
      bond_thickness
      colour_rotation
      atom_selection_description { residue_type, residue_range_type, chain_type
	chain_id 
        resno_1
        resno_2;
	insode_1;
	insode_2;
      }
    };
      
    We shall use a std::vector<line_representation> line_rep_vec;  
    New items are pushed back.  You can't delete an item from this
    vector, mearly not display it (the handles are passed back - and
    we don't want them to go out of date).

    Particular alt confs cannot be selected for.

    Questions:  How shall we create new representations for this molecule?

    // return 
    int add_representation imol representation-spec

    // used by GUI
    undisplay_representation imol respresentation-number

    undisplay_representation imol residue_spec
    which needs to be unambiguated. Test in this order:

     o Was there a line_representation that has that residue_spec?
     o Was there a residue_range line_representation that encompassed that residue_spec?
     o Was that residue in a chain that has a line_representation?


-----
Wed Dec  5 16:05:13 GMT 2007

   Cool for chi squares values > 2.0 to have their text written in red.

   "Is it in the red or in the black?"

* Old. Handled differently.

----

	Tested/Not Tested:

   green_box on rama plot, on edit backbone angles crashed because
   canvas items were not being generated properly (not assigned to a
   canvas item before being pushed back into vector).

-----
Wed Dec 12 13:20:33 GMT 2007

   Make nice images for nucleic acid base chooser.  
 	
   The buttons don't need to be small.


-----
Thu Dec 13 17:48:24 GMT 2007

   write a test for fix-nomenclature-errors

-----
Sat Dec 15 12:18:46 GMT 2007

   1OHY is good for displaying NCS skipping

-----
Sat Dec 15 13:12:08 GMT 2007

	Randy Read: 

    (copy-residue-range-from-ncs-master-to-others 0 "A" 1 5) needs to
    work if residues 1 to 5 are not in the B and C chains (because
    I've just built them in the A chain).

* Done.

----
Sat Dec 15 13:13:45 GMT 2007

    Randy Read:

	I want a tool for applying symmetry operator to a fragment

    How about this then:

    Other Modelling Tools -> Apply Symmetry to fragment
    [click on a atom]

    Coot finds fragment by selecting residues that have contiguous residue 
    numbering (does minimol do that?)
 
    -> Intermediate atoms

    Now pop up a gui

    A box of symmetry ops:
    X, Y, Z,
    -X+1/2, -Y, Z+1/2 
    (etc)

       X:  - +
       Y:  - +
       Z:  - +

    + "I'm feeling lucky", which should try to find the best packing
      itself (somehow)

----
Mon Dec 17 12:50:36 GMT 2007

   save_stat_file_name() returns a char * - yeuch.  It should return a SCM
   and be renamend save_stat_file_name_scm().  Also save_stat_file_name_py().

   Priority: Low
   Difficulty: Trivial

* Done.

-----
Mon Dec 17 16:52:20 GMT 2007

   Steven Sheriff:

   On calculating blobs from a difference map:

10.44 (10.44 sigma) at xyz = (  22.62, 4.526, 70.71)
10.40 (10.40 sigma) at xyz = (  22.35, 3.493, 70.95)   #  1.06 A separated from one above;
10.31 (10.31 sigma) at xyz = (  22.6, 4.587, 70.69)  # # 0.07 A separated from two above; 1.15 A separated from one above

"My view is that I don't want to see all 3 of these in the list, one would do. "

    One can see something similar if you peak search the difference
    map, I think.  Tweak the difference map algorithm to filter out
    sub-sites that are close to already found sites.  
    Weighted average, maybe?


------
Tue Dec 18 13:41:58 GMT 2007

in 
void
graphics_info_t::execute_rotate_translate_ready() { // manual movement

   CAtom *atom1 = molecules[imol_rot_trans_object].atom_sel.atom_selection[rot_trans_atom_index_1];
   CAtom *atom2 = molecules[imol_rot_trans_object].atom_sel.atom_selection[rot_trans_atom_index_2];

Which can be a crash of atom1 is deleted between its click and the second rt-zone click.
Hmm...

----
Tue Dec 18 16:45:06 GMT 2007


 fill_close_option_menu_with_all_molecule_options() does not use
 GINT_TO_POINTER().  It should.


----
Tue Dec 18 16:46:52 GMT 2007

  separate out the widget parts of c-interface.h into
  c-interface-gui.hh (or should it be .h? - Yes I think it should be
  because those functions will also be called by callbacks.c)

-----
Thu Dec 20 20:25:45 GMT 2007

    JED: What I want is function to remove alt confs of atoms in a
    residue which only have one atom of that type in the residue.
    And set the occupancy to 1 at the same time.

    Give me a key binding to run this function on the active
    residue. And re-display the residue-info dialog.

* Done: (sanitise-alt-confs)

---
Fri Dec 21 13:51:31 GMT 200

 c-interface.cc:
 * Copyright 2004, 2005, 2006, 2007 by Bernhard Lohkamp
coot_utils.py:
# Copyright 2004, 2005, 2006, 2007 by Bernhard Lohkamp

 Remove that - unless there is good reason not to.

-----
Fri Dec 21 14:08:25 GMT 2007

   Bill report of starting up with GUI, but no scripting window available:




Latest coot, I am getting this when I try to open the python scripting
window (used to work):

Traceback (most recent call last):
 File "<string>", line 1, in <module>
NameError: name 'coot_gui' is not defined


I think everyting loaded:

DEBUG:: stating pydirectory /sw/share/coot/python
INFO:: loading coot.py from /sw/share/coot/python/coot.py
Running python script /sw/share/coot/python/coot.py
INFO:: coot.py loaded
INFO loading coot python modules
Running python script /sw/share/coot/python/coot_load_modules.py
Loading: coot_utils.py
Loading: filter.py
Loading: coot_lsq.py
Loading: shelx.py
Loading: get_ebi.py
Loading: local_code.py
Loading: hello.py
Good Evening Wgscott, Welcome to Coot.
(set-display-intro-string "Good Evening Wgscott, Welcome to Coot.")
Loading: mutate.py
Loading: refmac.py
Loading: libcheck.py
Loading: gap.py
Loading: fitting.py
Loading: raster3d.py
Loading: povray.py
Loading: generic_objects.py
Loading: ncs.py
Loading: cns2coot.py
Loading: tips.py
Loading: americanisms.py
Loading: group_settings.py 


Note that it is not starting up in python_gui mode.

Note also that pygtk is not needed for the python gui.

   Priority: Important.
   Bernhard to fix.
   (It doesn't happen to me, I get good results on searching for pygtk in configure).

   Try compile without pygtk.
   We should get python scripting window without pygtk.

* Discussed this with Bernhard.  He will try to untangle it.

-----
Fri Dec 21 15:11:40 GMT 2007

A valgrind thing to think about:

==15565== 496 (160 direct, 336 indirect) bytes in 1 blocks are definitely lost in loss record 264 of 402
==15565==    at 0x4C220C5: operator new[](unsigned long) (vg_replace_malloc.c:199)
==15565==    by 0x65F7293: Bond_lines_container::make_graphical_bonds() const (Bond_lines.cc:1642)
==15565==    by 0x4AD80C: graphics_info_t::flash_selection(int, int, std::string, int, std::string, std::string, std::string) (graphics-info-modelling.cc:757)
==15565==    by 0x4B3CE2: graphics_info_t::refine_residue_range(int, std::string const&, std::string const&, int, std::string const&, int, std::string const&, std::string const&, short) (graphics-info-modelling.cc:918)
==15565==    by 0x4B44DD: graphics_info_t::refine(int, short, int, int) (graphics-info-modelling.cc:842)
==15565==    by 0x53122B: refine_zone_with_full_residue_spec (c-interface-build.cc:5165)
==15565==    by 0x531308: refine_zone (c-interface-build.cc:5143)
==15565==    by 0x83E0EBB: _wrap_refine_zone(scm_unused_struct*, scm_unused_struct*, scm_unused_struct*, scm_unused_struct*, scm_unused_struct*) (coot_wrap_guile.cc:12815)
==15565==    by 0x8FF5107: scm_gsubr_apply (in /home/paule/x64/lib/libguile.so.17.1.1)
==15565==    by 0x8FDE10C: scm_dapply (in /home/paule/x64/lib/libguile.so.17.1.1)
==15565==    by 0x8FE2801: deval (in /home/paule/x64/lib/libguile.so.17.1.1)
==15565==    by 0x8FE2F44: deval (in /home/paule/x64/lib/libguile.so.17.1.1)
==15565== 

-----
Mon Dec 24 16:48:47 GMT 2007
	
  BL has introduced split in on_open_coordinates1_activate.  Needs
  rationalizing.

-----
Sun Dec 30 10:29:43 GMT 2007

   Google for this from the office:

   The Lancet : Ten pieces of free software every doctor should have

-----
Mon Dec 31 16:44:49 GMT 2007

   on doing a refinement: 

INFO:: graphics_info_t::clear_up_moving_atoms...
clearing intermediate object...
c-interface clear_up_moving_atoms...
INFO:: graphics_info_t::clear_up_moving_atoms...
WARNING:: attempting to delete NULL moving_atoms_asc.atom_selection
Ignoring. 
attempting to delete NULL moving_atoms_asc.mol
ignoring 
clearing intermediate object...

    (ugliness)

-----
Mon Dec 31 16:53:00 GMT 2007

   For 0.5:

   o Tests for chi angles: 
       Make some residue that you know the chi angles of.
          Generate values, compare.
       Chi angles of a Water
       Chi angles of 3GP

     Where should this code go?  In a new testing.cc/testing.hh?  
     test_chi_angles(imol_3gp, imol_ref, imol_water);
        and the actual target values are embedded in the test code.
        Hmm...  Well, I could try it.

     Note to self:  Write the test first!

* Done.  In test-ligand

----
Fri Dec 28 17:12:58 GMT 2007

    how do I test torsion general?

    I can use test-ligand, for sure.

    maybe, I'll libify the test, so coot main can use it.
    Hmm...

    So we make molecules every n*10 degress
 
    rotate the bond the other -n*10.

    Overlap results.  
       Test for closeness.

-----
Mon Dec 31 19:48:09 GMT 2007

   interesting?
   FBSS:
   http://cisrg.shef.ac.uk/projects/fbss//man_contents.html

-----
Mon Dec 31 23:08:32 GMT 2007

  molecule_info_class_other.cc has:
  do_accept_reject_dialog("Alt Conf Split", coot::refinement_results_t());
  Yeuuuuucch!

  I see why I did it I think - it was cheap :)
  It is in split_residue_internal(), so the resulting value from this
  function needs to be propogated back up through split_residue()

-----
Wed Jan  2 18:57:42 GMT 2008

   Funny shapped protein?

	1l7l 

-----
Mon Jan  7 08:48:31 GMT 2008

   Export chi angles for a residue spec to scripting layer.
   Can test from there.

---
Tue Jan  8 04:12:57 GMT 2008

  Make a test for alt conf split a residue?
  What is the test?  There is not functions at the scripting layer:
  add_alt_conf( [residue spec] ) 
  or 
  split_residue ( [residue spec] ) 
  
  Hmmm...

-----
Tue Jan  8 07:57:19 GMT 2008

    Transfer transpose matrix to Coot from Chart.
    Use it, like Bernhard does on the nudge view buttons.

* Done

----
Tue Jan  8 09:40:44 GMT 2008

   A graph tool to represent NCS differences

* Done.

----
Tue Jan  8 09:41:15 GMT 2008

   Rewrite sequence view (from scratch)

----
Tue Jan  8 10:42:12 GMT 2008

this needs filling
set_monomer_restraints(). 
and the function should be in c-interface-build.cc I think.


---
Tue Jan  8 11:56:22 GMT 2008

   A script that identifies badly fitting residues, 
   (by density fit and geometry and rotamer say - these residue
   attributes need to be exported to scripting surface)

   make a list of residues
     view to residue
     rotate view
     try rotamer search
     does it fit now?
     if not
        delete residue
        add-terminal-residue
        mutate to previous residue type
     rotate view

   Do it in scripting

----

    PSK18 has tunnel for C16, long chain fatty acid 
    Ruckmini 2004
    Might be fun to do an annimatation of this.

    Priority: (Fun), Low
 
----
Tue Jan  8 12:10:28 GMT 2008

    Turn the traffic lights to be vertical, 
    Minimize function needs to return a vector<float, string> and fill a table
    e.g. (1.245 "Bonds: 1.245")

    Maybe a type is needed too, so that we activate (show) the right
    GtkLabel and frame

    Priority: Low, but it's the right thing.

* Done.

----
Tue Jan  8 13:06:56 GMT 2008

    Testing fixed atoms:

    need to:
    create a bad rotamer
    refine residue
      {generates intermediate atoms}
    fix a wrongly positioned atom
    drag another atom
      {fixed atom doesn't move}
      {continue refinement}
    accept refinement
    get atom attributes for fixed atom
    check that it is where it should be (fixed position)
   

----
Tue Jan  8 13:14:48 GMT 2008

    Rotamer funtion:
    set_rotamer_at_residue(imol, chain_id, resno, ins_code, alt_conf, rotamer_name);
    where rotamer name is "t" or "tpp" etc.

-----
Wed Jan  9 00:30:49 GMT 2008

    For 0.5:

    Do a validation on a fitted 3GP.  Is the most deviant geometry the
    one shown in the tooltip?

    Priority: High.

-----
Wed Jan  9 06:59:22 GMT 2008

   Needs fixing?

void
molecule_class_info_t::make_ca_plus_ligands_bonds() { 

   bonds_box_type = coot::COLOUR_BY_RAINBOW_BONDS; // FIXME

* Yes. fixed.

---
Wed Jan  9 07:03:22 GMT 2008


  Look up the "Ramachandran" plot for torsions around the glycosidic
  bond in carbohydrate linkages

  phi vs psi

  (-90, 60) is the big peak

  around c2-o and o-xxx on the other subunit

  Look For The Database analysis of Glycosylation

  1f31 has axial carbohydrate in ganglioside, a mistake maybe?

-----

molecule_class_info_ncs: has this construction:

   for(unsigned int ighost=0; ighost<ncs_ghosts.size(); ighost++) {

      if (ncs_ghosts_have_rtops_flag == 0) {
	 // std::cout << "   %%%%%%%%% calling fill_ghost_info from "
	 // std::cout << make_dynamically_transformed_maps "
	 // << std::endl;
	 fill_ghost_info(1, homology_lev); // fill the rtops and set the flag
      }

is that right?

-----
Thu Jan 10 08:19:19 GMT 2008
	
   write a testing.cc test for 
	std::vector<std::pair<int, int> >
	coot::util::pair_residue_atoms(CResidue *a_residue_p,
				       CResidue *b_residue_p) {

    passing different residue types

----
Thu Jan 10 10:43:33 GMT 2008

  Aspirin and paracetamol are simple.

  See if coot can fit them (do they exist in the EDS?).  Add to test
  suite?

----
Fri Jan 11 08:40:05 GMT 2008

   Look at fitting strands at low resolution.
   an OMP pore protein perhaps.

   One for the test suite?

-----
Fri Jan 11 08:51:06 GMT 2008

   Make the default bond thickness thicker!

* Done.

----
Fri Jan 11 10:40:28 GMT 2008

   Transfer map functions to molecule-class-info-maps.cc

* Done.

-----
Sun Jan 13 14:50:19 GMT 2008

    A function to return the density fit score of a residue.  Can be
    done in scripting of course, now (not sure if that is for the
    best)

---
Sun Jan 13 14:51:14 GMT 2008

   In ligand fitting, I want to see the scores and the positions of
   the best fits in the other orientations.  The B factors should be
   set to the ligand fit score for this testing.  Perhaps the ligand
   fitting should return a vector of std::pair<name, mol>s.  Best fit,
   ori1, ori2, etc.

   So maybe set a developer option to do this.

---
Sun Jan 13 15:11:30 GMT 2008

   Residue info should also contain phi psi values and a percentile
   (like molprobity)

   How about a graph of Ramachandran percentile? 


----
Sun Jan 13 15:36:10 GMT 2008

    Test that skip-to-next-ncs-chain works with a2b2 hemoglobin.  


----
Sun Jan 13 18:42:32 GMT 2008

    How To Add Another Geometry Graph
  
    in geometry_graphs.hh:
    --------------------------
    Add new type to geometry_graph_type 

    in geometry_graphs.cc
    --------------------------
    In the coot::geometry_graphs::geometry_graphs(...) constructor, add title

    in graphics-info-graphs.cc
    --------------------------
    graphics_info_t::update_geometry_graphs(...) 
    Add a function to update new graph.

      coot::geometry_graphs *gr =
	 geometry_graph_dialog_to_object(residue_density_fit_graph[imol_moving_atoms]);
	 std::vector<coot::geometry_graph_block_info_generic> dv =
	    geomtry_graph_xxx_from_mol(moving_atoms_asc_local,
				 imol_moving_atoms,
				 Imol_Refinement_Map());
	 gr->update_residue_blocks(dv);

    Create a function:
    void graphics_info_t::xxx_graphs(int imol)...


    in c-interface-xxx.cc
    ----------------------
      void validation_graph_XXX_mol_selector_activate (GtkMenuItem     *menuitem,
						      gpointer         user_data);
   in main.cc
   ----------
   Add create_initial_validation_graph_submenu_generic
   The menu name (the first string) must match the names generated by the glade

   in callbacks.c
   --------------
  char *type = "density-fit";
  GtkWidget *menu = lookup_widget(GTK_WIDGET(menuitem), "density_fit_analysis1");
  if (menu) { 
    add_on_validation_graph_mol_options(menu, type);
  } else { 
    printf("failed to get menu in on_density_fit1_activate\n");
  }
    
   in c-interface-validate.cc
   -------------------------

   Add another option to add_on_validation_graph_mol_options()

   The validation_type must match that from callbacks.c
   The sub_menu_name must match that from main.cc 
     create_initial_validation_graph_submenu_generic()

   Also unset_geometry_graph(GtkWidget *dialog) needs to know about the new graph

   in graphics_info_graphs.cc 
   --------------------------
   set_validation_graph need to know about the new graph


-----
Mon Jan 14 13:22:33 GMT 2008

    testdbmain is broken.


----
Mon Jan 14 13:22:48 GMT 2008

    Really test out Ca Zone -> Mainchain.  

    It seems to me that most of the time it works well, but there are
    regions where it does not. e.g. CA - N bonds of less than 0.5A.
    I am thinking that that can only be coming from a bug.

    Think about how to test that. 

    Very few reference structures?

    We need to know how many fragment are contributing to each
    position.


-----

   configure should check for scsh.
   only if it has it should it be used for the documentation.

----
Thu Jan 17 09:50:46 GMT 2008

    think about user-defined bond, as seen on Phenix list recently:
    e.g.:

    add-user-defined-bond(int imol, atom_spec atom1, atom_spec_atom2, float dist_ideal, float sigma);

----
Thu Jan 17 10:14:18 GMT 2008

    Tinker with a libglade project.

-----
Thu Jan 17 11:56:57 GMT 2008

    ubuild, ie. without python out the box please.  
    i.e. coot_wrap_python.cc needs to be not compiled somehow.

   Priority: Important.


----
Thu Jan 17 16:27:11 GMT 2008


   I was trying to find a map in the current dir and accidently went to a subdir.  I pressed 
   -Current-Dir- to get back and got this

** (lt-coot-real:3659): WARNING **: Widget not found: coords_fileselection1
WARNING:: failed to find filesection in option_menu_refmac_ccp4i_project_signal_func


   Priority: Critical.

* Fixed.

-----
Fri Jan 18 08:36:45 GMT 2008

    Hydrogen - Hydrogen environment distances should be yellow not pink.

    Priority: Critical.

* Done.

----

Accession code accessor needs a "Get it" button.


   Priority: Important.

* Done

----

   Need python_loaded_p -> python-loaded? { #t #f}

   and guile_loaded()  { False True }

* Done.

----
Sat Jan 19 11:35:01 GMT 2008

    Build GTk2 on YSBL.

chihiro fails: no GL include files.
dewinter fails: in mmdb: C++ compiler can't compile

bubbles fails: gtk2 version is 2.0.6, needs 2.2.0
bragg3 fails: can't compile a working guile 1.8.3

----
Sat Jan 19 11:56:58 GMT 2008

    Molprobity interaction dots around a ligand.  
    Surely that would be super cool?

    Yes it would.

-----
Sat Jan 19 16:09:27 GMT 2008

    Read charges from dict and calculate and display diapole moments

----
Mon Jan 21 13:04:37 GMT 2008

    Now I am compiling gtk2+ becuase the system gtk2+ on cycle (FC4)
    is too old to complile Coot.

    I am doing it on cycle in ~/compile
    I created setup pango-glib-gtk2 with PKG_CONFIG settings.
    ./configure --prefix=$HOME/autobuild/Linux/Coot-0.4

    glib 2.12.13 straightforward
    pango 1.16.4 straightforward
    fine.  
    Oh for gtk2 though, cairo is not an option.  It is a must.  Baah.
    That was not clear in www.gtk.org.

    So get cairo 1.4.14 from http://cairographics.org/releases/

    which means get glitz from http://cairographics.org/snapshots/
    (gotta have glitz, right?)

    glitz-0.5.6 
    ./configure --prefix=$HOME/autobuild/Linux/Coot-0.4
    Compiles OK.

    back to cairo
    ./configure --prefix=$HOME/autobuild/Linux/Coot-0.4 --enable-glitz
    This displays a warning about using glitz, but configures OK.
    Compiles OK.

    back to pango:
    now with cairo in place, pango's configure finds cairo
    ./configure --prefix=$HOME/autobuild/Linux/Coot-0.4
    Compiles OK.

    back to Gtk2+:
    glib version test failed, so need to add LD_LIBRARY_PATH too (to the setup file)
    ./configure --prefix=$HOME/autobuild/Linux/Coot-0.4
    Compiles OK.

    Fine.  But Coot configure fails on gtlglExt

    http://downloads.sourceforge.net/gtkglext/gtkglext-1.2.0.tar.gz?modtime=1139081517&big_mirror=1
    back to GtkGLExt:
    ./configure --prefix=$HOME/autobuild/Linux/Coot-0.4
    Compiles OK.

    Coot now compiles OK.  And runs! Great.
    But - it doesn't load svgs.

    OK, back-up. 

    config.log for cairo tells us we need a newer librsvg:
    http://ftp.gnome.org/pub/GNOME/sources/librsvg/2.20/
    http://ftp.gnome.org/pub/GNOME/sources/librsvg/2.20/librsvg-2.20.0.tar.gz (2 days old at 
    time of writting)

    ./configure --prefix=$HOME/autobuild/Linux/Coot-0.4
    Warns us that we are not compiling with libcroco.
    Oh well.

    OK, now librsvg is in place configure finds it.
    Rebuilding cairo
    Install.

    Fine.  Now coot loads its svgs.  Yay!

    PyGtk needs pycairo


    Correct build order:
    glitz
    glib
    librsvg
    cairo
    pango
    gtk+-2
    glkglext

Hmm...


checking for LIBRSVG... configure: error: Package requirements (        gdk-pixbuf-2.0 >= 1.3.7         glib-2.0 >= 2.12.0      libxml-2.
0 >= 2.4.7      pangoft2 >= 1.2.0       pangocairo >= 1.2.0     cairo >= 1.2.0  cairo-png >= 1.2.0      fontconfig >= 1.0.1
        freetype2) were not met:

Requested 'pangoft2 >= 1.2.0' but version of Pango FT2 is 1.1.1

http://www.linuxfromscratch.org/blfs/view/svn/x/cairo.html

  Note that the GTK, Poppler and librsvg packages are circular in that
  using them for test suite coverage requires installing cairo first,
  then installing the desired package(s), then installing cairo again.

Now on to guile-gtk:

A new guile: 1.8.3:

./configure --prefix=/lmb/wear/emsley/guile-1.8.1 CFLAGS="-I/lmb/wear/emsley/guile-1.8.1/include -O" LDFLAGS=-L/lmb/wear/emsley/guile-1.8.1/lib

if I use -g instead of -O, I get:

$ guile
Backtrace:
In unknown file:
     ...
   ?: 123  [list apply ...
   ?: 124*  [list lambda (syntmp-dummy-3 syntmp-name-4 syntmp-rules-5) ...
   ?: 125*   [syntmp-chi-151 #(syntax-object # #) (# # # # ...) ...
   ?: 126*    [syntmp-make-binding-wrap-132 (# # #) ("i" "i" "i") (())]
   ?: 127     (if (null? syntmp-ids-949) syntmp-w-951 ...)
   ?: 128     [cons () ...
   ?: 129*     [cons ...
   ?: 130*      (let* ((syntmp-labelvec-952 #)) (let* (#) (let # #)))
   ?: 131       (let* ((syntmp-n-953 #)) (let (# #) (begin # #)))
          ...
   ?: 132       (begin # #)
   ?: 133*      [syntmp-f-956 (# # #) 0]
   ?: 134       (if (not #) (call-with-values # #))
          ...
   ?: 135       [call-with-values #<procedure #f ()> #<procedure #f #>]
   ?: 136       (@call-with-values (producer consumer))
   ?: 137*      [#<procedure #f ()>]
   ?: 138*      [syntmp-id-sym-name&marks-116 #(syntax-object dummy #) (())]
   ?: 139       (if (syntmp-syntax-object?-101 syntmp-x-980) (values # #) ...)
   ?: 140*      [syntmp-syntax-object?-101 #(syntax-object dummy (# # # shift ...))]
   ?: 141       (and (vector? syntmp-x-1008) (= (vector-length syntmp-x-1008) 3) ...)
   ?: 142*      (vector? syntmp-x-1008)


guile-gtk-2.1:

./configure --prefix=$HOME/autobuild/Linux/Coot-0.4 --without-gtkgl

-----
Mon Jan 21 15:49:32 GMT 2008

    reference for EDS:

 Title: The Uppsala Electron-Density Server
Author(s): Kleywegt GJ, Harris MR, Zou JY, Taylor TC, Wahlby A, Jones TA
Source: ACTA CRYSTALLOGRAPHICA SECTION D-BIOLOGICAL CRYSTALLOGRAPHY 60: 2240-2249 Part 12 Sp. Iss. 1, DEC 2004 
  
* This is in the manual already.


----
Mon Jan 21 17:07:30 GMT 2008

    Refinement (with chiral volumes) on a residue that does not have
    the atoms for a chiral centre fails with E_NO_PROGRESS.

    Priority: Critical

----
Thu Jan 24 20:46:35 GMT 2008

#ifdef USE_GUILE
SCM change_chain_id_with_result_scm(int imol, const char *from_chain_id, const char *to_chain_id,
				    short int use_res_range_flag, int from_resno, int to_resno){
   // Paul fill me in please

* Done.

----
Sat Jan 26 14:14:39 GMT 2008

    Don't forget to distribute val.pdb.  Else the tests will fail.

----
Sat Jan 26 15:49:27 GMT 2008

   o Copy fragment (new-molecule-by-atom-selection) does not
     calculate the NCS.  Maybe it should.


-----
Sat Jan 26 20:49:44 GMT 2008

    for scroll wheel map template see cinterface.cc:1003

    set the scroll wheel map correctly from a cns map.
    molecule-class-info-other.cc:6288

    set the scroll wheel map correctly from a phs map.
    molecule-class-info.cc:3203

    set the scroll wheel map correctly from a sfcalc map
    molecule-class-info.cc:3538

    set the scroll wheel map correctly from a cif nfofc map
    molecule-class-info.cc:3896

    set the scroll wheel map correctly from a cif phs
    molecule-class-info.cc:4018

    add tests for reading phs and cif files, 
    test that they return sensible molecule numbers.

    add a test for creating a new molecule from water fitting.
    using void find_waters(imol_for_map,  imol_for_protein,  new_waters_mol_flag, 
		 sigma_cut_off, show_blobs_dialog);


    add a test that, when a map is made with refmac params, the refmac
    params are correct.  May need an accessor function (return a SCM)

    add a test for both a map and a molecule that the new molecule
    number is correct (should match graphics-n-molecules, I think).

    test try setting an atom attribute of a bugus (-1, 888) molecule number


    think about what to do with:
    graphics_info_t::expand_molecule_space()

    why in this function:
    handle_cns_data_file_with_cell(const char *filename, int imol..)
    is imol  passed?

------
Tue Jan 29 14:49:39 GMT 2008

    Expose overlap ligands to the gui.

-----
Wed Jan 30 13:57:25 GMT 2008

   Randy Read: 

   "I've just run across what seems like a bug for proteins with
   hydrogens, in coot 0.4.1.  I've just been refitting something
   refined with all hydrogens on.  If I choose a new rotamer for some
   of them (e.g. Lys), it seems everything is fine.  However, if I
   choose a new rotamer for Arg, Asn, Val or Leu, it looks fine until
   I click "Accept", and then (at least some of) the hydrogens get
   left behind in their old positions"

   Hmmm... Hydrogen name problem, I'd guess

   Need to test on a protein that comes from molprobity.

* Randy Agrees.

------
Tue Jan 29 16:41:56 GMT 2008


    What is happening in Go To Atom at residue 119 in 1bl8.pdb.

    Problem of TER card?

* Yes, it was.  Fixed.

-----

   pygtk needs pycairo:

   http://cairographics.org/releases/pycairo-1.4.12.tar.gz

   If you build your own pkg-config, you need to add
   /usr/lib/pkgconfig to PKG_CONFIG_PATH environment variable.


----
Wed Jan 30 02:11:56 GMT 2008

     tests: open a ccp4 map with the wrong file name
            open a  cns map with the wrong file name
	    open an mtz file with the wrong file name

* Done.  It found a problem.

----
Wed 30 Jan 2008 14:12:55 GMT


on compiling freeglut on impala:


 -o CallbackMaker-CallbackMaker.o `test -f CallbackMaker.c || echo './'`CallbackMaker.c
/bin/sh ../../../libtool --mode=link gcc  -I/usr/X11R6/include   -o CallbackMaker -export-dynamic ../../../src/
libglut.la CallbackMaker-CallbackMaker.o  
mkdir .libs
gcc -I/usr/X11R6/include -o .libs/CallbackMaker CallbackMaker-CallbackMaker.o  -L../../../src/.libs -lglut -lm 
-L/usr/X11/lib -lGL -lGLU -lXxf86vm -lXext -lX11 -lXdmcp -lXau
ld: cycle in dylib re-exports with /usr/X11/lib/libGL.

http://www.mail-archive.com/fink-devel@lists.sourceforge.net/msg16105.html
  
   Problem solved - I have it working.
   To the ConfigureParams section of the info file I added:

   LDFLAGS="-dylib_file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib"

PE: This worked for me too:


./configure --prefix=/Users/paule/autobuild/Darwin/coot-pre-release-gtk2 --disable-warnings LDFLAGS=-dylib_file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib

for OpenGL (in gtkglext building) 

 ./configure --prefix=/Users/paule/autobuild/Darwin/coot-pre-release-gtk2 --disable-warnings LDFLAGS="-dylib_file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib"

------
Wed 30 Jan 2008 14:50:08 GMT

   cairo depends on freetype
   
   (but it fails during compile, not cofigure, baah)

   http://download.savannah.gnu.org/releases/freetype/

* Done.  in build-it-gtk2 now.

------
Wed Jan 30 15:44:59 GMT 2008

   JED NCS problem:
   
   Check that the ncs ghost matrix is a good rotation matrix before
   applying it to the view matrix.

* Done.

------
Thu Jan 31 00:48:53 GMT 2008

   Alice Dawson:

   1:
   > I can't set the occupancy to a number greater than 1 in the
   > residue info box.  This is quite annoying when fiddling with
   > disordered residues - e.g. when I delete CA, B for a residue the
   > remaining CA still has occupancy -21 which I can't alter in
   > Coot..  Also when I add any molecules (waters, ligands) they are
   > added with an occupancy of 1 not 11.

   2:
   > An item for a wishlist: my protein has 1000 residues in the
   > asymmetric unit and it's very difficult to keep track of the free
   > variables.  Including the FVAR number and value in the Residues
   > with Alt confs box would be really helpful.

   1: Priority High

   2: Priority Medium

----
Thu Jan 31 00:49:48 GMT 2008

   Francis Reyes:
 
   > I'm trying to merge / append two molecules. However, when I click
   > on Merge, I get ...  INFO:: adding molecule 6 to merging list

   > ... and that's it..

   > Yet the residue does not appear as a new chain in the molecule
   > into which I'm merging?  Earlier versions of coot actually show
   > INFO:'s telling you which chain it made, etc.

----
Thu Jan 31 07:49:51 GMT 2008

   command line tool to get OS version on Mac?

   These of use?

/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

------
Thu Jan 31 08:32:26 GMT 2008

    Select rotamer button box has an OK button that needs to be homogenized.

    Priority: High

----
Thu Jan 31 20:12:56 GMT 2008

   Clemens (on density fit graphs):

   Since I find it easier to ask others for those mental gymnastics
   (aka Paul in this case) than doing it myself: how about having all
   those graphs always starting at number 1 - or at the lowest residue
   number of any chain?

   Yes the lowest number in any chain.  That is, if the difference is
   not too large (like 100 or so)

   Priority: Medium.  Do before 0.6.

-----
Fri Feb  1 19:03:34 GMT 2008

    Need a test for merging molecules.
    merge-molecules is used in the rna test.
    But let's make more of a torture test and test the resulting molecule

------

	look in ejd/2a4d something and residue 
	218A rotamers, fails.
	But works after regularization

-----
Wed Feb  6 14:05:16 GMT 2008

    cc-interface-build.cc has the following bit of code:

	 if (p.size() > 0) {
	    // install new molecule(s) that has been rotated.
	 }

   Should fix/fill.


-------

    create_molecule() hygiene

   c-interface-build.cc is clean
   c-interface-ligands.cc
   c-interface.cc   
   graphics-info.cc
   graphics-info-modelling.cc
   graphics-info-superpose.cc
   molecule-class-info-ncs.cc  
   
* Done.

-----
Wed Feb  6 14:58:14 GMT 2008

   Dave Schuller:

   In Coot 0.4.1, I have a molecule displayed as "Ca + ligands." After
   I ran some regularisation, the color of my molecule changed! I
   switched the molecule display mode to bonds, then back to Ca +
   ligands and everything was OK again. Interesting "feature."

   Priority: High:
   Difficulty: Easy.

-----
Wed Feb  6 16:15:31 GMT 2008

    On mutate and insert residue we can additionally set the seg-id of
    the new atoms (given that the current/previous residue is sensible).

    Priority: Medium:
    Difficulty: Medium/Easy


----
Wed Feb  6 16:17:51 GMT 2008

    Doug Kuntz:

    Make a method to save the symmetry colour.

    Priority: High.  Do it for 0.5
    Difficulty: Easy 


---
Thu Feb  7 12:24:59 GMT 2008

Doug Kuntz:

> > > 2) The selection of active molecules seems screwed up.
> > >
> > > I can now only have one active molecule.  Even though all the active 
> > > boxes are nice and pink in the Display Manager window.  To move a 
> > > molecule I have to ensure all the others are turned to inactive. But 
> > > there seems no way to make more than one molecule active at a time. If 
> > > I want to compare two superimposed molecules for distances between 
> > > them  at a particular atom I can no longer  pick both atoms

      Ingo Korndoefer reported something similar.


-----
Wed Feb  6 23:18:23 GMT 2008

    After graphs moved over to molecules class, 

    Need to test Ramachandran plot and sequence view for molecules

----
Wed Feb  6 23:36:45 GMT 2008

    JED:

   "More on removing alt confs: if I try to remove a non-existing
   residue (e.g. from scripting with delete-residue-with-altconf),
   coot crashes on the next attempt to centre on something, even
   though it knows that the residue in question couldn't be found."

   Write a test.

    Priority: Critical
    Difficulty: Medium/Easy

* Fixed.

-----
Thu Feb  7 00:00:14 GMT 2008

    Why is there a delete plot in 
    void
    graphics_info_t::set_dynarama_is_displayed(GtkWidget *dyna_toplev, int imol)

---
Fri Feb  8 20:37:43 GMT 2008

    If you are going to edit restraints, wouldn't it be a good idea to
    write a restraints file (mmdb write mmCIF interface).


---
Sat Feb  9 22:40:38 GMT 2008


A FC3 machine:


bunyip ~> pkg-config --modversion gtk+-2.0
2.4.14

A FC4 machine:

cycle ~> pkg-config --modversion gtk+-2.0
2.6.7 

-----
Mon Feb 11 08:26:02 GMT 2008

GDK_PIXBUF_MODULE_FILE=$HOME/autobuild/Linux-bragg1.chem.york.ac.uk-pre-release-gtk2/etc/gtk-2.0/gdk-pixbuf.loaders

export GDK_PIXBUF_MODULE_FILE

----
Mon Feb 11 13:02:51 GMT 2008

    There was a problem of left-over muddled gtk libs and dependencies
    in coot-Linux-fedora-5-gtk.

    Which caused problems in startup.  If I ran the slim function by
    hand to a clean directory, it worked (woop!)

    diagnosed by using 
    diff -r dir-1 dir-2

    Now rebuilding fc5 (bragg3) from scratch.

    Need to test that there are no dependencies on
    autobuild/Linux-bragg3-pre-release-gtk2 when its done.

    Question:  are pygobject and pycairo needed for pygtk 2.6.3?


-----
Tue Feb 12 01:37:53 GMT 2008

    coot-real from kalypso ~/Projects/build-coot-fc4-gtk2/src> ./coot-real

    Try to open an mtz file from tutorials, 

    on changing to  "tutorials" in the ccp4i project option menu:

** (lt-coot-real:32355): WARNING **: Widget not found: map_name_fileselection1
WARNING:: failed to find filesection in option_menu_refmac_ccp4i_project_signal_func



------
Wed Feb 13 10:48:53 GMT 2008

   The flatland thing on NCS happened without drawing NCS ghosts first.

   So, is an NCS matrix being applied when it shouldn't? NCS ghost are
   marked as filled, but they are not?

-----
Thu Feb 14 20:55:59 GMT 2008

   handle_symmetry_colour_change(int mol, gdouble* col)
 
   is the same functionality as 

   set_symmetry_colour().

   Rationalize it.

   Also get_map_colour and get_map_color_gdkcolor needs rationalizing.


-----
Thu Feb 14 21:02:39 GMT 2008

    I am on a symmetry related atom. I want a "go to atom (relative
    main molecule atom)"


  g_signal_connect ((gpointer) map_colorbutton, "color_set",
                    G_CALLBACK (on_map_colorbutton_color_set),
                    NULL);

-----
Fri Feb 15 01:08:40 GMT 2008

    When a GtkColorButton is clicked, we get a GktColorSelectionDialog
    (or some such).  How do I control the colour selection dialog so
    that it work in continuous update mode, so that signals are sent
    continuously as the color selection change

----
Sun Feb 17 00:14:05 GMT 2008

    in simple-restraint init_from_mol() we do
    SelHnd_atom = mol->NewSelection();

    do we ever give SelHnd_atom back?


-----
Mon Feb 18 12:36:34 GMT 2008

    delete-residue-range seems to do 2 backups.


-----
Mon Feb 18 12:38:02 GMT 2008

DEBUG::  display toggle of molecule: 0
DEBUG::  display toggle of molecule: 2


-----
Wed Feb 20 04:36:04 GMT 2008

    Read in 1qex from EDS.

    calculate ghosts

    density fit.

    rescale 0.5

    recale 0.3

    click on first residue in water chain

       -> crash

INFO:: canvas size based on 3 chains with max length 302
INFO:: canvas size: 3220 270
DEBUG:: min_resno: 1 max_resno: 288 chain_number 0
DEBUG:: min_resno: 1 max_resno: 288 chain_number 1
DEBUG:: min_resno: 1 max_resno: 302 chain_number 2
INFO:: trying to centre on:  1  O  
(set-go-to-atom-molecule 0)
Segmentation fault (core dumped)


----
Wed Feb 20 05:27:36 GMT 2008

    302 EPE in 1QEX.  Look at the bonding to the Sulfur.  One of the
    oxygens has a cross. Fix?

----
Wed Feb 20 11:27:37 GMT 2008

   Here: 
   void
   graphics_info_t::start_baton_here()

   we do: 
      int *imol_copy = new int;
      *imol_copy = imol_for_skel;
      gtk_object_set_user_data(GTK_OBJECT(w), (char *)imol_copy);

   should use GINT_TO_POINTER

-----
Thu Feb 21 03:52:58 GMT 2008

    save symmetry coordinates and save coordinates should have an
    scripting history expression.

----
Thu Feb 21 03:53:46 GMT 2008

    Crash on Baton building in the new version

* Fixed.

-----
Thu Feb 21 06:52:25 GMT 2008

    display manager should resize better.
    Autosize up to a certain size (ysize).

----
Thu Feb 21 06:53:17 GMT 2008

    Frank says make a selection in the go to atom window and use it to
    make new molecules.  Or cut/paste.

    Idea needs more details.

----

ARP/wARP peptide torsion from pseudo bonds

2 torsions from CA-O-CA-O-CA  -> "American View of the World"


------

   when the fcf file is in someone else's directory, the writing of
   the cif file fails.

-----

 D. Gayathri 
gaya_raju@rediffmail.com, dcbgaya@gmail.com

 
------

   Crash by Martyn

   do unmodeled blobs.
   dont close results
   
   get unmodelled blobs dialog again
   and martyn said that he didn't click...

-----
Fri Feb 22 08:36:20 GMT 2008

    Note to self:

    Redo the ligand fitting slides.

    Easy to do 
   
----

 Sergs' presentation:
 Autosolve ligand detection Mooji (?) 2006?


 Use cluster volume vs contour threshhold plot (of the difference map)
 to detect the cluster (volume decreases with contour level less for
 real ligand than noise.

 and use the blob that is closest to the protein (Frank is sceptical
 about that).
 
 there is some sort of shape function too (I missed how).  ah, 7
 statistics, sufrace to volume ratio, eigen values etc.


------
Fri Feb 22 09:31:35 GMT 2008

    Import an ATP.

    Regularize it.

    furanose ring is flattened... why?

    Bug, I'd say

    On testing, maybe not.  Is the restraints.
    Need to get other restraints for ATP.


----
Fri Feb 22 09:45:25 GMT 2008

  Get a list of ATPs from pdb to fit *this* particular ATP

  (will do conformation search for us).

  Report the structure that matched.

  In fact, download the matchng structure and overlay it on the
  ligand.


-----

	Can I get to MSDchem via SOAP or some such?
	Don't bother - use sbase.

-----
	
	Add Atom here:

	Need to make sure that in the pdb file written out is
	capitalized.

* Done.

----

	Add a water over a symmetry atom.

	go to real space of symmetry atom.

	move the real space atoms a bit.

	shift left on sym water. Fails to label.

---
  
   Turn off the ability to translate a rotamer withe atom drag
   Also in chi angles mode?  Herb Klei.

* Done.

----
Sun Feb 24 09:47:02 GMT 2008

    User gui save state is failing!

    Priority: critical.

* Fixed.   

-----
Sun Feb 24 09:55:35 GMT 2008

    Try running baton mode without first making a skeleton.
    
    It doesn't work properly.

    Priority: Medium
    Difficulty: Medium


----

    remove 
    making lig...

* Done

----
Sun Feb 24 23:51:37 GMT 2008

    check for isTerm() in atom_pick() and the function that sends atom
    info to the Go To Atom window.

* Done

-----
Fri Feb 29 16:33:00 GMT 2008

    more on compiling on impala


If I copy the command line from configure for pygtk and pyobject

[this is from pygtk]
./configure --prefix=/Users/paule/autobuild/Darwin/coot-pre-release-gtk2 --with-pango --with-pangocairo PYGOBJECT_CFLAGS=-I/Users/paule/autobuild/Darwin/coot-pre-release-gtk2/include/pygtk-2.0 PYGOBJECT_LIBS=-L/Users/paule/autobuild/Darwin/coot-pre-release-gtk2/lib

then it configures on the command line.  But not from script (glib test
program problems).  Grrr.

----
Wed Feb 27 09:18:50 GMT 2008

    Residue Info on a residue with alt confs.  
    Problem in CHI angles?
 
-----
Wed Feb 27 15:38:28 GMT 2008

    At the end of build-it-gtk2-simple:

    mkdir: cannot create directory
    `/home/paule/autobuild/coot-Linux-i686-ubuntu-7.10-gtk2/include/python2.5':
    No such file or directory

   indeed the include dir is not there.

----
Sat Mar  1 06:02:45 GMT 2008

   mmdb reader on  Components-rel-alt.cif 

* Needs new mmdb           

----
Sat Mar  1 06:11:26 GMT 2008

    Parse USER MODs
    somewhere I have some code, I started on this?

    on penelope, I guess.

----
Wed Mar  5 16:40:09 GMT 2008

  DEBUG::  display toggle of molecule: 1
  DEBUG::  display toggle of molecule: 2

* Done.

----
Wed Mar  5 17:52:08 GMT 2008

  pick_info
  graphics_info_t::find_atom_index_from_goto_info(int imol) 

  very convoluted!?

  Why not use graphics_info_t::molecules[imol].atom_to_atom_index()? 

----
Thu Mar  6 13:31:13 GMT 2008

    Get rid of (MyCMMDBManager *) 

----
Fri Mar  7 13:40:51 GMT 2008

    Test for guile-gtk is failing (i.e. guile-gtk2.1 is being built)
    on bragg3.

----
Fri Mar  7 14:48:47 GMT 2008

    Useful fun.  
    Write a parse for gdk/gdkkeysyms.h
    if field-1 is #define if NF == 3
    split field-2 after GDK_ and decode field-3 to decimal
    
    now we can have a function gdk-key-symbol->key

    e.g
    (gdk-key-symbol->number "Super_R")
    -> 2354 [or some such]

    now change graphics-general-key-press-hook to test for a string,
    and if it is, run gdk-key-symbol->number.

----
Wed Mar 12 12:00:50 GMT 2008

    revisit --as-needed, Donnie B.

----
Thu Mar 13 14:31:37 GMT 2008

   consider install_name_tool when installing mac binary?

----
Thu Mar 13 16:15:10 GMT 2008

    Additional representations "button" should (also?) be on the
    Display Control.

----
Sat Mar 15 09:30:11 GMT 2008

    Herb Klei: after a superposition (LSQ say) the moving molecule
    should take on the cell/symmetry of the target/reference molecule.

    When you do LSQ superpositions in COOT, can you make it so that if
    one does not specify residue ranges, all residues in common are
    assumed.  It seems silly to need to type in 1 and 999 twice just
    to run.  Also, I would make Calpha the default (can we do so
    through .coot file?).

----
Fri Mar 14 00:49:26 GMT 2008

    poly-ala in mutate.scm is not documented.  why?


----
Fri Mar 21 10:54:01 GMT 2008

   INFO::    Raising window e.g for display control:

   if (widget) { 
      // raise/uniconify (or whatever) what we have:
      // 
      if (!GTK_WIDGET_MAPPED(widget))
	 gtk_widget_show(widget);
      else
	 gdk_window_raise(widget->window);


-----
Mon Mar 24 23:51:58 GMT 2008

    NOTE to SELF:

    1ao0: fitting ADP fits the ADPs upside-down consistently.
    Hmmm....


----
Tue Mar 25 14:39:35 GMT 2008

    clear this junk:

BEFORE 0x1eaea170
DEBUG:: start of delete-residue-with-altconf n-atoms: 1465
DEBUG:: End of delete-residue-with-altconf n-atoms: 1465
failed to delete residue atoms A 88 :A:
AFTER  0x1eaea170
PASS: Deleting (non-existing) Alt conf and Go To Atom [JED]

* Done.


----
Tue Mar 25 15:01:27 GMT 2008


==4411== Use of uninitialised value of size 8
==4411==    at 0x1C2132DE: clipper::Util::rad2d(double const&) (clipper_util.cpp:156)
==4411==    by 0x1C1FE9FC: clipper::Cell_descr::format() const (cell.cpp:81)
==4411==    by 0x1BD9F301: coot::ShelxIns::debug() const (coot-shelx-ins.cc:1233)
==4411==    by 0x831BEF4: molecule_class_info_t::write_shelx_ins_file(std::string const&) (molecule-class-info-other.cc:4428)
==4411==    by 0x820DE1F: write_shelx_ins_file (c-interface-build.cc:6015)
[snip]
==4411==
==4411== Use of uninitialised value of size 8
==4411==    at 0x3B1AE12: std::ostream::operator<<(double) (in /usr/lib/libstdc++.so.6.0.4)
==4411==    by 0x1C20BED5: clipper::String::String(double, int, int) (clipper_types.cpp:69)
==4411==    by 0x1C1FEA30: clipper::Cell_descr::format() const (cell.cpp:81)
==4411==    by 0x1BD9F301: coot::ShelxIns::debug() const (coot-shelx-ins.cc:1233)


==4411== Source and destination overlap in strcpy(0x1F7DBC40, 0x1F7DBC40)
==4411==    at 0x1B90C51E: strcpy (mac_replace_strmem.c:210)
==4411==    by 0x1C393168: CSSVertex::SetVertex(CMMDBManager*, int, int, int, char*, int, char*, int, char*) (ss_vxedge.cpp:425)
==4411==    by 0x1C396354: CSSGraph::RepairSS(CMMDBManager*) (ss_graph.cpp:483)
==4411==    by 0x1C396865: CSSGraph::MakeGraph(CMMDBManager*) (ss_graph.cpp:379)
==4411==    by 0x1C38F61F: CSSMAlign::GetSSGraph(CMMDBManager*, int, int&) (ssm_align.cpp:147)
==4411==    by 0x1C38F72B: CSSMAlign::Align(CMMDBManager*, CMMDBManager*, int, int, int, int) (ssm_align.cpp:188)
==4411==    by 0x819179B: graphics_info_t::superpose_with_atom_selection(atom_selection_container_t, atom_selection_container_t, int, std::string, std::string, short) (graphics-info-superpose.cc:207)
==4411==    by 0x82483F3: superpose_with_atom_selection (c-interface-superpose.cc:201)


==4411== Mismatched free() / delete / delete []
==4411==    at 0x1B90B8CF: operator delete(void*) (vg_replace_malloc.c:155)
==4411==    by 0x1C3A0A3C: CSuperpose::_superpose(CSSGraph*, CSSGraph*, int&) (ssm_superpose.cpp:2683)
==4411==    by 0x1C3A1194: CSuperpose::SuperposeCalphas(CSSGraph*, CSSGraph*, int*, int*, int, CMMDBManager*, CMMDBManager*, int, int) (ssm_superpose.cpp:2424)
==4411==    by 0x1C38F7C8: CSSMAlign::Align(CMMDBManager*, CMMDBManager*, int, int, int, int) (ssm_align.cpp:200)
==4411==    by 0x819179B: graphics_info_t::superpose_with_atom_selection(atom_selection_container_t, atom_selection_container_t, int, std::string, std::string, short) (graphics-info-superpose.cc:207)
==4411==    by 0x82483F3: superpose_with_atom_selection (c-interface-superpose.cc:201)
==4411==    by 0x1BE55150: _wrap_superpose_with_atom_selection(scm_unused_struct*, scm_unused_struct*, scm_unused_struct*, scm_unused_struct*, scm_unused_struct*) (coot_wrap_guile.cc:23440)
==4411==    by 0x1BF757A0: scm_gsubr_apply (in /extra/paule/autobuild/Linux-kalypso-fc4-pre-release-gtk2/lib/libguile.so.17.1.1)
==4411==    by 0x1BF66152: scm_dapply (in /extra/paule/autobuild/Linux-kalypso-fc4-pre-release-gtk2/lib/libguile.so.17.1.1)
==4411==    by 0x1BF65656: deval (in /extra/paule/autobuild/Linux-kalypso-fc4-pre-release-gtk2/lib/libguile.so.17.1.1)
==4411==    by 0x1BF62DE3: deval (in /extra/paule/autobuild/Linux-kalypso-fc4-pre-release-gtk2/lib/libguile.so.17.1.1)
==4411==    by 0x1BF63AE3: deval (in /extra/paule/autobuild/Linux-kalypso-fc4-pre-release-gtk2/lib/libguile.so.17.1.1)
==4411==  Address 0x211EACE0 is 0 bytes inside a block of size 68 alloc'd
==4411==    at 0x1B90B5DA: operator new[](unsigned) (vg_replace_malloc.c:138)
==4411==    by 0x1C3A0BF2: CSuperpose::_superpose(CSSGraph*, CSSGraph*, int&) (ssm_superpose.cpp:2617)
==4411==    by 0x1C3A1194: CSuperpose::SuperposeCalphas(CSSGraph*, CSSGraph*, int*, int*, int, CMMDBManager*, CMMDBManager*, int, int) (ssm_superpose.cpp:2424)
==4411==    by 0x1C38F7C8: CSSMAlign::Align(CMMDBManager*, CMMDBManager*, int, int, int, int) (ssm_align.cpp:200)
==4411==    by 0x819179B: graphics_info_t::superpose_with_atom_selection(atom_selection_container_t, atom_selection_container_t, int, std::string, std::string, short) (graphics-info-superpose.cc:207)
==4411==    by 0x82483F3: superpose_with_atom_selection (c-interface-superpose.cc:201)
==4411==    by 0x1BE55150: _wrap_superpose_with_atom_selection(scm_unused_struct*, scm_unused_struct*, scm_unused_struct*, scm_unused_struct*, scm_unused_struct*) (coot_wrap_guile.cc:23440)





==4411== 30744 bytes in 10 blocks are definitely lost in loss record 452 of 509
==4411==    at 0x1B90B5DA: operator new[](unsigned) (vg_replace_malloc.c:138)
==4411==    by 0x1BBC6624: graphical_bonds_container::add_atom_centres(std::vector<coot::Cartesian, std::allocator<coot::Cartesian> > const&, std::vector<int, std::allocator<int> > const&) (Bond_lines.cc:2972)
==4411==    by 0x1BBC69E5: Bond_lines_container::make_graphical_bonds() const (Bond_lines.cc:1656)
==4411==    by 0x82D95EC: molecule_class_info_t::makebonds() (molecule-class-info.cc:2206)
==4411==    by 0x82E41D4: molecule_class_info_t::install_model(int, atom_selection_container_t, std::string const&, short) (molecule-class-info.cc:392)
==4411==    by 0x818C9FB: graphics_info_t::add_cb_to_terminal_res(atom_selection_container_t) (graphics-info-mutate.cc:76)
==4411==    by 0x81469DE: graphics_info_t::execute_add_terminal_residue(int, std::string const&, CResidue const*, std::string const&, std::string const&, short) (graphics-info-modelling.cc:1436)
==4411==    by 0x8209CD7: add_terminal_residue (c-interface-build.cc:528)


==4411== 8100 (7900 direct, 200 indirect) bytes in 25 blocks are definitely lost in loss record 438 of 509
==4411==    at 0x1B90B39A: operator new(unsigned) (vg_replace_malloc.c:132)
==4411==    by 0x1BD9E9C5: coot::ShelxIns::make_atom(coot::shelx_card_info_t const&, std::string const&, int, int, int, clipper::Cell&) const (coot-shelx-ins.cc:597)
==4411==    by 0x1BDA8730: coot::ShelxIns::read_file(std::string const&) (coot-shelx-ins.cc:375)
==4411==    by 0x832CDAF: molecule_class_info_t::read_shelx_ins_file(std::string const&) (molecule-class-info-other.cc:4453)
==4411==    by 0x820F502: read_shelx_ins_file (c-interface-build.cc:5983)
==4411==    by 0x81B8446: handle_read_draw_molecule_with_recentre (c-interface.cc:333)
==4411==



==4411== 82576 (880 direct, 81696 indirect) bytes in 11 blocks are definitely lost in loss record 193 of 509
==4411==    at 0x1B90B5DA: operator new[](unsigned) (vg_replace_malloc.c:138)
==4411==    by 0x1BBC6842: Bond_lines_container::make_graphical_bonds() const (Bond_lines.cc:1644)
==4411==    by 0x82D95EC: molecule_class_info_t::makebonds() (molecule-class-info.cc:2206)
==4411==    by 0x82E41D4: molecule_class_info_t::install_model(int, atom_selection_container_t, std::string const&, short) (molecule-class-info.cc:392)
==4411==    by 0x818C9FB: graphics_info_t::add_cb_to_terminal_res(atom_selection_container_t) (graphics-info-mutate.cc:76)
==4411==    by 0x81469DE: graphics_info_t::execute_add_terminal_residue(int, std::string const&, CResidue const*, std::string const&, std::string const&, short) (graphics-info-modelling.cc:1436)
==4411==    by 0x8209CD7: add_terminal_residue (c-interface-build.cc:528)
==4411==    by 0x1BE52918: _wrap_add_terminal_residue(scm_unused_struct*, scm_unused_struct*, scm_unused_struct*, scm_unused_struct*, scm_unused_struct*) (coot_wrap_guile.cc:19697)

----
Thu Mar 27 07:44:50 GMT 2008


    Frank: 

   "torsion general - crappy tail?"  I think I meant: why can't one
   use torsion general to swing a whole lot of protein around a main
   chain bond?  If I try, the mouse just clears after the 4th click.
   i.e., all I can move around is a miserable little tail of a
   sidechain, maybe.  Oh wait, I see now: yes, torsion general works
   only inside a residue.  Which is a bit anal, what if I want to
   swivel a whole domain or helix when it's changed from the MR model.
   Other place of nuisance: when modelling around in poor density at
   the end of a chain.

   "Ramachandran boundaries".  Ah yes: any reason why you don't have
   the same smooth boundaries that Richardsons use?  I've seen cases
   just outside your boundaries, but happily inside the Richardson
   one.

   "Views file: #Views".  Yes, the views file coot writes out itself
   doesn't load back.  Reason is (I remember) that the second (or
   third line) contains #Views, which screws up scheme.

   "Save coords: most recently changed".  Oh yes: could you populate
   the defaults (molecule; filename) based on the file most recently
   changed, and not on the one currently active?  These are not always
   the same, and chances are I want to save what I just built at, not
   what I was looking at.

----
Fri Mar 28 10:08:09 GMT 2008

    PRE:
    Use LSQ for NCS matrices.

----
Fri Mar 28 10:46:13 GMT 2008

  PRE:

     Just noticed another slightly weird thing: I mutated a couple of
     residues and added 3 in one NCS copy, then "NCS looped" them to
     the other subunit. The mutated ones in the second subunit had the
     right coordinates & atoms, but were still labelled with the old
     residue type.

     The inserted ones were on the end of the subunit

  Add tests for these.

----
Fri Mar 28 10:48:25 GMT 2008

    PRE:

      Somehow allow me to set that I want "Colour by Chain" on by
      default. (i.e. set-colour-by-chain for future molecules).
 
    Same for CA mode.

    (Pass default representation type to molecule_class_info_t's
    handle_read_draw_molecule?)

---
Fri Mar 28 10:51:31 GMT 2008

    CNS to coot: script needs a GUI?

----
Fri Mar 28 22:47:43 GMT 2008

Randy Read: 
Some time back I sent you a bug report about split-screen stereo.  Don't know 
if you've been able to reproduce it, but since then I've worked out the 
problems.  Basically, coot doesn't like the "Side by Side (Wall Eyed)" option 
any more.  Part of the problem is the saved state.  If the saved state is 
Mono or normal "Side by Side", then you're fine -- coot comes up the way you 
left it.  (Don't know about hardware, as I don't have access to an 
appropriate machine.)  If the saved state is "Side by Side (Wall Eyed)", then 
Draw -> Stereo... brings up a box claiming that you're still in that mode, 
but the view is a mono one.  The only way to get wall-eyed stereo from this 
state is to click "Mono" then "Side by Side" then finally "Side by Side (Wall 
Eyed)".  If you come up in Mono mode, you also can't go directly to 
wall-eyed -- first you have to go into normal side-by-side mode.


-----
Sat Mar 29 23:13:39 GMT 2008

    Documentation - including the functions should all be in one document
    (texi).

----
Sat Mar 29 23:15:20 GMT 2008

    update the density fit graph on delete residue (e.g. water).

----
Mon Mar 31 11:05:17 BST 2008

    support-gtk2-extras.c needs #include "stdio.h" for fc3

* Done.

---
Sun Apr  6 22:01:39 BST 2008

    Write a wiki script for munging/unmunging the atom names of NADP/H
    so that it can refine.

----
Mon Apr 14 09:33:36 BST 2008

Lothar Esser

I am using coot 0.5 pre 958 and noticed that after resizing the
window of the ramachandran plot and possibly zooming in (with the
right mouse) the scroll bars don't allow to pan over the plot. Only
under extreme zoom, the scroll bars allow a little bit of
adjustment. I have over 2000 residues and need to zoom and scroll a
bit if I want to click on residues.

I do get error messages on the
terminal that might help:

** CRITICAL **: file gtk-canvas.c: line 3518
** (gtk_canvas_set_pixels_per_unit): a ssertion `n >
** GTK_CANVAS_EPSILON' failed.

The same message repeats presumably every
time I scroll(?) or perphas zoom.

Also, I noticed after a long search that the -key zooms out after I
had zoomed in with the right-mouse. Could zooming out be added to the
mouse perhaps like Shift-right-mouse ?

Another feature of coot would be good: Show ramachandran plots by
chains that the user select i.e. a plot with one chain at a time.

---
Fri Apr 18 17:43:12 BST 2008

    There is a EM software wiki (scripps?) 

-----
Mon Apr 14 09:41:32 BST 2008

    can findligand be use to find just blobs (no input model?).  If
    not, make it so.

----
Mon Apr 14 09:42:28 BST 2008

    There is a server with uremediated files - from Kim? 
    Use this to validate new software.

-----

PISA: 

Buried surface area (average in pdb is about 40%).
	
Test for connected crystal

And min number of interfaces per chain (needs to be at lest 3 or the
crystal is not held in 3 dimensions)


---
Mon Apr 14 10:57:18 BST 2008

    add a function to display (a set of) spheres, 
    radius, position, colour

----
Mon Apr 14 11:29:17 BST 2008

    Jane Richardson

1rb1 bad clashscore.  embedded waters.  "Tassos' waters - from
ARP/warp

1k8z: geometry outlier

----
Mon Apr 14 11:43:59 BST 2008
    
  question to self: can you make a packing check quick?
  (I guess not).
    

----
Mon Apr 14 23:07:06 BST 2008

    chat with Nigel M.  
    Use CONNECT records in bonding (if possible)

-----
Tue Apr 15 14:02:16 BST 2008

How to run elal:

$ elal -pdb ~/data/rnase/tutorial-modern.pdb -map tmp.map -lib $warpbin/elal.lib

[there has to be a calculated map too, somewhere]

For checking carbohydrates:

wwww.glycosciences.de/tools/pdb-care


"ramachandran plots for carbohydrates"

however, need to do it for each linkage type.

----
Tue Apr 15 15:25:38 BST 2008
    
    Kim says Hursthouse for Portsmouth, Southhampton etc 
    small molecule crystal structures.  

* eCrystals
    
----
Wed Apr 16 11:23:49 BST 2008

   Add internal packing function? (bumps)

----
Wed Apr 16 11:36:44 BST 2008

    What is the RSR Z score from EDS?  
    Can we make something similar?

    Correlation?

----
Thu Apr 17 13:28:45 BST 2008

    
(define a (evaluate-by-python "True"))


(let ((test-values
       (list
	#f
	#t
	-1 
	0
	2
	3.5
	"c"
	(list "e" "f")
	(list (list 1 2) 3)
       '("a" #f '("b" #t '(1 2 3.3) '("c" 4.5 6.7 '()))))))

  (map (lambda (a)
	 (equal? a 
		 (evaluate-by-python
		  python_expression_to_scheme_expression
		   (scheme-expression->python-expression a)))))
       test-values))

* Done.

----
Fri Apr 25 12:39:14 BST 2008

   When the startup script is not given as a dialog option but not
   accepted, then, on
   exiting, don't create a new state file.
    
    (better would be to give a GUI on exiting, shall we overwrite?)


---
Mon Apr 28 18:21:07 BST 2008

    
valgrinding migels rl shelx file:

(saving as pdb)

==12236== 621024 (187824 direct, 433200 indirect) bytes in 1092 blocks are definitely lost in loss record 302 of 312
==12236==    at 0x1B90B39A: operator new(unsigned) (vg_replace_malloc.c:132)
==12236==    by 0x1BD6A1B4: coot::util::deep_copy_this_residue(CResidue const*, std::string const&, short) (coot-coord-utils.cc:1414)
==12236==    by 0x1BDADCB8: coot::reshelx(CMMDBManager*) (coot-shelx-ins.cc:1961)
==12236==    by 0x1BDAE05F: coot::ShelxIns::write_ins_file_internal(CMMDBManager*, std::string const&) const (coot-shelx-ins.cc:997)
==12236==    by 0x1BDAF90F: coot::ShelxIns::write_ins_file(CMMDBManager*, std::string const&) (coot-shelx-ins.cc:988)
==12236==    by 0x8341182: molecule_class_info_t::write_shelx_ins_file(std::string const&) (molecule-class-info-other.cc:4437)
==12236==    by 0x8308DC6: molecule_class_info_t::save_coordinates(std::string) (molecule-class-info.cc:4228)
==12236==    by 0x81C8F50: save_coordinates (c-interface.cc:4042)
==12236==    by 0x81E3E45: save_coordinates_using_widget (c-interface-gui.cc:3248)
==12236==    by 0x82E83F7: on_save_coord_ok_button_clicked (callbacks.c:2190)
==12236==    by 0xAC4816: g_cclosure_marshal_VOID__VOID (in /usr/lib/libgobject-2.0.so.0.600.4)
==12236==    by 0xAB9284: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.600.4)

----
Thu May  1 20:08:33 BST 2008

    When waters are added with the W keybinding, let us know (with a
    dialog) if a "Pointer Atoms" molecule was created (may be pointer
    atom molecule was not set?)

----
Thu May  1 20:26:28 BST 2008

    1a02: place helix here at (9.2 36.6 28.3)

    1env: place helix here - many places.  Lots of errors.


----
Thu May  1 20:55:01 EDT 2008

    Fixed atoms still fail - e.g. on TMC in 1e2k

-------

   When activating the restriants editor dialog, make the option menu 
   be the residue type at the centre of the screen.

   Priority: High
   Dificultly: Easy

----
    
    Get a protein with hydrogens.
    make a modification
    undo it.
    refine  -> hydrogens fly off.  Why?
  
    Priority: High.
    Difficulty:  Hard/Medium.

* Done.  Because the backup save file.mechanism was not adjusting
  hydrogen names.

-----

    A must before 1.0:

    revist add strand here, 
    check in low res maps.  
    Try other orientations of the cylinder
        score more badly atoms in negative density.

----
Sat May  3 11:33:52 EDT 2008

    Maria Chern:

    Can I have "view drag" on middle mouse, rather than ctrl left-mouse?

    Question to self: will that fix the single atom drag vs view drag
    problem that drives Erik insane?

-----
Sat May  3 12:46:24 EDT 2008

    c-interface-info.cc:3081 chiral volume restraint is checked
    against 7.  Should it be 6, because there no sigma is needed for a
    chiral volume restraint?

-----
Sat May 10 07:22:54 CST 2008

    Consider a test for wiggly ligands.

----

  For Sabine Schneider:

  How about "ideal geometry" restraints, that try to idealize torsion 
  angles to A or B form geometry?

-----

   How does side by side stereo work for maps when using (default on Mac) 
   (set-display-lists-for-maps 1)

-----

   Do NCS map average. then denisty fit analysis vs the average map -
   the scores go down vs the first map (adding not averaging suggests
   eleanor?)

   The NCS average *is* being averaged.  It could a result of the
   density outsite the averaged block being set to zero.

----

   look at graphics-info-t::execute_add_terminal_residue() to see
   masking a map by atoms around a point.

----

   ask Stuart about line 113 in mmdb_chain.h
   virtual pstr GetEntryID()

   line 133 mmdb_symop.cpp CSymOp::GetSymOp()


----
Tue Jun  3 16:19:39 BST 2008
    
    valgrinding a greg test run:


==13600== 3 errors in context 55 of 212:
==13600== Invalid read of size 1
==13600==    at 0x42048AE: coot::protein_geometry::try_dynamic_add(std::string const&, int) (protein-geometry.cc:2085)
==13600==    by 0x42052F2: coot::protein_geometry::have_dictionary_for_residue_type(std::string const&, int) (protein-geometry.cc:2408)
==13600==    by 0x80FEDAC: graphics_info_t::check_dictionary_for_residues(CResidue**, int) (graphics-info-modelling.cc:484)
==13600==    by 0x810463A: graphics_info_t::copy_mol_and_refine(int, int, int, std::string, int, std::string, std::string, std::string) (graphics-info-modelling.cc:265)
==13600==    by 0x8106882: graphics_info_t::copy_mol_and_regularize(int, int, std::string, int, std::string, std::string, std::string) (graphics-info-modelling.cc:107)
==13600==    by 0x8106CF7: graphics_info_t::regularize(int, short, int, int) (graphics-info-modelling.cc:688)
==13600==    by 0x819FF5E: regularize_zone (c-interface-build.cc:5915)
==13600==    by 0x44391A0: _wrap_regularize_zone(scm_unused_struct*, scm_unused_struct*, scm_unused_struct*, scm_unused_struct*, scm_unused_struct*) (coot_wrap_guile.cc:14018)
==13600==    by 0x4559B90: scm_gsubr_apply (gsubr.c:221)
==13600==    by 0x4540523: scm_dapply (eval.c:4915)
==13600==    by 0x4542724: deval (eval.c:4364)
==13600==    by 0x4543A20: deval (eval.c:3384)
==13600==  Address 0x6145E14 is 12 bytes inside a block of size 14 free'd
==13600==    at 0x4023096: operator delete(void*) (vg_replace_malloc.c:244)
==13600==    by 0x56B890C: std::string::_Rep::_M_destroy(std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.9)
==13600==    by 0x56BA7B0: std::string::~string() (in /usr/lib/libstdc++.so.6.0.9)
==13600==    by 0x42048AD: coot::protein_geometry::try_dynamic_add(std::string const&, int) (protein-geometry.cc:2084)
==13600==    by 0x42052F2: coot::protein_geometry::have_dictionary_for_residue_type(std::string const&, int) (protein-geometry.cc:2408)
==13600==    by 0x80FEDAC: graphics_info_t::check_dictionary_for_residues(CResidue**, int) (graphics-info-modelling.cc:484)
==13600==    by 0x810463A: graphics_info_t::copy_mol_and_refine(int, int, int, std::string, int, std::string, std::string, std::string) (graphics-info-modelling.cc:265)
==13600==    by 0x8106882: graphics_info_t::copy_mol_and_regularize(int, int, std::string, int, std::string, std::string, std::string) (graphics-info-modelling.cc:107)
==13600==    by 0x8106CF7: graphics_info_t::regularize(int, short, int, int) (graphics-info-modelling.cc:688)
==13600==    by 0x819FF5E: regularize_zone (c-interface-build.cc:5915)
==13600==    by 0x44391A0: _wrap_regularize_zone(scm_unused_struct*, scm_unused_struct*, scm_unused_struct*, scm_unused_struct*, scm_unused_struct*) (coot_wrap_guile.cc:14018)
==13600==    by 0x4559B90: scm_gsubr_apply (gsubr.c:221)


==13600== 
==13600== 1 errors in context 5 of 212:
==13600== Invalid read of size 8
==13600==    at 0x828797E: molecule_class_info_t::closest_atom(coot::Cartesian const&, bool) const (molecule-class-info.cc:330)
==13600==    by 0x8287AC2: molecule_class_info_t::closest_atom(coot::Cartesian const&) const (molecule-class-info.cc:313)
==13600==    by 0x81877BE: active_atom_spec() (c-interface-info.cc:1108)
==13600==    by 0x818E856: active_residue() (c-interface-info.cc:1139)
==13600==    by 0x442DD86: _wrap_active_residue() (coot_wrap_guile.cc:29092)
==13600==    by 0x4542A78: deval (eval.c:4122)
==13600==    by 0x4544012: deval (eval.c:3635)
==13600==    by 0x4544012: deval (eval.c:3635)
==13600==    by 0x45406C6: scm_dapply (eval.c:4997)
==13600==    by 0x45408B2: scm_apply (eval.c:4796)
==13600==    by 0x45454DC: scm_call_0 (eval.c:4651)
==13600==    by 0x45A2F1F: scm_body_thunk (throw.c:356)
==13600==  Address 0x5BBCB78 is not stack'd, malloc'd or (recently) free'd
==13600== 


==13600== 1 errors in context 6 of 212:
==13600== Conditional jump or move depends on uninitialised value(s)
==13600==    at 0x80E8E1A: clipper::Map_stats::Map_stats<clipper::Xmap<float> >(clipper::Xmap<float> const&) (map_utils.h:123)
==13600==    by 0x40465EA: coot::ligand::find_clusters_internal(float, std::vector<clipper::Coord_orth, std::allocator<clipper::Coord_orth> > const&) (ligand.cc:774)
==13600==    by 0x40471E1: coot::ligand::find_clusters(float) (ligand.cc:762)
==13600==    by 0x81D2E42: execute_ligand_search_internal() (c-interface-ligands.cc:953)
==13600==    by 0x81D3A11: execute_ligand_search (c-interface-ligands.cc:854)
==13600==    by 0x4435F16: _wrap_execute_ligand_search() (coot_wrap_guile.cc:18153)
==13600==    by 0x4542A78: deval (eval.c:4122)
==13600==    by 0x4544012: deval (eval.c:3635)
==13600==    by 0x4544012: deval (eval.c:3635)
==13600==    by 0x45406C6: scm_dapply (eval.c:4997)
==13600==    by 0x45408B2: scm_apply (eval.c:4796)
==13600==    by 0x45454DC: scm_call_0 (eval.c:4651)


==13600== 
==13600== 1 errors in context 1 of 212:
==13600== Invalid read of size 4
==13600==    at 0x49FF2A9: CResidue::GetAtomTable(CAtom**&, int&) (mmdb_atom.cpp:2568)
==13600==    by 0x82879DC: molecule_class_info_t::closest_atom(coot::Cartesian const&, bool) const (molecule-class-info.cc:343)
==13600==    by 0x8287AC2: molecule_class_info_t::closest_atom(coot::Cartesian const&) const (molecule-class-info.cc:313)
==13600==    by 0x81877BE: active_atom_spec() (c-interface-info.cc:1108)
==13600==    by 0x818E856: active_residue() (c-interface-info.cc:1139)
==13600==    by 0x442DD86: _wrap_active_residue() (coot_wrap_guile.cc:29092)
==13600==    by 0x4542A78: deval (eval.c:4122)
==13600==    by 0x4544012: deval (eval.c:3635)
==13600==    by 0x4544012: deval (eval.c:3635)
==13600==    by 0x45406C6: scm_dapply (eval.c:4997)
==13600==    by 0x45408B2: scm_apply (eval.c:4796)
==13600==    by 0x45454DC: scm_call_0 (eval.c:4651)
==13600==  Address 0x3E10912E is not stack'd, malloc'd or (recently) free'd
==13600== 

---
Tue Jun  3 17:14:33 BST 2008

    Make a new source file with the widget work in c-interface-info.cc
    c-interface-info-gui.cc


----

    JB:

    Refine by sphere. IMPORTANT!

    Render Geometry objects in raster3d

    For beauty:
      Consider putting a std::vector<coot::generic_display_object_t>
      generic_objects into raytrace_info_t, to store info for generic
      objects in ray trace info.


----


    check the number of saves on Eigen flips.  On undoing, it seems I
    have to undo twice for each step.

    Priority: Critical.

    
----
Thu Jun  5 16:17:38 BST 2008

    Conversation with Robert von Dreele:

    Create a "What's New in Coot" button - which gets the latest
    Release Notes from the web server and displays it in a text
    widget.

    Should be done in a sub-thread

----
Fri Jun  6 13:13:19 BST 2008

    Problem when using hilight-binding-site:

    The P key should go to an atom that is active (don't just check
    fro "displayed") because (currently) recentring on an atom in the
    (new molecule) ligand make the env distances go away.

* Done.

----
Sat Jun  7 03:45:44 BST 2008

MolProbity: all-atom contacts and structure validation for proteins
and nucleic acids

  Ian W. Davis1, Andrew Leaver-Fay2, Vincent B. Chen1, Jeremy
  N. Block1, Gary J. Kapral1, Xueyi Wang2, Laura W. Murray1, W. Bryan
  Arendall, III1, Jack Snoeyink2, Jane S. Richardson1 and David
  C. Richardson1,*

  Sugar puckers

     RNA sugar pucker (C3' endo or C2' endo) is strongly correlated to
     the perpendicular distance between the following (3') phosphate
     and either the plane of the base or the C1'-N1/9 glycosidic bond
     vector. Incorrectly chosen sugar puckers also often result in
     out-of-range values for the epsilon dihedral. This is important
     information, because a sugar pucker is very difficult to
     determine directly from the electron density at resolutions
     typical for large RNAs. MolProbity checks epsilon angles and
     checks the modeled sugar pucker against the base-phosphate
     distance; it flags outliers as potentially having the wrong
     pucker.

  Nucleic Acids Research, 2007, Vol. 35, No. suppl_2 W375-W383

------
Sun Jun 15 15:40:10 BST 2008

    Activate readline in guile build (at least for my computers!)


------
Wed Jun 18 02:51:47 BST 2008

    "Mark all for Close" button in the close molecule dialog.

----
Wed Jun 18 12:46:02 BST 2008

    Distances and angles dialog is a transient(?) and needs to be
    position-saved like the other transients.

-----
Wed Jun 18 22:33:25 BST 2008

    Fun: How about a script to make ray traced images of ligands at
    active sites.  Use kinases like these (find others that match but
    have different ligands).  Need to find structures with data of
    course.  Consider using j-multi-read, get the matrices and apply
    them to their maps.  Maybe that is not needed, because we are not
    going to look at the overlapped maps anyway, just ligands in the
    binding sites.

    Data needs to be formatted differently in the
    text control file - we need a specification of the mtz file and
    column labels too.

coot-download/3bv2.pdb
coot-download/2zb0.pdb
coot-download/3Coi.pdb

-----
Wed Jun 18 22:40:45 BST 2008

   RAPPER notes:

   Loop modelling with section not currently modelled in input PDB:

rapper params.xml model-loops --pdb "test.pdb" --map "test.map" --chain-id "B" --models "1" --cryst-d-high "1.77" -seq ~AAA~ --start 705 -stop 708 --use-CCP4i-file-name true --ccp4i-file-name "rapper_1" --runs-dir "test_dir" --edm-fit true --sidechain-mode smart --sidechain-radius-reduction 0.75 --sidechain-library RAPPER-DIR/data/richardson.lib 

   Loop modelling with section already modelling in input PDB file using electron density:

rapper params.xml model-loops --pdb "test.pdb" --map "test.map" --chain-id "B" --models "1" --cryst-d-high "1.77" --start 705 -stop 708 --use-CCP4i-file-name true --ccp4i-file-name "rapper_1" --runs-dir "test_dir" --edm-fit true --sidechain-mode smart --sidechain-radius-reduction 0.75 --sidechain-library RAPPER-DIR/data/richardson.lib 

-----
Thu Jun 19 09:13:48 BST 2008



==27246== Invalid read of size 1
==27246==    at 0x4007203: strlen (mc_replace_strmem.c:242)
==27246==    by 0x709A16A: std::string::string(char const*, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.10)
==27246==    by 0x8178864: make_directory_maybe (c-interface.cc:7080)
==27246==    by 0x80FA10C: c_inner_main (c-inner-main.c:246)
==27246==    by 0x410392C: invoke_main_func (in /home/juditd/coot-build-3/autobuild-installed-pre-release-gtk2/lib/libguile.so.17.1.2)
==27246==    by 0x40D6409: c_body (in /home/juditd/coot-build-3/autobuild-installed-pre-release-gtk2/lib/libguile.so.17.1.2)



----
Sat Jun 21 01:55:45 BST 2008

    Joel Bard:

    When coming out of side-by-side stereo, the map disappears -
    something to do with the GL context the display list is generated
    in?

    Priority: Medium/Low  (fix refine by sphere first)

    
----
Sat Jun 21 02:10:01 BST 2008

  Try this again:

   o crash on delete residue range: Harri Jayaram

      The steps I did were
      1) Start fresh coot
      2) Get coords from pdb - get-ebi-pdb 1OTS
      3) Centre on chain A residue 39
      4) Bring up delete residue GUI
      5) delete from residue 17 ( n terminus) to residue 37 or 39 (I 
         forgot which one)
      6) Coot beachballs and takes machine down with it

      Very slow.  Some fumbling of atom picking needed to tickle this? 
      1hd.

* Can't reproduce now.

----
Sat Jun 21 12:39:55 BST 2008


   "Triple refine" (manual-refine-residues 1) at the C terminus should refine
   2 residues (like autozone does, I think).


----
Sat Jun 21 14:56:11 BST 2008

running loopy:

$flex_wARP_warpbin/loop -paramfile=rnase_2_1_com.tmp

----
Sun Jun 22 14:05:59 BST 2008

    Provide a gui interface to "multi-chicken" - 10 (or so) contour
    levels, changing in colour from one map.

* Done.

---
Wed Jun 25 16:40:23 BST 2008

    a function similar to shell-command-to-string, but that takes
    command line args and data lines and returns a list of strings.

    Use it in get-refmac-version.


---
Mon Jun 30 15:20:48 BST 2008

    asc_to_graphics() and all of atom-utils can go (need to fix up
    skeleton/BuildCas.cc)
    
    For 0.6


-----
Wed Jul  2 08:27:50 BST 2008

    Do rotamers. (55B)

    Do Residue Info.  Intermediate atoms disappear.  Why?

----
> > In message <B0848263-CEEB-48EF-B991-4ED71F81E9D4@idi.harvard.edu>  
> > Jianghai Zhu
> > <jzhu@idi.harvard.edu> writes:
> >> 
> >> I am using the nightly build of coot prerelease.  I found out that
> >> every time when I switch the stereo on and off, I lose the electron
> >> density map.  If I scroll the mouse, I can bring the map back.  But  
> >> if
> >> I have multiple maps on display, then only one map can be brought  
> >> back.

----
Thu Jul  3 12:44:23 BST 2008


    on_draw_hydrogens_yes_radiobutton_toggled 

    This draw hydrogens thing should be a single check button, not 2
    radio toggle buttons.

    Get rid of the "Apply" button.

    Low priority

----
Wed Jul  9 10:56:20 BST 2008

    using-active-atom macro:

     (let ((active-atom (active-residue)))
       (if (not active-residue)
	   (add-status-bar-text "No residue found")
	   (let ((aa-imol      (list-ref active-atom 0))
		 (aa-chain-id  (list-ref active-atom 1))
		 (aa-res-no    (list-ref active-atom 2))
		 (aa-ins-code  (list-ref active-atom 3))
		 (aa-atom-name (list-ref active-atom 4))
		 (aa-alt-conf  (list-ref active-atom 5)))
		 
		 ,@funcs (or some such)

		 )))

* Done.

-----
Wed Jul  9 17:32:20 BST 2008

    Better document anti-aliasing for Nvida driver nvidia-settings.

* Done.

----
Sun Jul 13 22:42:54 BST 2008

  JED:

   Coot crashed on me.
   Multiple deletions after closing molecules was the problem, I
   think.

* Fixed.  Was scroll button problem 

----
Mon 14 Jul 02:17:01 2008 BST


   molecule_class_info_t::handle_read_draw_molecule() has:

      // update the maps so that they appear around the new centre. 
      // 
      if (reset_rotation_centre) 
	 for (int ii=0; ii<g.n_molecules(); ii++) {
	    g.molecules[ii].update_map(); 
	 }

   It should not be there.  That should be outside of the
   molecule_class_info_t class.


-----

    How shall I fix the ramachandran restraints?

I need to investigate grad.tab when I try with a triple in the
graphics.

A hidden scripting interface to turn on numerical gradients?  Put that
in graphics-info-modelling and copy_mol_and_refine() after we
make_restraints().


----
Mon Jul 14 15:23:21 BST 2008

    revision 1274: before (big) messing with torsion restraints

---
Mon Jul 14 23:20:37 BST 2008

    Phil Evans:

    new waters are marked as HETATMs?  They should be.

----
Thu Jul 17 13:43:34 BST 2008

in void
on_refine_params_use_torsions_checkbutton_toggled (GtkToggleButton *togglebutton, 
						   gpointer         user_data)

do we need to unset the Rama angle refinement?  (and toggle the box too?)


----
Thu Jul 17 23:33:32 BST 200


int
coot::restraints_container_t::make_flanking_atoms_rama_restraints(const protein_geometry &geom)

	 // super careful would mean that we check the link type of
	 // both pairs before calling this function:

----
Fri Jul 18 12:30:14 BST 2008

    make reset view scale to the correct size.

* Done.

---
Fri Jul 18 12:33:10 BST 2008

   Penelope build-hardy:

   0-coot.state.scm-fails-to-reset-view

---
Fri Jul 18 14:55:30 BST 2008

    Get a residue.  do b factor analysis

    copy the residue. do b factor analysis.

    delete some atoms from mol 1.  the wrong plot updates.

----

to get what_check output for all pdb entries

www.cmbi.ru.nl/pdbreport/ab/1abc/pdbout.txt


-----
Tue Jul 22 16:06:11 BST 2008

    Robbie J suggests:

    Check and fix nomenclature errors for ARG.

    Put Fix nomenclature errors into the GUI.

    Schedule this for 0.6.


------
Wed Jul 23 12:28:06 BST 2008

    Think about adding Thomas' Phi/Psi (energy) plots (of the torsions
    around the glycosidic linkage) and plotting the points for the
    linked carbodydrates in the molecule.


----
Thu Jul 24 10:40:06 BST 2008

    1mn8 D52 do-180-degree-side-chain-flip must work! 
    chi5 must be recognised.

----
Thu Jul 24 12:55:02 BST 2008

    For when the modelling toolbar is too big for the laptop screen:

    Right-mouse over it and "make this shorter" option

* Bernhard has delt with this, plus there is an function to turn it off.

-----
Thu Jul 24 13:49:25 BST 2008

    gtk1 version: seems not to be displaying the chi square values
    after refinement

    Show stopper!


------


   a BMA in 3d2u: trying to refine a BMA, should Coot on the fly
   generate the BMA full dict from the minimal description?


-----
Mon Jul 21 12:33:21 BST 2008


in molecule_class_info_t::handle_read_draw_molecule():


      // update the maps so that they appear around the new centre. 
      // 
      if (reset_rotation_centre) 
	 for (int ii=0; ii<g.n_molecules(); ii++) {
	    g.molecules[ii].update_map(); 
	 }

    
    and symmetry likewise.

    Bleugh - needs a fix.  Needs to be in
    handle_read_draw_molecule_with_recentre in the c-interface
    function


---
Mon Jul 28 23:36:45 BST 2008

    function to strip spaces from a string (scheme).

----
Mon Jul 28 23:39:48 BST 2008

    rework const char *atom_info_string(int imol, const char *chain_id, int resno,
			     const char *ins_code, const char *atname,
			     const char *altconf) 

    to return a SCM.  And test that it gives #f when atom not exist.



-----
Tue Aug  5 23:11:18 BST 2008

    Here's another rama test.

    Turn on Rama restraints. turn on helical restraints.  try to turn
    residues 84 to 93 into a helix.  (you can cut them out from the
    rest of the protein to make things clearer).

----
Wed Aug 13 12:44:28 BST 2008

    It would be nice if the scripting window(s) were available via
    some sort of (iconfied?) combo box in the horizontal toolbar.

    rajan@mbu.iisc.ernet.in 12 Aug 2008.

----
Wed Aug 13 12:52:23 BST 2008

    Fix up the atom ordering in modified (added to) residues
    Steven Sheriff 12 Aug 2008.


---
Thu Aug 14 23:18:24 BST 2008

    EJD: I want to do an atom selection for my Ramachandran
    Plot. (e.g. I want to see just one chain)


---
Mon Aug 18 16:15:01 BST 2008

    How about a "fast save" that saves pdb files with modifications,
    and the state file... bound to a key.


----
Fri Aug 22 18:24:20 BST 2008

    IUCr: make a GUI interface to mutate-by-overlap.


---
Tue Sep  9 09:14:26 BST 2008

Coot just crashes when just loading an mtz file and making maps - I
did not touch anything after clicking OK (mtz selection) - Coot was
thinking for a while and then crashed.

It was a standard .mtz from Refmac refinement. I can't reproduce this
so there is not pint in sending that mtz file.

I have noticed that these crashes happen after I have worked in Coot
for a while (one or two mtz files, around 1.2 A resolution, a couple
of pdbs) and then try to load another mtz file from Refmac..

Jan

* Fixed.


Using host libthread_db library "/lib/tls/libthread_db.so.1".
Core was generated by `/protein/coot/stable/coot-Linux-i386-redhat-8.0/bin/coot-real'.
Program terminated with signal 11, Segmentation fault.
#0  0xb7a092e5 in gtk_radio_button_set_group (radio_button=0x8b21998,
   group=0x894cd30) at gtkradiobutton.c:197
   in gtkradiobutton.c
#0  0xb7a092e5 in gtk_radio_button_set_group (radio_button=0x8b21998,
   group=0x894cd30) at gtkradiobutton.c:197
#1  0xb7a09394 in gtk_radio_button_new (group=0x894cd30)
   at gtkradiobutton.c:212
#2  0xb7a093c1 in gtk_radio_button_new_with_label (group=0x894cd30,
   label=0x84fb3ec "Scroll") at gtkradiobutton.c:224
#3  0x082bcc80 in display_control_map_combo_box (
   display_control_window_glade=0x893f260,
   name=0x8c385fc "ref41_test288.mtz FWT PHWT", n=0x882d030)
   at gtk-manual.c:1120
#4  0x082514c1 in molecule_class_info_t::update_map_in_display_control_widget (
   this=0xb5d5fa74) at graphics-info.h:1410
#5  0x08251473 in molecule_class_info_t::initialize_map_things_on_read_molecule
   (this=0xb5d5fa74, is_diff_map=-1073757424, swap_difference_map_colours=0)
   at molecule-class-info.cc:1218
#6  0x08253eee in molecule_class_info_t::map_fill_from_mtz_with_reso_limits (
   this=0xb5d5fa74, mtz_file_name=
       {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<No data fields>}, _M_p = 0x8798194 "/people/dohnalek/projects/dha04/honza_zari2008/ref41_test288.mtz"}, static _S_empty_rep_storage = {0, 0, 0, 0}}, f_col=
       {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<No data fields>}, _M_p = 0xadc69804 "FWT"}, static _S_empty_rep_storage = {0, 0, 0, 0}}, phi_col=
       {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<No data fields>}, _M_p = 0xadc6d6f4 "PHWT"}, static _S_empty_rep_storage = {0, 0, 0, 0}}, weight_col=
       {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<No data fields>}, _M_p = 0x85a50ec ""}, static _S_empty_rep_storage = {0, 0, 0, 0}}, use_weights=0, is_anomalous_flag=0, is_diff_map=0, use_reso_limits=0,
   low_reso_limit=0, high_reso_limit=0) at molecule-class-info.cc:2059
#7  0x0816918e in make_and_draw_map_with_reso_with_refmac_params (
   mtz_file_name=0x8c12750 "/people/dohnalek/projects/dha04/honza_zari2008/ref41_test288.mtz", f_col=0x85a7204 "FWT", phi_col=0x85a76dc "PHWT",
   weight_col=0x84d6f30 "", use_weights=0, is_diff_map=0,
   have_refmac_params=0, fobs_col=0x84d6f30 "", sigfobs_col=0x84d6f30 "",
   r_free_col=0x84d6f30 "", sensible_r_free_col=0, is_anomalous_flag=0,
   use_reso_limits=0, low_reso_limit=0, high_reso_limit=0)
   at /usr/include/c++/3.2/bits/stl_alloc.h:630
#8  0x0816a79e in auto_read_make_and_draw_maps (
   mtz_file_name=0x8c12750 "/people/dohnalek/projects/dha04/honza_zari2008/ref41_test288.mtz") at c-interface.cc:1078
#9  0x0824309b in on_ok_button_dataset_clicked (button=0x9229a80,
   user_data=0x0) at callbacks.c:278
#10 0xb79ea883 in gtk_marshal_NONE__NONE (object=0x8e3f888,
   func=0x8242fe4 <on_ok_button_dataset_clicked>, func_data=0x0,
   args=0xbfffd450) at gtkmarshal.c:312
#11 0xb7a19e92 in gtk_handlers_run (handlers=0x8e01290, signal=0xbfffd3f0,
   object=0x8e3f888, params=0xbfffd450, after=0) at gtksignal.c:1917
#12 0xb7a1919e in gtk_signal_real_emit (object=0x8e3f888, signal_id=77,
   params=0xbfffd450) at gtksignal.c:1477
#13 0xb7a17274 in gtk_signal_emit (object=0x8e3f888, signal_id=77)
   at gtksignal.c:552
#14 0xb7989e88 in gtk_button_clicked (button=0x8e3f888) at gtkbutton.c:336
#15 0xb798b3f6 in gtk_real_button_released (button=0x8e3f888)
   at gtkbutton.c:861
#16 0xb79ea883 in gtk_marshal_NONE__NONE (object=0x8e3f888,
   func=0xb798b334 <gtk_real_button_released>, func_data=0x0, args=0xbfffd7e0)
   at gtkmarshal.c:312
#17 0xb7a190af in gtk_signal_real_emit (object=0x8e3f888, signal_id=76,
   params=0xbfffd7e0) at gtksignal.c:1440
#18 0xb7a17274 in gtk_signal_emit (object=0x8e3f888, signal_id=76)
   at gtksignal.c:552
#19 0xb7989dcc in gtk_button_released (button=0x8e3f888) at gtkbutton.c:327
#20 0xb798ad92 in gtk_button_button_release (widget=0x8e3f888, event=0x86840e0)
   at gtkbutton.c:721
#21 0xb79ea659 in gtk_marshal_BOOL__POINTER (object=0x8e3f888,
   func=0xb798acec <gtk_button_button_release>, func_data=0x0, args=0x8c63340)
   at gtkmarshal.c:28
#22 0xb7a191d3 in gtk_signal_real_emit (object=0x8e3f888, signal_id=21,
   params=0xbfffdb80) at gtksignal.c:1492
#23 0xb7a17274 in gtk_signal_emit (object=0x8e3f888, signal_id=21)
   at gtksignal.c:552
#24 0xb7a4d087 in gtk_widget_event (widget=0x8e3f888, event=0x86840e0)
   at gtkwidget.c:2864
#25 0xb79ea4dc in gtk_propagate_event (widget=0x8e3f888, event=0x86840e0)
   at gtkmain.c:1385
#26 0xb79e95cd in gtk_main_do_event (event=0x86840e0) at gtkmain.c:818
#27 0xb7942b28 in gdk_event_dispatch (source_data=0x0,
   current_time=0xbfffdf50, user_data=0x0) at gdkevents.c:2139
#28 0xb76bce81 in g_main_dispatch (dispatch_time=0xbfffdf50) at gmain.c:656
#29 0xb76bd338 in g_main_iterate (block=0, dispatch=1) at gmain.c:877
#30 0xb76bd568 in g_main_run (loop=0x8939d30) at gmain.c:935
#31 0xb79e908f in gtk_main () at gtkmain.c:524
#32 0x080f7a16 in c_inner_main (closure=0x0, argc=1, argv=0xbfffe374)
   at c-inner-main.c:250
#33 0xb7f3e864 in invoke_main_func (body_data=0x8c63340) at init.c:635
#34 0xb7f3e82c in scm_boot_guile_1 (base=0xbfffe0bc, closure=0xbfffe0c0)
   at init.c:615
#35 0xb7f3e54b in scm_boot_guile (argc=147206976, argv=0x8c63340,
   main_func=0x8c63340, closure=0x8c63340) at init.c:440
#36 0x080f7b1c in c_wrapper_scm_boot_guile (argc=1, argv=0xbfffe374)
   at c-inner-main.c:270
#37 0x080f23d5 in main (argc=1, argv=0xbfffe374) at main.cc:493
Current language:  auto; currently c


-----
Tue Sep  2 09:53:52 JST 2008

    what happens when you try to rigid body refine an a fragment from
    ribosome (or something big)?

    If utter slowness, consider introducing a function to turn off
    fixed-atom masking.


-----
Thu Sep  4 06:41:12 JST 2008

    Try probe clashes on a protein ligand complex.

* Done.

---
Wed Sep 10 13:43:57 BST 2008

    When rotating atom in chi or rotamers, change the aniso B values too.

---
Thu Sep 11 07:18:38 BST 2008

    Reasons why the builds fail:

    o because the sourceforge host for the gtkglext package disappeared
      (dynamic/direct hostname)

    o Ran out of memory, causing the compiler to crash (I'd forgotten
      to add swap)

    o Forgotten to add new files to the svn repo


---
Sun Sep 14 09:49:35 BST 2008

    Failures/Issues at the BCA Summer School

   o Baton Build mode crash on "Accept"

* Fixed.  Cis peptides code that runs on writing out a pdb file needed
  a properly formed mmdbmanager, but the mmdbmanger from the baton
  atoms was not in a good state, - it seemed that there was a chain
  added to the model, but the chain pointer was NULL.  So now we check 
  for that.

   o Recover session didn't work - "Nothing to Recover".

   o "Add Strand here" failed - dictionary of structures, either
     didn't exist or was in the wrong place: 
     C:\share\coot\ss-reference-structure..  found 0 pdb files

   o Rotamer probability tables not found - falling back to simple 
     (confusing) rotamer probabilities
     C:\msys\home\bernhard\autobuild\MINGW..\share\coot\rama-.. not found

   o Refmac button failed

   o Question: Does "Set Undo Molecule dialog" set the correct undo
     molecule?

* I'll deal with this

   o Make it easy to retype a residue

* I'll deal with this.  Punt.  I've forgotten what it is for - and
  it's more work that I thought - there is no scripting function to do
  this.

   o Search Monomer Library dialog should say "Close" not "Cancel"

* I'll deal with this.  Done


----
Sun Sep 14 10:45:38 BST 2008

    There is a dialog for globularize protein.  It needs to be
    activated. (Some work).

----
Sun Sep 14 12:32:23 BST 2008

    Note: the right way to set an active menu item for an option menu
    is in fill_option_menu_with_undo_options().


----
Tue Sep 16 12:56:16 BST 2008

    Note: Processes for automated builds/testing

 o The process that checks out the latest sources, compiles the code
   and publishes a source tar file, the build log (for building
   problems) and build-from-source success status

 o The build+test+tar+(copies+)publish process itself - build-it, runs
   on all up to hosts several times a day

 o The process that cleans up the build directory - every day, deletes
   everthing more than 7 day old

 o The process that deletes "old" pre-release build tar files from the
   web - runs every day, deleting everything more than 30 days old

 o The process that makes a web page from the build results - runs
   every 5 minutes, examining results from fedrated builds


---
Tue Sep 16 13:22:03 BST 2008

    key bindings

* Done

    non-clickable molecule

* Done (apparently)

    molprobity dots problem

* Done.

    render graphical objects

* Done.


-----
Thu Sep 11 15:43:22 BST 2008

    Warn when making a screenshot of a density map that is dark blue.

----
Thu Sep 18 13:01:38 BST 2008

    Add text to Raster3D input.r3d

----
Mon Sep 22 17:53:14 BST 2008

    "Cocktail test this blob" vs 200 candidates (to be addeded to
    distro).  Allow the user to add their own ligands.

    Medium to high importance.


----
Tue Sep 23 09:52:40 BST 2008

[Note to self, rigid body fit is not working/did not complete? after
ligand fitting, should fit against masked map (the one that gets
exported to graphics after ligand fitting has completed].

[Note to self, make a set of slides for these]

----

Mon Oct  6 13:56:30 BST 2008
PRE RELEASE CHECKS

Does ligand fitting work?
Does torsion bond hilighting work?

----
Wed Oct  1 14:14:26 CEST 2008

   What is Wadley et al. RNA torsion angles? P and C4'

   Mentioned by Tim Grune

----
Fri Oct  3 15:23:51 CEST 2008

  o Note: Randy says that the maps from phenix autobuild don't work -
  all red in the validation (traffic lights?) - I guess that the maps
  are scaled up.

----

   For a tutorial: design a drug in libcheck/sketcher and fit it to
   the density - use something from the PDB.

* How about APN/aspirin?

---
Mon Oct  6 13:56:44 BST 2008
   
	It's not the algorithms

   After the release, there are no pre-release source tars, so the
   build web page builder fails (a list-ref of a #f list)

   Python 2.5.2 build tests are failing with sendmail on FC5 (after
   re-install?)

   Crash on CentOS 4 machines when trying to read svgs

   Trying to separate python build logs from non-python build
   logs. Problems! overlapping dependencies, test the tar file and
   transfer it - many fixes to sort out.

   Coot builds on 32 and 64 bit systems.  In which directory should
   the libraries go?  By convention, 32 bit libs in prefix/lib and 64
   bit libs in prefix/lib64.  How is this sorted out in the configure?
   Buy using an autoconf macro AC_LIB_PREPARE_MULTILIB.  Where is this
   provided? In a recent version of gettext (more recent that fink
   currently provides).  So on every build system we have to get (e.g
   from the pre-build package e.g. Ubuntu intrepid) or downlaod and
   install gettext manually and point the autogen (that run aclocal and
   autoconf) to use the macros in the files installed from gettext.

---- Wed Oct 8 14:11:40 BST 2008

   coot-shelx-ins.cc
   // 20081008 allow for a site occupancy factor on the PART line
   // but then throw it away.  Not good. Should fix at some stage.

---
Fri Oct 17 13:43:26 BST 2008

   The crash catcher should check that the core belongs to coot before
   giving dialog with text. e.g. it fails to read the correct core on
   jackal (run from ~).

---
Fri Oct 17 14:13:50 BST 2008

   main.cc: 
   // else we need to pass cld.alternate_splash_screen_file_name
   // to a function that accepts a file_name a makes a splash
   // screen.  Hmm..

----
Thu Oct 23 11:54:39 BST 2008
  
   It would be nice if baton building would orient as it translates 
   so that the baton is along the screen Y.

----
Sat Oct 25 03:11:07 BST 2008

  In the conformer generation, generate many models first, then
  select the top N for energy minimization.

  Instead of search the maps for ligand sites, try to position the
  ligand at a give postion (e.g. the screen centre). 

  Try a 27 pt box search around the centre position.  Try different
  rigid body angles at the box points.


---
Sat Oct 11 12:34:40 BST 2008

   When you ctrl pick an atom (or even just pick an atom) - in
   intermediate mode it should flash with a circle or something.

* Done.

---
Mon Oct 13 14:46:41 BST 2008

    o Clemens: export n_diffs for Kleywegt plot to scripting layer.

      Difficulty: Easy.

* Done.

----
Tue Oct 28 20:14:17 GMT 2008

  on reading the ribosome structure, 99% of 110 - (about 2) seconds is
  spend here:

	MMDBManager->ReadCoorFile(pdb_name.c_str());

---
Wed Oct 29 08:16:59 GMT 2008

   Frank:

     This one is quicker: are you able to colour text in the Display
     Manager?  In which case it would be handy to have the text for
     the map objects coloured according to map type, e.g. blue for
     sigmaA map, red for difference map (info you can infer from the
     mtz?), and even green for other maps (usually
     experimental/averaged).

   Yes, except use the background color, I think.  And how about a
   button that is half red, half green?


---
Wed Nov  5 17:47:55 GMT 2008

    For restraints editor hilighting: generate graphics objects

    restraints_editor_hilight_bond(residue_type, atom_name_1, atom_name_2)
    restraints_editor_hilight_angle(residue_type, atom_name_1, atom_name_2, atom_3)
    restraints_editor_hilight_atom(residue_type, atom_name_1)
           draw a ring around the atom say.  Maybe in 2 planes

    torsion and plane are a lot more difficult


---
Fri Nov  7 08:07:07 GMT 2008

    3bmw: difference map 11, near 645 ILE, surely there is something
    wrong with the "peak next to molecule" algorithm?

----
Sun Nov 16 16:42:42 GMT 2008

   look at xnee for testing the gui (needs linux).

----
Sun Nov 16 16:46:20 GMT 2008

   run test_yourself() for rotamer_probability_tables needs to be
   added to test suite.

----
Mon Nov 24 16:21:11 GMT 2008

   Chiral restraints that are marked as "both" are currently rejected
   when adding restraints (in
   coot::restraints_container_t::add_chirals()).  They should be added
   and the target geometry should be the one that is closest to the
   current position.

* Fixed.

---
Sat Nov 29 15:08:44 GMT 2008

   In make_link_restraints() we need to make sure that we are sensibly
   setting the fixed atom/residue flag.
	
   Where is the test that these residues are L-peptides? in
   add_rama()?  No.  So it should be in make_rama_triples() then.
   Perhaps.  But it should be somewhere.

---
Thu Dec  4 16:27:58 GMT 2008

   Conversation with Ed:
 
  o Nice to have ^S bound to Save Coords (Add accelerator to gui)

  o Can you generate "arrow key-press events" from rotating the
  PowerMate?  Surely yes, it's just a matter of getting the power mate
  in the mode to generate the characters.  Ah.. but no, the powermate
  can generate 3 key presses basically (in Bills example, F1, F2, F3)

   Hmm...

  o What about binding PowerMate to chi angle motion - which is moving
    the mouse a bit.  Surely we can do that?

* Yes we can.

---
Sun Dec  7 19:36:04 GMT 2008

   simple-restraint.hh

	    // 20081207: don't do this here now - because the
	    // memory/selection is deleted again in
	    // clear_up_moving_atoms(). It *should* be done here of
	    // course, but we'll save that for the future.
	    // 
	    //if (atom) { 
	    // mol->DeleteSelection(SelHnd_atom);
	    // atom = NULL;
	    // } 

   NOTE: In future problems of memory when using a CRresidue * vector
   could be due to restraints_container_t deconstuctor.

---
Wed Dec 10 10:16:05 GMT 2008

	Add Use of 1hvv NCS residue range maps to advanced tutorial.

---
Thu Dec 11 12:55:32 GMT 2008

   After an mmdb read, delete chains that don't have atoms in them.
   (created by LINK? records in the header).

---
Fri Dec 12 00:01:19 GMT 2008

   When writing out the state file (header?) only include pdb
   molecules that can be read.

   e.g. after using copy fragment, but no saving of the molecule.

----
Fri Dec 12 00:07:18 GMT 2008

   Tutorial II ideas: 

   Find and fix the bad trans bond in 1h4p

---
Fri Dec 12 13:23:52 GMT 2008

   Roberto Steiner wants CA + ligs + waters mode.

---
Fri Dec 12 13:55:19 GMT 2008

   Kevin M.:

   When reading in a ligand, give me an option to directly move it to
   the screen centre.

   Change to an option menu:
      Recentre View on new molecule
      Don't recentre View
      Recentre new molecule to current view

* Done.  Useful feature.

---
Mon Dec 15 14:07:50 GMT 2008

INFO::
	How to do a release
	How to make a release

   o New entry in ChangeLog
   o Make sure RELEASE-NOTES are up to date and add a ----- marker at the top
   o change the version in configure.in
   o change the splash screen
        artists acknowledged in glade/aboutdialog?
        To correct the transparency, duplicate layer, bucket fill with white 
        the bottom layer, merge and bevel 6.
   o svn add the new splash screen pixmap
   o Fix the old-coot timer.
   o commit
   o Is everyting OK on bubbles? Makes new source tar file?
   o clear out pre-releases
   o Build binaries on some hosts
   o Mail mailing list

-----
