一嘲玫、背景介紹
大家其實(shí)對(duì)華大測(cè)序的原理什么的都知道僧鲁,但是以下概念是比較重要的,什么是DNB铸鹰,bin癌别,我們?cè)趺催x擇binsize的大小等問(wèn)題就至關(guān)重要了。
首先解釋以下DNB和bin的關(guān)系蹋笼,以下來(lái)自華大的結(jié)題報(bào)告:
在華大的時(shí)空組學(xué)技術(shù)(STOmics)中展姐,Bin是分析數(shù)據(jù)統(tǒng)計(jì)的基本單元。一個(gè)Bin表示一個(gè)固定大小的區(qū)域剖毯,區(qū)域內(nèi) DNB 表達(dá)量累加圾笨,區(qū)域間不重合,數(shù)字表示單邊 DNB 數(shù)量逊谋。時(shí)空芯片上每個(gè) DNB 在基因表達(dá)熱圖上表現(xiàn)為一個(gè)像素點(diǎn)擂达,此時(shí)的分析單元為Bin1,即一個(gè)像素點(diǎn)只包含一個(gè) DNB 的數(shù)據(jù)胶滋,其分辨率為500nm板鬓。將相鄰N×N個(gè) DNB 數(shù)據(jù)合并,在基因表達(dá)熱圖上以一個(gè)像素點(diǎn)的形式展示究恤,此時(shí)分析單元為BinN俭令。比如Bin100表示一個(gè)分析單元包含100×100=10000個(gè) DNB 區(qū)域的數(shù)據(jù),而cellbin是根據(jù)ssDNA進(jìn)行細(xì)胞分割后的單個(gè)細(xì)胞的區(qū)域部宿。Bin大小的選擇可以根據(jù)細(xì)胞大小抄腔、基因數(shù)量以及細(xì)胞聚類(lèi)效果進(jìn)行調(diào)整。
常見(jiàn)的名稱(chēng):
- BinSize:合并作為一個(gè)單元進(jìn)行分析的DNB數(shù)量;
- MeanGeneTypes:所有Bin中捕獲到基因類(lèi)型的平均數(shù)雾叭;
- MedianGeneTypes:所有Bin中捕獲到基因類(lèi)型的中位數(shù)悟耘;
- MeanMIDs:所有Bin中表征基因表達(dá)量的MID平均數(shù);
- MedianMIDs:所有Bin中表征基因表達(dá)量的MID中位數(shù)织狐。
簡(jiǎn)而言之暂幼,bin1=DNB=500nm大小的區(qū)域掘殴。如果是bin100就是50um×50um的范圍(um應(yīng)該是錯(cuò)誤寫(xiě)法,輸入法不好打)粟誓。那我們分析的時(shí)候應(yīng)該使用什么分辨率去分析呢奏寨?
我們應(yīng)該考慮以下問(wèn)題(個(gè)人愚見(jiàn),不對(duì)的地方歡迎指教):
1鹰服、組織的細(xì)胞大小病瞳,500nm已經(jīng)是亞細(xì)胞級(jí)了,我們更想在單細(xì)胞水平去探索組織的基因表達(dá)等問(wèn)題悲酷,那么不同組織就要用不同的binsize去獲得單細(xì)胞水平的表達(dá)量套菜。
2、基因數(shù)量设易,雖然我們能根據(jù)細(xì)胞大家確認(rèn)binsize逗柴,但是過(guò)小的size會(huì)導(dǎo)致單位內(nèi)的基因檢測(cè)數(shù)過(guò)低,在實(shí)際分析中并不理想顿肺,因此要保證基因檢測(cè)數(shù)的條件下通常選取的size是大于細(xì)胞的實(shí)際大小戏溺。常用的10X的空間技術(shù)的一個(gè)spot點(diǎn)實(shí)際上也是多個(gè)細(xì)胞構(gòu)成。
3屠尊、根據(jù)細(xì)胞聚類(lèi)效果進(jìn)行調(diào)整旷祸,由于binsize選擇不合適的大小會(huì)導(dǎo)致細(xì)胞聚類(lèi)的結(jié)果和實(shí)際情況不符,那么就需要調(diào)整合適的size大小讼昆,比如華大在研究斑馬魚(yú)的胚胎發(fā)育托享,選取的是bin15進(jìn)行分析的。
記住這里的binsize的設(shè)置浸赫,后續(xù)stereopy分析時(shí)需要設(shè)置闰围。
二、stereopy的數(shù)據(jù)來(lái)源和安裝
stereopy使用的是 GEF 文件文件既峡,這個(gè)10X的文件截然不同羡榴。這個(gè)數(shù)據(jù)是數(shù)據(jù)下機(jī)后使用STOmics/SAW (github.com),華大自主研發(fā)涧狮,與數(shù)據(jù)配套的軟件炕矮,這里可以類(lèi)比為spaceranger么夫,可以獲得表達(dá)矩陣和空間位置的軟件者冤。具體使用方法,見(jiàn)鏈接档痪。這里不進(jìn)行記錄涉枫,因?yàn)槿A大一般是提gef文件,這一步分析不需要我們進(jìn)行腐螟。當(dāng)然如果您是特殊物種愿汰,可能需要構(gòu)建參考基因組后自行分析困后,那需要好好學(xué)習(xí)以下SAW的使用。我有空再進(jìn)行學(xué)習(xí)衬廷。
下面展示stereopy的安裝摇予,推薦使用conda進(jìn)行安裝
#使用python3.8的版本,此環(huán)境命名為st吗跋,也可根據(jù)習(xí)慣自行命名
conda create --name st python=3.8
#激活進(jìn)入st環(huán)境
conda activate st
#安裝stereopy 和對(duì)應(yīng)的依賴(lài)包
conda install stereopy -c stereopy -c grst -c numba -c conda-forge -c bioconda
#也可以進(jìn)入conda環(huán)境后使用pip安裝
pip install stereopy
三侧戴、stereopy與其他軟件的格式相互轉(zhuǎn)換
目前主流的分析軟件還是seurat或Scanpy,即使stereopy已經(jīng)具體這些功能跌宛,但是下游的高級(jí)分析的數(shù)據(jù)大多還是使用rds或者h(yuǎn)5ad格式酗宋,那么數(shù)據(jù)格式轉(zhuǎn)換是必不可少的。下面就展示以下數(shù)據(jù)的讀入和轉(zhuǎn)換的腳本疆拘。
1蜕猫、轉(zhuǎn)換為h5ad后使用 Scanpy
import stereo as st
import warnings
warnings.filterwarnings('ignore')
# read the GEF file
data_path = 'sample.tissue.gef'
data = st.io.read_gef(file_path=data_path, bin_size=50)#bin_size設(shè)置binsize的大小
data.tl.raw_checkpoint()
# remember to set flavor as scanpy
adata = st.io.stereo_to_anndata(data,flavor='scanpy',output='scanpy_out.h5ad')
2、轉(zhuǎn)換為rds后使用Seurat
轉(zhuǎn)換為rds之前還是需要先輸出為H5ad格式
import stereo as st
import warnings
warnings.filterwarnings('ignore')
# read the GEF file
data_path = '.sample.tissue.gef'
data = st.io.read_gef(file_path=data_path, bin_size=50)
data.tl.raw_checkpoint()
# remember to set flavor as seurat
adata = st.io.stereo_to_anndata(data,flavor='seurat',output='seurat_out.h5ad')
然后將h5ad轉(zhuǎn)換為rds:
Rscript annh5ad2rds.R --infile <h5ad file> --outfile <rds file>
annh5ad2rds.R的鏈接:
Stereopy/docs/source/_static/annh5ad2rds.R at dev · STOmics/Stereopy · GitHub
四哎迄、小結(jié)
如果有空間的分析經(jīng)驗(yàn)回右,通過(guò)以上的轉(zhuǎn)換即可,擇自己習(xí)慣的scanpy或者seurat進(jìn)行分析漱挚。如果binsize設(shè)置的小楣黍,spot點(diǎn)較多,推薦使用scanpy棱烂,python處理大數(shù)據(jù)方面比R包的seurat要有優(yōu)勢(shì)租漂。那么stereopy后續(xù)的內(nèi)容也可以不必學(xué)習(xí)。后續(xù)我還會(huì)繼續(xù)學(xué)習(xí)sterepy的具體使用方法颊糜。
以上是我個(gè)人學(xué)習(xí)心得哩治,如有錯(cuò)誤請(qǐng)指正。