【技术实现步骤摘要】
基于spark计算引擎的高通量虚拟药物筛选方法及系统
[0001]本专利技术涉计算机科学和生物信息学领域,更具体地说,特别涉及一种基于spark计算引擎的高通量虚拟药物筛选方法及系统。
技术介绍
[0002]虚拟筛选利用小分子化合物与药物靶标间的分子对接运算,可快速从几十至上百万分子中,遴选出具有成药性的活性化合物,大大降低实验筛选化合物数量,缩短研究周期,降低药物研发的成本。目前已测定的小分子化合物数量庞大,在千万级以上,因此,要在可接受时间内处理大规模数据,就必然需要求助于分布式计算,将一个大的问题拆分成多个独立的子问题,然后将子问题分散到各个计算结点执行。
[0003]Spark是一个先进的分布式计算引擎,随着云计算的发展,spark计算引擎逐渐成为云服务的通用配置。云计算和spark引擎的易扩展性可以让更多的研究人员很方便地调用数百甚至上千个计算节点来完成计算任务。基于云平台的spark计算集群可以根据计算规模的大小弹性伸缩,并且在公有云上易于部署对外的计算服务。利用spark计算引擎的批处理特点可以进行高通 ...
【技术保护点】
【技术特征摘要】
1.基于spark计算引擎的高通量虚拟药物筛选方法,其特征在于,包括以下步骤:S1、受体广播,将PDB格式的对接受体文件上传至HDFS文件系统,通过spark将对接受体文件转换成弹性分布式数据集,对接受体弹性分布式数据集按行缓存到字符串容器中,将缓存对接受体弹性分布式数据集的容器包装为spark中的广播变量;S2、配体索引构建,将SDF格式的配体文件上传至HDFS文件系统,通过spark将对接文件转换成弹性分布式数据集,将对接文件弹性分布式数据集中的元素和该元素所在行号组合成键值对,获取SDF格式配体文件的分子结构结束符号所在行号并存入容器lookupList中,创建一个长度为配体文件总行数的容器indexList,该容器indexList根据容器lookupList将同一个分子所在的行标记为统一索引,配体文件中配体分子的数量等于索引元素数量;S3、配体分割,按照配体索引对配体数据进行Map映射,将分散在多行的一组配体分子数据映射进一个长字符串中,创建一个hashmap容器接收配体数据,key为配体分子索引,value为上述映射方式映射形成的长字符串;将得到的哈希表中的每个元素分别存入Tuple2二元组中,该Tuple2二元组的第一个值为哈希表的key,其第二个值为哈希表的value,每个Tuple2二元组表示一个独立的对接分子,将所有Tuple2二元组装入List容器中,将List容器中的数据转换成pairRDD,再指定分片数参数numSlices实现数据分割;S4、配体组装,将配体分割过程中生成的长字符串形式的分子数据组装转换成SDF格式文本,在分配的每个计算任务中,通过设定的分隔符进行字符串分割,利用ArrayList<String>容器接收生成的数据,该容器中的每个元素作为SDF格式文本中的一行,将该容器中的数据按照顺序写入新建空白文件,该空白文件的文件名采用进程ID号;S5、并行化,通过FlatMapFunction对象中的call方法,指定每个分区的数据处理过程,在该call方法中,获取受体广播中的广播变量,在计算任务所在的计算机节点的临时目录中将该受体广播变量保存为PDB格式文件,所述配体组装过程在所述call方法中,在两个对接文件准备就绪后调用分子对接过程;S6、分子对接,调用分子对接程序的脚本,接收受体文件绝对路径、配体文件绝对路径和对接结果保存路径参数;S7、对接结果聚合,将分子对接结果聚合到HDFS文件系统上。2.根据权利要求1所述的基于spark计算引擎的高通量虚拟药物筛选方法,其特征在于,所述受体广播、配体索引构建和配体分割工作在主节点中,所述配体组装、分子对接和对接结果聚合工作在工作节点中。3.根据权利要求1所述的基于spark计算引擎的高通量虚拟药物筛选方法,其特征在于,所述对接受体文件数据首先通过java的ArrayList<String>容器包装,然后通过spark的Broadcast<ArrayList<String>>广播变量容器包装,再分发给每个工作节点,在所述工作节点接收到包装好的广播变量后,将数据按顺序分解,通过BufferedWriter类写入到该节点的文件系统中。4.根据权利要求1所述的基于spark计算引擎的高通量虚拟药物筛选方法,其特征在于,在所述步骤S2的配体索引构建过程中,采用zipWithIndex函数将单组配体数据转换到一行,该单组配体数据的索引号为该配体在原文件中的序号,采用分隔符号来标识源文件的数据行,利用Tuple2<Long,String>数据结构来存储索引数据,其第一个元素存储索引值,其第二个元素存储配体数据;生成的所有Tuple2数据加载到List中,通过
parallelizePairs算子生成pairRDD。5.根据权利要求1所述的基于spark计算引擎的高通量虚拟药物筛选方法,其特征在于,在所述步骤S3中的配体分割是采...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。