Home
- Humacao
Contents
1. With the projections and the color representations of the charges a model or an idea in how the charges are propagated in the polymer and the fibers can be seen The charges and the trajectories for the projection and the colors were previous calculated data The result was a success since the projection and the colors met the expectation 4 2 performance Over all the GUI is satisfactory due to the threads used but can still be improved by adding other functions such as an open button The edited version of VMD works successfully The Python plug in in VMD now uses Python 2 5 version Also the VMD libraries that can be imported in the original Python plug in are still usable in this version A few tests where made using the pickel sockets threads and TkInter libraries which were used for the GUI The results show that it is stable and the calculations are correct The improvement of calculating the charges using C was successful The script was tested using a computer with an Intel 2 66 GHz QuadCore processor and 3 GBs The tests where done using the original VMD the edited VMD with the code using pure Python and the embedded code Figure 5 Also the tests were made using two subjects a short CNT surrounded by water and a longer CNT DNA hybrid in a water box The results show an improvement in time for calculating the charges Time Performance 350 300 250 150 100 g Stbiect 1 0o A za Ss VMD VMD oO VMD VMD amp C Su
2. in section 2 3 Sometimes it is desirable in a simulation to view the distribution of the charges and the interactions between them The problem is that many algorithms used for this task are time consuming A new approach is needed to speed up these calculations The technique used here helps to improve these calculations and show an average of the distribution of charges and the electrostatic interaction among atoms This approach takes less time to calculate an average of the interaction among charges The algorithm first takes a frame in the simulation It then divides the frame in N x M x L boxes The mount of subdivisions is entered by the user 3 1 1 charge s grid This matrix grid3D represents a subdivision of the space in N x M x L cubes Figure 1 Each matrix entry stores the the sum of the charges of the atoms in the corresponding region Later in the computation of electrostatic interactions between all atom pairs a simulated atom at the center of the box with this sum of charges as its charge will be used by substituting the computations corresponding to all the atoms in that box Figure 1 The space occupied by the atoms is divided by 3 x 3 x 3 boxes The appropriate row or column of boxes is added to compute false color in the 2D projections 3 1 2 distribution of charges 234 Isosurfaces are often used to represent the different charge levels throughout a 3D space of continuous models In our instance we have discrete parti
3. Proceedings of The National Conference On Undergraduate Research NCUR 2009 University of Wisconsin La Crosse La Crosse Wisconsin April 16 18 2009 A GUI For The Analysis of Electrostatic Interactions in Molecular Dynamics Simulations Desir e E Velazquez Rios John E Morales Garcia Axel Y Rivera Rodriguez Department of Mathematics University of Puerto Rico at Humacao Humacao Puerto Rico 00792 Faculty Adviser Jos O Sotero Esteva Abstract We present a plug in application with a graphical user interface GUI for the Visual Molecular Dynamics VMD software for the analysis of electrostatic potentials It consists of a window for control and visualization of the distribution of charges It also modifies the representation of the molecules showed on the main VMD window to show the effect of the interaction on selected molecules We developed an algorithm that approximates computationally intensive calculations of the electrostatic forces with less pseudo atoms using a N x M x L matrix of boxes reducing the amount of computation factor of Nx M x L The GUI shows a false color representation of the pseudo atoms A menu is used to configure the results shown by the VMD window A set of buttons allow the user to change the view points of the canvas and to control the computations Even with the enhanced algorithms the user may have to wait seconds or minutes depending on the size of boxes being used Different threads are created in or
4. ation already described by the formula Figure 3 A 3D representation of a carbon nanotube surrounded by water and its XY projection 3 3 2 color representation For a better analysis of the charges in the space study we add color to the propagation of the charges in the studied space False colors where used to scale the charges Red is the color of the more charged atom and blue is the color for the less charged atom in this scale To help the user analyze the charges a color bar was added in which the colors are sorted from maximum to minimum value The maximum value of the charge found in the system is at the top of this bar and the minimum value that can be found is at the bottom This bar is shown in the study space In order to assign the colors we created a hexadecimal RGB palette and an algorithm to change from decimal base to hexadecimal string base in order to use the color library of VMD First the algorithm takes the decimal value of the color and then converts it into a string equal to its hexadecimal value 4 Results Figure 4 Charge distribution on the nanotube left and electrostatic forces acting on it right Lines direct the direction of the force 237 4 1 agreement with expected results In order to analyze our result we first compare our findings of the representation of the charges with previously obtained information When we represent a small CNT within water no significant charges can be seen Figure 4
5. bject 2 Time sec N 8 Python2 5 amp Py thon2 5 C Different VMD s Figure 5 Comparison in time between different versions of VMD and script 5 Discussion For future work the GUI will implement a better selector tool In the representation area a feature will be added to rotate the 3D view of the VMD display when selecting a 2D representation Also the color bar of the electrostatic potential representation will be added to the VMD display 238 6 Acknowledgements The authors wish to express their appreciation to the Penn UPR Partnership for Research and Education in Materials project NSF DMR 353730 and the Humacao Undergraduate Research in Mathematics to Promote Academic Achievement program NSA H98230 04 C 0486 This project was proposed by Robert Johnson of the Department of Physics and Astronomy University of Pennsylvania in a recent visit to the UPR Humacao He also gave advice on the physics of the project and provided simulated data for testing the software 7 References 1 David M Beazley Python Essential Reference Indiana Sams Publishing 2006 2 Joel Adams and others C An Introduction to Computing 3 ed Michigan Calvin College 2003 3 Fredrik Lundh An Introduction to Tkinter Fredrik Lundh 1999 4 John W Shipman Tkinter Reference a GUI for Python New Mexico New Mexico Tech Computer Center 2008 4 David Beazley SWIG an easy to use tool for integrating scripting languag
6. ce In order to analyze and view the representation of the charges within the system shown in the VMD screen we developed a GUI Figure 2 that can be called with the VMD The GUI is divided into two parts that work alongside each other and are written in the same source code the menu and the canvas The menu handles the interaction with the user in order to allow them to view the representation of the charges in the system The canvas handles the calls by the menu and dynamically changes in order to show the representation that the user desires 3 2 1 menu and buttons The menu and buttons bar were designed to be as simple as possible while allowing the user to fully understand how each function on screen is intended to work The buttons bar consists of various buttons where most are visually represented by what each does A selector menu allows the user to choose between the individual components residues of the molecule in order to calculate the whole molecule or each component This also decides what the canvas will show for the user The implementation for this selector was made by catching residual names of the 235 molecule loaded into VMD and displaying the names of the components on the menu and sending the selection as a parameter to one of the canvas classes to display only the molecules with the sent name The parameters menu allows the user to change various parameters during the simulation such as the subdivisions of the representation
7. cles Therefore a 2D discrete representation was chosen for this purpose Atoms are projected to a plane The user may choose between three planes the X Y X Z and Y Z planes Computing the projections onto these planes is simple take the corresponding coordinates from the three coordinates For example in the X Y projection a b c a b 3 The similar technique is applied to the grid3D described in section 3 1 1 to produce a 2D projection grid2D For instance in an XY projection all the magnitudes in the corresponding column are added that is grid2D j Er i grid 3D pke 4 3 1 3 electrostatic potentials Electrostatic potentials are computed as in section 2 3 but for each atom instead of computing the sum over all other atoms it is done over the simulated atoms at the center of the grid boxes Even with the reduction in computation accomplished by the technique used here obtaining good approximations requires a grid with enough elements Assuming a grid with M x N x L cells computing charges of all atoms takes O N M The performance of Python results in a quest limitation As explained before Python is an interpreted language which makes it slow for big calculations In order to improve the time spent on calculations a merge between programming languages was implemented This merge consists of the C and Python programming languages Since C compiles into computer language directly the running time is faster t
8. der to show the progression of the computations while they are being performed Communication between threads is made possible by using shared memory Keyword Molecular dynamics 1 Introduction Molecular Dynamics MD simulations often give important insight on the properties of molecules and their interactions They are based on computing prescribed forces between particles In the case of classical MD those particles represent atoms and the forces describe the fundamental forces related to bonds Van Der Waals and electrostatic forces Classical MD simulations are well suited to provide insights into the fundamental properties of CNT DNA hybrids because they enable calculation of structural properties with atomic resolution For example Carbon nanotubes CNT and single stranded DNA ss DNA interesting and important systems in nanoscience have been used to construct nanoscale chemical sensors A detailed understanding of electrical properties of these systems is relevant for the design of such sensors MD simulations are limited by the available computational power State of the art simulations deal with systems composed of hundreds of thousands of atoms They use time steps in the order of femptoseconds 10 seconds Using massively parallel systems and sophisticated algorithms with execution times of several days one may achieve simulations with total simulated time of the order of several nanoseconds 10 seconds Then the large data s
9. es with C and C Proceeding Of the 4 conference on USENIX Tel Tk Workshop 2 1996 15 5 Dhananjay Nene Performance Comparison http blog dhananjaynene com 2008 07 performance comparison c java python ruby jython jruby groovy 6 Humphrey W Dalke A and Schulten K VMD Visual Molecular Dynamics J Molec Graphics 14 1996 33 7 Myrna I Merced Serrano Metrics for the Study of DNA CNT Hybrids and a Prototype of MoSDAS Graphical User Interface PREM Technical Report 2007 8 Myrna I Merced Serrano Graphical User Interface to Run Molecular Dynamics Simulations of CNT Polymer Hybrids in VMD PREM Technical Report 2007 239
10. ets of simulated data called trajectories are analyzed with software that is bound by similar limitations Visual Molecular Dynamics VMD is a computer program to visualize and model molecules This tool was developed for viewing and analyzing the results of molecular dynamics simulations but it also includes applications for visualizing volumetric data sequence data and arbitrary graphics objects When used for viewing and analyzing MD trajectories although it may be used in line as the simulation progresses most often it is used off line after the whole trajectory has been produced Users can implement Tool Command Language Tel and Python scripts within VMD to add functionality for the analysis of MD trajectories because it includes embedded Tcl and Python interpreters This paper presents a plug in application with a graphical user interface GUI for VMD for the analysis of electrostatic potentials It is meant to provide a first glance of the distribution of charges and electrostatic interactions to the researchers that may be recomputed with more detail and precision off line False color representations of the distribution of charges projection of the atoms onto 2D planes and 3D representations of the effect of electrostatic interactions on selected molecules are made available almost instantly Visual clues provide feedback to the researcher about computation progresses and scales The GUI implements an algorithm that approximates co
11. han Python To make this merge possible the Simplified Wrapper and Interface Generator SWIG library was used SWIG is a software development tool that connects programs written in C and C with a variety of high level programming languages SWIG is used with different types of languages including common scripting languages such as Perl PHP Python Tcl and Ruby Using SWIG libraries helped to make the main calculations using C and the GUI in Python For compiling the C files GNU C version 4 3 2 compiler was used SWIG libraries array passing capabilities are limited These libraries do not accept templates and reference points which makes it difficult passing the molecule as a parameter for the functions To solve this just the necessary atom information became the parameters instead of the whole molecule This helped the calculations because only the essential atoms and information where used which results in faster calculations Finally an updated edition of Python is needed for the use of newer and better libraries The Python plug in in VMD 1 8 6 uses Python 2 2 libraries These libraries are not as sophisticated as more recent versions of Python The source code of VMD was edited making the principal libraries of the Python plug in be the Python 2 5 installed in the computer instead of being an extra library that must be added to VMD This improves the VMD making use of the most recent Python functions 3 2 graphical user interfa
12. llection of modules On the other hand being an interpreted language with a characteristic of placing syntax clarity over efficiency it presents further limitations to computationally intensive applications A study made about performance between different programming languages reports that it took 192 seconds per iterations to solve the Flavius Josephus problem in Python using a code consisting of 41 lines 2 2 VMD modules VMD provides three modules for accessing and manipulating VMD state with objects that represent important entities They are referred in the VMD User s Manual as proxy classes that are written in pure Python and use the lower level built in interfaces to communicate with VMD They provide the classes Molecule a proxy for molecules loaded into VMD MoleculeRep to keep track of the representations in a molecule AtomSel whose instances are independent of the molecules and representations in VMD Other non object oriented modules are provided for interacting with VMD including color used to change the color definitions color maps or edit the color scale display controls the VMD camera as well as screen updates graphics used to create custom 3 D objects from graphics primitives such as triangle line sphere text material etc 2 3 electrostatic model When electrostatic charges are present the Coulomb potentials between two atoms a a is given by n qg 1 aregr yj where Q and Q are the cha
13. mputationally intensive calculations of the electrostatic forces by dividing the sample space into N x M x L boxes Pseudo atoms that represent averages over each of the boxes are then used to reduce the amount of computation Multi threading and the use of C for the most CPU intensive parts of the code also help to achieve the response times expected from an interactive application 2 Background The VMD program is compatible with main file formats produced by MD simulators This relieves the VMD plug in programmer of the direct interpretation and manipulation of the data Access to the positions types and charges of the atoms is made through the Python modules provided by VMD Tkinter a GUI package for Python is used for building the window that let the researcher control points of view atom types being viewed and computation of interactions 2 1 Python and CPU intensive code Python is an interpreted programming language It is designed to be minimalist in the sense of syntactic complexity As a consequence the code written in that language is relatively easy to understand and modify even by non experts At the same time it supports programming paradigms such as object oriented programming and structured programming Functionality pertinent to the construction of computational tools for MD simulations such as graphical user interfaces threading interprocess communications and interfacing with compiled languages is provided by a large co
14. rges of the atoms 7 their distance and is a constant For each atom the potential 233 between it and all other atoms is computed and added to obtain the net potential on that atom e a fF Fev n si 2 where r is the unit vector pointing from a to aj 2 4 test case CNT DNA hybrids CNTs are cylindrical sheets of carbon with diameters of 1nm and lengths up to a few centimeters CNTs have electronic and structural properties that vary depending on the diameter chirality and length They have many interesting properties such as high mechanical strength and electronic stability These features make them candidates for practical applications Single strand deoxyribonucleic acid ss DNA is a variant of the widely known biomolecule that consists only one chain of alternating sugars and phosphates They are often represented by sequences of the letters C A T and G that correspond to the different base units It is understood that ss DNA attaches to the CNT by the a a stacking interaction MD simulations of ss DNA adsorbing to a CNT used in this project have been done both at the University of Pennsylvania and at the University of Puerto Rico at Humacao 3 Methods 3 1 computation of charges and electrostatic potentials This software serves to visualize two different properties related to charged particles the distribution of charges throughout the space and the Coulomb potential at each of the atoms as described
15. s of the charges in the canvas the quantity of frames being analyzed and the minimum and maximum of the color representation of charges in the canvas and the VMD OpenGL display The save button stores the state of the simulation When opened through the GUI it returns the user to the moment of the simulation when it was last saved Following the open button are three buttons called the XY view button the XZ view button and the YZ view button respectively Each button changes the view of the canvas between each of the main projections for the molecule selected as it is represented in the VMD This does not change in any way the view of the VMD it is only relative to its view Changes to the GUI screen occur after the program has calculated the charges for that view These calculations are done using the threaded code making the changes that occur within the canvas dynamically The following button in the menu is the run button When pressed the program begins to make the calculations necessary in order to change the representation of the molecule in the main VMD OpenGL display to show the magnitude and direction of the electrostatic potential on each of the atoms that belong to the residues selected by the researcher The last button close invokes a small callback function that asks the user whether the application should be closed VMD 1 8 6 OpenGL Display Select Parameters VMD Main MEIE File Molecule Graphics Display Mo
16. use Extensions Help ID_T A D F Molecule Atoms Frames Vol E j Alaj ome Loop z step 7 speed T D Figure 2 Screen shot of all the components of the plug in The window in the upper left corner is used to control the computations projections and residue selection Progress bars provide feedback about the computations After completion electrostatic potentials are shown in the main VMD window upper right 3 3 3 representation of distribution of charges Atoms are particles without colors or any determined shape In order to represent the distribution of charges a spherical shape has been assigned to represent an atom Figure 3 To represent the charge we assigned a false color palette Each charge will have a color depending on the value of the charge The colors go from red the maximum value to blue the minimum value and the other resulting colors are the spectrum between those colors 236 3 3 1 pixel representation With the creation of a grid and the algorithm to transform it into a 2D grid the transformation of the coordinates into pixel is simple The representation of the coordinates into pixel is allowed by the following algorithm aime e 5 Emar Emin where a is the desired coordinate and D is the height if a pixel of the Y coordinate is desired or the width if the pixel from the X coordinate is desired This algorithm allows the conversion of 2D projections by doing the calcul
Download Pdf Manuals
Related Search
Related Contents
LED照明 Garmin 1600 Printer User Manual MX1204 User`s Manual 07アンタレスDC 7LV 取扱説明書 - Shimano 東芝LED投光器取扱説明害 保管用 Copyright © All rights reserved.
Failed to retrieve file