学习什么,都得从基础开始,作为生信分析的一个必备软件,R语言操作技能当然是相当重要和基础的,今晚,就趁机练习一下jimmy师兄生信菜鸟团给出的“生信人的20个R语言习题”,答案下一期更新贴出。
1.安装一些R包:
数据包: ALL, CLL, pasilla, airway
软件包:limma,DESeq2,clusterProfiler
工具包:reshape2
绘图包:ggplot2
不同领域的R包使用频率不一样,在生物信息学领域,尤其需要掌握bioconductor系列包。
2.了解ExpressionSet对象,比如CLL包里面就有data(sCLLex) ,找到它包含的元素,提取其表达矩阵(使用exprs函数),查看其大小
参考:http://www.bio-info-trainee.com/bioconductor_China/software/limma.html
参考:https://github.com/bioconductor-china/basic/blob/master/ExpressionSet.md
3.了解 str,head,help函数,作用于 第二步提取到的表达矩阵
4.安装并了解 hgu95av2.db 包,看看 ls(“package:hgu95av2.db”) 后 显示的那些变量
5.理解 head(toTable(hgu95av2SYMBOL)) 的用法,找到 TP53 基因对应的探针ID
6.理解探针与基因的对应关系,总共多少个基因,基因最多对应多少个探针,是哪些基因,是不是因为这些基因很长,所以在其上面设计多个探针呢?
7.第二步提取到的表达矩阵是12625个探针在22个样本的表达量矩阵,找到那些不在 hgu95av2.db 包收录的对应着SYMBOL的探针。
提示:有1165个探针是没有对应基因名字的。
8.过滤表达矩阵,删除那1165个没有对应基因名字的探针。
9.整合表达矩阵,多个探针对应一个基因的情况下,只保留在所有样本里面平均表达量最大的那个探针。
提示,理解 tapply,by,aggregate,split 函数 , 首先对每个基因找到最大表达量的探针。
然后根据得到探针去过滤原始表达矩阵
10.把过滤后的表达矩阵更改行名为基因的symbol,因为这个时候探针和基因是一对一关系了。
11.对第10步得到的表达矩阵进行探索,先画第一个样本的所有基因的表达量的boxplot,hist,density , 然后画所有样本的 这些图
参考:http://bio-info-trainee.com/tmp/basic_visualization_for_expression_matrix.html
12.理解ggplot2的绘图语法,数据和图形元素的映射关系
理解统计学指标mean,median,max,min,sd,var,mad并计算出每个基因在所有样本的这些统计学指标,最后按照mad值排序,取top 50 mad值的基因,得到列表。
注意:这个题目出的并不合规,请仔细看。
13.根据第12步骤得到top 50 mad值的基因列表来取表达矩阵的子集,并且热图可视化子表达矩阵。试试看其它5种热图的包的不同效果。
14.取不同统计学指标mean,median,max,mean,sd,var,mad的各top50基因列表,使用UpSetR包来看他们之间的overlap情况。
15.在第二步的基础上面提取CLL包里面的data(sCLLex) 数据对象的样本的表型数据。
16.对所有样本的表达矩阵进行聚类并且绘图,然后添加样本的临床表型数据信息(更改样本名)
17.对所有样本的表达矩阵进行PCA分析并且绘图,同样要添加表型信息。
18.根据表达矩阵及样本分组信息进行批量T检验,得到检验结果表格
19,。使用limma包对表达矩阵及样本分组信息进行差异分析,得到差异分析表格,重点看logFC和P值,画个火山图(就是logFC和-log10(P值)的散点图。)
20.对T检验结果的P值和limma包差异分析的P值画散点图,看看哪些基因相差很大。
生信技能树论坛