未知

mathchem的Python项目详细描述


##什么是Mathchem?

mathchem是一个免费的开源python包,用于计算分子图的拓扑指数和其他不变量。

github:https://github.com/hamser3d/mathchem package>;
项目主页:<;http://mathchem.iam.upr.si/>;

该软件包是在mac os x下测试的。由于该软件包不包含编译代码,因此它是跨平台的,可以在任何与python兼容的操作系统中使用。

/>~~~~~~~~~~~~~~~~~~~~{.python.numberlines}
python
>;>;将mathchem导入为mc
>;>;m=mc.mol('ghch?_)
>;>m

8个顶点上的分子图

>;>m.拉普拉斯矩阵()

[0,0,0,--0,--0,0,--0,0,0,0,0,--1,2,--1,0,0,0,
[0,0,0,0,0,--1,1,0,0,0,
[0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,
[0,0,0,0,0,0,0,0,0,1]])
>>>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

在当前状态下,使用结构数据初始化MOL实例对象的唯一方法是将*graph6*或*sparse6*字符串作为参数:`m=mc.mol('ghch?'')稍后将添加对*smiles*格式的支持。

第二个模块**实用程序**包含一些有用的功能。目前只有一个函数"batch_process(infile,outfile,function)",它允许轻松读取字符串所列的文本文件,将读取的数据传递给函数,并将返回值写入另一个文件。这里有一个使用示例:

~~~~~~~~~~~~~~~~~~~~~~~{.python.numberlines}
将mathchem导入为mc

def计算拉普拉斯能量:
m=mc.mol
返回m.energy('laplacian')

u.batch过程('graphs.g6','result.txt',calc计算拉普拉斯能量)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


执行此代码后,我们可以为"graphs.g6"*文件中列出的所有图找到计算拉普拉斯能量,作为"graph6"字符串,位于"result.txt"*。事实上,我们只是将函数*计算拉普拉斯能量*应用到文件的每一行*"graphs.g6"*并将结果写入*"result.txt"*。



/>*距离
*阻力距离
*倒数距离

~~~~~~~~~~~~~~~~~~~~~~~~~~~{.python.numberlines}
>;>;将mathchem导入为mc
>;>;m=mc.mol('ghch?_
>gt>gt;m.距离矩阵([[0,1,1,2,3,4,5,3,3,4],
[1,0,1,2,3,4,2,3],
[2,1,0,1,2,3,1,2,1,2,1,2,2,2,2,1],
[3,2,2,2,1],
[3,2,1],
[4,2,2,1,1,3,2],
[5,4,3,3,2,1,1,3,2],
[5,4,4,3,3,2,2,1,1,1,3,1,2],
[5,4,0岁,4,3],
[3,2,1,2,2,3,3,4,0,0,3],
[4,3,2,1,2,2,3,3,3,3,0]]]]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~光谱半径
*能量
*关联能量

计算拓扑指数:

*萨格勒布m1指数
*萨格勒布m2指数
*萨格勒布m1共指数
*萨格勒布m2共指数
*连接性指数(r)
*偏心连接性指数
*随机指数
*原子键连接性指数(abc)
*所有矩阵的estrada索引(ee)
*distance-estrada指数(dee)
*距离度(dd)
*反向距离度(rdd)
*(schultz)分子拓扑指数(mti)
*距离和
*balaban j指数
*和balaban指数
*kirchhoff指数(kf)或电阻
*wiener指数(w)
*末端wiener指数(tw)
*反向维纳指数(rw)
*超维纳指数(ww)
*原始指数(h)
*和连接性指数
*几何算术指数
*乘法和萨格勒布指数
*乘法p1萨格勒布指数
*乘法p2萨格勒布指数
*148个离散亚得里亚海指数

~~~~~~~~~~~~~~~~~~~~{.python.numberlines}
>;>;将mathchem导入为mc
>;>;m=mc.mol('ghch?_)
>;>m.反向维纳指数(

72

>;>m.谱();默认使用的邻接矩阵
[2.095293985223914,1.355674293978083,0.7376403052281872,0.4772599964740198,
-0.4772599964740197,-0.7376403052281874,-1.35567429399780824,-2.095293985223914]

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~br/>>>>>m=mc.mol('ghch?_
>>gt;m.degrees()
[1,2,3,3,3,3,2,1,1,1,1,1]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~pip安装mathchem打开:
numpy

在您的sage程序中,请使用se**mathchem**:

sage:import mathchem as mc
sage:m=mc.mol('ghch?_)
sage:s=m.sage嫒graph()
sage:s.show()





sage
sage
sage是GPL授权的免费开源数学软件系统。它将许多现有开源软件包的强大功能结合到一个通用的基于python的界面中。



出于性能原因,我们仅在需要时计算数据,然后保存结果。

例如,我们希望基于距离计算三个指标,例如,*偏心连接指数*、*巴拉班j指数*和*维纳指数*。这意味着我们需要一个*距离矩阵*,我们只计算一次然后使用它:

~~~~~~~~~~~~~~~~~~~~{.python.numberlines}
>;>gt;将mathchem导入为mc
>;>m=mc.mol('ghch?_)
>;>;在计算第一个索引之前,只计算一次*距离矩阵*。

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

推荐PyPI第三方库


热门话题
java SimpleFramework和工厂方法   Java适当地处理异常   java单例类不起作用   java小程序和Swing在eclipse中不显示组件   多个键上的java Redisson FastRemove不起作用   java验证请求正文不等于模式   在Java中从URL读取数据   eche RecyclerView项的java Set自定义字体   string Java如何从Date获取HH:mm:ss   当Java应用程序落后于负载均衡器时,在某些URL上强制使用SSL   使用esapi时发生java错误   java使用流根据第二个列表中的值更新一个列表中的对象   组织。openqa。硒。Java中的NoTouchElementException WebDriver?   从JSON字符串Java创建CSV文件