用python map函数实现pharmdock并行运算
来源:互联网 发布:袁隆平 转基因 知乎 编辑:程序博客网 时间:2024/06/05 23:42
最近在服务器上应用Pharmdock软件进行运算时,只能利用一个cpu,考虑到cpu浪费太多,于是考虑到了多线程
import osfrom multiprocessing import Pool#遍历文件夹,返回分子路径def get_mol_paths(folder): return (os.path.join(folder,f) for f in os.listdir(folder) if f.endswith('_omega2.mol2'))'''#遍历分子列表,返回分子路径def get_mol_paths(molslist): f= open(molslist) g=[] for m in f.readlines(): m=m.strip('\n') #去掉每行结尾处的换行符 g.append(m) return g '''def run_cmd(filename): dock='/usr/local/cloud/PharmDock/bin/docking \ -c /usr/local/cloud/PharmDock/dat/CamDoc.bcf \ -l %s \ -p /map/substr/test/ProtPharm/Docking_Pharmacophore.mol2 \ -ps /map/substr/test/ProtPharm/Scoring_Pharmacophore.mol2 \ -prot /map/substr/test/pro.pdb \ -nmode 1 -o out -limoc' % filename os.system(dock)if __name__=='__main__': folder="/map/free/free_ph" mols = get_mol_paths(folder) pool = Pool() pool.map(run_cmd,mols) pool.close() pool.join()
map函数读取mols列表中的文件作为参数分别传入run_cmd进行运算,并行处理后16个cpu可以全部利用,速度大大提升
关于map函数的解析和应用可参照:
http://my.oschina.net/zyzzy/blog/115096
http://www.jb51.net/article/63368.htm
0 0
- 用python map函数实现pharmdock并行运算
- pharmdock并行运算的java实现
- 用map函数来完成Python并行任务的简单示例
- python实现并行爬虫
- Python的map函数实现代码
- python:模拟内置函数map的实现
- 如何实现Python中的map函数
- [python]map方法与并行执行
- python 性能提升之 并行map
- 1.4 map实现并行处理方法
- 利用map代替for实现并行化
- R安装并行计算工具包snowfall实现并行运算资源
- Python串行运算、并行运算、多线程、多进程对比实验
- Python串行运算、并行运算、多线程、多进程对比实验
- python map()函数
- Python-map()函数
- python map函数用法
- Python中map()函数
- 【Java安全技术探索之路系列:Java可扩展安全架构】之十六:JAAS(三):JAAS编程模型
- STL学习笔记之容器--slist
- myeclipse or eclipse maven 项目使用tomcat:run运行报错 用tomcat:run-war正常
- Java WebService 简单实例、调用第三方提供的webService服务
- IntelliJ Idea 常用快捷键列表
- 用python map函数实现pharmdock并行运算
- maven生成部署包需要注意的地方
- 【Java安全技术探索之路系列:Java可扩展安全架构】之十七:JGSS(一):JGSS架构介绍
- c++ vector用法
- Multithreading on iOS And Mac OS X Using NSOperations
- ubuntu安装firefox flash插件
- 【Java安全技术探索之路系列:Java可扩展安全架构】之十八:JGSS(二):JGSS类和接口
- 开辟一片Cloud 和Fin Tech苗圃
- redhat下mongodb权限设置