這是進行任何網絡分析的第一步。我們在這里展示如何加載典型的表達數據,將其預處理成適用于網絡分析的格式,并通過刪除明顯的異常樣本和基因來清理數據。
Input data format
我們將原始表達數據以及相關信息以AnnData格式存儲在名為geneExpr
的變量中。基因表達數據、基因元數據和樣本元數據可以作為 AnnData 對象一起傳遞給 PyWGCNA,也可以分別作為一系列矩陣傳遞。
AnnData 數據格式
如果您已經將表達數據存儲在 AnnData 格式中,您可以通過將變量以 AnnData 格式傳遞來定義 PyWGCNA 對象。請注意,AnnData.X 應該是表達矩陣,AnnData.var 應該包含每個基因的信息,而 AnnData.obs 應該包含每個樣本的信息。您可以在此處閱讀有關 AnnData 格式的更多信息。點擊這里-->
基因表達、樣本元數據和基因元數據的單獨矩陣
用戶可以傳遞各自的文件路徑,分別用于基因表達、樣本元數據和基因元數據,格式如下所示。
基因表達矩陣
表達矩陣應按照樣本對應行,基因對應列的格式進行排列。第一列應表示樣本ID或樣本名稱。接下來的列應包含唯一的基因ID或基因名稱。
sample_id | ENSMUSG00000000003 | ENSMUSG00000000028 | ENSMUSG00000000031 | ENSMUSG00000000037 |
---|---|---|---|---|
sample_11615 | 12.04 | 11.56 | 16.06 | 13.18 |
sample_11616 | 1.35 | 1.63 | 1.28 | 1 |
Gene metadata
基因元數據是一個表格,包含有關每個基因的其他信息,例如基因生物類型或基因長度。每一行應表示一個基因,每一列應表示一個基因特征,其中第一列包含與基因表達矩陣中使用的相同基因標識符。行的順序應與基因表達矩陣的列相同,或者用戶可以指定 order=False
。
gene_id | gene_name | gene_type |
---|---|---|
ENSMUSG00000000003 | Pbsn | protein_coding |
ENSMUSG00000000028 | Cdc45 | protein_coding |
ENSMUSG00000000031 | H19 | lncRNA |
ENSMUSG00000000037 | Scml2 | protein_coding |
Sample metadata
樣本元數據是一個表格,包含有關每個樣本的其他信息,例如時間點或基因型。每一行應表示一個樣本,每一列應表示一個元數據特征,其中第一列包含與基因表達矩陣中使用的相同樣本標識符。行的順序應與基因表達矩陣的行相同,或者用戶可以指定 order=False
。
Sample_id | Age | Tissue | Sex | Genotype |
---|---|---|---|---|
sample_11615 | 4mon | Cortex | Female | 5xFADHEMI |
sample_11616 | 4mon | Cortex | Female | 5xFADWT |
其他參數
以下是可以指定的其他參數。
-
name: 用于可視化數據的WGCNA的名稱(默認:
WGCNA
) -
save: 是否保存重要步驟的結果(如果要設置為
True
,您應該對輸出目錄具有寫訪問權限) - outputPath: 要保存數據的位置,否則將存儲在與代碼相同的目錄中。
- TPMcutoff: 用于刪除基因的TPM截斷值
-
networkType: 生成網絡的類型({
unsigned
,signed
,signed hybrid
},默認:signed hybrid
) -
adjacencyType: 使用的鄰接矩陣類型({
unsigned
,signed
,signed hybrid
},默認:signed hybrid
) -
TOMType: 使用的拓撲重疊矩陣(TOM)的類型({
unsigned
,signed
},默認:signed
)
有關這些參數的詳細文檔,請參閱此處。
數據清理和預處理
PyWGCNA可以根據以下標準清理輸入數據:
- 刪除所有樣本中表達量低于
TPMcutoff
值(默認值)的基因。 - 使用
goodSamplesGenes()
函數查找具有過多缺失值的基因和樣本。 - 對樣本進行聚類(使用來自scipy的hierarchical clustering),以查看是否存在明顯的異常值。用戶可以通過指定
cut
值來定義層次聚類的高度。默認情況下,通過層次聚類不刪除任何樣本。