2021SC@SDUSC
本个项目完全由组内人独立撰写完成,并计划发表论文
背景(Introduction)以下为本项目的大致生物和计算机背景
生物信息学作为生命科学和自然科学的一门重大前沿学科,总是离不开对生物序列的分析,以了解大量生物数据的具体含义。在测序技术还没有发展起来,数据量很小的时候,手工处理数据的方式可以满足当时的需要。但在生物序列大规模扩展的今天,明显落后的人工处理方式已经远远落后于计算机处理数据,同时机器学习、深度学习、自然语言处理等技术的蓬勃发展使得处理生物序列的新方法不断发展与前进。
但这也对生物工作者提出了更高的要求,当他们想要高效快速地提取生物序列背后的信息时不得不必须学习编程,从而能够利用相关前沿的数据分析工具。因此,顺应时代的发展,开发一个可以接收生物序列分析并可以自动化序列分析、预测和相关可视化的可用平台或工具包,这样的需求已经是大势所趋。
然而,受多种因素的限制,传统的基于机器学习的方法不够准确,无法处理不平衡的数据集。生物序列分析以及与自然语言处理相关的深度学习算法也被广泛引入生物序列分析,例如 Bidirectional Encoder Representations from Transformers (BERT) 模型,它应用了 基于注意力的架构Transformer,在大多数自然语言处理任务中已经取得了不俗的成绩。同时,AAAI等会议已经出现了相关论文来表明 BERT 模型可以在生物序列分析中表现良好。
最后,基于以上的需求和分析,我们开发了一个基于 BERT 模型的 Web 服务器。与当前可用的工具相比,我们的服务器平台具有以下主要优势:
- 据我们所知,我们的平台是第一个基于 BERT 的用于序列二分类分析的网络平台,并提供分析结果的下载和可视化。
- 此外,该服务器可以处理不平衡的数据集。
- 我们的服务器可以为下一步进行表征和可视化工作。
- 与其他基于机器学习的平台不同,我服务器的工作流程可以看作是一个黑匣子。我们提供端到端服务,用户上传他的序列并获得结果,无需设置特定的机器学习方法参数。
- 我们的深度学习模型具有良好的迁移能力,可以让我们在其他后续任务上快速升级。
生物序列智能分析平台小组于2021年9月20日进行了开始会议,具体会议内容主要为任务分配与工作进度安排。
项目的ai部分的python主要由金俊儒,后端端口部分为郭常瑞,前端部分为蒋一,论文研究部分为陈超逸和冯玖鑫,论文撰写工作由研究生学长尹成林学长负责。因为项目的没有可参考运行的现成代码,所有我们项目的所有的代码全部需要纯手写,我们于第二个工作日全员开始工作,打算三到四周完成代码的编写,并部署到我们实验室的服务器上以供全球使用。
项目所用到的技术栈有:python、pytorch、springboot、react、antd、cdn等,所需的储备知识巨大,需要我们小组内成员在短时间内学习相应的知识。
对应部分小组成员的计算机器、实验设备与讨论室均由实验室提供,对于ai算法与各类网络技术等相关知识主要来自学生自学。经过讨论,小组决定使用cs架构来进行模型与前后端代码的大致构架编写。
python端架构采用pytorch进行训练,依托后端进行存储。
所需要的包,即requirements.txt
pytorch matplotlib seaborn transformers