一把瑞士军刀用来制造氢紊乱的冰结构。

GenIce的Python项目详细描述


logo

精灵

一把瑞士军刀,用来制造氢紊乱的冰结构。

版本1.0rc5

要求

  • 网络x>;=2
  • 计数环>;=0.1.4
  • pairlist=0.2.3
  • YaplotLib=0.1
  • 努比

安装

genice注册到pypi(python包索引)。 与PIP3一起安装。

pip3 install genice

卸载

pip3 uninstall genice

用法

usage: genice [-h] [--version] [--rep REP REP REP] [--dens DENS]
              [--add_noise percent] [--seed SEED] [--format gmeqdypoc]
              [--water model] [--guest D=empty] [--Guest 13=me]
              [--Group 13=bu-:0] [--anion 3=Cl] [--cation 3=Na]
              [--visual visual] [--nodep] [--asis] [--debug] [--quiet]
              Type

GenIce is a swiss army knife to generate hydrogen-disordered ice structures.
(version 1.0rc5)

positional arguments:
  Type                  Crystal type (1c,1h,etc. See
                        https://github.com/vitroid/GenIce for available ice
                        structures.)

optional arguments:
  -h, --help            show this help message and exit
  --version, -V         show program's version number and exit
  --rep REP REP REP, -r REP REP REP
                        Repeat the unit cell in x,y, and z directions. [1,1,1]
  --dens DENS, -d DENS  Specify the ice density in g/cm3
  --add_noise percent   Add a Gauss noise with given width (SD) to the
                        molecular positions of water. The value 1 corresponds
                        to 1 percent of the molecular diameter of water.
  --seed SEED, -s SEED  Random seed [1000]
  --format gmeqdypoc, -f gmeqdypoc
                        Specify file format [g(romacs)|m(dview)|e(uler)|q(uate
                        rnion)|d(igraph)|y(aplot)|p(ython
                        module)|o(penScad)|c(entersofmass)|r(elative com)]
                        [gromacs]
  --water model, -w model
                        Specify water model. (tip3p, tip4p, etc.) [tip3p]
  --guest D=empty, -g D=empty
                        Specify guest(s) in the cage type. (D=empty,
                        T=co2*0.5+me*0.3, etc.)
  --Guest 13=me, -G 13=me
                        Specify guest in the specific cage. (13=me, 32=co2,
                        etc.)
  --Group 13=bu-:0, -H 13=bu-:0
                        Specify the group. (-H 13=bu-:0, etc.)
  --anion 3=Cl, -a 3=Cl
                        Specify a monatomic anion that replaces a water
                        molecule. (3=Cl, 39=F, etc.)
  --cation 3=Na, -c 3=Na
                        Specify a monatomic cation that replaces a water
                        molecule. (3=Na, 39=NH4, etc.)
  --visual visual       Specify the yaplot file to store the depolarization
                        paths. [""]
  --nodep               No depolarization.
  --asis                Assumes all given HB pairs to be fixed. No shuffle and
                        no depolarization.
  --debug, -D           Output debugging info.
  --quiet, -q           Do not output progress messages.

如果要在不安装的情况下使用genice,请使用/genice.x而不是genice

示例

  • 在格罗马克中制备3x3x3单位氢无序冰iv(4)的tip4p水 .gro格式:

      genice --water tip4p --rep 3 3 3  4 > ice4.gro
    
  • 制备2x2x4单元的cs2包合物tip4p水的水合物结构 在格罗马克的大笼子里的thf(具有虚拟位置的联合原子) .gro格式:

      genice -g 16=uathf6 --water tip4p --rep 2 2 4  CS2 > cs2-224.gro
    

基本知识

程序生成了各种质子无序、无缺陷的冰晶格。总偶极矩始终设置为零(指定--nodep选项的情况除外)。由于周期性边界条件下很难处理微小晶格的氢键网络拓扑结构,所以具有--rep 1 1选项的最小结构并不总是晶格的单元。请注意,根据势能,生成的结构不是最优的。

  • 要获得xyz格式的ICE IH的大量重复,

      genice --rep 8 8 8 1h --format xyz > 1hx888.xyz
    
  • 要以CIF格式获得不同氢阶的ICE V晶格,请使用-s选项指定随机种子。

      genice 5 -s 1024 --format cif > 5-1024.cif
    
  • 要获得具有不同密度且采用Gromacs格式的Tip4p水模型的冰vi晶格,请使用--dens x选项以g cm-3为单位指定密度。

      genice 6 --dens 1.00 --format g --water tip4p > 6d1.00.gro
    

Genice是一个模块化程序;它从Lattices文件夹中定义的Lattice插件读取单元单元数据,使用分子/文件夹中定义的分子插件放置水和客分子,并使用格式/文件夹中定义的格式插件以各种格式输出。您可以编写自己的插件来扩展genice。有些插件也接受选项。

包合水合物

对于包合物水合物,可以制备部分由各种客体分子占据的笼状晶格。

  • 合成含co2的tip4p水的cs1包合水合物结构 .gro格式:(60%的小笼子充满二氧化碳,40%是甲烷)

      genice -g 12=co2*0.6+me*0.4 -g 14=co2 --water tip4p CS1 > cs1.gro
    
  • 要在一个大笼子中使含有thf分子的tip5p水的cs2包合水合物结构,而只有一个笼子充满甲烷分子,首先只需运行genice而不需要客户规范:

    pip3 install genice
    
    0

    笼子列表将输出如下:

    pip3 install genice
    
    1

    这表明有两种类型的笼子命名为1216。用四氢呋喃填充16笼,并将甲烷分子放入0第12类笼中,如下所示:

    pip3 install genice
    
    2

虽然只有少数几种客体分子是预先设定的,你可以很容易地准备新的客体分子作为一个模块。下面是环氧乙烷分子的一个例子。

eo.py

pip3 install genice
3

用eo.py编写代码。在当前工作目录中创建一个名为"分子"的文件夹并将其放入。

注意:未实现多人入住。如果需要,可以用包含多个分子的虚拟分子制作一个模块。

掺杂离子

小离子可以取代宿主分子。在这种情况下,您可以使用-a-c用阴离子和阳离子替换指定水分子的选项。

下面的示例用钠离子替换第n个水分子(在复制晶格中),用氯离子替换第1个水分子。离子周围的氢键被适当地组织起来。

pip3 install genice
4

注1:阳离子和阴离子的数量必须相同。否则,ICE规则永远无法满足,程序也不会停止。

注2:还需要选项--nodep,因为不可能使含有离子的结构去极化。

注3:质子缺陷(h3o+和oh-)尚未实现。

半lathrate水合物

四丁基铵离子的放置

假设水分子的id被tba的氮所取代为零。将氮气作为阳离子,并用反离子br替换水2。

pip3 install genice
5

然后您将看到以下信息。

pip3 install genice
6

这表明氮被ID为9、2、28和7的笼子包围。这些笼子的类型也可以在信息中找到。然后,我们将bu-基团(负数不代表离子)放在这些笼中,相邻的掺杂剂是0。

pip3 install genice
7

在这里,选项-h指定分组依据-h(cage id)=(组名称):(根),根是由-c(阳离子)选项指定的氮。

在晶格模块中放置tbab

正在准备中

如果半lathrate水合物的晶格预先在适当的位置含有分子离子,则更为方便。在这里,我们将解释如何制作组装体专用模块。

分析命令

肛交是精灵的变种。analice读取gromacs文件,不修改分子取向或氢键网络拓扑。分析准备用于结构分析。

例如,如果要查看给定.gro文件的环统计信息,请按如下方式使用:

pip3 install genice
8

如果要将水模型从原来的三站点一(描述为ow、hw1和hw2)替换为tip4p-like-four-site模型,请尝试

pip3 install genice
9

所有输出格式也可用于分析。

更多示例

从一组.gro文件中每10帧加载一次,并在单独的文件中输出环统计信息。

pip3 uninstall genice
0

从给定的一组.gro文件中创建V形结构(去除水的快速平动)。

pip3 uninstall genice
1

使用分析

pip3 uninstall genice
2

输出格式

它们通常用于geniceanalice

<表><广告>名称应用程序 扩展名水溶质 < /TH>备注 < /广告><正文>`到岸价,CIF2 CIF .cif原子位置原子位置无实验性ggromacsgromacs.gro原子位置原子位置无默认格式。mmdviewmdview.mdv原子位置原子位置自动mdv_aumdview.mdv原子位置原子位置自动原子单位。oopenscadopenscad.scad质心无 O有关用法,请参阅测试/art/openscad。povray波夫雷.pov原子位置原子位置 Otowhee托希.coords(?)原子位置原子位置无xyz XYZ .xyz原子位置原子位置无实验性exyz扩展xyz.xyz原子位置原子位置无open babel中定义的扩展xyz格式exyz2扩展xyz.xyz原子位置原子位置无quip中定义的扩展xyz格式yyaplotyaplot.yap原子位置原子位置 O它渲染(1)hb路径以减少网络极化。(2)结构中的环。(3)分子构型和hb网络。eeuler欧拉角.nx3A刚性转子无无q四元数 四元数.nx4a刚性转子无无d有向图 有向图.ngph无无 O图形图表.ngph无无 O实验性。ccom质量中心.ar3a质心无无rrcom相对COM.ar3r质心无无在分数坐标系中。ppython重塑python模块.py质心无无正在开发中。\u ringstat环相统计统计测试套件1:检查环相的出现频率,作为对中程紊乱的测试。铃声环统计环数。\u千克柯克伍德G(R)统计测试套件2:计算g(r)以检查分子取向中的长程无序。

您可以准备自己的文件格式。在当前工作目录中创建名为formats的文件夹,并将插件放入其中。genice 1.0不再引用~/.genice文件夹中的文件。

在内部,有七个阶段产生冰结构。

  1. 单元格重复。
  2. 随机图形生成和复制。
  3. 应用ICE规则。
  4. 去极化。
  5. 确定水分子的方向。
  6. 将原子放入水分子中。
  7. 把原子放在客人身上。

在格式插件中,定义在处理每个阶段后调用的挂钩函数。

冰结构

<表><广告>符号说明 < /广告><正文>1H、ICE1H、IH最受欢迎的冰i(六边形)1C,ICE1C,集成电路立方型冰i< / TR>2,ICE2,II氢有序冰ii二维,ICE2D假设氢无序冰II。[Nakamura 2015]3、ICE3、III常规高压ICE III.【Lobban 1998】4、ICE4、IV亚稳态高压冰IV.【Lobban 1998】 4R具有正交单元的ICE IV。(测试)5,冰5,v单斜冰v(试验)。 5R具有正交单元的冰v。(测试)6、ICE6、VI常规高压冰vi.【Lobban 1998】 6H半格冰iv.7、ICE7、VII常规高压ICE VII.【Lobban 1998】8、ICE8、VIIIICE VIII,ICE VII的氢有序对应物。[kuhs 1998]9、ICE9、IXICE IX,ICE III的氢有序对应物。[伦敦,1993年]12、ICE12、XII亚稳态高压ICE XII.【Lobban 1998】13,ICE13,十三ICE XIII,ICE V的氢有序对应物[Salzmann 2006]16,ICE16,十六负压冰十六【Falenty 2014】17、ICE17、XVII负压冰十七【德尔罗索2016】0,冰0假设冰"0"。[俄罗斯统计局2014年]<假想冰"我"。=BCT沸石。[芬内尔,2005年]A、ICEA假设氢有序ICES"A"和"B"。[贝兹1998年]b,冰山假设氢有序ICES"A"和"B"。[贝兹1998年]C0,C0-II充冰C0(别名17)。[Smirnov 2013] C1充冰C1(别名2)。[伦敦,1988年]< 充冰C2(别名1C)。[VOS 1993]初夜装满冰块的"ST"。[斯米尔诺夫2013年]cs1,cs2,cs4,ts1,hs1,hs2,hs3包合水合物,Kosyakov的命名法。[科索沃1999年]Si、SiI、SiII、SiV、SV、SVII、SH包合水合物,杰弗里的命名法。[杰弗里1984年]< TH> Rho 假设为负压冰"SIII"。[黄2016] FAU假想的负压冰"siv"。[黄2017] EMT 假设有一个大洞的冰。[Liu 2019]DOH、MEP、MTN、SOD分别为hs3、cs1、cs2和cs4的别名。crn1、crn2、crn3四坐标连续随机网络[Mousseau 2005]结构01..结构84空间富勒烯[Dutour Sikiric 2010]A15、西格玛、HCOMP、KCOMP、Z、MU、ZRA-D、FK9层、FK6层、C36、C15、C14、Delta、PSIGMA空间富勒烯,结构的别名?系列。他们的名字见数据源。[Dutour Sikiric 2010年]>t/td>空间富勒烯T型,【Dutour Sikiric 2010】II+IVA。[Karttunen 2011年]xfau[2]、xfau[4]、xfau[16]、…Aeroices,即扩展FAU。[松井2017年]xfau2[2],xfau2[4],xfau2[16],…Aeroices,即扩展FAU。[Matsui 2017年](氢键取向被修改)制冰机部分塑料冰R【Mochizuki 2014】。ICET部分塑料冰T【平田2017】。ICET2部分塑料冰T2【Yagasaki 2018】。 DTC 含圆柱孔的超低密度冰。[松井2019年]棱镜[4],棱镜[5],棱镜[6],…冰纳米管。[Koga 2001]。

带有双引号的ICE名称未经实验验证。

你可以准备你自己的冰结构。在当前工作目录并将插件放入其中。genice 1.0不再引用~/.genice文件夹中的文件。

cif2ice是检索 沸石的cif文件来自iza结构数据库,并准备一个晶格 上述路径中的模块。

注意:不同框架中的某些结构是相同的。

<表><广告>ch/fi<冰>< fk < /th>< ZeO < /Th >< /广告><正文> Si/Td> CS1 - > a15 SII CS2 C15 MTNSIII TS1 -西格玛 - SIV HS1 - Z - SV HS2 -* -SVII CS4 -* SOD SH < -* doh < /td> C0 -* - C1 -* -< - 1C* -

FI:填充冰;CH:包合水合物;FK:Frank Kasper Duals;Zeo:沸石。

-:无对应关系;*:非FK类型。

请让vitroid@gmail.com添加新的冰结构。

水模型

可以使用--water选项选择水模型。

<表><广告>符号键入< /广告><正文>3站点tip3p3站点tip3p(默认)4站点tip4p4站点tip4picetip4p/ice5sitetip5p5站点tip5p6站点nvde6站点nvde

客体分子

<表><广告>符号键入< /广告><正文>二氧化碳 co2me联合原子单原子甲烷uatff联合原子5位thfg12g14g15g16单原子假位点保持笼子空着。

你可以准备自己的客体分子。在当前工作目录中创建一个名为molecules的文件夹,并将插件放入其中。genice 1.0不再引用~/.genice文件夹中的文件。

附加插件

(v1.0中的新功能)

一些额外的插件可以使用pip命令通过python包索引获得。

例如,可以通过以下命令安装rdf插件,

pip3 uninstall genice
3

并将其用作输出格式以获得径向分布函数。

pip3 uninstall genice
4

输出和分析插件

分析插件是一种输出插件(用-f选项指定)。它们对分析命令很有用。

<表><广告>PIP名称精灵选项 说明 输出格式 要求 < /广告><正文>genice rdf-f RDF径向分布函数。文本genice svg-f svg
-f pngSVG格式的二维图形。
…PNG格式。svg
pngsvgwritegenice vpython-f vpython使用vpython在浏览器中显示结构。(无)vpythongenice twist-f扭曲计算扭曲顺序参数(并可视化)[Matsumoto 2019]文本
svg
png
yaplottwist opgenice svg

输入插件

输入插件(又称点阵插件)按需构造晶体结构。

<表><广告>PIP名称精灵用法 说明 要求 < /广告><正文>genice到岸价Genice到岸价[到岸价]
Genice沸石[到岸价]读取本地CIF文件作为ICE结构。
从沸石DB读取结构。cif2ice

参考资料

  • L.A.Béez,P.Clancy, 化学博士Phys。1039744-9755(1998年)。 doi:10.1063/1.469938
  • 罗索,塞利,乌利维, 纳特公社2016,713394。 doi:10.1038/ncomms13394
  • 杜图尔·西基里奇先生、奥德尔加多·弗里德里希斯先生、德扎先生, 晶体学报。2010年,66602。 doi:10.1107/s108767310022932
  • 福莱蒂,T.C.汉森,W.F.库斯, 自然2014,516231。 doi:10.1038/nature14014
  • C.J.Fennell,J.D.Gezelter, 化学博士理论计算。2005年,1662年。 doi:10.1021/ct050005s
  • 平田先生,八崎先生,松本先生,田中先生, 兰缪尔33、42、11561-11569(2017年)。 doi:10.1021/acs.langmuir.7b01764
  • 黄耀昌,朱立军,王立军,曹学森,苏学森,江学森,孟学森,赵学森,曾学森, 科学进步2016,2,E1501010。 doi:10.1126/sciadv.1501010
  • 黄勇,朱立军,王立军,赵俊杰,曾庆红, 化学。Phys。莱特。2017年,671186。 doi:10.1016/j.cplett.2017.01.035
  • 杰弗里将军, 包合物中; J.L.Atwood,J.E.D.Davies,D.D.Macnicol,编辑; 学术出版社:伦敦,1984年,第一卷,第五章。
  • A.J.卡尔图恩,T.F.法斯勒,M.林诺拉赫蒂,T.A.帕克卡宁, 伊诺格化学2011,50,1733。 doi:10.1021/ic102178d
  • K Koga,GT Gao,H Tanaka,Xc Zeng, 自然412(6849),802-805。 doi:10.1038/35090532
  • V.I.Kosyakov,T.M.Polyanskaya, J. Struct。化学。1999年,40239。 doi:10.1007/bf02903652
  • WF KUHS、Jl Finney、C Vettier、DV Bliss, 化学博士Phys。813612-3623(1998年)。 doi:10.1063/1.448109
  • 刘勇,黄勇,朱建中,李海莉,赵俊杰,王立军,奥贾梅,弗朗西斯科,曾庆红, PNAS 116、12684-12691(2019年)。 doi:10.1073/pnas.1900739116
  • C.洛班,J.L.芬尼,W.F.库斯, 自然1998,391268。 doi:10.1038/34622
  • D.伦敦,W.F.库斯,J.L.芬尼, 自然1988,332141。 doi:10.1038/332141a0
  • D.伦敦,W.F.库斯,J.L.芬尼, 化学博士Phys。984878-4888(1993年)。 doi:10.1063/1.464942
  • 松井先生,平田先生,宫崎骏先生,松本先生,田中先生, 化学博士Phys。147091101(2017年)。 doi:/10.1063/1.4994757
  • T.松井,T.Yagasaki,M.Matsumoto,H.Tanaka, 化学博士Phys。150041102(2019年)。 doi:10.1063/1.5083021
  • K.Mochizuki,K.Himoto,M.Matsumoto, Phys。化学。化学。Phys。1616419-16425(2014年)。 doi:10.1039/c4cp01616e
  • N.Mousseau,G.T.Barkema, Curr。Opin。固态材料。SCI。2001年,5497。 doi:10.1016/s1359-0286(02)00005-0
  • 中村,松本,八崎,田中, J. Phys。化学。b 2015年,120年,1843年。 doi:10.1021/acs.jpcb.5b09544
  • J.Russo,F.Romano,H.Tanaka, NAT马特。2014年,13733年。 doi:10.1038/nmat3977
  • C.G.Salzmann,P.Radaelli,A.Hallbrucker,E.Mayer, 科学3111758-1761(2006)。 doi:10.1126/science.1123896
  • G.S.斯米尔诺夫,V.V.斯特盖洛夫, J. Phys。化学。莱特。2013年,43560。 doi:10.1021/jz401669d
  • 沃斯,芬格,海姆利,毛, Phys。牧师。莱特。1993年,713150年。 doi:10.1103/physrevlett.71.3150
  • T.Yagasaki,M.Matsumoto,H.Tanaka, J. Phys。化学。B 1227718-7725(2018年)。 doi:10.1021/acs.jpcb.8b04441

算法和引用方法。

我们在最近的论文中解释了制造去极化氢无序冰的算法:

M.Masakazu,T.Yagasaki和H.Tanaka,"精灵:氢紊乱" 制冰机",J.Comput.化学。3961-64(2017年)。doi:10.1002/jcc.25077

如何贡献

从2015年起,Genice作为一个开源软件在GitHub(https://github.com/vitroid/genice/" rel="nofollow">https://github.com/vitroid/genice/)提供服务。我们衷心感谢您的反馈、改进和扩展建议以及错误修复。也欢迎开发人员和测试用户。请告诉我们是否有已发布但不在genice中的ice。

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

推荐PyPI第三方库


热门话题
面向批处理的java非阻塞队列   java如何基于HttpComponent获取html内容   java为什么我的程序会显示此错误?   java spring控制器如何处理应用程序/octetstream请求?   尝试将数据插入数据库时出现java常规错误   无法在java多线程处理中维护生产者任务的顺序   java为什么JSON数据无法访问ViewPager?   java获取Maven中特定分支的SVN buildnumber   java客户端无法从服务器接收信息   java等轴测地图绘制,生成   java无法调试ProcessBuilder   java热点JVM阵列分配   在数组中存储“inputdialog”数据的java   saml Java Inflater引发DataFormatException“无效代码长度集”   从集合(爬虫、Jsoup、Java)写入文件