文章目录
前端模块工作情况
- 引入antd组件库、echarts并开始echarts图标可视化编写工作——蒋一
- 完成About、Reference组件——林弘毅
引入antd
- 安装
- 引入全部Css样式
- 在App.js里使用Antd的按钮组件、小图标组件
- 使用日历组件
- React用Antd高级配置,按需引入css样式配置
- 自定义主题
echarts
引入并尝试对echarts进行配置,使用echarts实现部分图表的可视化可交互组件
About组件
由于about组件只需要放置一些信息,且无明显的复用内容,因此没有采用组件化编写,直接使用Material UI提供的组件完成编写。与此对比的是下文出现的reference组件,详见下文。
Reference组件
在reference组件中,存在大量可重复使用的Ref组件代码结构。
Ref组成了一个参考文献的全部结构,使reference组件可以简单地直接堆砌Ref组件并向其传入蚊香相关参数即可快速复用Ref组件的内容,搭建参考文献页内容。
为了降低重复代码量,也方便后续的维护,前端利用了ES6模块化的优势,构建了包含单个文献的Ref组件。降低了代码量和以后维护的工作量。
后端工作情况
Tokenization分词:WordPiece算法
WordPiece算法是如何构建词表的呢?
- 获得足够大的语料库。
- 定义所需的子词词汇量。
- 将单词拆分为字符序列。
- 用文本中的所有字符初始化词汇表。
- 根据词汇建立语言模型。
- 通过将当前词汇表中的两个单元组合以将词汇表增加一个来生成新的子词单元。 从所有可能性中选择新的子词单位,这会在添加到模型时最大程度地增加训练数据的可能性。
gRPC
- gRPC vs. Restful API
- 四类服务方法
单项RPC、服务端流式 RPC、客户端流式 RPC、双向流式 RPC
Protobuf
- 安装
- 使用protoc生成代码
- protobuf语法
python端工作情况
训练部分
train代码
定义了一大波参数,我们顺次标注一下
roc_datas
,prc_datas
:用来存放画图的roc和pr数据repres_list
,label_list
:用来存放模型得倒的特征提取和标签列表train_seq
,test_seq
:测试的sequence和测试的sequencetrain_label
,test_label
:训练集的label和测试集的labelpos_list
,neg_list
:存放模型预测的正负样本的置信度best_performance
:存放模型最好的表现的数组data_statistic
:数据统计的函数统计这几个train pos, train neg, test pos, test neg的数量time_use
:每个模型训练的耗时记录step_log_interval
:用来画epochlog的step的横坐标train_metric_record
:用来画epochlog的其一纵坐标准确度train_loss_record
:用来画epochlog的其一纵坐标损失值(loss)
传统特征部分
入口文件
首先对相关的feature进行定义,并留存数组用来选择,定义保留ROCdatas,ROCdatas的数组,然后调用util_file.load_fasta
来加载数据集。
再根据传入的参数对选择碱基分析还是protein的分析做出判断
接着传入gen函数生成相应的ROC和PR数据来保存,然后返回给主函数供画图使用。