Song Jie 's Blog
保持好奇,不失本心!
笔记端登录入口
Notebook
个人简历
预览
下载
Toggle navigation
Song Jie 's Blog
Home
About Me
Archives
Tags
实习期工作日志
2019-08-09 09:12:20
154
0
0
songjie
#### Job logging ---- ### 2019.7.22 工作部分: - 调研相关文献,记录部分信息(.md),后期可能整理成文献报告或者文献目录报告。目前sc-data映射研究较新,最早涉及到基于sc-data对bulk-data反卷积的是2015年的一篇[Nature method:CIBERSORT](https://doi.org/10.1038/nmeth.3337),大多数的相关软件和改进方法是基于线性模型进行分析的,也有部分使用机器学习的(未了解其思路),未见有基于深度学习/CV相关方法进行分析的,也未见讨论中涉及。 - 目前以 [Nature method(2019)](https://www.ncbi.nlm.nih.gov/pubmed/30886410) 的一片文章作为主线,数据都是已经处理好的,方便分析和对比方法。其中用于验证的bulk-data是74组处理好的流感肺部组织时序信息,用到的sc-data是[Cell system](https://www.cell.com/cell-systems/fulltext/S2405-4712(18)30196-0?_returnURL=https%3A%2F%2Flinkinghub.elsevier.com%2Fretrieve%2Fpii%2FS2405471218301960%3Fshowall%3Dtrue) 的数据,包含9个组织的349个细胞,其中保留了1858个基因的表达信息,(原始数据为分别从流感治疗和对照小鼠分析总共2,034和2,146个细胞) - 这篇方法提供的包为scBio,其中用到的方法为 **The Cellular Population Mapping (CPM) algorithm** ,具体算法未理解明晰,文中表述: CPM is focused on cell alterations within each cell type and not changes in the total number of cells in the cell type. 计划部分: - 先解决少数几个**方法和思路较为明晰**的文章,在**简单数据集**上的结果复现,以及相同数据集上的**方法比较**问题。搞清楚到底欠缺什么,哪里是处理的棘手部分。 - 如何选mark基因 - 改进的思路 - 在这个项目的不同部分的结合,例如使用bulk-data对sc-data的矫正(有篇GB就介绍了这个事情),批次效应的矫正,同物种不同时期的数据能否混用等。 ### 2019.7.23 工作笔记: - 找到一个刊发在Cell system的一个非常详尽的BSEQ-sc流程,https://shenorrlab.github.io/bseqsc/vignettes/bseq-sc.html#software,同时囊括了上下游的分析和可视化。也包含了处理好的大量的数据。 - 具体到任务**结合bulk RNA尝试denoising与imputation**,这部分内容感觉可以重点理解[Nature method](https://www.nature.com/articles/s41592-019-0425-8) 的**Benchmarking single cell RNA-sequencing analysis pipelines using mixture control experiments** 和 [Genome biology](https://link.springer.com/article/10.1186/s13059-019-1681-8#Sec5)的 **SCRABBLE: single-cell RNA-seq imputation constrained by bulk RNA-seq data** - 讨论了下,确定基准数据集,其中一个cel2-seq测得的sc-data,三种癌症细胞,和一个mix/bulk-data。 - 听取了组织内的乔迁研讨会....内容三个部分,主动健康的发展概况,生理年龄(区别于身份证年龄)的估计,高血压的脑卒中风险的评估量化,大概领教了下这些内容的发展概况/算法和组织内的同学高深的数学功底。 - 重新维护了翻墙代理工具 - 重新维护了文献库代理工具 计划部分: - 评估算法 - 使用基准数据集复现一遍结果 ### 2019.7.24 工作笔记: - 未完成前两日涉及的所有计划。。。很尴尬。 - 大量时间消耗在首次维护生产环境上了。 - 主要在文献调研。 - 完成了CellBench的环境搭建,和部分跑通了CellBench_data的流程。 新思路: - 将sc-data尽量纲化成低分辨率高质量的表达矩阵,允许有缺失值,但是存在的值是高可信度的。 - 在mix/bulk-data中,或者是已知的公共数据集中构建表达谱的WGCNA。 - 将网络node位点固定,使用对抗网络在完整的bulk-data上进行训练。 - 提升低分辨率的表达矩阵的分辨率(转化成提箱书) 关于该思路的文献调研: - 主要分为三方面。GAN是否在用于sc-data的imputation,通过谷歌的关键词搜索,并未发现过类似文章,有一篇提到了单细胞数据的数据偏执问题,但他仅用于模拟生成单细胞的表达数据,并未涉及到数据矫正重建之类的工作。做模拟数据的也有寥寥几篇文章提到。 - 在计算机领域,进行图像数据以及其他类型数据的imputation的研究已经很丰富了,已经到了比优和哪种方法更合理的关节。 - 结论: 在**数据量**(单细胞数据很多,同时可参照bulk数据),**数据类型**适合(矩阵数据,亦或是关系网络的矩阵数据),可实现(可直接参考的和迁移的**方法**比较多),也适合**深入**(可筛选和解决的问题设计很多)等方面都适合进行这个思路的尝试。 其中一点启示: - 在文献调研中,第一个找到的是发在中国工程学学报上的一片**采用改进生成式对抗网络的电力系统量测缺失数据重建方法**,其中提到了两个问题 - **量测缺失数据重建**,由于系统波动和测量手段造成的测量值缺失,这部分通过GAN网络进行填充,这也是正常的使用GAN进行数据重建的手段。可以通过类似于单一变量与周围的关系,进行矫正和补充,或者通过时序/类似样本进行类似差值的方法进行补充。 - **重建非随机缺失的量测数据**,当测量设备损坏,造成某部分变量长时间数据缺失时,这时候只能通过整体可能存在差异的其他**样本群**进行模拟和补充。 - 另外就是有一点,测序手法导致整体bias如何矫正。 ### 2019.7.25 文献调研部分: - 在刊发在[F1000](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6415334/)上的一篇 **False signals induced by single-cell imputation** (已经通过同行评议并已收录) 提到了使用插补法会给数据造成明显的假阳性的问题,这个问题值得思考和讨论,同时文中提出了如何评估这个问题的影响程度的几种方法。 - 在文章中第一次出现了一个关于DL的方法[DVA 2019](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6415334/#ref-27),是一个使用**自动编码器**的方法,但是效果不好,具体方法设计还没看。 - 在同行评议的评论区,有提到**DCA**和**scVI**这两种DL的方法,需要补充看下。*Furthermore, I am curious how the new deep learning methods DCA and scVI would perform in this evaluation. These represent combinations of model-based and smoothing approaches, which may better strike the balance between sensitivity and specificity.* - 这个人对文章的总结很好: *A central message of this article is that imputation shifts the balance between sensitivity and specificity of statistical tests in the same manner as changing the significance threshold. One could emphasize this statement in the marker gene analysis section by changing the significance threshold of the marker gene test on unimputed data to recover the same number of marker genes as in the imputed data test.* 工作内容: - 文献调研 - 将CellBench_data的依赖和未说明的依赖库安装完成。 - 在流程中的数据标准化和imputation部分跑通,在之后的工作中可以统一数据类型,评估标准和对比现有方法。CellBench提供的可并行的,将新方法接口写好,**一步就可以将新方法补充到已有流程中**的函数设计,非常好用。 ### 2019.7.26 工作内容: - 为解决测试数据需大量计算资源的问题,和未来使用GPU的需求,故申请了云服务器 - 但是堡垒机一直存在问题无法使用sftp(周五下午已解决),故申请了本地的cpu服务器 - 为了方便处理流程中的可视化部分,调用了服务器本身的Rstudio-server服务,同时调用了R和共享的Rlib,但是不少包老旧也没有编辑权限,出现了大量兼容问题,故本地编译了R软件 - 但是本地编译的R软件较新,用到了大量依赖,部分软件需要本地编译。故安不同软件的编译教程本地编译加库。 - 配置好的本地R-3.6.1无法被Rstudio-server调用,编译时需添加参数,重新编译,报错导致疯掉了。 - 重新回到R-3.5.1+部分老包+Rserver,尝试安装软件。 - 日常写周报。 - 补充! 解决了云服务上老旧版本包导致的兼容问题,在私有库中进行指定位置安装,私有库调用优先于共有库,重新装一遍依赖就行。 ---- ### 2019.7.29 工作内容: - 总算解决了cpu服务器去上的R环境配置问题,最后一个小问题是Linnorm的amap依赖,默认使用的是r3.5,这个包在cran上备份的是3.6版本才有,手动下载旧版本并本地解决依赖安装就好了。 - 服务器上基本跑通了流程,下述的部分方法结果已经跑出。 - 评估方法进行理解。 - 较为仔细的学习理解并记录(scPipe_and_imputation)了目前imputation所涉及的几个主流软件的方法:1. Drimpute,先聚类,再进行类似的细胞非缺失的迭代插补。2. mcImpute,通过将缺失值表达矩阵作为低秩矩阵,然后进行矩阵分解使用最小化MF,进行近似求解,使用矩阵还原后的值替代缺失值(不用聚类)。3. scImpute,标准化后通过判断每个基因的可能的缺失率来判断缺失基因,使用类似细胞每个基因表达构建模型来拟合缺失值。 - 还有几个记录了摘要并未仔细理解的方法:MAGIC,SAVER,kNN-smoothing,赶明理解 - scImpute 提到了模拟数据的思路和方法,看起来更可靠地样子。 工作计划: - 理解剩下几个方法 - 补充这些方法到流程中 - 整理这些方法优劣 - 调研结合bulk-data的imputation方法 ### 2019.7.30 工作日志: - 昨晚和实验室小伙伴交流,了解到两个关于DL的方法解决imputation的新软件,[DCA](https://www.nature.com/articles/s41467-018-07931-2),利用自编码器解决问题的,和[singlecelldb---这是个wiki](https://www.biorxiv.org/content/early/2018/11/27/315556)。 - 补充下CellBench的流程 ![cells](https://5b0988e595225.cdn.sohucs.com/images/20190528/6eb662cb83364a1b988491f22f86c3b8.jpeg) - 今儿个主要学习了 MAGIC,SAVER,kNN-smoothing,DCA,scImpute,netSmooth的方法细节,但除了knn大多只能理解部分,部分思路已记录。其中部分思路,如netSmooth的方法,使用其他数据库的信息构建PPI再预测,引入了场外信息作为先验,值得借鉴;DCA的用到了自编码器,其中压缩过程作为去噪过程也值得借鉴。 - 下课前找到了一篇[LATE](https://www.biorxiv.org/content/10.1101/504977v1.full),也是用自编码器做的,由于涉及到自身建立的两个自编码器,所以过程中使用了迁移学习,用的是上边吐槽的MSE方法,但是用了场外信息和一些手段避免了过拟合,例如计算MSE时不考虑0。 - scVI方法可以imputation时考虑batch effect,赶明看看 ### 2019.7.31 工作日志: - 阅读文献进行调研 - 讨论 甲基化转座子染色体结构编译关系,以及查找相关资料 ### 2019.08.01 工作日志: - Seurat一直跑不通,发现是大更新后参数变了,重新指定版本安装,发现rstudio无法安装依赖ranger,原因默认的gcc版本不对,和用户调用的环境变量不同,更改就好了。 ### 2019.08.02 - R包竟然也有重名问题.....RCA - 做seminal的PPT ---- ### 2019.08.05 - 做seminal的PPT - 讲PPT,主要介绍了sc-data的背景和用到的软件, - 准备不充分,很多地方讲的很磕绊 - 原理理解不深,很多原理性答疑未能解释 - 未做summary - 文字太多,放的图太少 - 应该自己整理个主线,然后按照线整理个差异路线图,讲解不同研究人员的工作 - 生成一份模拟数据 工作计划: - 明天先做一份数据可视化报表 - 前100富表达基因的表达热图 - 前100差异表达基因的表达热图 ### 2019.08.06 工作日志: - 有一份大数据量10w级的小鼠神经系统的单细胞数据,同是发布了几乎囊获了所有下游分析的软件[LIGER](https://www.cell.com/cell/fulltext/S0092-8674(19)30504-5?rss=yes),这个软件神奇的是可以得到空间位置和甲基化的关联类群,很神奇。 - get巨大宝库[panglaodb](https://panglaodb.se) 大规模分析可以用这个数据库.....含了1368个的相关实验(数百万的细胞数据),使用不同的技术和组织分类,同时使用通用的流程进行分析,提供RData和tex的表格,和聚类结果可直接下载。也有打包好的数据,不用爬虫。 - 实验并验证的cellbench使用的通用的数据处理标准化过程,主要参考的是[scran](http://bioconductor.org/packages/release/bioc/vignettes/scran/inst/doc/scran.html#4_normalizing_cell-specific_biases)软件这里记录下: - >sce2 <- scran::computeSpikeFactors(sce, general.use=FALSE) # - > sce2 <- normalize(sce2) - (general.use=FALSE) means will only be used by the spike-in transcripts. - 因为这里的技术使用的是加标签的RNA建库(spike-in RNA,例如加入UMI),所以用*computeSpikeFactors*,如果是gene counts的话用 - >sce <- computeSumFactors(sce) - This computes size factors that are used to scale the counts in each cell ### 2019.08.07 工作日志: - 记录下,CellBench_data 是NextSeq 500测的,同时SRA上写明双端 所以应该是2*150 - 主要在完成 **standard_cell_type_GE.rmd** 这个文件的的制作,主要是用于生成标准基因表达矩阵,和找到标记基因, - 使用scran进行标准化,2w多基因 - 手动设置一些阈值来控制基因在某类样本内的表达稳定性,非零,80%样本表达且大于5count,奇异值过大的基因去掉。最终保留了每类1000多个,并集近2000个,交集800左右 - 使用MAD来控制样本,其实没多大用处,就保留了,此处只做展示 - 使用Seurat来进行差异表达的识别,*Identifies differentially expressed genes between two groups of cells using the LRT model proposed in McDavid et al, Bioinformatics, 2013* p值设定0.01,每对1w左右基因,还挺多的。 - 最终保留了均值,标准化均值,sd,标准化sd等数据 - 情人节mark ### 2019.08.08 工作日志: - 补充完善昨天的rmd - 补充Deseq2的结果,事实上和罗涵的工作重复。。。。 - 暂未补充FC(其实是忘了、、、) - 调研基于AE(Autoencoder)的聚类方法 - @加入一个新的讨论组,设计多肽的 - 自身免疫疾病BD 白塞病,难以检查,病因不明,希望通过血清学检查诊断 - 自身免疫疾病可能多数就是系统不好好干活,攻击了自身导致的,所以检查异常的抗体表达 - 抗体类型很多,就要高通量,还要设计。想检查到抗体,就要用二抗,或者原始的抗原,但是病因不明,所以抗原也不一定靠谱,所以用一些潜在的二抗富集 - 目前找到两种 CTDP1 AECA 作为生物指标都不咋准,一个sn低,一个snsp都低。。。 - 工作就是设计这样检测的多肽。 - 开会讨论的到用cellstell(可能叫这个)进行特异性短肽段结合,找到可用于诊断水平的biomark或biomark组合。问题是这种随机较短的肽段,由于难以和真实蛋白匹配(过短),因此因此难以解释。 单细胞imputation目的和问题: - 整体失真 - 有噪音(随机扰动) - 检测偏好(技术造成的偏执) - ... - 数据缺失 - 表达量过小 - 扰动原因 - 未表达 - ... 计划流程: - 判断相似细胞 - 判断哪些是相邻细胞的轨迹表达,哪些是正常波动 - .... ### 2019.08.08 - 重新补充了CPM TPM的计算结果 - 补充了非零值的计算结果 - 调研了部分Autoencoder的聚类方法,借助教程,配置了环境和demo,在测试数据上进行测试。 - 听取了主动健康的seminar ---- ### 2019.08.12 工作日志: - 部署了LATE和scVI的软件和测试数据 ### new-method design: - 基于LATE的方法,通过AE-based cluster进行样本筛选,分批次进行imputation。(或者尝试改动批次下降的部分,避免不同类型样本输入时相反的梯度造成的梯度差消失) - 实现AE-based cluster,基于encoder输出层的kmeans聚类 ### 2019.08.13 工作日志: - 选中评估imputation效果的两种方法 - 计算聚类后的轮廓系数的大小 - 计算与mix数据的相关系数 - 讨论 new-method-design 的具体思路 - 基于Deep Subspace Clustering或者 Deep Adversarial Subspace Clustering,将聚类任务作为收敛的约束项之一,但思路中的计算原理和该层的表示方式需要重新梳理。 - 基于bulk-data的GAN对sc-data的imputation还原。 ### 2019.08.14-15 - 理解Deep-subspace-clustering-networks 完成 - 下载并跑通 Deep-subspace-clustering-networks 完成 ---- ### 2019.08.19-23 - 结合自己数据跑通Deep-subspace-clustering-networks 完成 未收敛 - 改成适合数据的全连接 完成 为收敛 - 补充评估方法 完成 - 补充预训练 未完成 - 结合GAN进行改进 未完成
Pre:
Deep Subspace Clustering Networks
Next: No Post
0
likes
154
Weibo
Wechat
Tencent Weibo
QQ Zone
RenRen
Submit
Sign in
to leave a comment.
No Leanote account?
Sign up now.
0
comments
More...
Table of content
No Leanote account? Sign up now.