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文件并删除分子属性数据相关推荐

  1. 【word】使用VBA代码,自定义页面数拆分大Word文件为多个小文档并指定名称保存

    使用VBA代码,自定义页面数拆分大Word文件为多个小文档并指定名称保存 alt+F11打开开发选项-->选择[插入]-->[模块]-->弹出代码编辑窗口,插入下面代码,按照需要修改 ...

  2. Visual Studio 2010工程目录下的ipch文件夹和.sdf文件

    使用VS2010建立C++解决方案时,会生成SolutionName.sdf和一个叫做ipch的文件夹,这两个文件再加上*.pch等文件使得工程变得非常的庞大,一个简单的程序都会占用几十M的硬盘容量, ...

  3. VS工程目录下的ipch文件夹和.sdf文件

    Visual Studio 2010工程目录下的ipch文件夹和.sdf文件 - web8 - 博客园 http://www.cnblogs.com/web100/archive/2012/12/21 ...

  4. python读取大文件-Python如何读取、拆分大文件

    简述 最近和第三方数据接触较多,数据量也开始陡增,从一开始的1KW行,最大到了1亿行,这让我这个常年处理"小数据'的人有点捉襟见肘.本来数据放在hive中也是可以操作的,但是有时候需求是做一 ...

  5. 使用python批量下载需要的分子的SDF文件

    使用python批量下载需要的分子的SDF文件 这里需要借助python的第三方库pubchempy (可以使用pip安装:pip install pubchempy) 首先定义文件的路径(这里的文件 ...

  6. python拆分大文本(.txt)文件

    系列文章目录 文章目录 系列文章目录 前言 一.python拆分大文本文件 1.源码 二.可能遇到的问题 1.原因排查 2.问题解决 三.拆分源码二 总结 前言 提示:以下是本篇文章正文内容,以拆分密 ...

  7. ipch文件夹和.sdf文件

    ipch和sdf介绍: 在使用Visual Studio 2012开发C++程序的时候,会发现有一些奇怪的文件被创建出来,比如一个叫ipch的文件夹,和一个与工程同名的.sdf文件,而且ipch下面的 ...

  8. vs2010的sdf文件和ipch文件夹

    From:  http://hi.baidu.com/vcdashi/blog/item/f25a3511afbf136bcb80c40e.html vs2010打开某个工程 ,转换成功之后,在工程目 ...

  9. matlab删除mat中的个别变量,从.mat文件中删除变量

    10GB的数据?由于MAT格式开销,更新多变量MAT文件可能会变得昂贵.考虑将数据拆分并将每个变量保存到不同的MAT文件中,必要时使用组织目录.即使您有一个方便的函数来从MAT文件中删除变量,它也将是 ...

最新文章

  1. leetcode 解压缩_谁说 Python 的 shutil 不支持 7z 解压缩,我来教你扩展它的功能!...
  2. python字符串/元组/列表/字典互转
  3. Swift监听网络状态
  4. 测试php数字范围_你不知道的接口测试之拾遗
  5. Hbase 预写日志WAL处理源码分析之 LogCleaner
  6. 离散实验偏序关系满足实验报告C语言,离散数学实验三:偏序关系中盖住关系的求取及格论中有补格的判定...
  7. 11个提升编程能力的小方法
  8. 独占一行 html_HTML基础-语义化标签
  9. 00020970-0000-0000-C000-000000000046
  10. HeapSort 堆排序
  11. zend studio一些常用配置
  12. 【解决】打印机只打印第一页纸的问题
  13. 森林病虫防治系统 (二.1)
  14. 心情随笔之纸包子假新闻 [2007年7月25日]
  15. nodejs mysql嵌套查询_nodejs+mysql嵌套查询的问题
  16. Typora上传图片终于解决了
  17. 女生自学计算机方向建议
  18. LoadRunner性能测试实战教程
  19. 3D打印无人机等无人设备2——Ultimaker Cura 3.2.1设置中文
  20. 20春招机器学习、数据开发、NLP岗面经

热门文章

  1. 计算机操作什么用到3次剪贴板,如何清空剪切板 三大实用方法介绍【图解】
  2. 生活需要仪式感,欧蓝德幸福照相馆带你发现身边的幸福
  3. 国内网络硬盘龙虎榜(转)
  4. 北京理工大学计算机学院李晨扬,我院2018届毕业生升学率再攀新高
  5. 系统设计——操作日志
  6. F score和ROC
  7. 分布式架构与Dubbo-1-快速开始
  8. directx9.0安装详细教程
  9. SpringBoot Configuration Annotation Processor not configured
  10. sessions 与cookies