本文主要是介绍python学习笔记:批量化查找只包含6个C.ar的苯环结构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在清洗文件过程,单纯查找一个文件是不能满足到大量文件计算需求。清洗和过滤大量的小分子文件显然成了必要的需求。
其实python在寻找清洗文件过程并不难,在乎怎么把清洗完的文件用于计算分析才是核心的诉求。
下面我们看看在一堆文件里面,批量查询对应目标列表。
import re
import osdef walk(path):if not os.path.exists(path):return []files_paths = []for parent, dirnames, filenames in os.walk(path):for filename in filenames:files_paths.append(os.path.join(parent, filename))return files_pathsdef findcar6(mol2file):pattern = re.compile(r'\w+\.ar')with open(mol2file, 'r') as f:content = f.read()ret_list = pattern.findall(content)num = ret_list.count('C.ar')return num == 6if __name__ == "__main__":allfiles = walk(r"G:\pyabs\labs\pdbbind\general_set")for f in allfiles:file_name, ext = os.path.splitext(f)if ext == '.mol2' and findcar6(f):print(os.path.basename(f))
试验完后,会输出一堆文件名称,这些文件就包含6个C.ar 文件文件。
担心脚本会出现错误。再人工去校验。发现验证通过了第一步。
观察里面对应的结构,可以看到苯环的结构体正是我们想找的小分子文件。
反复经过多次验证,可以大概刷选出相应的文件。有了这些文件即可用来计算三维空间里面作用力。
目前仅仅是清洗过程中一个很小很小应用。还可以利用可视化工具来实现。这些都是看需求去实现了。
这篇关于python学习笔记:批量化查找只包含6个C.ar的苯环结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!