cytof數據處理難點之合併兩個不同panel的數據集

2021-02-24 生信技能樹

前面我們已經完成了cytof數據處理的主要步驟,讀入文件,質量控制,降維聚類分群,生物學注釋和細胞亞群比例差異分析。目錄如下:

其實跟純粹的單細胞轉錄組就非常類似了,不過單細胞轉錄組數據分析的細節以及背景我就不贅述了,看我在《單細胞天地》的單細胞基礎10講:

以及各式各樣的個性化匯總教程,差不多就明白了。

基本流程走完了,僅僅是萬裡長徵第一步而已。我們可以開始嘗試分析一些文獻的公共數據集啦,不過在處理那些數據的過程中,我們還需要傳授給大家幾個小技巧。

合併兩個不同panel的cytof數據集

有一些情況下,你的同一個實驗項目的多個FCS文件,它們的抗體順序並不一致。如下:

  sce1 <- prepData(fs, panel, md, features = panel$fcs_colname)
  sce2 <- prepData(fs, panel, md, features = panel$fcs_colname)
  rowData(sce1)[,1]
  rowData(sce2)[,1]

可以看到,兩個數據集的panel其實是一樣的:

>   rowData(sce1)[,1]
[1] "PerCP-Cy5-5-A"     "APC-H7-A"          "BV510-A"           "PE-Cy7-A"         
[5] "BV421-A"           "Alexa Fluor 647-A" "PE-A"              "FITC-A"           
>   rowData(sce2)[,1]
[1] "PerCP-Cy5-5-A"     "APC-H7-A"          "BV510-A"           "PE-Cy7-A"         
[5] "PE-A"              "Alexa Fluor 647-A" "FITC-A"            "BV421-A" 

都是8個抗體,但是呢,順序不一樣。

這個時候需要對 SingleCellExperiment 對象了如指掌:http://www.bioconductor.org/packages/release/bioc/vignettes/scater/inst/doc/overview.html

different quantifications (e.g., counts, CPMs, log-expression) can be stored simultaneously in the assays slot, 
and row and column metadata can be attached using rowData and colData, respectively.
metadata(1): experiment_info
assays(2): counts exprs

首先把SingleCellExperiment對象拆分

SingleCellExperiment對象比較複雜,需要自行閱讀,http://www.bioconductor.org/packages/release/bioc/vignettes/scater/inst/doc/overview.html

拆分的代碼如下:

  ct1=assay(sce1,1)
  ct1[1:4,1:4]
  ex1=assay(sce1,2)
  ex1[1:4,1:4]
  r1=as.data.frame(rowData(sce1))
  c1=as.data.frame(colData(sce1))
  
  ct2=assay(sce2)
  ct2[1:4,1:4]
  ex2=assay(sce2,2)
  ex2[1:4,1:4]
  r2=as.data.frame(rowData(sce2))
  c2=as.data.frame(colData(sce2))

然後把兩個抗體對齊:
  r1;r2
  n=match(r1$channel_name,r2$channel_name)
  r1;r2[n,]
  
  # 首先合併抗體信號矩陣
  ct=cbind(ct1,ct2[n,])
  ex=cbind(ex1,ex2[n,])
  # 然後合併細胞的樣本來源及其分組信息
  phe=rbind(c1,c2)
  head(phe)
  # 最後確定抗體的標記信息
  r1 # 因為r2已經被修改回來成為了r1
  # 參考   http://www.bioconductor.org/packages/release/bioc/vignettes/scater/inst/doc/overview.html 
  

有了兩個矩陣,assays(2): counts exprs ,以及抗體信息,樣品信息,就可以重新組建SingleCellExperiment對象,它比較複雜,需要自行閱讀,http://www.bioconductor.org/packages/release/bioc/vignettes/scater/inst/doc/overview.html

最後重新組建SingleCellExperiment對象

代碼超級簡單

 sce <- SingleCellExperiment(
    assays = list(counts = ct,exprs=ex), 
    colData = phe,
    rowData = r1
  )
  sce 

得到的全新的SingleCellExperiment對象就包含了兩個不同panel順序的cytof數據集啦。

如果不僅僅是panel順序不一樣

panel本身也不一樣,就比較麻煩了,不同的panel可能研究的生物學問題不一樣,或許有批次效應等其它未知的混雜因素。

需要具體問題具體分析啦。

相關焦點

  • cytof數據處理難點之細胞亞群繼續分群
    前面我們已經完成了cytof數據處理的主要步驟,讀入文件,質量控制,降維聚類分群,生物學注釋和細胞亞群比例差異分析。目錄如下:其實跟純粹的單細胞轉錄組就非常類似了,不過單細胞轉錄組數據分析的細節以及背景我就不贅述了,看我在《單細胞天地》的單細胞基礎10講:以及各式各樣的個性化匯總教程,差不多就明白了。
  • R語言常用數據處理代碼整理
    在收集好臨床數據,經過初步處理後,就可以導入到R軟體中去。R在進行統計分析前,常常需要對數據進行處理,使數據結構符合我們的統計需要,比如說變量因子化、創建新變量、變量類型轉化等等,因此數據處理是R進行統計分析前很重要的步驟。現基於各類R語言入門書整理R中常見的數據處理代碼。目 錄1. 預覽數據集2.
  • 數據可視化之R語言
    ("Severity_Counts")> library(lattice)> barchart(Severity_Counts,xlab="bug count",xlim=c(0,12000)) 加載數據包和數據集,xlab設置圖表名稱,xlim設置頻數範圍。
  • 讓煉丹師不再為數據集發愁,這家公司創建了一個AI公開數據集平臺
    機器之心發布 機器之心編輯部 初創公司格物鈦希望通過在公開數據集社區和數據管理工具領域的創新,從而推動數據定義軟時代這一新時代背景下的全球創新,破局數據孤島,賦能AI基礎設施建設。
  • R數據科學--第九章 dplyr處理關係數據
    1.簡介• 合併連接:向數據框中加入新變量,新變量的值是另一個數據框中的匹配觀測。• 篩選連接:根據是否匹配另一個數據框中的觀測,篩選數據框中的觀測。• 集合操作:將觀測作為集合元素來處理 2. nycflights13除了flight外,還有另外四個相關數據框。分別描述航空公司、機場、飛機、天氣。我喜歡以標準表格的形式觀察每個數據框。
  • Excel操作技巧:數據統計分析之數據整理!
    方法1:表格規範化所謂表格規範化,就是要把表格整理成如下圖所示的數據表格。要想用好數據表,需要掌握數據表的兩個規範化:標題規範化和數據規範化。2、數據規範化然後,我們還需要對表格中的數據進行規範化處理,數據規範化包括幾下幾點:不同數據內容,要記錄在不同單元格
  • 流式數據處理介紹
    什麼是流處理?流處理是一種大數據處理技術,用於處理連續數據流,並能在收到數據短時間內快速檢測出異常條件,檢測時間從幾毫秒到幾分鐘不等。例如,通過流處理查詢來自溫度傳感器的數據流,您可以在溫度達到凝固點時收到報警。流處理還有許多其他叫法:實時分析、流分析、複雜事件處理、實時流分析和事件處理。
  • 數據時代幾何處理與建模的研究進展與趨勢
    因此,數據驅動三維建模通常由以下三個組成部分:三維模型數據集、幾何/結構模型和建模輸入/約束。以下圍繞這三個方面,給出數據驅動三維建模方法的概述和分類。   首先,根據三維模型集的利用方式,數據驅動建模可以分為內容重用和模型學習兩個基本方式。
  • 用Python處理不平衡數據集
    數據不平衡處理方法imbalanced-learn庫提供了許多不平衡數據處理的方法,本文的例子都以imbalanced-learn庫來實現。,生成數據的方式和SMOTE是一樣的,不同在於每個minortiy樣本生成樣本的數量不同。
  • 算法原理:大數據處理的分治思想!
    引言MapReduce(分治算法的應用) 是 Google 大數據處理的三駕馬車之一,另外兩個是 GFS 和 Bigtable。它在倒排索引、PageRank 計算、網頁分析等搜尋引擎相關的技術中都有大量的應用。儘管開發一個MapReduce看起來很高深,感覺遙不可及。
  • MIND:高質量的新聞推薦數據集
    目前,許多有關新聞推薦的研究是在私有數據集上開展的,而已有的公開數據集往往規模較小。高質量基準數據集的缺乏限制了新聞推薦領域的研究進展。因此,微軟亞洲研究院聯合微軟新聞產品團隊在 ACL 2020上發布了一個大規模的英文新聞推薦數據集 MIcrosoft News Dataset (MIND[1]),並於2020年7月-9月在condalab平臺舉辦了MIND新聞推薦比賽。
  • 資源| MIT自然語言處理數據集和語料庫集合
    原標題:資源 | MIT自然語言處理數據集和語料庫集合 選自Github 作者:Karthik Narasimhan等 >機器之心編譯 參與:李澤南 最近,麻省理工學院(MIT)的在讀博士 Karthik Narasimhan 發起了一個為自然語言處理(NLP)準備的數據集/語料庫列表,以時間順序排列。
  • 數據定義軟體的時代是否已經到來?初創公司格物鈦想用開源數據集...
    但是不難發現這一趨勢從近幾年開始悄然發生了變化,實際上前30年的數位化變革已經產生了大量用於算法訓練的非結構化數據,如何存儲、管理以及利用現有的數據來完成更加高效的算法迭代和應用開發才是AI開發者在未來30年需要面對和解決的課題。伴隨著Snowflake這樣的數據處理軟體公司進入了人們的視野,我們看到數據定義軟體的時代已經到來。
  • 懂Excel就能輕鬆入門Python數據分析包pandas(十六):合併數據
    此系列文章收錄在公眾號中:數據大宇宙 > 數據處理 >E-pd經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas前言本系列上一節說了拆分數據的案例,這次自然是說下怎麼合併數據。
  • 花式導數據、合併、壓縮,數據分析更高效
    當然是——df.to_excel(『analysis.xlsx』)需要注意的是,如果你沒有安裝過 xlwt和 openpyxl 這兩個工具包,需要先安裝一下。另外,跟 HTML 一樣,這裡也有一個配套函數:read_excel,用來將excel數據導入pandas DataFrame。
  • Python 數據集探索與可視化實例指南
    字幕組雙語原文:Python 數據集探索與可視化實例指南英語原文:Explore and Visualize a Dataset with Python翻譯:AI研習社(Suen)在今天的文章中,您將學習:如何合併和整理數據,如何探索和分析數據,如何創建漂亮的圖形以可視化您的發現本文適用於誰:經常處理數據的人對Python和
  • ...最大的實體關係抽取數據集!清華大學自然語言處理團隊發布 FewRel
    作為目前關係抽取領域最大的精標註數據集,FewRel 中有 100 類關係,共 70,000 個實例,是很好的實驗數據集。 清華大學自然語言處理實驗室數據集團隊首先利用這兩者構造了一個遠監督的數據集。那麼,什麼是遠監督?知識圖譜中已經包含了許多實體以及他們之間的關係,我們可以假設,若兩個實體 h 和 t 間有關係 r,而一個句子中同時出現了 h 和 t,則該句子表達了它們之間的關係 r。通過這種方法可以自動獲得大規模的標註數據,然而這一數據是充滿噪聲的,幾乎無法直接用來訓練模型。
  • 不容錯過的Pandas小技巧:萬能轉格式、輕鬆合併、壓縮數據,讓數據...
    當然是——df.to_excel(『analysis.xlsx』)需要注意的是,如果你沒有安裝過 xlwt 和 openpyxl 這兩個工具包,需要先安裝一下。另外,跟 HTML 一樣,這裡也有一個配套函數:read_excel,用來將excel數據導入pandas DataFrame。
  • 分析COCO數據集進行姿態估計
    return images_df, persons_df我們使用get_meta函數構造兩個數據幀—一個用於圖像路徑,另一個用於人的元數據。在下一步中,我們合併兩個表(left join操作)並將訓練集和驗證集組合。另外,我們添加了一個新列source,值為0表示訓練集,值為1表示驗證集。這樣的信息是必要的,因為我們需要知道應該在哪個文件夾中搜索圖像。如你所見,這些圖像位於兩個文件夾中:train2017/和val2017/。
  • excel數據整理:合併計算快速查看人員變動
    我們想要找出人員的變動情況,只需要依據工號對比姓名這一列的數據即可。首先我們先點開上月的數據表。在「數據」選項卡―」數據工具」組裡有一個「合併計算」的功能,單擊它。合併計算是指將多個區域的數據合併起來計算。它的計算方式,可以是求和、計數、平均值等。