(閱讀本文需要簡單了解python中的函數、python模組的安裝與模組的調用)
文末有驚喜,免費Python信息分析培訓班送給你哦
Python是當下數據科學主流程式語言之一。Python與R在處理統計問題和數據可視化方面同樣強大,但Python擁有更豐富的生態系統和更廣泛的應用場景,如搭建深度學習模型和編碼簡單的算法。對於有編程基礎或項目周期較充裕的科研工作者,Python適合作為職業發展初期的入門與主力程式語言。
熱圖(heatmap)是一種直觀的數據可視化方式,使用明暗相間的相鄰色塊表示數值大小。熱圖常與聚類分析一同使用,用於展示多個基因的表達量及其分組關係。使用Python的Matplotlib和Seaborn模組可以輕鬆得到自定義風格的熱圖用於數據展示。下面讓我們一步一步了解如何繪製一幅自定義風格的熱圖:
(可使用pip命令或anaconda下載對應的python模組。可使用清華大學開源軟體鏡像站下載最新的anaconda:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/)
將數據整理成如下格式:第一列為sgRNA名稱,後續每列為每個樣本sgRNA的reads數
(DEMO_gRNACount.txt,注意保證每行的長度相同)
使用read_csv(分隔符為\t)讀取文件,indexcolumn為"sgRNA"列
取第2-10列用於繪圖
3.使用sns.heatmap繪製不含聚類分析的熱圖
參數介紹:
data:結構為PandasDataFrame (DF)
vmin,vmax:colormap對應數值的最小值和最大值(float)
cmap:Matplotlib colormap名(string)
center:colormap中心的數值(float)
annot:是否在色塊中間添加數據標籤(True/False)
fmt:數據標籤格式(string)
linewidth:色塊邊框線條粗細
cbar:是否有cmap對應的顏色漸變條
繪製結果如下圖所示:
調整cmap參數可以繪製不同風格的熱圖:
3.2使用sns.clustermap繪製含有聚類分析的熱圖
使用heatmap繪製的熱圖不包含聚類分析。如果需要繪製含有聚類分析的熱圖,需要使用clustermap函數:
參數介紹:
clustermap的大部分參數和heatmap相同,其它參數包含
col/row_cluster:是否對x,y軸進行聚類
method:聚類分析的方法/算法(可選項:'single', 'complete', 'average', 'weighted', 'centroid', 'median','ward' )
metric:":簇之間的距離類型(可選項:'braycurtis','canberra','chebyshev', 'cityblock','correlation','cosine','dice','euclidean','hamming','jaccard','jensenshannon','kulsinski','mahalanobis','matching','minkowski','rogerstanimoto','russellrao','seuclidean','sokalmichener','sokalsneath','sqeuclidean','yule')
繪製結果如下:
with"fmt"
without"fmt"
安裝Seaborn, Matplotlib, Pandas包用於數據處理和繪圖
使用sns.heatmap和sns.clustermap 繪製熱圖
調整參數繪製不同配色風格與聚類方法的熱圖
參考資料與推薦閱讀:
python官方文檔– import語句
https://docs.python.org/zh-cn/3/reference/simple_stmts.html#importMatplotlib官方文檔:matplotlib.pyplot.subplots
https://matplotlib.org/3.3.2/api/_as_gen/matplotlib.pyplot.subplots.html熱圖
Gehlenborg N, Wong B. Heat maps. NatMethods. 2012 Mar;9(3):213–213.Seaborn官方文檔:seaborn.heatmap
https://seaborn.pydata.org/generated/seaborn.heatmap.htmlSeaborn官方文檔:seaborn.clustermap
https://seaborn.pydata.org/generated/seaborn.clustermap.htmlScipy官方文檔:聚類分析的距離類型
https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.pdist.html#scipy.spatial.distance.pdistScipy官方文檔:聚類分析的方法
https://docs.scipy.org/doc/scipy/reference/generated/scipy.cluster.hierarchy.linkage.html#scipy.cluster.hierarchy.linkage今天的文章分享到此結束,下面是福利時間
《金唯智第五屆生物信息培訓班--Python編程》已全部上線,而且完全免費!有需要的老師可以點擊下方海報收看課程回放。
關於金唯智
GENEWIZ(金唯智)成立於1999年,總部位於美國新澤西州,是專注於基因組研究和基因技術應用的生物高科技公司。金唯智在全球範圍內為科學研究人員提供高通量測序、Sanger測序、基因合成、引物合成、分子生物學服務及GLP標準規範服務。基於金唯智嚴謹的科學和卓越的服務,包括近30位諾貝爾獎獲得者在內的眾多科研工作者已成為金唯智的忠實客戶,全球諸多知名跨國公司以及著名高等學府也把金唯智選為其戰略合作夥伴和首選供應商。2018年,金唯智正式加入Brooks集團,成為納斯達克指數上市公司的一部分。更多信息,請訪問 www.GENEWIZ.com.cn
郵件:Enews.China@genewiz.com.cn科學嚴謹 服務卓越