生信人的20個R語言習題
請先看:生信人的linux考試
- 安裝一些R包:
數據包: ALL, CLL, pasilla, airway
軟件包:limma,DESeq2,clusterProfiler
工具包:reshape2
繪圖包:ggplot2</pre>
#不同領域的R包使用頻率不一樣,在生物信息學領域,尤其需要掌握bioconductor系列包。
- 了解ExpressionSet對象,比如
CLL
包里面就有data(sCLLex)
,找到它包含的元素,提取其表達矩陣(使用exprs函數),查看其大小 - 了解 str,head,help函數,作用于 第二步提取到的表達矩陣
- 安裝并了解
hgu95av2.db
包,看看ls("package:hgu95av2.db")
后 顯示的那些變量 - 理解
head(toTable(hgu95av2SYMBOL))
的用法,找到 TP53 基因對應的探針ID - 理解探針與基因的對應關系,總共多少個基因,基因最多對應多少個探針,是哪些基因,是不是因為這些基因很長,所以在其上面設計多個探針呢?
- 第二步提取到的表達矩陣是12625個探針在22個樣本的表達量矩陣,找到那些不在
hgu95av2.db
包收錄的對應著SYMBOL的探針。- 提示:有1165個探針是沒有對應基因名字的。
- 過濾表達矩陣,刪除那1165個沒有對應基因名字的探針。
- 整合表達矩陣,多個探針對應一個基因的情況下,只保留在所有樣本里面平均表達量最大的那個探針。
- 提示,理解 tapply,by,aggregate,split 函數 , 首先對每個基因找到最大表達量的探針。
- 然后根據得到探針去過濾原始表達矩陣
- 把過濾后的表達矩陣更改行名為基因的symbol,因為這個時候探針和基因是一對一關系了。
- 對第10步得到的表達矩陣進行探索,先畫第一個樣本的所有基因的表達量的boxplot,hist,density , 然后畫所有樣本的 這些圖
- 參考:http://bio-info-trainee.com/tmp/basic_visualization_for_expression_matrix.html
- 理解ggplot2的繪圖語法,數據和圖形元素的映射關系
- 理解統計學指標mean,median,max,min,sd,var,mad并計算出每個基因在所有樣本的這些統計學指標,最后按照mad值排序,取top 50 mad值的基因,得到列表。
- 注意:這個題目出的并不合規,請仔細看。
- 根據第12步驟得到top 50 mad值的基因列表來取表達矩陣的子集,并且熱圖可視化子表達矩陣。試試看其它5種熱圖的包的不同效果。
- 取不同統計學指標mean,median,max,mean,sd,var,mad的各top50基因列表,使用UpSetR包來看他們之間的overlap情況。
- 在第二步的基礎上面提取
CLL
包里面的data(sCLLex)
數據對象的樣本的表型數據。 - 對所有樣本的表達矩陣進行聚類并且繪圖,然后添加樣本的臨床表型數據信息(更改樣本名)
- 對所有樣本的表達矩陣進行PCA分析并且繪圖,同樣要添加表型信息。
- 根據表達矩陣及樣本分組信息進行批量T檢驗,得到檢驗結果表格
- 使用limma包對表達矩陣及樣本分組信息進行差異分析,得到差異分析表格,重點看logFC和P值,畫個火山圖(就是logFC和-log10(P值)的散點圖。)。
- 對T檢驗結果的P值和limma包差異分析的P值畫散點圖,看看哪些基因相差很大。