我从锌数据库(http://zinc.docking.org/)中得到了一大组mol2(http://tripos.com/index.php?family=modules,SimplePage,,,&page=sup_mol2&s=0)格式的分子。我希望能够将这个数据库拆分成一组任意的N个较小的数据库。在python、bash或perl中,最好的脚本编写方法是什么?我读过关于openbabel的文章,但它只能生成一组独立的分子。
如果没有,我还可以将mol2转换为另一种更方便的格式
塔克人

最佳答案

csplit可以将文件分离为单个分子:

csplit ~/Download/zinc.mol2 '/@<TRIPOS>MOLECULE/' '{*}'

如果你想要更聪明的东西,那么你可以把每个分子读入一个列表或数组作为一个字符串,然后在每个文件中吐出你喜欢的数量。

09-12 17:48