用人工神经网络编码集体变量

anncolvar的Python项目详细描述


| pypi anaconda buildstatus codecov lgtm lgtmpy


阅读
d.trapl,i.horva奇anin,v.mare_ka,f._z_elik,g.unal和v.spiwok中的更多内容:`anncolvar:用人工神经网络对复杂集体变量的近似,用于分析和分子模拟的偏差<;https://www.frontiersin.org/articles/10.3389/fmolb.2019.00025/>;``前台。分子生物学。*2019,**6**,25(doi:10.3389/fmolb.2019.00025)


*****
*****



人工神经网络的集合变量::


用法:anncolvar[-h][-i infile][-p intop][-c colvar][-col col]
[-boxx][-boxy-boxy-boxy][-boxz boxz][-nofit nofit]
[-testset testset][-shuffle shuffle][-layers]
[-layer1 layer1][-layer2 layer2][-layer3 layer3]
[-actfun1 actfun1][-actfun2 actfun2][-actfun3 actfun3]
[-optim optim][-损失损失][-时期时期][-批处理]
[-o文件][-modelfile模型文件][-plumed plumedfile]


分子系统集合变量的人工神经网络学习,需要numpy、keras和mdtraj

-帮助显示此帮助消息并退出
-i在pdb、xtc、trr、dcd、netcdf或mdcrd中填充输入轨迹,
警告:轨迹必须为1。必须只包含要分析的
原子,2。不得包含任何周期边界
条件问题!
-p进入PDB中的输入拓扑,警告:结构必须是1。
位于PBC框和2的中心。必须只包含要分析的
原子!
-c colvar以文本格式输入集合变量文件,必须
包含与
轨迹中的帧相同的行数
-col col包含集合变量的列的索引
在输入的集合变量文件中,PBC框的X坐标大小(从0到
nm中的设定值)
-PBC框的Y坐标大小(从0到
nm中的设定值)
-boxZ框PBC框的Z坐标大小(从0到
nm中的设定值)
-不适合不适合拟合,轨迹必须正确拟合
(默认为假)
-测试集测试集测试集大小(轨迹的分数,默认值=
0.1)
-随机洗牌-随机洗牌轨迹帧以获得训练和测试
设置(默认值为true)
-层隐藏层数(允许值1-3,默认值=
1)
-层r1第1层第一个编码层的神经元数量(默认值=
256)
-第2层第2个编码层的神经元数量(默认值
=256)
-第3层第3个编码层的神经元数量(默认值=
256)
-actfun1 actfun1第一层激活函数(默认值=
sigmoid,选项见keras文档)
-actfun2 actfun2第二层激活函数(默认值=
线性,有关选项,请参阅keras文档)
-第三层的actfun3 actfun3激活函数(默认值=
线性,有关选项,请参阅keras文档)
-optim optimizer(默认值=adam,有关选项,请参阅keras
文件)
-损失损失函数n(默认值=均方误差,有关选项
请参阅Keras文档)
-各时期的时期数量(默认值=100,>;对于实际应用程序,可能需要1000个时期)
-批次批次批量大小(0=无批次,default=256)
-o具有原始和近似集合的文件输出文件
变量(txt,默认值=无输出)
-输出模型文件的模型文件前缀(实验,默认值=
无输出)
-plumed pplumed的lumedfile输出文件(默认值=plumed.dat)


Introduction
==



偏置模拟(如元动力学)使用预定义的参数集
作为集合变量。在集合变量
上施加人工偏压以增强采样。参数作为集合变量应用有两个条件。首先,可以仅从原子坐标计算集合变量的值。其次,作用在集体变量上的力可以转化为作用在单个原子上的力。换言之,用原子坐标计算集体变量的一阶导数是可能的。这两种计算都必须足够快,因为在模拟的每一步中都必须对它们进行评估。


有许多潜在的集体变量不容易计算。
有可能计算成百上千个
结构的集体变量。t不适用于数百万个结构(这对于纳秒长的模拟是必要的)。*anncolvar*可以使用
神经网络来近似这些集合变量。

为此,请遵循以下链接之一:

-tensorflow
-theano
-cntk

-c spiwokv anncolvar

usage
=



一系列具有代表性的结构(数百个或更多)使用预先计算的集合变量值
来训练神经网络。用户可以在pdb、xtc、
trr、dcd、netcdf或mdcrd中以轨迹的形式指定引用结构的输入集(*-i*)。轨迹必须仅包含要分析的原子
(例如,仅包含非氢原子)。轨迹不能包含任何周期性的边界条件问题。这两种转换都可以通过分子动力学模拟软件包实现,例如*gmx trjconv*。无需将
框架与参考结构匹配。可以通过
*-nofit true*


来关闭配件,必须在PDB中提供输入拓扑。这是一个用作拟合模板的结构。它还用于定义一个框。这个盒子必须大到足以把分子放入轨道的所有框架中。它不应该太大,因为这会抑制神经网络的非线性。当用户决定使用3x3x3nm盒时,有必要将要居中的分子置于坐标(1.5,1.5,1.5)nm处。在gromacs中,可以使用::
gmx editconf-f mol.pdb-o reference.pdb-c-box 3 3
它还必须只包含要分析的原子。框的大小可以通过参数*-boxx*、*-boxy*和*-boxz*(以nm为单位)指定。它是一个空格分隔的文本
文件,其行数与输入轨迹中的帧数相同。
列的索引可以由*-col*指定(例如,*-col 2*用于文件的第二列


选项*-test set*可以控制用作
测试集的轨迹部分。例如*-test set 0.1*表示10%的输入数据用作测试集
,90%用作训练集。选项*-shuffle true*使
前90%用作训练集,其余10%用作测试集。
否则,在将帧分离到训练集和测试集之前,将对帧进行shuffle。

层包含3n个神经元(其中n是原子数)。隐藏层的数量由*-layers*控制。这可以是1、2或3。对于较高的
层数,请联系作者。第一层、第二层和第三层的神经元数量由*-layer1*、*-layer2*和*-layer3*控制。使用等于2(32、64、128等)幂的层数是有用的。大量的神经元会导致程序运行缓慢或内存不足。神经元的激活
功能可以由*-actfun1*、*-actfun2*和*-actfun3*控制
任何由keras支持的激活功能都可以使用。

训练过程中使用的优化器可以由*-optim*控制。
默认的adam优化器(*-optim adam*)工作良好。损耗函数可以由*损耗*控制。默认的*-损失平均值_平方_error*工作良好。
可以由*epochs*控制epochs的数量。默认值(100)是
非常小,通常>;1000对于实际应用程序是必需的。批
大小可以由*-batch*控制(没有批的*-batch 0*默认为256)。

它包含集合变量的近似值和初始值。模型可以存储在文本文件的
集中(try*-model*)。输入文件被打印到由*-plumed*(默认为plumed.dat)控制的文件中。该文件可直接用于计算由*plumed driver*或由*plumed patched*分子动力学引擎产生的集合变量的演化。要在增强采样中使用集合变量
(例如metadynamics),需要添加适当的关键字(例如
metad)。

。| pypi image::https://img.shields.io/pypi/v/anncolvar.svg
:target:https://pypi.org/project/anncolvar/
:alt:pypi上发布的最新版本

。| anaconda图片::https://anaconda.org/spiwokv/anncolvar/badges/version.svg
:目标:https://anaconda.org/spiwokv/anncolvar
:alt:在anaconda云上发布的最新版本

。|构建状态图像::https://travis-ci.org/spiwokv/anncolvar.svg?branch=master
:目标:http://travis ci.org/spiwokv/anncolvar/
:alt:travis ci

Mac/Linux上主分支的生成状态。| codecov图像::https://codecov.io/gh/spiwokv/anncolvar/branch/master/graph/badge.svg
:目标:https://codecov.io/gh/spiwokv/anncolvar/
:alt:code coverage

。| lgtm图像::https://img.shields.io/lgtm/alerts/g/spiwokv/anncolvar.svg?logo=lgtm&logowdth=18
:目标:https://lgtm.com/projects/g/spiwokv/anncolvar/alerts/
:alt:lgtm代码警报

| lgtmpy图像::https://img.shields.io/lgtm/grade/python/g/spiwokv/anncolvar.svg?logo=lgtm&logowdth=18
:目标:https://lgtm.com/projects/g/spiwokv/anncolvar/context:python
:alt:lgtm python质量

_ TensorFlow:https://www.tensorflow.org/install/

…_ theano:http://deeplearning.net/software/theano/install.html

…_ CNTK:https://docs.microsoft.com/en-us/cognitive-toolkit/setup-cntk-on-your-machine

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

推荐PyPI第三方库


热门话题
java接口中的每个方法都是抽象的,但在抽象类中,我们也只能使用抽象方法   初始化Java中声明的、未初始化的变量会发生什么情况?   java BouncyCastle openPGP将字节[]数组加密为csv文件   在Java中将类A(和所有子类)映射到类B的实例的字典   RSA公钥编码,在Java和Android中,代码相同,结果不同   java在安卓中实现数字检测语音识别   java取消选择复选框   java如何在其他配置中重用Maven配置XML片段   java有没有一种有效的方法来检查HashMap是否包含映射到相同值的键?   spring处理程序调度失败;嵌套的例外是java。lang.NoClassDefFoundError:org/apache/http/client/HttpClient   带有ehcache的java多层缓存   java如何访问chromium(或任何其他浏览器)cookie   java通过将两个集合与spring data mongodb data中的条件合并来获取计数   安卓中R.java的语法错误