周报(周立)
2024年04月01日-04月05日(第14周)
kseaKinaseTree 完善
- 将renderImage改用前端原生的html代码 img进行替换,通过addResourcePath添加到shinyApp中,让shinyApp可以展示App/www目录以外的图片。
- 通过javascript代码,让img tag的图片可以点击后放大。
- 通过 sesssion$onFlushed,让js代码效果对JavaScript后来动态生成的元素,比如img元素,也起作用。代码如下
- session$onFlushed(function() {
- shinyjs::runjs(imgClickJS)
- }, once=F)
- 改写JavaScript代码,让点击图片放大代码不在页面顶部生成重复的空白区域:主要是将.prepend zoomDiv移动到 shiny app的R代码中
- 测试kseaKinaseTree通过数据上传进行分析,无报错
- 改写sliderInput,防止数据上传后,因为round step等导致最大最小值会被过滤额掉,将sliderInput默认min max value都设置一个扩大的jitter值。
- 解决不同标签页通过update_mullongTextInput_server来更新数据时经常为NA无法同步的问题:
- mullongTextInput_server和update_mullongTextInput_server中,由于pull的column中包含NA,str_c后全部变为NA,所以需要使用replace_na将NA转换为字符串“NA”
- 给kseaKinaseTree添加直接输入gene进行kinome plot的代码
- 给kseaKinaseTree添加直接输入对齐的序列aligned seqs进行motif analysis的代码
- 解决直接从aligned seqs分析,不提供log2fc和pvalue无法拆分上下调后分析motif,以及无log2fc/pvalue无法根据motif预测激酶的问题。
- 通过结合用户指定+实际数据检测,生成一个inner变量,指明是否可以分析拆分上下调,以及预测激酶。
- 给前端添加上代码,防止不拆分上下调,以及不预测激酶时,前端展示报错的问题
- 给后端函数加上除了top6motif,其他motif不预测激酶也返回包含表头的0行表格,防止motif>6时报错。
- kseaKinaseTree部署到公司
kseaKinaseTree文档/软著书写
基本完成,有待补充图片。
2024年04月08日-04月12日(第15周)
kseaKinaseTree
完成kseaKinaseTree部署到公司,顺便解决几个小bug
完成kseaKinaseTree文档/软著说明书书写,以及代码整理
主要是0408-0409的工作
0410-0419休婚假
2024年04月15日-04月20日(第16周)
休婚假
2024年04月22日-04月26日(第17周)
0422
prottiMultiDose
- 修改:shiny侧边栏默认隐藏,title默认为空。
- 基本完成prottiMultiDose软著文档书写,以及代码整理。
lipms lipms_2
- 修改lipms lipms_2中的HCA作图函数,让其兼容超过65k行/列的超大数据。
TODO ksea barplot
将ksea barplot改用kssocre表格进行作图,而不是重新使用更多条件重新筛选计算kinase score,但是kseabarplot的z-score和ksea kinase score表格的z-score不一致。
0423
- prottiMultiDose软著完成+代码整理完成
- lipmsMultiTempe软著书写
0424
- lipmsMultiTempe软著完成
0425
kseaKinaseTree完善
- ksea ksscore表格添加排序,方便和ksea barplot顺序对应
- ksea barplot改用和计算ksscore一模一样的参数进行作图
0426
kseaKinaseTree完善
- 解决多组作图时kseaheatmap用renderPlot无法记录并保存的问题
- 分析结果页面添加图标简单说明
- 添加点击后分析等待的js动效。
- 将dtlistUI+Server改成没有表格时不显示下载按钮,有表格时有下载按钮,并且自带label的。
- 将glistUI+Server也改成自带label的。让不显示结果的时候,页面是空白。
0427 加班
kseaKinaseTree完善
- 纠正motif_plot横坐标数字错位的问题
- 给motif文本框加上等宽字体设置
2024年04月29日-05月3日(第18周)
重新部署shinyproxy,实现docker多开,负载均衡,并结合LDAP进行用户认证
0429
整理YS-1653分析需求,重新编号排版
0430
分析YS-1653 数量表征部分
0501-0505
五一假期
20240506-20240510 (第19周)
0506
分析YS-1653数量表征,完成
分析YS-1653强度表征
0507
分析YS-1653强度表征,基本完成
0508
校对和整理YS-1653分析结果,提交
0509
整理YS-1653项目代码
0510
分析内容,调整顺序,绘制思维导图

20240513-20240517 (第20周)
0513
项目代码构建shiny
完成数据整理模块
部分数量表征模块完成
0514
完成数量表征模块(后端)
0515
基本完成定量强度表征模块(后端)
0516
完成定量强度表征模块(后端)
0517
构建前端cohortQC 界面,reactive value传递报错。
20240520-20250524(第21周)
0520
继续尝试解决cohortQC前后端 reactive value传递报错问题
0521
未能解决从浏览器运行报错问题,暂时从rstudio运行app进行调试。
0522
仔细阅读shiny-server配置选项,结合尝试,
app无错断开问题定位到
app启动时长问题:修改 shiny app配置,创建.shiny_app.conf文件,并添加app_init_timeout 3600; 一定要加上分号。实际上不管用。
app idle timeout:也不管用。
session idle timeout: shiny-server pro版才支持的功能。
一个一个模块排查:发现是 facet_by batch出问题导致无法渲染出结果。
暂时禁止掉这个模块,往后测试。
0523
cohortQC
继续解决 densityplot2个分面图无法和其他图片共存的问题:无法解决。
不是冲突问题,在rstudio中可以运行,但是就是无法通过浏览器运行。
metabo / metabo_2
给 metab/metabo_2添加 sao(金黄色葡萄球菌属)背景数据库。
0524
完成cohortQC QC样本 + PCA 作图前后端调试。
0525
尝试通过brochure将cohortQC拆分成多个作图shinyApp组合的web app。在shiny中运行可以,在shiny-server中运行不行。
0526
学习javascript,看brochure,shiny-server源代码,尝试找出异常之处。
20240527-20240602(第22周)
有待誊写。
20240603-20240609(第23周)
0603
完成 palettePicker模块,实测可以传递参数。
0604
测试不同shinyApp之间传递数据的方法:
小数据可以直接通过cookie传递,大量数据无法通过cookie传递。
- 通过cachem磁盘缓存+session id,可以完成,但是读写较大,速度较慢
- 通过cachem内存缓存+session id,不能够,cachem的内存缓存不能够跨越app
- 通过给plumber给shiny-server添加API,方便不同shiny apps以及不同编程语言通讯,但是暂时没找到如何传递动态数据(用户上传并修改过的数据)的方法
- 通过 Redis内存缓存数据库 + cookie + session id,能够完成。
TODO 有待将每个子app都完成。
0605
给子app添加 以下功能
- 子app为fillable自动占满浏览器全屏幕。
- 单独的card也可以全屏。
- 作图card的大小可以调整。
发现调整card大小或者缩放浏览器页面的时候,图形变化较慢,探索原因
- 使用转toWEBGL(适合大数据,调用GPU),发现缩放还是很慢。
- 但是图片保存单独页面并不慢。有待进一步探索原因。
0606
- 尝试将子app的bslib和主app使用的shinydashboard风格统一,发现不兼容,bslib和bs4Dash也不兼容。
- TODO 有待整合主app和子app的风格。
- 给子app添加themer
0607
发现多个作图参数无法一层一层地传递给 reactive gglot2。不方便模块化。
TODO 有待测试是什么问题。
20240610-20240616(第24周)
0610
端午假期
0611
解决ggplot2多个参数作图一层层叠加传递的问题。
TODO 但是切换图形后,已有的参数并不管用,需要重新设置。可能还是要回到收集到所有参数后再作图,不过需要将其模块化。
修改bslib R包,将bs_themer设置为默认折叠的。需要在bslib --> bs-theme-preview.R中将243行的id = "bsthemerAccordion", class = "collapse show",去掉 show字样。
0612
完成子app的app主体设置
改正子App直接单独打开第二次,读取到第一次子app设置的cookie但是无内存缓存数据报错问题:将子app设置为只读取cookie不添加cookie,并且下游作图都先检查数据是否为空。
通过crosstalk,完成子app的 图 + 表格的联动。有待测试crosstalk是否支持分组摘要图形和详细表格的互动。
0613
修改bslib包,使其自定义app主体的标题为 App Theme
初步摸索了 bslib 和 ggplot2/lattice/base/plotly作图的主题联动。通过thematic包,能够实现主题联动。
但是ggplot2重新绘图后,背景色无法被修改,但是geom_shape可以联动。很奇怪,有待进一步摸索。
0614
分析并提交磷酸化项目P1127_mRNA_0611
0615
重新分析磷酸化项目P1127_mRNA_0611,磷酸组使用全蛋白进行标准化
0616
完成bslib包修改,使得GUI界面各种gap margin padding在非必要的情况下都为零,方便内容密集型dashboard的展示。为之后改纯桌面端、纯浏览器客户端以及server+client 3种部署方式统一界面。
分析并提交乙酰化项目 04.YS-CHI-028_ubiquitin
20240617-20240623(第25周)
0617
完善cohortQC文档。
将heatmaply热图添加 group等meta信息
0618
研究达达生信分析脚本,提交修改需求。
0619
完成磷酸组GUI设计
0620
整理磷酸组分析流程,做思维导图,总结兼容学校 + 公司的参数
0621
改写磷酸组至R包,预计2-3周左右完成。
20240624-20240430(第26周)
主要工作就是改写蛋白组+磷酸组联合分析流程
0624
梳理蛋白+磷酸组联合分析的流程:
- 调整文件夹结构
- 蛋白组增加标准化流程
- 磷酸组增加标准化前后位点统计
- 磷酸组自己添加注释独立出来。
- 整理总结过往所有项目分析需求,汇总到流程中,将需求合理安排在各个模块中。
0625
完成磷酸组模块化
数据输入
数据检测:软件,物种,keyid,长宽表格
数据整理:添加样本选择
0626
视频会议沟通磷酸化流程
磷酸组完成以下模块:
- 去除污染
- 去除非磷酸化
- 合并ID注释
0627
磷酸组完成以下模块:
缺失值剔除
缺失值填充
去log
标准化:sum mean median scale_factor,background扣减等标准化
0628
完成以下模块
PCA:从stats:prcomp改用 mixOmcis::pca,兼容缺失值
PLS-DA:兼容缺失值
HCA:兼容缺失值;兼容rowsd=0的,并且将这一行单独输出。
sample_correlation: 兼容缺失值
20240701-20240707(第27周)
继续完善磷酸组流程
差异计算:
- 添加limma,edgeR deSeq2算法。
- TODO 考虑添加兼容annova多组差异。
- TODO 差异分析将tryCatch单独提取出来,先检测数据是否有特殊情况,无特殊直接计算差异,而不是每一行计算都防止出错。
20240707-20240714(第28周)
后端模块和前端测试
完成参数设置 yaml的书写和模块设置。
测试前后端联动,可一键完成分析后然后按照需求一步步调整需求
每个单独的模块作为shiny module,也可以作为子app。既可以流程中调用修改数据(通过Redis内存数据库传递数据),也可以单独使用。
*本页面受访问控制保护