科学网

 找回密码
  注册

tag 标签: Desmond

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

Desmond 3.4.0.2 source code released
albumns 2013-4-10 02:29
This new version finally update VIPARR tool from 3.x into 4.x which can handle NBFIX terms in CHARMM 36 protein FF and latest CHARMM 36 LIPIDS FF parameter sets. ____ _ _____ _ _ ___ | _ \ ___ ___ _ __ ___ ___ _ __ __| | |___ /| || | / _ \ | | | |/ _ \/ __| '_ ` _ \ / _ \| '_ \ / _` | |_ \| || |_| | | | | |_| | __/\__ \ | | | | | (_) | | | | (_| | ___) |__ _| |_| | |____/ \___||___/_| |_| |_|\___/|_| |_|\__,_| |____(_) |_|(_)___/ Desmond Source Release Desmond 3.4.0.2 April 1, 2013 D. E. Shaw Research Desmond ======= Changes to support compilation on more Linux distributions. 3.4.0.1 ======= This section summarizes the significant changes made in Desmond since the Desmond 3.0 release. Features -------- Configuration error reporting has been improved. In particular, a key history is internally maintained so that, when there is a complaint about a missing or invalid parameter, the user gets a much better idea about where that parameter is located. Configuration files for 3.4 are backward compatible. Desmond now uses the new Random123 random number generator. One benefit of this is that random operations across particles return the same results, independent of the number of processes running. For example, Desmond now gets nearly identical results (up to arithmetic error) when running randomized integrators (Langevin, Brownie) on different numbers of processors. Desmond is now using the MSYS library for all reading of structure files. As a result, a new boot.type optional (for backwards compatibility) flag has been added to allow (experimental) booting of Maestro files in Desmond through MSYS. Currently supported types are 'DMS' and 'MAE' (yes, in theory, you don't need mae2dms -- in theory). Developer infrastructure is in place to support any other type that MSYS can import (i.e., should be fairly easy to support anything that MSYS supports). DMS files are read in a more strongly typed fashion. It used to be that the types of columns in the DMS file were not checked to see if they matched the type required by Desmond. It would do the right thing in some mismatch cases and the wrong thing in others. As a result, some DMS files that were produced by SQLITE3 hacks will likely cause problems. Some new functions have been added to enhanced_sampling (see guide). A long-standing bug in which the 'pow' function was not recognized by the parser has been fixed. The enhanced_sampling extension now supports 'whim' descriptors. A 'Mixed' thermostat has been added to the Multigrator plugin (see guide). An 'Antithetic' thermostat has been added to the cadre of basic thermostats (see guide). Both Multigrator and Polarization can make use of it. The extended energy term records the heat changes that result from the plugins remove_com_motion and randomize_velocities, and thus the conservation of the total energy will persist in the presence of such plugins. New Gibbs types have been added which support a three charge (chargeA, chargeB, chargeC) alchemical system, as in force fields where the formal charges on all atoms are subject to change, rendering all formal charges alchemical. This is still mostly an experimental feature. Gibbs also had a new alchemical_pair_softcore_es pipeline to do alchemical pair terms with a softcore functional form. See guide. Gibbs nonbonded terms have the option of having their nonbonded correction corrected to account for the variable presence of ligand terms in FEP binding calculations (see guide). To support a certain replica-exchange/FEP workflow, an optional 'deltaE' parameter has been added to remd-graph (see guide). The trajectory plugin writes out a VIRIALTENSOR into its frames. The trajectory extension also provides the special dbl_trajectory plugin which will output in DBL_WRAPPED_V_2 format. vrun in ReleaseDbl will read these frames back in their full precision, while vrun in Release will always read these back in single precision. These features exist mostly to support debugging and Anton/Desmond comparisons. A new main loop plugin called virial_breakdown has been added to the additional_output extension. It reports a breakdown of virial contributions across force categories. This is primarily expected to be used as a debugging tool for Anton developers, though a brief description is in the users’ guide. Optimizations were made in both GSE and PME pipelines. The GSE pipelines now perform much faster than before and have comparable performance to PME with a high order. The performance gap between GSE and PME is substantially more narrow. Added a force.nonbonded.suppress_exclusions optional flag (default false) which allows exclusion injection to be avoided as might be needed for certain debugging operations. We do not expect its use outside of this context and do not document it in the guide. The 'reshake' flag has been enabled for ReleaseDbl (default to true as in Release). Although ReleaseDbl does not need it for constraints, enabling it causes Desmond to be a bit more robust against initial constraint violations in the structure file, and thus Release and ReleaseDbl give closer numerical results in these cases. The performance impact is negligible. Bugfixes -------- Reich water constraints test the water terms to make sure they satisfy certain symmetry assumptions made by the algorithm. We used to have particle GID's reported when a particle went missing. We now report them again. The LCn virtual sites had a very subtle non-reversibility bug which prevented systems with these sites from working reversibly in unconstrained NVE simulations. The alchemical nonbonded near terms and softcore pair in Gibbs used to generator a NaN if two noninteracting alchemical particles wound up on top of each other. A long-standing bug in the GSE virial bug has been corrected. This bug manifested when the grid-size of the FFT was picked too aggressively (triggers roughly when the grid spacing equals sigma_s or larger). Checkpointing does in memory buffering which speeds up the save and loads at the expensive of a bit of RAM at runtime. For some systems this was a dramatic speed up of saving and loading.
个人分类: 科研笔记|3539 次阅读|0 个评论
SQLite Manager, a manager of Desmond .dms file
albumns 2013-2-23 22:35
The Desmond .dms file, which can be converted from Schrodinger Maestro file format .cms with command mae2dms, is quite difficult to modify by text editor. However, the .dms file actually is a SQLite database file, and w ith Sqlite3 command or SQLite Manager we can easily handle .dms file. Thanks to the SQLite Manager add on in Firefox, we can easily handle the .dms file with this useful tool. Download link: https://addons.mozilla.org/en-US/firefox/addon/5817/
个人分类: 科研笔记|4365 次阅读|0 个评论
Compiling Desmond 3.4 from source code.
albumns 2013-2-14 17:30
Compiling Desmond from source code seems to be the most challenging work that I've ever found especially the latest V3.4. Fortunately, it was successfully compiled these days. During the sampling test, 2 CPU can even get up to 4 ns /day with NVE ensemble for a typical membrane system which is really amazing. OS: SUSE Linux Enterprise 11 SP2 GCC: 4.3.4 (system implemented) Boost: 1.49 (installed from SUSE system tool YAST) Sqlite: 3.7.6 (system implemented) Python: 2.6.7 (self compiled) numpy: 1.5.0 (self compiled) scons: 1.2 (self compiled) Antlr: 3.2 (self compiled) Pcre: 8.21 (self compiled) openMPI: 1.4.3 (self compiled) after compiling the all above necessary tools and libraries, it would be necessary to configure proper Python environment before compiling Desmond: setenv PYTHONPATH /soft/python-2.6.7 alias scons /soft/python-2.6.7/bin/scons alias python /soft/python-2.6.7/bin/python The configuration file user-conf.sample.py are following: # Boost ; boost_prefix = ' /usr/include/boost' EXTRA_INCLUDE_PATH += ' /usr/include' EXTRA_LIBRARY_PATH += ' /usr/lib64' EXTRA_LINK_FLAGS += ' -Wl,-rpath,/usr/lib64' EXTRA_LIBS += ' -lboost_iostreams -lboost_thread' # ANTLR, used in MSYS EXTRA_INCLUDE_PATH += ' /soft/desmond-3.4/libantlr3c/include' EXTRA_LIBRARY_PATH += ' /soft/desmond-3.4/libantlr3c/lib' EXTRA_LINK_FLAGS += ' -Wl,-rpath,/soft/desmond-3.4/libantlr3c/lib' EXTRA_LIBS += ' -lantlr3c' # PCRE, used in MSYS EXTRA_INCLUDE_PATH += ' /soft/desmond-3.4/pcre-8.21/include' EXTRA_LIBRARY_PATH += ' /soft/desmond-3.4/pcre-8.21/lib' EXTRA_LINK_FLAGS += ' -Wl,-rpath,/soft/desmond-3.4/pcre-8.21/lib' EXTRA_LIBS += ' -lpcre' # SQLITE - used in MSYS EXTRA_INCLUDE_PATH += ' /usr/include' EXTRA_LIBRARY_PATH += ' /usr/lib64' EXTRA_LINK_FLAGS += ' -Wl,-rpath,/usr/lib64' EXTRA_LIBS += ' -lsqlite3' # MPI WITH_MPI = 1 mpi_prefix = ' /soft/openmpi-1.4.3' MPI_CPPFLAGS = " -I%s/include -pthread -DOMPI_SKIP_MPICXX" % mpi_prefix MPI_LDFLAGS = " -L%s/lib -Wl,-rpath,%s/lib" % (mpi_prefix,mpi_prefix) # Python # DESRES installs Python and numpy in separate path locations; your installation # will likely install numpy somewhere in the Python path hierarchy python_prefix = ' /soft/python-2.6.7' numpy_prefix = " /soft/python-2.6.7/lib/python2.6/site-packages" EXTRA_INCLUDE_PATH += ' %s/include/python2.6' % python_prefix EXTRA_LIBRARY_PATH += ' %s/lib' % python_prefix EXTRA_LINK_FLAGS += ' -Wl,-rpath,%s/lib' % python_prefix EXTRA_INCLUDE_PATH += ' %s/numpy/core/include' % numpy_prefix EXTRA_LIBRARY_PATH += ' %s/numpy/core' % numpy_prefix EXTRA_LINK_FLAGS += ' -Wl,-rpath,%s/numpy/core' % numpy_prefix EXTRA_LIBS += ' -lboost_python -lpython2.6' Now we can compile and install Desmond with following command: scons --user-conf=user-conf.sample.py PREFIX=/soft/desmond-3.4/desmond -j4 scons --user-conf=user-conf.sample.py install PREFIX=/soft/desmond-3.4/desmond -j4 If everything goes well, we should see the following from terminal: scons build done Testing: setenv DESMOND_PLUGIN_PATH /soft/desmond-3.4/desmond/lib/plugin set path=(/soft/desmond-3.4/desmond/bin $path) desmond --include ./share/samples/dhfr.cfg \ --cfg boot.file=./share/samples/dhfr.dms \ --cfg mdsim.plugin.eneseq.name=dhfr.eneseq diff dhfr.eneseq ./share/samples/dhfr.eneseq.reference the values printed should be correspond to steps 160 and 200 and should be identical to the final few lines of values obtained when running the first parallel simulation. parallel testing: setenv DESMOND_PLUGIN_PATH /soft/desmond-3.4/desmond/lib/plugin set path=(/soft/desmond-3.4/desmond/bin $path) mpirun -np 2 desmond \ --include ./share/samples/dhfr.cfg \ --cfg boot.file=./share/samples/dhfr.dms \ --cfg mdsim.plugin.eneseq.name=dhfr.eneseq.2 \ --destrier mpi diff dhfr.eneseq.2 dhfr.eneseq The first commands sets an environment variable that determines where Desmond will search for its dynamically loaded plugins. Using the instructions above there are one or two plugins built that contain 'destriers'. Destriers implement communication protocols in Desmond with the default protocol being one for a single processor. The second command runs two mdsim.exe processes using the Open MPI job launcher orterun and the Desmond 'mpi' destrier. The third command again compares the results obtained from the parallel run with those of the serial run. Note,that in general these results will be different.
个人分类: 科研笔记|4131 次阅读|0 个评论
Dedicated stategies for GPCR MD simulation
albumns 2012-7-27 02:43
As the most important membrane protein, GPCR MD simulation is a quite hot topic nowadays. However, how to assemble protein/membrane system and which forcefield to assign for the whole system are two main critical and tough task for GPCR simulations. 1. Assemble protein/membrane system Many tools are now available for protein/membrane building including: VMD (http://www.ks.uiuc.edu/Research/vmd/) CHARMM-GUI (http://www.charmm-gui.org/) Desmond System Builder (http://www.deshawresearch.com/resources_desmond.html) g_membed (http://wwwuser.gwdg.de/~ggroenh/membed.html) InflateGro (http://moose.bio.ucalgary.ca/index.php?page=Translate_lipdis) VMD can support well for POPC and POPE membrane system building with CHARMM27 and CHARMM36 FF. H owever, one have to add additional solvent and i ons into the syst em by tcl script from VMD tutorial. It will also n eed some script to merge membrane and protein. Moreover, since the lipids are not pre-equilirated, it would be necessary to equ ilibrate the whole system at least 20 ns before MD production. CHARMM-GUI aims to provide more convenient way for NAMD or CHARMM sim ulation. It can gene rate a embeded protein/memb rane system with OPM position through web page interface. It even can helps to assi gn CHARMM CGFF for the ligand. H owever, the re are also some o bvious week nees for it: there are so many atom clashed between lipids that we can hardly believe the lipids are pre-eq uilib rated which claimed by the author; the input file provided by CHARMM-GUI is not good enough for membrane protein simulation s ince the whole quilibration step on ly contains no m ore than 3 ns and obvious GPCR helix movement are of ten observed w ithin such short time which shouldn't expected at this time scale level. So, one have to improve the protocol by himself. Desmond System builder tool is incorporated in Schrodinger Maestro GUI and it provides very friendly interface for users. It can build a OPM based position for pr otein/membrane system very easily by c licking some bottoms . It can also assign CHARMM36 FF by VIPARR tool in D esmond. Both g_membed and InflateGro are tools w ithin Groma cs and both of them can embed the prot ein into a pre-equlibrated membrane system which save lot of ti me for equilibration . Although g_membed is a little bi t diff icult than InflateGro, but the output seems to be much better than the later one. 2. Force filed It is said that CHARMM36 FF is the best FF for lipids which i s currently the only FF can reproduce lipid gel phase property. Howe ver, recen t Lipid 11 FF from latest Amber 12 is also claimed to be as good as CHARMM36 FF , al though related p aper is being revi ewed th ese days. Both full atom FF are quite good option for protein system simulation. There are also other FF and me thods including Gromos FF which is a united atoms FF and nowadays coarse gain MD which use dum my sphere to represent groups and acce lerate the simulation dra matically (24 core workstation can even achieve up to several microsecond/day ). The demerit for those methods are also obvious: we gain w hat we paid. 3. Top ology for Ligand T his is always a head ache problem for many people in MD simulation. In Desmond, ligand to pology can be recognized automatically with OPLS_2005 FF. H owe ver, OPLS_2005 is only go od e nough for t ens of ns MD simulation, it is rather poor if su b mit to micro se cond MD. If we would like to use CHARMM36 FF for protein/membrane system bound with ligand, we can generate to pol ogy from S wissparam (http://swissparam.ch/) and convert them into Desmond Viparr format by script from Desmond 2012 ($SCHRO DINGER/desmond-v31023/data/viparr/converters ). This tool sometimes doesn't work well, it is said that it can be full y supported by D esmond in the next version of Desmond which would be released at the beginning of next year . What's n eed to mention is that CHARMM C G FF is also reachable in Des mond 2012 ($SCHRODING ER/desmond-v31023/data/viparr/ff/cgenff_base_v2b7 ), one can build manually with those molecul ar templates if the target on e is not so complicated. CHARMM CG FF also could be obtained from (https://www.paramchem.org/). If the ligand structure is not so complicated, it may work well. H owever, it some time s may not re cognize ligand bond order and so on correctly. In this way, one have to go to CHARMM forum for helps. Amber GAFF is definitely ext re mely at tractive and the primary choice for a ligand bound system. When the latest LIPID 11 FF in Amber 12 come out, Ambe r should be the first choic e for many people especially those work with ligand. 4. Efficiency Alt hough the hardware of compu ter deve lop s so fast nowada ys that CPU update one generation almost each year, the e ffici ency of MD simulations seems don't imp rove so much these days. F or instan ce: no matter how many CPU we use , for a typical mem brane protein simulation (13 2 lipids, 300aa protein, 50,000 at oms in all ) with full atom FF and typical cutoff (9-10) with PME: Gromacs can get up to 2 0 ns/day (double precision), Amber 12 ns/day, NAMD 4ns/day. Desmond is an exception since the parralization is much more superior tha n any other MD tools, it can up to 100 ns/day with 512 CPU. I t can even up to several microseco nd /day in A nton with full atom FF. It woul d be a wise option to use either D esmond or Gromacs , if one would like to run hundre ds of ns with full atom FF. Of course, it is also accepta ble for Amber and NAMD CPU performance if the simulation on ly last for tens of ns. GPU technology is developing quite fast in recent one or two years and it also bring exc iting news for computational work especially NVIDIA CUDA accel erations. F or instance, with two GTX590, A mber 12 can get up to 20ns/day while 24 core i7 3.6 GH z CPU can only get 4ns/day ( with intel com piler , gnu is even m uch slower). NAMD on the other hand, can get 5ns/day with CUDA acc eleration w hile 24 core i7 3.6 GHz CPU can only get 0.5 ns/day. C urrently, GPU calculation is not supported in Desmond, but this feature is e x pected to be available in next version.
个人分类: 科研笔记|7376 次阅读|0 个评论
compile Desmond from source code
albumns 2012-4-15 22:02
As a highly optimized parallel MD tool, compiled Desmond is around 20-30% faster than the pre-compiled version which is distrubuted in Schrodinger software. here are some steps for how to compile Desmond from source code. 1. download source code from http://www.deshawresearch.com/resources_desmond.html 2. install boost although each Linux OS may already have boost, but Desmond required boost version =4.15.0, it is better to compile it manually. The source code can be download from http://sourceforge.net/projects/boost/files/boost/ tar xvf boost_1_45_0.tar.bz2 ./bootstrap.sh add the following line at the end of tools/build/v2/user-config.jam using mpi; ./bjam install --prefix=/soft/boost1.45 3. install openmpi it is highly recommend for openmpi1.4.3 ./configure --prefix=/soft/openmpi make make install 4. configure installation file file for Desmond cp share/user-conf.sample.py user-conf.py edit it as following: --------user-conf.py-------- # Copyright D. E. Shaw Research, 2011. ''' This configuration works in DESRES. At a minimum, to get a single node version of Desmond you will have to give the location of the Boost include and library files. To build a multi-node MPI version, you will have to give the same path information for MPI. Similarly for Python. Build Desmond with scons --user-config=share/user-conf.sample.py ''' import sys import os if EXTRA_C_FLAGS == None: EXTRA_C_FLAGS = '' if EXTRA_CC_FLAGS == None: EXTRA_CC_FLAGS = '' if EXTRA_LINK_FLAGS == None: EXTRA_LINK_FLAGS = '' if EXTRA_LIBS == None: EXTRA_LIBS = '' if EXTRA_INCLUDE_PATH == None: EXTRA_INCLUDE_PATH = '' if EXTRA_LIBRARY_PATH == None: EXTRA_LIBRARY_PATH = '' USE_BFD=False if sys.platform == 'win32' : THREADS = 'BOOST' # When building for Windows, you will need to set the # DESRES_TARGET_ARCH variable as one of 'x86_64' or 'x86'. if os.getenv('DESRES_TARGET_ARCH') == 'x86_64' : larch = 'x64' elif os.getenv('DESRES_TARGET_ARCH') == 'x86' : larch = 'x86' else: print sys.stderr, "DESRES_TARGET_ARCH fail" sys.exit(1) # Boost EXTRA_INCLUDE_PATH = "C:/local/rendlemc/Libs/boost/boost_1_46_1" EXTRA_LIBRARY_PATH = "C:/local/rendlemc/Libs/boost/boost_1_46_1/lib/%s" % larch # Python # Python is not supported under Windows else: THREADS = 'POSIX' if USE_BFD: EXTRA_INCLUDE_PATH += ' /usr/include' EXTRA_LIBRARY_PATH += ' /usr/lib64' EXTRA_LINK_FLAGS += ' -L/usr/lib64' EXTRA_LINK_FLAGS += ' -Wl,-rpath=/usr/lib64' # Boost; boost_prefix = '/usr/local/include/boost' EXTRA_INCLUDE_PATH += ' %s/include' % boost_prefix EXTRA_LIBRARY_PATH += ' %s/lib' % boost_prefix EXTRA_LINK_FLAGS += ' -Wl,-rpath,%s/lib' % boost_prefix # MPI WITH_MPI = 1 mpi_prefix = '/soft/openmpi1.4.3' MPI_CPPFLAGS = "-I%s/include -pthread -DOMPI_SKIP_MPICXX" % mpi_prefix MPI_LDFLAGS = "-L%s/lib -Wl,-rpath,%s/lib" % (mpi_prefix,mpi_prefix) # Python # DESRES installs Python and numpy in separate path locations; your installation # will likely install numpy somewhere in the Python path hierarchy python_prefix = '/usr/lib64/python2.7' numpy_prefix = "/usr/lib64/python2.7/site-packages" EXTRA_INCLUDE_PATH += ' %s/include/python2.7' % python_prefix EXTRA_LIBRARY_PATH += ' %s/lib' % python_prefix EXTRA_LINK_FLAGS += ' -Wl,-rpath,%s/lib' % python_prefix EXTRA_INCLUDE_PATH += ' %s/numpy/core/include' % numpy_prefix EXTRA_LIBRARY_PATH += ' %s/numpy/core' % numpy_prefix EXTRA_LINK_FLAGS += ' -Wl,-rpath,%s/numpy/core' % numpy_prefix EXTRA_LIBS += ' -lboost_python -lpython2.7' -----------------------end------------------------------------------------------- finally it can be compiled and installed with command: scons --user-conf=user-conf.py install PREFIX=/soft/desmond3.03 test for short MD: cd /soft/desmond3.0.3 ./bin/desmond --include ./share/samples/dhfr.cfg \ --cfg boot.file=./share/samples/dhfr.dms \ --cfg mdsim.plugin.eneseq.name=dhfr.eneseq \ test for restore checkpoint ./bin/desmond --restore checkpt test for parallel orterun -np 2 \ /soft/desmond3.03/bin/desmond \ --include ./share/samples/dhfr.cfg \ --cfg boot.file=./share/samples/dhfr.dms \ cfg mdsim.plugin.eneseq.name=dhfr.eneseq \ --destrier mpi if everything goes well, you should see the following when the test finished at each step (normal terminate)
个人分类: 科研笔记|5396 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-3 09:03

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部