https://wiki.pymol.org/api.php?action=feedcontributions&user=OsvaldoMartin&feedformat=atomPyMOL Wiki - User contributions [en]2024-03-19T08:04:47ZUser contributionsMediaWiki 1.35.1https://wiki.pymol.org/index.php?title=Azahar&diff=14749Azahar2020-06-08T16:23:59Z<p>OsvaldoMartin: /* Installation */</p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|download = https://github.com/BIOS-IMASL/Azahar/archive/v0.8.8-beta.zip<br />
|author = Agustina Arroyuelo and [[User:OsvaldoMartin|Osvaldo Martin]]<br />
|license = MIT<br />
}}<br />
<br />
== Description ==<br />
[[Image:Azahar_GUI.png|480px|thumb|Azahar GUI.]]<br />
<br />
Azahar (pronounced /ɑːsɑːˈɑːr/) is a plugin that extends the PyMOL's capabilities to visualize, analyze and model glycans and glycoconjugated molecules. <br />
<br />
== Installation ==<br />
The plugin have been tested on Linux and Windows and should also works on Mac Os X.<br />
To install the plugin just download [https://github.com/BIOS-IMASL/Azahar/archive/v0.8.8-beta.zip this] zip file and install it using the plugin manager. <br />
<br />
Azahar can be used without any dependencies (i.e. you don't need to install anything else) but if you have installed OpenBabel (and OpenBabel Python bindings) Azahar will use it to perform certain calculations like optimize the geometry of your newly created molecule. OpenBabel is also used during the Monte Carlo with Minimization routine.<br />
<br />
If you still want to install OpenBabel on your computer see instructions [http://openbabel.org/wiki/Get_Open_Babel here]. Users of 64-bit Windows OS, please install OpenBabel 64-bit from [http://www.lfd.uci.edu/~gohlke/pythonlibs/#openbabel here]<br />
<br />
== Usage ==<br />
<br />
The plugin's GUI displays three interactive tabs: Creation, Visualization and Calculations. <br />
Usage is described by tab:<br />
<br />
=== Glycan Creation ===<br />
<br />
The Creation tab contains:<br />
<br />
*Three option menus, two of which are used to specify residues to be connected from a list of predefined templates. And the third one, selects the chemical bond to be used. <br />
<br />
*Three entry boxes, the first one it's called "Repetitions", where the user can enter the number of residues to be connected. The "Position" entry box indicates the index of the residue to which the next bond will be added. On a typical glycan molecule constructed using this plugin, the user would use the "Position" entry box and the bonds menu to specify ramifications. And in the "New Molecule" entry box the user can write the name of the PyMOL object corresponding to the newly created glycan molecule.<br />
<br />
*Finally, The "add" button, when clicked, writes a text file containing the connectivity of the glycan molecule to be created. The user can edit this file or provide it as input. The connectivity instructions are also printed in PyMOL's external GUI. When the "create" button is clicked, the molecule is constructed and displayed in the PyMOL's GUI. The "reset" button resets the entry box's parameters. <br />
<br />
=== Visualization ===<br />
<br />
On this tab the user will find options to visualize glycans with 3 different ''cartoon-like'' representations. The ''cartoon'' representation is build using PyMOL's [[CGO]] and hence the color of the object has to be define it before creating it. Azahar provides a color menu for that purpose, you can choose from a list of colors or use the ''auto'' option (default), that reads the atom colors from the object. For example if you want to color a glycan cartoon using the b-factors, you should first choose that option from the PyMOL's menu and then tell Azahar to create a cartoon representation with the ''auto'' color option.<br />
<br />
You can ''cartoonize'' glycan molecules created by this plugin or loaded from other sources. <br />
<br />
=== Calculations ===<br />
<br />
Radius of gyration and Ramachandran Plot are useful tools for the analysis of glycan molecules. Through this plugin's GUI the user can easily select a range of states to compute these calculations, and in case of the RG, the result will be displayed in the PyMOL's external GUI.<br />
<br />
=== Monte Carlo ===<br />
This feature is still experimental<br />
<br />
A Monte Carlo with Minimization (MCM) is a global optimization method that have proven very efficient to sample the conformational states of complex molecules like proteins, It was first published by [http://www.ncbi.nlm.nih.gov/pmc/articles/PMC299132/ Li and Scheraga], and is some circles is also know as basin hopping. Briefly, the conformational search is done by perturbing a torsional angle (psi, psi, omega or chi), follow by and energy minimization and the new (minimized) conformation is accepted or rejected following the Metropolis-criteria. If the conformation is accepted the next iteration start from the new conformation, otherwise the old conformation is perturbed again.<br />
<br />
From the GUI the user can choose the number of iterations to run, whether or not to use a SASA model to take into account the solvent contribution, and whether or not to start from a random conformation.<br />
<br />
After the MCM procedure is completed the user will get:<br />
<br />
* one .pdb file for each accepted conformation. <br />
* one multi-state .pdb file (automatically uploaded at the end of the run)<br />
* one .pdb file for the conformation with the minimum energy.<br />
* a plain text listing the energy of each saved conformation<br />
<br />
<br />
The internal energy is computed using the MMFF94 force field (as implemented on open-babel) and the contribution of the solvent is approximated using a SASA model (the validity of the SASA model for glycans and the relative weight of the internal and salvation energies needs further test).<br />
<br />
== New templates ==<br />
<br />
You can add your own templates by adding a .pdb file to the Azahar/db_glycans folder, that was created during the plugin installation. The residue number of the template should be 0 and atoms names should have certain names. When in doubt just take a look at one of the already available templates and do not hesitate to contact us.<br />
<br />
== Citation ==<br />
If you find this plugin useful please cite it as:<br />
<br />
Arroyuelo, A., Vila, J.A. & Martin, O.A. J Comput Aided Mol Des (2016) 30: 619. doi:10.1007/s10822-016-9944-x<br />
<br />
== Change log ==<br />
<br />
* 2017-06-17 (Version 0.8.7)<br />
*# Python3 compatible<br />
*# improved error messages when no HB are found<br />
<br />
<br />
* 2015-10-2 (Version 0.8.5)<br />
*# Fix templates: reorder atoms, standardize nomenclature and minimize conformations<br />
*# Add new templates<br />
*# Add Monte Carlo with Minimization Routine<br />
*# fix cartoonize for 1-6 and 6-1 bonds<br />
*# add 2 new cartoon-like representations<br />
*# fix minor bugs, clean code and GUI<br />
<br />
* 2015-08-31 (Version 0.8.1)<br />
*# Several bugs fixed, including problems when creating branches.<br />
<br />
* 2015-08-28 (Version 0.8)<br />
*# First beta version and first public version (several bugs expected!).<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Azahar&diff=14748Azahar2019-11-29T19:05:42Z<p>OsvaldoMartin: update release</p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|download = https://github.com/BIOS-IMASL/Azahar/archive/v0.8.8-beta.zip<br />
|author = Agustina Arroyuelo and [[User:OsvaldoMartin|Osvaldo Martin]]<br />
|license = MIT<br />
}}<br />
<br />
== Description ==<br />
[[Image:Azahar_GUI.png|480px|thumb|Azahar GUI.]]<br />
<br />
Azahar (pronounced /ɑːsɑːˈɑːr/) is a plugin that extends the PyMOL's capabilities to visualize, analyze and model glycans and glycoconjugated molecules. <br />
<br />
== Installation ==<br />
The plugin have been tested on Linux and Windows and should also works on Mac Os X.<br />
To install the plugin just download [https://github.com/agustinaarroyuelo/Azahar/releases/tag/v0.8.5-beta this] zip file and install it using the plugin manager. <br />
<br />
Azahar can be used without any dependencies (i.e. you don't need to install anything else) but if you have installed OpenBabel (and OpenBabel Python bindings) Azahar will use it to perform certain calculations like optimize the geometry of your newly created molecule. OpenBabel is also used during the Monte Carlo with Minimization routine.<br />
<br />
If you still want to install OpenBabel on your computer see instructions [http://openbabel.org/wiki/Get_Open_Babel here]. Users of 64-bit Windows OS, please install OpenBabel 64-bit from [http://www.lfd.uci.edu/~gohlke/pythonlibs/#openbabel here]<br />
<br />
== Usage ==<br />
<br />
The plugin's GUI displays three interactive tabs: Creation, Visualization and Calculations. <br />
Usage is described by tab:<br />
<br />
=== Glycan Creation ===<br />
<br />
The Creation tab contains:<br />
<br />
*Three option menus, two of which are used to specify residues to be connected from a list of predefined templates. And the third one, selects the chemical bond to be used. <br />
<br />
*Three entry boxes, the first one it's called "Repetitions", where the user can enter the number of residues to be connected. The "Position" entry box indicates the index of the residue to which the next bond will be added. On a typical glycan molecule constructed using this plugin, the user would use the "Position" entry box and the bonds menu to specify ramifications. And in the "New Molecule" entry box the user can write the name of the PyMOL object corresponding to the newly created glycan molecule.<br />
<br />
*Finally, The "add" button, when clicked, writes a text file containing the connectivity of the glycan molecule to be created. The user can edit this file or provide it as input. The connectivity instructions are also printed in PyMOL's external GUI. When the "create" button is clicked, the molecule is constructed and displayed in the PyMOL's GUI. The "reset" button resets the entry box's parameters. <br />
<br />
=== Visualization ===<br />
<br />
On this tab the user will find options to visualize glycans with 3 different ''cartoon-like'' representations. The ''cartoon'' representation is build using PyMOL's [[CGO]] and hence the color of the object has to be define it before creating it. Azahar provides a color menu for that purpose, you can choose from a list of colors or use the ''auto'' option (default), that reads the atom colors from the object. For example if you want to color a glycan cartoon using the b-factors, you should first choose that option from the PyMOL's menu and then tell Azahar to create a cartoon representation with the ''auto'' color option.<br />
<br />
You can ''cartoonize'' glycan molecules created by this plugin or loaded from other sources. <br />
<br />
=== Calculations ===<br />
<br />
Radius of gyration and Ramachandran Plot are useful tools for the analysis of glycan molecules. Through this plugin's GUI the user can easily select a range of states to compute these calculations, and in case of the RG, the result will be displayed in the PyMOL's external GUI.<br />
<br />
=== Monte Carlo ===<br />
This feature is still experimental<br />
<br />
A Monte Carlo with Minimization (MCM) is a global optimization method that have proven very efficient to sample the conformational states of complex molecules like proteins, It was first published by [http://www.ncbi.nlm.nih.gov/pmc/articles/PMC299132/ Li and Scheraga], and is some circles is also know as basin hopping. Briefly, the conformational search is done by perturbing a torsional angle (psi, psi, omega or chi), follow by and energy minimization and the new (minimized) conformation is accepted or rejected following the Metropolis-criteria. If the conformation is accepted the next iteration start from the new conformation, otherwise the old conformation is perturbed again.<br />
<br />
From the GUI the user can choose the number of iterations to run, whether or not to use a SASA model to take into account the solvent contribution, and whether or not to start from a random conformation.<br />
<br />
After the MCM procedure is completed the user will get:<br />
<br />
* one .pdb file for each accepted conformation. <br />
* one multi-state .pdb file (automatically uploaded at the end of the run)<br />
* one .pdb file for the conformation with the minimum energy.<br />
* a plain text listing the energy of each saved conformation<br />
<br />
<br />
The internal energy is computed using the MMFF94 force field (as implemented on open-babel) and the contribution of the solvent is approximated using a SASA model (the validity of the SASA model for glycans and the relative weight of the internal and salvation energies needs further test).<br />
<br />
== New templates ==<br />
<br />
You can add your own templates by adding a .pdb file to the Azahar/db_glycans folder, that was created during the plugin installation. The residue number of the template should be 0 and atoms names should have certain names. When in doubt just take a look at one of the already available templates and do not hesitate to contact us.<br />
<br />
== Citation ==<br />
If you find this plugin useful please cite it as:<br />
<br />
Arroyuelo, A., Vila, J.A. & Martin, O.A. J Comput Aided Mol Des (2016) 30: 619. doi:10.1007/s10822-016-9944-x<br />
<br />
== Change log ==<br />
<br />
* 2017-06-17 (Version 0.8.7)<br />
*# Python3 compatible<br />
*# improved error messages when no HB are found<br />
<br />
<br />
* 2015-10-2 (Version 0.8.5)<br />
*# Fix templates: reorder atoms, standardize nomenclature and minimize conformations<br />
*# Add new templates<br />
*# Add Monte Carlo with Minimization Routine<br />
*# fix cartoonize for 1-6 and 6-1 bonds<br />
*# add 2 new cartoon-like representations<br />
*# fix minor bugs, clean code and GUI<br />
<br />
* 2015-08-31 (Version 0.8.1)<br />
*# Several bugs fixed, including problems when creating branches.<br />
<br />
* 2015-08-28 (Version 0.8)<br />
*# First beta version and first public version (several bugs expected!).<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Dehydron&diff=14292Dehydron2018-05-03T17:16:28Z<p>OsvaldoMartin: </p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|filename = plugins/dehydron.py<br />
|author = [[User:OsvaldoMartin|Osvaldo Martin]]<br />
|license = MIT<br />
}}<br />
=Introduction=<br />
A dehydron is a protein backbone hydrogen bond incompletely shielded from water attack. A desolvated hydrogen bond is energetically more favourable than one exposed to the solvent and hence dehydrons are ''sticky'' , since they promote the removal of surrounding water through protein associations or ligand binding. <br />
<br />
Dehydrons are less conserved than other structural motifs, hence identification of dehydrons could help to increase specificity during the rational drug design process. Certain proteins are enriched in dehydrons such as membrane proteins, toxic proteins and proteins that have a strong tendency to aggregate. Dehydrons have been invoked to explain biological processes above the molecular level such as the dosage imbalance effect in duplicated genes and the high connectivity of the protein interactomes of higher organisms. <br />
<br />
A putative dehydron can be detected by counting the number of ''wrappers'' that surround a hydrogen bond. A wrapper is defined as a carbon atom not bonded directly to an oxygen or nitrogen atom, i.e. a non-polar carbon atom. A dehydron is defined by the number of wrappers inside two overlapping spheres centred at the Cα carbon of the donor and acceptor residues. If the number of wrappers around an hydrogen bond is below a certain cut-off value that hydrogen bond is identified as a dehydron.<br />
<br />
<br />
== Installation ==<br />
=== Linux ===<br />
This plugin is ready "out-of-box" for Linux users through the project [[git_intro | Pymol-script-repo]]<br />
<br />
=== Windows ===<br />
This plugin is ready "out-of-box" for Windows users through the project [[git_intro | Pymol-script-repo]]<br />
<br />
=== Mac OsX ===<br />
This plugin have not been tested on a Mac OsX machine, but it should work.<br />
<br />
== Usage ==<br />
The plugin can be accessed using the following command:<br />
<br />
<source lang="python"><br />
wrappy [ selection [, angle_range [, max_distance [, desolv [, min_wrappers ]]]]]<br />
</source><br />
<br />
[[Image:Dehydrons.png|580px|thumb|<b>Figure 0</b>: Dehydrons calculated and displayed in PyMOL.]]<br />
<br />
<br />
Or using a graphical environment (see figure 0)<br />
<br />
<br />
There are five parameters the user can change:<br />
<br />
Two of them control the hydrogen bonds detection.<br />
<br />
* Angle range: deviation in degrees from the optimal hydrogen bond angle (C=0 N-H).<br />
* Max distance: maximum donor-acceptor distance in angstroms.<br />
<br />
Although no thoroughly optimized, the default values for the hydrogen bonds parameters were adjusted to get a close agreement between the hydrogen bond listed by wrappy and the ones listed by the [http://swift.cmbi.ru.nl/servers/html/index.html What-If] server.<br />
<br />
Another two control the dehydron detection.<br />
<br />
* Desolvatation sphere radius: this parameter controls the radius of the two spheres centred at the Cα carbon of the donor and acceptor residues. A dehydron is defined by the number of "wrappers" inside this two spheres.<br><br />
* Min wrappers: a hydrogen bond surrounded with less "wrappers" than "min_wrappers" is a dehydron. Setting this parameter to a "high" value, something like 100, will return all main chain hydrogen bonds (according to the angle range and max distance parameters). The default value (19) was taken from a statistical analysis of ~7400 high-quality proteins form the Protein Data Bank (see below).<br />
* Max wrappers: a hydrogen bond surrounded with more "wrappers" than "max_wrappers" is a buried hydrogen bond. The default value (35) was taken from a statistical analysis of ~7400 high-quality proteins form the Protein Data Bank (see below).<br />
<br />
A wrapper is defined as a carbon atom not bonded directly to an oxygen or nitrogen atom, i.e. a non-polar carbon atom. The plug-in count as wrappers any non-polar carbon from any protein chain, organic ligand or other type of molecule, if the atoms belong "selection" (see below). This means that if you have, for example, a dimeric protein you will probably get different results for the dimer and for the isolated monomers. Instead, if you upload two (or more) different files the results will be independent because the plug-in does not count atoms from other objects<br />
<br />
* Selection: This parameter allows the user to select which part of system is used to calculate dehydrons. This parameter is useful, for example, to calculate dehydronds for different objects independently or to easily calculate dehydrons with and without an organic ligand. The default selection is "all". Compute dehydrons for an specific selection is equivalent to delete all but the selected atoms and then compute dehydrons.<br />
<br />
=Methods=<br />
[[Image:Wrappers_histogram.png|350px|thumb|<b>Figure 1</b>:Histogram of the number of wrappers per hydrogen bond (blue bars), the distribution of wrappers approximate a Gaussian distribution (red line). Parameters for the Gaussian fit (mean and standard deviation)are show in the grey box]]<br />
<br />
An analysis of 7476 high quality X-ray proteins was performed in order to estimate the number of wrappers that should be used as a cut-off to determine whether to call an hydrogen bond a dehydron (i.e. the ''min wrappers'' parameter). Although this value have been already estimated in the literature; differences in the algorithms used before and the ones used by wrappy could lead to differences in the exact value of the cut-off and hence this parameter was re-estimated in order to obtain reliable calculation of the dehydrons. To compute the numbers of wrappers the following parameters were used ''angle range'' = 40°, ''Max distance'' = 3.5 Å and ''desolvatation sphere'' = 6.5 Å. A non-redundant set of 7476 proteins were obtained from the Protein Data Bank. Each protein in this set conforms with the following criteria: Resolution < 2.0 Å, R-factors <= 0.25, not containing DNA and/or RNA molecules. Additionally, proteins with a sequence identity of 30% were removed. The frequency of wrappers in this set of proteins approximate a Gaussian distribution (see figure 1) with a mean of ~27 and a standard deviation of ~8, hence an hydrogen bond with less than 19 wrappers is defined as a dehydron (27-8 = 19). In the same fashion and over-wrapped hydrogen bond is and hydrogen bond with more than 35 wrappers (27+8).<br />
<br />
Using the same set of 7476 proteins it was obtained that on average a high quality and globular protein should have 0.62 hydrogen bonds per residue (with a standard deviation of 0.06) and 17 wrappers per residue (with a standard deviation of 2). Hydrogen bonds per residue and wrappers per residue could be used as indicators of the global protein structure quality. Wrappy reports such indicators as z-score, i.e. the number of standard deviations an observation is above or below the expected mean value.<br />
<br />
<br />
== Acknowledgement ==<br />
The H-bond detection code is based on the list_mc_hbonds.py script from Robert L. Campbell http://pldserver1.biochem.queensu.ca/~rlc/work/pymol/<br />
<br />
<br />
== Change log ==<br />
<br />
* 2012-01-14 (Version 1.0)<br />
*# First public version was released and put under version control. In the project, [http://www.pymolwiki.org/index.php/Git_intro Pymol-script-repo].<br />
<br />
*2012-01-28 (Version 1.1) <br />
*# Minor changes in the code most of them not visible for the end-user.<br />
<br />
*2012-02-28 (Version 1.5) <br />
*# The code was cleaned (e.g. remove global variables and other ugly stuff)<br />
*# The code was made available as a PyMOL command<br />
*# Better support for multiple objects<br />
All features in this version and most of the code was provided by [[User:Speleo3|Thomas Holder]], thanks Thomas! :-)<br />
<br />
*2012-03-14 (Version 1.6)<br />
*# Representation is not changed to "cartoon" after each calculation<br />
*# Total control over the selection from which dehydrons are calculated<br />
<br />
*2013-03-26 (Version 1.7)<br />
*# Wrappers were not correctly counted for structures with hydrogen atoms. <br />
Thanks Shafqat Rasool for reporting the bug.<br />
<br />
*2013-07-19 (Version 2.0)<br />
*# The plug-in was renamed to wrappy.<br />
*# Wrappy reports, now, the hydrogen bonds per residue and the wrappers per residue as z-scores. The values of the mean and standard deviation, necessary to compute zscores, where taken from the analysis of ~7400 high quality X-ray proteins from the PDB.<br />
<br />
*2014-03-22 (Version 2.1)<br />
*# Wrappy reports all the hydrogens bonds. Dehydrons are displayed using red dashes, average wrapped hydrogens bonds are yellow, and over-wrapped hydrogens bonds are green.<br />
<br />
==References==<br />
Citation for Dehydrons:<br><br />
De Simone, A., Dodson, G. G., Verma, C. S., Zagari, A., and Fraternali, F. (2005). Prion and water: tight and dynamical hydration sites have a key role in structural stability. Proceedings of the National Academy of Sciences of the United States of America, 102(21), 75357540.<br />
<br />
Fernández, A. and Berry, R. S. (2003). Proteins with h-bond packing defects are highly interactive with lipid bilayers: Implications for amyloidogenesis. Proceedings of the National Academy of Sciences, 100(5), 2391–2396.<br />
<br />
Fernández, A. and Crespo, A. (2008). Protein wrapping: a molecular marker for association, aggregation and drug design. Chemical Society Reviews, 37(11), 2373.<br />
<br />
Fernández, A. and Lynch, M. (2011). Non-adaptive origins of interactome complexity. Nature, 474(7352), 502–505.<br />
<br />
Fernández, A., Rogale, K., Scott, R., and Scheraga, H. A. (2004a). Inhibitor design by wrapping packing defects in HIV-1 proteins. Proceedings of the National Academy of Sciences of the United States of America, 101(32), 1164011645.<br />
<br />
Fernández, A., Scott, R., and Berry, R. S. (2004b). The nonconserved wrapping of conserved protein folds reveals a trend toward increasing connectivity in proteomic networks. Proceedings of the National Academy of Sciences of the United States of America, 101(9), 28232827.<br />
<br />
Kabsch, W. and Sander, C. (1983). Dictionary of protein secondary structure: pattern recognition of hydrogen-bonded and geometrical features. Biopolymers, 22(12),<br />
2577–2637. PMID: 6667333.<br />
<br />
Liang, H., Plazonic, K. R., Chen, J., Li, W.-H., and Fernández, A. (2008). Protein under-wrapping causes dosage sensitivity and decreases gene duplicability. PLoS Genetics, 4(1), e11.<br />
<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Azahar&diff=13991Azahar2017-06-20T13:09:23Z<p>OsvaldoMartin: </p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|download = https://github.com/BIOS-IMASL/Azahar/archive/v0.8.7-beta.zip<br />
|author = Agustina Arroyuelo and [[User:OsvaldoMartin|Osvaldo Martin]]<br />
|license = MIT<br />
}}<br />
<br />
== Description ==<br />
[[Image:Azahar_GUI.png|480px|thumb|Azahar GUI.]]<br />
<br />
Azahar (pronounced /ɑːsɑːˈɑːr/) is a plugin that extends the PyMOL's capabilities to visualize, analyze and model glycans and glycoconjugated molecules. <br />
<br />
== Installation ==<br />
The plugin have been tested on Linux and Windows and should also works on Mac Os X.<br />
To install the plugin just download [https://github.com/agustinaarroyuelo/Azahar/releases/tag/v0.8.5-beta this] zip file and install it using the plugin manager. <br />
<br />
Azahar can be used without any dependencies (i.e. you don't need to install anything else) but if you have installed OpenBabel (and OpenBabel Python bindings) Azahar will use it to perform certain calculations like optimize the geometry of your newly created molecule. OpenBabel is also used during the Monte Carlo with Minimization routine.<br />
<br />
If you still want to install OpenBabel on your computer see instructions [http://openbabel.org/wiki/Get_Open_Babel here]. Users of 64-bit Windows OS, please install OpenBabel 64-bit from [http://www.lfd.uci.edu/~gohlke/pythonlibs/#openbabel here]<br />
<br />
== Usage ==<br />
<br />
The plugin's GUI displays three interactive tabs: Creation, Visualization and Calculations. <br />
Usage is described by tab:<br />
<br />
=== Glycan Creation ===<br />
<br />
The Creation tab contains:<br />
<br />
*Three option menus, two of which are used to specify residues to be connected from a list of predefined templates. And the third one, selects the chemical bond to be used. <br />
<br />
*Three entry boxes, the first one it's called "Repetitions", where the user can enter the number of residues to be connected. The "Position" entry box indicates the index of the residue to which the next bond will be added. On a typical glycan molecule constructed using this plugin, the user would use the "Position" entry box and the bonds menu to specify ramifications. And in the "New Molecule" entry box the user can write the name of the PyMOL object corresponding to the newly created glycan molecule.<br />
<br />
*Finally, The "add" button, when clicked, writes a text file containing the connectivity of the glycan molecule to be created. The user can edit this file or provide it as input. The connectivity instructions are also printed in PyMOL's external GUI. When the "create" button is clicked, the molecule is constructed and displayed in the PyMOL's GUI. The "reset" button resets the entry box's parameters. <br />
<br />
=== Visualization ===<br />
<br />
On this tab the user will find options to visualize glycans with 3 different ''cartoon-like'' representations. The ''cartoon'' representation is build using PyMOL's [[CGO]] and hence the color of the object has to be define it before creating it. Azahar provides a color menu for that purpose, you can choose from a list of colors or use the ''auto'' option (default), that reads the atom colors from the object. For example if you want to color a glycan cartoon using the b-factors, you should first choose that option from the PyMOL's menu and then tell Azahar to create a cartoon representation with the ''auto'' color option.<br />
<br />
You can ''cartoonize'' glycan molecules created by this plugin or loaded from other sources. <br />
<br />
=== Calculations ===<br />
<br />
Radius of gyration and Ramachandran Plot are useful tools for the analysis of glycan molecules. Through this plugin's GUI the user can easily select a range of states to compute these calculations, and in case of the RG, the result will be displayed in the PyMOL's external GUI.<br />
<br />
=== Monte Carlo ===<br />
This feature is still experimental<br />
<br />
A Monte Carlo with Minimization (MCM) is a global optimization method that have proven very efficient to sample the conformational states of complex molecules like proteins, It was first published by [http://www.ncbi.nlm.nih.gov/pmc/articles/PMC299132/ Li and Scheraga], and is some circles is also know as basin hopping. Briefly, the conformational search is done by perturbing a torsional angle (psi, psi, omega or chi), follow by and energy minimization and the new (minimized) conformation is accepted or rejected following the Metropolis-criteria. If the conformation is accepted the next iteration start from the new conformation, otherwise the old conformation is perturbed again.<br />
<br />
From the GUI the user can choose the number of iterations to run, whether or not to use a SASA model to take into account the solvent contribution, and whether or not to start from a random conformation.<br />
<br />
After the MCM procedure is completed the user will get:<br />
<br />
* one .pdb file for each accepted conformation. <br />
* one multi-state .pdb file (automatically uploaded at the end of the run)<br />
* one .pdb file for the conformation with the minimum energy.<br />
* a plain text listing the energy of each saved conformation<br />
<br />
<br />
The internal energy is computed using the MMFF94 force field (as implemented on open-babel) and the contribution of the solvent is approximated using a SASA model (the validity of the SASA model for glycans and the relative weight of the internal and salvation energies needs further test).<br />
<br />
== New templates ==<br />
<br />
You can add your own templates by adding a .pdb file to the Azahar/db_glycans folder, that was created during the plugin installation. The residue number of the template should be 0 and atoms names should have certain names. When in doubt just take a look at one of the already available templates and do not hesitate to contact us.<br />
<br />
== Citation ==<br />
If you find this plugin useful please cite it as:<br />
<br />
Arroyuelo, A., Vila, J.A. & Martin, O.A. J Comput Aided Mol Des (2016) 30: 619. doi:10.1007/s10822-016-9944-x<br />
<br />
== Change log ==<br />
<br />
* 2017-06-17 (Version 0.8.7)<br />
*# Python3 compatible<br />
*# improved error messages when no HB are found<br />
<br />
<br />
* 2015-10-2 (Version 0.8.5)<br />
*# Fix templates: reorder atoms, standardize nomenclature and minimize conformations<br />
*# Add new templates<br />
*# Add Monte Carlo with Minimization Routine<br />
*# fix cartoonize for 1-6 and 6-1 bonds<br />
*# add 2 new cartoon-like representations<br />
*# fix minor bugs, clean code and GUI<br />
<br />
* 2015-08-31 (Version 0.8.1)<br />
*# Several bugs fixed, including problems when creating branches.<br />
<br />
* 2015-08-28 (Version 0.8)<br />
*# First beta version and first public version (several bugs expected!).<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Azahar&diff=13990Azahar2017-06-14T08:18:27Z<p>OsvaldoMartin: change license and link to plugin (we moved the repository to an Organization repository)</p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|download = https://github.com/BIOS-IMASL/Azahar/archive/v0.8.6-beta.zip<br />
|author = Agustina Arroyuelo and [[User:OsvaldoMartin|Osvaldo Martin]]<br />
|license = MIT<br />
}}<br />
<br />
== Description ==<br />
[[Image:Azahar_GUI.png|480px|thumb|Azahar GUI.]]<br />
<br />
Azahar (pronounced /ɑːsɑːˈɑːr/) is a plugin that extends the PyMOL's capabilities to visualize, analyze and model glycans and glycoconjugated molecules. <br />
<br />
== Installation ==<br />
The plugin have been tested on Linux and Windows and should also works on Mac Os X.<br />
To install the plugin just download [https://github.com/agustinaarroyuelo/Azahar/releases/tag/v0.8.5-beta this] zip file and install it using the plugin manager. <br />
<br />
Azahar can be used without any dependencies (i.e. you don't need to install anything else) but if you have installed OpenBabel (and OpenBabel Python bindings) Azahar will use it to perform certain calculations like optimize the geometry of your newly created molecule. OpenBabel is also used during the Monte Carlo with Minimization routine.<br />
<br />
If you still want to install OpenBabel on your computer see instructions [http://openbabel.org/wiki/Get_Open_Babel here]. Users of 64-bit Windows OS, please install OpenBabel 64-bit from [http://www.lfd.uci.edu/~gohlke/pythonlibs/#openbabel here]<br />
<br />
== Usage ==<br />
<br />
The plugin's GUI displays three interactive tabs: Creation, Visualization and Calculations. <br />
Usage is described by tab:<br />
<br />
=== Glycan Creation ===<br />
<br />
The Creation tab contains:<br />
<br />
*Three option menus, two of which are used to specify residues to be connected from a list of predefined templates. And the third one, selects the chemical bond to be used. <br />
<br />
*Three entry boxes, the first one it's called "Repetitions", where the user can enter the number of residues to be connected. The "Position" entry box indicates the index of the residue to which the next bond will be added. On a typical glycan molecule constructed using this plugin, the user would use the "Position" entry box and the bonds menu to specify ramifications. And in the "New Molecule" entry box the user can write the name of the PyMOL object corresponding to the newly created glycan molecule.<br />
<br />
*Finally, The "add" button, when clicked, writes a text file containing the connectivity of the glycan molecule to be created. The user can edit this file or provide it as input. The connectivity instructions are also printed in PyMOL's external GUI. When the "create" button is clicked, the molecule is constructed and displayed in the PyMOL's GUI. The "reset" button resets the entry box's parameters. <br />
<br />
=== Visualization ===<br />
<br />
On this tab the user will find options to visualize glycans with 3 different ''cartoon-like'' representations. The ''cartoon'' representation is build using PyMOL's [[CGO]] and hence the color of the object has to be define it before creating it. Azahar provides a color menu for that purpose, you can choose from a list of colors or use the ''auto'' option (default), that reads the atom colors from the object. For example if you want to color a glycan cartoon using the b-factors, you should first choose that option from the PyMOL's menu and then tell Azahar to create a cartoon representation with the ''auto'' color option.<br />
<br />
You can ''cartoonize'' glycan molecules created by this plugin or loaded from other sources. <br />
<br />
=== Calculations ===<br />
<br />
Radius of gyration and Ramachandran Plot are useful tools for the analysis of glycan molecules. Through this plugin's GUI the user can easily select a range of states to compute these calculations, and in case of the RG, the result will be displayed in the PyMOL's external GUI.<br />
<br />
=== Monte Carlo ===<br />
This feature is still experimental<br />
<br />
A Monte Carlo with Minimization (MCM) is a global optimization method that have proven very efficient to sample the conformational states of complex molecules like proteins, It was first published by [http://www.ncbi.nlm.nih.gov/pmc/articles/PMC299132/ Li and Scheraga], and is some circles is also know as basin hopping. Briefly, the conformational search is done by perturbing a torsional angle (psi, psi, omega or chi), follow by and energy minimization and the new (minimized) conformation is accepted or rejected following the Metropolis-criteria. If the conformation is accepted the next iteration start from the new conformation, otherwise the old conformation is perturbed again.<br />
<br />
From the GUI the user can choose the number of iterations to run, whether or not to use a SASA model to take into account the solvent contribution, and whether or not to start from a random conformation.<br />
<br />
After the MCM procedure is completed the user will get:<br />
<br />
* one .pdb file for each accepted conformation. <br />
* one multi-state .pdb file (automatically uploaded at the end of the run)<br />
* one .pdb file for the conformation with the minimum energy.<br />
* a plain text listing the energy of each saved conformation<br />
<br />
<br />
The internal energy is computed using the MMFF94 force field (as implemented on open-babel) and the contribution of the solvent is approximated using a SASA model (the validity of the SASA model for glycans and the relative weight of the internal and salvation energies needs further test).<br />
<br />
== New templates ==<br />
<br />
You can add your own templates by adding a .pdb file to the Azahar/db_glycans folder, that was created during the plugin installation. The residue number of the template should be 0 and atoms names should have certain names. When in doubt just take a look at one of the already available templates and do not hesitate to contact us.<br />
<br />
== Citation ==<br />
If you find this plugin useful please cite it as:<br />
<br />
Arroyuelo, A., Vila, J.A. & Martin, O.A. J Comput Aided Mol Des (2016) 30: 619. doi:10.1007/s10822-016-9944-x<br />
<br />
== Change log ==<br />
<br />
* 2015-10-2 (Version 0.8.5)<br />
*# Fix templates: reorder atoms, standardize nomenclature and minimize conformations<br />
*# Add new templates<br />
*# Add Monte Carlo with Minimization Routine<br />
*# fix cartoonize for 1-6 and 6-1 bonds<br />
*# add 2 new cartoon-like representations<br />
*# fix minor bugs, clean code and GUI<br />
<br />
* 2015-08-31 (Version 0.8.1)<br />
*# Several bugs fixed, including problems when creating branches.<br />
<br />
* 2015-08-28 (Version 0.8)<br />
*# First beta version and first public version (several bugs expected!).<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Dehydron&diff=14022Dehydron2017-06-14T08:16:04Z<p>OsvaldoMartin: change license</p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|filename = plugins/dehydron.py<br />
|author = [[User:OsvaldoMartin|Osvaldo Martin]]<br />
|license = MIT<br />
}}<br />
=Introduction=<br />
A dehydron is a protein backbone hydrogen bond incompletely shielded from water attack. A desolvated hydrogen bond is energetically more favourable than one exposed to the solvent and hence dehydrons are ''sticky'' , since they promote the removal of surrounding water through protein associations or ligand binding. <br />
<br />
Dehydrons are less conserved than other structural motifs, hence identification of dehydrons could help to increase specificity during the rational drug design process. Certain proteins are enriched in dehydrons such as membrane proteins, toxic proteins and proteins that have a strong tendency to aggregate. Dehydrons have been invoked to explain biological processes above the molecular level such as the dosage imbalance effect in duplicated genes and the high connectivity of the protein interactomes of higher organisms. <br />
<br />
A putative dehydron can be detected by counting the number of ''wrappers'' that surround a hydrogen bond. A wrapper is defined as a carbon atom not bonded directly to an oxygen or nitrogen atom, i.e. a non-polar carbon atom. A dehydron is defined by the number of wrappers inside two overlapping spheres centred at the Cα carbon of the donor and acceptor residues. If the number of wrappers around an hydrogen bond is below a certain cut-off value that hydrogen bond is identified as a dehydron.<br />
<br />
<br />
== Installation ==<br />
=== Linux ===<br />
This plugin is ready "out-of-box" for Linux users through the project [[git_intro | Pymol-script-repo]]<br />
<br />
=== Windows ===<br />
This plugin is ready "out-of-box" for Windows users through the project [[git_intro | Pymol-script-repo]]<br />
<br />
=== Mac OsX ===<br />
This plugin have not been tested on a Mac OsX machine, but it should work.<br />
<br />
== Usage ==<br />
The plugin can be accessed using the following command:<br />
<br />
<source lang="python"><br />
dehydron [ selection [, angle_range [, max_distance [, desolv [, min_wrappers ]]]]]<br />
</source><br />
<br />
[[Image:Dehydrons.png|580px|thumb|<b>Figure 0</b>: Dehydrons calculated and displayed in PyMOL.]]<br />
<br />
<br />
Or using a graphical environment (see figure 0)<br />
<br />
<br />
There are five parameters the user can change:<br />
<br />
Two of them control the hydrogen bonds detection.<br />
<br />
* Angle range: deviation in degrees from the optimal hydrogen bond angle (C=0 N-H).<br />
* Max distance: maximum donor-acceptor distance in angstroms.<br />
<br />
Although no thoroughly optimized, the default values for the hydrogen bonds parameters were adjusted to get a close agreement between the hydrogen bond listed by wrappy and the ones listed by the [http://swift.cmbi.ru.nl/servers/html/index.html What-If] server.<br />
<br />
Another two control the dehydron detection.<br />
<br />
* Desolvatation sphere radius: this parameter controls the radius of the two spheres centred at the Cα carbon of the donor and acceptor residues. A dehydron is defined by the number of "wrappers" inside this two spheres.<br><br />
* Min wrappers: a hydrogen bond surrounded with less "wrappers" than "min_wrappers" is a dehydron. Setting this parameter to a "high" value, something like 100, will return all main chain hydrogen bonds (according to the angle range and max distance parameters). The default value (19) was taken from a statistical analysis of ~7400 high-quality proteins form the Protein Data Bank (see below).<br />
* Max wrappers: a hydrogen bond surrounded with more "wrappers" than "max_wrappers" is a buried hydrogen bond. The default value (35) was taken from a statistical analysis of ~7400 high-quality proteins form the Protein Data Bank (see below).<br />
<br />
A wrapper is defined as a carbon atom not bonded directly to an oxygen or nitrogen atom, i.e. a non-polar carbon atom. The plug-in count as wrappers any non-polar carbon from any protein chain, organic ligand or other type of molecule, if the atoms belong "selection" (see below). This means that if you have, for example, a dimeric protein you will probably get different results for the dimer and for the isolated monomers. Instead, if you upload two (or more) different files the results will be independent because the plug-in does not count atoms from other objects<br />
<br />
* Selection: This parameter allows the user to select which part of system is used to calculate dehydrons. This parameter is useful, for example, to calculate dehydronds for different objects independently or to easily calculate dehydrons with and without an organic ligand. The default selection is "all". Compute dehydrons for an specific selection is equivalent to delete all but the selected atoms and then compute dehydrons.<br />
<br />
=Methods=<br />
[[Image:Wrappers_histogram.png|350px|thumb|<b>Figure 1</b>:Histogram of the number of wrappers per hydrogen bond (blue bars), the distribution of wrappers approximate a Gaussian distribution (red line). Parameters for the Gaussian fit (mean and standard deviation)are show in the grey box]]<br />
<br />
An analysis of 7476 high quality X-ray proteins was performed in order to estimate the number of wrappers that should be used as a cut-off to determine whether to call an hydrogen bond a dehydron (i.e. the ''min wrappers'' parameter). Although this value have been already estimated in the literature; differences in the algorithms used before and the ones used by wrappy could lead to differences in the exact value of the cut-off and hence this parameter was re-estimated in order to obtain reliable calculation of the dehydrons. To compute the numbers of wrappers the following parameters were used ''angle range'' = 40°, ''Max distance'' = 3.5 Å and ''desolvatation sphere'' = 6.5 Å. A non-redundant set of 7476 proteins were obtained from the Protein Data Bank. Each protein in this set conforms with the following criteria: Resolution < 2.0 Å, R-factors <= 0.25, not containing DNA and/or RNA molecules. Additionally, proteins with a sequence identity of 30% were removed. The frequency of wrappers in this set of proteins approximate a Gaussian distribution (see figure 1) with a mean of ~27 and a standard deviation of ~8, hence an hydrogen bond with less than 19 wrappers is defined as a dehydron (27-8 = 19). In the same fashion and over-wrapped hydrogen bond is and hydrogen bond with more than 35 wrappers (27+8).<br />
<br />
Using the same set of 7476 proteins it was obtained that on average a high quality and globular protein should have 0.62 hydrogen bonds per residue (with a standard deviation of 0.06) and 17 wrappers per residue (with a standard deviation of 2). Hydrogen bonds per residue and wrappers per residue could be used as indicators of the global protein structure quality. Wrappy reports such indicators as z-score, i.e. the number of standard deviations an observation is above or below the expected mean value.<br />
<br />
<br />
== Acknowledgement ==<br />
The H-bond detection code is based on the list_mc_hbonds.py script from Robert L. Campbell http://pldserver1.biochem.queensu.ca/~rlc/work/pymol/<br />
<br />
<br />
== Change log ==<br />
<br />
* 2012-01-14 (Version 1.0)<br />
*# First public version was released and put under version control. In the project, [http://www.pymolwiki.org/index.php/Git_intro Pymol-script-repo].<br />
<br />
*2012-01-28 (Version 1.1) <br />
*# Minor changes in the code most of them not visible for the end-user.<br />
<br />
*2012-02-28 (Version 1.5) <br />
*# The code was cleaned (e.g. remove global variables and other ugly stuff)<br />
*# The code was made available as a PyMOL command<br />
*# Better support for multiple objects<br />
All features in this version and most of the code was provided by [[User:Speleo3|Thomas Holder]], thanks Thomas! :-)<br />
<br />
*2012-03-14 (Version 1.6)<br />
*# Representation is not changed to "cartoon" after each calculation<br />
*# Total control over the selection from which dehydrons are calculated<br />
<br />
*2013-03-26 (Version 1.7)<br />
*# Wrappers were not correctly counted for structures with hydrogen atoms. <br />
Thanks Shafqat Rasool for reporting the bug.<br />
<br />
*2013-07-19 (Version 2.0)<br />
*# The plug-in was renamed to wrappy.<br />
*# Wrappy reports, now, the hydrogen bonds per residue and the wrappers per residue as z-scores. The values of the mean and standard deviation, necessary to compute zscores, where taken from the analysis of ~7400 high quality X-ray proteins from the PDB.<br />
<br />
*2014-03-22 (Version 2.1)<br />
*# Wrappy reports all the hydrogens bonds. Dehydrons are displayed using red dashes, average wrapped hydrogens bonds are yellow, and over-wrapped hydrogens bonds are green.<br />
<br />
==References==<br />
Citation for Dehydrons:<br><br />
De Simone, A., Dodson, G. G., Verma, C. S., Zagari, A., and Fraternali, F. (2005). Prion and water: tight and dynamical hydration sites have a key role in structural stability. Proceedings of the National Academy of Sciences of the United States of America, 102(21), 75357540.<br />
<br />
Fernández, A. and Berry, R. S. (2003). Proteins with h-bond packing defects are highly interactive with lipid bilayers: Implications for amyloidogenesis. Proceedings of the National Academy of Sciences, 100(5), 2391–2396.<br />
<br />
Fernández, A. and Crespo, A. (2008). Protein wrapping: a molecular marker for association, aggregation and drug design. Chemical Society Reviews, 37(11), 2373.<br />
<br />
Fernández, A. and Lynch, M. (2011). Non-adaptive origins of interactome complexity. Nature, 474(7352), 502–505.<br />
<br />
Fernández, A., Rogale, K., Scott, R., and Scheraga, H. A. (2004a). Inhibitor design by wrapping packing defects in HIV-1 proteins. Proceedings of the National Academy of Sciences of the United States of America, 101(32), 1164011645.<br />
<br />
Fernández, A., Scott, R., and Berry, R. S. (2004b). The nonconserved wrapping of conserved protein folds reveals a trend toward increasing connectivity in proteomic networks. Proceedings of the National Academy of Sciences of the United States of America, 101(9), 28232827.<br />
<br />
Kabsch, W. and Sander, C. (1983). Dictionary of protein secondary structure: pattern recognition of hydrogen-bonded and geometrical features. Biopolymers, 22(12),<br />
2577–2637. PMID: 6667333.<br />
<br />
Liang, H., Plazonic, K. R., Chen, J., Li, W.-H., and Fernández, A. (2008). Protein under-wrapping causes dosage sensitivity and decreases gene duplicability. PLoS Genetics, 4(1), e11.<br />
<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Optimize&diff=14024Optimize2017-06-14T08:15:29Z<p>OsvaldoMartin: change license</p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|filename = plugins/optimize.py<br />
|author = [[User:OsvaldoMartin|Osvaldo Martin]]<br />
|license = MIT<br />
}}<br />
<br />
= Introduction =<br />
''Optimize'' provides a PyMOL graphical interface to some of the molecular mechanics features available in [http://openbabel.org openbabel], allowing the user to optimize (minimize) the energy of any molecule uploaded on PyMOL.<br />
<br />
= Installation =<br />
The plugin can be downloaded through the project [[git_intro | Pymol-script-repo]]. <br />
<br />
''Optimize'' needs OpenBabel (and OpenBabel Python bindings) to be installed on your computer (see instructions [http://openbabel.org/wiki/Get_Open_Babel here]).<br />
<br />
'''Note to Windows users:''' If you are using a 64-bit Windows, please install OpenBabel 64-bit from [http://www.lfd.uci.edu/~gohlke/pythonlibs/#openbabel here]<br />
<br />
= Usage =<br />
The plugin can be accessed using a graphic user interface (see figure 0) or from the PyMOL`s terminal. There are 5 types of optimization routines available now, 2 local and 3 global optimization routines.<br />
<br />
== Local optimization ==<br />
Local optimization can be done using the <code>minimize</code> command.<br />
<br />
=== Usage ===<br />
<source lang="python"><br />
minimize [selection [, forcefield [, method [, nsteps [, conv [, cutoff [, cut_vdw [, cut_elec]]]]]]]]<br />
</source><br />
<br />
[[Image:optimize.png|380px|thumb|<b>Figure 0</b>: Optimize plugin GUI]]<br />
<br />
* '''selection''': The name of the object to be minimized. From the command line, the default value is 'all'. When using the GUI, the default value is the first uploaded object.<br />
* '''forcefield''': The forcefield used to compute the Internal Energy. Available options are GAFF, MMFF94s (default), MMFF94, UFF and Ghemical. <br />
* '''method''': The method used to find the local minimum. Available options are "conjugate gradients" (default) and "steepest descent".<br />
* '''nsteps''': Number of iteration steps during the minimization (default = 500).<br />
* '''conv''': Criteria used to judge minimization convergence (default = 0.0001).<br />
* '''cutoff''': Control if cut-off are used or not to compute non-bonded interactions, possible values are True or False (default).<br />
* '''cut_vdw''': If cutoff is True, then this parameter sets the distance (in Angstroms) beyond which two atoms do not interact through Van der Waals forces (default = 6.0).<br />
* '''cut_elec''': If cutoff is True, then this parameter sets the distance (in Angstroms) beyond which two atoms do not interact through electrostatic forces (default = 8.0).<br />
<br />
<br />
=== PyMOL API ===<br />
<source lang="python"><br />
cmd.minimize(string selection="all", string forcefield="MMFF94s", string method="conjugate gradients", <br />
int nsteps=500, float conv=0.0001, bool cutoff=False, float cut_vdw=6.0, float cut_elec=8.0)<br />
</source><br />
<br />
== Global optimization ==<br />
Global optimization can be done using the conf_search command from the PyMOL`s terminal:<br />
<br />
<source lang="python"><br />
conf_search [selection string [, forcefield string [, method string [, nsteps int [, conformers int [, lowest_confor int]]]]]]<br />
</source><br />
<br />
<br />
Where:<br />
* selection: The name of teh object that is going to be minimized. The default value is 'all'. Using the GUI the default value is the first uploaded object.<br />
* forcefield: Choose the forcefield used to compute the Internal Energy, options available are GAFF, MMFF94s, MMFF94, UFF and Ghemical. <br />
* method: Choose the method used to find the global minimum. The methods available are:<br />
<br />
Systematic: Systematically iterate through all possible conformers according to Open Babel’s torsion library. This approach guarantee to find the local minimum (according to the forcefield in use). This approach scales to the power of N, where N is the number of rotatable bonds, hence it is only applicable to molecules with very few rotatable bonds.<br />
<br />
Random: Conformations are generated by randomly choosing from the allowed torsion angles.<br />
<br />
Weighted: This method uses an iterative procedure to find a global minimum. As with the Random method, it randomly choses from the allowed torsion angles but the choice is re-weighted based on the energy of the generated conformer. For molecules with to many rotatable bonds, that are not suitable for for the ''systematic'', this method is generally the best option.<br />
<br />
* nsteps: Number of iteration steps during the minimization.<br />
* conformers: Total number of conformers to be analysed. This option is not available when using the ''systematic'' method because all possible conformers are analysed.<br />
* lowest_conf: This options sets how many of the low-energy conformers are retrieved as the result of a conformational search. Conformers are ordered from low to high energy. This option is not available when using the ''systematic'' method because this method return only the lowest energy conformer.<br />
<br />
In general, it is a good idea to minimize the initial conformation before doing a conformational search.<br />
<br />
= Change log =<br />
*2013-10-06 (Version 0.1)<br />
*# First version. (More features coming soon!)<br />
*2013-10-24 (Version 0.2)<br />
*# now openbabel add the hydrogen and not PyMOL.<br />
*2014-01-27 (Version 0.6)<br />
*# now it is possible to perform global optimization.<br />
*2014-08-22 (Version 0.8)<br />
*# Bug fixed. In version 0.6 the 'selection' and 'steps' parameters for the local minimization were incorrectly taken from the gobal optimization tab<br />
<br />
= Citation =<br />
If you find optimize useful please consider citing this work <br />
Noel M. O'Boyle , Michael Banck , Craig A. James , Chris Morley , Tim Vandermeersch and Geoffrey R. Hutchison. "Open Babel: An open chemical toolbox." Journal of Cheminformatics 2011, 3:33. http://www.jcheminf.com/content/3/1/33 <br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Azahar&diff=13798Azahar2017-01-16T17:07:07Z<p>OsvaldoMartin: add citation information</p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|download = https://github.com/agustinaarroyuelo/Azahar/archive/v0.8.6-beta.zip<br />
|author = Agustina Arroyuelo and [[User:OsvaldoMartin|Osvaldo Martin]]<br />
|license = GPL<br />
}}<br />
<br />
== Description ==<br />
[[Image:Azahar_GUI.png|480px|thumb|Azahar GUI.]]<br />
<br />
Azahar (pronounced /ɑːsɑːˈɑːr/) is a plugin that extends the PyMOL's capabilities to visualize, analyze and model glycans and glycoconjugated molecules. <br />
<br />
== Installation ==<br />
The plugin have been tested on Linux and Windows and should also works on Mac Os X.<br />
To install the plugin just download [https://github.com/agustinaarroyuelo/Azahar/releases/tag/v0.8.5-beta this] zip file and install it using the plugin manager. <br />
<br />
Azahar can be used without any dependencies (i.e. you don't need to install anything else) but if you have installed OpenBabel (and OpenBabel Python bindings) Azahar will use it to perform certain calculations like optimize the geometry of your newly created molecule. OpenBabel is also used during the Monte Carlo with Minimization routine.<br />
<br />
If you still want to install OpenBabel on your computer see instructions [http://openbabel.org/wiki/Get_Open_Babel here]. Users of 64-bit Windows OS, please install OpenBabel 64-bit from [http://www.lfd.uci.edu/~gohlke/pythonlibs/#openbabel here]<br />
<br />
== Usage ==<br />
<br />
The plugin's GUI displays three interactive tabs: Creation, Visualization and Calculations. <br />
Usage is described by tab:<br />
<br />
=== Glycan Creation ===<br />
<br />
The Creation tab contains:<br />
<br />
*Three option menus, two of which are used to specify residues to be connected from a list of predefined templates. And the third one, selects the chemical bond to be used. <br />
<br />
*Three entry boxes, the first one it's called "Repetitions", where the user can enter the number of residues to be connected. The "Position" entry box indicates the index of the residue to which the next bond will be added. On a typical glycan molecule constructed using this plugin, the user would use the "Position" entry box and the bonds menu to specify ramifications. And in the "New Molecule" entry box the user can write the name of the PyMOL object corresponding to the newly created glycan molecule.<br />
<br />
*Finally, The "add" button, when clicked, writes a text file containing the connectivity of the glycan molecule to be created. The user can edit this file or provide it as input. The connectivity instructions are also printed in PyMOL's external GUI. When the "create" button is clicked, the molecule is constructed and displayed in the PyMOL's GUI. The "reset" button resets the entry box's parameters. <br />
<br />
=== Visualization ===<br />
<br />
On this tab the user will find options to visualize glycans with 3 different ''cartoon-like'' representations. The ''cartoon'' representation is build using PyMOL's [[CGO]] and hence the color of the object has to be define it before creating it. Azahar provides a color menu for that purpose, you can choose from a list of colors or use the ''auto'' option (default), that reads the atom colors from the object. For example if you want to color a glycan cartoon using the b-factors, you should first choose that option from the PyMOL's menu and then tell Azahar to create a cartoon representation with the ''auto'' color option.<br />
<br />
You can ''cartoonize'' glycan molecules created by this plugin or loaded from other sources. <br />
<br />
=== Calculations ===<br />
<br />
Radius of gyration and Ramachandran Plot are useful tools for the analysis of glycan molecules. Through this plugin's GUI the user can easily select a range of states to compute these calculations, and in case of the RG, the result will be displayed in the PyMOL's external GUI.<br />
<br />
=== Monte Carlo ===<br />
This feature is still experimental<br />
<br />
A Monte Carlo with Minimization (MCM) is a global optimization method that have proven very efficient to sample the conformational states of complex molecules like proteins, It was first published by [http://www.ncbi.nlm.nih.gov/pmc/articles/PMC299132/ Li and Scheraga], and is some circles is also know as basin hopping. Briefly, the conformational search is done by perturbing a torsional angle (psi, psi, omega or chi), follow by and energy minimization and the new (minimized) conformation is accepted or rejected following the Metropolis-criteria. If the conformation is accepted the next iteration start from the new conformation, otherwise the old conformation is perturbed again.<br />
<br />
From the GUI the user can choose the number of iterations to run, whether or not to use a SASA model to take into account the solvent contribution, and whether or not to start from a random conformation.<br />
<br />
After the MCM procedure is completed the user will get:<br />
<br />
* one .pdb file for each accepted conformation. <br />
* one multi-state .pdb file (automatically uploaded at the end of the run)<br />
* one .pdb file for the conformation with the minimum energy.<br />
* a plain text listing the energy of each saved conformation<br />
<br />
<br />
The internal energy is computed using the MMFF94 force field (as implemented on open-babel) and the contribution of the solvent is approximated using a SASA model (the validity of the SASA model for glycans and the relative weight of the internal and salvation energies needs further test).<br />
<br />
== New templates ==<br />
<br />
You can add your own templates by adding a .pdb file to the Azahar/db_glycans folder, that was created during the plugin installation. The residue number of the template should be 0 and atoms names should have certain names. When in doubt just take a look at one of the already available templates and do not hesitate to contact us.<br />
<br />
== Citation ==<br />
If you find this plugin useful please cite it as:<br />
<br />
Arroyuelo, A., Vila, J.A. & Martin, O.A. J Comput Aided Mol Des (2016) 30: 619. doi:10.1007/s10822-016-9944-x<br />
<br />
== Change log ==<br />
<br />
* 2015-10-2 (Version 0.8.5)<br />
*# Fix templates: reorder atoms, standardize nomenclature and minimize conformations<br />
*# Add new templates<br />
*# Add Monte Carlo with Minimization Routine<br />
*# fix cartoonize for 1-6 and 6-1 bonds<br />
*# add 2 new cartoon-like representations<br />
*# fix minor bugs, clean code and GUI<br />
<br />
* 2015-08-31 (Version 0.8.1)<br />
*# Several bugs fixed, including problems when creating branches.<br />
<br />
* 2015-08-28 (Version 0.8)<br />
*# First beta version and first public version (several bugs expected!).<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Cheshift&diff=13800Cheshift2017-01-16T17:03:23Z<p>OsvaldoMartin: /* References */</p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|download = https://github.com/aloctavodia/cheshift/archive/v3.6.zip<br />
|author = [[User:OsvaldoMartin|Osvaldo Martin]]<br />
|license = GPL<br />
}}<br />
<br />
<br />
== Description ==<br />
[[Image:cheshift.png|thumb|Result of a CheShift analysis.<br> <br />
Colors indicate the difference between predicted and observed <sup>13</sup>C<sup>α</sup> and/or <sup>13</sup>C<sup>β</sup>chemical shifts values averaged over all uploaded conformers.<br />
Green, yellow and red colors represent small, medium and large differences, respectively. White is used if either the prediction failed or the observed value is missing.<br><br />
Blue is used to highlight residues for which the agreement between observed and predicted <sup>13</sup>C<sup>α</sup> and <sup>13</sup>C<sup>β</sup>chemical shifts can be improved, i.e., if the (χ<sup>1</sup> /χ<sup>2</sup> ) side-chain | 440px]]<br />
<br />
CheShift (pronounced /tʃeʃɪft/) is a software for prediction of 13Cα and 13Cβ chemical shifts and validation of proteins structures. It is based on the idea that the differences between observed and predicted <sup>13</sup>C<sup>α</sup> and <sup>13</sup>C<sup>β</sup> chemical shifts can be used as a sensitive probe with which to detect possible local flaws in protein structures. A [http://www.cheshift.com Web Server] is also available.<br />
<br />
This plugin provides a way to use PyMOL to validate a protein model using observed chemical shifts.<br />
<br />
=== Version ===<br />
The current version of this plugin is 3.6<br />
<br />
== Installation ==<br />
=== Linux ===<br />
1) The plugin can be downloaded from here [[https://github.com/aloctavodia/cheshift/archive/v3.6.zip Here]]<br />
<br />
2) If you are using the incentive version of PyMOL skip the next step and go directly to step 4.<br />
<br />
3) You should install NumPy and SciPy. These Python packages are available from the repositories of the main Linux distributions. Just use your default package manager (or command line) to install it. In Ubuntu/Debian you could do "sudo apt-get install python-numpy python-scipy".<br />
<br />
4) Open PyMOL and then go to plugin --> plugin manager --> Install New Plugin --> Install from local file --> Choose file. and choose the zip file you download in step 1. Now the plugin should be installed.<br />
If you have an old version of PyMOL without the plugin manager then, unzip the file downloaded in step 1 and copy the "cheshift" folder to the plugin directory, probably something like "/usr/lib/python2.7/dist-packages/pmg_tk/startup"<br />
<br />
=== Windows ===<br />
This plugin have not been extensively tested on Windows machines, but it passed all the test I have done...<br />
<br />
1) The plugin can be downloaded from here [[https://github.com/aloctavodia/cheshift/archive/v3.6.zip Here]]<br />
<br />
2) If you are using the incentive version of PyMOL skip the next step and go directly to step 4.<br />
<br />
3) You should install NumPy and SciPy. Probably the easiest way to do this on a Windows machine is to install a Python Distribution like [[https://store.continuum.io/cshop/anaconda/ Anaconda]] or [[https://www.enthought.com/products/canopy/ Canopy]]<br />
<br />
4) Open PyMOL and then go to plugin --> plugin manager --> Install New Plugin --> Install from local file --> Choose file. and choose the zip file you download in step 1. On Windows machine this step could take a couple of minutes, just wait for the confirmation message. Now the plugin should be installed.<br />
If you have an old version of PyMOL without the plugin manager then, unzip the file downloaded in step 1 and copy the "cheshift" folder to the plugin directory, probably something like "C:\Python27\Lib\site-packages\pmg_tk\startup\"<br />
<br />
=== Mac OsX ===<br />
This plugin have not been extensively tested on Windows machines, but it passed all the test I have done...<br />
<br />
1) The plugin can be downloaded from here [[https://github.com/aloctavodia/cheshift/archive/v3.6.zip Here]]<br />
<br />
2) If you are using the incentive version of PyMOL skip the next step and go directly to step 4.<br />
<br />
3) You should install NumPy and SciPy. Probably the easiest way to do this on a Windows machine is to install a Python Distribution like [[https://store.continuum.io/cshop/anaconda/ Anaconda]] or [[https://www.enthought.com/products/canopy/ Canopy]]<br />
<br />
4) Open PyMOL and then go to plugin --> plugin manager --> Install New Plugin --> Install from local file --> Choose file. and choose the zip file you download in step 1. Now the plugin should be installed.<br />
If you have an old version of PyMOL without the plugin manager then, unzip the file downloaded in step 1 and copy the "cheshift" folder to the plugin directory, probably something like "/usr/lib/python2.7/dist-packages/pmg_tk/startup"<br />
<br />
== Using the Plugin for predicting <sup>13</sup>C<sup>α</sup> and <sup>13</sup>C<sup>β</sup> chemical shifts==<br />
1) Launch PyMOL and select a PDB file <br><br />
2) Select "Cheshift" from the plugin menu. <br><br />
3) Click the "Run" button.<br><br />
4) The results will be saved in your working directory as a .txt file<br><br />
<br />
== Using the Plugin for protein structure validation ==<br />
1) Launch PyMOL and select a PDB file <br><br />
2) Select "Cheshift" from the plugin menu. <br><br />
3) Select a file with the experimental chemical shift values.<br><br />
4) Click the "Run" button.<br><br />
5) Wait until results are displayed (this could take from seconds to a few minutes, depending on the size of your protein and the speed of your computer<br><br />
<br />
<b>Note:</b><br />
* If the PDB file has more than one chain only the first one will be analysed.<br />
* The PDB file must have no missing residues.<br />
* Missing observed <sup>13</sup>C<sup>α</sup> and <sup>13</sup>C<sup>β</sup> chemical shifts are tolerated.<br />
* A file with observed <sup>13</sup>C<sup>α</sup> and/or <sup>13</sup>C<sup>β</sup> chemical shift values is needed. The format of this file should be the one used in the BMRB or the PDB. Alternatively, you can provide a file with the following format the first line should contain the name of the reference compound i.e DSS, TSP or TMS. The following lines should have four columns. The first column should be the residue number, the second the residue name (three-letter code) and the third column the <sup>13</sup>C<sup>α</sup> experimental chemical shifts and the last column the <sup>13</sup>C<sup>β</sup> chemical shifts. Spaces should be used to separates the columns.<br />
<br />
DSS<br><br />
1 MET 55.63 32.95<br><br />
2 TYR 62.81 39.27<br><br />
3 ALA 53.78 18.97<br><br />
4 GLY 47.24 999.00<br><br />
5 LYS 57.55 32.77<br><br />
6 ILE 56.38 38.59<br><br />
<br />
<br />
== License ==<br />
<i>Che</i>Shift plugin is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License. A complete copy of the GNU General Public License can be accessed [http://www.gnu.org/licenses here].<br />
<br />
<i>Che</i>Shift uses data derived from the [http://dunbrack.fccc.edu/ndrd/ Neighbor-Dependent Ramachandran Distributions] obtained by the Dunbrack Lab. This derived data is also released under the GPL license, with the permission of Professor Roland Dunbrack. The full NDRD data is released using a different [http://dunbrack.fccc.edu/ndrd/license/index.html license].<br />
<br />
== Change log ==<br />
<br />
* 2014-07-02 (Version 3.6)<br />
Fix bug with relative path and add computation of the conformationally averaged rmsd (ca_rmsd). The ca_rmsd is the root mean square deviation of the theoretical chemical shift and the observed chemical shifts. The ca_rmsd is calculated for both nuclei (<sup>13</sup>C<sup>α</sup> and <sup>13</sup>C<sup>β</sup>). If more than one conformation is used, the theoretical chemical shift for each residue is the average along all conformations.<br />
<br />
* 2014-05-23 (Version 3.5)<br />
Previous versions required an Internet connection. This is the first stand alone version, i.e. all computations are performed on the local machine.<br />
This version of the plugin performs the same computations the <i>Che</i>Shift Server does. For details please read [1] <br />
<br />
* 2013-08-28 (Version 3.0)<br />
This version was able to establish a connection to the version of the <i>Che</i>Shift Server described in [1]<br />
<br />
* 2012-02-14 (Version 2.0)<br />
This version was able to establish a connection to the version of the <i>Che</i>Shift Server described in [2]<br />
<br />
== Citation ==<br />
If you find this plugin useful please cite it as:<br />
<br />
Martin O.A. Vila J.A. and Scheraga H.A. (2012). <i>Che</i>Shift-2: Graphic validation of protein structures. Bioinformatics 2012. 28(11), 1538-1539. <br />
<br />
== References ==<br />
[1] Martin O.A. Arnautova Y.A. Icazatti A.A. Scheraga H.A. and Vila J.A. A Physics-Based Method to Validate and Repair Flaws in Protein Structures. Proc Natl Acad Sci USA 2013, vol. 110 16826-16831.<br />
<br />
[2] Vila J.A. Arnautova Y.A. Martin O.A. and Scheraga, H.A. (2009). Quantum-mechanics-derived <sup>13</sup>C chemical shift server (<i>Che</i>Shift) for protein structure validation. PNAS, 106(40), 16972-16977.<br />
<br />
[3] Vila, J.A. and Scheraga H.A. (2009). Assessing the accuracy of protein structures by quantum mechanical computations of <sup>13</sup>C<sup>α</sup> chemical shifts. Accounts of chemical research, 42(10), 1545-53.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Azahar&diff=13740Azahar2016-10-22T02:14:23Z<p>OsvaldoMartin: /* Monte Carlo */</p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|download = https://github.com/agustinaarroyuelo/Azahar/archive/v0.8.6-beta.zip<br />
|author = Agustina Arroyuelo and [[User:OsvaldoMartin|Osvaldo Martin]]<br />
|license = GPL<br />
}}<br />
<br />
== Description ==<br />
[[Image:Azahar_GUI.png|480px|thumb|Azahar GUI.]]<br />
<br />
Azahar (pronounced /ɑːsɑːˈɑːr/) is a plugin that extends the PyMOL's capabilities to visualize, analyze and model glycans and glycoconjugated molecules. <br />
<br />
== Installation ==<br />
The plugin have been tested on Linux and Windows and should also works on Mac Os X.<br />
To install the plugin just download [https://github.com/agustinaarroyuelo/Azahar/releases/tag/v0.8.5-beta this] zip file and install it using the plugin manager. <br />
<br />
Azahar can be used without any dependencies (i.e. you don't need to install anything else) but if you have installed OpenBabel (and OpenBabel Python bindings) Azahar will use it to perform certain calculations like optimize the geometry of your newly created molecule. OpenBabel is also used during the Monte Carlo with Minimization routine.<br />
<br />
If you still want to install OpenBabel on your computer see instructions [http://openbabel.org/wiki/Get_Open_Babel here]. Users of 64-bit Windows OS, please install OpenBabel 64-bit from [http://www.lfd.uci.edu/~gohlke/pythonlibs/#openbabel here]<br />
<br />
== Usage ==<br />
<br />
The plugin's GUI displays three interactive tabs: Creation, Visualization and Calculations. <br />
Usage is described by tab:<br />
<br />
=== Glycan Creation ===<br />
<br />
The Creation tab contains:<br />
<br />
*Three option menus, two of which are used to specify residues to be connected from a list of predefined templates. And the third one, selects the chemical bond to be used. <br />
<br />
*Three entry boxes, the first one it's called "Repetitions", where the user can enter the number of residues to be connected. The "Position" entry box indicates the index of the residue to which the next bond will be added. On a typical glycan molecule constructed using this plugin, the user would use the "Position" entry box and the bonds menu to specify ramifications. And in the "New Molecule" entry box the user can write the name of the PyMOL object corresponding to the newly created glycan molecule.<br />
<br />
*Finally, The "add" button, when clicked, writes a text file containing the connectivity of the glycan molecule to be created. The user can edit this file or provide it as input. The connectivity instructions are also printed in PyMOL's external GUI. When the "create" button is clicked, the molecule is constructed and displayed in the PyMOL's GUI. The "reset" button resets the entry box's parameters. <br />
<br />
=== Visualization ===<br />
<br />
On this tab the user will find options to visualize glycans with 3 different ''cartoon-like'' representations. The ''cartoon'' representation is build using PyMOL's [[CGO]] and hence the color of the object has to be define it before creating it. Azahar provides a color menu for that purpose, you can choose from a list of colors or use the ''auto'' option (default), that reads the atom colors from the object. For example if you want to color a glycan cartoon using the b-factors, you should first choose that option from the PyMOL's menu and then tell Azahar to create a cartoon representation with the ''auto'' color option.<br />
<br />
You can ''cartoonize'' glycan molecules created by this plugin or loaded from other sources. <br />
<br />
=== Calculations ===<br />
<br />
Radius of gyration and Ramachandran Plot are useful tools for the analysis of glycan molecules. Through this plugin's GUI the user can easily select a range of states to compute these calculations, and in case of the RG, the result will be displayed in the PyMOL's external GUI.<br />
<br />
=== Monte Carlo ===<br />
This feature is still experimental<br />
<br />
A Monte Carlo with Minimization (MCM) is a global optimization method that have proven very efficient to sample the conformational states of complex molecules like proteins, It was first published by [http://www.ncbi.nlm.nih.gov/pmc/articles/PMC299132/ Li and Scheraga], and is some circles is also know as basin hopping. Briefly, the conformational search is done by perturbing a torsional angle (psi, psi, omega or chi), follow by and energy minimization and the new (minimized) conformation is accepted or rejected following the Metropolis-criteria. If the conformation is accepted the next iteration start from the new conformation, otherwise the old conformation is perturbed again.<br />
<br />
From the GUI the user can choose the number of iterations to run, whether or not to use a SASA model to take into account the solvent contribution, and whether or not to start from a random conformation.<br />
<br />
After the MCM procedure is completed the user will get:<br />
<br />
* one .pdb file for each accepted conformation. <br />
* one multi-state .pdb file (automatically uploaded at the end of the run)<br />
* one .pdb file for the conformation with the minimum energy.<br />
* a plain text listing the energy of each saved conformation<br />
<br />
<br />
The internal energy is computed using the MMFF94 force field (as implemented on open-babel) and the contribution of the solvent is approximated using a SASA model (the validity of the SASA model for glycans and the relative weight of the internal and salvation energies needs further test).<br />
<br />
== New templates ==<br />
<br />
You can add your own templates by adding a .pdb file to the Azahar/db_glycans folder, that was created during the plugin installation. The residue number of the template should be 0 and atoms names should have certain names. When in doubt just take a look at one of the already available templates and do not hesitate to contact us.<br />
<br />
== Change log ==<br />
<br />
* 2015-10-2 (Version 0.8.5)<br />
*# Fix templates: reorder atoms, standardize nomenclature and minimize conformations<br />
*# Add new templates<br />
*# Add Monte Carlo with Minimization Routine<br />
*# fix cartoonize for 1-6 and 6-1 bonds<br />
*# add 2 new cartoon-like representations<br />
*# fix minor bugs, clean code and GUI<br />
<br />
* 2015-08-31 (Version 0.8.1)<br />
*# Several bugs fixed, including problems when creating branches.<br />
<br />
* 2015-08-28 (Version 0.8)<br />
*# First beta version and first public version (several bugs expected!).<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Dehydron&diff=13537Dehydron2016-05-26T20:31:48Z<p>OsvaldoMartin: fix some typos</p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|filename = plugins/dehydron.py<br />
|author = [[User:OsvaldoMartin|Osvaldo Martin]]<br />
|license = GPL<br />
}}<br />
=Introduction=<br />
A dehydron is a protein backbone hydrogen bond incompletely shielded from water attack. A desolvated hydrogen bond is energetically more favourable than one exposed to the solvent and hence dehydrons are ''sticky'' , since they promote the removal of surrounding water through protein associations or ligand binding. <br />
<br />
Dehydrons are less conserved than other structural motifs, hence identification of dehydrons could help to increase specificity during the rational drug design process. Certain proteins are enriched in dehydrons such as membrane proteins, toxic proteins and proteins that have a strong tendency to aggregate. Dehydrons have been invoked to explain biological processes above the molecular level such as the dosage imbalance effect in duplicated genes and the high connectivity of the protein interactomes of higher organisms. <br />
<br />
A putative dehydron can be detected by counting the number of ''wrappers'' that surround a hydrogen bond. A wrapper is defined as a carbon atom not bonded directly to an oxygen or nitrogen atom, i.e. a non-polar carbon atom. A dehydron is defined by the number of wrappers inside two overlapping spheres centred at the Cα carbon of the donor and acceptor residues. If the number of wrappers around an hydrogen bond is below a certain cut-off value that hydrogen bond is identified as a dehydron.<br />
<br />
<br />
== Installation ==<br />
=== Linux ===<br />
This plugin is ready "out-of-box" for Linux users through the project [[git_intro | Pymol-script-repo]]<br />
<br />
=== Windows ===<br />
This plugin is ready "out-of-box" for Windows users through the project [[git_intro | Pymol-script-repo]]<br />
<br />
=== Mac OsX ===<br />
This plugin have not been tested on a Mac OsX machine, but it should work.<br />
<br />
== Usage ==<br />
The plugin can be accessed using the following command:<br />
<br />
<source lang="python"><br />
dehydron [ selection [, angle_range [, max_distance [, desolv [, min_wrappers ]]]]]<br />
</source><br />
<br />
[[Image:Dehydrons.png|580px|thumb|<b>Figure 0</b>: Dehydrons calculated and displayed in PyMOL.]]<br />
<br />
<br />
Or using a graphical environment (see figure 0)<br />
<br />
<br />
There are five parameters the user can change:<br />
<br />
Two of them control the hydrogen bonds detection.<br />
<br />
* Angle range: deviation in degrees from the optimal hydrogen bond angle (C=0 N-H).<br />
* Max distance: maximum donor-acceptor distance in angstroms.<br />
<br />
Although no thoroughly optimized, the default values for the hydrogen bonds parameters were adjusted to get a close agreement between the hydrogen bond listed by wrappy and the ones listed by the [http://swift.cmbi.ru.nl/servers/html/index.html What-If] server.<br />
<br />
Another two control the dehydron detection.<br />
<br />
* Desolvatation sphere radius: this parameter controls the radius of the two spheres centred at the Cα carbon of the donor and acceptor residues. A dehydron is defined by the number of "wrappers" inside this two spheres.<br><br />
* Min wrappers: a hydrogen bond surrounded with less "wrappers" than "min_wrappers" is a dehydron. Setting this parameter to a "high" value, something like 100, will return all main chain hydrogen bonds (according to the angle range and max distance parameters). The default value (19) was taken from a statistical analysis of ~7400 high-quality proteins form the Protein Data Bank (see below).<br />
* Max wrappers: a hydrogen bond surrounded with more "wrappers" than "max_wrappers" is a buried hydrogen bond. The default value (35) was taken from a statistical analysis of ~7400 high-quality proteins form the Protein Data Bank (see below).<br />
<br />
A wrapper is defined as a carbon atom not bonded directly to an oxygen or nitrogen atom, i.e. a non-polar carbon atom. The plug-in count as wrappers any non-polar carbon from any protein chain, organic ligand or other type of molecule, if the atoms belong "selection" (see below). This means that if you have, for example, a dimeric protein you will probably get different results for the dimer and for the isolated monomers. Instead, if you upload two (or more) different files the results will be independent because the plug-in does not count atoms from other objects<br />
<br />
* Selection: This parameter allows the user to select which part of system is used to calculate dehydrons. This parameter is useful, for example, to calculate dehydronds for different objects independently or to easily calculate dehydrons with and without an organic ligand. The default selection is "all". Compute dehydrons for an specific selection is equivalent to delete all but the selected atoms and then compute dehydrons.<br />
<br />
=Methods=<br />
[[Image:Wrappers_histogram.png|350px|thumb|<b>Figure 1</b>:Histogram of the number of wrappers per hydrogen bond (blue bars), the distribution of wrappers approximate a Gaussian distribution (red line). Parameters for the Gaussian fit (mean and standard deviation)are show in the grey box]]<br />
<br />
An analysis of 7476 high quality X-ray proteins was performed in order to estimate the number of wrappers that should be used as a cut-off to determine whether to call an hydrogen bond a dehydron (i.e. the ''min wrappers'' parameter). Although this value have been already estimated in the literature; differences in the algorithms used before and the ones used by wrappy could lead to differences in the exact value of the cut-off and hence this parameter was re-estimated in order to obtain reliable calculation of the dehydrons. To compute the numbers of wrappers the following parameters were used ''angle range'' = 40°, ''Max distance'' = 3.5 Å and ''desolvatation sphere'' = 6.5 Å. A non-redundant set of 7476 proteins were obtained from the Protein Data Bank. Each protein in this set conforms with the following criteria: Resolution < 2.0 Å, R-factors <= 0.25, not containing DNA and/or RNA molecules. Additionally, proteins with a sequence identity of 30% were removed. The frequency of wrappers in this set of proteins approximate a Gaussian distribution (see figure 1) with a mean of ~27 and a standard deviation of ~8, hence an hydrogen bond with less than 19 wrappers is defined as a dehydron (27-8 = 19). In the same fashion and over-wrapped hydrogen bond is and hydrogen bond with more than 35 wrappers (27+8).<br />
<br />
Using the same set of 7476 proteins it was obtained that on average a high quality and globular protein should have 0.62 hydrogen bonds per residue (with a standard deviation of 0.06) and 17 wrappers per residue (with a standard deviation of 2). Hydrogen bonds per residue and wrappers per residue could be used as indicators of the global protein structure quality. Wrappy reports such indicators as z-score, i.e. the number of standard deviations an observation is above or below the expected mean value.<br />
<br />
<br />
== Acknowledgement ==<br />
The H-bond detection code is based on the list_mc_hbonds.py script from Robert L. Campbell http://pldserver1.biochem.queensu.ca/~rlc/work/pymol/<br />
<br />
<br />
== Change log ==<br />
<br />
* 2012-01-14 (Version 1.0)<br />
*# First public version was released and put under version control. In the project, [http://www.pymolwiki.org/index.php/Git_intro Pymol-script-repo].<br />
<br />
*2012-01-28 (Version 1.1) <br />
*# Minor changes in the code most of them not visible for the end-user.<br />
<br />
*2012-02-28 (Version 1.5) <br />
*# The code was cleaned (e.g. remove global variables and other ugly stuff)<br />
*# The code was made available as a PyMOL command<br />
*# Better support for multiple objects<br />
All features in this version and most of the code was provided by [[User:Speleo3|Thomas Holder]], thanks Thomas! :-)<br />
<br />
*2012-03-14 (Version 1.6)<br />
*# Representation is not changed to "cartoon" after each calculation<br />
*# Total control over the selection from which dehydrons are calculated<br />
<br />
*2013-03-26 (Version 1.7)<br />
*# Wrappers were not correctly counted for structures with hydrogen atoms. <br />
Thanks Shafqat Rasool for reporting the bug.<br />
<br />
*2013-07-19 (Version 2.0)<br />
*# The plug-in was renamed to wrappy.<br />
*# Wrappy reports, now, the hydrogen bonds per residue and the wrappers per residue as z-scores. The values of the mean and standard deviation, necessary to compute zscores, where taken from the analysis of ~7400 high quality X-ray proteins from the PDB.<br />
<br />
*2014-03-22 (Version 2.1)<br />
*# Wrappy reports all the hydrogens bonds. Dehydrons are displayed using red dashes, average wrapped hydrogens bonds are yellow, and over-wrapped hydrogens bonds are green.<br />
<br />
==References==<br />
Citation for Dehydrons:<br><br />
De Simone, A., Dodson, G. G., Verma, C. S., Zagari, A., and Fraternali, F. (2005). Prion and water: tight and dynamical hydration sites have a key role in structural stability. Proceedings of the National Academy of Sciences of the United States of America, 102(21), 75357540.<br />
<br />
Fernández, A. and Berry, R. S. (2003). Proteins with h-bond packing defects are highly interactive with lipid bilayers: Implications for amyloidogenesis. Proceedings of the National Academy of Sciences, 100(5), 2391–2396.<br />
<br />
Fernández, A. and Crespo, A. (2008). Protein wrapping: a molecular marker for association, aggregation and drug design. Chemical Society Reviews, 37(11), 2373.<br />
<br />
Fernández, A. and Lynch, M. (2011). Non-adaptive origins of interactome complexity. Nature, 474(7352), 502–505.<br />
<br />
Fernández, A., Rogale, K., Scott, R., and Scheraga, H. A. (2004a). Inhibitor design by wrapping packing defects in HIV-1 proteins. Proceedings of the National Academy of Sciences of the United States of America, 101(32), 1164011645.<br />
<br />
Fernández, A., Scott, R., and Berry, R. S. (2004b). The nonconserved wrapping of conserved protein folds reveals a trend toward increasing connectivity in proteomic networks. Proceedings of the National Academy of Sciences of the United States of America, 101(9), 28232827.<br />
<br />
Kabsch, W. and Sander, C. (1983). Dictionary of protein secondary structure: pattern recognition of hydrogen-bonded and geometrical features. Biopolymers, 22(12),<br />
2577–2637. PMID: 6667333.<br />
<br />
Liang, H., Plazonic, K. R., Chen, J., Li, W.-H., and Fernández, A. (2008). Protein under-wrapping causes dosage sensitivity and decreases gene duplicability. PLoS Genetics, 4(1), e11.<br />
<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Azahar&diff=13502Azahar2016-04-29T12:57:12Z<p>OsvaldoMartin: /* Installation */ update link</p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|download = https://github.com/agustinaarroyuelo/Azahar/archive/v0.8.6-beta.zip<br />
|author = Agustina Arroyuelo and [[User:OsvaldoMartin|Osvaldo Martin]]<br />
|license = GPL<br />
}}<br />
<br />
== Description ==<br />
[[Image:Azahar_GUI.png|480px|thumb|Azahar GUI.]]<br />
<br />
Azahar (pronounced /ɑːsɑːˈɑːr/) is a plugin that extends the PyMOL's capabilities to visualize, analyze and model glycans and glycoconjugated molecules. <br />
<br />
== Installation ==<br />
The plugin have been tested on Linux and Windows and should also works on Mac Os X.<br />
To install the plugin just download [https://github.com/agustinaarroyuelo/Azahar/releases/tag/v0.8.5-beta this] zip file and install it using the plugin manager. <br />
<br />
Azahar can be used without any dependencies (i.e. you don't need to install anything else) but if you have installed OpenBabel (and OpenBabel Python bindings) Azahar will use it to perform certain calculations like optimize the geometry of your newly created molecule. OpenBabel is also used during the Monte Carlo with Minimization routine.<br />
<br />
If you still want to install OpenBabel on your computer see instructions [http://openbabel.org/wiki/Get_Open_Babel here]. Users of 64-bit Windows OS, please install OpenBabel 64-bit from [http://www.lfd.uci.edu/~gohlke/pythonlibs/#openbabel here]<br />
<br />
== Usage ==<br />
<br />
The plugin's GUI displays three interactive tabs: Creation, Visualization and Calculations. <br />
Usage is described by tab:<br />
<br />
=== Glycan Creation ===<br />
<br />
The Creation tab contains:<br />
<br />
*Three option menus, two of which are used to specify residues to be connected from a list of predefined templates. And the third one, selects the chemical bond to be used. <br />
<br />
*Three entry boxes, the first one it's called "Repetitions", where the user can enter the number of residues to be connected. The "Position" entry box indicates the index of the residue to which the next bond will be added. On a typical glycan molecule constructed using this plugin, the user would use the "Position" entry box and the bonds menu to specify ramifications. And in the "New Molecule" entry box the user can write the name of the PyMOL object corresponding to the newly created glycan molecule.<br />
<br />
*Finally, The "add" button, when clicked, writes a text file containing the connectivity of the glycan molecule to be created. The user can edit this file or provide it as input. The connectivity instructions are also printed in PyMOL's external GUI. When the "create" button is clicked, the molecule is constructed and displayed in the PyMOL's GUI. The "reset" button resets the entry box's parameters. <br />
<br />
=== Visualization ===<br />
<br />
On this tab the user will find options to visualize glycans with 3 different ''cartoon-like'' representations. The ''cartoon'' representation is build using PyMOL's [[CGO]] and hence the color of the object has to be define it before creating it. Azahar provides a color menu for that purpose, you can choose from a list of colors or use the ''auto'' option (default), that reads the atom colors from the object. For example if you want to color a glycan cartoon using the b-factors, you should first choose that option from the PyMOL's menu and then tell Azahar to create a cartoon representation with the ''auto'' color option.<br />
<br />
You can ''cartoonize'' glycan molecules created by this plugin or loaded from other sources. <br />
<br />
=== Calculations ===<br />
<br />
Radius of gyration and Ramachandran Plot are useful tools for the analysis of glycan molecules. Through this plugin's GUI the user can easily select a range of states to compute these calculations, and in case of the RG, the result will be displayed in the PyMOL's external GUI.<br />
<br />
=== Monte Carlo ===<br />
This feature will be available in the next stable release (although is already available at [https://github.com/agustinaarroyuelo/Azahar github]).<br />
<br />
A Monte Carlo with Minimization (MCM) is a global optimization method that have proven very efficient to sample the conformational states of complex molecules like proteins, It was first published by [http://www.ncbi.nlm.nih.gov/pmc/articles/PMC299132/ Li and Scheraga], and is some circles is also know as basin hopping. Briefly, the conformational search is done by perturbing a torsional angle (psi, psi, omega or chi), follow by and energy minimization and the new (minimized) conformation is accepted or rejected following the Metropolis-criteria. If the conformation is accepted the next iteration start from the new conformation, otherwise the old conformation is perturbed again.<br />
<br />
From the GUI the user can choose the number of iterations to run, whether or not to use a SASA model to take into account the solvent contribution, and whether or not to start from a random conformation.<br />
<br />
After the MCM procedure is completed the user will get:<br />
<br />
* one .pdb file for each accepted conformation. <br />
* one multi-state .pdb file (automatically uploaded at the end of the run)<br />
* one .pdb file for the conformation with the minimum energy.<br />
* a plain text listing the energy of each saved conformation<br />
<br />
<br />
The internal energy is computed using the MMFF94 force field (as implemented on open-babel) and the contribution of the solvent is approximated using a SASA model (the validity of the SASA model for glycans and the relative weight of the internal and salvation energies needs further test).<br />
<br />
== New templates ==<br />
<br />
You can add your own templates by adding a .pdb file to the Azahar/db_glycans folder, that was created during the plugin installation. The residue number of the template should be 0 and atoms names should have certain names. When in doubt just take a look at one of the already available templates and do not hesitate to contact us.<br />
<br />
== Change log ==<br />
<br />
* 2015-10-2 (Version 0.8.5)<br />
*# Fix templates: reorder atoms, standardize nomenclature and minimize conformations<br />
*# Add new templates<br />
*# Add Monte Carlo with Minimization Routine<br />
*# fix cartoonize for 1-6 and 6-1 bonds<br />
*# add 2 new cartoon-like representations<br />
*# fix minor bugs, clean code and GUI<br />
<br />
* 2015-08-31 (Version 0.8.1)<br />
*# Several bugs fixed, including problems when creating branches.<br />
<br />
* 2015-08-28 (Version 0.8)<br />
*# First beta version and first public version (several bugs expected!).<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Azahar&diff=13501Azahar2016-04-29T12:33:11Z<p>OsvaldoMartin: /* Installation */ update link</p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|download = https://github.com/agustinaarroyuelo/Azahar/archive/v0.8.5-beta.zip<br />
|author = Agustina Arroyuelo and [[User:OsvaldoMartin|Osvaldo Martin]]<br />
|license = GPL<br />
}}<br />
<br />
== Description ==<br />
[[Image:Azahar_GUI.png|480px|thumb|Azahar GUI.]]<br />
<br />
Azahar (pronounced /ɑːsɑːˈɑːr/) is a plugin that extends the PyMOL's capabilities to visualize, analyze and model glycans and glycoconjugated molecules. <br />
<br />
== Installation ==<br />
The plugin have been tested on Linux and Windows and should also works on Mac Os X.<br />
To install the plugin just download [https://github.com/agustinaarroyuelo/Azahar/releases/tag/v0.8.5-beta this] zip file and install it using the plugin manager. <br />
<br />
Azahar can be used without any dependencies (i.e. you don't need to install anything else) but if you have installed OpenBabel (and OpenBabel Python bindings) Azahar will use it to perform certain calculations like optimize the geometry of your newly created molecule. OpenBabel is also used during the Monte Carlo with Minimization routine.<br />
<br />
If you still want to install OpenBabel on your computer see instructions [http://openbabel.org/wiki/Get_Open_Babel here]. Users of 64-bit Windows OS, please install OpenBabel 64-bit from [http://www.lfd.uci.edu/~gohlke/pythonlibs/#openbabel here]<br />
<br />
== Usage ==<br />
<br />
The plugin's GUI displays three interactive tabs: Creation, Visualization and Calculations. <br />
Usage is described by tab:<br />
<br />
=== Glycan Creation ===<br />
<br />
The Creation tab contains:<br />
<br />
*Three option menus, two of which are used to specify residues to be connected from a list of predefined templates. And the third one, selects the chemical bond to be used. <br />
<br />
*Three entry boxes, the first one it's called "Repetitions", where the user can enter the number of residues to be connected. The "Position" entry box indicates the index of the residue to which the next bond will be added. On a typical glycan molecule constructed using this plugin, the user would use the "Position" entry box and the bonds menu to specify ramifications. And in the "New Molecule" entry box the user can write the name of the PyMOL object corresponding to the newly created glycan molecule.<br />
<br />
*Finally, The "add" button, when clicked, writes a text file containing the connectivity of the glycan molecule to be created. The user can edit this file or provide it as input. The connectivity instructions are also printed in PyMOL's external GUI. When the "create" button is clicked, the molecule is constructed and displayed in the PyMOL's GUI. The "reset" button resets the entry box's parameters. <br />
<br />
=== Visualization ===<br />
<br />
On this tab the user will find options to visualize glycans with 3 different ''cartoon-like'' representations. The ''cartoon'' representation is build using PyMOL's [[CGO]] and hence the color of the object has to be define it before creating it. Azahar provides a color menu for that purpose, you can choose from a list of colors or use the ''auto'' option (default), that reads the atom colors from the object. For example if you want to color a glycan cartoon using the b-factors, you should first choose that option from the PyMOL's menu and then tell Azahar to create a cartoon representation with the ''auto'' color option.<br />
<br />
You can ''cartoonize'' glycan molecules created by this plugin or loaded from other sources. <br />
<br />
=== Calculations ===<br />
<br />
Radius of gyration and Ramachandran Plot are useful tools for the analysis of glycan molecules. Through this plugin's GUI the user can easily select a range of states to compute these calculations, and in case of the RG, the result will be displayed in the PyMOL's external GUI.<br />
<br />
=== Monte Carlo ===<br />
This feature will be available in the next stable release (although is already available at [https://github.com/agustinaarroyuelo/Azahar github]).<br />
<br />
A Monte Carlo with Minimization (MCM) is a global optimization method that have proven very efficient to sample the conformational states of complex molecules like proteins, It was first published by [http://www.ncbi.nlm.nih.gov/pmc/articles/PMC299132/ Li and Scheraga], and is some circles is also know as basin hopping. Briefly, the conformational search is done by perturbing a torsional angle (psi, psi, omega or chi), follow by and energy minimization and the new (minimized) conformation is accepted or rejected following the Metropolis-criteria. If the conformation is accepted the next iteration start from the new conformation, otherwise the old conformation is perturbed again.<br />
<br />
From the GUI the user can choose the number of iterations to run, whether or not to use a SASA model to take into account the solvent contribution, and whether or not to start from a random conformation.<br />
<br />
After the MCM procedure is completed the user will get:<br />
<br />
* one .pdb file for each accepted conformation. <br />
* one multi-state .pdb file (automatically uploaded at the end of the run)<br />
* one .pdb file for the conformation with the minimum energy.<br />
* a plain text listing the energy of each saved conformation<br />
<br />
<br />
The internal energy is computed using the MMFF94 force field (as implemented on open-babel) and the contribution of the solvent is approximated using a SASA model (the validity of the SASA model for glycans and the relative weight of the internal and salvation energies needs further test).<br />
<br />
== New templates ==<br />
<br />
You can add your own templates by adding a .pdb file to the Azahar/db_glycans folder, that was created during the plugin installation. The residue number of the template should be 0 and atoms names should have certain names. When in doubt just take a look at one of the already available templates and do not hesitate to contact us.<br />
<br />
== Change log ==<br />
<br />
* 2015-10-2 (Version 0.8.5)<br />
*# Fix templates: reorder atoms, standardize nomenclature and minimize conformations<br />
*# Add new templates<br />
*# Add Monte Carlo with Minimization Routine<br />
*# fix cartoonize for 1-6 and 6-1 bonds<br />
*# add 2 new cartoon-like representations<br />
*# fix minor bugs, clean code and GUI<br />
<br />
* 2015-08-31 (Version 0.8.1)<br />
*# Several bugs fixed, including problems when creating branches.<br />
<br />
* 2015-08-28 (Version 0.8)<br />
*# First beta version and first public version (several bugs expected!).<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Azahar&diff=13396Azahar2016-02-07T21:58:49Z<p>OsvaldoMartin: /* Installation */ update link</p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|download = https://github.com/agustinaarroyuelo/Azahar/releases/tag/v0.8.5-beta<br />
|author = Agustina Arroyuelo and [[User:OsvaldoMartin|Osvaldo Martin]]<br />
|license = GPL<br />
}}<br />
<br />
== Description ==<br />
[[Image:Azahar_GUI.png|480px|thumb|Azahar GUI.]]<br />
<br />
Azahar (pronounced /ɑːsɑːˈɑːr/) is a plugin that extends the PyMOL's capabilities to visualize, analyze and model glycans and glycoconjugated molecules. <br />
<br />
== Installation ==<br />
The plugin have been tested on Linux and Windows and should also works on Mac Os X.<br />
To install the plugin just download [https://github.com/agustinaarroyuelo/Azahar/releases/tag/v0.8.5-beta this] zip file and install it using the plugin manager. <br />
<br />
Azahar can be used without any dependencies (i.e. you don't need to install anything else) but if you have installed OpenBabel (and OpenBabel Python bindings) Azahar will use it to perform certain calculations like optimize the geometry of your newly created molecule. OpenBabel is also used during the Monte Carlo with Minimization routine.<br />
<br />
If you still want to install OpenBabel on your computer see instructions [http://openbabel.org/wiki/Get_Open_Babel here]. Users of 64-bit Windows OS, please install OpenBabel 64-bit from [http://www.lfd.uci.edu/~gohlke/pythonlibs/#openbabel here]<br />
<br />
== Usage ==<br />
<br />
The plugin's GUI displays three interactive tabs: Creation, Visualization and Calculations. <br />
Usage is described by tab:<br />
<br />
=== Glycan Creation ===<br />
<br />
The Creation tab contains:<br />
<br />
*Three option menus, two of which are used to specify residues to be connected from a list of predefined templates. And the third one, selects the chemical bond to be used. <br />
<br />
*Three entry boxes, the first one it's called "Repetitions", where the user can enter the number of residues to be connected. The "Position" entry box indicates the index of the residue to which the next bond will be added. On a typical glycan molecule constructed using this plugin, the user would use the "Position" entry box and the bonds menu to specify ramifications. And in the "New Molecule" entry box the user can write the name of the PyMOL object corresponding to the newly created glycan molecule.<br />
<br />
*Finally, The "add" button, when clicked, writes a text file containing the connectivity of the glycan molecule to be created. The user can edit this file or provide it as input. The connectivity instructions are also printed in PyMOL's external GUI. When the "create" button is clicked, the molecule is constructed and displayed in the PyMOL's GUI. The "reset" button resets the entry box's parameters. <br />
<br />
=== Visualization ===<br />
<br />
On this tab the user will find options to visualize glycans with 3 different ''cartoon-like'' representations. The ''cartoon'' representation is build using PyMOL's [[CGO]] and hence the color of the object has to be define it before creating it. Azahar provides a color menu for that purpose, you can choose from a list of colors or use the ''auto'' option (default), that reads the atom colors from the object. For example if you want to color a glycan cartoon using the b-factors, you should first choose that option from the PyMOL's menu and then tell Azahar to create a cartoon representation with the ''auto'' color option.<br />
<br />
You can ''cartoonize'' glycan molecules created by this plugin or loaded from other sources. <br />
<br />
=== Calculations ===<br />
<br />
Radius of gyration and Ramachandran Plot are useful tools for the analysis of glycan molecules. Through this plugin's GUI the user can easily select a range of states to compute these calculations, and in case of the RG, the result will be displayed in the PyMOL's external GUI.<br />
<br />
=== Monte Carlo ===<br />
This feature will be available in the next stable release (although is already available at [https://github.com/agustinaarroyuelo/Azahar github]).<br />
<br />
A Monte Carlo with Minimization (MCM) is a global optimization method that have proven very efficient to sample the conformational states of complex molecules like proteins, It was first published by [http://www.ncbi.nlm.nih.gov/pmc/articles/PMC299132/ Li and Scheraga], and is some circles is also know as basin hopping. Briefly, the conformational search is done by perturbing a torsional angle (psi, psi, omega or chi), follow by and energy minimization and the new (minimized) conformation is accepted or rejected following the Metropolis-criteria. If the conformation is accepted the next iteration start from the new conformation, otherwise the old conformation is perturbed again.<br />
<br />
From the GUI the user can choose the number of iterations to run, whether or not to use a SASA model to take into account the solvent contribution, and whether or not to start from a random conformation.<br />
<br />
After the MCM procedure is completed the user will get:<br />
<br />
* one .pdb file for each accepted conformation. <br />
* one multi-state .pdb file (automatically uploaded at the end of the run)<br />
* one .pdb file for the conformation with the minimum energy.<br />
* a plain text listing the energy of each saved conformation<br />
<br />
<br />
The internal energy is computed using the MMFF94 force field (as implemented on open-babel) and the contribution of the solvent is approximated using a SASA model (the validity of the SASA model for glycans and the relative weight of the internal and salvation energies needs further test).<br />
<br />
== New templates ==<br />
<br />
You can add your own templates by adding a .pdb file to the Azahar/db_glycans folder, that was created during the plugin installation. The residue number of the template should be 0 and atoms names should have certain names. When in doubt just take a look at one of the already available templates and do not hesitate to contact us.<br />
<br />
== Change log ==<br />
<br />
* 2015-10-2 (Version 0.8.5)<br />
*# Fix templates: reorder atoms, standardize nomenclature and minimize conformations<br />
*# Add new templates<br />
*# Add Monte Carlo with Minimization Routine<br />
*# fix cartoonize for 1-6 and 6-1 bonds<br />
*# add 2 new cartoon-like representations<br />
*# fix minor bugs, clean code and GUI<br />
<br />
* 2015-08-31 (Version 0.8.1)<br />
*# Several bugs fixed, including problems when creating branches.<br />
<br />
* 2015-08-28 (Version 0.8)<br />
*# First beta version and first public version (several bugs expected!).<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Azahar&diff=13307Azahar2015-11-03T07:21:50Z<p>OsvaldoMartin: </p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|download = https://github.com/agustinaarroyuelo/Azahar/releases/tag/v0.8.5-beta<br />
|author = Agustina Arroyuelo and [[User:OsvaldoMartin|Osvaldo Martin]]<br />
|license = GPL<br />
}}<br />
<br />
== Description ==<br />
[[Image:Azahar_GUI.png|480px|thumb|Azahar GUI.]]<br />
<br />
Azahar (pronounced /ɑːsɑːˈɑːr/) is a plugin that extends the PyMOL's capabilities to visualize, analyze and model glycans and glycoconjugated molecules. <br />
<br />
== Installation ==<br />
The plugin have been tested on Linux and Windows and should also works on Mac Os X.<br />
To install the plugin just download [https://github.com/agustinaarroyuelo/Azahar/archive/v0.7-beta.zip this] zip file and install it using the plugin manager. <br />
<br />
Azahar can be used without any dependencies (i.e. you don't need to install anything else) but if you have installed OpenBabel (and OpenBabel Python bindings) Azahar will use it to perform certain calculations like optimize the geometry of your newly created molecule. OpenBabel is also used during the Monte Carlo with Minimization routine.<br />
<br />
If you still want to install OpenBabel on your computer see instructions [http://openbabel.org/wiki/Get_Open_Babel here]. Users of 64-bit Windows OS, please install OpenBabel 64-bit from [http://www.lfd.uci.edu/~gohlke/pythonlibs/#openbabel here]<br />
<br />
== Usage ==<br />
<br />
The plugin's GUI displays three interactive tabs: Creation, Visualization and Calculations. <br />
Usage is described by tab:<br />
<br />
=== Glycan Creation ===<br />
<br />
The Creation tab contains:<br />
<br />
*Three option menus, two of which are used to specify residues to be connected from a list of predefined templates. And the third one, selects the chemical bond to be used. <br />
<br />
*Three entry boxes, the first one it's called "Repetitions", where the user can enter the number of residues to be connected. The "Position" entry box indicates the index of the residue to which the next bond will be added. On a typical glycan molecule constructed using this plugin, the user would use the "Position" entry box and the bonds menu to specify ramifications. And in the "New Molecule" entry box the user can write the name of the PyMOL object corresponding to the newly created glycan molecule.<br />
<br />
*Finally, The "add" button, when clicked, writes a text file containing the connectivity of the glycan molecule to be created. The user can edit this file or provide it as input. The connectivity instructions are also printed in PyMOL's external GUI. When the "create" button is clicked, the molecule is constructed and displayed in the PyMOL's GUI. The "reset" button resets the entry box's parameters. <br />
<br />
=== Visualization ===<br />
<br />
On this tab the user will find options to visualize glycans with 3 different ''cartoon-like'' representations. The ''cartoon'' representation is build using PyMOL's [[CGO]] and hence the color of the object has to be define it before creating it. Azahar provides a color menu for that purpose, you can choose from a list of colors or use the ''auto'' option (default), that reads the atom colors from the object. For example if you want to color a glycan cartoon using the b-factors, you should first choose that option from the PyMOL's menu and then tell Azahar to create a cartoon representation with the ''auto'' color option.<br />
<br />
You can ''cartoonize'' glycan molecules created by this plugin or loaded from other sources. <br />
<br />
=== Calculations ===<br />
<br />
Radius of gyration and Ramachandran Plot are useful tools for the analysis of glycan molecules. Through this plugin's GUI the user can easily select a range of states to compute these calculations, and in case of the RG, the result will be displayed in the PyMOL's external GUI.<br />
<br />
=== Monte Carlo ===<br />
This feature will be available in the next stable release (although is already available at [https://github.com/agustinaarroyuelo/Azahar github]).<br />
<br />
A Monte Carlo with Minimization (MCM) is a global optimization method that have proven very efficient to sample the conformational states of complex molecules like proteins, It was first published by [http://www.ncbi.nlm.nih.gov/pmc/articles/PMC299132/ Li and Scheraga], and is some circles is also know as basin hopping. Briefly, the conformational search is done by perturbing a torsional angle (psi, psi, omega or chi), follow by and energy minimization and the new (minimized) conformation is accepted or rejected following the Metropolis-criteria. If the conformation is accepted the next iteration start from the new conformation, otherwise the old conformation is perturbed again.<br />
<br />
From the GUI the user can choose the number of iterations to run, whether or not to use a SASA model to take into account the solvent contribution, and whether or not to start from a random conformation.<br />
<br />
After the MCM procedure is completed the user will get:<br />
<br />
* one .pdb file for each accepted conformation. <br />
* one multi-state .pdb file (automatically uploaded at the end of the run)<br />
* one .pdb file for the conformation with the minimum energy.<br />
* a plain text listing the energy of each saved conformation<br />
<br />
<br />
The internal energy is computed using the MMFF94 force field (as implemented on open-babel) and the contribution of the solvent is approximated using a SASA model (the validity of the SASA model for glycans and the relative weight of the internal and salvation energies needs further test).<br />
<br />
== New templates ==<br />
<br />
You can add your own templates by adding a .pdb file to the Azahar/db_glycans folder, that was created during the plugin installation. The residue number of the template should be 0 and atoms names should have certain names. When in doubt just take a look at one of the already available templates and do not hesitate to contact us.<br />
<br />
== Change log ==<br />
<br />
* 2015-10-2 (Version 0.8.5)<br />
*# Fix templates: reorder atoms, standardize nomenclature and minimize conformations<br />
*# Add new templates<br />
*# Add Monte Carlo with Minimization Routine<br />
*# fix cartoonize for 1-6 and 6-1 bonds<br />
*# add 2 new cartoon-like representations<br />
*# fix minor bugs, clean code and GUI<br />
<br />
* 2015-08-31 (Version 0.8.1)<br />
*# Several bugs fixed, including problems when creating branches.<br />
<br />
* 2015-08-28 (Version 0.8)<br />
*# First beta version and first public version (several bugs expected!).<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Azahar&diff=13306Azahar2015-11-02T08:32:15Z<p>OsvaldoMartin: add change log entry</p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|download = https://github.com/agustinaarroyuelo/Azahar/releases/tag/v0.8.5-beta<br />
|author = Agustina Arroyuelo and [[User:OsvaldoMartin|Osvaldo Martin]]<br />
|license = GPL<br />
}}<br />
<br />
== Description ==<br />
[[Image:Azahar_GUI.png|480px|thumb|Azahar GUI.]]<br />
<br />
Azahar (pronounced /ɑːsɑːˈɑːr/) is a plugin that extends the PyMOL's capabilities to visualize, analyze and model glycans and glycoconjugated molecules. <br />
<br />
== Installation ==<br />
The plugin have been tested on Linux and Windows and should also works on Mac Os X.<br />
To install the plugin just download [https://github.com/agustinaarroyuelo/Azahar/archive/v0.7-beta.zip this] zip file and install it using the plugin manager. <br />
<br />
Azahar can be used without any dependencies (i.e. you don't need to install anything else) but if you have installed OpenBabel (and OpenBabel Python bindings) Azahar will use it to perform certain calculations like optimize the geometry of your newly created molecule. OpenBabel is also used during the Monte Carlo with Minimization routine.<br />
<br />
If you still want to install OpenBabel on your computer see instructions [http://openbabel.org/wiki/Get_Open_Babel here]. Users of 64-bit Windows OS, please install OpenBabel 64-bit from [http://www.lfd.uci.edu/~gohlke/pythonlibs/#openbabel here]<br />
<br />
== Usage ==<br />
<br />
The plugin's GUI displays three interactive tabs: Creation, Visualization and Calculations. <br />
Usage is described by tab:<br />
<br />
=== Glycan Creation ===<br />
<br />
The Creation tab contains:<br />
<br />
*Three option menus, two of which are used to specify residues to be connected from a list of predefined templates. And the third one, selects the chemical bond to be used. <br />
<br />
*Three entry boxes, the first one it's called "Repetitions", where the user can enter the number of residues to be connected. The "Position" entry box indicates the index of the residue to which the next bond will be added. On a typical glycan molecule constructed using this plugin, the user would use the "Position" entry box and the bonds menu to specify ramifications. And in the "New Molecule" entry box the user can write the name of the PyMOL object corresponding to the newly created glycan molecule.<br />
<br />
*Finally, The "add" button, when clicked, writes a text file containing the connectivity of the glycan molecule to be created. The user can edit this file or provide it as input. The connectivity instructions are also printed in PyMOL's external GUI. When the "create" button is clicked, the molecule is constructed and displayed in the PyMOL's GUI. The "reset" button resets the entry box's parameters. <br />
<br />
=== Visualization ===<br />
<br />
On this tab the user will find the ''cartoon'' visualization option, only available for proteins in standard PyMOL. This feature can be applied to glycan molecules created by this plugin or loaded from other sources. <br />
<br />
=== Calculations ===<br />
<br />
Radius of gyration and Ramachandran Plot are useful tools for the analysis of glycan molecules. Through this plugin's GUI the user can easily select a range of states to compute these calculations, and in case of the RG, the result will be displayed in the PyMOL's external GUI.<br />
<br />
=== Monte Carlo ===<br />
This feature will be available in the next stable release (although is already available at [https://github.com/agustinaarroyuelo/Azahar github]).<br />
<br />
A Monte Carlo with Minimization (MCM) is a global optimization method that have proven very efficient to sample the conformational states of complex molecules like proteins, It was first published by [http://www.ncbi.nlm.nih.gov/pmc/articles/PMC299132/ Li and Scheraga], and is some circles is also know as basin hopping. Briefly, the conformational search is done by perturbing a torsional angle (psi, psi, omega or chi), follow by and energy minimization and the new (minimized) conformation is accepted or rejected following the Metropolis-criteria. If the conformation is accepted the next iteration start from the new conformation, otherwise the old conformation is perturbed again.<br />
<br />
From the GUI the user can choose the number of iterations to run, whether or not to use a SASA model to take into account the solvent contribution, and whether or not to start from a random conformation.<br />
<br />
After the MCM procedure is completed the user will get:<br />
<br />
* one .pdb file for each accepted conformation. <br />
* one multi-state .pdb file (automatically uploaded at the end of the run)<br />
* one .pdb file for the conformation with the minimum energy.<br />
* a plain text listing the energy of each saved conformation<br />
<br />
<br />
The internal energy is computed using the MMFF94 force field (as implemented on open-babel) and the contribution of the solvent is approximated using a SASA model (the validity of the SASA model for glycans and the relative weight of the internal and salvation energies needs further test).<br />
<br />
== Change log ==<br />
<br />
* 2015-10-2 (Version 0.8.5)<br />
*# Fix templates: reorder atoms, standardize nomenclature and minimize conformations<br />
*# Add new templates<br />
*# Add Monte Carlo with Minimization Routine<br />
*# fix cartoonize for 1-6 and 6-1 bonds<br />
*# add 2 new cartoon-like representations<br />
*# fix minor bugs, clean code and GUI<br />
<br />
* 2015-08-31 (Version 0.8.1)<br />
*# Several bugs fixed, including problems when creating branches.<br />
<br />
* 2015-08-28 (Version 0.8)<br />
*# First beta version and first public version (several bugs expected!).<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Align&diff=13106Align2015-10-28T17:20:20Z<p>OsvaldoMartin: /* See Also */ add link to Get_raw_alignment</p>
<hr />
<div>[[Image:after_alignment.png|400px|thumb|right|Two proteins after structure alignment]]<br />
<br />
'''align''' performs a sequence alignment followed by a structural superposition, and then carries out zero or more cycles of refinement in order to reject structural outliers found during the fit.<br />
[[align]] does a good job on proteins with decent sequence similarity (identity >30%).<br />
For comparing proteins with lower sequence identity, the [[super]] and [[cealign]] commands perform better.<br />
<br />
== Usage ==<br />
<br />
align mobile, target [, cutoff [, cycles<br />
[, gap [, extend [, max_gap [, object<br />
[, matrix [, mobile_state [, target_state<br />
[, quiet [, max_skip [, transform [, reset ]]]]]]]]]]]]]<br />
<br />
== Arguments ==<br />
<br />
* '''mobile''' = string: atom selection of mobile object<br />
* '''target''' = string: atom selection of target object<br />
* '''cutoff''' = float: outlier rejection cutoff in RMS {default: 2.0}<br />
* '''cycles''' = int: maximum number of outlier rejection cycles {default: 5}<br />
* '''gap, extend, max_gap''': sequence alignment parameters<br />
* '''object''' = string: name of alignment object to create {default: (no alignment object)}<br />
* '''matrix''' = string: file name of substitution matrix for sequence alignment {default: BLOSUM62}<br />
* '''mobile_state''' = int: object state of mobile selection {default: 0 = all states}<br />
* '''target_state''' = int: object state of target selection {default: 0 = all states}<br />
* '''quiet''' = 0/1: suppress output {default: 0 in command mode, 1 in API}<br />
* '''max_skip''' = ?<br />
* '''transform''' = 0/1: do superposition {default: 1}<br />
* '''reset''' = ?<br />
<br />
== Alignment Objects ==<br />
<br />
An alignment object can be created with the '''object='''''somename'' argument. An alignment object provides:<br />
<br />
* aligned [[seq_view|sequence viewer]]<br />
* graphical representation of aligned atom pares as lines in the 3D viewer<br />
* can be [[save|saved]] to a clustalw sequence alignment file<br />
<br />
== RMSD ==<br />
<br />
The RMSD of the aligned atoms (after outlier rejection!) is reported in the text output. The '''all-atom RMSD''' can be obtained by setting '''cycles=0''' and thus not doing any outlier rejection. The RMSD can also be captured with a python script, see the [[#PyMOL API|API paragraph]] below.<br />
<br />
== Examples ==<br />
<br />
<syntaxhighlight lang="python"><br />
fetch 1oky 1t46, async=0<br />
<br />
# 1) default with outlier rejection<br />
align 1oky, 1t46<br />
<br />
# 2) with alignment object, save to clustalw file<br />
align 1oky, 1t46, object=alnobj<br />
save alignment.aln, alnobj<br />
<br />
# 3) all-atom RMSD (no outlier rejection) and without superposition<br />
align 1oky, 1t46, cycles=0, transform=0<br />
</syntaxhighlight><br />
<br />
== PyMOL API ==<br />
<source lang="python"><br />
cmd.align( string mobile, string target, float cutoff=2.0,<br />
int cycles=5, float gap=-10.0, float extend=-0.5,<br />
int max_gap=50, string object=None, string matrix='BLOSUM62',<br />
int mobile_state=0, int target_state=0, int quiet=1,<br />
int max_skip=0, int transform=1, int reset=0 )<br />
</source><br />
<br />
This returns a list with 7 items:<br />
<br />
# RMSD after refinement<br />
# Number of aligned atoms after refinement<br />
# Number of refinement cycles<br />
# RMSD before refinement<br />
# Number of aligned atoms before refinement<br />
# Raw alignment score<br />
# Number of residues aligned<br />
<br />
== Notes ==<br />
<br />
* The molecules you want to align need to be in '''two different objects'''. Else, PyMOL will answer with: ''ExecutiveAlign: invalid selections for alignment.'' You can skirt this problem by making a temporary object and aligning your original to the copy.<br />
* By defaults, '''all states''' (like in NMR structures or trajectories) are considered, this might yield a bad or suboptimal alignment for a single state. Use the '''mobile_state''' and '''target_state''' argument to be explicit in such cases.<br />
<br />
== See Also ==<br />
<br />
* [[super]], [[cealign]], [[fit]], [[pair_fit]]<br />
* [[rms]], [[rms_cur]], <br />
* [[intra_fit]], [[intra_rms]], [[intra_rms_cur]]<br />
* [[extra_fit]]<br />
* [http://pldserver1.biochem.queensu.ca/~rlc/work/pymol/ align_all.py and super_all.py]<br />
* [[tmalign]]<br />
* [[Color_by_conservation]]<br />
* [[Get_raw_alignment]]<br />
<br />
[[Category:Commands|Align]]<br />
[[Category:Structure_Alignment|Align]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Super&diff=13116Super2015-10-28T17:19:47Z<p>OsvaldoMartin: /* See Also */ add link to Get_raw_alignment</p>
<hr />
<div>'''super''' aligns two selections.<br />
It does a '''sequence-independent''' (unlike [[align]]) structure-based dynamic programming alignment followed by a series of refinement cycles intended to improve the fit by eliminating pairing with high relative variability (just like [[align]]).<br />
'''super''' is more robust than '''align''' for proteins with low sequence similarity.<br />
<br />
== Usage ==<br />
<br />
See [[align]] command.<br />
<br />
== Caveats ==<br />
<br />
* '''Alternative Conformations:''' If super ever tells you no matched atoms, then instead of <source lang="python"><br />
super p1, p2<br />
</source> try <source lang="python"><br />
super p1 & alt A+'', p2 & alt B+''<br />
</source><br />
<br />
== User Scripts ==<br />
<br />
=== Write rmsd to file ===<br />
<br />
'''pymol_rmsd_test.pml'''<br />
<source lang="python"><br />
reinitialize<br />
<br />
fetch 1F9J, async=0<br />
fetch 1YX5, async=0<br />
<br />
extract 1F9J_A, 1F9J and chain A<br />
extract 1YX5_B, 1YX5 and chain B<br />
<br />
test=cmd.super("1F9J_A","1YX5_B")<br />
<br />
python<br />
writefile=open("rmsd_file.txt","a")<br />
writefile.write(' '.join('%s' % x for x in test))<br />
writefile.write('\n')<br />
writefile.close()<br />
python end<br />
</source><br />
<br />
In terminal<br />
<source lang="bash"><br />
pymol -c pymol_rmsd_test.pml ; tail -n 1 rmsd_file.txt<br />
</source><br />
<br />
=== Write rmsd to file and looping===<br />
<br />
'''pymol_pymol_loop.sh'''<br />
<source lang="bash"><br />
#!/bin/csh -f<br />
set x = 1<br />
<br />
while ( $x <= 20 )<br />
set prot="energy_${x}.pdb"<br />
pymol -c pymol_super.pml $prot<br />
@ x = $x + 1<br />
end<br />
</source><br />
<br />
<br />
'''pymol_super.pml'''<br />
<source lang="python"><br />
reinitialize<br />
import sys<br />
<br />
python <br />
prot1="XXXX"<br />
prot2="YYYY_trimmed"<br />
<br />
prot3=sys.argv[3]<br />
#prot3="energy_54.pdb"<br />
prot3name=prot3.split(".pdb")[0]<br />
print prot3, prot3name<br />
python end<br />
<br />
cd /XXXXX<br />
<br />
cmd.load("%s.pdb"%prot1)<br />
cmd.load("%s.pdb"%prot2)<br />
cmd.load("./ensemblesize2_numstruct/%s"%prot3)<br />
#show_as cartoon, all<br />
<br />
align1=cmd.super("%s"%prot3name,"%s"%prot1)<br />
print align1<br />
<br />
python<br />
writefile=open("pymol_rmsd_file.txt","a")<br />
writefile.write('%s %s '%(prot3name, prot1))<br />
writefile.write(' '.join('%s' % x for x in align1))<br />
writefile.write(' ')<br />
python end<br />
<br />
align2=cmd.super("%s"%prot3name,"%s"%prot2)<br />
print align2<br />
<br />
python<br />
writefile=open("pymol_rmsd_file.txt","a")<br />
writefile.write('%s %s '%(prot3name, prot2))<br />
writefile.write(' '.join('%s' % x for x in align2))<br />
writefile.write('\n')<br />
writefile.close()<br />
python end<br />
</source><br />
<br />
In terminal<br />
<source lang="bash"><br />
chmod +x pymol_loop.sh<br />
./pymol_loop.sh<br />
</source><br />
<br />
== See Also ==<br />
* [[align]]<br />
* [[Cealign]]<br />
* [[Get_raw_alignment]]<br />
<br />
<br />
[[Category:Commands]]<br />
[[Category:Structure_Alignment|Super]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Visualizing_a_computed_structure_-_a_commented_example&diff=13131Visualizing a computed structure - a commented example2015-10-21T07:35:30Z<p>OsvaldoMartin: PyMOl can open xyz files</p>
<hr />
<div># Obtain the [[Media:File.xyz.tar|File.xyz.tar]] and untar it. It contains the coordinates, which were originally published in [http://pubs.acs.org/journals/jacsat/index.html J. Am. Chem. Soc.] in the Supporting Information of this [http://pubs.acs.org/cgi-bin/abstract.cgi/jacsat/2000/122/i37/abs/ja991878x.html article].<br />
# Open the file with PyMOL and save it as a pdb file.<br />
# Save the following pymolscript [[Media:script.pml.tar|Script.pml.tar]] and untar it to script.pml. Open it with an editor and adjust the Path_To_The_PDB. Open pymol and run the script with "@PATH_Of_The_Script/script.pml".<br />
# You will get the following image, you can save it with "png filename.png" [[Image:File.png]]<br />
# Use the script to modify your own pdb-file.<br />
[[Category:Tutorials|Visualizing a computed structure - a commented example]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Main_Page&diff=13112Main Page2015-10-21T07:29:08Z<p>OsvaldoMartin: Replace link to "Google search" page with link to "PyMOL mailing list" page</p>
<hr />
<div>__NOTOC__<br />
{| align="center" style="padding-bottom: 4em;"<br />
|+ style="font-size:210%; font-weight: bold; color:#032d45; text-align:center; padding: 5px; margin-bottom: 4px;" | Welcome to the PyMOL Wiki!<br />
|- style="text-align:center; font-weight:bold; color: #6d6003; font-size: 140%; font-style: italic; font-family: serif;"<br />
| The community-run support site for the [http://pymol.org PyMOL] molecular viewer.<br />
|- style="text-align:center; font-weight:bold; color: #6d6003; font-size: 140%; font-style: italic; font-family: serif;"<br />
| New accounts: email jason (dot) vertrees (@) gmail dot com<br />
|- style="text-align:center; font-weight:bold; color: #6d6003; font-size: 140%; font-style: italic; font-family: serif;"<br />
|}<br />
{| align="center" width="45%" style="background: #EDEBD5; margin-bottom: 4em; border-bottom: 1px solid #AFB29E; border-left: 1px solid #AFB29E; border-right: 1px solid #AFB29E;"<br />
|+ style="font-size: 1.4em; font-weight: bold; color: #032d45; text-align:center; background: #5F7F96; padding-top:0.5em; padding-bottom: 0.25em; border-top: 2px solid #AFB29E; border-bottom: 1px solid #fff;" |Quick Links<br />
|- <br />
| style="font-size: 1.1em; color #61021F; padding: 0.5em 1em 0.5em 3em;"|'''[[:Category:Tutorials|Tutorials]]''' || '''[[TOPTOC|Table of Contents]]''' || '''[[:Category:Commands|Commands]]'''<br />
|-<br />
| style="font-size: 1.1em; color #61021F; padding: 0.5em 1em 0.5em 3em;"|'''[[:Category:Script_Library|Script Library]]''' || '''[[:Category:Plugins|Plugins]]''' || '''[[:Category:FAQ|FAQ]]'''<br />
|-<br />
| style="font-size: 1.1em; color #61021F; padding: 0.5em 1em 0.5em 3em;"|'''[[Gallery]]''' | '''[[Covers]]'''<br />
||'''[[CheatSheet|PyMOL Cheat Sheet]]''' (''[[Media:PymolRef.pdf|PDF]]'')<br />
||'''[[PyMOL_mailing_list|Getting Help]]'''<br />
|}<br />
<br />
{| width="100%"<br />
| style="vertical-align: top; width: 40%" |<br />
{| class="jtable" style="float: left; width: 90%;"<br />
|+ style="font-size: 1.4em; font-weight: bold; text-align:left; border-bottom: 2px solid #6678b1;" | News &amp; Updates<br />
|-<br />
! PyMOL Open-Source Fellowship<br />
| Schrödinger is now accepting applications for the PyMOL Open-Source Fellowship program! Details on http://pymol.org/fellowship<br />
|-<br />
! Official Release<br />
| [http://pymol.org PyMOL, AxPyMOL, and JyMOL v1.7.6 have all been released] on May 4, 2015.<br />
|-<br />
! New Plugin<br />
| [[PyANM|PyANM]] is a new plugin for easier Anisotropic Network Model (ANM) building and visualising in PyMOL.<br />
|-<br />
! New Plugin<br />
| [[Bondpack]] is a collection of PyMOL plugins for easy visualization of atomic bonds.<br />
|-<br />
! New Plugin<br />
| [[MOLE 2.0: advanced approach for analysis of biomacromolecular channels|MOLE 2.0]] is a new plugin for rapid analysis of biomacromolecular channels in PyMOL.<br />
|-<br />
! 3D using Geforce<br />
| PyMOL can now be [http://forums.geforce.com/default/topic/571604/3d-vision/3d-vision-working-with-qbs-in-opengl-software-using-geforce/2/ visualized in 3D using Nvidia GeForce video cards] (series 400+) with 120Hz monitors and Nvidia 3D Vision, this was previously only possible with Quadro video cards.<br />
|-<br />
! Older News<br />
| See [[Older_News|Older News]].<br />
|}<br />
|style="vertical-align: top; width: 40%"|<br />
{| class="jtable" style="float: right; width: 90%"<br />
|+ style="font-size: 1.4em; font-weight: bold; text-align:left; border-bottom: 2px solid #6678b1;" |Did you know...<br />
|-<br />
|<div class="didyouknow" ><br />
<DPL><br />
namespace=<br />
category=Commands|Plugins|Script_Library|Settings<br />
includepage=*<br />
includemaxlength=1050<br />
escapelinks=false<br />
resultsheader=__NOTOC__ __NOEDITSECTION__<br />
randomcount=1<br />
mode=userformat<br />
addpagecounter=true<br />
listseparators=,<h3>[[%PAGE%]]</h3>,,\n<br />
</DPL><br />
</div><br />
<div style="clear: both;"></div><br />
|}<br />
|<br />
|style="vertical-align: top; width: 18%"|<br />
<DPL><br />
imagecontainer=Covers<br />
randomcount=1<br />
escapelinks=false<br />
openreferences=true<br />
listseparators=[[,%PAGE%,|thumb|185px|A Random PyMOL-generated Cover. See [[Covers]].]],\n<br />
ordermethod=none<br />
</DPL><br />
<br />
|}</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Azahar&diff=13135Azahar2015-10-20T09:14:21Z<p>OsvaldoMartin: add MCM section</p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|download = https://github.com/agustinaarroyuelo/Azahar/archive/v0.8.1-beta.zip<br />
|author = Agustina Arroyuelo and [[User:OsvaldoMartin|Osvaldo Martin]]<br />
|license = GPL<br />
}}<br />
<br />
== Description ==<br />
[[Image:Azahar_GUI.png|480px|thumb|Azahar GUI.]]<br />
<br />
Azahar (pronounced /ɑːsɑːˈɑːr/) is a plugin that extends the PyMOL's capabilities to visualize, analyze and model glycans and glycoconjugated molecules. <br />
<br />
== Installation ==<br />
The plugin have been tested on Linux and Windows and should also works on Mac Os X.<br />
To install the plugin just download [https://github.com/agustinaarroyuelo/Azahar/archive/v0.7-beta.zip this] zip file and install it using the plugin manager. <br />
<br />
Azahar can be used without any dependencies (i.e. you don't need to install anything else) but if you have installed OpenBabel (and OpenBabel Python bindings) Azahar will use it to perform certain calculations like optimize the geometry of your newly created molecule. OpenBabel is also used during the Monte Carlo with Minimization routine.<br />
<br />
If you still want to install OpenBabel on your computer see instructions [http://openbabel.org/wiki/Get_Open_Babel here]. Users of 64-bit Windows OS, please install OpenBabel 64-bit from [http://www.lfd.uci.edu/~gohlke/pythonlibs/#openbabel here]<br />
<br />
== Usage ==<br />
<br />
The plugin's GUI displays three interactive tabs: Creation, Visualization and Calculations. <br />
Usage is described by tab:<br />
<br />
=== Glycan Creation ===<br />
<br />
The Creation tab contains:<br />
<br />
*Three option menus, two of which are used to specify residues to be connected from a list of predefined templates. And the third one, selects the chemical bond to be used. <br />
<br />
*Three entry boxes, the first one it's called "Repetitions", where the user can enter the number of residues to be connected. The "Position" entry box indicates the index of the residue to which the next bond will be added. On a typical glycan molecule constructed using this plugin, the user would use the "Position" entry box and the bonds menu to specify ramifications. And in the "New Molecule" entry box the user can write the name of the PyMOL object corresponding to the newly created glycan molecule.<br />
<br />
*Finally, The "add" button, when clicked, writes a text file containing the connectivity of the glycan molecule to be created. The user can edit this file or provide it as input. The connectivity instructions are also printed in PyMOL's external GUI. When the "create" button is clicked, the molecule is constructed and displayed in the PyMOL's GUI. The "reset" button resets the entry box's parameters. <br />
<br />
=== Visualization ===<br />
<br />
On this tab the user will find the ''cartoon'' visualization option, only available for proteins in standard PyMOL. This feature can be applied to glycan molecules created by this plugin or loaded from other sources. <br />
<br />
=== Calculations ===<br />
<br />
Radius of gyration and Ramachandran Plot are useful tools for the analysis of glycan molecules. Through this plugin's GUI the user can easily select a range of states to compute these calculations, and in case of the RG, the result will be displayed in the PyMOL's external GUI.<br />
<br />
=== Monte Carlo ===<br />
This feature will be available in the next stable release (although is already available at [https://github.com/agustinaarroyuelo/Azahar github]).<br />
<br />
A Monte Carlo with Minimization (MCM) is a global optimization method that have proven very efficient to sample the conformational states of complex molecules like proteins, It was first published by [http://www.ncbi.nlm.nih.gov/pmc/articles/PMC299132/ Li and Scheraga], and is some circles is also know as basin hopping. Briefly, the conformational search is done by perturbing a torsional angle (psi, psi, omega or chi), follow by and energy minimization and the new (minimized) conformation is accepted or rejected following the Metropolis-criteria. If the conformation is accepted the next iteration start from the new conformation, otherwise the old conformation is perturbed again.<br />
<br />
From the GUI the user can choose the number of iterations to run, whether or not to use a SASA model to take into account the solvent contribution, and whether or not to start from a random conformation.<br />
<br />
After the MCM procedure is completed the user will get:<br />
<br />
* one .pdb file for each accepted conformation. <br />
* one multi-state .pdb file (automatically uploaded at the end of the run)<br />
* one .pdb file for the conformation with the minimum energy.<br />
* a plain text listing the energy of each saved conformation<br />
<br />
<br />
The internal energy is computed using the MMFF94 force field (as implemented on open-babel) and the contribution of the solvent is approximated using a SASA model (the validity of the SASA model for glycans and the relative weight of the internal and salvation energies needs further test).<br />
<br />
== Change log ==<br />
<br />
* 2015-08-31 (Version 0.8.1)<br />
*# Several bugs fixed, including problems when creating branches.<br />
<br />
* 2015-08-28 (Version 0.8)<br />
*# First beta version and first public version (several bugs expected!).<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Get_Dihedral&diff=13138Get Dihedral2015-10-20T08:41:39Z<p>OsvaldoMartin: add links to see also section</p>
<hr />
<div>'''get_dihedral''' returns the dihedral angle between four atoms. By default, the coordinates used are from the current state, however an alternate state identifier can be provided.<br />
<br />
By convention, positive dihedral angles are right-handed (looking down the atom2-atom3 axis).<br />
<br />
===USAGE===<br />
<source lang="python"><br />
get_dihedral atom1, atom2, atom3, atom4 [,state ]<br />
</source><br />
<br />
===EXAMPLES===<br />
<source lang="python"><br />
get_dihedral 4/n,4/c,4/ca,4/cb<br />
get_dihedral 4/n,4/c,4/ca,4/cb,state=4<br />
</source><br />
<br />
===PYMOL API===<br />
<source lang="python"><br />
cmd.get_dihedral(atom1,atom2,atom3,atom4,state=0)<br />
</source><br />
<br />
===SEE ALSO===<br />
*[[Set_Dihedral]]<br />
*[[DynoPlot]]<br />
*[[Displaying_Biochemical_Properties#Calculating_dihedral_angles]]<br />
*[[Rotamer_Toggle]]<br />
<br />
<br />
[[Category:Commands|Get Dihedral]]<br />
[[Category:States|Get Dihedral]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Get_Dihedral&diff=13137Get Dihedral2015-10-20T08:40:26Z<p>OsvaldoMartin: </p>
<hr />
<div>'''get_dihedral''' returns the dihedral angle between four atoms. By default, the coordinates used are from the current state, however an alternate state identifier can be provided.<br />
<br />
By convention, positive dihedral angles are right-handed (looking down the atom2-atom3 axis).<br />
<br />
===USAGE===<br />
<source lang="python"><br />
get_dihedral atom1, atom2, atom3, atom4 [,state ]<br />
</source><br />
<br />
===EXAMPLES===<br />
<source lang="python"><br />
get_dihedral 4/n,4/c,4/ca,4/cb<br />
get_dihedral 4/n,4/c,4/ca,4/cb,state=4<br />
</source><br />
<br />
===PYMOL API===<br />
<source lang="python"><br />
cmd.get_dihedral(atom1,atom2,atom3,atom4,state=0)<br />
</source><br />
<br />
[[Category:Commands|Get Dihedral]]<br />
[[Category:States|Get Dihedral]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Azahar&diff=13134Azahar2015-10-20T07:25:29Z<p>OsvaldoMartin: add statement of the need of openbabel to run MCM</p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|download = https://github.com/agustinaarroyuelo/Azahar/archive/v0.8.1-beta.zip<br />
|author = Agustina Arroyuelo and [[User:OsvaldoMartin|Osvaldo Martin]]<br />
|license = GPL<br />
}}<br />
<br />
== Description ==<br />
[[Image:Azahar_GUI.png|480px|thumb|Azahar GUI.]]<br />
<br />
Azahar (pronounced /ɑːsɑːˈɑːr/) is a plugin that extends the PyMOL's capabilities to visualize, analyze and model glycans and glycoconjugated molecules. <br />
<br />
== Installation ==<br />
The plugin have been tested on Linux and Windows and should also works on Mac Os X.<br />
To install the plugin just download [https://github.com/agustinaarroyuelo/Azahar/archive/v0.7-beta.zip this] zip file and install it using the plugin manager. <br />
<br />
Azahar can be used without any dependencies (i.e. you don't need to install anything else) but if you have installed OpenBabel (and OpenBabel Python bindings) Azahar will use it to perform certain calculations like optimize the geometry of your newly created molecule. OpenBabel is also used during the Monte Carlo with Minimization routine.<br />
<br />
If you still want to install OpenBabel on your computer see instructions [http://openbabel.org/wiki/Get_Open_Babel here]. Users of 64-bit Windows OS, please install OpenBabel 64-bit from [http://www.lfd.uci.edu/~gohlke/pythonlibs/#openbabel here]<br />
<br />
== Usage ==<br />
<br />
The plugin's GUI displays three interactive tabs: Creation, Visualization and Calculations. <br />
Usage is described by tab:<br />
<br />
=== Glycan Creation ===<br />
<br />
The Creation tab contains:<br />
<br />
*Three option menus, two of which are used to specify residues to be connected from a list of predefined templates. And the third one, selects the chemical bond to be used. <br />
<br />
*Three entry boxes, the first one it's called "Repetitions", where the user can enter the number of residues to be connected. The "Position" entry box indicates the index of the residue to which the next bond will be added. On a typical glycan molecule constructed using this plugin, the user would use the "Position" entry box and the bonds menu to specify ramifications. And in the "New Molecule" entry box the user can write the name of the PyMOL object corresponding to the newly created glycan molecule.<br />
<br />
*Finally, The "add" button, when clicked, writes a text file containing the connectivity of the glycan molecule to be created. The user can edit this file or provide it as input. The connectivity instructions are also printed in PyMOL's external GUI. When the "create" button is clicked, the molecule is constructed and displayed in the PyMOL's GUI. The "reset" button resets the entry box's parameters. <br />
<br />
=== Visualization ===<br />
<br />
On this tab the user will find the ''cartoon'' visualization option, only available for proteins in standard PyMOL. This feature can be applied to glycan molecules created by this plugin or loaded from other sources. <br />
<br />
=== Calculations ===<br />
<br />
Radius of gyration and Ramachandran Plot are useful tools for the analysis of glycan molecules. Through this plugin's GUI the user can easily select a range of states to compute these calculations, and in case of the RG, the result will be displayed in the PyMOL's external GUI.<br />
<br />
== Change log ==<br />
<br />
* 2015-08-31 (Version 0.8.1)<br />
*# Several bugs fixed, including problems when creating branches.<br />
<br />
* 2015-08-28 (Version 0.8)<br />
*# First beta version and first public version (several bugs expected!).<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Azahar&diff=13133Azahar2015-10-20T07:23:48Z<p>OsvaldoMartin: fix typos</p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|download = https://github.com/agustinaarroyuelo/Azahar/archive/v0.8.1-beta.zip<br />
|author = Agustina Arroyuelo and [[User:OsvaldoMartin|Osvaldo Martin]]<br />
|license = GPL<br />
}}<br />
<br />
== Description ==<br />
[[Image:Azahar_GUI.png|480px|thumb|Azahar GUI.]]<br />
<br />
Azahar (pronounced /ɑːsɑːˈɑːr/) is a plugin that extends the PyMOL's capabilities to visualize, analyze and model glycans and glycoconjugated molecules. <br />
<br />
== Installation ==<br />
The plugin have been tested on Linux and Windows and should also works on Mac Os X.<br />
To install the plugin just download [https://github.com/agustinaarroyuelo/Azahar/archive/v0.7-beta.zip this] zip file and install it using the plugin manager. <br />
<br />
Azahar can be used without any dependencies (i.e. you don't need to install anything else) but if you have installed OpenBabel (and OpenBabel Python bindings) Azahar will use it to perform certain calculations like optimize the geometry of your newly created molecule.<br />
<br />
If you still want to install OpenBabel on your computer see instructions [http://openbabel.org/wiki/Get_Open_Babel here]. Users of 64-bit Windows OS, please install OpenBabel 64-bit from [http://www.lfd.uci.edu/~gohlke/pythonlibs/#openbabel here]<br />
<br />
== Usage ==<br />
<br />
The plugin's GUI displays three interactive tabs: Creation, Visualization and Calculations. <br />
Usage is described by tab:<br />
<br />
=== Glycan Creation ===<br />
<br />
The Creation tab contains:<br />
<br />
*Three option menus, two of which are used to specify residues to be connected from a list of predefined templates. And the third one, selects the chemical bond to be used. <br />
<br />
*Three entry boxes, the first one it's called "Repetitions", where the user can enter the number of residues to be connected. The "Position" entry box indicates the index of the residue to which the next bond will be added. On a typical glycan molecule constructed using this plugin, the user would use the "Position" entry box and the bonds menu to specify ramifications. And in the "New Molecule" entry box the user can write the name of the PyMOL object corresponding to the newly created glycan molecule.<br />
<br />
*Finally, The "add" button, when clicked, writes a text file containing the connectivity of the glycan molecule to be created. The user can edit this file or provide it as input. The connectivity instructions are also printed in PyMOL's external GUI. When the "create" button is clicked, the molecule is constructed and displayed in the PyMOL's GUI. The "reset" button resets the entry box's parameters. <br />
<br />
=== Visualization ===<br />
<br />
On this tab the user will find the ''cartoon'' visualization option, only available for proteins in standard PyMOL. This feature can be applied to glycan molecules created by this plugin or loaded from other sources. <br />
<br />
=== Calculations ===<br />
<br />
Radius of gyration and Ramachandran Plot are useful tools for the analysis of glycan molecules. Through this plugin's GUI the user can easily select a range of states to compute these calculations, and in case of the RG, the result will be displayed in the PyMOL's external GUI.<br />
<br />
== Change log ==<br />
<br />
* 2015-08-31 (Version 0.8.1)<br />
*# Several bugs fixed, including problems when creating branches.<br />
<br />
* 2015-08-28 (Version 0.8)<br />
*# First beta version and first public version (several bugs expected!).<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Cartoon_Helix_Settings&diff=13104Cartoon Helix Settings2015-10-19T14:46:02Z<p>OsvaldoMartin: </p>
<hr />
<div>==Overview==<br />
This setting sets the style in which [[Cartoon|cartoon]] helices are rendered. The default is a helix with an ellipsoid cross section. '''Fancy''' mode helices are ribbons with tubular edges à la [[MolScript]]. Cylindicial mode renders helices as solid cylinders.<br />
<br />
==Syntax==<br />
To turn on Fancy Helices:<br />
set cartoon_fancy_helices, 1<br />
<br />
To turn on Cylindrical Helices:<br />
set cartoon_cylindrical_helices, 1<br />
<br />
To return to default helices:<br />
set cartoon_fancy_helices, 0<br />
set cartoon_cylindrical_helices, 0<br />
<br />
==Result==<br />
<gallery><br />
image:Fancy.JPG|Fancy helix<br />
image:Cylindre.JPG|Cylindrical helix<br />
image:default.JPG|Default representation<br />
</gallery><br />
<br />
==Change size of default cartoon helix==<br />
To change the size of the cartoon helices when not in the fancy helix mode you change the dimensions of the oval that represents the cross section of the default cartoon representation.<br />
<br />
[[Image:Cartoon_oval_length.png]]<br />
<br />
<source lang="python"><br />
set cartoon_oval_length , 0.8 # default is 1.20<br />
</source><br />
and<br />
<source lang="python"><br />
set cartoon_oval_width , 0.2 # default is 0.25<br />
</source><br />
<br />
==See also==<br />
[[Cartoon_oval_width]], [[Cartoon_oval_length]], [[Cartoon_oval_quality]], [[Cartoon_helix_radius]], [[Cartoon_dumbbell_radius]], [[Cartoon_dumbbell_length]], [[Cartoon_dumbbell_width]], [[Cartoon_sampling]].<br />
<br />
[[Category:Settings|Cartoon helix settings]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Cartoon_Helix_Settings&diff=13103Cartoon Helix Settings2015-10-19T14:39:19Z<p>OsvaldoMartin: add links to see also section</p>
<hr />
<div>==Overview==<br />
This setting sets the style in which [[Cartoon|cartoon]] helices are rendered. The default is a helix with an ellipsoid cross section. '''Fancy''' mode helices are ribbons with tubular edges à la [[MolScript]]. Cylindicial mode renders helices as solid cylinders.<br />
<br />
==Syntax==<br />
To turn on Fancy Helices:<br />
set cartoon_fancy_helices, 1<br />
<br />
To turn on Cylindrical Helices:<br />
set cartoon_cylindrical_helices, 1<br />
<br />
To return to default helices:<br />
set cartoon_fancy_helices, 0<br />
set cartoon_cylindrical_helices, 0<br />
<br />
==Result==<br />
<gallery><br />
image:Fancy.JPG|Fancy helix<br />
image:Cylindre.JPG|Cylindrical helix<br />
image:default.JPG|Default representation<br />
</gallery><br />
<br />
==Change size of default cartoon helix==<br />
To change the size of the cartoon helices when not in the fancy helix mode you change the dimensions of the oval that represents the cross section of the default cartoon representation.<br />
<br />
[[Image:Cartoon_oval_length.png]]<br />
<br />
set cartoon_oval_length , 0.8 # default is 1.20<br />
and<br />
set cartoon_oval_width , 0.2 # default is 0.25<br />
<br />
==See also==<br />
[[Cartoon_oval_width]], [[Cartoon_oval_length]], [[Cartoon_oval_quality]], [[Cartoon_helix_radius]], [[Cartoon_dumbbell_radius]], [[Cartoon_dumbbell_length]], [[Cartoon_dumbbell_width]], [[Cartoon_sampling]].<br />
<br />
[[Category:Settings|Cartoon helix settings]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Plugins&diff=13028Plugins2015-10-10T17:13:38Z<p>OsvaldoMartin: /* Plugins on Windows */ nothing to add for windows at the moment</p>
<hr />
<div>== Overview ==<br />
Plugins are external modules that add functionality to PyMOL. Latest version of PyMOL came with two plugins already installed [[APBS]] and [[PDB_Loader_Service]]. Since version 1.5.0.5 PyMOL also comes with a [[Plugin Manager]], which can be used to conveniently install and uninstall plugins. You can find a list of several available PyMOL plugins on [http://pymolwiki.org/index.php/Category:Plugins this] page. If you are interested into writing your own plugin please read the [[Plugins_Tutorial]].<br />
<br />
<br />
==Installing Plugins==<br />
To install a plugin open PyMOL and then go to ''Plugin -> Plugin manager -> Install new plugin''. You will have the option to install from a file on your computer or directly from the PyMOL wiki by providing the proper url (the name of the plugin's page at the PyMOL wiki). <br />
<br />
Below you will find some more information that may be relevant when installing plugins and that is specific to different operating systems.<br />
<br />
=== Plugins on Linux ===<br />
<br />
On Linux, PyMOL is generally installed on a system's folder. Thus, if you want to install plugins you should launch PyMOL from a terminal using the command:<br />
<br />
sudo pymol<br />
<br />
Alternatively, if you launch PyMOL without administrators rights. The plugin manager will ask you if you want to install the plugin on the local folder <br />
<br />
~/.pymol/startup.<br />
<br />
=== Plugins on OS X ===<br />
<br />
==== Using MacPyMOL ====<br />
The standard OS X Pymol application, MacPyMOL.app does not run with the Tcl/Tk interface which is required for plugins to work. However, a quick renaming of the program from MacPyMOL.app to PyMOLX11Hybrid.app makes the application run as an X11 application, and plugins are now available.<br />
<br />
To rename the executable, right click (or control click) on MacPyMOL and choose "Get Info" in the Panel. Change the Name & Extension to PyMOLX11Hybrid.app. This name can also be changed using the mv command in Terminal.app. <br />
<br />
Once this change is made, half of the program will show up under the X11 icon, and half will show up under the MacPyMOL icon.<br />
<br />
==== Using a Package Manager ====<br />
An alternative to renaming MacPyMOL is to download the PyMOL installation using a package manager such as [[MAC_Install#PyMOL_and_Fink|Fink]], [[MAC_Install#PyMOL_in_MacPorts|MacPorts]], or [[MAC_Install#Installing_PyMOL_with_Homebrew|Homebrew]].<br />
<br />
fink install pymol-py27<br />
<br />
=SEE ALSO=<br />
[[Plugin_manager]]<br />
<br />
<br />
[[Category:Plugins]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Identify&diff=13004Identify2015-10-09T05:09:13Z<p>OsvaldoMartin: add links to Selection and Property_selectors</p>
<hr />
<div>'''identify''' returns a list of atom IDs corresponding to the ID code of atoms in the selection.<br />
<br />
== PYMOL API ==<br />
<source lang="python"><br />
list = cmd.identify(string selection="(all)",int mode=0)<br />
</source><br />
<br />
===NOTES===<br />
*mode 0: only return a list of identifiers (default)<br />
*mode 1: return a list of tuples of the object name and the identifier <br />
<br />
== See Also ==<br />
<br />
[[Selection]], [[Property_Selectors]]<br />
<br />
[[Category:Commands|Identify]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Property_Selectors&diff=13044Property Selectors2015-10-09T05:07:01Z<p>OsvaldoMartin: /* See Also */ add link to identify command</p>
<hr />
<div>==Property Selectors==<br />
PyMOL reads data files written in PDB, MOL/SDF, Macromodel, ChemPy Model, and Tinker XYZ formats. Some of the data fields in these formats allow PyMOL to assign properties to atoms. You can group and select atoms according to these properties using property selectors and identifiers: the selectors correspond to the fields in the data files, and the identifiers correspond to the target words to match, or the target numbers to compare.<br />
<br />
===General===<br />
The items in a list of identifiers are separated by plus signs (+) only. Do not add spaces within a list of identifiers. The selector '''resi''' takes (+)-separated lists of identifiers, as in<br />
<source lang="python"><br />
PyMOL> select nterm, resi 1+2+3<br />
</source><br />
or, alternatively, it may take a range given with a dash<br />
<source lang="python"><br />
PyMOL> select nterm, resi 1-3<br />
</source><br />
However, you will get an error message if you try to combine a list and a range in an identifier to a '''resi''' as in <br />
<source lang="python"><br />
PyMOL> select mistake, resi 1-3+6 <--This is WRONG<br />
</source><br />
The identifier for a blank field in an input file is and empty pair of quotes<br />
<source lang="python"><br />
PyMOL> select unstruct, ss "" # A named selection is created<br />
# to contain all atoms that are not assigned <br />
# a secondary structure.<br />
</source><br />
<br />
===Property Selector Table===<br />
Most property selectors select matches to their identifiers<br />
<TABLE BORDER="1"><br />
<TR><TH>Matching Property Selector</TH><br />
<TH ALIGN="CENTER"> Short Form Selector</TH><br />
<TH> Identifier and Example</TH><br />
</TR><br />
<TR><TD ALIGN="CENTER"> symbol</TD><TD ALIGN="CENTER"> e.</TD><TD><I><br />
<br />
chemical-symbol-list</I><br />
<BR> list of 1- or 2-letter chemical symbols from the periodic table<br />
<BR><br />
<pre>PyMOL> select polar, symbol o+n</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">name</TD><TD ALIGN="CENTER"> n.</TD><TD><I><br />
atom-name-list</I><br />
<br />
<BR> list of up to 4-letter codes for atoms in proteins or nucleic acids<br />
<BR><br />
<pre>PyMOL> select carbons, name ca+cb+cg+cd</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">resn</TD><TD ALIGN="CENTER"> r.</TD><TD><I><br />
residue-name-list</I><br />
<BR> list of 3-letter codes for amino acids<br />
<br />
<BR><br />
<pre>PyMOL> select aas, resn asp+glu+asn+gln </pre><br />
or list of up to 2-letter codes for nucleic acids<br />
<BR><br />
<pre>PyMOL&gt; select bases, resn a+g</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">resi</TD><TD ALIGN="CENTER"> i.</TD><TD><I><br />
<br />
residue-identifier-list</I><br />
<BR> list of up to 4-digit residue numbers<br />
<BR><br />
<pre>PyMOL> select mults10, resi 1+10+100+1000</pre><br />
<I> residue-identifier-range</I><br />
<BR><br />
<pre>PyMOL&gt; select nterm, resi 1-10</pre><br />
<br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">alt</TD><TD ALIGN="CENTER"> alt</TD><TD><I><br />
alternate-conformation-identifier-list</I><br />
<BR> list of single letters<br />
<pre>PyMOL> select altconf, alt a+&quot;&quot;</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">chain</TD><TD ALIGN="CENTER"> c.</TD><TD><I><br />
<br />
chain-identifier-list</I><br />
<BR> list of single letters or sometimes numbers<br />
<BR><br />
<pre>PyMOL> select firstch, chain a</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER"> segi</TD><TD ALIGN="CENTER"> s.</TD><TD><I><br />
segment-identifier-list</I><br />
<br />
<BR> list of up to 4 letter identifiers<br />
<pre>PyMOL> select ligand, segi lig </pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">flag</TD><TD ALIGN="CENTER"> f.</TD><TD><I><br />
flag-number</I><br />
<BR> a single integer from 0 to 31<br />
<BR><br />
<br />
<pre>PyMOL> select f1, flag 0</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">&nbsp; numeric_type &nbsp;</TD><TD ALIGN="CENTER"> nt.</TD><TD><br />
<I> type-number</I><br />
<BR> a single integer<br />
<BR><br />
<pre>PyMOL> select type1, nt. 5</pre><br />
<br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">text_type</TD><TD ALIGN="CENTER"> tt.</TD><TD><I><br />
type-string</I><br />
<BR> a list of up to 4 letter codes<br />
<pre>PyMOL> select subset, text_type HA+HC</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">id</TD><TD ALIGN="CENTER"> id</TD><TD><I><br />
<br />
external-index-number</I><br />
<BR> a single integer<br />
<BR><br />
<pre>PyMOL> select idno, id 23</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">index</TD><TD ALIGN="CENTER"> idx.</TD><TD><I><br />
internal-index-number</I><br />
<br />
<BR> a single integer<br />
<BR><br />
<pre>PyMOL> select intid, index 11</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER"> ss</TD><TD ALIGN="CENTER"> ss</TD><TD><I><br />
secondary-structure-type</I><br />
<BR> list of single letters<br />
<br />
<BR><br />
<pre>PyMOL> select allstrs, ss h+s+l+&quot;&quot;</pre><br />
</TD></TR><br />
</TABLE><br />
<br />
<br />
<br />
===Numeric Selector Table===<br />
Other ''property selectors'' select by comparison to numeric identifiers<br />
<br />
<TABLE BORDER="1"><br />
<TR><TH>Numeric Selector</TH><br />
<TH ALIGN="CENTER"> Short Form</TH><br />
<TH>Argument and Example</TH></TR><br />
<TR><TD ALIGN="CENTER">b</TD><TD ALIGN="CENTER"> b</TD><TD><I><br />
comparison-operator b-factor-value</I><br />
<BR> a real number<br />
<pre>PyMOL> select fuzzy, b &gt; 10</pre><br />
<br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">q</TD><TD ALIGN="CENTER"> q</TD><TD><I><br />
comparison-operator occupancy-value</I><br />
<BR> a real number<br />
<pre>PyMOL> select lowcharges, q &lt;0.50</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">&nbsp; formal_charge &nbsp;</TD><TD ALIGN="CENTER"> fc.</TD><TD><br />
<br />
<I> comparison-operator formal charge-value</I><br />
<BR> an integer<br />
<pre>PyMOL> select doubles, fc. = -1</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">&nbsp; partial_charge &nbsp;</TD><TD ALIGN="CENTER"> pc.</TD><TD><br />
<I> comparison-operator partial charge-value</I><br />
<br />
<BR> a real number<br />
<pre>PyMOL> select hicharges, pc. &gt; 1</pre><br />
</TD></TR><br />
</TABLE><br />
<br />
<br />
==User Notes==<br />
<br />
===Select by PDB Assigned Atom Number===<br />
To select atoms by their PDB ATOM number, use the '''id''' selector:<br />
<source lang="python"><br />
select Nt, id 1-30<br />
</source><br />
makes a new selection called Nt and puts in it the first 30 atoms (assuming your PDB starts numbering at 1).<br />
<br />
===Selecting via a Negative Identifier===<br />
If you have a residue id < 0, eg. resi -55, then you have to escape the minus sign or renumber the atoms:<br />
<br />
<source lang="python"><br />
select i. \-55<br />
</source><br />
<br />
===Alternate Locations===<br />
====Select All Alternate Locations====<br />
*To select '''all''' residues with alternate locations (alt, alt loc), simply do:<br />
<source lang="python"><br />
select aa, not alt ""<br />
</source><br />
Try it on 1CBN.<br />
<br />
====Select All Alternate Locations Except the A-Locations====<br />
* To select and remove all atoms with alternate locations (ALT, alt loc) that aren't the '''A''' record try the following. This removes all alt locations that are not the original '''A''' location. For example given the following pdb record,<br />
<source lang="python" line="1"><br />
ATOM 949 N ARG A 124 6.039 8.484 9.313 1.00 9.82 N<br />
ATOM 950 CA ARG A 124 5.839 7.071 8.980 1.00 10.05 C<br />
ATOM 951 C ARG A 124 6.009 6.809 7.493 1.00 9.18 C<br />
ATOM 952 O ARG A 124 5.803 7.715 6.648 1.00 9.06 O<br />
ATOM 953 CB ARG A 124 4.437 6.660 9.425 1.00 10.61 C<br />
ATOM 954 CG AARG A 124 4.381 6.539 10.955 0.50 12.54 C<br />
ATOM 955 CG BARG A 124 4.170 6.743 10.930 0.50 14.58 C<br />
ATOM 956 CD AARG A 124 2.996 6.418 11.561 0.50 11.86 C<br />
ATOM 957 CD BARG A 124 2.700 7.091 11.242 0.50 17.41 C<br />
ATOM 958 NE AARG A 124 2.110 7.506 11.144 0.50 13.01 N<br />
ATOM 959 NE BARG A 124 2.229 6.746 12.588 0.50 19.94 N<br />
ATOM 960 CZ AARG A 124 0.912 7.729 11.654 0.50 12.21 C<br />
ATOM 961 CZ BARG A 124 2.123 5.510 13.067 0.50 21.42 C<br />
ATOM 962 NH1AARG A 124 0.433 6.958 12.627 0.50 12.93 N<br />
ATOM 963 NH1BARG A 124 2.470 4.470 12.319 0.50 24.35 N<br />
ATOM 964 NH2AARG A 124 0.185 8.735 11.188 0.50 11.89 N<br />
ATOM 965 NH2BARG A 124 1.658 5.310 14.313 0.50 18.28 N<br />
</source><br />
the command below will remove the (not A so) B-locations (lines 7, 9, 11, 13, 15, 17).<br />
<source lang="python"><br />
# select & remove all non A altlocs<br />
remove not (alt ''+A)<br />
# reset the PDB information<br />
alter all, alt=''<br />
</source><br />
<br />
See also, [[removeAlt]] for a script to do this for you.<br />
<br />
== See Also ==<br />
<br />
[[Single-word Selectors]] [[Selection Macros]] [[Selection_Algebra]] [[Identify]]<br />
<br />
<br />
[[Category:Selector Quick Reference]]<br />
[[Category:Selecting|Selector Quick Reference]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Selection_Algebra&diff=13051Selection Algebra2015-10-09T05:05:55Z<p>OsvaldoMartin: /* See Also */ add link to identify command</p>
<hr />
<div>__FORCETOC__<br />
<br />
Selections can be made more precise or inclusive by combining them with logical operators, including the boolean '''and''', '''or''', and '''not'''. The boolean '''and''' selects only those items that have both (or all) of the named properties, and the boolean '''or''' selects items that have either (or any) of them. Venn diagrams show that '''and ''' selects the areas of overlap, while '''or''' selects both areas. <br />
<br />
See [http://pymol.sourceforge.net/newman/user/S0220venn.jpg simple logic Venn diagram].<br />
<br />
== Selection Operator/Modifier Table ==<br />
Selection operators and modifiers are listed below. The dummy variables ''s1'' and ''s2'' stand for selection-expressions such as "chain a" or "hydro."<br />
<br />
<TABLE BORDER="1"><br />
<TR><TH ALIGN="CENTER" WIDTH="100">Operator</TH><TH>Short form</TH><br />
<TH>Effect</TH><br />
</TR><br />
<TR><TD ALIGN="CENTER">not <I>s</I>1</TD><br />
<TD ALIGN="CENTER">!<I>s</I>1</TD><br />
<TD>Selects atoms that are not included in <I>s</I>1<br />
<pre>PyMOL> select sidechains, ! bb</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER"><I> s</I>1 and<I> s</I>2</TD><br />
<TD ALIGN="CENTER"><I> s</I>1 &amp;<I> s</I>2</TD><br />
<TD>Selects atoms included in both<I> s</I>1 and<I> s</I>2<br />
<pre>PyMOL> select far_bb, bb &amp;farfrm_ten</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER"><I> s</I>1 or<I> s</I>2</TD><br />
<TD ALIGN="CENTER"><I> s</I>1 |<I> s</I>2</TD><TD>Selects atoms included in either<I> s</I>1 or<I> s</I>2<br />
<pre>PyMOL> select all_prot, bb | sidechain</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER"><I> s</I>1 in<I> s</I>2</TD><br />
<TD ALIGN="CENTER"><I> s</I>1 in<I> s</I>2</TD><TD>Selects atoms in<I> s</I>1 whose identifiers name, resi, resn, chain and segi <strong><u>all</u></strong> match atoms in<I> s</I>2<br />
<pre>PyMOL> select same_atms, pept in prot</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER"><I> s</I>1 like<I> s</I>2</TD><TD ALIGN="CENTER"><I> s</I>1 l.<I> s</I>2</TD><TD>Selects atoms in<I> s</I>1 whose identifiers name and resi match atoms in<I> s</I>2<br />
<pre>PyMOL> select similar_atms, pept like prot</pre><br />
<br />
</TD></TR><br />
<TR><TD ALIGN="CENTER"><I> s</I>1 gap<I> X</I></TD><br />
<TD ALIGN="CENTER"></TD><TD>Selects all atoms whose van der Waals radii are separated from the van der Waals radii of<I> s</I>1 by a minimum of<I> X</I> Angstroms.<br />
<pre>PyMOL> select farfrm_ten, resi 10 gap 5</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER"><I> s</I>1 around<I> X</I></TD><br />
<TD ALIGN="CENTER"><I> s</I>1 a.<I> X</I></TD><TD>Selects atoms with centers within<I> X</I> Angstroms of the center of any atom in<I> s</I>1<br />
<pre>PyMOL> select near_ten, resi 10 around 5</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER"><I> s</I>1 expand<I> X</I><br />
</TD><TD ALIGN="CENTER"><I> s</I>1 x.<I> X</I></TD><TD>Expands<I> s</I>1 by all atoms within<I> X</I> Angstroms of the center of any atom in<I> s</I>1<br />
<pre>PyMOL> select near_ten_x, near10 expand 3</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">&nbsp;<I> s</I>1 within X of<I> s</I>2&nbsp;</TD><br />
<TD ALIGN="CENTER"><I> s</I>1 w. X of<I> s</I>2&nbsp;</TD><TD>Selects atoms in<I> s</I>1 that are within X Angstroms of the<I> s</I>2<br />
<pre>PyMOL> select bbnearten, bb w. 4 of resi 10</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">&nbsp;<I> s</I>1 near_to X of<I> s</I>2&nbsp;</TD><br />
<TD ALIGN="CENTER"><I> s</I>1 nto. X of<I> s</I>2&nbsp;</TD><TD>Same as <i>within</i>, but excludes <i>s2</i> from the selection (and thus is identical to <code>s1 and <i>s2</i> around X</code>)<br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">&nbsp;<I> s</I>1 beyond X of<I> s</I>2&nbsp;</TD><br />
<TD ALIGN="CENTER"><I> s</I>1 be. X of<I> s</I>2&nbsp;</TD><TD>Selects atoms in <i>s1</i> that are at least X Anstroms away from <i>s2</i><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">byres<I> s</I>1</TD><br />
<TD ALIGN="CENTER">br.<I> s</I>1</TD><TD>Expands selection to complete residues<br />
<pre>PyMOL> select complete_res, br. bbnear10</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">bymolecule<I> s</I>1</TD><br />
<TD ALIGN="CENTER">bm.<I> s</I>1</TD><TD>Expands selection to complete molecules<br />
<pre>PyMOL> select complete_res, bm. bbnear10</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">byfragment<I> s</I>1</TD><br />
<TD ALIGN="CENTER">bf.<I> s</I>1</TD><TD>Expands selection to complete fragments<br />
<pre>PyMOL> select complete_res, bf. bbnear10</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">bysegment<I> s</I>1</TD><br />
<TD ALIGN="CENTER">bs.<I> s</I>1</TD><TD>Expands selection to complete segments<br />
<pre>PyMOL> select complete_res, bs. bbnear10</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">byobject<I> s</I>1</TD><br />
<TD ALIGN="CENTER">bo.<I> s</I>1</TD><TD>Expands selection to complete objects><br />
<pre>PyMOL> select near_obj, bo. near_res</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">bycell<I> s</I>1</TD><br />
<TD ALIGN="CENTER"></TD><TD>Expands selection to unit cell><br />
<pre>PyMOL> select complete_cell, bycell orig_res</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">neighbor<I> s</I>1</TD><br />
<TD ALIGN="CENTER">nbr.<I> s</I>1</TD><TD>Selects atoms directly bonded to<I> s</I>1, excludes <i>s</i>1<br />
<pre>PyMOL> select vicinos, neighbor resi 10</pre><br />
</TD></TR><br />
<TR><TD ALIGN="CENTER">bound_to <I>s1</I></TD><br />
<TD ALIGN="CENTER">bto. <i>s1</i></TD><br />
<td>Selects atoms directly bonded to <i>s1</i>, may include <i>s1</i><br />
</TR><br />
<TR><TD ALIGN="CENTER"><I> s</I>1 extend<I> X</I><br />
</TD><TD ALIGN="CENTER"><I> s</I>1 xt.<I> X</I></TD><TD>Extends<I> s</I>1 by<I> X</I> bonds connected to atom in<I> s</I>1<br />
<pre>PyMOL> select connect_x, near10 extend 3</pre><br />
</TD></TR><br />
<tr><td align=center>pepseq <i>SEQ</i></td><br />
<td align=center>ps. <i>SEQ</i></td><br />
<td>Selects peptide sequence matching upper-case one-letter sequence <i>SEQ</i> (see also [[FindSeq]])<br />
<pre>PyMOL> select 1tvn and ps. FATEW</pre></td></tr><br />
<TR><TD ALIGN="CENTER">rep <i>rep</i></TD><br />
<TD ALIGN="CENTER"></TD><br />
<TD>Selects atoms which show representation <i>rep</i><br />
<pre>PyMOL> select sele, rep spheres</pre></TD></TR><br />
</TABLE><br />
<br />
== Comparison of distance operators ==<br />
<br />
There are serveral very similar operators that select by pairwise atom distances. The following table lists the details how they differ.<br />
<br />
'''Syntax 1''': ''s1'' operator X of ''s2''<br><br />
'''Syntax 2''': ''s1'' and (''s2'' operator X)<br />
<br />
{| border=1 cellspacing=0 cellpadding=4 style="text-align:center" class=wikitable<br />
! operator !! distance is ... !! measured from !! includes s2 !! syntax !! notes<br />
|-<br />
| near_to || ≤ X || center || never || 1 || equivalent to "around"<br />
|-<br />
| within || ≤ X || center ||if matches s1|| 1 ||<br />
|-<br />
| beyond || > X || center || never || 1 ||<br />
|-<br />
| gap || > X || center+vdw || never || 2 ||<br />
|-<br />
| around || ≤ X || center || never || 2 || equivalent to "near_to"<br />
|-<br />
| expand || ≤ X || center || always || 2 ||<br />
|}<br />
<br />
== Examples ==<br />
Logical selections can be combined. For example, you might select atoms that are part of chain a, but not residue number 125:<br />
<source lang="python"><br />
# selects atoms that are part of chain a, but not residue number 125.<br />
select chain a and (not resi 125)<br />
<br />
# The following two selections are equivalent, <br />
select (name cb or name cg1 or name cg2) and chain A<br />
<br />
# select c-beta's, c-gamma-1's and c-gamma-2's <br />
# that are in chain A.<br />
select name cb+cg1+cg2 and chain A<br />
<br />
# select all residues within 5 Ang. or any organic small molecules<br />
select br. all within 5 of organic<br />
<br />
# select helices<br />
select ss 'h'<br />
<br />
# select anything shown as a line<br />
select rep lines<br />
<br />
# select all residues with a b-factor less than 20, within 3 angstroms of any water<br />
select br. b<20 & (all within 3 of resn HOH)<br />
<br />
# select anything colored blue<br />
select color blue<br />
<br />
# select the 1st arginine<br />
select first resn arg<br />
<br />
# select 1foo's segment G's chain X's residue 444's alpha carbon<br />
select 1foo/G/X/444/CA<br />
# same thing<br />
select 1foo and segi G and c. X and i. 444 and n. CA<br />
<br />
# select the entire object that residue 23's beta caron is in:<br />
select bo. i. 23 and n. CA<br />
<br />
# select the molecule that chain C is in<br />
select bm. c. C<br />
</source><br />
<br />
Like the results of groups of arithmetic operations, the results of groups of logical operations depend on which operation is performed first. They have an order of precedence. To ensure that the operations are performed in the order you have in mind, use parentheses:<br />
<br />
<source lang="python">byres ((chain a or (chain b and (not resi 125))) around 5)</source><br />
<br />
PyMOL will expand its logical selection out from the innermost parentheses.<br />
<br />
== See Also ==<br />
<br />
[[Single-word Selectors]], [[Selection Macros]], [[Property_Selectors]], [[Identify]]<br />
<br />
[[Category:Selector Quick Reference]]<br />
[[Category:Selecting|Selection Algebra]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Apbsplugin&diff=12964Apbsplugin2015-10-08T17:00:45Z<p>OsvaldoMartin: add instructions on how to save default locations</p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|filename = plugins/apbsplugin.py<br />
|author = [[User:Mglerner|Michael G. Lerner]]<br />
|license = BSD<br />
}}<br />
<br />
== Software requirements ==<br />
Register use of the software. This will the authors able to require funding for further development.<br><br />
Register here, it takes 1 minutes: http://www.poissonboltzmann.org/apbs/downloads <br><br />
And register here, it takes 1 minutes: http://www.poissonboltzmann.org/pdb2pqr/d/downloads<br />
<br />
This plugin is ready "out-of-box" for Linux/Win users through the project [[git_intro | Pymol-script-repo]]<br />
<br />
=== Windows ===<br />
Download '''APBS.msi''' from: http://sourceforge.net/projects/apbs/files/apbs/ <br><br />
<br />
=== Ubuntu ===<br />
APBS are in the repository: http://packages.ubuntu.com/search?keywords=apbs <br><br />
sudo apt-get install apbs<br />
<br />
=== Compile yourself ===<br />
If you really want, then see this section: [[APBS]]<br />
<br />
== Examples ==<br />
There is a nice tutorial on the APBS homepage: [http://www.poissonboltzmann.org/apbs/examples/visualization/apbs-electrostatics-in-pymol] <br><br />
For further help, there is a mailing list [https://lists.sourceforge.net/lists/listinfo/apbs-users] with the corresponding archive [http://sourceforge.net/mailarchive/forum.php?forum_name=apbs-users]<br />
<br />
=== Example 1 ===<br />
Read about the protein here: http://www.proteopedia.org/wiki/index.php/3ig7 <br><br />
<br />
{{Template:PymolScriptRepoDownload|examples/apbsplugin_1.pml}}<br />
<include src="https://raw.github.com/Pymol-Scripts/Pymol-script-repo/master/examples/apbsplugin_1.pml" highlight="python" /><br />
<br />
Open the '''APBS Tool2.1...''' plugin. The executable should be found for itself:<br />
<br />
Click in '''Selection to use''', and write '''cdk2'''. <br><br />
Click '''Set grid''' <br><br />
Click '''Run APBS''' <br><br />
To the left in '''Molecular Surface''', click '''Show'''. <br><br />
Tadaaa!<br />
Hide it again, now show both ''Positive'' and ''Negative'' Isosurface<br />
<br />
== Saving default locations ==<br />
=== Via environment variables ===<br />
<br />
Set the environment variables APBS_BINARY_DIR, APBS_WEB_DIR, APBS_PSIZE_DIR, APBS_PDB2PQR_DIR, and/or TEMP, and things should work properly as long as you're using the most recent version of the plugin.<br />
<br />
=== Via editing the plugin ===<br />
<br />
Open up the python file associated with the plugin (typically apbsplugin.py), look for the section near the top labeled "Global config variables" and change the values from None to a string.<br />
<br />
<br />
== Troubleshooting ==<br />
See: [[APBS#Troubleshooting]]<br />
<br />
== References and LICENSES ==<br />
=== APBS ===<br />
When using the APBS, you are "obligated" to register your use of the software. This will the authors able to require funding for further development.<br><br />
Register here, it takes 1 minutes: http://www.poissonboltzmann.org/apbs/downloads<br />
<br />
Please acknowledge your use of APBS by citing: <br><br />
Baker NA, Sept D, Joseph S, Holst MJ, McCammon JA. ''Electrostatics of nanosystems: application to microtubules and the ribosome.'' <br />
'''Proc. Natl. Acad. Sci. USA 98''', 10037-10041 2001. [http://dx.doi.org/10.1073/pnas.181342398 doi:10.1073/pnas.181342398]<br />
<br />
Please acknowledge your use of the Holst group software by citing: <br><br />
M. Holst and F. Saied, ''Multigrid solution of the Poisson-Boltzmann equation.'' '''J. Comput. Chem. 14''', 105-113, 1993. <br><br />
M. Holst and F. Saied, ''Numerical solution of the nonlinear Poisson-Boltzmann equation: Developing more robust and efficient methods.'' '''J. Comput. Chem.''' 16, 337-364, 1995. <br><br />
For PMG (the multigrid solver): <br><br />
M. Holst, ''Adaptive numerical treatment of elliptic systems on manifolds.'' '''Advances in Computational Mathematics 15''', 139-191, 2001. <br />
[http://dx.doi.org/10.1023/A:1014246117321 doi:10.1023/A:1014246117321] <br><br />
For FEtk (the finite element solver): <br><br />
R. Bank and M. Holst, ''A New Paradigm for Parallel Adaptive Meshing Algorithms.'' '''SIAM Review 45''', 291-323, 2003. <br />
[http://dx.doi.org/10.1137/S003614450342061 doi:10.1137/S003614450342061]<br />
<br />
=== pdb2pqr ===<br />
When using the pdb2pqr, you are "strongly encourage" to register your use of the software. This will the authors able to require funding for further development.<br><br />
Register here, it takes 1 minutes: http://www.poissonboltzmann.org/pdb2pqr/d/downloads<br />
<br />
=== MALOC ===<br />
Please acknowledge the use of MALOC and FETK by citing: <br><br />
M. Holst, ''Adaptive numerical treatment of elliptic systems on manifolds.'' '''Advances in Computational Mathematics''', 15 (2001), pp. 139-191.<br />
<br />
Copyright and Terms of Use: <br><br />
GNU General Public License: http://www.gnu.org/copyleft/gpl.html<br />
<syntaxhighlight lang="text"><br />
This version of MALOC is distributed under the following guidelines:<br />
MALOC (Minimal Abstraction Layer for Object-oriented C) <br />
Copyright (C) 1994-2010 Michael Holst <br />
<br />
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. <br />
<br />
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. <br />
<br />
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.<br />
</syntaxhighlight><br />
<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Apbsplugin&diff=12963Apbsplugin2015-10-08T16:59:04Z<p>OsvaldoMartin: /* Example */ fix typo</p>
<hr />
<div>{{Infobox script-repo<br />
|type = plugin<br />
|filename = plugins/apbsplugin.py<br />
|author = [[User:Mglerner|Michael G. Lerner]]<br />
|license = BSD<br />
}}<br />
<br />
== Software requirements ==<br />
Register use of the software. This will the authors able to require funding for further development.<br><br />
Register here, it takes 1 minutes: http://www.poissonboltzmann.org/apbs/downloads <br><br />
And register here, it takes 1 minutes: http://www.poissonboltzmann.org/pdb2pqr/d/downloads<br />
<br />
This plugin is ready "out-of-box" for Linux/Win users through the project [[git_intro | Pymol-script-repo]]<br />
<br />
=== Windows ===<br />
Download '''APBS.msi''' from: http://sourceforge.net/projects/apbs/files/apbs/ <br><br />
<br />
=== Ubuntu ===<br />
APBS are in the repository: http://packages.ubuntu.com/search?keywords=apbs <br><br />
sudo apt-get install apbs<br />
<br />
=== Compile yourself ===<br />
If you really want, then see this section: [[APBS]]<br />
<br />
== Examples ==<br />
There is a nice tutorial on the APBS homepage: [http://www.poissonboltzmann.org/apbs/examples/visualization/apbs-electrostatics-in-pymol] <br><br />
For further help, there is a mailing list [https://lists.sourceforge.net/lists/listinfo/apbs-users] with the corresponding archive [http://sourceforge.net/mailarchive/forum.php?forum_name=apbs-users]<br />
<br />
=== Example 1 ===<br />
Read about the protein here: http://www.proteopedia.org/wiki/index.php/3ig7 <br><br />
<br />
{{Template:PymolScriptRepoDownload|examples/apbsplugin_1.pml}}<br />
<include src="https://raw.github.com/Pymol-Scripts/Pymol-script-repo/master/examples/apbsplugin_1.pml" highlight="python" /><br />
<br />
Open the '''APBS Tool2.1...''' plugin. The executable should be found for itself:<br />
<br />
Click in '''Selection to use''', and write '''cdk2'''. <br><br />
Click '''Set grid''' <br><br />
Click '''Run APBS''' <br><br />
To the left in '''Molecular Surface''', click '''Show'''. <br><br />
Tadaaa!<br />
Hide it again, now show both ''Positive'' and ''Negative'' Isosurface<br />
<br />
== Troubleshooting ==<br />
See: [[APBS#Troubleshooting]]<br />
<br />
== References and LICENSES ==<br />
=== APBS ===<br />
When using the APBS, you are "obligated" to register your use of the software. This will the authors able to require funding for further development.<br><br />
Register here, it takes 1 minutes: http://www.poissonboltzmann.org/apbs/downloads<br />
<br />
Please acknowledge your use of APBS by citing: <br><br />
Baker NA, Sept D, Joseph S, Holst MJ, McCammon JA. ''Electrostatics of nanosystems: application to microtubules and the ribosome.'' <br />
'''Proc. Natl. Acad. Sci. USA 98''', 10037-10041 2001. [http://dx.doi.org/10.1073/pnas.181342398 doi:10.1073/pnas.181342398]<br />
<br />
Please acknowledge your use of the Holst group software by citing: <br><br />
M. Holst and F. Saied, ''Multigrid solution of the Poisson-Boltzmann equation.'' '''J. Comput. Chem. 14''', 105-113, 1993. <br><br />
M. Holst and F. Saied, ''Numerical solution of the nonlinear Poisson-Boltzmann equation: Developing more robust and efficient methods.'' '''J. Comput. Chem.''' 16, 337-364, 1995. <br><br />
For PMG (the multigrid solver): <br><br />
M. Holst, ''Adaptive numerical treatment of elliptic systems on manifolds.'' '''Advances in Computational Mathematics 15''', 139-191, 2001. <br />
[http://dx.doi.org/10.1023/A:1014246117321 doi:10.1023/A:1014246117321] <br><br />
For FEtk (the finite element solver): <br><br />
R. Bank and M. Holst, ''A New Paradigm for Parallel Adaptive Meshing Algorithms.'' '''SIAM Review 45''', 291-323, 2003. <br />
[http://dx.doi.org/10.1137/S003614450342061 doi:10.1137/S003614450342061]<br />
<br />
=== pdb2pqr ===<br />
When using the pdb2pqr, you are "strongly encourage" to register your use of the software. This will the authors able to require funding for further development.<br><br />
Register here, it takes 1 minutes: http://www.poissonboltzmann.org/pdb2pqr/d/downloads<br />
<br />
=== MALOC ===<br />
Please acknowledge the use of MALOC and FETK by citing: <br><br />
M. Holst, ''Adaptive numerical treatment of elliptic systems on manifolds.'' '''Advances in Computational Mathematics''', 15 (2001), pp. 139-191.<br />
<br />
Copyright and Terms of Use: <br><br />
GNU General Public License: http://www.gnu.org/copyleft/gpl.html<br />
<syntaxhighlight lang="text"><br />
This version of MALOC is distributed under the following guidelines:<br />
MALOC (Minimal Abstraction Layer for Object-oriented C) <br />
Copyright (C) 1994-2010 Michael Holst <br />
<br />
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. <br />
<br />
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. <br />
<br />
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.<br />
</syntaxhighlight><br />
<br />
[[Category:Pymol-script-repo]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Ideas&diff=13002Ideas2015-10-08T16:55:18Z<p>OsvaldoMartin: add link to PyMOL mailing list wiki page</p>
<hr />
<div><blockquote><br />
----<br />
----<br />
'''DISCLAIMER:''' This page was originally developed for the 2008 Google Summer of Code competition and is kept only for historical reasons. If you want to discuss an idea or feature implementation just send and e-mail to the [[PyMOL_mailing_list]]. If you want to request a new feature or report a bug, please fill a ticket at [http://sourceforge.net/projects/pymol/| sourceforge]<br />
----<br />
----<br />
</blockquote><br />
<br />
=== Ideas for PyMOL Development ===<br />
<br />
== Where to Start ==<br />
<br />
Always start with Python and only delve down into the C code when absolutely necessary. Although PyMOL is mostly a C-based application, much of the that code is opaque, fragile, and unforgiving. Although C code refactoring is an important project goal, such work may not be ideal since once mistake could potentially to destabilize the entire platform. <br />
<br />
Fortunately, the Python interpreter and the PyMOL command and selection languages make it possible to extend PyMOL safely and quickly. Even when performance is critical, Python should be the interface between external C, C++, and Java code and PyMOL's internal C data structures.<br />
<br />
== Choosing a Topic ==<br />
<br />
The best open-source code is usually written by an end-users attempting to meet their own pressing needs. So if you have already have a specific need which relates to PyMOL, then we strongly encourage you to follow up on that first!<br />
<br />
If you are looking for ideas, then try to seek out enhancements and/or integrations that will impact the largest potential user base. For example, imagine what new things might be useful to virtually all medicinal chemists, all structural biologists, all movie-makers, all paper-writers, and so forth.<br />
<br />
The ideas below are organized by category. Right now, integration with other open-source projects seems like the approach most likely to yield significant benefit, so those ideas are first.<br />
<br />
== Integration Ideas (Linking Out to Useful Open-Source Tools) ==<br />
<br />
In most cases, depending on the need, integration can be accomplished through standalone Python scripts, through new PyMOL commands, through PyMOL Wizards, or via Tkinter plugins.<br />
<br />
* APBS (electrostatics calculations): Improve the existing plugin. Michael Lerner is currently leading this effort. See [[APBS]]<br />
:: yea ([[User:Inchoate|Tree]] [[User:Jedgold|Jedgold]] [[User:Vcpmartin|Vcpmartin]] [[User:Siderator|Siderator]] [[User:Tstout|tstout]]) / nay (0)<br />
:: Feel free to mention specific plugin enhancements you'd like! [[User:Mglerner|Michael Lerner]]<br />
* RDKit (cheminformatics, depiction, UFF cleanup, etc.): Lots of potential here, however C++ coding may be necessary for more advanced integration tasks. [http://www.rdkit.org RDKit home]<br />
:: yea ([[User:Markvanraaij|Markvanraaij]]) / nay (0)<br />
* GIMP (image manipulation): Streamline & document the process of exporting images from PyMOL into GIMP and preparing them for submission to scientific Journals.<br />
:: yea (0) / nay (0)<br />
* Jmol (publishing visualizations inside of web pages): Liason between PyMOL & Jmol projects to develop a shared molecular visualization data model compatible with both applications (meaning, being able to import/export sessions from one to the other).<br />
:: yea ([[User:Tstout|tstout]] [[User:Slaw|slaw]]) / nay ([[User:Cowsandmilk|Cowsandmilk]])<br />
* Firefox (plugin): Develop an PyMOL plugin compatible with Firefox.<br />
:: yea ([[User:Vvostri|Vvostri]] [[User:assaff|assaff]] [[User:Slaw|slaw]]) / nay ([[User:Tstout|tstout]])<br />
* MMTK (molecular mechanics -- Python/flexible): Develop the ability to round-trip molecular systems from PyMOL, into MMTK, and back.<br />
:: yea (0) / nay (0)<br />
* GROMACS (molecular mechanics -- C/fast) - Maybe some ideas can be shared with this guy. [http://www.kde-apps.org/content/show.php/Gromacs+GUI+?content=47665 Gromacs GUI]<br />
:: yea ([[User:Jedgold|Jedgold]] [[User:Mglerner|Michael Lerner]]) / nay (0)<br />
* OpenOffice (escape Microsoft hegemony): Develop an PyMOL plugin.<br />
:: yea (0) / nay (0)<br />
* IPython integration (interactive shell): a robust alternative to the PyMOL command line?<br />
:: yea ([[User:Cowsandmilk|Cowsandmilk]] [[User:assaff|assaff]]) / nay (0)<br />
* R (statistics): PyMOL a 3D viewer environment for visualizating & manipulating large statistical data sets?<br />
:: yea (0) / nay (0)<br />
<br />
Are there other key open-source packages we might specifically target for integration with PyMOL, either through GSoC or beyond?<br />
<br />
== High-Level Enhancement Ideas (Mostly Python-oriented) ==<br />
<br />
* Work on [[#More Ideas (Please add your own!)| MolViz]]<br />
:: yea (0) / nay (0)<br />
* Develop new plugins which automate routine tasks.<br />
:: yea ([[User:Vvostri|Vvostri]]) / nay (0)<br />
* Improve the Python API documentation.<br />
:: yea ([[User:Cowsandmilk|Cowsandmilk]] [[User:Slaw|slaw]]) / nay (0)<br />
* Flesh out the new "from pymol2 import PyMOL" instance-based PyMOL API.<br />
:: yea (0) / nay (0)<br />
* Develop alternate Tkinter "skins" (for custom OEM-like applications).<br />
:: yea (0) / nay (0)<br />
* Develop a Tkinter/TOGL widget which holds a PyMOL viewer instance.<br />
:: yea (0) / nay (0)<br />
* Develop a PyQt widget which holds a PyMOL viewer instance.<br />
:: yea ([[User:Cowsandmilk|Cowsandmilk]]) / nay (0)<br />
* Create a plugin-manager GUI in the style of Firefox, Rythmbox, Gedit, Eclipse. A GUI where it is easy to turn off/on plugins, configure them and see help-contents for them. Maybe also some way to paste a url to install a new Plugin.<br />
:: yea ([[User:Vvostri|Vvostri]], [[User:Tstout|tstout]]) / nay (0)<br />
* Add a plugin for a GUI window with the same functionality as the "Control Panel" window in SwissPDB Viewer.<br />
:: yea ([[User:Vvostri|Vvostri]]) / nay (0)<br />
* Extend and modify the PyMOL command language so as to be compatible with existing RasMol and/or Jmol scripts.<br />
:: yea ([[User:Tstout|tstout]]) / nay ([[User:Cowsandmilk|Cowsandmilk]] [[User:Slaw|slaw]])<br />
* Enhance the Mutagenesis Wizard in order to support Nucleic acids and/or Sugars.<br />
:: yea ([[User:Lucajovine|Luca Jovine]] [[User:Slaw|slaw]]) / nay (0)<br />
* Better tab completion for commands<br />
:: yea ([[User:Cowsandmilk|Cowsandmilk]] [[User:Tstout|tstout]] [[User:Slaw|slaw]]) /nay(0)<br />
<br />
== Low-Level Enhancement Ideas (Mostly C-oriented) ==<br />
<br />
* Enable editing of displayed sequence alignments.<br />
:: yea ([[User:Jedgold|Jedgold]], [[User:Aschreyer|Aschreyer]], [[User:Lucajovine|Luca Jovine]], [[User:Slaw|slaw]], [[User:Speleo3|Speleo3]]) / nay (0)<br />
::: Would this then feed back to the structural alignment? [[User:Jedgold|Jedgold]]<br />
::: A search function in the sequence would also be nice. [[User:Siderator|Carsten Schubert]]<br />
* Add multi-line textual annotations<br />
:: yea (0) / nay (0)<br />
* Support additional annotation object including: arrow, lines, and blobs.<br />
:: yea ([[User:Aschreyer|Aschreyer]], [[User:Vvostri|Vvostri]]) / nay (0)<br />
* Add display of secondary structure into the sequence viewer.<br />
:: yea ([[User:Lucajovine|Luca Jovine]], [[User:Tstout|tstout]]) / nay (0)<br />
* Enable per-object Z clipping (especially in the ray tracer)<br />
:: yea ([[User:Gregori|Gregori]], [[User:Xevi|Xevi]], [[User:Johnm|Johnm]], [[User:Siderator|Carsten Schubert]], [[User:Tstout|tstout]]) / nay (0)<br />
::: I would go a step further with fully customizable selection-based clipping planes (XYZ, color and transparency) ([[User:Gregori|Gregori]])<br />
* Highlight H-bonds, salt bridges, Pi-stacking, Pi-cations, etc.<br />
:: yea ([[User:Lucajovine|Luca Jovine]], [[User:Siderator|Carsten Schubert]], [[User:Jaredsampson|Jared Sampson]]) / nay (0)<br />
* Build in a simple forcefield and energy minimizer suitable for use with Mutagenesis. [[optimize|optimize]]<br />
:: yea ([[User:Lucajovine|Luca Jovine]]) / nay (0)<br />
* Incorporate a suite of standard NMR visualizations (restraint violations, per-residue RMS, etc.)<br />
:: yea ([[User:Vvostri|Vvostri]], [[User:Vcpmartin|Vcpmartin]], [[User:Rpetrenko|rpetrenko]], [[User:SteffenG|SteffenG]]) / nay (0)<br />
* Enumeration and display of low-energy conformers. see [[optimize|optimize]]<br />
:: yea ([[User:Jedgold|Jedgold]]) / nay (0)<br />
::: This could be done by integrating RDKit, I think. [[User:Aschreyer|Aschreyer]]<br />
* Automated structure grafting (poor-man's homology modeling).<br />
:: yea ([[User:Tstout|tstout]]) / nay ([[User:Jedgold|Jedgold]], [[User:Cowsandmilk|Cowsandmilk]]])<br />
::: Perhaps a plugin to Modeller instead? ([[User:Jedgold|Jedgold]], [[User:Lucajovine|Luca Jovine]])<br />
* Import of alignment files.<br />
:: yea ([[User:Jedgold|Jedgold]], [[User:Lucajovine|Luca Jovine]]) / nay (0)<br />
* Implement IMD (Interactive Molecular Dynamics) Interface, see http://www.ks.uiuc.edu/Research/vmd/imd/<br />
:: yea ( [[User:Slaw|slaw]]) / nay (0)<br />
* Add buttons for '''Set ChainID''' and '''Renumber Residues From...''' to Edit menu or Actions (wrapper around Alter command)<br />
:: yea ([[User:Sheehanj|Sheehanj]], [[User:Tstout|tstout]]) / nay (0)<br />
<br />
== Difficult C-level Code Refactoring Ideas ==<br />
<br />
* Assemble a test suite which thoroughly exercises the existing code (a prerequisite to major refactoring).<br />
:: yea ([[User:Cowsandmilk|Cowsandmilk]],[[User:Karo|Karo]]) / nay (0)<br />
* Catch & handle memory-allocation failures gracefully (instead of crashing).<br />
:: yea ([[User:Cowsandmilk|Cowsandmilk]]) / nay (0)<br />
* Replace PyMOL's memory management & custom containers with a simple runtime object model.<br />
:: yea (0) / nay (0)<br />
* Separate the View and the Controllers from the Model so that they can all run asynchronously (on multiple cores).<br />
:: yea ([[User:Vvostri|Vvostri]]) / nay (0)<br />
* Enable generalized undo of changes made to the Model.<br />
:: yea ([[User:Vvostri|Vvostri]]"[[User:Vcpmartin|Vcpmartin]], [[User:Lucajovine|Luca Jovine]]", [[User:Cowsandmilk|Cowsandmilk]]) / nay (0)<br />
* Clean up the internal matrix handling code.<br />
:: yea ([[User:Cowsandmilk|Cowsandmilk]],[[User:Karo|Karo]]) / nay (0)<br />
<br />
== Ideas Involving Proprietary APIs ==<br />
<br />
Since these involve closed-source APIs and infrastructure, they aren't suitable for open-source development efforts. However, such requests are noted here for the sake of complete coverage.<br />
<br />
* Create a Windows port with "native" look & feel. <- Could this be done in PyQT or PyGTK?. Then it would look "native", but be cross-platform and not proprietary.<br />
:: yea (0) / nay ( [[User:Slaw|slaw]])<br />
* Integrate directly via Mathematica via MathLink.<br />
:: yea (0) / nay ([[User:Aschreyer|Aschreyer]])<br />
* Further enhance JyMOL (Java-JNI/wrapped PyMOL)<br />
:: yea ([[User:Inchoate|Tree]], [[User:Cowsandmilk|Cowsandmilk]] [[User:Slaw|slaw]]) / nay (0)<br />
* Integrate with Matlab.<br />
:: yea (0) / nay ([[User:Aschreyer|Aschreyer]])<br />
* Quicklook Plugin on the Mac<br />
:: yea ([[User:Cowsandmilk|Cowsandmilk]]) / nay (0)<br />
<br />
== Ideas for Plugin Developers ==<br />
<br />
The range of things that PyMOL plugins can do has grown by leaps and bounds over the last several years. It may be time for some new infrastructure to facilitate plugin development.<br />
<br />
* Plugins that span multiple files. This means 1. the ability to have them 2. the ability for users to easily install them.<br />
:: yea (1) / nay (0) ([[User:Mglerner|Michael Lerner]])<br />
* Config files that persist between sessions. This would be useful for things like remembering the locations of external programs, etc., without requiring the user to modify their .pymolrc.<br />
:: yea (1) / nay (0) ([[User:Mglerner|Michael Lerner]])<br />
* Restart PyMOL. After installing a plugin, PyMOL needs to be restarted to use the plugin. This is tedious when testing plugins under development. <br />
:: yea (1) /nay (0) ([[User:Hongbo zhu|Hongbo Zhu]])<br />
<br />
== More Ideas (Please add your own!) ==<br />
* I often need to "replicate" previously PyMOL-made figures using newer coordinates/structures. It would be a big help (to me), if PyMOL could produce an exported text file from the old PyMOL .pse file of graphical settings that I could then modify and apply as a pymol script to the new structure -- I'm thinking of something like an old-style MOLSCRIPT.INP file...<br />
:: yea ([[User:Tstout|tstout]]) / nay (0)<br />
<br />
* [http://molviz.cs.toronto.edu/molviz MolViz] is a project to incorporate head tracking input into [http://pymol.sourceforge.net/ PyMol]. This is accomplished through a [[ImmersiveViz]] script written in Python to control the molecule's position using the existing [http://www.pymolwiki.org/index.php/Category:Commands PyMol API]. Related projects would include:<br />
** Improving the existing [[ImmersiveViz]] PyMol plugin for more precise control of the environment.<br />
** Developing new input drivers for the Wiimote form of control. This would require some bluetooth hacking.<br />
** Implementing some other forms of input for head tracking, such as fisheye head tracking, IR webcam tracking, etc (refer to the end of this [[http://www.youtube.com/watch?v=ncShaY4VSac video]] for a better description).<br />
:: yea (0) / nay (0)<br />
* Provide a 2D chemical depiction of the current 3D view.<br />
:: yea ([[User:Aschreyer|Aschreyer]], [[User:Cowsandmilk|Cowsandmilk]]) / nay ([[User:Tstout|tstout]])<br />
::: RDKit?<br />
* Spreadsheet view with additional information (e.g. IC50's).<br />
:: yea ([[User:Aschreyer|Aschreyer]]) / nay ([[User:Cowsandmilk|Cowsandmilk]])<br />
* Create additional documentation, screen casts, & tutorials.<br />
:: yea ([[User:Markvanraaij|Markvanraaij]] [[User:Tstout|tstout]] [[User:Slaw|slaw]]) / nay (0)<br />
* Export 3D PDF images.<br />
:: yea ([[User:Vvostri|Vvostri]], [[User:Lucajovine|Luca Jovine]], [[User:Tstout|tstout]] [[User:Slaw|slaw]]) / nay ([[User:Cowsandmilk|Cowsandmilk]])<br />
* Add extra "Single Word Selectors" like "nucleic", "protein", "water", "ions", "backbone" (for nucleic acids or proteins), "mainchain", "sidechain"<br />
:: yea ( [[User:Slaw|slaw]]) / nay (0)<br />
* Add functionality that allows you to select atoms based on their location (i.e. select (x_coordinate < 10) and (z_coordinate > 0))<br />
:: yea (0) / nay (0)<br />
* Implemented: <strike>set pdb_mirror option to use PDB mirrors other than RCSB for fetching structures (PDBe, PDBj); the EBI mirror is much faster from Europe for example.</strike><br />
:: yea ([[User:Aschreyer|Aschreyer]], [[User:Tstout|tstout]]) / nay (0)<br />
:: There is already a [[Fetch_Host|fetch_host]] setting --[[User:Speleo3|Speleo3]] 17:05, 29 October 2010 (UTC)<br />
* have the ability to link the TK console to the viewer so that users don't have to constantly alt+tab between what they want<br />
:: yea (0) / nay (0)<br />
* have the ability to disable typing in the viewer and automatically type in the TK console (I like being able to cut/paste/home/end)<br />
:: yea ([[User:Lucajovine|Luca Jovine]]) / nay (0)<br />
* I see a lot of "can pymol do this" threads - any ideas of a good UI for a page of "things PyMOL can do?"<br />
:: yea (0) / nay (0)<br />
* make an option where I can turn on a coordinate grid - perhaps an object that is a cuboid grid around any object in the view so I can still alter how it's rendered?<br />
:: yea (0) / nay (0)<br />
* iPhone / Nexus One app(s)<br />
:: yea (0) / nay ( [[User:Slaw|slaw]])<br />
* single-color bonds between nonidentical or any spherical atoms colored specifically<br />
:: yea (0) / nay (0)<br />
* double bonds as two parallel cylinders<br />
:: yea ([[User:Vvostri|Vvostri]]) / nay (0)<br />
* export scenes as [http://www.khronos.org/webgl/ WebGL] / Could make mobile apps, presentation plugins obsolete<br />
:: yea ([[User:Aschreyer|Aschreyer]], [[User:Cowsandmilk|Cowsandmilk]], [[User:Tstout|tstout]]) / nay (0)<br />
* export images in vector format<br />
:: yea ([[User:Vvostri|Vvostri]], [[User:Lucajovine|Luca Jovine]], [[User:Aschreyer|Aschreyer]], [[User:Tstout|tstout]] [[User:Slaw|slaw]] ) / nay (0)<br />
* Keynote plugin<br />
:: yea ([[User:Lucajovine|Luca Jovine]]) / nay (0)<br />
* Electron density contour sliders (plugin: [[isoslider]])<br />
:: yea ([[User:Lucajovine|Luca Jovine]], [[User:Tstout|tstout]], [[User:Siderator|Carsten Schubert]]) / nay (0)<br />
::: May be even map the contouring level onto the wheel [[User:Siderator|Carsten Schubert]]<br />
* Implemented: <strike>Internal support for FFT, i.e. reading of map coefficients</strike><br />
:: yea ([[User:Siderator|Carsten Schubert]], [[User:Tstout|tstout]], [[User:Lucajovine|Luca Jovine]]) / nay (0)<br />
* Implemented: <strike>Automatic electron density map generation from PDB mmcif files or user-supplied MTZ files</strike><br />
:: yea ([[User:Lucajovine|Luca Jovine]], [[User:Aschreyer|Aschreyer]], [[User:Johnm|Johnm]],[[User:Siderator|Carsten Schubert]], [[User:Tstout|tstout]]) / nay (0)<br />
* Display of crystallographic symmetry and NCS axes, with possibility of showing symbols indicating what kind of axes they are<br />
:: yea ([[User:Lucajovine|Luca Jovine]], [[User:Tstout|tstout]], [[User:Siderator|Carsten Schubert]]) / nay (0)<br />
::: Support for labeling cell axes and origin, etc... [[User:Siderator|Carsten Schubert]], [[User:Lucajovine|Luca Jovine]]<br />
* Automatic symmetry expansion to show overall crystal packing; automatic generation of scenes showing crystal packing interface details<br />
:: yea ([[User:Lucajovine|Luca Jovine]], [[User:Tstout|tstout]], [[User:Siderator|Carsten Schubert]]) / nay (0)<br />
* Update selections automatically: add a new option to selection action drop-down menu called "update". It will re-evaluate the selection expression and update the content of the selection automatically.<br />
<br />
[[Category:Development]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=PyMOL_mailing_list&diff=13049PyMOL mailing list2015-10-08T16:54:03Z<p>OsvaldoMartin: add a more complete description of the mailing list and link to recommendations on how to ask questions in virtual forums.</p>
<hr />
<div>The [http://www.mail-archive.com/pymol-users@lists.sourceforge.net/info.html PyMOL mailing list] is a place to search for help, ask questions and share news related to PyMOL. And is also a place to interact with the PyMOL community, a community that spans the whole world.<br />
<br />
Chances are high that your questions has already been asked and answered in the mailing list, hence always is a good idea to check that before asking a question. If you are new to asking questions in forums and online communities may be you would like to read these recommendations:<br />
<br />
* [http://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1002202 Ten Simple Rules for Getting Help from Online Scientific Communities]<br />
* [http://www.catb.org/~esr/faqs/smart-questions.html How To Ask Questions The Smart Way]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=PyMOL_mailing_list&diff=13048PyMOL mailing list2015-10-08T16:43:40Z<p>OsvaldoMartin: moved Search pymol-users mailing list to PyMOL mailing list: This is a best title and I will add content to this page and add link directed to this page</p>
<hr />
<div>You can search the PyMol users mailing list using the mail search.<br />
<br />
<br />
[http://www.mail-archive.com/pymol-users@lists.sourceforge.net/info.html Mail Archive]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Plugins&diff=13027Plugins2015-09-22T08:07:02Z<p>OsvaldoMartin: Write a more comprehensive introduction, add information about installing plugins on Linux, add see also to Plugin_manager page</p>
<hr />
<div>== Overview ==<br />
Plugins are external modules that add functionality to PyMOL. Latest version of PyMOL came with two plugins already installed [[APBS]] and [[PDB_Loader_Service]]. Since version 1.5.0.5 PyMOL also comes with a [[Plugin Manager]], which can be used to conveniently install and uninstall plugins. You can find a list of several available PyMOL plugins on [http://pymolwiki.org/index.php/Category:Plugins this] page. If you are interested into writing your own plugin please read the [[Plugins_Tutorial]].<br />
<br />
<br />
==Installing Plugins==<br />
To install a plugin open PyMOL and then go to ''Plugin -> Plugin manager -> Install new plugin''. You will have the option to install from a file on your computer or directly from the PyMOL wiki by providing the proper url (the name of the plugin's page at the PyMOL wiki). <br />
<br />
Below you will find some more information that may be relevant when installing plugins and that is specific to different operating systems.<br />
<br />
=== Plugins on Windows ===<br />
Coming soon<br />
<br />
=== Plugins on Linux ===<br />
<br />
On Linux, PyMOL is generally installed on a system's folder. Thus, if you want to install plugins you should launch PyMOL from a terminal using the command:<br />
<br />
sudo pymol<br />
<br />
Alternatively, if you launch PyMOL without administrators rights. The plugin manager will ask you if you want to install the plugin on the local folder <br />
<br />
~/.pymol/startup.<br />
<br />
=== Plugins on OS X ===<br />
<br />
==== Using MacPyMOL ====<br />
The standard OS X Pymol application, MacPyMOL.app does not run with the Tcl/Tk interface which is required for plugins to work. However, a quick renaming of the program from MacPyMOL.app to PyMOLX11Hybrid.app makes the application run as an X11 application, and plugins are now available.<br />
<br />
To rename the executable, right click (or control click) on MacPyMOL and choose "Get Info" in the Panel. Change the Name & Extension to PyMOLX11Hybrid.app. This name can also be changed using the mv command in Terminal.app. <br />
<br />
Once this change is made, half of the program will show up under the X11 icon, and half will show up under the MacPyMOL icon.<br />
<br />
==== Using a Package Manager ====<br />
An alternative to renaming MacPyMOL is to download the PyMOL installation using a package manager such as [[MAC_Install#PyMOL_and_Fink|Fink]], [[MAC_Install#PyMOL_in_MacPorts|MacPorts]], or [[MAC_Install#Installing_PyMOL_with_Homebrew|Homebrew]].<br />
<br />
fink install pymol-py27<br />
<br />
=SEE ALSO=<br />
[[Plugin_manager]]<br />
<br />
<br />
[[Category:Plugins]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Plugins_Tutorial&diff=13042Plugins Tutorial2015-09-22T08:06:01Z<p>OsvaldoMartin: add see also Plugins</p>
<hr />
<div>==Installing Plugins==<br />
To install a plugin, simply save the plugin file and load it into PyMol with the ''Plugin -> Install Plugin...'' menu item. Alternatively, plugins can be installed by copying the file into the PYMOLPATH/module/pmg_tk/startup/ folder.<br />
<br />
<br />
==Writing Plugins: Learn By Example==<br />
This tutorial is a more sophisticated version of the [[PDB Loader Service]] plugin that is bundled with PyMol. It is a relatively simple plugin, but should prove to be a good starting point for developing new plugins.<br />
<br />
===Registering your Plugin===<br />
First you must add your plugin to the ''Plugins'' menu. This is most easily done in the ''__init__'' method of your plugin. A callback, fetchPDBDialog, is added. It is passed a reference to the main Tk app. It will need this in order to create new content in the main Tkinter loop. It is not strictly required in this example, but is needed in more complex interfaces.<br />
<br />
<source lang="python"><br />
def __init__(self):<br />
self.menuBar.addmenuitem('Plugin', 'command',<br />
'PDB Loader Service',<br />
label = 'PDB Loader Service',<br />
command = lambda s=self : fetchPDBDialog(s))<br />
</source><br />
<br />
===Adding Functionality===<br />
For this example we are going to dynamically download, from the [http://www.rcsb.org/pdb/home/home.do Protein Data Bank], a molecular structure and then load it into the PyMOL interface. Here is a simple method which does that, given a PDB-ID (''pdbCode'').<br />
<br />
<source lang="python"><br />
def remote(pdbCode):<br />
pdbCode = pdbCode.upper()<br />
try:<br />
pdbFile = urllib2.urlopen('http://www.rcsb.org/pdb/cgi/export.cgi/' +<br />
pdbCode + '.pdb.gz?format=PDB&pdbId=' +<br />
pdbCode + '&compression=gz')<br />
cmd.read_pdbstr(zlib.decompress(pdbFile.read()[22:], -zlib.MAX_WBITS), pdbCode)<br />
except:<br />
print "Unexpected error:", sys.exc_info()[0]<br />
tkMessageBox.showerror('Invalid Code',<br />
'You entered an invalid pdb code:' + pdbCode)<br />
</source><br />
<br />
===Creating the Interface===<br />
Now we need to write the callback method, ''fetchPDBDialog'', which creates the interface.<br />
<br />
<source lang="python"><br />
def fetchPDBDialog(app):<br />
pdbCode = tkSimpleDialog.askstring('PDB Loader Service',<br />
'Please enter a 4-digit pdb code:',<br />
parent=app.root)<br />
remote(pdbCode)<br />
</source><br />
<br />
Pretty simple! As of now you have a fully functional plugin that will prompt the user for a pdb code, download it from [http://www.rcsb.org/pdb/ Protein Data Bank], and load it into the PyMOL interface.<br />
<br />
===Extending Plugins to the Command Line===<br />
Opening the dialog can be tedious, so let's add a command line callback to make use of this new functionality.<br />
<br />
<source lang="python"><br />
cmd.extend('remote', remote)<br />
</source><br />
<br />
Now you can type something like this:<br />
<br />
<source lang="python"><br />
remote 1di9<br />
</source><br />
<br />
to load the the corresponding pdb.<br />
<br />
==Full Source==<br />
Here is the complete example. You can save this file and load it into PyMol with the ''Plugin -> Install Plugin...'' menu item. The example also includes the sample license that Warren provides for plugin developers. It is optional, of course. You can read [http://opensource.org/licenses here] about other open-source licenses you could use for your own project. <br />
<br />
<source lang="python"><br />
# Copyright Notice<br />
# ================<br />
# <br />
# The PyMOL Plugin source code in this file is copyrighted, but you can<br />
# freely use and copy it as long as you don't change or remove any of<br />
# the copyright notices.<br />
# <br />
# ----------------------------------------------------------------------<br />
# This PyMOL Plugin is Copyright (C) 2004 by Charles Moad <cmoad@indiana.edu><br />
# <br />
# All Rights Reserved<br />
# <br />
# Permission to use, copy, modify, distribute, and distribute modified<br />
# versions of this software and its documentation for any purpose and<br />
# without fee is hereby granted, provided that the above copyright<br />
# notice appear in all copies and that both the copyright notice and<br />
# this permission notice appear in supporting documentation, and that<br />
# the name(s) of the author(s) not be used in advertising or publicity<br />
# pertaining to distribution of the software without specific, written<br />
# prior permission.<br />
# <br />
# THE AUTHOR(S) DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,<br />
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN<br />
# NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR<br />
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF<br />
# USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR<br />
# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR<br />
# PERFORMANCE OF THIS SOFTWARE.<br />
# ----------------------------------------------------------------------<br />
<br />
import tkSimpleDialog<br />
import tkMessageBox<br />
from pymol import cmd<br />
import sys, urllib2, zlib<br />
<br />
def __init__(self):<br />
self.menuBar.addmenuitem('Plugin', 'command',<br />
'PDB Loader Service',<br />
label = 'PDB Loader Service',<br />
command = lambda s=self : fetchPDBDialog(s))<br />
<br />
def remote(pdbCode):<br />
pdbCode = pdbCode.upper()<br />
try:<br />
pdbFile = urllib2.urlopen('http://www.rcsb.org/pdb/cgi/export.cgi/' +<br />
pdbCode + '.pdb.gz?format=PDB&pdbId=' +<br />
pdbCode + '&compression=gz')<br />
cmd.read_pdbstr(zlib.decompress(pdbFile.read()[22:], -zlib.MAX_WBITS), pdbCode)<br />
except:<br />
print "Unexpected error:", sys.exc_info()[0]<br />
tkMessageBox.showerror('Invalid Code',<br />
'You entered an invalid pdb code:' + pdbCode)<br />
<br />
def fetchPDBDialog(app):<br />
pdbCode = tkSimpleDialog.askstring('PDB Loader Service',<br />
'Please enter a 4-digit pdb code:',<br />
parent=app.root)<br />
<br />
remote(pdbCode)<br />
<br />
cmd.extend('remote', remote)<br />
</source><br />
<br />
<br />
==Working with more than one file==<br />
Plugins are not limited to one file. It is possible to have more than one .py file or even data files or directories. In order to distribute your multi-file plugin you should put all the necessary files into a folder (named after your plugin's name) and then zip it. You will distribute your plugin as a .zip file. The PyMOL plugin manager is able to install the .zip file. <br />
<br />
Inside the folder with the name of your plugin you should put the followings files:<br />
* __init__.py (this should be the main file, the one with the instructions to register the plugin)<br />
* data files (optional)<br />
* directories (optional)<br />
* other .py files (optional)<br />
<br />
To locate your data files (if any) add the following line inside the __init__.py file<br />
<br />
<source lang="python"><br />
path = os.path.dirname(__file__)<br />
</source><br />
and the following line if your plugin consist of more that one .py file.<br />
<br />
<source lang="python"><br />
sys.path.append(path)<br />
</source><br />
<br />
=SEE ALSO=<br />
[[Plugins]]<br />
<br />
[[Category:Developers|Plugins_Tutorial]]<br />
[[Category:Plugins|Plugins_Tutorial]]<br />
[[Category:Tutorials]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Category:Plugins&diff=12986Category:Plugins2015-09-22T06:32:10Z<p>OsvaldoMartin: </p>
<hr />
<div>== Overview ==<br />
Below you will find a list of available plugins written by the community, for the community. If you need general information about how to install plugins reads the [[Plugins]] page if you want to learn how to develop your own plugin the [[Plugins_Tutorial]] is a great place to start.</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Category:Plugins&diff=12985Category:Plugins2015-09-22T06:31:14Z<p>OsvaldoMartin: </p>
<hr />
<div>== Overview ==<br />
Below you will found a list of available plugins written by the community, for the community. If you need general information about how to install plugins reads the [[Plugins]] page if you want to learn how to develop your own plugin the [[Plugins_Tutorial]] is a great place to start.</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Pdb_conect_nodup&diff=13021Pdb conect nodup2015-09-15T23:31:03Z<p>OsvaldoMartin: /* See Also */</p>
<hr />
<div>== Overview ==<br />
The '''pdb_conect_nodup''' setting in pymol controls if duplicated connectivity record ([http://www.wwpdb.org/documentation/file-format-content/format33/sect10.html#CONECT CONECT]) in saved PDB is used to stored [http://en.wikipedia.org/wiki/Bond_order bond order]. <br />
<br />
This is an unofficial PDB feature to store bond order and is supported by several applications that read PDB files, but may break PDB file loading in other applications which don't support it. PyMOL always wrote duplicated connect records (<tt>pdb_conect_nodup=0</tt>) and the setting allows you to switch that off (<tt>pdb_conect_nodup=1</tt>).<br />
<br />
== Syntax ==<br />
<source lang="python"><br />
get pdb_conect_nodup # get current value <br />
set pdb_conect_nodup, 1 # no CONECT duplication is used to store bond order<br />
</source><br />
<br />
== Notes ==<br />
* PyMOL user mailing list discussion on <tt>pdb_conect_nodup</tt>: http://sourceforge.net/p/pymol/mailman/message/32735483/ <br />
* Jmol support for bond order: http://wiki.jmol.org/index.php/Support_for_bond_orders<br />
* Aromatic bonds are stored using four duplication of the same CONECT records, as specified in, for example, MOL format. See http://wiki.jmol.org/index.php/Support_for_bond_orders<br />
<br />
=== See Also ===<br />
[[Pdb_Conect_All]], [[Pdb_use_ter_records]]<br />
<br />
[[Category:Settings|pdb_conect_nodup]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Pdb_conect_nodup&diff=13020Pdb conect nodup2015-09-15T23:30:01Z<p>OsvaldoMartin: add see also (Pdb_conect_all and Pdb_use_ter_recordsl)</p>
<hr />
<div>== Overview ==<br />
The '''pdb_conect_nodup''' setting in pymol controls if duplicated connectivity record ([http://www.wwpdb.org/documentation/file-format-content/format33/sect10.html#CONECT CONECT]) in saved PDB is used to stored [http://en.wikipedia.org/wiki/Bond_order bond order]. <br />
<br />
This is an unofficial PDB feature to store bond order and is supported by several applications that read PDB files, but may break PDB file loading in other applications which don't support it. PyMOL always wrote duplicated connect records (<tt>pdb_conect_nodup=0</tt>) and the setting allows you to switch that off (<tt>pdb_conect_nodup=1</tt>).<br />
<br />
== Syntax ==<br />
<source lang="python"><br />
get pdb_conect_nodup # get current value <br />
set pdb_conect_nodup, 1 # no CONECT duplication is used to store bond order<br />
</source><br />
<br />
== Notes ==<br />
* PyMOL user mailing list discussion on <tt>pdb_conect_nodup</tt>: http://sourceforge.net/p/pymol/mailman/message/32735483/ <br />
* Jmol support for bond order: http://wiki.jmol.org/index.php/Support_for_bond_orders<br />
* Aromatic bonds are stored using four duplication of the same CONECT records, as specified in, for example, MOL format. See http://wiki.jmol.org/index.php/Support_for_bond_orders<br />
<br />
=== See Also ===<br />
[[Pdb_conect_all]], [[Pdb_use_ter_records]]<br />
<br />
[[Category:Settings|pdb_conect_nodup]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Pdb_conect_all&diff=13323Pdb conect all2015-09-15T23:29:47Z<p>OsvaldoMartin: add see also (Pdb_conect_nodup and Pdb_use_ter_recordsl)</p>
<hr />
<div>== Introduction ==<br />
'''pdb_conect_all''' turns on/off the ability of PyMol to save the '''CONECT''' data in a PDB file.<br />
<br />
=== Values ===<br />
*off turns the feature off<br />
*on turns the feature on<br />
<br />
=== Example ===<br />
<source lang="python"><br />
set pdb_conect_all, on<br />
</source><br />
<br />
=== PyMOL API ===<br />
<source lang="python"><br />
cmd.set('pdb_conect_all', 'on')<br />
</source><br />
<br />
=== See Also ===<br />
[[Pdb_conect_nodup]], [[Pdb_use_ter_records]]<br />
<br />
[[Category:Settings|Pdb_conect_all]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Pdb_Conect_All&diff=13017Pdb Conect All2015-09-15T23:29:47Z<p>OsvaldoMartin: add see also (Pdb_conect_nodup and Pdb_use_ter_recordsl)</p>
<hr />
<div>== Introduction ==<br />
'''pdb_conect_all''' turns on/off the ability of PyMol to save the '''CONECT''' data in a PDB file.<br />
<br />
=== Values ===<br />
*off turns the feature off<br />
*on turns the feature on<br />
<br />
=== Example ===<br />
<source lang="python"><br />
set pdb_conect_all, on<br />
</source><br />
<br />
=== PyMOL API ===<br />
<source lang="python"><br />
cmd.set('pdb_conect_all', 'on')<br />
</source><br />
<br />
=== See Also ===<br />
[[Pdb_conect_nodup]], [[Pdb_use_ter_records]]<br />
<br />
[[Category:Settings|Pdb_conect_all]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Pdb_use_ter_records&diff=13025Pdb use ter records2015-09-15T23:26:57Z<p>OsvaldoMartin: add see also (Pdb_conect_nodup and Pdb_Conect_All) put the PyMOL api example under the title "PyMOL API"</p>
<hr />
<div>When a molecule (e.g. a protein molecule) is saved in pdb format by PyMOL, a line of [http://www.wwpdb.org/documentation/file-format-content/format33/sect9.html#TER TER] record is inserted wherever the residue id is not sequential. To suppress this feature, set <tt>pdb_use_ter_records</tt> value to 0 before saving protein molecules.<br />
<br />
===Example===<br />
<source lang="python"><br />
get pdb_use_ter_records # return current value of pdb_use_ter_records<br />
set pdb_use_ter_records, 0<br />
</source><br />
<br />
===PYMOL API===<br />
<source lang="python"><br />
cmd.set('pdb_use_ter_records', 0)<br />
</source><br />
<br />
===SEE ALSO===<br />
[[Pdb_conect_nodup]], [[Pdb_Conect_All]]<br />
<br />
[[Category:Settings|Pdb_use_ter_records]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Pdb_use_ter_records&diff=13024Pdb use ter records2015-09-15T23:03:06Z<p>OsvaldoMartin: fix broken link to PDB page (ter format) and add this page to the settings page</p>
<hr />
<div>When a molecule (e.g. a protein molecule) is saved in pdb format by PyMOL, a line of [http://www.wwpdb.org/documentation/file-format-content/format33/sect9.html#TER TER] record is inserted wherever the residue id is not sequential. To suppress this feature, set <tt>pdb_use_ter_records</tt> value to 0 before saving protein molecules.<br />
<br />
=Example= <br />
<source lang="python"><br />
get pdb_use_ter_records # return current value of pdb_use_ter_records<br />
set pdb_use_ter_records, 0<br />
<br />
import cmd<br />
cmd.set(name='pdb_use_ter_records', value=0) # same effect<br />
</source><br />
<br />
[[Category:Settings|Pdb_use_ter_records]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Pdb_conect_nodup&diff=13019Pdb conect nodup2015-09-15T23:00:05Z<p>OsvaldoMartin: fix broken link to PDB page (conect format)</p>
<hr />
<div>== Overview ==<br />
The '''pdb_conect_nodup''' setting in pymol controls if duplicated connectivity record ([http://www.wwpdb.org/documentation/file-format-content/format33/sect10.html#CONECT CONECT]) in saved PDB is used to stored [http://en.wikipedia.org/wiki/Bond_order bond order]. <br />
<br />
This is an unofficial PDB feature to store bond order and is supported by several applications that read PDB files, but may break PDB file loading in other applications which don't support it. PyMOL always wrote duplicated connect records (<tt>pdb_conect_nodup=0</tt>) and the setting allows you to switch that off (<tt>pdb_conect_nodup=1</tt>).<br />
<br />
== Syntax ==<br />
<source lang="python"><br />
get pdb_conect_nodup # get current value <br />
set pdb_conect_nodup, 1 # no CONECT duplication is used to store bond order<br />
</source><br />
<br />
== Notes ==<br />
* PyMOL user mailing list discussion on <tt>pdb_conect_nodup</tt>: http://sourceforge.net/p/pymol/mailman/message/32735483/ <br />
* Jmol support for bond order: http://wiki.jmol.org/index.php/Support_for_bond_orders<br />
* Aromatic bonds are stored using four duplication of the same CONECT records, as specified in, for example, MOL format. See http://wiki.jmol.org/index.php/Support_for_bond_orders<br />
[[Category:Settings|pdb_conect_nodup]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Alter&diff=12961Alter2015-09-15T14:52:59Z<p>OsvaldoMartin: /* PYMOL API */</p>
<hr />
<div>'''alter''' changes one or more atomic properties over a selection using the python evaluator with a separate name space for each atom. The symbols defined in the name space, which are are explained in [[Iterate]] are:<br />
name, resn, resi, chain, alt, elem, q, b, segi,<br />
type (ATOM,HETATM), partial_charge, formal_charge,<br />
text_type, numeric_type, ID, vdw<br />
<br />
All strings must be explicitly quoted. This operation typically takes several seconds per thousand atoms altered.<br />
<br />
'''WARNING''': You should always issue a '''sort''' command on an object<br />
after modifying any property which might affect canonical atom<br />
ordering (names, chains, etc.). Failure to do so will confound<br />
subsequent "create" and "byres" operations.<br />
<br />
===USAGE===<br />
alter (selection),expression<br />
<br />
===EXAMPLES===<br />
<br />
====Change chain label and residue index====<br />
<source lang="python"><br />
alter (chain A),chain='B'<br />
alter (all),resi=str(int(resi)+100)<br />
sort<br />
</source><br />
<br />
====Change van der Waals radius of a given atom====<br />
<source lang="python"><br />
alter (name P), vdw=1.90<br />
</source><br />
Note that is if dots, spheres, mesh or surface representation is used. You have to refresh the view with<br />
<source lang="python"><br />
rebuild<br />
</source><br />
<br />
====Renumber the amino acids in a protein, so that it starts from 0 instead of its offset as defined in the structure file====<br />
<source lang="python"><br />
# The first residue in the structure file for 1cll is 4. To change this to 0, maybe to match scripts<br />
# outputted from other programs, just remove the offset of 4 from each atom<br />
alter 1cll, resi=str(int(resi)-4)<br />
# refresh (turn on seq_view to see what this command does).<br />
sort<br />
</source><br />
<br />
====Change the b values of all atoms to the distance of the atoms to a reference point====<br />
<source lang="python"><br />
# reference point<br />
x0,y0,z0=[1,2,3] <br />
# calculate distance values between the reference point and all the atoms<br />
alldist = []<br />
iterate_state 1, yourstruc, alldist.append(((x-x0)**2.0+(y-y0)**2.0+(z-z0)**2.0)**0.5)<br />
# assign distance values to b-factors <br />
di = iter(alldist)<br />
alter yourstruc, b=di.next()<br />
# visualize the distances<br />
spectrum b, rainbow, yourstruc<br />
</source><br />
<br />
====Copy (transfer) the color from one object to another====<br />
<source lang="python"><br />
stored.colors = {}<br />
iterate obj1, stored.colors[chain,resi,name] = color<br />
alter obj2, color = stored.colors.get((chain,resi,name), color)<br />
recolor<br />
</source><br />
<br />
=== PYMOL API ===<br />
<br />
<source lang="python"><br />
cmd.alter(string selection, string expression, int quiet=1, dict space=None)<br />
</source><br />
<br />
As explained before, all strings must be explicitly quoted. For example to change all HETATM records to ATOM you should do:<br />
<br />
<source lang="python"><br />
cmd.alter('all', 'type="ATOM"')<br />
</source><br />
<br />
===SEE ALSO===<br />
[[Alter_State]], [[iterate]], [[Iterate_State]], [[sort]]<br />
<br />
[[Category:Commands|Alter]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Alter&diff=12960Alter2015-09-15T14:25:31Z<p>OsvaldoMartin: /* PYMOL API */</p>
<hr />
<div>'''alter''' changes one or more atomic properties over a selection using the python evaluator with a separate name space for each atom. The symbols defined in the name space, which are are explained in [[Iterate]] are:<br />
name, resn, resi, chain, alt, elem, q, b, segi,<br />
type (ATOM,HETATM), partial_charge, formal_charge,<br />
text_type, numeric_type, ID, vdw<br />
<br />
All strings must be explicitly quoted. This operation typically takes several seconds per thousand atoms altered.<br />
<br />
'''WARNING''': You should always issue a '''sort''' command on an object<br />
after modifying any property which might affect canonical atom<br />
ordering (names, chains, etc.). Failure to do so will confound<br />
subsequent "create" and "byres" operations.<br />
<br />
===USAGE===<br />
alter (selection),expression<br />
<br />
===EXAMPLES===<br />
<br />
====Change chain label and residue index====<br />
<source lang="python"><br />
alter (chain A),chain='B'<br />
alter (all),resi=str(int(resi)+100)<br />
sort<br />
</source><br />
<br />
====Change van der Waals radius of a given atom====<br />
<source lang="python"><br />
alter (name P), vdw=1.90<br />
</source><br />
Note that is if dots, spheres, mesh or surface representation is used. You have to refresh the view with<br />
<source lang="python"><br />
rebuild<br />
</source><br />
<br />
====Renumber the amino acids in a protein, so that it starts from 0 instead of its offset as defined in the structure file====<br />
<source lang="python"><br />
# The first residue in the structure file for 1cll is 4. To change this to 0, maybe to match scripts<br />
# outputted from other programs, just remove the offset of 4 from each atom<br />
alter 1cll, resi=str(int(resi)-4)<br />
# refresh (turn on seq_view to see what this command does).<br />
sort<br />
</source><br />
<br />
====Change the b values of all atoms to the distance of the atoms to a reference point====<br />
<source lang="python"><br />
# reference point<br />
x0,y0,z0=[1,2,3] <br />
# calculate distance values between the reference point and all the atoms<br />
alldist = []<br />
iterate_state 1, yourstruc, alldist.append(((x-x0)**2.0+(y-y0)**2.0+(z-z0)**2.0)**0.5)<br />
# assign distance values to b-factors <br />
di = iter(alldist)<br />
alter yourstruc, b=di.next()<br />
# visualize the distances<br />
spectrum b, rainbow, yourstruc<br />
</source><br />
<br />
====Copy (transfer) the color from one object to another====<br />
<source lang="python"><br />
stored.colors = {}<br />
iterate obj1, stored.colors[chain,resi,name] = color<br />
alter obj2, color = stored.colors.get((chain,resi,name), color)<br />
recolor<br />
</source><br />
<br />
=== PYMOL API ===<br />
<br />
<source lang="python"><br />
cmd.alter(string selection, string expression, int quiet=1, dict space=None)<br />
</source><br />
<br />
As explained before, all strings must be explicitly quoted.<br />
<br />
For example to change all HETATM records to ATOM you should do<br />
<br />
<source lang="python"><br />
cmd.alter('all', 'type="ATOM"')<br />
</source><br />
<br />
===SEE ALSO===<br />
[[Alter_State]], [[iterate]], [[Iterate_State]], [[sort]]<br />
<br />
[[Category:Commands|Alter]]</div>OsvaldoMartinhttps://wiki.pymol.org/index.php?title=Alter&diff=12959Alter2015-09-15T14:09:51Z<p>OsvaldoMartin: add PyMOl API syntax</p>
<hr />
<div>'''alter''' changes one or more atomic properties over a selection using the python evaluator with a separate name space for each atom. The symbols defined in the name space, which are are explained in [[Iterate]] are:<br />
name, resn, resi, chain, alt, elem, q, b, segi,<br />
type (ATOM,HETATM), partial_charge, formal_charge,<br />
text_type, numeric_type, ID, vdw<br />
<br />
All strings must be explicitly quoted. This operation typically takes several seconds per thousand atoms altered.<br />
<br />
'''WARNING''': You should always issue a '''sort''' command on an object<br />
after modifying any property which might affect canonical atom<br />
ordering (names, chains, etc.). Failure to do so will confound<br />
subsequent "create" and "byres" operations.<br />
<br />
===USAGE===<br />
alter (selection),expression<br />
<br />
===EXAMPLES===<br />
<br />
====Change chain label and residue index====<br />
<source lang="python"><br />
alter (chain A),chain='B'<br />
alter (all),resi=str(int(resi)+100)<br />
sort<br />
</source><br />
<br />
====Change van der Waals radius of a given atom====<br />
<source lang="python"><br />
alter (name P), vdw=1.90<br />
</source><br />
Note that is if dots, spheres, mesh or surface representation is used. You have to refresh the view with<br />
<source lang="python"><br />
rebuild<br />
</source><br />
<br />
====Renumber the amino acids in a protein, so that it starts from 0 instead of its offset as defined in the structure file====<br />
<source lang="python"><br />
# The first residue in the structure file for 1cll is 4. To change this to 0, maybe to match scripts<br />
# outputted from other programs, just remove the offset of 4 from each atom<br />
alter 1cll, resi=str(int(resi)-4)<br />
# refresh (turn on seq_view to see what this command does).<br />
sort<br />
</source><br />
<br />
====Change the b values of all atoms to the distance of the atoms to a reference point====<br />
<source lang="python"><br />
# reference point<br />
x0,y0,z0=[1,2,3] <br />
# calculate distance values between the reference point and all the atoms<br />
alldist = []<br />
iterate_state 1, yourstruc, alldist.append(((x-x0)**2.0+(y-y0)**2.0+(z-z0)**2.0)**0.5)<br />
# assign distance values to b-factors <br />
di = iter(alldist)<br />
alter yourstruc, b=di.next()<br />
# visualize the distances<br />
spectrum b, rainbow, yourstruc<br />
</source><br />
<br />
====Copy (transfer) the color from one object to another====<br />
<source lang="python"><br />
stored.colors = {}<br />
iterate obj1, stored.colors[chain,resi,name] = color<br />
alter obj2, color = stored.colors.get((chain,resi,name), color)<br />
recolor<br />
</source><br />
<br />
=== PYMOL API ===<br />
<br />
<source lang="python"><br />
cmd.alter(string selection, string expression, int quiet=1, dict space=None)<br />
</source><br />
<br />
<br />
===SEE ALSO===<br />
[[Alter_State]], [[iterate]], [[Iterate_State]], [[sort]]<br />
<br />
[[Category:Commands|Alter]]</div>OsvaldoMartin