生物分子模拟论坛

 找回密码
 我想注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4190|回复: 6

[Python] 分割mol2格式小分子文件的python脚本

[复制链接]
发表于 2012-12-26 13:36:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,下载更多分子模拟资源。

您需要 登录 才可以下载或查看,没有帐号?我想注册

x
本帖最后由 飞毛腿 于 2012-12-26 19:49 编辑

python写的分割mol2格式小分子文件的脚本。
需要python才能运行(python3可能不能运行,没有测试)。

使用方法:命令行里运行:./split_mol2.py mols.mol2 2000    将mols.mol2分割为很多包含2000个小分子的mol2文件,文件名和分子个数可以根据自己需要修改。

如果使用过程中遇到问题,或者有什么建议,请联系我。

split_mol2.zip

539 Bytes, 下载次数: 108

发表于 2012-12-26 14:35:33 | 显示全部楼层
腿哥V5,maker一个,还好是2.7
发表于 2012-12-27 04:09:23 | 显示全部楼层
本帖最后由 eming 于 2017-10-21 09:57 编辑

自己写脚本的确能提高自己的能力。这里提供另外一个思路。
只是one by one
mkdir splited_doc
cd splited_doc
babel ../filename.mol2 file_split.mol2 -m
# or can be done by
csplit -b '%d.mol2' -f file_split ../filename.mol2 '/@<TRIPOS>MOLECULE/' '{*}'

for i in file_split*
do
  mv $i $(grep -A1 '@<TRIPOS>MOLECULE' $i|grep -v '@<TRIPOS>MOLECULE').mol2
done

#or by awk
awk -v RS="@<TRIPOS>MOLECULE" 'NF{ print RS$0 > $1".mol2"  }'  filename.mol2
发表于 2013-1-23 19:14:16 | 显示全部楼层
我补一个perl 脚本

#!/usr/bin/perl -w
open FH,"E:/mol2/cnpd.mol2";#拆分的分子的路径
        $i=0;
while(<FH>){

        if ($_=~/@<TRIPOS>MOLECULE/)
        {
                $i++;
                #print "$i\n";
                $newname="segment"."$i.mol2";
                open FG ,">>E:/mol2/segs/$newname";#//拆分后的分子
               
        }
       
        if($newname=~/$i/){
                #print "yes";
                print FG $_;
        }
       
       
}
发表于 2014-5-3 12:07:00 | 显示全部楼层
谢谢分享脚本
发表于 2014-12-5 22:16:10 | 显示全部楼层
可以用LeFrag(http://lephar.com)来分割小分子,命令行:lefrag -spli yourMol2.file。这个命令会把文件里面每个Mol2小分子提取出来,每个单独小分子文件的名称是小分子Mol2里面的分子名称。提取几十万个分子不到一分钟,基本没有内存需求。

做虚拟高通量筛选使用ZINC数据库的朋友可能注意到一个ZINC分子可能多个质子化状态或手性结构,但是所有这些不同构象对应的ZINC是相同的。LeFrag在分割数据库时候会判断每个分子的多种构象,如果存在其它构象,会依次命名为“ZINC*****_1.mo2, ZINC*******_2.mol2"等等,不会覆写不同的构象。

LeFrag还有很多高级功能,譬如Scaffold hopping,切割分子成分子片段。
您需要登录后才可以回帖 登录 | 我想注册

本版积分规则

QQ|分迪科技|小黑屋|手机版|Archiver|生物分子模拟论坛 ( 蜀ICP备14009200号-3

GMT+8, 2018-8-21 15:46 , Processed in 0.202873 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表