蛋白质FASTA与药物分子SMILES数据集文本数据处理与可视化分析(一)2021SC@SDUSC

本文主要是介绍蛋白质FASTA与药物分子SMILES数据集文本数据处理与可视化分析(一)2021SC@SDUSC,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文基于davis数据集进行操作2021SC@SDUSC

首先最直接的方式是学习一下别人的项目中是如何处理数据的

在项目代码中,指定了一个ParamList的字典用键值对的方式存储配置信息

下图为所选的数据集ESOL_SMILESValue.txt的结构,每一行数据逗号左侧为分子SMILES序列,右侧为该分子对应的label在这里插入图片描述

下一步就是把刚刚的ParamList(此次已封装到opt里),将opt作为参数送入MolDatasetCreator构造方法中创建一个对应的对象,后续会使用此对象进行进一步处理,接下来看看该构造方法有关opt部分的具体实现
在这里插入图片描述

仅仅是将opt赋值给了self.opt

返回到上一层,下面随即使用maldatasetcreator调用CreateDatasets函数进行处理,接下来看实现
在这里插入图片描述

此函数开头会获取前面paramList里的DataPath键的值,也就是ESOL_SMILESValue.txt的路径,然后创建文件加载器fileloader,并对文件使用load函数,下图可以看到load函数会通过readlines读出文本文件中的所有行
在这里插入图片描述

回到上层继续下面的执行,这一步是将opt中的ExpName对应的值作为FileParserList的键,又取得了一个值赋给到parser变量
在这里插入图片描述

可以看到,最终对应到的是ESOLFileParser(),从字面上猜测,应该是由于不同实验使用的数据集结构不同,所以要采用不同的parser进行处理
在这里插入图片描述
在这里插入图片描述

此次截取了两个parser类的实现,其中包括我们的ESOLFileParser,它们都有一个叫做_parse_line的函数,对于不同的数据集有着不同实现方式
在这里插入图片描述

可以看到,对一行数据的处理,先使用re对文本进行逗号分隔,分隔结果返回一个list,将list赋值给data,再分别取下标0、1的元素赋值给SMILES和Value,最后打包为一个dict,至此完成对该数据集中一行文本数据的分隔处理
在这里插入图片描述

所有的parser都继承了这个basicFileParser,可以看到它有一个子类中没有重写的函数parse_file,作用见下图注释信息

至此,该ESOL中的数据集处理已经明确,下一篇我们会对DTA任务中基准数据集davis中的蛋白质序列进行进一步处理。

这篇关于蛋白质FASTA与药物分子SMILES数据集文本数据处理与可视化分析(一)2021SC@SDUSC的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/337180

相关文章

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

《mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据》文章主要介绍了如何从.frm和.ibd文件恢复MySQLInnoDB表结构和数据,需要的朋友可以参... 目录一、恢复表结构二、恢复表数据补充方法一、恢复表结构(从 .frm 文件)方法 1:使用 mysq

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

golang获取prometheus数据(prometheus/client_golang包)

《golang获取prometheus数据(prometheus/client_golang包)》本文主要介绍了使用Go语言的prometheus/client_golang包来获取Prometheu... 目录1. 创建链接1.1 语法1.2 完整示例2. 简单查询2.1 语法2.2 完整示例3. 范围值

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

javaScript在表单提交时获取表单数据的示例代码

《javaScript在表单提交时获取表单数据的示例代码》本文介绍了五种在JavaScript中获取表单数据的方法:使用FormData对象、手动提取表单数据、使用querySelector获取单个字... 方法 1:使用 FormData 对象FormData 是一个方便的内置对象,用于获取表单中的键值

Linux使用cut进行文本提取的操作方法

《Linux使用cut进行文本提取的操作方法》Linux中的cut命令是一个命令行实用程序,用于从文件或标准输入中提取文本行的部分,本文给大家介绍了Linux使用cut进行文本提取的操作方法,文中有详... 目录简介基础语法常用选项范围选择示例用法-f:字段选择-d:分隔符-c:字符选择-b:字节选择--c

Rust中的BoxT之堆上的数据与递归类型详解

《Rust中的BoxT之堆上的数据与递归类型详解》本文介绍了Rust中的BoxT类型,包括其在堆与栈之间的内存分配,性能优势,以及如何利用BoxT来实现递归类型和处理大小未知类型,通过BoxT,Rus... 目录1. Box<T> 的基础知识1.1 堆与栈的分工1.2 性能优势2.1 递归类型的问题2.2

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数