2021第二期_数据挖掘班_微信群答疑笔记
做教学我们是认真的,如果你对我们的马拉松授课(直播一个月互动教学)有疑问,可以看完我们从2000多个提问互动交流里面精选的200个问答!
与十万人一起学生信,你值得拥有下面的学习班:
有免疫相关基因集下载的地方吗?还是有专门的包解决这个问题
搜索我们生信技能树公众号历史教程,请看:免疫相关基因数量到底是多少个
老师,课前安装的软件可以装在E盘吗?C盘空间不多了
R和 Rstudio 要安装在C盘,其他软件关系不大
老师,Windows系统只需要装R语言以及rstudio,Git,还有微信电脑版,钉钉这5个软件?其它不需要是吗?
嗯
老师,我圈的这些是不是重复的基因啊?
看起来应该是同一个基因的 不同可变剪切版本,有些基因是已经注释到可以精确到可变剪切版本的程度的,
请问老师,git一定要安装在系统盘嘛?
建议C盘
我的library文件夹,没有150多个文件,只有30个?
运行最后的 library 代码,如果有看到 ERROR,就把对应的包重新安装一遍,没有 ERROR 就不用管。因为你的包有两个不同的文件夹存放,上完课就懂了
老师,Mac是不是就不用下载git了
是的,Mac不需要git
安装R包的网页打不开怎么办,换了好几个网络了。
群内反馈助教解决
RStudio安装失败,怎么解决?
安装有顺序哦,先安装R语言哈
igv安装以后双击没反应,打不开软件,是怎么回事
这是正常的,igv 打开需要耗费一定的内存,还要网络好一点,关掉一些无关的程序,再试试。如果一闪而过,就先放放,下次再试试
有纸质版资料嘛?
线上直播,资料都是电子版的,先做好准备工作,课件在课前发
老师,请问下,在R包安装的时候遇到下面截图的问题,也已经按照提示进行修改,为什么还是会提示cannot open URL啊
把 https改成http
是否更新?
这是运行的代码
先不更新,library后无报错就可以了
只要先安装钉钉,Git,R ,R Studio和微信,这5款软件是吗?其他的先不用管
是的
老师,刚不小心把Rstudio控制台上的console、jobs中间的小窗therold(忘记怎么拼写了)给关了[捂脸],请问怎么恢复呢?[抱拳]
搜索一下 Rstudio terminal
老师红框里边的怎么理解?
x是一个数值型向量,任何数字放在!后边都是F,除了0。第一,!意为取反,后边放数字,会发生数据类型转换,数值型转换成逻辑型;任何数字除了0,转换成逻辑型,都会转换成T,因此,取反均为F。
老师,为什么我这个csv读取出来,第一列表头是乱码,其他列又是好的呢
因为这个文件用Excel表格打开过,读取乱码就把乱码的列名重新命名一下就行。
尝试写了一个函数,把每一列提取出来变成新的CSV,但是在文件名的命名上好像没办法实现自动化?
file=的后面应该写引号里加文件名对不对?一个文件名的本质是个字符串,这个字符串可以用paste0来生成,
老师 麻烦问一下rio包是不能实现两个excel合并的功能吧 我倒腾了半天 读入是没有问题的 但是合并就是不成功 看了包里函数的帮助 好像也没有是这个功能的
你是不是理解错了?我说的是他可以读取含有多个工作簿的Excel,我并没有说过他能够合并两个Excel呀。还有就是分步骤解决,比如不要试图用一个用来读取的函数来合并数据
老师,请教一下课堂外的问题。可以通过数据库根据circRNA预测miRNA吗?
构建网络用吗?据我所知中间似乎需要连上mRNA,有的文章是:用miRNA 预测circRNA,然后和用芯片筛选出来的circ RNA取交集,用的预测数据库叫CircInteractome
老师,为什么merge之后,列名有了后缀“.x”“.y”?
这个是因为你用merge的时候,可能有重复的列名存在,所以它就分了“.x”“.y”
rio包export还不能直接导出来excel的格式,导csv汉字又会乱码,encoding = "UTF-8"的参数还不能写在export里面,帮助里面让用write.xlsx函数导出,但是rio包里面没有这个函数,就又重新下载安装了write.xlsx函数的包,再用这个函数把文件写出来
纠正一下,export可以到处xls,或许是xlsx
老师,我还是没懂,新建的任意Rproj不可以读取工作目录的任意CSV文件吗
你或许你是新建了一个文件夹,但是并没有切换project,所以导致你认为的工作目录并不是真正的工作目录。实在不确定自己的工作目录在哪里,你就用getwd返回一下结果,getwd() 里面不用填任何信息
能不能读取成功, 主要取决于你的文件在不在你的当前目录, 如果不在, 你得指定文件所在的位置. 你新建的Rproj是空的, 里面没有任何文件, 因此你如果要读取不属于你这个新建的Rproj的文件的话, 要么指定文件所在的具体位置, 要么回到之前的Rproj去, 要么把你要的文件复制或者移动到你新建的这个Rproj里来
学员笔记
https://www.yuque.com/docs/share/ce6637cb-c025-46f6-b690-093a613cd402?# 《R语言入门-生物技能树》
https://www.yuque.com/docs/share/5de587c1-af44-495a-9a24-9dc50de384f3?# 《小洁老师布置作业之终极练习题》
各位老师好,我课题有个问题,想咨询一下。你好 又打扰了,我分别导入了72个样本的.rds文件,如P39 <- readRDS("../00data/P39.rds"),再用seurat的FindIntegrationAnchors()函数将其整合,这个地方用list 还是 c呢?我用list这一步没有错误,下一步就报错了,我觉得 应该用c
library(harmony)
seuratObj <- RunHarmony(sce, "orig.ident")
names(seuratObj@reductions)
seuratObj <- RunUMAP(seuratObj, dims = 1:15, reduction = "harmony")
建议使用 harmony,你这么多单细胞数据集的整合,harmony会友好很多哦,你只需要指定sce的某一列,需要被整合的那个因素
如果用seurat的话,FindIntegrationAnchors()使用list(),把72个单独的对象,生成一个list列表
昨天练习里用到的mpg文件,可以view,可以根据它画图,可是在工作目录里并没有,请问这个文件在哪里呢?
内置的数据 有点像iris ,mpg是在ggplot2 package的内置dataset 这边可以查看 https://vincentarelbundock.github.io/Rdatasets/datasets.html
各位老师好,我好奇地想问一下这下面的conflicts是表示啥意思呀?
函数的名称和其他R包一样,使用的时候会有一点冲突,使用的时候指定一下R包,tidyverse 和 dplyr 出自于同一个人,不存在冲突的问题
老师,那之前讲过的pheatmap::pheatmap是不是也是这个原因,当时觉得这个很怪
两个冒号表示的是包的名字和函数名字的连接,这个只不过是因为包的名字和函数名字重合了一样,和上面讲的不是一回事。
老师,写ggplot代码的时候,请问什么时候需要缩进和换行?
只是为了美观
老师我在安装R包的时候现实在非零状态,我自己上网百度了解决方案,试了试还是不行
看看二进制版本
这是我们自己测序的数据,公司发来的结果,他注释到GO通路之后出现很多P值等于0的,这种应该怎么理解呢
设置接近于0,精度不够,直接把它约等于0了,如果有差异基因列表,自己做
我安装“DO.db”显示是non-zero exit ststus
求助老师,这个神奇的org.Hs.eg.db包到底怎样装才对,总是装的时候没问题,加载就报错,包还用不了
这个包可能是在更新,很多人最近遇到了这个问题,试试安装旧版本
关于 library("org.Hs.eg.db") 包的报错,问题在于新版本的 RSQLite 存在 bug,解决方法是安装旧版本的 RSQLite:
重启 RStudio
关掉杀毒软件,然后运行代码 install.packages("https://cran.r-project.org/src/contrib/Archive/RSQLite/RSQLite_2.2.5.tar.gz",repos = NULL,type = "source")
仍然报错的情况下,找到RSQLite的工作目录删除原来的RSQLite,关了Rstudio,重新安装RSQLite
老师,昨天晚上讲的富集通路的PPT,为什么右下角那个通路那么宽呢?
封面默认是按照每一张子图的大小都是一样的,所以他才会变成这样,你觉得你就找一找分面怎样自由设置,有一个参数,可以实现,就让他们根据自己的实际情况来设置这个宽度。
关于批量安装R包
参数:character.only ,意思是,a logical indicating whether package or help can be assumed to be character strings,如果把课上代码的T改成F ,包名则不会被当成字符串 运行的时候会把pkg当成了一个包的名字
老师提取临床信息那里,您直接告诉我们用pData,但是我在帮助文档里面看了半天,和pData在一起的小伙伴还有这么多,如果我们接触一个新的狭义的对象要用,怎么知道在这里面选pData还是比如phenoData呢?这个例子我试了 我们要的pData实际上就是包含在phenoData里面的
有一些对象很出名,【先搜索后提问】搜索我们生信技能树公众号历史教程,自行点击教程学会在技能树[公众号历史教程里面根据关键词查询,https://mp.weixin.qq.com/s/TQqKlNRRbSYPM74D7mflsg,基本上初学者问题都有解决方案!关键词,对象
只能画成这样了 gene10的顺序实在是调不动了
就是画图合辑第二张图一样的问题,用有序因子解决
xena和tcga数据唯一的不同是不需要匹配ID是吗?除了匹配去重复和分组后面的步骤都和tcga自己下的数据一样的流程吗?
如果你问的是SCDA下载数据和GDP下载数据之间的区别,那我倒是可以跟你说一下,GDC下载相当于从官网上下载数据是一手的SDNA呢,它是下载好了之后帮你整理好了的,你说的匹配ID,如果指的是给他添加那个列名这个操作的话,那这倒不算是一个区别,是你整理一手数据过程中所经历的一个小问题,然后把它解决掉了而已。SA,它能达到的目的就是说得到表达举证和临床信息表格,这两个其实准确来说应该是三个,因为它把临床信息表格拆成了两个对吧,然后GDC呢,这两个数据你也可以得到,但是是自己整理出来的,他们之间不存在本质的区别,至于后面的步骤一不一样,你到时候再看就可以。
是再xena里面read.table 之后再按照gdc-client整理表达矩阵吗
X ena和JDC是两个独立的办法,GDCDC是管下载的,而XXN是下载了之后,你不管你别管人家拿什么东西下载的,人家是下载完之后帮你整理好了,成成为了一个表达,取证并不需要他俩做之间做什么衔接,他俩是并列的两种手段,目的都是拿到一个表达取证和一个临床信息表格。
老师们好,想请问一下这个报错是什么原因?之前跑的时候都可以 这次出了这个报错
拉宽拉大画板是一个选择,然后再重启,这个代码是没有任何问题的,肯定是出在你电脑上的一些配置,或者说这个画板的大小啊,或者临时抽一下风,重启就能解决之类的,是一个随便探索一下就能解决的一个偶然性问题。
老师,gene symbol后的数字是什么意思?代表同一基因吗?
是的
老师,为啥转录组的limma包分析比芯片的在构建model.matrix的时候要多加一个0?
用这个函数作为关键词,搜索,我分享过
老师,我想问个问题,这个对照只有2个normal,出来的PCA图,没有明显分群分开,适不适合继续做后续分析呀?
继续做另外两张图,结合着一起看
请问下载这个GEO数据的时候 出现这个报错是什么原因?
作者组织的这个文件有点特殊,读取的时候,默认参数搞不定,需要去找找参数,也有更快解决问题的办法,就是annoprobe
做差异分析时,报错,这是我的exp列名,是不是要把空白列去掉呀,为啥会有空白列呢?
哪一步产生了空白列名,需要你自己返回去检查,想最快实现目的,就xena下载,想锻炼解决问题的能力,就多试试搜搜
想请问老师们 别的软件出的图是不能导入patchwork拼图的吗 我用png这个包导入图片之后 报错了 不知道有没有什么解决的方法 或者有没有什么可以用来拼png格式的包?
不行
如何检查数据框中的NA,只能肉眼去看吗?
函数,is.na,加table来检查
我的R是3.6版本的 经常装包出现上面这种情况 用conda装包会简捷一些么?还是有什么其他的好法子呢 等待老师赐教[愉快]
有几种解决方法,一、联系你们服务器管理员升级一下服务器上的R;二、自己用conda创建一个小环境,装R 4.0,然后在小环境装这个包
方法一比较方便一些,方法二一般只能在命令行使用,即你要使用服务器的Rstudio-server会有问题,对应的解决方法可以参考 https://mp.weixin.qq.com/s/0Xy5uniTz8QUjM57pNOj0g,还有其他方法,比如安装旧版本的等
老师,我TCGA下扒下来的xml列数不一样,怎么转换成数据框呀?
GEO数据库只想分析其中一部分样本,根据str_detect关键词分组之后除了control 和treat,还有一堆空白的组怎么删掉?
提前删掉呀空白组,dat[dat$12 !=="",]
老师,我目前处在数据质控的那一步,想根据曾老师的推文做那三个质控图的层次聚类图的,但是挑了标准差最大的1000个基因出来做的层次聚类图好丑,这个层次聚类图展示的基因数量最少可以到多少个呀?
100,500,1000的差不多,你这个问题在于,热图没有zscore,没有使用我们的标准代码。见链接诶https://mp.weixin.qq.com/s?src=11×tamp=1625587580&ver=3174&signature=-a3uCODBJXJ01v4cUADHImd3BsumZTkRrrXqaPfrLjH*UhzfkPW6n6hIiyX2EDziqH3w0nOachGrRJTac30CydQ4GRUnZ*fgCso2IcF5amBwUsLRKsAc2jFStHD3i5dx&new=1
老师我还想问,如果boxplot和PCA图没问题,热图再加个zscore修改一下的话,层次聚类图可以省略吗?
不冲突,省不省略都不影响后续,不要纠结,继续做下去
老师,您说的这个,我的理解是把scale后的数据绝对值超过2的都限定在2,然后再作图,相当于在作图过程中修改一下参数的意思?就不涉及操纵原始数据,后面做差异分析的时候还是会用原始矩阵里面的数据来做,而这一步限定范围只是为了图形更直观地看出差异,这样理解?
后面做差异分析的时候还是会用原始矩阵里面的数据来做,这一步限定范围只是为了图形更直观地看出差异
老师,我在批量生存分析的时候有这个报错,我试了第一个基因运行没有错误,运行循环就有这个错误
你的基因需要过滤一下,低表达得太多了 比如全都是有25个样本里15个0,那按照中位数分会怎么样?过滤方法参考tcga-1的第一个rmd
老师 做WGCNA 这几个模块可以取吗,一般可以取的下限是多少呀?
确实相关性不高,矮子里面拔将军呗
老师,我想对上调的43个基因做GSEA分析,然后它报了这个错误,是我的基因数量太多了吗?
GSEA 是对全部的基因,上调的43个基因做GSEA分析,这个是错误的说法,gsea无需筛选基因,仅仅是EDGs排序即可;筛选基因后, 就是超几何分布的富集,两码事
请问set.seed括号里的数字是只是一个序列号,没有什么意义,把代码里的12345679替换成其他任意一个数字都可以是吗
是的
那一个project里的不同脚本之间 用同一个序列号也是相同的?我看lasso回归和多因素cox用的是同样的序列号 刚刚看了下结果好像也是一样的
是的
老师好,我又找不到对象了
k大小写
在做生存分析的数据准备的时候,在以code作为行名的时候出现了这种状况怎么处理?这种是正常的吗?
这个数据也是xena下载的,为什么? 你在把数据读入到R的时候,需要设置一下读取的参数
只写函数名,不打括号,可以看写函数的代码
大家好,我在做探针注释的时候,用getGEO和idmap得到的探针/基因名的数据框差别很大,请问有同学知道是哪里出问题了吗,谢谢!
差别大是很正常的,很多探针没意义哦,以哪个为准都可以的
老师们,如果在构建lassco模型时使用了两个数据集分别作为训练集和测试集,那么在下一步多因素cox中,是应该将两个数据集合并进行分析,还是只是用训练集进行分析呢?
分开
你说的混淆其实是不应该的,GEO数据是从一个log之后的表达矩阵开始。TCGA是从count开始,如果你实在不确定,比如说差异分析,要的输入数据到底是什么的话,找到我们TCGA的原始的那个脚本,然后把第一步加载数据,看看表达矩阵是大的还是小的就行了。dat=Log2(CPM+1),画热图包括做后续的分析,用的是CPM的数据,并且是取过log的,但是差异分析和这个是没有关系的,后面那是可视化,还有做后续分析用的差异分析,用的就是原始的count数据。
我想问一下,在lasso回归的时候,meta的数据中,有一个病人的event是na,这样的话做出来会报错,但是又要求expset和meta的病人一一对应,又不能去除那个na,这咋整呢?
本来一一对应,按照相同的条件去掉na后,还是一一对应
老师,这咋整呀。就一条线了
乳腺癌我之前做过分析,能找到挺好的基因。你在这之前做了什么筛选,把筛选条件调整一下吧。
请问我想做富集分析的时候 因为deg里没有ENTREZID 所有我用了ENSEMBL,怎么富集不出来呢
可能是你的ENSEMBL有小数,取整之后好像就行了
老师,我已经建好一个模型了,要画风险因子三联图。 画图需要predict()的预测值(fp)。训练集和测试集的预测值的代码是哪种呀?查了很多,有的是两个代码都要代入各自的数据,有的只是测试集需要代入测试集的数据。
我不知道你说的三图联动是两张图,分别画的意思,是吗?如果是训练集和测试集分开来画的话,应该是各自组织数据各自去画图才对,用训练集的时候predict直接写model就行,因为默认的那个new data就是你建模的那个数据,不用写上,如果是换了一个数据的话,那你就写上newdata等于哪个数据,他们俩的差别仅仅在这一个地方。
老师们,我从gdc官方下载TCGA-PRAD的表达数据,其中部分样本临床信息的下载过程中遇到如图显示的error,但是最后显示“successfully downloaded:500”,我看gdc官方中clinical的数据也是500条,这种情况下,需要重新下载直到无报错信息为止呢,还是可以继续进行?
继续就行,数量对上了,如果后边有问题,后边会暴露的
如果用TCGA做测试集去验证GEO训练集的模型,TCGA的数据是不是要log处理呀。
这是基础知识,课程有讲
想请问一下WGCNA的输入数据是fpkm和rpkm都可以吗 我看公众号描述的有些不一样
都可以
所以我可以先下count做了差异分析后 去xena上面下fpkm的数据来做WGCNA吗
必须的可以啊!
老师们,想咨询两个问题,我查网上资料说TCGA命名规则里第16位上B 代表FFPE样本,A代表冰冻组织样本,但是我从XENA上下载的phenotype表格中发现有部分病例样本对应的FFPE.sample里显示FALSE,所以还是以样本ID为主认为这是FFPE样本吗?另外一个小问题是,我想做癌和癌旁的配对分析(RNA-seq数据),有的病例癌旁样本ID是代表FFPE样本的B,而肿瘤部位是A(冰冻组织样本),这种病例样本需要剔除么?谢谢各位老师
这是个非常细致的问题了,A和B代表的是冰冻和石蜡包埋样本,这个是没错的,如果是两个地方写的不一样,要以哪个为准,只能发信发信息去问问他们,因为这是样本的组织者决定的,存在点儿错误也是正常的,如果是我的话,我就以样本ID为准。有些东西并不一定要100%正确才能用,它只要是可用的就行了,再就是其实TCGA的分析还是很粗糙的,你去网页上翻一翻看看,我讲了两种让表达矩阵和临床信息对应上的方法,一个是以病人为中心,一个是以样本为中心,如果是以病人为中心的话,肯定有一个病人只能保留一个样本,如果是以样本为中心的话,都需要留下,至于说normal样本是不是必须冰冻或者FFPE类型太细了,没有人管的,大多数人连a和b代表的是什么都不知道。
老师同一GPL平台的数据合并,在去除批次效应的时候我只用到了batch-effect代码里的第二步limma.R,没有用第三步的combat.R?
removebatcheffect和combat是两种去批次的办法,你用其中一个,当然没毛病[得意]
老师我想咨询一个问题,我有两个数据集,数据集一里面有肿瘤和对照的表达数据,数据集二里面只有肿瘤的,请问这种情况可以进行合并吗?
可以的
老师以及各位小伙伴,Agilent的双色芯片要怎样分析呀[破涕为笑][破涕为笑],求教,我找了一下网上没有合适的教程[捂脸][捂脸]我那天说错了,我回去认真看了一下我的第二个数据集的说明,它其实不是只有肿瘤,它是肿瘤/对照一起分析,分别标记cy3 cy5双色进行芯片检测的
我在GEO总结的部分列出了几个原始数据处理方式,你找过了没,里面有没有?如果确实没有,你把数据编号发一下,我得空帮你看看,没有教程是不可能的,要是真没有,我就给你写一个。如果你找的是这种过于小众的平台,那就直接换数据
请问老师有没有游泳图R代码 百度好像搜不到 只有SAS的教程
关键词 swimmer plot R
请问老师 分面以后 中间的空格怎么办?
为什么中间不能有空格儿?子图和子图之间本来就应该有间隔,如果你觉得非常重要,必须去掉,那你只能去搜一下ggpl里面怎样能把分面的时候两张图之间的间隔调整一下,有可能会有那样的参数。
这个该如何解决?
网上搜了是把不全列补全为NA,这样调整后感觉会对原始数据有影响呢? 确定一个办法不行,就换另一个,搜到的结果也不止这一个。其实解决这个问题是非常简单的,只想解决这一个问题的话,就从XENA上面去把他的生存信息和临床信息下载下来组合一下就行了,这个是最简单的解决你这一个问题的办法。如果想解决这一类问题,cbind.fill是一个办法,但他不是最好的办法。
老师们,这个图叫啥来着呢?
雷达图
老师,行名里面不允许有重复是听过的,但是这个不能有遗漏值是什么情况[破涕为笑]我用duplicated检查了一下也不存在有重复值的情况呀
试一下有无NA
终于解决了[捂脸]一时脑塞没想到NA去
想请问一下老师们 R中有没有办法模糊识别呀 就是我从两个地方下载得到的表格想要通过基因全称来合并 但是可能两边的基因全称有一点点区别 比如-变成空格这种 虽然变化很小 但是%in%就没法识别了
R中没那么智能[呲牙]大小写都做不到,trims函数,所有有规则的地方,你都可以写成函数,这样的话模糊匹配就被你分解为十几二十个规则
可以在其中一个增加一列,根据另一个文件的文件名去把id微调成能匹配上的,然后根据这一列新的去做合并,不太可能会是随机变化 没有道理 找一找是有命名的规则的
老师,还是TCGA的laosso回归问题,我的病人1104个,有一个病人的event 是NA,在model的时候出现了图上的报错。然后我就把NA的病人去除了,model 的时候就出现了下面图X和y不相等的报错。
xy是一一对应的,去掉x的NA还要把y的NA也去掉才行
老师,为什么我这个诺模图矫正曲线画出来是这样呀?
老师,我这个循环哪里错了?
昨天还能运行出来,今天就一直有这个报错,
老师,不知道为什么最后一步老是报错,
两个colname 不一致,仔细看,比较一下。