拆分大sdf文件并删除分子属性数据
1. OpenBabel拆分sdf文件
使用openbabel来拆分大的sdf文件为单独的sdf文件,可下载安装openbabel
babel test_opt.sdf --split -aT -osdf
将会输出以每个分子第一行中定义的分子名称为file name
后期实测并不好用,很多sdf为空
2. shell脚本拆分含有多个sdf小分子的大文件
2.1 拆分文件,并取分子名称(sdf文件第一行)为每个分子命名
运行split_sdf.sh
脚本
bash split_sdf.sh test.sdf
下面为提交拆分计算脚本split_sdf.sh
#读取sdf文件
sdf_file=$1#读取大的sdf文件中以`$$$$`为分割段落的行数
cat ${sdf_file}|grep -n "\\$\\$\\$\\$"|awk -F ':' '{print $1}' >end_num.txt#循环读取分割行数来拆分sdf文件,并以每个分割后的sdf文件的第一行重新命名该文件
j=1
for i in `cat ./end_num.txt`
do sed -n "${j},${i}p" ${sdf_file} >${i}.sdfj=$[$i + 1]file_name=`sed -n '1p' ${i}.sdf`mv ${i}.sdf ${file_name}.sdf
done
rm -f ./end_num.txt
2.2 拆分文件,并根据原始文件名依次加序号命名拆分后的文件
运行split_sdf.sh
脚本
bash split_sdf.sh test.sdf
split_sdf.sh
脚本的内容
#读取的sdf文件
sdf_file=$1#读取大的sdf文件中以`$$$$`为分割段落的行数
cat ${sdf_file}|grep -n "\\$\\$\\$\\$"|awk -F ':' '{print $1}' >end_num.txt#循环读取分割行数来拆分sdf文件,并根据原始文件名依次加序号命名拆分后的文件
j=1
for i in `cat ./end_num.txt`
dosplit_sdf=`basename ${sdf_file} .sdf`sed -n "${j},${i}p" ${sdf_file}>${split_sdf}_${j}.sdf((j=j+1))
done
rm -f ./end_num.txt
3. 删除sdf文件中的分子属性信息
sdf文件中的分子属性如下所示
<r_lp_tautomer_probability>
1
3.1 sed删除所有属性
sed '/>.*>/,+2d' test.sdf
3.1 OpenBabel 删除指定属性
babel -isdf test.sdf --delete “r_lp_tautomer_probability” -osdf test_delete.sdf
拆分大sdf文件并删除分子属性数据相关推荐
- 【word】使用VBA代码,自定义页面数拆分大Word文件为多个小文档并指定名称保存
使用VBA代码,自定义页面数拆分大Word文件为多个小文档并指定名称保存 alt+F11打开开发选项-->选择[插入]-->[模块]-->弹出代码编辑窗口,插入下面代码,按照需要修改 ...
- Visual Studio 2010工程目录下的ipch文件夹和.sdf文件
使用VS2010建立C++解决方案时,会生成SolutionName.sdf和一个叫做ipch的文件夹,这两个文件再加上*.pch等文件使得工程变得非常的庞大,一个简单的程序都会占用几十M的硬盘容量, ...
- VS工程目录下的ipch文件夹和.sdf文件
Visual Studio 2010工程目录下的ipch文件夹和.sdf文件 - web8 - 博客园 http://www.cnblogs.com/web100/archive/2012/12/21 ...
- python读取大文件-Python如何读取、拆分大文件
简述 最近和第三方数据接触较多,数据量也开始陡增,从一开始的1KW行,最大到了1亿行,这让我这个常年处理"小数据'的人有点捉襟见肘.本来数据放在hive中也是可以操作的,但是有时候需求是做一 ...
- 使用python批量下载需要的分子的SDF文件
使用python批量下载需要的分子的SDF文件 这里需要借助python的第三方库pubchempy (可以使用pip安装:pip install pubchempy) 首先定义文件的路径(这里的文件 ...
- python拆分大文本(.txt)文件
系列文章目录 文章目录 系列文章目录 前言 一.python拆分大文本文件 1.源码 二.可能遇到的问题 1.原因排查 2.问题解决 三.拆分源码二 总结 前言 提示:以下是本篇文章正文内容,以拆分密 ...
- ipch文件夹和.sdf文件
ipch和sdf介绍: 在使用Visual Studio 2012开发C++程序的时候,会发现有一些奇怪的文件被创建出来,比如一个叫ipch的文件夹,和一个与工程同名的.sdf文件,而且ipch下面的 ...
- vs2010的sdf文件和ipch文件夹
From: http://hi.baidu.com/vcdashi/blog/item/f25a3511afbf136bcb80c40e.html vs2010打开某个工程 ,转换成功之后,在工程目 ...
- matlab删除mat中的个别变量,从.mat文件中删除变量
10GB的数据?由于MAT格式开销,更新多变量MAT文件可能会变得昂贵.考虑将数据拆分并将每个变量保存到不同的MAT文件中,必要时使用组织目录.即使您有一个方便的函数来从MAT文件中删除变量,它也将是 ...
最新文章
- leetcode 解压缩_谁说 Python 的 shutil 不支持 7z 解压缩,我来教你扩展它的功能!...
- python字符串/元组/列表/字典互转
- Swift监听网络状态
- 测试php数字范围_你不知道的接口测试之拾遗
- Hbase 预写日志WAL处理源码分析之 LogCleaner
- 离散实验偏序关系满足实验报告C语言,离散数学实验三:偏序关系中盖住关系的求取及格论中有补格的判定...
- 11个提升编程能力的小方法
- 独占一行 html_HTML基础-语义化标签
- 00020970-0000-0000-C000-000000000046
- HeapSort 堆排序
- zend studio一些常用配置
- 【解决】打印机只打印第一页纸的问题
- 森林病虫防治系统 (二.1)
- 心情随笔之纸包子假新闻 [2007年7月25日]
- nodejs mysql嵌套查询_nodejs+mysql嵌套查询的问题
- Typora上传图片终于解决了
- 女生自学计算机方向建议
- LoadRunner性能测试实战教程
- 3D打印无人机等无人设备2——Ultimaker Cura 3.2.1设置中文
- 20春招机器学习、数据开发、NLP岗面经