python - 将 mol2 分子数据库拆分为 N 个较小的集合

标签 python bash

我从锌数据库 ( 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/

相关文章:

python - 如何使用变形网格扭曲图像

linux - 如何从其他 shell 切换到 bash shell?

bash - 正则表达式和/或 sed 替换小写字母

linux - 如何设置在 Linux 机器上运行的服务要使用的环境变量

linux - 创建允许自动完成的 bash 别名

python - 取决于类实例中的值

python - 如何加快 Spacy 的 nlp 调用?

python - 如何从推文中提取 screen_name 并使用它来获取该用户过去的所有收藏夹?

python - Python 中的 StringTranslate() 函数

arrays - bash:将大括号处的文本文件拆分为数组