[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

@dircategory The molecular graphics application Coot * Coot: (coot-scheme). The Coot Scheme Manual.


1. Scheme Functions

1.34 what-check  
1.33 a-rapper-gui  
1.32 clear-backup  
1.31 group-settings  
1.30 coot-utils  
1.29 quat-convert  
1.28 coot-gui  
1.27 exercise-scm-mol  
1.26 refmac-problems  
1.25 coot-crash-catcher  
1.24 fascinating-things  
1.23 cns2coot  
1.22 filter  
1.21 ncs  
1.20 shelx  
1.19 get-ebi  
1.18 brute-lsqman  
1.17 entry+do-button  
1.16 libcheck  
1.15 fitting  
1.14 generic-objects  
1.13 refmac  
1.12 mutate  
1.11 extra-top-level  
1.10 raster3d  
1.9 povray  
1.8 tips  
1.7 americanisms  
1.6 remote-control  
1.5 coot  
1.4 hello  
1.3 coot-lsq  
1.2 tips-gui  
1.1 background-demo  

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.1 background-demo

procedure: background-demo
flash the background different colours in some uninteresting way.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.2 tips-gui

procedure: show-coot-tip-from-list n text
given a number and a gtk text widget text, put tip number n into the widget.

procedure: increment-coot-tip-number
increment the tip number when the user sees a tip

procedure: decrease-coot-tip-number
decrement the tip number when the user sees a tip

procedure: tips-gui
run the tips gui.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.3 coot-lsq

procedure: lsq-match-type-symbol->number match-type-in
Internal type conversion for LSQ fitting. Return a number according to the symbol match-type-in

procedure: set-match-element
Create matchers, 7 elements: (list ref-start-resno ref-end-resno ref-chain-id imol-ref mov-start-resno mov-end-resno mov-chain-id imol-mov match-type)

procedure: lsq-match imol-ref imol-moving match-list
The scripting interface to LSQ matching. Pass molecule numbers for the reference (imol-ref) and moving (imol-moving) molecules and a match list. The match list format is described in the manual.

procedure: simple-lsq-match ref-start-resno ref-end-resno ref-chain-id imol-ref mov-start-resno mov-end-resno mov-chain-id imol-mov match-type
Simple interface to LSQ fitting. More often than not this is what you will want, I imagine, e.g. (simple-lsq-match 940 950 "A" 0 940 950 "A" 1 'main)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.4 hello

procedure: first-non-trivial-name
Primarily for Indian Names.

Say we are given str: (list "M." "D." "Albert" "Dorkins"). We want to return ""Albert" not "M.") We reject names that are one character long and names that are 2 characters long that end in ".". So, "M." is rejected, but "Ma" is not.

An excercise for the committed is to also reject run-together dotted initials such as "D.K.". I was sufficiently committed.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.5 coot

procedure: *probe-command*
This is full pathname of molprobity's probe program

procedure: *reduce-command*
This is full pathname of molprobity's reduce program

procedure: *do-coot-tips-flag*
This has be be here (in a general place) because tips-gui (where it used to be is conditionally loaded). (default to tips-gui displayed is true).

procedure: load-all-scheme
Note the position of coot-gui is important. It seem that if there are too many files in front of it (even blank ones!) coot barfs when it gets to coot-gui.scm.

20060203 I have now enabled coot in scripting mode (no graphics (--no-graphics command line option)). In that case, we need to not load up scheme files which load up gtk (currently coot-gui and tips-gui).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.6 remote-control

procedure: %coot-listener-socket
a place-holder for the coot listener socket

procedure: open-coot-listener-socket port-number host-name
Open a coot listener socket, return nothing much, but do set! %coot-listener-socket.

Hmmm... why make a side-effect like that? Why not return %coot-listener-socket so that the caller can set it? There may be a reason...

And the reason is that I can then call coot-listener-idle-function-proc without having to use a c++ variable.

procedure: open-coot-listener-socket-with-timeout port-number host-name
yet another go to make a coot port reader work. This time, we use a gtk-timer to read stuff from the socket.

The gtk-timer function must return 1 to be called again. When we want to close the socket reader, simply make the function return 0.

procedure: coot-socket-timeout-func
based on coot-listener-idle-function-proc

procedure: coot-listener-idle-function-proc
Do this thing when idle

currently set to listen to the %coot-listener-socket

procedure: eval-socket-string s
the function to run from the main thread to evaluate a string:

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.7 americanisms

procedure: set-rotation-center
an americanism

procedure: handle-read-draw-molecule-with-recenter
an americanism

procedure: set-rotation-center-size
an americanism

procedure: center-atom-label-status
an americanism

procedure: set-last-map-color
an americanism

procedure: center-of-mass
an americanism

procedure: set-swap-difference-map-colors
an americanism

procedure: set-font-color
an americanism

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.8 tips

procedure: tip-list
a list of tips for Coot

procedure: no-coot-tips
Function to turn off coot tips at start

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.9 povray

procedure: povray-version
this should negate the need for Bill's patch here.

procedure: povray-args
args not including the output filename

procedure: povray-image
Run provray using current displayed image and write .pov file to default filename


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.10 raster3d

procedure: render-image
run raster3d

procedure: raytrace
Run either raster3d or povray


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.11 extra-top-level

procedure: my-button-callback
This is what to do when the button is pressed. It can be any guile or coot function.

procedure: my-top-level
define a simple window and put a button in it


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.12 mutate

procedure: mutate-chain imol chain-id sequence
Mutate chain-id of molecule number imol given sequence. This presumes a protein sequence.

The number of residues in chain-id must match the length of sequence.

procedure: multi-mutate
An internal function of mutate. This presumes a protein sequence.

procedure: mutate-residue-range imol chain-id start-res-no stop-res-no sequence
The stop-res-no is inclusive, so usage e.g. (mutate-residue-range 0 "A" 1 2 "AC")

This presumes a protein sequence (not nucleic acid).

procedure: mutate-and-autofit-residue-range imol chain-id start-res-no stop-res-no sequence
mutate and auto fit a residue range.

This presumes a protein sequence (not nucleic acid).

The sequence is a string of one letter codes

procedure: mutate-and-auto-fit residue-number chain-id mol mol-for-map residue-type
mutate and autofit whole chain

This presumes a protein sequence (not nucleic acid).

procedure: maf
a short-hand for mutate-and-auto-fit

procedure: 3-letter-code->single-letter residue-type
return a char, return #\A for unknown residue-type

procedure: mutate-residue-redundant
a wrapper for mutate-single-residue-by-seqno (which uses slightly inconvenient single letter code)

Here residue-type is the 3-letter code

procedure: delete-sidechain-range
Delete (back to the CB stub) the side change in the range resno-start to resno-end


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.13 refmac

procedure: refmac-exe
This is the default refmac version, it is presumed to be in the path. It can be overridden using a re-definition either at the scripting interface or in one's ~/.coot file. E.g.: (define refmac-exec "/y/programs/xtal/refmac-latest/bin/refmac5-3-dec-2004")

procedure: refmac-extra-params
Set this to a list of parameter strings:

If refmac-extra-params is a list of strings, it is used in preference to the "refmac-extra-params" file (should it exist). e.g. (set! refmac-extra-params (list "WEIGHT 0.2" "NCYC 10" "REFI BREF ISO" "REFI METH CGMAT" "REFI TYPE REST RESO 20 1.64"))

procedure: run-refmac-by-filename pdb-in-filename pdb-out-filename mtz-in-filename mtz-out-filename extra-cif-lib-filename imol-refmac-count swap-map-colours-post-refmac? imol-mtz-molecule show-diff-map-flag phase-combine-flag phib-fom-pair force-n-cycles ccp4i-project-dir f-col sig-f-col . r-free-col

procedure: extra-params-include-weight? params-list
Return #t if the list of strings params-list contains a string beginning with "WEIGHT". If not return #f

procedure: get-refmac-extra-params
If refmac-extra-params is defined (as a list of strings), then return that, else read the file "refmac-extra-params".

Return a list a list of strings.

procedure: run-refmac-for-phases


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.14 generic-objects

procedure: generic-object-is-displayed?
map to scheme names:

procedure: is-closed-generic-object?
map to scheme names:

procedure: generic-object-with-name
return a new generic object number for the given object obj-name. If there is no such object with name obj-name, then create a new one. (Maybe you want the generic object to be cleaned if it exists before returning, this function does not do that).

procedure: generic-objects-gui
display a GUI for generic objects

procedure: probe
run molprobity (well reduce and probe) to make generic objects (and display the generic objects gui)

procedure: *interactive-probe-is-OK?*
gets set the first time we run interactive-probe. Takes values unset (initial value) 'yes and 'no)

procedure: interactive-probe
run "probe" interactively, which in the current implementation, means that this function can run during a edit-chi angles manipulation, or after a real space refine zone.

Thus function presumes that there are 2 pdb files in the current directory, one of which is the reference pdb file and the other is a pdb file containing the tmp/moving atom set.

The function takes arguments for the centre of the probe dots and the radius of the probe dots sphere. The chain id and residue number are also needed to pass as arguments to probe.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.15 fitting

procedure: fit-protein imol
Note that residue with alt confs do not undergo auto-fit-rotamer. This is because that autofit-rotamer then refine will tend to put both rotamers into the same place. Not good. It seems a reasonable expectation that residues with an alternate conformation are already resonably well-fitted. So residues with alternate conformations undergo only real space refinement.

This is simple-minded and outdated now we have the interruptible version (below).

procedure: *continue-multi-refine*
These 2 variables are used by multi-refine function(s), called by idle functions to refine just one residue.

procedure: fit-protein-make-specs imol chain-specifier
chain-specifier can be a string, where it is the chain of interest. or 'all-chains, where all chains are chosen.

procedure: interruptible-fit-protein imol func
func is a refinement function that takes 2 args, one a residue spec, the other the imol-refinement-map. e.g. fit-protein-fit-function

procedure: fit-chain imol chain-id
For each residue in chain chain-id of molecule number imol, do a rotamer fit and real space refinement of each residue. Don't update the graphics while this is happening (which makes it faster than fit-protein, but much less interesting to look at).

procedure: fit-waters imol . animate?
For each residue in the solvent chains of molecule number imol, do a rigid body fit of the water to the density.

procedure: stepped-refine-protein imol . res-step
Step through the residues of molecule number imol and at each step do a residue range refinement (unlike fit-protein for example, which does real-space refinement for every residue).

The step is set internally to 2.

procedure: stepped-refine-protein-for-rama imol
refine each residue with ramachandran restraints

procedure: stepped-refine-protein-with-refine-func imol refine-func . res-step

procedure: post-ligand-fit-gui
The GUI that you see after ligand finding.

procedure: molecules-matching-criteria test-func
test-func is a function given one argument (a molecule number) that returns either #f if the condition is not satisfied or something else if it is. And that "something else" can be a list like (list label x y z) or (list "Bad Chiral" 0 "A" 23 "" "CA" "A")

It is used in the create a button label and "what to do when the button is pressed".

procedure: refine-active-residue-generic side-residue-offset
This totally ignores insertion codes. A clever algorithm would need a re-write, I think. Well, we'd have at this end a function that took a chain-id res-no-1 ins-code-1 res-no-2 ins-code-2

And refine-zone would need to be re-written too, of course. So let's save that for a rainy day (days... (weeks)).

procedure: manual-refine-residues side-residue-offset
For just one (this) residue, side-residue-offset is 0.

procedure: auto-fit-rotamer-active-residue
Another cool function that needs a key binding.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.16 libcheck

procedure: libcheck-exe
this is override-able by the user in their .coot file (for example).

procedure: monomer-molecule-from-3-let-code code dict-cif-libin . ccp4i-project-dir
Return -2 on code is not a string Return -3 on libcheck failure Return imol on success Return handle-read-draw-molecule error code on failure to read resultant pdb file

Actually, it would be nice to know if this code represented a full description - or a minimal one... perhaps we can parse the log file and call a pop-up that will tell us.

dict-cif-libin should be a string. If it is "" then it is ignored. If it is not "" then it is used to create input to libcheck (not a command line argument) so that bespoke dictionary libraries can produce coords using "Get Monomer".


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.17 entry+do-button

procedure: teb
test that function:

procedure: teb2
test that function:

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.18 brute-lsqman

procedure: lsqman-count
brute-lsqman - run lsqman on chains A of two pdb-files and read in the result to coot. Charlie Bond 2003. Can keep a count of the number of successful runs if necessary

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.19 get-ebi

procedure: net-get-url
write the message body output of the url to filename using (net-http)

procedure: check-dir-and-get-url
check the directory and get url url-string.

procedure: get-url-str
get url-string for data type 'pdb or 'sfs

procedure: get-ebi-pdb id
Return a molecule number on success or not a number (#f) or -1 on error.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.20 shelx

procedure: shelxl-refine

procedure: shelxl-refine-primitive
hkl-file-in can be null '() or (list astring).

procedure: read-shelx-lst-file
ie. create a interesting-things GUI for split (and other things?) in a shelx .lst file.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.21 ncs

procedure: skip-to-next-ncs-chain
Skip the residue in the next chain (typically of a molecule with NCS) with the same residue number. If on the last chain, then wrap to beginning. If it can't find anything then don't move (and put a message in the status bar)

procedure: single-manual-ncs-ghost imol resno-start resno-end ref-chain peer-chain
We can only see one peer at a time with this (each time we do a clear-ncs-ghost-matrices).

procedure: manual-ncs-ghosts imol resno-start resno-end chain-id-list
chain-id-list is (list "A" "B" "C" "D")), i.e. the reference/target/master chain-id first and then the peers. This allows us to add many peers at the same time (unlike above function).

procedure: ncs-master-chain-id imol
Return the first master chain id (usually there is only one of course) or #f.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.22 filter

procedure: filter fn ls
Basic scheme function, filter the objects in list ls by function fn. e.g. (filter even? (list 0 1 2 3) -> '(0 2)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.23 cns2coot

procedure: cns->coot 2fofc-coeffs fofc-coeffs model-pdb
Read in cns coeff-data (given filenames) and a pdb molecule filename to make maps.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.24 fascinating-things

procedure: fascinating-clusters-gui window-name sorting-options cluster-list
(list cluster-name-string cluster-center-go-button-label-string ccgb-x ccgb-y ccgb-z ; now a list of specific items (list (list specific-button-label-string button-red button-green button-blue specific-x specific-y specific-z) (list specific-button-label-string button-red button-green button-blue specific-x specific-y specific-z)))))


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.25 coot-crash-catcher

procedure: filter fn ls
Basic scheme function, filter the objects in list ls by function fn. e.g. (filter even? (list 0 1 2 3) -> '(0 2)

procedure: string-concatenate ls
simple scheme functions to concat the strings in ls (ls must contain only strings)

procedure: directory-files dir
The following functions from PLEAC (guile version thereof of course).

or define a utility function for this

procedure: glob pat dir
return a list of file names that match pattern pat in directory dir.

procedure: run-command/strings cmd args data-list
Return the strings screen output of cmd (reversed) or #f if command was not found

procedure: command-in-path? cmd
Return #t or #f:

procedure: make-gdb-script

procedure: get-gdb-strings
return #f or list of strings

procedure: make-gui
gui

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.26 refmac-problems

procedure: refmac-problems-gui imol problem-list
The gui for the refmac problems


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.27 exercise-scm-mol

procedure: jiggled-mol reference-mol current-mol traj-frac

procedure: disrupt reference-mol biggness

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.28 coot-gui

procedure: run-gtk-pending-events

procedure: coot-gui
Fire up the coot scripting gui. This function is called from the main C++ code of coot. Not much use if you don't have a gui to type functions in to start with.

procedure: handle-smiles-go tlc-entry smiles-entry
The callback from pressing the Go button in the smiles widget, an interface to run libcheck.

procedure: smiles-gui
smiles GUI

procedure: generic-single-entry function-label entry-1-default-text go-button-label handle-go-function
Generic single entry widget

Pass the hint labels of the entries and a function that gets called when user hits "Go". The handle-go-function accepts one argument that is the entry text when the go button is pressed.

procedure: generic-double-entry label-1 label-2 entry-1-default-text entry-2-default-text check-button-label handle-check-button-function go-button-label handle-go-function
handle-go-function takes 3 arguments, the third of which is the state of the check button.

if check-button-label not a string, then we don't display (or create, even) the check-button. If it *is* a string, create a check button and add the callback handle-check-button-function which takes as an argument the active-state of the the checkbutton.

procedure: generic-multiple-entries-with-check-button entry-info-list check-button-info go-button-label handle-go-function
generic double entry widget, now with a check button

OLD:

pass a the hint labels of the entries and a function (handle-go-function) that gets called when user hits "Go" (which takes two string aguments and the active-state of the check button (either #t of #f).

if check-button-label not a string, then we don't display (or create, even) the check-button. If it *is* a string, create a check button and add the callback handle-check-button-function which takes as an argument the active-state of the the checkbutton.

procedure: molecule-centres-gui
A demo gui to move about to molecules.

procedure: old-coot?
old coot test

procedure: interesting-things-gui title baddie-list
We can either go to a place (in which case the element is a list of button label (string) and 3 numbers that represent the x y z coordinates) or an atom (in which case the element is a list of a button label (string) followed by the molecule-number chain-id residue-number ins-code atom-name altconf)

e.g. (interesting-things-gui "Bad things by Analysis X" (list (list "Bad Chiral" 0 "A" 23 "" "CA" "A") (list "Bad Density Fit" 0 "B" 65 "" "CA" "") (list "Interesting blob" 45.6 46.7 87.5)))

procedure: interesting-things-with-fix-maybe title baddie-list
In this case, each baddie can have a function at the end which is called when the fix button is clicked.

procedure: fill-option-menu-with-mol-options menu filter-function
Fill an option menu with the "right type" of molecules. If filter-function returns #t then add it. Typical value of filter-function is valid-model-molecule?

procedure: fill-option-menu-with-coordinates-mol-options menu
Helper function for molecule chooser. Not really for users.

Return a list of models, corresponding to the menu items of the option menu.

The returned list will not contain references to map or closed molecules.

procedure: fill-option-menu-with-number-options menu number-list default-option-value

procedure: get-option-menu-active-molecule option-menu model-mol-list
Helper function for molecule chooser. Not really for users.

return the molecule number of the active item in the option menu, or return #f if there was a problem (e.g. closed molecule)

procedure: get-option-menu-active-item option-menu item-list
Here we return the active item in an option menu of generic items

procedure: molecule-chooser-gui
Fire up a molecule chooser dialog, with a given label and on OK we call the call-back-fuction with an argument of the chosen molecule number.

chooser-label is a directive to the user such as "Choose a Molecule"

callback-function is a function that takes a molecule number as an argument.

procedure: generic-chooser-and-entry chooser-label entry-hint-text defaut-entry-text callback-function
A pair of widgets, a molecule chooser and an entry. The callback-function is a function that takes a molecule number and a text string.

procedure: generic-chooser-entry-and-file-selector chooser-label chooser-filter entry-hint-text default-entry-text file-selector-hint callback-function
A pair of widgets, a molecule chooser and an entry. The callback-function is a function that takes a molecule number and 2 text strings (e.g chain-id and file-name)

chooser-filter is typically valid-map-molecule? or valid-model-molecule?

procedure: generic-chooser-and-file-selector chooser-label chooser-filter file-selector-hint default-file-name callback-function
A pair of widgets, a molecule chooser and an entry. callback-function is a function that takes a molecule number and a file-name

chooser-filter is typically valid-map-molecule? or valid-model-molecule?

procedure: coot-menubar-menu menu-label
If a menu with label menu-label is not found in the coot main menubar, then create it and return it. If it does exist, simply return it.

procedure: add-simple-coot-menu-menuitem menu menu-item-label activate-function
Given that we have a menu (e.g. one called "Extensions") provide a cleaner interface to adding something to it:

activate-function is a thunk.

procedure: missing-atoms-gui imol
Make an interesting things GUI for residues with missing atoms

procedure: generic-buttons-dialog dialog-name button-list
button-list is a list of pairs (improper list) the first item of which is the button label text the second item is a lambda function, what to do when the button is pressed.

procedure: generic-interesting-things imol gui-title-string residue-test-func
Generic interesting things gui: user passes a function that takes 4 args: the chain-id, resno, inscode and residue-serial-number (should it be needed) and returns either #f or something interesting (e.g. a label/value). It is the residue-test-func of the residue-matching-criteria function.

procedure: generic-number-chooser number-list default-option-value hint-text go-button-label go-function
A gui that makes a generic number chooser the go functionis a lambda function that takes the value of the active menu item - as a number.

procedure: generic-molecule-chooser hbox hint-text
pack a hint text and a molecule chooser option menu into the given vbox.

return the option-menu and model molecule list:

procedure: file-selector-entry hbox hint-text
Return an entry, the widget is inserted into the hbox passed to this function.

procedure: cootaneer-gui imol
Cootaneer gui

procedure: view-saver-gui
The gui for saving views

procedure: add-view-to-views-panel view-name view-number

procedure: dialog-box-of-buttons window-name geometry buttons close-button-label
a button is a list of (label callback-thunk text-description)

procedure: dialog-box-of-pairs-of-buttons imol window-name geometry buttons close-button-label
geometry is an improper list of ints buttons is a list of: (list (list button-1-label button-1-action button-2-label button-2-action)) The button-1-action function takes as an argument the imol The button-2-action function takes as an argument the imol

procedure: views-panel-gui
A gui showing views:

procedure: nudge-screen-centre-gui
nudge screen centre box. Useful when Ctrl left-mouse has been taken over by another function.

procedure: make-difference-map-gui
A gui to make a difference map (from arbitrarily gridded maps (that's it's advantage))

procedure: cis-peptides-gui imol
A GUI to display all the CIS peptides and navigate to them.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.29 quat-convert

procedure: matrix->quaternion
convert a view matrix to a view quaternion to set Coot view internals.

procedure: set-view-matrix m00 m10 m20 m01 m11 m21 m02 m12 m22
Set the view matrix


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.30 coot-utils

procedure: *annotations*
3D annotations - a bit of a hack currently

procedure: drag-intermediate-atom
scm aliases. Don't forget to add them to snarf-coot-docs too.

procedure: set-find-hydrogen-torsion
fix typo

procedure: find-aligned-residue-type
add terminal residue is the normal thing we do with an aligned sequence, but also we can try ton find the residue type of a residue in the middle of the chain that is modelled as an ALA, say.

procedure: post-manipulation-hook

procedure: first-n n ls
first n fields of ls. if length ls is less than n, return ls. if ls is not a list, return ls. If n is negative, return ls.

procedure: map-molecule-list
Return a list of molecules that are maps

procedure: model-molecule-list
Return a list of molecules that are maps

procedure: list-of-strings? ls
Is ls a list of strings? Return #t or #f

procedure: string-append-with-spaces ls
string concat with spaces, ls must be a list of strings.

procedure: rotation-centre
The screen centre.

return the rotation centre as a 3 membered list of numbers

procedure: number-list a b

procedure: shell-command-to-string cmd
code from thi <ttn at mingle.glug.org>

run command and put the output into a string and return it. (c.f. run-command/strings)

procedure: shell-command-to-file-with-data cmd file-name data-list
run cmd putting output to file-name and reading commands data from the list of strings data-list.

procedure: command-in-path? cmd
Return #t or #f:

procedure: goosh-command cmd args data-list log-file-name screen-output-also?
Where cmd is e.g. "refmac" args is (list "HKLIN" "thing.mtz") log-file-name is "refmac.log" data-list is (list "HEAD" "END")

Return the exist status e.g. 0 or 1.

procedure: run-command/strings cmd args data-list
Return the strings screen output of cmd or #f if command was not found

procedure: close-float? x1 x2
Crude test to see of 2 floats are the same (more or less). Used in a greg test after setting the atom position.

procedure: strip-spaces str
if passed a string, return a string with no spaces, else return #f.

procedure: string-append-with-string str-ls tag-str
Append strings with tag-str between them

procedure: strip-extension s
"a.b.res" -> "a.b" file-name-sans-extension

procedure: file-name-extension
What is the extension of file-name?

"a.pdb" -> "pdb" "" -> ""

procedure: add-tmp-extension-to
e.g. "a.pdb" -> "a-tmp.pdb"

procedure: file-name-sans-extension
Same function as strip-extension, different name, as per scsh, in fact.

procedure: strip-path s
/a/b.t -> b.t d/e.ext -> e.ext file-name-sans-path

procedure: slash-start? s
does s start with a "/" ? return #t or #f

procedure: string-concatenate ls
simple scheme functions to concat the strings in ls (ls must contain only strings)

procedure: unique-date/time-str
return a string that contains the date/time e.g. "2006-01-02_2216.03"

procedure: every-nth ls n
return a list that has only every-nth members; e.g. (every-nth '(0 1 2 3 4 5 6 7 8) 2) -> '(0 2 3 6 8) (every-nth '(0 1 2 3 4 5 6 7 8) 3) -> '(0 3 6)

n must be positive

procedure: multi-read-pdb glob-pattern dir
multi-read-pdb reads all the files matching glob-pattern in directory dir. Typical usage of this might be: (multi-read-pdb "a*.pdb" ".")

procedure: read-pdb-all
read-pdb-all reads all the "*.pdb" files in the current directory.

procedure: string->list-of-strings str
Return a list if str is a string, else return '()

procedure: is-directory? file-name
return #t or #f depending on if file-name (which must be a string) is a directory.

procedure: coot-mkdir dir-name
return #f if dir-name is a file or we can't do the mkdir

procedure: directory-files dir
The following functions from PLEAC (guile version thereof of course).

or define a utility function for this

procedure: glob pat dir
return a list of file names that match pattern pat in directory dir.

procedure: add-view position quaternion zoom view-name
Return the view number

procedure: matrix->quaternion
Convert a view matrix to a view quaternion to set Coot view internals.

procedure: set-view-matrix m00 m10 m20 m01 m11 m21 m02 m12 m22
Set the view matrix using matrix->quaternion.

Useful for using a view matrix from another program, perhaps.

procedure: molecule-centre imol
Return the molecule centre as a list of 3 numbers.

Note: mol-cen could contain values less than -9999.

procedure: move-molecule-to-screen-centre imol
Move the centre of molecule number imol to the current screen centre

procedure: move-molecule-here
This is a short name for the above.

procedure: move-molecule-to-screen-center
this is an americanism

procedure: identity-matrix
Return a nine-membered list of numbers.

procedure: translation axis length
e.g. (translation 'x 2) -> '(2 0 0) return #f on error

procedure: rotate-about-screen-axis axis degrees
Rotate degrees about screen axis, where axis is either 'x, 'y or 'z.

procedure: toggle-display-map imol idummy
Support for old toggle functions. (consider instead the raw functions use the direct set_displayed functions).

procedure: scheme-representation imol
return a scheme representation of molecule imol, or #f if we can't do it (imol is a map, say).

procedure: transform-coords-molecule imol rtop
transform a coordinates molecule by a coot-rtop (which is a SCM expression of a clipper::RTop)

procedure: transform-map
(transform-map imol mat trans about-pt radius)

or (transform-map imol trans about-pt radius) for a simple translation

or (transform-map imol trans radius) when using the default rotation-centre as the about-pt

procedure: transform-map-using-lsq-matrix imol-ref ref-chain ref-resno-start ref-resno-end imol-mov mov-chain mov-resno-start mov-resno-end imol-map about-pt radius
Remember, that now the about-pt is the "to" point, i.e. the maps are brought from somewhere else and generated about the about-pt.

procedure: brighten-map imol scale-factor
Make the imol-th map brighter.

procedure: brighten-maps
Make all maps brighter

procedure: darken-maps
Make all maps darker.

procedure: chain-ids imol
Return a list of chain ids for given molecule number imol. return empty list on error

procedure: is-solvent-chain? imol chain-id
convert from interface name to schemish name

Return #t or #f.

procedure: valid-model-molecule? imol
schemey interface to eponymous scripting interface function. Return #t or #f.

procedure: valid-map-molecule? imol
schemey interface to eponymous scripting interface function. Return #t or #f.

procedure: shelx-molecule? imol
schemey interface to shelx molecule test

procedure: is-difference-map? imol-map
schemey interface to the function that returns whether or not a map is a difference map. Return #t or #f.

procedure: residue-exists? imol chain-id resno ins-code
Does residue resno with insertion code ins-code of chain chain-id and in molecule number imol exist?

Return #t or #f.

procedure: centre-of-mass imol
Return a list of 3 float for the centre of mas of molecule number imol.

on faiure return #f.

procedure: atom-specs imol chain-id resno ins-code atom-name alt-conf
Return as a list the occupancy temperature-factor element x y z coordinates of the given atom. (the x,y,z are in Cartesian Angstroms).

on error (e.g. atom not found) return #f

procedure: guess-refinement-map
return a guess at the map to be refined (usually called after imol-refinement-map returns -1)

procedure: print-sequence imol
Print the sequence of molecule number imol

This is not really a util, perhaps it should be somewhere else?

procedure: graphics-comma-key-pressed-hook
comma key hook

procedure: graphics-dot-key-pressed-hook
dot key hook

procedure: *key-bindings*
a list of (code key name thunk) e.g. '(103 "g" "Goto Blob" (blob-under-pointer-to-screen-centre))

procedure: graphics-general-key-press-hook key
general key press hook

procedure: residues-matching-criteria imol residue-test-func
Return a list of residues, each of which has a return value at the start, ie. (list return-value chain-id res-no ins-code)

procedure: residues-with-alt-confs imol
Return a list of all residues that have alt confs: where a residue is specified thusly: (list chain-id resno ins-code)

procedure: residue-alt-confs imol chain-id res-no ins-code
Return a list of all the altconfs in the residue. Typically this will return (list "") or (list "A" "B")

procedure: residue-spec->atom-for-centre imol chain-id res-no ins-code
Return #f if no atom can be found given the spec else return a list consisting of the atom name and alt-conf specifier.

Choose an atom that is called " CA ". Failing that choose the first atom.

procedure: delete-atom-by-active-residue
Typically one might want to use this on a water, but it deletes the nearest CA currently... Needs a re-think. Should active-atom just return the nearest atom and not be clever about returning a CA.

procedure: mutate-by-overlap imol chain-id resno tlc
change chain ids with residue range for the PTY

procedure: phosphorylate-active-residue
A bit of fun

procedure: overlay-my-ligands imol-mov chain-id-mov resno-mov imol-ref chain-id-ref resno-ref
A function for Overlaying ligands. The transformation is applied to all the atoms of the molecule that contains the moving ligand.

procedure: label-all-CAs imol

procedure: label-all-active-residue-atoms

procedure: sanitise-alt-confs atom-info atom-ls
Resets alt confs and occupancies of atoms in residue that have orphan alt-loc attributes.

procedure: sanitise-alt-confs-in-residue imol chain-id resno inscode

procedure: sanitise-alt-confs-active-residue
Resets alt confs and occupancies of atoms in residue that have orphan alt-loc attributes. Use the active-residue.

procedure: multi-chicken imol . n-colours
multiple maps of varying colour from a given map.

procedure: pukka-puckers? imol
To paraphrase: The distance of the plane of the ribose of the following phosphate is highly correlated to the pucker of the ribose.

An analysis of the structures in RNADB2005 shows that a critical distance of 1.2A provides a partition function to separate C2' from C3' endo puckering. Not all ribose follow this rule. There may be some errors in the models comprising RNADB2005. So we check the distance of the following phosphate to the plane of the ribose and record the riboses that are inconsitent. We also report puckers that are not C2' or C3'. The puckers are determined by the most out-of-plane atom of the ribose (the rms deviation of the 4 atoms in the plane is calculated, but not used to determinte the puckering atom).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.31 group-settings

procedure: rapper-dir
The rapper installation dir. This is just a guess, that it is installed in the users home directory.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.32 clear-backup

procedure: delete-coot-backup-files action-type

procedure: clear-backup-gui
Return #t or #f depending on if the GUI dialog was shown (it isn't show if there are no files to delete).

procedure: clear-backups-maybe
Return a status, #f or #t, did the GUI run?

Note that clear-backup-gui returns either #t or #f too.

If this function returns #f, then coot_real_exit() just exits with coot_real_exit(). Otherwise we wait for the GUI.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.33 a-rapper-gui

procedure: rapper-dir
something that the user sets:

procedure: a-rapper-gui loop-building-tool
loop-building-tool is either 'rapper or 'ARP/wARP

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.34 what-check

procedure: strip-leading-spaces str
" 53" -> "53", " " -> ""

procedure: go-to-residue-by-spec imol spec
consider for coot-utils

procedure: residue-spec->string spec
consider for coot-utils

procedure: get-flip-residue line
make this internal

where line is something like " 53 HIS ( 53 ) A12" ignore xxxxI Cyy xxxx is 4char resno, I insertion code, C chain id, yy is model number

return a residue spec, or #f

procedure: problem-residues->dialog imol problemed-res-list-list
A problemed-res-list is improper pair where the car is a pair of string, one describing the problem, and the other being the "fix it" button label. The cdr is a list of residue specs.

A problemed-flip-list-list is a list of those things.

procedure: parse-check-db imol file-name action
action is either 'gui (then we get a gui) or 'apply-actions, then the model modifications are automatically applied.

Jump to:   %   *   3  
A   B   C   D   E   F   G   H   I   J   L   M   N   O   P   R   S   T   U   V  

Index Entry Section

%
%coot-listener-socket1.6 remote-control

*
*annotations*1.30 coot-utils
*continue-multi-refine*1.15 fitting
*do-coot-tips-flag*1.5 coot
*interactive-probe-is-OK?*1.14 generic-objects
*key-bindings*1.30 coot-utils
*probe-command*1.5 coot
*reduce-command*1.5 coot

3
3-letter-code->single-letter1.12 mutate

A
a-rapper-gui1.33 a-rapper-gui
add-simple-coot-menu-menuitem1.28 coot-gui
add-tmp-extension-to1.30 coot-utils
add-view1.30 coot-utils
add-view-to-views-panel1.28 coot-gui
atom-specs1.30 coot-utils
auto-fit-rotamer-active-residue1.15 fitting

B
background-demo1.1 background-demo
brighten-map1.30 coot-utils
brighten-maps1.30 coot-utils

C
center-atom-label-status1.7 americanisms
center-of-mass1.7 americanisms
centre-of-mass1.30 coot-utils
chain-ids1.30 coot-utils
check-dir-and-get-url1.19 get-ebi
cis-peptides-gui1.28 coot-gui
clear-backup-gui1.32 clear-backup
clear-backups-maybe1.32 clear-backup
close-float?1.30 coot-utils
cns->coot1.23 cns2coot
command-in-path?1.25 coot-crash-catcher
command-in-path?1.30 coot-utils
coot-gui1.28 coot-gui
coot-listener-idle-function-proc1.6 remote-control
coot-menubar-menu1.28 coot-gui
coot-mkdir1.30 coot-utils
coot-socket-timeout-func1.6 remote-control
cootaneer-gui1.28 coot-gui

D
darken-maps1.30 coot-utils
decrease-coot-tip-number1.2 tips-gui
delete-atom-by-active-residue1.30 coot-utils
delete-coot-backup-files1.32 clear-backup
delete-sidechain-range1.12 mutate
dialog-box-of-buttons1.28 coot-gui
dialog-box-of-pairs-of-buttons1.28 coot-gui
directory-files1.25 coot-crash-catcher
directory-files1.30 coot-utils
disrupt1.27 exercise-scm-mol
drag-intermediate-atom1.30 coot-utils

E
eval-socket-string1.6 remote-control
every-nth1.30 coot-utils
extra-params-include-weight?1.13 refmac

F
fascinating-clusters-gui1.24 fascinating-things
file-name-extension1.30 coot-utils
file-name-sans-extension1.30 coot-utils
file-selector-entry1.28 coot-gui
fill-option-menu-with-coordinates-mol-options1.28 coot-gui
fill-option-menu-with-mol-options1.28 coot-gui
fill-option-menu-with-number-options1.28 coot-gui
filter1.22 filter
filter1.25 coot-crash-catcher
find-aligned-residue-type1.30 coot-utils
first-n1.30 coot-utils
first-non-trivial-name1.4 hello
fit-chain1.15 fitting
fit-protein1.15 fitting
fit-protein-make-specs1.15 fitting
fit-waters1.15 fitting

G
generic-buttons-dialog1.28 coot-gui
generic-chooser-and-entry1.28 coot-gui
generic-chooser-and-file-selector1.28 coot-gui
generic-chooser-entry-and-file-selector1.28 coot-gui
generic-double-entry1.28 coot-gui
generic-interesting-things1.28 coot-gui
generic-molecule-chooser1.28 coot-gui
generic-multiple-entries-with-check-button1.28 coot-gui
generic-number-chooser1.28 coot-gui
generic-object-is-displayed?1.14 generic-objects
generic-object-with-name1.14 generic-objects
generic-objects-gui1.14 generic-objects
generic-single-entry1.28 coot-gui
get-ebi-pdb1.19 get-ebi
get-flip-residue1.34 what-check
get-gdb-strings1.25 coot-crash-catcher
get-option-menu-active-item1.28 coot-gui
get-option-menu-active-molecule1.28 coot-gui
get-refmac-extra-params1.13 refmac
get-url-str1.19 get-ebi
glob1.25 coot-crash-catcher
glob1.30 coot-utils
go-to-residue-by-spec1.34 what-check
goosh-command1.30 coot-utils
graphics-comma-key-pressed-hook1.30 coot-utils
graphics-dot-key-pressed-hook1.30 coot-utils
graphics-general-key-press-hook1.30 coot-utils
guess-refinement-map1.30 coot-utils

H
handle-read-draw-molecule-with-recenter1.7 americanisms
handle-smiles-go1.28 coot-gui

I
identity-matrix1.30 coot-utils
increment-coot-tip-number1.2 tips-gui
interactive-probe1.14 generic-objects
interesting-things-gui1.28 coot-gui
interesting-things-with-fix-maybe1.28 coot-gui
interruptible-fit-protein1.15 fitting
is-closed-generic-object?1.14 generic-objects
is-difference-map?1.30 coot-utils
is-directory?1.30 coot-utils
is-solvent-chain?1.30 coot-utils

J
jiggled-mol1.27 exercise-scm-mol

L
label-all-active-residue-atoms1.30 coot-utils
label-all-CAs1.30 coot-utils
libcheck-exe1.16 libcheck
list-of-strings?1.30 coot-utils
load-all-scheme1.5 coot
lsq-match1.3 coot-lsq
lsq-match-type-symbol->number1.3 coot-lsq
lsqman-count1.18 brute-lsqman

M
maf1.12 mutate
make-difference-map-gui1.28 coot-gui
make-gdb-script1.25 coot-crash-catcher
make-gui1.25 coot-crash-catcher
manual-ncs-ghosts1.21 ncs
manual-refine-residues1.15 fitting
map-molecule-list1.30 coot-utils
matrix->quaternion1.29 quat-convert
matrix->quaternion1.30 coot-utils
missing-atoms-gui1.28 coot-gui
model-molecule-list1.30 coot-utils
molecule-centre1.30 coot-utils
molecule-centres-gui1.28 coot-gui
molecule-chooser-gui1.28 coot-gui
molecules-matching-criteria1.15 fitting
monomer-molecule-from-3-let-code1.16 libcheck
move-molecule-here1.30 coot-utils
move-molecule-to-screen-center1.30 coot-utils
move-molecule-to-screen-centre1.30 coot-utils
multi-chicken1.30 coot-utils
multi-mutate1.12 mutate
multi-read-pdb1.30 coot-utils
mutate-and-auto-fit1.12 mutate
mutate-and-autofit-residue-range1.12 mutate
mutate-by-overlap1.30 coot-utils
mutate-chain1.12 mutate
mutate-residue-range1.12 mutate
mutate-residue-redundant1.12 mutate
my-button-callback1.11 extra-top-level
my-top-level1.11 extra-top-level

N
ncs-master-chain-id1.21 ncs
net-get-url1.19 get-ebi
no-coot-tips1.8 tips
nudge-screen-centre-gui1.28 coot-gui
number-list1.30 coot-utils

O
old-coot?1.28 coot-gui
open-coot-listener-socket1.6 remote-control
open-coot-listener-socket-with-timeout1.6 remote-control
overlay-my-ligands1.30 coot-utils

P
parse-check-db1.34 what-check
phosphorylate-active-residue1.30 coot-utils
post-ligand-fit-gui1.15 fitting
post-manipulation-hook1.30 coot-utils
povray-args1.9 povray
povray-image1.9 povray
povray-version1.9 povray
print-sequence1.30 coot-utils
probe1.14 generic-objects
problem-residues->dialog1.34 what-check
pukka-puckers?1.30 coot-utils

R
rapper-dir1.31 group-settings
rapper-dir1.33 a-rapper-gui
raytrace1.10 raster3d
read-pdb-all1.30 coot-utils
read-shelx-lst-file1.20 shelx
refine-active-residue-generic1.15 fitting
refmac-exe1.13 refmac
refmac-extra-params1.13 refmac
refmac-problems-gui1.26 refmac-problems
render-image1.10 raster3d
residue-alt-confs1.30 coot-utils
residue-exists?1.30 coot-utils
residue-spec->atom-for-centre1.30 coot-utils
residue-spec->string1.34 what-check
residues-matching-criteria1.30 coot-utils
residues-with-alt-confs1.30 coot-utils
rotate-about-screen-axis1.30 coot-utils
rotation-centre1.30 coot-utils
run-command/strings1.25 coot-crash-catcher
run-command/strings1.30 coot-utils
run-gtk-pending-events1.28 coot-gui
run-refmac-by-filename1.13 refmac
run-refmac-for-phases1.13 refmac

S
sanitise-alt-confs1.30 coot-utils
sanitise-alt-confs-active-residue1.30 coot-utils
sanitise-alt-confs-in-residue1.30 coot-utils
scheme-representation1.30 coot-utils
set-find-hydrogen-torsion1.30 coot-utils
set-font-color1.7 americanisms
set-last-map-color1.7 americanisms
set-match-element1.3 coot-lsq
set-rotation-center1.7 americanisms
set-rotation-center-size1.7 americanisms
set-swap-difference-map-colors1.7 americanisms
set-view-matrix1.29 quat-convert
set-view-matrix1.30 coot-utils
shell-command-to-file-with-data1.30 coot-utils
shell-command-to-string1.30 coot-utils
shelx-molecule?1.30 coot-utils
shelxl-refine1.20 shelx
shelxl-refine-primitive1.20 shelx
show-coot-tip-from-list1.2 tips-gui
simple-lsq-match1.3 coot-lsq
single-manual-ncs-ghost1.21 ncs
skip-to-next-ncs-chain1.21 ncs
slash-start?1.30 coot-utils
smiles-gui1.28 coot-gui
stepped-refine-protein1.15 fitting
stepped-refine-protein-for-rama1.15 fitting
stepped-refine-protein-with-refine-func1.15 fitting
string->list-of-strings1.30 coot-utils
string-append-with-spaces1.30 coot-utils
string-append-with-string1.30 coot-utils
string-concatenate1.25 coot-crash-catcher
string-concatenate1.30 coot-utils
strip-extension1.30 coot-utils
strip-leading-spaces1.34 what-check
strip-path1.30 coot-utils
strip-spaces1.30 coot-utils

T
teb1.17 entry+do-button
teb21.17 entry+do-button
tip-list1.8 tips
tips-gui1.2 tips-gui
toggle-display-map1.30 coot-utils
transform-coords-molecule1.30 coot-utils
transform-map1.30 coot-utils
transform-map-using-lsq-matrix1.30 coot-utils
translation1.30 coot-utils

U
unique-date/time-str1.30 coot-utils

V
valid-map-molecule?1.30 coot-utils
valid-model-molecule?1.30 coot-utils
view-saver-gui1.28 coot-gui
views-panel-gui1.28 coot-gui

Jump to:   %   *   3  
A   B   C   D   E   F   G   H   I   J   L   M   N   O   P   R   S   T   U   V  


[Top] [Contents] [Index] [ ? ]

Table of Contents


[Top] [Contents] [Index] [ ? ]

Short Table of Contents

1. Scheme Functions

[Top] [Contents] [Index] [ ? ]

About this document

This document was generated by Paul Emsley on June, 21 2009 using texi2html

The buttons in the navigation panels have the following meaning:

Button Name Go to From 1.2.3 go to
[ < ] Back previous section in reading order 1.2.2
[ > ] Forward next section in reading order 1.2.4
[ << ] FastBack previous or up-and-previous section 1.1
[ Up ] Up up section 1.2
[ >> ] FastForward next or up-and-next section 1.3
[Top] Top cover (top) of document  
[Contents] Contents table of contents  
[Index] Index concept index  
[ ? ] About this page  

where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:

This document was generated by Paul Emsley on June, 21 2009 using texi2html