Coot: Difference between revisions

Jump to navigation Jump to search
1,362 bytes added ,  11 January 2023
m (→‎Simple rules for Scheme to Python translations: changed word order for clarity)
 
(34 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[Image:Coot-with-ATP-vector.png|400px|thumb|right]]
[[Image:Coot-with-ATP-vector.png|25%|thumb|right]]
Coot is a graphics program for building, refining and analysing macromolecular models obtained with crystallographic procedures.
Coot is a graphics program for building, refining and analysing macromolecular models obtained with crystallographic procedures.


There is a [http://www.biop.ox.ac.uk/coot/ homepage] with extensive [http://www.biop.ox.ac.uk/coot/docs.html documentation]. The program may be downloaded for Linux, Mac and Windows computers from the [http://www.ysbl.york.ac.uk/~emsley/software/binaries/ primary server] (as of July 10, 2009 there's a new site at http://www.biop.ox.ac.uk/coot/devel/build-info.html) or, if that is not available, from an [ftp://turn5.biologie.uni-konstanz.de/coot external mirror]. The license of Coot is GNU GPL.  
There is a [http://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/ homepage] with extensive [http://www2.mrc-lmb.cam.ac.uk/Personal/pemsley/coot/web/docs/ documentation]. The program may there be [http://www2.mrc-lmb.cam.ac.uk/Personal/pemsley/coot/binaries/release downloaded] for Linux and Windows. There's also Paul Emsley's [https://pemsley.github.io/coot/ coot blog]. The license of Coot is GNU GPL.  


=Installing Coot=
=Installing Coot=
==Installing Coot on OS X==
==Installing Coot on OS X==


OS X install packages for nightly builds that work on 10.8.X and 10.9.X are available here: [http://psbmini.ucsc.edu/~wgscott/coot/?C=M;O=D Coot OS X package installers]
OS X install packages for nightly builds that work on 10.8.X and 10.9.X are available here: [http://scottlab.ucsc.edu/~wgscott/xtal/wiki/index.php/Stand-Alone_Coot Coot OS X package installers]


Please refer to the [http://sage.ucsc.edu/xtal/wiki/index.php/Installing_Coot_on_OS_X Installing Coot on OS X] page
Please refer to the [http://sage.ucsc.edu/xtal/wiki/index.php/Installing_Coot_on_OS_X Installing Coot on OS X] page


==Installing Coot on Windows==
==Installing Coot on Windows==
Please refer to the [http://www.ysbl.york.ac.uk/~lohkamp/coot/wincoot-download.html WinCoot install and download] page.
Please refer to [http://bernhardcl.github.io/coot/ Bernhard Lohkamp's WinCoot download] page. Or check manually on
[https://github.com/bernhardcl/coot/releases GitHub].


==Installing Coot on Linux==
==Installing Coot on Linux==
Line 19: Line 20:


=== Installation from a distributed binary tarball package ===
=== Installation from a distributed binary tarball package ===
This is the recommended way for those who do not want to delve into the mysteries of compiling and linking a great but complex piece of software. Read the (somewhat outdated, it seems) [http://www.ysbl.york.ac.uk/%7Eemsley/coot/coot-faq.html Coot FAQ] to find "Additional Notes" for your operating system.
This is the recommended way for those who do not want to delve into the mysteries of compiling and linking a great but complex piece of software. Read the [https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/ Coot documentation] to find out about the details.


In short, just go to http://www.ysbl.york.ac.uk/~emsley/software/binaries/nightlies/pre-release/ (a mirror is at ftp://turn5.biologie.uni-konstanz.de/coot/software/binaries/nightlies/pre-release/ ) and pick a suitable binary, e.g.
In short, just go to https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/binaries/release/ and pick a suitable binary, e.g.
coot-0.5-pre-1-revision-1003-binary-Linux-i386-fedora-5.tar.gz for a Red Hat Enterprise Linux 5 or CentOS-5 system (Fedora 6 corresponds to RHEL5, thus Fedora 5 binaries are OK). If you prefer a "stable" binary, these are at http://www.ysbl.york.ac.uk/~emsley/software/binaries/stable/.
coot-0.9.4.1-binary-Linux-x86_64-scientific-linux-7.6-python-gtk2.tar.gz for a Red Hat Enterprise Linux 7 (or CentOS-7) or newer system.  


Then un-tar it under /usr/local/src (or in your $HOME), and establish a symlink (ln -s) between /usr/local/bin/coot and the bin/coot of the freshly unpacked distribution.
Then un-tar it under /usr/local/src (or in your $HOME), and establish a symlink (ln -s) between /usr/local/bin/coot and the bin/coot of the freshly unpacked distribution.
Line 32: Line 33:
==== Example: installing a 64bit nightly CentOS5 binary build on 64bit SL6.1 ====
==== Example: installing a 64bit nightly CentOS5 binary build on 64bit SL6.1 ====
First of all, SL (Scientific Linux) is a derivative of RHEL, as is CentOS. So all three OSs behave exactly the same.
First of all, SL (Scientific Linux) is a derivative of RHEL, as is CentOS. So all three OSs behave exactly the same.
The binaries with "x86_64" binaries are for 64bit systems; the "i386" binaries are for 32bit systems. Since my notebook is 64bits ("uname -a" reports "x86_64" more than once), I download ftp://turn5.biologie.uni-konstanz.de/coot/software/binaries/nightlies/pre-release/coot-0.7-pre-1-revision-3999-binary-Linux-x86_64-centos-5-python-gtk2.tar.gz (the main server is slow, so I use the mirror). As root, I "cd /usr/local/src" and un-tar. Next, have to find out which libraries are missing. This can be achieved by (''note the use of LD_LIBRARY_PATH in the second command - do not permanently modify LD_LIBRARY_PATH !''):
The binaries with "x86_64" binaries are for 64bit systems; the "i386" binaries are for 32bit systems. Since my notebook is 64bits ("uname -a" reports "x86_64" more than once), I download coot-0.7-pre-1-revision-3999-binary-Linux-x86_64-centos-5-python-gtk2.tar.gz. As root, I "cd /usr/local/src" and un-tar. Next, have to find out which libraries are missing. This can be achieved by (''note the use of LD_LIBRARY_PATH in the second command - do not permanently modify LD_LIBRARY_PATH !''):
  [root@localhost]# cd coot-Linux-x86_64-centos-5-gtk2-python
  [root@localhost]# cd coot-Linux-x86_64-centos-5-gtk2-python
  [root@localhost]# LD_LIBRARY_PATH=lib ldd bin/coot-real | grep found  
  [root@localhost]# LD_LIBRARY_PATH=lib ldd bin/coot-real | grep found  
Line 75: Line 76:
and make it executable with  
and make it executable with  
  chmod a+x /usr/local/bin/coot
  chmod a+x /usr/local/bin/coot
=== Installation on Debian/Ubuntu from debian archive files ===
As an alternative, you might wish to exploit the debain dpkg/apt/synaptic package management system on Ubuntu and other Debian linux distributions using (unofficial)
[http://diablo.ucsc.edu/~wgscott/debian/coot_hardy/  pre-compiled debian packages for coot and its dependencies]. (These will be discontinued when official packages become available.)
To do so, simply download the deb files and install with the command
sudo dpkg -i *.deb
dpkg will complain if a dependency is missing rather than install a broken program.
=== Packages for Ubuntu ===
A pre-packaged version of Coot (0.7-pre-1) for Ubuntu is available from mok0's Personal Package Archive (PPA) on Launchpad. Currently, packages for Ubuntu 10.04 (Lucid) and 10.10 (Maverick) are available.
To install the coot package on your system, you first need to install the public key for mok0's PPA:
  sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1DC81A57
Next, add the PPA repository to your /etc/apt/sources.list file:
  sudo add-apt-repository ppa:mok0/ppa
That's it! Now, you should be able to:
  apt-get update && apt-get install coot
This version of Coot only supports the Python scripting language.
=== Mandriva Installation ===
To install the coot on Mandriva 2010.0 use the ubuntu distribution:
tar zxf coot-0.6.2-binary-Linux-i686-ubuntu-8.04.1-python-gtk2.tar.gz
in the .cshrc file:
alias coot  'source /prog/CCP4/ccp4-6.1.13/include/ccp4.setup-csh ; /prog/coot-Linux-i686-ubuntu-8.04.1-gtk2-python/bin/coot'
=== Converting to rpm packages ===
You can convert any debian package file into an rpm file using the program ''alien''.  I have done this and have made the [http://diablo.ucsc.edu/~wgscott/debian/rpm/coot/ resulting packages] available.


=== Installation from source code via autobuild scripts ===
=== Installation from source code via autobuild scripts ===


Installation of coot and all of its dependencies are handled automatically through the autobuild scripts. There are two versions:
Go to https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/web/build-install-coot-from-scratch.html
* [http://www.ysbl.york.ac.uk/~emsley/build-logs/build-it GTK1] - the old user interface. This script builds coot and all its dependencies.
* [http://www.ysbl.york.ac.uk/~emsley/build-logs/build-it-gtk2-simple GTK2] - the new user interface. This script builds coot and most of the dependencies, excluding GTK2.
 
To build Coot, all you should need to do is edit a few settings in the top of the build script, or alternatively specify those settings as environment variables. For example, the following sequence of instructions will build the latest pre-release of the GTK 2 version with python support:
 
wget http://www.ysbl.york.ac.uk/~emsley/build-logs/build-it-gtk2-simple
export AUTOBUILD_INSTALLED=${HOME}/autobuild/coot
export AUTOBUILD_BUILD=${HOME}/autobuild/
export LOGS=$AUTOBUILD_BUILD/logs
export NIGHTLY_DEST_DIR=$AUTOBUILD_BUILD
export STABLE_DEST_DIR=$AUTOBUILD_BUILD
export build_coot_prerelease=1
bash build-it-gtk2-simple python > build.log
(This script works in bash. For tcsh, replace 'export' with 'setenv' and '=' with ' '.
 
In some cases you may need to download additional development packages in order to build all the components.
 
=== Installation from source code manually ===
 
There are also instructions for [[Custom building Coot from source code]].


=Running Coot=
=Running Coot=
Line 148: Line 87:
===Controls===
===Controls===


[[Image:Coot-controls-small.png|200px]]
[[Image:Coot-controls-small.png]]




Line 166: Line 105:


[[Image:a_zalman_zm_m220w__2d_35_pic.jpg|150px|thumb|right|3d lcd]]
[[Image:a_zalman_zm_m220w__2d_35_pic.jpg|150px|thumb|right|3d lcd]]
Control stereo separation / depth in coot 0.9: the transformation between the eyes is no longer a rotation and is now a shear. Which means that now we don't get part of the map showing up in the left eye but not the right (or vice versa).
This is documented in Section 3.4.1, e.g.
set_hardware_stereo_angle_factor(0.5) # for the Python fans
Hardware stereo failure: try the line
(set-display-lists-for-maps 0)
in ~/.coot for coot 0.9 - see https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ind2002&L=COOT&P=R312 and https://www.jiscmail.ac.uk/cgi-bin/wa-jisc.exe?A2=COOT;49fa8d15.2006


==== Zalman Stereo ====
==== Zalman Stereo ====
Line 190: Line 140:


===External Links===
===External Links===
====[http://www.ysbl.york.ac.uk/~emsley/coot/doc/user-manual.html On-line User Manual]====
====[https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/web/docs/coot.html On-line User Manual]====
====[http://www.ysbl.york.ac.uk/~emsley/coot/ Coot's home page]====
====[https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/ Coot's home page]====
====[http://www.mail-archive.com/coot@jiscmail.ac.uk/ Current mailing list archives]====
====[http://www.mail-archive.com/coot@jiscmail.ac.uk/ Current mailing list archives]====
====[http://www.ysbl.york.ac.uk/~emsley/coot/mbox/ Mailing list archives: (no longer) current]====
====[http://www.ysbl.york.ac.uk/~emsley/coot/mbox-2004-2005/ Mailing list archives: 2004-05]====


==Scheme Scripts==
==Scheme Scripts==
Line 364: Line 310:


[[morph_residues_gui.py]]
[[morph_residues_gui.py]]
===Example 5: Ensemble GUI===
GUI to allow navigation through structural ensembles as obtained e.g. from ensemble refinement:
[[ensemble_plugin.py]]
===Example 6: some basic scripting===
Q: I want to prepare scripts to run coot functions like water picking or rotamer fitting  in command line. Therefore I am looking for some  examples of simple coot scripts, e.g. load  ref.pdb, load ref.mtz, fft create map.
Answer:
<pre>
imol = read_pdb("6vw1.pdb")
imol_map = make_and_draw_map("6vw1/6vw1_refine.mtz", "2FOFCWT", "PH2FOFCWT", "", 0, 0)
find_waters(imol_map, imol, 0, 1.4, 1)
</pre>


==Python to Scheme and return==
==Python to Scheme and return==
Line 413: Line 375:


   run_scheme_command("(scheme-command arg1 arg2 ...)")      [from python]
   run_scheme_command("(scheme-command arg1 arg2 ...)")      [from python]
=Enhanced Menu Appearance=
==As of 0.4, coot works with gtk+2==
This permits use of themes for a more OSX-like experience, among other things.
Click on the thumbnail image below to see a full-size screenshot of Coot with a gtk+2 Aqua-like theme.
[[Image:Thumb-coot-gtk2.png]]
To get this effect, you need the Glossy_P gtk+2 theme:
http://art.gnome.org/download/themes/gtk2/571/GTK2-Glossy_P.tar.gz
Edit a file called ~/.gtkrc-2.0 and put into it the following line:
include "/usr/share/themes/Glossy\ P/gtk-2.0/gtkrc"
Alternatively, if you use gnome or xfce4, you can open the theme manager and just make it open the downloaded Glossy_P tarball, and it should add this as a theme.


=Assorted questions and answers (from the mailinglist)=
=Assorted questions and answers (from the mailinglist)=
Line 445: Line 386:
A: Join the [[Coot Janitors]] project. This is a project to get new people involved in improving Coot, by acting as a clearing house for simple tasks which need doing, and providing documentation for doing them.
A: Join the [[Coot Janitors]] project. This is a project to get new people involved in improving Coot, by acting as a clearing house for simple tasks which need doing, and providing documentation for doing them.


== Get rid of the "fix nomenclature" check ==
Q: Is it possible to deactivate the nomenclature errors check? Sometimes this check is not very useful and it becomes rather annoying when one has several molecules loaded only wants to look at the structures...
A: The [https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/web/docs/coot.html#set_002dnomenclature_002derrors_002don_002dread Coot manual] should help: Add to your startup script ~/.coot :
(set-nomenclature-errors-on-read "ignore")
In case you are using the python file ~/.coot.py , use
set_nomenclature_errors_on_read("ignore")
On Windows, this line should go into X:\YourWinCootDirectory\.coot-preferences\coot.py .
Alternatively put ".coot.py" in X:\YourWinCootDirectory.


==NCS edits==  
==NCS edits==  
Line 476: Line 428:


A: Well, it's hard to know what's the problem without details - the console should say something. But when handling the output of shelxl, I suggest you read the .res file rather than the pdb, then the subsequent .ins file contains lots of "header" information.
A: Well, it's hard to know what's the problem without details - the console should say something. But when handling the output of shelxl, I suggest you read the .res file rather than the pdb, then the subsequent .ins file contains lots of "header" information.
Another answer to questions 1+2 is to rename the hydrogen atoms in the shelxl res-file to match the mmCIF dictionaries used by Coot. This only needs to be done once as shelxl does not modify these names. Except for a few manual editions, the renaming can be done semi-automatically using regular expressions (replacing A->1, B->2, etc).
Concerning question 3, the Coot -> Extensions -> Module -> SHELXL menu entry works really well now. It reads in all relevant shelxl files and provides a menu highlighting the problematic areas in the model.


==Image quality on NVidia cards==
==Image quality on NVidia cards==
Line 547: Line 503:
A: there are 2 loop fitting tools in Coot
A: there are 2 loop fitting tools in Coot


# C alpha -> Mainchain [http://lmb.bioch.ox.ac.uk/coot/doc/coot.html#C_002dalpha-_002d_003e-Mainchain],[http://lmb.bioch.ox.ac.uk/coot/doc/coot.html#Building-Links-and-Loops]
# C alpha -> Mainchain [http://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/web/docs/coot.html#C_002dalpha-_002d_003e-Mainchain],[http://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/web/docs/coot.html#Building-Links-and-Loops]
# DB Loop: (No good documentation) [http://lmb.bioch.ox.ac.uk/coot/doc/coot/protein_002ddb_002dloops.html#protein_002ddb_002dloops] Extensions -> Modelling -> DB Loop...  
# DB Loop: (No good documentation) [http://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/web/docs/coot.html#protein_002ddb_002dloops] Extensions -> Modelling -> DB Loop...


==LSQ superpositions==
==LSQ superpositions==
Line 669: Line 625:
  (let ((imol (read-pdb "test.pdb")))
  (let ((imol (read-pdb "test.pdb")))
   (compare-ncs-rotamer imol "A" "B"))
   (compare-ncs-rotamer imol "A" "B"))
== make RSR in coot 0.8.1 behave like in earlier versions ==
Q: We've noticed a new behavior in real space refinement in coot 0.8.1 whereby dragged atoms are more tightly restrained to their initial positions than in earlier versions. This seems to be described in the release notes by:
  o BUG-FIX: The amount that the other atoms ove with moving the picked atom has been reduced (but is configurable)
A: Add e.g. this to your ~/.coot.py file:
set_refinement_drag_elasticity(0.8)
Q: I'm wondering why this was changed. Does the optimum elasticity change with resolution, map quality, or another experimental limitation? Or does it more of a user preference?
A: Because of cis-peptides. My worry was that in the previous regime, it was
too easy to introduce cis-peptides when fitting to low resolution maps. 
I believe the current default setting is much less likely to do that.
Q: I've tried various settings of refinement_drag_elasticity and I need to lower it to 0.5 or so before any semblance of earlier behavior appears.
A: It used to be 0.167, I think.
== Molprobity not active in COOT ==
Q: I am using COOT 0.8.1 EL that comes with the CCP4 6.5.010 on my Mac OS X 10.10.2. I wanted to run molprobity but the Validate > Probe clashes button in my pull down menu is not active. Is this function available in this COOT version?
A: Reduce and probe are separate programs available from the Richardson’s lab at Duke http://kinemage.biochem.duke.edu/. Download and install on your box. Then coot needs to be told in some instances where it can find these executables. I have the following lines in my ~/.coot file in Linux.
<pre>
;; .coot
;; This file is required. As of coot 0.8pre no other mechanism for
;; enabling probe in coot works
;;
;; This is full pathname of molprobity's probe program
(define *probe-command* "/apps/xray/bin/probe")
;; This is full pathname of molprobity's reduce program
(define *reduce-command* "/apps/xray/bin/reduce")
</pre>
Untried: if you have Phenix installed: it comes with phenix.probe and phenix.reduce - you could insert the paths to these binaries into the above definitions.
== some symmetry mates not shown ==
Q: This structure has been solved and refined using phenix in the hexagonal setting of space group R 3. There is one copy per asymmetric unit in R 3. As you can see from the attached image, coot is rendering some but not all of the symmetry mates.
A: Turn up the radius a bit and use (set-symmetry-shift-search-size 3) . I would have thought that 2 is big enough, but maybe not in this case.
== specify Coot download directory, like specifying backup dir by COOT_BACKUP_DIR? ==
here is my working startup.py (of course replace src folder with your preferred location):
import os
try:
    os.symlink('/ccp4/xray/tmp/', 'coot-download')
except:
    pass
(Eugene Osipov on 22/04/2020)
== how to enable the interactive dots during RS refinement and the Ramachandran polyeders? ==
(asked by Clemens Grimm on 08/10/2020 )
A:
set_show_intermediate_atoms_rota_markup(1)
set_show_intermediate_atoms_rama_markup(1)
set_do_coot_probe_dots_during_refine(1)
=See also=
[https://www.youtube.com/watch?v=Xhonm4K1y0c This video] is one of what will be a series of videos showcasing Coot 1 - and this one starts at the beginning.
1,328

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu