美文网首页分子模拟
同源建模从入门到精通开发篇(二)

同源建模从入门到精通开发篇(二)

作者: 生信杂谈 | 来源:发表于2017-05-28 21:08 被阅读43次

上期我们做了一个DOPE评分功能的内容,虽然封装了模块化,但是仍然没有达到我们GUI的效果,python GUI比较有名为pyqt,wxpython以及tkinter,之前使用tkinter开发过许多内容,pymol许多功能同样是使用tkinter和pmw模块完成,不得不佩服python的巧夺天工,但缺点就是界面丑,所以想借此机会使用wxpython进行完成。[注:阅读此文档需要有wxpython基础]
首先需要考虑的是matlibplot与wxpython的桥接,matlibplot本身与wxpython有通讯通道,但是有人对其进行了封装,名为wxmplot,我们可以进行pip简单安装:

pip install wxmplot

具体内容可以查看官方文档,其有一个PlotFrame方法用以展示图片,oplot画线图,scatterplot画点图,虽然没有matlibplot功能强大,对于我们够用。我们首先看官方的例子:

code1
可以看出与matplotlib作图并无差别,仅将函数修改,故我们将我们之前文章制作的两个模块进行修改。 code2
Plotfig为原绘图模块,我们暂时保留备用,新的绘图模块为MxPlotfig.
第二步我们进行Dope读取文件的框架设计,如图: fig1

主要是比较文件(单个)与dope绘图数据文件(单个或多个)的读入。然后是绘图与删除按钮。故采用wxpythonBoxsizer进行界面布局。

code3

其中对模块用bind将函数与构建桥接。这个如果熟悉wxpython应该是比较简单的。
接下来我们编写选择单文件与选择多文件函数。

code4

两个都是FileDialog,一个为单文件读取,一个为多文件读取,其余一样,选择后我们将值付给之前设计的文本框,当选择文件后,值将显示在文本框中,最后我们进行计算函数的设计。

code5
这一块自己还是没有设计的很好,比较死板,第一为必须有比较文件的输入,后期需要写个if判定,第二就是文件名必须在比对文件中找到,否则会读取错误。但是基本还是实现了内容,后期再进行修改。最后进行类的包裹与初始函数的读取。 code6

这样DOPE模块的GUI已经写好了,虽然不完美,但是基本内容都已经实现了。我们来一起看看我们的成果把
首先是读入界面:


读入文件

然后是绘图:

绘图示例

wxmplot本身带了图形的设置保存等等功能。

图形设置

更多原创精彩内容敬请关注生信杂谈

相关文章

网友评论

    本文标题:同源建模从入门到精通开发篇(二)

    本文链接:https://www.haomeiwen.com/subject/odbhfxtx.html