周报(周立)

来自OmicsWiki
Zhouli讨论 | 贡献2024年9月18日 (三) 08:40的版本 →‎20240902-20240906
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

2024年04月01日-04月05日(第14周)

kseaKinaseTree 完善

  1. 将renderImage改用前端原生的html代码 img进行替换,通过addResourcePath添加到shinyApp中,让shinyApp可以展示App/www目录以外的图片。
  2. 通过javascript代码,让img tag的图片可以点击后放大。
  3. 通过 sesssion$onFlushed,让js代码效果对JavaScript后来动态生成的元素,比如img元素,也起作用。代码如下
    • session$onFlushed(function() {
    • shinyjs::runjs(imgClickJS)
    • }, once=F)
  4. 改写JavaScript代码,让点击图片放大代码不在页面顶部生成重复的空白区域:主要是将.prepend zoomDiv移动到 shiny app的R代码中
  5. 测试kseaKinaseTree通过数据上传进行分析,无报错
  6. 改写sliderInput,防止数据上传后,因为round step等导致最大最小值会被过滤额掉,将sliderInput默认min max value都设置一个扩大的jitter值。
  7. 解决不同标签页通过update_mullongTextInput_server来更新数据时经常为NA无法同步的问题:
    • mullongTextInput_server和update_mullongTextInput_server中,由于pull的column中包含NA,str_c后全部变为NA,所以需要使用replace_na将NA转换为字符串“NA”
  8. 给kseaKinaseTree添加直接输入gene进行kinome plot的代码
  9. 给kseaKinaseTree添加直接输入对齐的序列aligned seqs进行motif analysis的代码
  10. 解决直接从aligned seqs分析,不提供log2fc和pvalue无法拆分上下调后分析motif,以及无log2fc/pvalue无法根据motif预测激酶的问题。
    • 通过结合用户指定+实际数据检测,生成一个inner变量,指明是否可以分析拆分上下调,以及预测激酶。
  11. 给前端添加上代码,防止不拆分上下调,以及不预测激酶时,前端展示报错的问题
  12. 给后端函数加上除了top6motif,其他motif不预测激酶也返回包含表头的0行表格,防止motif>6时报错。
  13. 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

分析内容,调整顺序,绘制思维导图

cohortQC
cohortQC

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单独提取出来,先检测数据是否有特殊情况,无特殊直接计算差异,而不是每一行计算都防止出错。

0701

给差异分析添加limma。

TODO 如何兼容重新划分分组,需要补充。

TODO 比较trycath与否的计算速度差异,有待测试。

0702

给pca plsda hca smscorr添加兼容定量表+分组表+指定coln_keyid的代码,而不是一定传入matrix.

统一pca plsda hca smscorr参数名称。

0703

给hca sms_corr添加颜色指定参数。

sms_corr可以指定颜色映射从0-1,而不是从min-max

0704

分析并整理 P1130 磷酸化项目

0705

后端整个流程代码书写,测试。

参考mixOmics,开发R包时,新建workflow文件夹专门用来放workflow,提高后期前端整合速度,而不是从一个个函数模块开始。

20240707-20240714(第28周)

后端模块和前端测试

完成参数设置 yaml的书写和模块设置。

测试前后端联动,可一键完成分析后然后按照需求一步步调整需求

每个单独的模块作为shiny module,也可以作为子app。既可以流程中调用修改数据(通过Redis内存数据库传递数据),也可以单独使用。


20240708-20240714

后端模块和前端测试

完成参数设置 yaml的书写和模块设置。

测试前后端联动,可一键完成分析后然后按照需求一步步调整需求

每个单独的模块作为shiny module,也可以作为子app。既可以流程中调用修改数据(通过Redis内存数据库传递数据),也可以单独使用。


主要还是磷酸组的开发,以及几个项目的分析。

0708

差异分析补充上edgeR算法。deseq2不合适。

缺失值填充添加基于正态分布的填充(perseus默认)

0709

整个流程测试,需要将取log调整到缺失值剔除和填充前面,以便兼容更多的缺失值填充方法。(来自DEP和mscoreUtils包)。

clone迁移虚拟机。

0710

基于用户修改的数据,重新分析YS-CHI-055_acetyl项目,提供蛋白组校正和非校正2套结果。

调整虚拟机网络和磁盘挂载,并简单测试。

0711

分析P1089项目

0712

分析YS-CHI-028_acetyl项目

修改虚拟机中 lipid metabo metabo_2 proteme_test(TPP) ptm ptm_2中火山图代码,让其兼容新版本R和R包。

20240715-20240721

虚拟机迁移;整理代码并同步到4个虚拟机;完成ptm_2集成春玉分析脚本。

0715

重新迁移虚拟机到宿主机OS7T83,再次修改相关代码。

测试黄春玉改写的达达 GO KEGG PPI脚本。

0716

修改ptm_2生信分析脚本,调用春玉脚本;修改bug。

0717

ptm_2生信分析分析人的脚本测试完成,没问题。

迁移虚拟机到宿主机 7763。修改脚本。

0718

整理过往多个app的代码。回顾梳理多个app各个版本的差异。

对比多处虚拟机多个app的脚本差异,并做同步(仅有lipid未完成)。

继续整理过往app,同步代码到以下3个虚拟机,并做简单测试:

  1. 7763
  2. OS-NASX
  3. OS7T83

0719

完成 metabo_2 docker 在Ubuntu22.04的构建。

有待使用shinyproxy管理调用docker

完成metabo_2 R包构建,测试其在windows目录下也可以完成分析。

20240712-20240728

0722

测试发现ptm_2分析mmu的生信时报错。

给ptm_2添加 db_name db_ver的参数接口,有待测试完成多个物种的生信分析。

20240826-20240901

0826

完成 ptm2 shiny app的r包修改,并完成测试

0827

完成 lipms2 shiny app的r包修改,并完成测试。

0828

完成 proLipTpp 的R包化修改,修复bug,并在易算7763 winOS 以win_ys 配置完成测试。

0829

  1. 解决 metabo2的提示没有 golem-config.yml的提示:
    • 将 golem_add_external_resources中的app_title参数从 get_golem_name 修改为使用config包+app_sys读取yml文件。
  2. TPPMultiTempe在易算7763 winOS运行最后不出图的报错:
    • 为tpptrCurveFit_mod添加参数 nCores=1
  3. 解决cohortQC几个参数没有传递/设置默认参数的问题。

0830

  1. 解决何丹丹说的 有些 lipid3 分析报错的问题 是化合物名称列选择错误:日志显示20230814沟通或改用 lipidMolecularSpecies 来进行分析的,而不是finalResults. 是何丹丹选择错误了。
  2. 整理14个 shinyApp的 demo data,bat文件。
  3. 继续将 proBioinfor 这个shinyApp 进行R包化。

20240902-20240906

主要是protBioinfor的R包化,功能补充和bug修改。

0902

完成KEGG富集分析后端函数,富集+作图

0903

尝试将达达KEGG可视化统一到proBioinfor,fc是必须参数,其他多个参数必须,除非大修改,无法统一。

0904

让GO KEGG PPI都支持uniprot ensembl entrez(go的entrez还需要补充背景数据库;go还支持symbol进行分析)id进行分析。

让proBioinfor支持直接输入ID进行分析,而非一定上传文件。

0905

protBioinfor前后端测试,将除了db以外的数据,都放入R包内。

0906

确认metao2的一个bug,有kegg cmpd id,但是没有注释到代谢通路,会报错,需要加上防止报错代码。

20240909-20140915

0909

protBioinfor代码收尾,完成R包化,外部数据写成yml配置,小数据内置到到R包中。

0910

protBioinfor代码收尾后联动测试前后端,确认可以运行。

0911

写ptm_2 这个shinyApp的使用文档,决定先以软著文档形式写,截图后续放大截取部分。

0912

继续写ptm_2文档,软著文档形式基本完成。

0913

删减ptm_2软著文档,截图放大截取。

TODO 有待校阅整理发给何丹丹,确认可行后后面多个app都以此形式书写。

0914

开始写lipid2/lipid3 metabo的文档。



*本页面受访问控制保护