摘要:
本文介绍了详细的在Linux机器上使用wget命令行下载某度网盘中共享的加密文件,用这种相对低成本的平台来存放一些大文件,相比于免费的Gitee和Github等大型开源管理平台还是要稳定一些。因为可以直接命令行下载,那么就可以直接把下载脚本写到python开源库的setup文件中,便于实现自动化的安装。 阅读全文
摘要:
本文介绍了Julia这一主要面向自然科学的编程语言的基本安装与使用,建议读者最好在熟练使用Python的前提下再阅读本文。如果是对Python的语法非常熟悉的人,应该很容易看懂本文并初步掌握Julia的基本语法和使用逻辑。Julia最吸引人的地方在于他简单如Python的语法,但兼具了C++和Fortran的高性能。但是缺点也非常明显,作为一门新的编程语言,受众又少,没有太多的轮子可以用。反过来想,也很适合用来开发一些新的轮子。 阅读全文
摘要:
Github访问受限,是国内众多IP所经常面临的问题。这里我经过大量的踩坑之后,还是认为使用Gitee将Github的仓库直接同步过来,作为一个私有的镜像,是最便利高效的方法。当然,这个只能满足日常使用第三方库的需求,治标但不治本,对于那些仅仅只是想使用某些Github仓库代码的童鞋来说,也是完全够用了。 阅读全文
摘要:
本文介绍了在Python的numpy框架下计算近邻表的两种不同算法的原理以及复杂度,另有分别对应的两种代码实现。在实际使用中,我们更偏向于第二种算法的使用。因为对于第一种算法来说,哪怕是一个10000个原子的小体系,如果要计算两两间距,也会变成10000*10000这么大的一个张量的运算。可想而知,这样计算的效率肯定是比较低下的。 阅读全文
摘要:
更好的管理系统进程,是每一个程序员的进阶必经之路。尤其是使用多进程、多用户的场景,系统内的进程是非常混乱的。如果在运行程序时都能控制好进程名称,那么就可以直接通过进程名称来监管和控制进程的执行和输出。本文介绍了setproctitle这样一个工具的简单使用,可以在python代码内部对进程进行管理。 阅读全文
摘要:
本文介绍了在Python中使用偏函数partial的方法,并且介绍了两个使用partial函数的案例,分别是concurrent并行场景和基于jax的自动微分场景。在这些相关的场景下,我们用partial函数更多时候可以使得代码的可读性更好,在性能上其实并没有什么提升。如果不想使用partial函数,类似的功能也可以使用参考链接中所介绍的方法,实现一个装饰器,也可以做到一样的功能。 阅读全文
摘要:
本文介绍了一个工具tracemalloc,可以在Python代码的执行过程中对每一步的内存占用进行记录。 阅读全文
摘要:
解决Python编程中可能出现的“段错误(核心已转储)”,并没有其他任何提示信息的问题。 阅读全文
摘要:
本文介绍了最新的一些分子力场中有可能使用到的1-5相互作用——双二面角耦合项的计算。而常规的计算方式是,通过量化的计算得到每一个Residue的α碳对应的两个二面角的数值在空间中的离散化数值。然后在分子模拟的过程中使用插值的方案,对相关的条目进行计算,例如使用双三次样条插值。但其实这种插值算法的使用有可能导致一些其他的问题,比如深度学习中可能会经常提到的“过拟合”问题。由于这个条目本身就只是一个修正项,从数值大小上来说并不算大,因此这些细节是否需要优化还有待商榷。 阅读全文
摘要:
本文主要介绍了如何使用Amber来计算一个给定分子构象的pdb文件的单点势能值。基本流程可以分为三个步骤:首先从力场文件中去寻找对应于输入构象的力场参数,然后配置一个执行参数文件,最后使用这些保存下来的文件来计算分子单点能。 阅读全文
摘要:
解决使用Jupyter Notebook打开ipynb文件时报错'500 : Internal Server Error'的问题,亲测可用。 阅读全文
摘要:
当我们需要优化程序性能的时候,首先我们就需要了解程序的主要耗时模块在哪里,也就是通常所谓的决速步,或者瓶颈模块,这样就可以有针对性的去进行优化。在MindSpore相关的程序中,我们可以使用MindInsight这一强力的性能分析可视化工具来进行分析。该工具会给出每个算子的调用次数以及总耗时等参数,能够给性能优化带来不少重要的参考。 阅读全文
摘要:
本文主要介绍了在MindSponge中使用SETTLE和Lincs约束算法的方法,以及相关算法的简单原理。SETTLE约束算法主要应用于水分子体系,限制的是一个等腰三角形的拓扑结构,特点是可并行,性能较好。Lincs约束算法更多的被应用在蛋白质体系,主要限制的是每一个共价键的键长,特点是适用体系比较灵活,但总体计算量较大,且不可并行化。 阅读全文
摘要:
在经过前面几篇博客的介绍之后,我们可以定义一些目标的分子体系,并且计算其单点能。而分子模拟的精髓就在于快速的迭代和演化,也就是本文所要介绍的迭代器相关的内容。在具备了分子系统、单点能和迭代器这三者之后,就可以正式开始进行分子动力学模拟。常见的模拟过程有:能量极小化、NVT恒温恒容过程、NPT恒温恒压过程以及NVE微正则系综,本文所涉及的主要是能量极小化以及NVT恒温恒容过程,更多的模拟方法有待大家一起研究探讨。 阅读全文
摘要:
本文主要衔接前面的文章,继“MindSponge的安装与使用”、“MindSponge软件架构”以及“MindSponge中定义一个分子系统”系列文章之后,再讲解一下如何根据一个定义好的分子系统进行力场建模,使用力场来计算单点能,就是一个比较简单的案例。 阅读全文