- 前端模块工作情况
- 项目核心文件
- index.js
- 路由路径 + 组件结构
- 请求模块
- 后端工作情况
- SpringBoot 配置Filter过滤器实现身份认证
- springboot解决第三方依赖jar包的问题
- 使用swagger自动生成接口文档
- python端工作情况
- 曲线部分代码
- learning curve曲线
- 长度分布图
- 前端完成请求模块的编写任务——蒋一
- 前端UI设计完成——蒋一
- 前端UI开始实现,已实现主页、导航栏、页脚栏等简单组件,初步实现信息的展示与可视化——林弘毅
文件位于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
- 序列分析 ServerPridictHome
- DNA序列分析 DNAPredictForm
- RNA序列分析 RNAPredictForm
- 蛋白质/多肽链序列分析 ProteinPredictForm
- 任务列表 JobHome
- 结果展示 ResultHome
- 关于 About
- 参考文献 Reference
前端对接口请求部分使用的是async与await异步的操作。我们为了使得前端界面能够进行异步相应,不出现同步加载数据不出现的问题,我们在接口请求方面也使用了async与await来控制异步操作的进行。
后端工作情况 SpringBoot 配置Filter过滤器实现身份认证- 通过 @WebFilter 注解来配置
- 通过 @Bean 注解来配置
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 ,方法返回时加上泛型
主要目的是记录根据每个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将相应的标识显现,最后保存图片即可完成整幅图的绘制.



