• Installing Nvidia Driver on CentOS 6

    by

    in

    This post explains how to install NVIDIA proprietary drivers on CentOS 6. By default, CentOS 6 comes with nouveau drivers, which for 3D (OpenGL) rendering, is order of magnitude slower that NVIDIA’s proprietary drivers.  For instance, I had glxgear running at round 400 frames per second (FPS) before installing NVIDIA proprietary drivers and at around 1000 FPS after. So it pays to add this extra step to your CentOS 6 installation. Before we start, make sure you have all required packages installed:

    yum groupinstall "Development Tools"
    yum install kernel-devel kernel-headers dkms
    

    The last package (dkms) is needed so that we don’t have to reinstall NVIDIA drivers after each kernel updates. Now we are ready to download NVIDIA proprietary drivers – http://www.nvidia.com/Download/index.aspx

    To find out your Video Card model number, click Main Menu → System Settings → Display or run:

    lspci | grep VGA
    

    I then run /sbin/init 3 and then chmod +x NVIDIA-Linux-x86-290.10.run followed by ./NVIDIA-Linux-x86-290.10.run. However, this gave me:
    “ERROR: The Nouveau kernel driver is currently in use by your system. This driver is incompatible with the NVIDIA driver, and must be disabled before proceeding. Please consult the NVIDIA driver README and your Linux distribution’s documentation for details on how to correctly disable the Nouveau kernel driver.”

    After trying many different options I have found a solution described at http://www.linuxquestions.org/questions/ubuntu-63/nouveau-kernel-driver-825432.

    So I added the following line to /etc/modprobe.d/blacklist.conf file

    blacklist nouveau
    

    and then did:

    $ mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak   
    $ dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
    

    Reboot and run ./NVIDIA-Linux-x86-290.10.run to finish installing NVIDIA driver.

    Another difference, between CentOS 6 and earlier versions of CentoOS is that system-config-packages (Add/remove applications) is now called gpk-application. You need to run yum install gnome-packagekit if gpk-application is not installed in your system. Also, if you are planning to do OpenGL development run (source: www.centos.org – Forums – CentOS 6 – Software Support – Help me ..):

    yum install mesa-libGL-devel mesa-libGLU-devel

     

  • ConnectomeViewer and Spatio-Temporal Simulation Environment (STSE)

    I was looking for a sample code and found Nullege search engine for Python source code to be very useful. There are other search engines that do similar work, such as Google Code Search and Koders.com, however, Nullege seems to be the best one for Python. I have found the following excellent projects that I would like to share. The first one is called ConnectomeViewer and it’s an amazing tool for brain research. The second one is called STSE and it provides spatio-temporal simulation environment for biological systems. It’s nice to see that they are both using Mayavi for 3D Visualization. Since PyRx is using Mayavi too, this means that our users will be able to transfer their skills seamlessly between these tools. I’m looking forward to seeing other uses of Mayavi and 3D Visualization in life sciences.

  • PyRx 0.8 Release Announcement

    I’m pleased to announce the release of PyRx 0.8. Here is what’s new in this new release:

    Version 0.8 – 30 December 2010

    [84] Implemented Vina Web Services client and added remote executaition mode for Vina wizard.

    http://pyrx.scripps.edu/images/84_vina.png

    [83] Changed web service URI from http://ws.nbcr.net to http://kryptonite.nbcr.net. Opal client distributed with PyRx is compatible with Opal2 services running on this new server.

    [80] We now show ScrolledMessageDialog with TraceBack when PyRx fails to start.

    [76] Exporting SDF in Analyze Results allows to specify the Number of Poses to Retain. This option is available through Edit -> Preferences. In the case of Vina results, we sort the result using Vina Binding Affinity before saving the result. For AutoDock 4, sorting is done using Binding Energy.

    http://pyrx.scripps.edu/images/76_pref.png

    [75] Implemented update feature available through Help -> Check for Updates menu. This enables users to get the latest features and bug fixes more easily. http://pyrx.scripps.edu/images/75_update.png

    [74] Made a number of important changes and bug fixes related to flexible residue generation and docking. In particular the names of flexible and rigid parts of a macromolecule now ends with ‘_flex.pdbqt’ and ‘_rigid.pdbqt’, respectively. http://pyrx.scripps.edu/images/flex_rigid_74.png

    [71] Users can now save docked structures and binding energies as SDF (Structure Data Format). Thanks to Martin Indarte post in the forum: SDF with binding energies/scores

    http://pyrx.scripps.edu/images/Save_SDF.png

    [69] Switched back to using wx.TextCtrl in Text editors. This widget can now handle large files (> 5MB – tested with wxPython-2.8.11).

    [66] Included an option for exhaustiveness in the Vina Wizard thanks to Martin Indarte post in the forum: Can I change the exhaustiveness in VINA wizard?

    See also: List of Changes in PyRx Version 0.7

  • Shape-based alignment of molecules

    by

    in

    I was looking for an open source project that would do small molecule alignment and I finally found it. There are many publications out there that describe different algorithms for small molecule alignment, but I couldn’t find any that I can try myself. I was very excited to read release announcement for Piramid that does exactly what I was looking for. Below are my initial results.

    3D SFD CID_3107 3D SFD CID_9950643
    Molecules from the first raw shown together. CID_3107 is highlighted. The same molecules after aligning them.

    Update: The URL and the name of this tool has been changed since I wrote this post. This tools is now called Shape-it™ and it’s avialabe from http://silicos-it.com/software/software.html.

  • List of Changes in PyRx Version 0.7

    The following are list of changes in PyRx version 0.7.

    Version 0.7 – 9 Jun 2010

    • Fixed Make Macromolecule on Mac.
    • Fixed error message that showed up upon completion of remote jobs.
    • Fixed startup problems for Windows. Read PyRx wont start for more info.

    Version 0.6 – 21 May 2010

    [56]: Created Preferences page for Ligand Preparation. Users can now inactivate all torsions or limit the number of torsions using Edit -> Preferences widget shown below. These options will be in effect when using AutoDock -> Make ligand menu in Molecules panel, and also when doing Convert Selected or All to AutoDock Ligand (pdbqt) using Open Babel widget.

    http://pyrx.scripps.edu/images/PyRx-0.6-LigandPrep.png

    [54]: Fixed MacOS X Drawing bug.

    [52]: Analyze Results widget can now be sorted by (left) clicking on table header.

    [47]: Added AutoDock Vina interface and included Vina 1.1.1 binaries in the installers. The new Vina Wizard, as shown below, is now the default docking wizard. Also, merged Select Ligand and Select Macromolcule page into a single Select Molecules page.

    http://pyrx.scripps.edu/images/PyRx-0.6-Vina.png

    [44]: Switched from TextCtrl to RichTextCtrl to handle large files. It would be possible, in the future, to add other functions to the toolbar as shown in wxRichTextCtrl overview.

    [43]: Fixed problems with axes.set_xlim in Table Plotting widget.

    [42]: Added try/expect in showHistogram to log possible errors with clustering. See also Clustering bug.

    [41]: Moved from AutoDock 4 to AutoDock 4.2 parameters. This suppresses “WARNING: Using autodock4.0 unbound extended model in autodock4.2!” in the log file. Thanks to Adam Lesser for reporting this.

    [40]: Bug fix – fixed problem with Flexible Residues. Now it converts original file into pdbqt before passing it to AD4FlexibleReceptorPreparation. See also: Flexible ligands Bug.

    [39]: Bug fix – if there is a problem with writing to PyRx folder, it will now use a temporary folder and inform user about that. See also: PyRx fails to run on OSX.

    [37]: Do not plot ROC curve when there are no actives or inactives.

    See also: List of Changes in PyRx Version 0.5 and Earlier

  • e-LEA3D and ZODIAC

    by

    in

    Thanks to Mark Fortner for sharing this article. It showed up today on my virtual screening feed from PubMed, but it’s too good of an article to miss. Similar to AutoGrow, e-LEA3D is using fragments to built lead compounds. Building blocks are extracted from Comprehensive Medicinal Chemistry database by Symyx. It was interesting to find that besides DOCK Blaster there are also TarFisDock and SCFBIO servers that are using DOCK. Cloud Computing For Drug Discovery is an interesting subject and I knew that there are servers such as DockingServer, DrugFinder and GridSystems that are doing excellent job in this area. It’s interesting also to mention that current version of e-LEA3D is using PLANTS for docking and Frog to generate 3D conformations. The most exciting part is that I rediscovered ZODIAC which is also a GUI for PLANTS. ZODIAC is very similar in spirit to PyRx in that it’s an open source state-of-the-art tool for running molecular docking experiments. In summary, both e-LEA3D and ZODIAC are terrific tools for drug discovery.

     

  • ParaDockS

    There is a new article in J. Chem. Inf. Model. that talks about ParaDockS. This is the only other docking program, besides AutoDock 4 and Vina, that is open source. Congradulations to ParaDockS team for making such a great product available! This means that PyRx can some day use ParaDockS and vise versa, so here I’ll summirize main features of ParaDockS. First, it’s using particle-swarm optimizer, similar to PSO@Autodock. Unlike, AutoDock 4, which uses force field-derived (AMBER) objective function, ParaDockS is using knowledge-based potentials. I look forward for the new develoments in this area.


  • Thermal Shift Assay for Inhibitors of 15-Hydroxyprostaglandin Dehydrogenase

    by

    in

    Here are the results of a new PubChem BioAssay AID: 2427 with 42 compounds (22 active, 2 inactive and 18 inconclusive).

    AutoDock did a perfect job here giving favourable binding energy for active compounds compared to inactives. As a result, we have a prefect ROC curve here. I made the makers bigger so you can see that all actives are on a vertical x=0 line and all inactives lay on a horizontal y=1 line.

  • qHTS Assay for Inhibitors of Dna Helicase

    I’ve got another email from My NCBI (Subject: What’s new for ‘BioAssay – Limits: Protein 3D Structure). It was about AID: 2353 – qHTS Assay for Inhibitors of RecQ-Like Dna Helicase 1 with 23 active and 1272 tested compounds. There are 2 Links for Protein Structure corresponding to open and closed conformations. I run virtual screening for both of them, which produced similar results.

    This looks more like an ROC curve you’ll see in publications. In contrast to my previous results, this has fewer active compounds. One would think that AutoDock did a better job here since ROC curves are above the diagonal. However, as you can see from the plots on the left, lowest binding energies are coming from inactive compounds. The image below shows molecular surface for 2WWY (chain A) in green and lowest binding energy conformation for CID: 5328760 (-6.03 kcal/mol) and CID: 11957460 (-10.37 kcal/mol). The first one being the most active in the assay shows a weaker (virtual) binding compared to the second one, which although has the best computed binding energy is not active in the assay. The favourable binding energy is partally because of the size; CID: 11957460 is one of the largest in this assay. So the question is: what kind of changes needs to be done to virtual screening to make it agree more with experiment?

  • Open Babel Partial Charges

    When preparing ligands for docking PyRx users can select between PyBabel (MGLTools) and Open Bable partial charges using Edit -> Preferences menu. See PyRx Screencast – Open Bable for details. PyRx is using PyBabel charges, by default. I run the dataset from my previous blog post, using Open Bable, to see if I can get better results. The figure below show the new results.

    This shows that PyBable charges perform better for this virtual screening. The reason might be that AutoDock is calibrated using PyBable charges. Another reason might be that I use Open Bable for ligands only and not for the target. Whatever the reason, the new database table plotting tool is a very useful tool when it comes to comparing different virtual screening.