1 / 1

Abstract 659

Abstract 659

reed-lyons
Télécharger la présentation

Abstract 659

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Abstract 659 There are many freely available molecular visualization programs used by scientists to view proteins, macromolecules and substrates. Each of these software applications has its own benefits and areas of proficiency. However, each of these applications also has its own scripting language. For a scientist to utilize multiple molecular visualization applications, as is usually necessary in any project, they must learn each of those scripting languages. To unite these applications, it is possible to create script reading plugins, small applications that work with the molecular visualization software, capable of understanding one scripting language and converting it to execute the command in another. The first to be created is capable of reading scripts from RasMol and executing those commands’ equivalents in PyMOL. With the creation of converters between all the molecular visualization applications, using a single, universal scripting language, it will become not only possible, but simple, for scientists to learn one application and to be able to utilize the benefits of all. It is the ultimate goal of this project to create a single interface capable of working with all script-based molecular visualization applications, that can convert a script from any scripting language into the universal scripting language, and then run those scripts through a separate molecular visualization application, possibly even being able to fill in the gaps caused by differences in the capabilities of each molecular visualization application. This is the current goal of the Structural Biology Extensible Visualization Scripting Language project funded by NIGMS grant #1R15GM078077. RasMol PyMOL Jmol Chime RasMol PyMOL Jmol Chime ##------------View Options----------------## selectDict = {'wireframe': 'lines', 'cartoon': 'cartoon', 'dots': 'dots', 'cpk': 'spheres', 'spacefill': 'spheres', 'trace': 'ribbon', 'ribbon': 'ribbon'} firstword = p.split( ' ', 1 )[0].lower() try: if firstword in selectDict: #if the first word on the line is one of the supportable view options q = p + ' ' command = q.split( ' ', 1 )[1][:-1].lower() if command=='false' or command=='off': cmd.hide( selectDict[firstword], selected) print firstword + ' off complete' elif command=='true' or command=='on' or command=='': cmd.show( selectDict[firstword], selected) print firstword + ' on complete' else: print 'That function is not supported by PyMOL' except: print 'An error has occurred with your view command. Please check your spelling in your command, the selection on which this command was executed and that your command is supported by PyMOL.' ConSCRIPT: A RasMol to PyMOL Script ConverterScott Mottarella, Corey Wischmeyer, Brett Hanson, Paul A. CraigRochester Institute of Technology sxm3428@rit.edu, cew4349@rit.edu, brh9771@rit.edu, pac8612@rit.edu SBEVSL Introduction There are almost one hundred script based molecular visualization tools available today. They range in cost, complexity, and quality. What is concerning is that each program is more or less independent of all others. Two individuals using two different molecular visualization programs on the same project will not be able to communicate their views directly because each program has its own scripting language. Also, an individual who wishes to use multiple programs must learn a separate language for each program. The SBEVSL project is developing a universal scripting language compatible with the most popular molecular visualization programs. The first step is the creation of ConSCRIPT, a RasMol to PyMOL script converter. This is the first script converter developed as part of the SBEVSL project and allows users to read Rasmol scripts directly in PyMOL. The SBEVSL library will contain molecular visualization commands in the Universal Modeling Language (UML). Scripts from each program on the left will be converted to SBEVSL commands, which can then be output to any of the programs on the right. Each line in the diagram represents a module that translates the script from that program into a command from the SBEVSL Library, which will then translate the script to desired scripting language. The ultimate goal is to allow any user to start at any scripting language, including SBEVSL, and to translate any script to any other scripting language. The sample of code (2, ABOVE) is pulled from ConSCRIPT, our first converter of the RasMol scripting language into PyMOL. We utilized the Python coding language to create this program because that was the language used to create PyMOL and made it easy to combine the molecular visualization program with our plug-in. However, Python is known for its ability to extend into other scripting languages and we hope to utilize it in further work on this project for other plug-ins. This sample code here demonstrates concisely how the problem of converting a scripting language was tackled. We used Pythons own dictionary classes to create relations between RasMol commands and PyMOL commands that were known to be equivalent. Then, we parsed through the given script to look for recognized commands from the RasMol command list and, using the previously created relations from RasMol to PyMOL, determined the PyMOL command equivalent to be performed. After each command, the parameters were handled in similar fashion (shown here are the on and off parameters of the view options). cmd.load( "C:\Documents and Settings\Scotthew.KYLE\Desktop\\1D66.pdb" ) cmd.rotate( 'x', 180 ) cmd.select( 'resn asp+glu+arg+lys+his+asn+thr+cys+gln+tyr+ser+gly+ ala+leu+val+ile+met+trp+phe+pro and chain a' ) cmd.show( 'cartoon', 'sele' ) cmd.color( 'yellow', 'sele' ) cmd.select( 'All and chain b' ) cmd.color( 'purple', 'sele' ) cmd.show( 'dots', 'sele' ) cmd.hide( 'everything', 'all and not resn asp+glu+arg+lys+his+asn+thr+ cys+gln+tyr+ser+gly+ala+leu+val+ile+met+trp+phe+pro' ) cmd.rotate( 'z', -90 ) cmd.select( 'id 1' ) cmd.color( 'green', 'sele' ) cmd.show( 'spheres', 'sele' ) load C:\Documents and Settings\Scotthew.KYLE\Desktop\1D66.pdb Select protein and :a cartoon color yellow select *:b color purple dots restrict protein rotate z 90 select atomno = 1 color green CPK 4 3 5 ConScript • RasMol Image • Lower quality • Limited 3D effects • Low res dots • RasMol Script • Reads like English • Easy to learn • Simple to execute • PyMOL Image • Clear image • Nice shadows and 3D effects • Clean depiction • (notice the dots) • PyMOL Image From a RasMol Script • Quality image of PyMOL • Simple script of RasMol • No differences caused by ConSCRIPT • PyMOL Script • If it looks like computer code, it is computer code • Difficult to read and understand • Must spell out the entire selection Conclusion ConSCRIPT is the first translator to be developed as part of the SBEVSL project. As shown here, it accurately converts given RasMol scripts into PyMOL scripts and is able to give the exact same output as any experienced RasMol user would expect, except with the higher quality images of PyMOL. The method for conversion is simple, creating a dictionary class object to relate every known RasMol command to its PyMOL command equivalent. From ConSCRIPT, with the development of SBEVSL, we will be able to change the code to get similar converters from RasMol into SBEVSL and from SBEVSL into PyMOL, providing the same exact function as ConSCRIPT, but allowing for many other scripting languages to be easily included. Our next project is to convert Jmol scripts into PyMOL and then PyMOL and RasMol scripts into Jmol. From there, we will move towards unifying all molecular visualization scripting languages, probably starting from most popular or most common. • Acknowledgements • NIGMS grant #1R15GM078077 • Dr. Herbert J. Bernstein, Dowling College • Charlie Westin • RIT College of Science The images above (3, 4 and 5) depict the exact same protein after the exact same changes have been made to it. Image 3 was created using PyMOL. One of the advantages of PyMOL is the complex math on which to program is based, which is most easily viewed in the 3D effect created by the program. This image is very clear, as is noticed in the dots where individual dots can be discerned amongst all the rest. Unfortunately, this image is the product of the PyMOL script directly to the right of the image (3). PyMOL scripts are Python code and can get very messy very quickly. Image 4 was created using RasMol. Compared to the nice image in Image 3, this depiction of 1D66 is not as clean, but it certainly would be acceptable in most cases. The advantage of RasMol is seen in the script that follows the image (4). This script reads almost like English and just about any scientist could read the script and understand what is happening. Image 5 was again created in PyMOL. Again we see the high quality of PyMOL’s algorithms. However, this image was created from the RasMol script following Image 4 using our tool, ConSCRIPT. 6

More Related