open babel:如何创建多个输出文件(拆分输入)?

时间:2015-04-16 13:23:04

标签: openbabel

我有一个包含同一分子的多个构象异构体的.pdb文件。现在我想将每个conformer转换为一个单独的.xyz文件。根据开放式babel帮助,可以使用-m选项完成。

-m Produces multiple output files, to allow:
   Splitting: e.g.        babel infile.mol new.smi -m
    puts each molecule into new1.smi new2.smi etc
   Batch conversion: e.g. babel *.mol -osmi -m
    converts each input file to a .smi file

但这只会转换第一个几何体然后停止:

babel -ipdb confs.pdb -oxyz test.xyz -m
  1 molecule converted
  14 audit log messages

(在Ubuntu和OSX上测试开放的babel 2.3.2)

是否有任何建议如何解决该问题或使用哪个程序?

1 个答案:

答案 0 :(得分:0)

使用以下linux命令分割pdb文件:

grep -n 'MODEL\|ENDMDL' models.pdb | cut -d: -f 1 | \
 awk '{if(NR%2) printf "sed -n %d,",$1+1; else printf "%dp models.pdb > model_%03d.pdb\n", $1-1,NR/2;}' |  bash -sf

输入文件为models.pdb,拆分文件将命名为model_0001.pdb,model_0002.pdb ... etc

此处有更多详细信息:https://strucbio.biologie.uni-konstanz.de/ccp4wiki/index.php/Split_NMR-style_multiple_model_pdb_files_into_individual_models

相关问题