我从锌数据库 ( 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/' '{*}'
如果您想要更聪明的东西,那么您可以将每个分子作为字符串读入列表或数组,然后将任意数量的分子输出到每个文件中。
关于python - 将 mol2 分子数据库拆分为 N 个较小的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1979497/