文章目录
前端模块工作情况
- 前端完成请求模块的编写任务——蒋一
- 前端UI设计完成——蒋一
- 前端UI开始实现,已实现主页、导航栏、页脚栏等简单组件,初步实现信息的展示与可视化——林弘毅
项目核心文件
index.js
文件位于src文件夹下,是nodejs编译的源文件,其中引入了create-react-app
创建的默认组件App.js,并将其渲染到上文提到的index.html
文件中id=root的html节点。我们可以也应该将index.js中包含的渲染关系、组件等内容改写。
index.js文件的修改涉及到整个项目的核心架构,需要将整体架构大致明确后进行修改。
路由路径 + 组件结构
经过小组内多次讨论,项目的前端暂定有如下几个模块,并以ECMAScript Module的形式表示出来
- 主页
HomePage
- 功能选择
ServerSelect
- 训练模型
ServerTrainHome
- DNA模型训练
DNAServerForm
- RNA模型训练
RNAServerForm
- 蛋白质模型训练
ProteinServerForm
- DNA模型训练
- 序列分析
ServerPridictHome
- DNA序列分析
DNAPredictForm
- RNA序列分析
RNAPredictForm
- 蛋白质/多肽链序列分析
ProteinPredictForm
- DNA序列分析
- 任务列表
JobHome
- 结果展示
ResultHome
- 关于
About
- 参考文献
Reference
请求模块
前端对接口请求部分使用的是async与await异步的操作。我们为了使得前端界面能够进行异步相应,不出现同步加载数据不出现的问题,我们在接口请求方面也使用了async与await来控制异步操作的进行。
后端工作情况
SpringBoot 配置Filter过滤器实现身份认证
- 通过 @WebFilter 注解来配置
- 通过 @Bean 注解来配置
springboot解决第三方依赖jar包的问题
maven有一种方式可以将本地的Jar包依赖到项目中而不需要先deploy到maven库上。
使用swagger自动生成接口文档
- 依赖
添加依赖和 spring-boot-starter-parent 的版本有关,自动引入的 spring-plugin-core 包版本不一
致会导致项目跑不起来,这里是个大坑。 - 配置
启动类、swagger配置 - 常用注解
类、方法上、方法入参、实体、header参数、file入参 - 拦截器放行
- 文档访问地址
http://ip:port/context-path/swagger-ui/
http://ip:port/context-path/swagger-ui/index.html - 统一返回值问题
若项目中使用了统一返回值的包装类例如 BaseResponse ,方法返回时加上泛型
python端工作情况
曲线部分代码
learning curve曲线
主要目的是记录根据每个epoch训练完成之后,Accuary
和Loss
的变化过程,这样能更好的反映模型的训练和调整,更加清楚的看到梯度下降的一步步更新迭代。
- 首先从函数的接口中获取到我们绘图要用的
epochdata
,注意这部分数据是我们在训练的时候对每一步的train和test进行测试的时候保存了记录下来的代码。所以我们直接将每个参数分别赋值给对应的变量即可 - 对画图的操作进行一些基本的设定,如设置画布
figure
的大小,两张图wspace
和hspace
之间的差距和间隔,还有将整个框子的右上部分全部去除,这样回复到R语言画图的风格中 - 先根据模型的个数选取我们绘图的配色部分
- 最后就是一些基本的设置x轴,y轴,还有标题,legend的标注,以及保存图片的功能
长度分布图
这部分主要代码是用来分析输入数据长度分布的一张图。
主要是用来使用非等长序列情况下使用的。
- 首先定义函数以及存放的记录值的数组
keyvalueP
和keyvalueF
。 - 分别定义每一种氨基酸的存放位置。
- 先将
sequence
和label
从输入函数的初始数组中取出,准备对每一个样本进行统计和分析信息中的位置和作用。 - 对句子进行
for
循环的操作,一方面能够判断正例和负例之间的区别,然后再对这两种类别进行统计每一种氨基酸的个数,映射到之前的表格中的数组或者对象中。 - 最后一步就是开始画图操作,首先将得到的数据转化成相应的list:
Px
,Py
,Nx
,Ny
。
接着根据列表的长度ind
分别进行bar
的绘制操作,再加上legend
将相应的标识显现,最后保存图片即可完成整幅图的绘制.