帮助原子和分子模拟的一组模块。

clancyLab-squid的Python项目详细描述


squid是一个开源的分子模拟代码库,由约翰霍普金斯大学的clancy实验室开发。代码库包括简化分子动力学(MD)和密度泛函理论(DFT)模拟提交,以及其他实用程序,如文件I/O和后处理

安装

对于大多数人来说,安装squid的最简单方法是使用pip安装:

[user@local]~% pip install clancylab-squid

如果愿意,也可以通过以下方式克隆存储库:

[user@local]~% cd ~; git clone https://github.com/ClancyLab/squid.git

注意,您需要各种附加软件才能充分利用squid。我们提供了一些帮助脚本来帮助您设置这些文件;但是,这些脚本并不健壮,我们鼓励您设置自己的开发环境。不过,如果您选择这样做,以下信息可能会有用:

在ubuntu上安装

  1. 确保您的系统是最新的相关软件。以下命令将有帮助
[user@local]~% sudo apt-get update
[user@local]~% sudo apt-get upgrade
[user@local]~% sudo apt-get install build-essential make cmake g++ git swig mpich lmod
  1. 由于上述行安装了lmod,我们发现在默认安装中可能有一个bug如果你发现当你打开一个终端,你得到了一个奇怪的错误关于POSIX不存在,这是一个错误在LUA安装。简单地说,走它想要的路,做一个指向posix_c.so的simlink下面是一个如何做到这一点的例子(注意,lua版本和目录可能相同,也可能不同)
[user@local]~% sudo ln -s /usr/lib/x86_64-linux-gnu/lua/5.2/posix_c.so /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so
  1. 设置目录在本例中,我们希望所有程序都安装到~/programs文件夹,所有模块都安装到~/.modules
[user@local]~% mkdir ~/programs; mkdir ~/.modules
  1. 为lmod设置默认环境文件在这种情况下,我们正在做一个空的
[user@local]~% touch ~/.modules/StdEnv.lua
  1. 确保设置了LMOD。这可以通过确保相应地更新~/.bashrc来完成。注意,不要盲目复制,但要明白下面的代码行是做什么的!
# LMOD Setup
if[ -f /usr/share/lmod/6.6/init/bash ];then
    . /usr/share/lmod/6.6/init/bash
fi
module use /home/$USER/.modules
if[ -z "$__Init_Default_Modules"];thenexport__Init_Default_Modules=1;LMOD_SYSTEM_DEFAULT_MODULES=${LMOD_SYSTEM_DEFAULT_MODULES:-"StdEnv"}export LMOD_SYSTEM_DEFAULT_MODULES
  module --initial_load --no_redirect restore
else
  module refresh
fi
  1. 尽可能多地从squid安装。这可以通过运行以下命令来完成:
importosfromsquid.installersimport*# Get relevant path informationhome_folder=os.path.expanduser("~")program_folder="%s/programs"%home_foldermodule_folder="%s/.modules"%home_folderifnotos.path.exists(program_folder):os.makedirs(program_folder,exist_ok=True)ifnotos.path.exists(module_folder):os.makedirs(module_folder,exist_ok=True)# As we plan to get orca/4.2.0, we need openmpi/3.1.4openmpi_installer(program_folder,"3.1.4",module_folder)
  1. 注意,由于您可能需要其他程序,建议您首先安装openmpi,如上所述,然后返回安装其他程序这要求在编译下一个程序之前还加载openmpi模块。
importosfromsquid.installersimport*# Get relevant path informationhome_folder=os.path.expanduser("~")program_folder="%s/programs"%home_foldermodule_folder="%s/.modules"%home_folderifnotos.path.exists(program_folder):os.makedirs(program_folder,exist_ok=True)ifnotos.path.exists(module_folder):os.makedirs(module_folder,exist_ok=True)# LAMMPS has many install options.  Here we simplify things.# Note, we can only choose between mpi or serial.# Note, "16Mar18_mpi" is the name of the module in the lammps# submodule folder.  Be unique!lammps_installer(program_folder,"16Mar18","mpi","16Mar18_mpi",compiler="mpicxx",extra_lammps_packages=["RIGID","PYTHON","REPLICA","USER-MISC","USER-REAXC"],smrff_path=None,MODULEDIR=module_folder)# Install packmolpackmol_installer(program_folder,module_folder)# Install nloptnlopt_installer(program_folder,"2.6.1",module_folder)
  1. https://orcaforum.kofo.mpg.de/app.php/dlext/下载Orca(注意,您必须注册),并创建自己的Orca模块下面列出了一个示例(它将作为.lua文件保存在modules文件夹中)。
help([[
For detailed instructions, go to:
    https://orcaforum.cec.mpg.de/

    ]])
whatis("Version: 4.2.0")
whatis("Keywords: Orca 4")
whatis("URL: https://orcaforum.cec.mpg.de/")
whatis("Description: Orca 4")

load("openmpi/3.1.4")

prepend_path("PATH",               "/home/username/programs/orca/4.2.0")
prepend_path("LD_LIBRARY_PATH",    "/home/username/programs/orca/4.2.0")

贡献

如果您希望成为clancy组中的活动开发人员,请与项目维护人员联系,以便将其添加为项目的合作者。否则,欢迎您提交您认为合适的拉取请求,它们将被处理。

文件

文档是必要的,在编写新代码时必须遵循以下步骤:

设置

  1. 下载Sphinx。如果您已经通过pip install-u sphinx安装了pip,那么就可以完成此任务
  2. 只要安装了squid,就需要另一个名为squid docs的文件夹(而不是squid的子文件夹)
[user@local]~% cd ~; mkdir squid-docs;cd squid-docs; git clone -b gh-pages git@github.com:clancylab/squid.git html
  1. 永远不要忽略那个目录(不要删除它)

添加文档

文档使用ReStructuredText格式的docstrings、Sphinxpython包和带有autodoc扩展名的索引完成。要添加更多文档,首先添加要包含在os.path.abspath('example/dir/To/script.py')下的docs/source/conf.py中的文件其次,确保python文件中有正确的docstring,最后运行make full重新生成文档并将其提交给本地分支以及gitgh pages分支。

佛r有关文档的更多信息,可以在here中找到下面的教程

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用“this”关键字调用类中具有1个以上参数的多个构造?   java中轮廓的opencv并集   java Qt软件包安卓。支持v4。应用程序不存在   java JPA:如何将字符串持久化到数据库字段中,键入MYSQL文本   java扫雷器随机生成地雷算法不正确   ApacheStorm中的java并行性和告诉主管该怎么做   jvm或AWS S3端的java Max文件上载限制   java Spring安全OAuth2在成功登录后重定向到登录   当我运行jframe时,它总是显示“java.lang.NumberFormatException:空字符串”   java返回Spring MVC Post请求的JSON响应   java用户登录和密码:数据库确认   安卓的问题。getToken()java。木卫一。IOException:无效的\u目标\u版本   从Android连接到IBM Watson对话API时发生java未知模式字符“X”异常   java我们可以在春季会话超时之前设置条件吗?   java理解@MockBean与“RestTemplate RestTemplate”的用法