https://pymolwiki.org/api.php?action=feedcontributions&user=Xevi&feedformat=atomPyMOLWiki - User contributions [en]2024-03-29T12:31:52ZUser contributionsMediaWiki 1.35.7https://pymolwiki.org/index.php?title=User:Xevi&diff=7981User:Xevi2010-01-22T15:27:12Z<p>Xevi: format</p>
<hr />
<div>'''Xavier Fradera'''<br />
<br />
Computational Chemist at Schering-Plough, part of MSD</div>Xevihttps://pymolwiki.org/index.php?title=User:Xevi&diff=7980User:Xevi2010-01-22T15:26:45Z<p>Xevi: Xavier Fradera Computational Chemist at Schering-Plough, part of MSD</p>
<hr />
<div>Xavier Fradera<br />
Computational Chemist at Schering-Plough, part of MSD</div>Xevihttps://pymolwiki.org/index.php?title=Ideas&diff=7979Ideas2010-01-22T15:26:06Z<p>Xevi: /* Low-Level Enhancement Ideas (Mostly C-oriented) */</p>
<hr />
<div>=== Ideas for PyMOL Development ===<br />
<br />
This page was originally developed for the 2008 Google Summer of Code competition, but seeing as PyMOL wasn't selected, this page can instead serve as a resource for ongoing PyMOL development efforts.<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]]") / nay (0)<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.<br />
:: yea (0) / nay (0)<br />
* Firefox (plugin): Develop an PyMOL plugin compatible with Firefox.<br />
:: yea ([[User:Vvostri|Vvostri]]) / nay (0)<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 (0) / nay (0)<br />
* R (statistics): PyMOL a 3D viewer environment for visualizating & manipulating large statistical data sets?<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 (0) / 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 (0) / 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]]) / 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 (0) / nay (0)<br />
* Enhance the Mutagenesis Wizard in order to support Nucleic acids and/or Sugars.<br />
:: yea ([[User:Lucajovine|Luca Jovine]]) / 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]]) / nay (0)<br />
::: Would this then feed back to the structural alignment? [[User:Jedgold|Jedgold]]<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]]) / nay (0)<br />
* Enable per-object Z clipping (especially in the ray tracer)<br />
:: yea ([[User:Gregori|Gregori]], [[User:Xevi|Xevi]]) / 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]]) / nay (0)<br />
* Build in a simple forcefield and energy minimizer suitable for use with Mutagenesis.<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]]") / nay (0)<br />
* Enumeration and display of low-energy conformers.<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 (0) / nay ([[User:Jedgold|Jedgold]])<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 (0) / 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]]) / 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 (0) / nay (0)<br />
* Catch & handle memory-allocation failures gracefully (instead of crashing).<br />
:: yea (0) / 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]]") / nay (0)<br />
* Clean up the internal matrix handling code.<br />
:: yea (0) / 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 (0)<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]]) / nay (0)<br />
* Integrate with Matlab.<br />
:: yea (0) / nay ([[User:Aschreyer|Aschreyer]])<br />
<br />
== More Ideas (Please add your own!) ==<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]]) / nay (0)<br />
::: RDKit?<br />
* Spreadsheet view with additional information (e.g. IC50's).<br />
:: yea ([[User:Aschreyer|Aschreyer]]) / nay (0)<br />
* Create additional documentation, screen casts, & tutorials.<br />
:: yea ([[User:Markvanraaij|Markvanraaij]]) / nay (0)<br />
* Export 3D PDF images.<br />
:: yea ([[User:Vvostri|Vvostri]], [[User:Lucajovine|Luca Jovine]]) / nay (0)<br />
* <strike>Add extra "Single Word Selectors" like "nucleic", "protein", "water", "ions", "backbone" (for nucleic acids or proteins), "mainchain", "sidechain"</strike><br />
:: yea (0) / 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 />
* 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.<br />
:: yea ([[User:Aschreyer|Aschreyer]]) / nay (0)<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 (0)<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]]) / nay (0)<br />
* export images in vector format<br />
:: yea ([[User:Vvostri|Vvostri]], [[User:Lucajovine|Luca Jovine]], [[User:Aschreyer|Aschreyer]]) / nay (0)<br />
* Keynote plugin<br />
:: yea ([[User:Lucajovine|Luca Jovine]]) / nay (0)<br />
* Electron density contour sliders<br />
:: yea ([[User:Lucajovine|Luca Jovine]]) / nay (0)<br />
* Automatic electron density map generation from PDB mmcif files or user-supplied MTZ files<br />
:: yea ([[User:Lucajovine|Luca Jovine]], [[User:Aschreyer|Aschreyer]]) / 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]]) / nay (0)<br />
* Automatic symmetry expansion to show overall crystal packing; automatic generation of scenes showing crystal packing interface details<br />
:: yea ([[User:Lucajovine|Luca Jovine]]) / nay (0)</div>Xevihttps://pymolwiki.org/index.php?title=Category:FAQ&diff=1552Category:FAQ2006-06-16T08:52:55Z<p>Xevi: I'd like to select residues that are in contact with a surface</p>
<hr />
<div>==FAQ==<br />
<br />
===Overview===<br />
Please post your FAQs here. I suggest you write a Q&A style list with a short answer. More involved answers should link to its own page. Just my suggestion. Should we have topics? Please note, not all AQ are FAQ. Also, many answers to frequently recurring problems are probably best sought by searching for your terms in the Wiki.<br />
<br />
----------<br />
Q: I am wondering how to change the default settings for a color "spectrum". I would like to color by b-factor but not with the default spectrum but from white-to-red.<br />
<br />
Alex<br />
<br />
<br />
---------<br />
<br />
<br />
Q: I was wondering what the percentage given under the mutengensis wizard means? Thanks...<br />
<br />
<br />
----<br />
Q: I've installed PyMol_0_98 correctly but I can't open my files in .mol2 or .pdb format from the menubar. Instead I can open them with the program. I can't even save the images I create in PyMol and obviously the mivie too.<br />
<br />
Could you help me to solve these problems.<br />
Thanks<br />
Vittorio<br />
<br />
A1: Vittorio, if I understand you correctly, then you need to (a) make sure you have the PDB file on your machine, say Desktop (or home directory, for *nix), then in the GUI click on, "File"->"Open" then use the dialog to find the file you want to load. You can save time if you know where the file is by just using PyMol's "load" command<br />
load fileName, objectName<br />
loads the fileName into a new object called objectName, for example,<br />
load /tmp/1ggz.pdb, 1ggz<br />
<br />
See [[Cmd load|load]], <br />
<br />
A2: To save images you have a couple options. First, to save a quick raw screen dump type, "png fileName" to save a PNG image (IE and other programs can view these files). Or, secondly, if you prefer a higher quality image with ray-traced shadows and textures you can do, "ray" then, the above "png" command.<br />
<br />
See [[Cmd ray|ray]], [[Cmd png|png]], [[:Category:Using_Pymol|Using PyMol]]<br />
<br />
Hope this helps. If it didn't please restate your question to make it more clear.<br />
----<br />
<br />
Q: I've installed PyMol_0_98, and recently my structures have stopped displaying. I've tried uninstalling PyMol_0_98 and installing PyMol_0_97, and yet i've ran into the same problem...my .pdb files no longer display, although it is evident that they are being loaded and I can edit them.<br />
<br />
Does anybody have any clue as to what might be the problem?<br />
Thanks, shebsmehr<br />
<br />
<br />
----<br />
Q: Hi I have a problem. For some reason PyMOl do not display certain areas (several loops) of my .pdb file (1DAN) when in cartoon. When I display the structure in "lines" or "sticks" everything is ok. Furthermore, other .pdb viewers dont have this problem. I have tried several things:<br />
1. Upgraded to the newest version og PyMol.<br />
2. Redefined secondary structure using the "alter command".<br />
3. Imported the .pdb file into SwissViewer, saved as the imported structure as a .pdb file, and then imported into PyMOl.<br />
<br />
None of these things have solved the problem. Help please! (I would hate to have to start using another pdb-viewer!!)<br />
Cheers<br />
Kasper<br />
<br />
----<br />
Q: I want to move one object while keeping another fixed. How do I do this?<br />
<br />
A: Load the proteins as separate objects, put the mouse into 3-button editing mode, then shift-middle click-and-drag on the molecule to translate and shift-left-click-and-drag to rotate. (Warren DeLano answer)<br />
<br />
----<br />
Q: I'd like to select residues that are in contact with a surface, or else be able to select buried/non-buried residues, is there any way to do this ? [[User:Xevi|Xevi]] 03:52, 16 Jun 2006 (CDT)</div>Xevi