前段時間一直在用cellranger count進行單細胞測序數(shù)據的處理蹦魔,不得不說Cell Ranger作為10X Genomics官方的單細胞數(shù)據處理工具,功能還是很強大的涯呻。Cell Ranger官方介紹
cellranger count輸出結果中的outs.文件夾有幾個是非常重要的信息,我們今天只關注于filtered_feature_bc_matrix文件夾下的內容和possorted_genome_bam.bam文件量承。
一般來說好唯,我們下游的Seurat分析的輸入文件會選擇filtered_feature_bc_matrix中的文件馍资,而不選擇raw_feature_bc_matrix下的文件筒主,前者是經過過濾的,去掉了低質量的信息鸟蟹。進入filtered_feature_bc_matrix文件夾會發(fā)現(xiàn)它下面包含3個文件:分別是barcodes.tsv.gz乌妙、features.tsv.gz和matrix.mtx.gz。
barcodes.tsv.gz
AAACCCAAGAGATGCC-1
AAACCCAAGGTCGTAG-1
AAACCCACATCAGTCA-1
AAACCCAGTTTCCCAC-1
AAACCCATCCAAACCA-1
AAACCCATCCCTCTAG-1
AAACGAAAGCTGGTGA-1
AAACGAACAGACACAG-1
AAACGAAGTGAGATAT-1
這個文件當中記載了每個細胞的barcode信息建钥。
features.tsv.gz
ENSMUSG00000051951 Xkr4 Gene Expression
ENSMUSG00000089699 Gm1992 Gene Expression
ENSMUSG00000102331 Gm19938 Gene Expression
ENSMUSG00000102343 Gm37381 Gene Expression
ENSMUSG00000025900 Rp1 Gene Expression
ENSMUSG00000025902 Sox17 Gene Expression
ENSMUSG00000104238 Gm37587 Gene Expression
ENSMUSG00000104328 Gm37323 Gene Expression
這個文件記載了小鼠基因注釋文件中包含的基因id與symbol信息藤韵,注意,這個文件的來源是小鼠基因組的注釋文件熊经。
matrix.mtx.gz
%%MatrixMarket matrix coordinate integer general
%metadata_json: {"software_version": "cellranger-6.0.1", "format_version": 2}
32285 5741 11436472
1 1 4
2 1 1
22 1 1
24 1 8
31 1 1
41 1 1
43 1 1
這個文件主體部分包含三列泽艘,第一列為基因,即這個基因在前面features.tsv.gz中的位置奈搜;第二列為細胞悉盆,即這個細胞對應于barcodes.tsv.gz中的barcodes信息盯荤;最后一列代表在這個細胞中檢測到的這個基因的reads數(shù)馋吗。舉個例子來說:
例如第一行:1 1 4,就表示barcode為AAACCCAAGAGATGCC-1的細胞中檢測到的Xkr4基因的reads數(shù)為4秋秤。
細心的朋友會發(fā)現(xiàn)在前面還有一行:32285 5741 11436472 宏粤,這一行實際上就是一個匯總信息,例如有32285個基因灼卢,5741個細胞绍哎,11436472個非零數(shù)值。而最前面不過是指明軟件的相關信息罷了鞋真。
思考
實際上在我們進行數(shù)據分析時崇堰,都覺得這3個文件一個不可少,但實際上真的是這樣嗎?
-
features.tsv.gz
前面已經說到海诲,這個文件實際上是來源于小鼠基因組的注釋文件繁莹,所以理論上只要你在使用cellranger count時用的基因組注釋文件是一樣的,這個文件是不會變的特幔,你可以進入Cell Ranger推薦的參考基因組看是否是這樣咨演。
cd cellranger/reference/refdata-gex-mm10-2020-A/genes
#這個文件夾下面你會看到一個小鼠基因組的gtf注釋文件,名稱應該為genes.gtf
cat genes.gtf | awk '$15=="gene_name"{print$10"\t"$16}' | less -S
#看看這樣提取的基因id和name是否和features.tsv.gz一樣
"ENSMUSG00000051951"; "Xkr4";
"ENSMUSG00000089699"; "Gm1992";
"ENSMUSG00000102331"; "Gm19938";
"ENSMUSG00000102343"; "Gm37381";
"ENSMUSG00000025900"; "Rp1";
"ENSMUSG00000025902"; "Sox17";
"ENSMUSG00000104238"; "Gm37587";
你會發(fā)現(xiàn)蚯斯,順序和內容竟然和features.tsv.gz一樣的薄风,所以看起來似乎features.tsv.gz也不是那么不可或缺,咱也可以自己做拍嵌,或者說可以通用遭赂。
-
matrix.mtx.gz
這個文件,毫無疑問横辆,是必不可少的嵌牺,可以說花那么多錢做個single cell RNA sequencing就是為了這個文件。龄糊。
-
barcodes.tsv.gz
光聽這個文件的內容逆粹,感覺這個文件很重要,像某個地區(qū)居民的名單一樣炫惩,丟了豈不麻煩大了僻弹?但實際上仔細想想,它真的重要到我們不能丟嗎他嚷?
我們說蹋绽,matrix.mtx.gz里面實際上已經包含了單個細胞、單個基因的表達信息了筋蓖,這是cellranger count已經返給我們的信息卸耘,舉個形象的例子,小孩子在出生時粘咖,當?shù)貞艏块T記錄了這個小孩的性別信息蚣抗,當然還有他的名字。但是一年后瓮下,這個小朋友改名字了翰铡,但是他的性別變了嗎?并沒有讽坏!所以實際上這個barcodes.tsv.gz文件如果我們改了锭魔,只不過是給每個細胞新起了一個名字,本身并不會造成細胞RNA信息的變化和混亂路呜。
說到這里迷捧,不得不提到possorted_genome_bam.bam文件织咧,這個文件里面實際上包含了每個細胞的barcode信息,就在其中以CB開頭的那個字段里漠秋。
samtools view possorted_genome_bam.bam | less -S
#部分信息如下
CB:Z:ATTCTTGTCTCCTGTG-1
CB:Z:GTGCTGGTCACTCGAA-1
CB:Z:GCATGATAGCCGGATA-1
CB:Z:GCACGTGGTTGCCTAA-1
你可以把這部分信息提取出來烦感,重復內容合并,然后以任意順序作為barcodes.tsv.gz就可以進行Seurat分析了膛堤。哦對了手趣,得某位大佬指點,cellranger count輸出的barcodes.tsv.gz是按字母表順序的肥荔,所以(誰知道它是不是最后隨意用字母表順序輸出的呢绿渣?)
今天又是摸魚的一天!