Hom's Blog


Py脚本:分割Mol2文件到每一个小分子

分割Mol2分子所有小分子到独立文件中,文件名根据分子名(第二行).

以后可以新加功能:

  1. 提取指定文件中分子名的mol2分子
  2. 批量给分子根据给定文件中名字命名

SplitMol2.py

#! /usr/bin/env python
# -*- coding: utf8 -*-
# Author: Platinhom; Last Updated: 2015-09-09

# Extract each molecule in a big mol2 file.
# Use the molecular name as file name.

import os,sys

if (__name__ == '__main__'):
	fname=sys.argv[1]
	fnamelist=os.path.splitext(fname)
	fwname=fnamelist[0]+"_extract"+fnamelist[1]
	fr=open(fname)
	
	writemol=""
	findmol=False;
	molname="tmp";
	nextmol=False;
	for line in fr:
		if (line.strip() == "@<TRIPOS>MOLECULE"):
			if (nextmol):
				fw=open(molname+".mol2",'w');
				fw.write(writemol);
				fw.close();
			else: nextmol=True;
			writemol=line;
			findmol=True;
			continue;
		if (findmol):
			molname=line.strip();
			findmol=False;
		writemol=writemol+line;
	#write the last molecule
	if(len(writemol)>1):
		fw=open(molname+".mol2",'w');
		fw.write(writemol);
		fw.close();


◆ 本文地址: http://platinhom.github.io/2015/09/09/SplitMol2toEach/, 转载请注明 ◆

前一篇: 最小二乘法实现
后一篇: Python调用外部命令


Contact: Hom / 已阅读()
Source 类别: CompCB  标签: CompBiol  Python