STAMP分析擴(kuò)增子測(cè)序組間差異

STAMP軟件安裝

軟件官網(wǎng)?http://kiwi.cs.dal.ca/Software/STAMP

1. Microsoft Windows系統(tǒng)安裝比較簡(jiǎn)單

2. ubuntu安裝

```

# 首先使用apt安裝pyqt4

sudo apt install?python-qt4

#?virtualenv 創(chuàng)建單獨(dú)的python環(huán)境并能訪問(wèn)系統(tǒng)python包(為了使用pyqt4)

virtualenv stamp?--python=python2.7?--system-site-packages?

# 激活環(huán)境

source activate stamp/bin/activate

pip install numpy matplotlib biom-format STAMP

# 使用

./stamp/bin/STAMP

```

也可以使用gnome-desktop-item-edit命令創(chuàng)建快捷方式。下圖是stamp環(huán)境的python包列表。

pip list

conda 安裝

```

conda create -n stamp stamp? fontconfig freetype icu=56

```

準(zhǔn)備數(shù)據(jù)

16S或者ITS測(cè)序分析,最后會(huì)得到feature-table(OTU table) 和feature(OTU)的物種注釋信息,feature-table通常是biom的格式,?物種注釋信息是tab分隔的文本文件。

使用biom軟件將兩者結(jié)合,并轉(zhuǎn)換為tab分隔的文本文件,代碼如下:

```

biom add-metadata -i feature-table.biom -o feature-table-tax.biom --observation-metadata-fp taxonomy.tsv --sc-separated taxonomy --observation-header OTUID,taxonomy

biom? convert -i feature-table-tax.biom -o feature-table-tax.tsv --to-tsv --table-type "OTU table" --header-key taxonomy

```

結(jié)果如下圖所示:

準(zhǔn)備數(shù)據(jù)

因?yàn)镾TAMP需要嚴(yán)格的層級(jí)關(guān)系,而我們得到的物種注釋信息一般滿足不了該要求,直接導(dǎo)入STAMP會(huì)報(bào)錯(cuò),所以將數(shù)據(jù)轉(zhuǎn)換為8個(gè)級(jí)別,分別是OTU,Kingdom,Phylum,Class,Order,F(xiàn)amily,Genus,Species,然后在每一個(gè)級(jí)別上單獨(dú)分析。在這里使用R進(jìn)行轉(zhuǎn)換,代碼如下:

```

library(tidyverse)

# 導(dǎo)入數(shù)據(jù)

levels <- c("Kingdom","Phylum","Class","Order","Family","Genus","Species")

data <- read_tsv("feature-table-tax.tsv", skip = 1) %>%

? rename(OTU=`#OTU ID`) %>%

? mutate(taxonomy = str_replace_all(taxonomy, "[kpcofgs]__", "")) %>%

? separate(taxonomy, sep="; ", levels)

# 將沒(méi)有分類的級(jí)別標(biāo)注為 "unclassified"

data[is.na(data)]="unclassified"

data[data==""]="unclassified"

?#Samples number

number <- dim(data)[[2]]-8

#OTU level

otu <- data %>% select(1:(number+1))

write_tsv(otu, "otu.spf")

# Phylum -> Species level

for (level in levels){

? n <- which(colnames(data)==level)

? temp <- data %>% select(n, 2:(number+1))

? colnames(temp)[1]='index'

? temp <- temp %>% gather("Sample", "Count", -index) %>%

? ? group_by(index, Sample) %>%

? ? summarise(Count = sum(Count)) %>%

? ? spread(key = Sample, value = Count)

? colnames(temp)[1]=level

? write_tsv(temp, paste0(level, ".spf", collapse = ""))

}

```

這會(huì)生成8個(gè)spf文件,其本質(zhì)是tab分隔的文本文件,這就是要向STAMP導(dǎo)入的數(shù)據(jù)。

spf文件


Phylum.spf(spf文件示例)

另外還要向STAMP導(dǎo)入實(shí)驗(yàn)設(shè)計(jì)文件,文件內(nèi)容如下(可以有多列分組信息,例如group, subgroup,這里只有一列):

sample-metadata.tsv

分析

1. 導(dǎo)入數(shù)據(jù)

從File -> Load data導(dǎo)入數(shù)據(jù),以 Genus Level 為例,如下圖所示


Load data

2. 導(dǎo)入數(shù)據(jù)后可以直接查看PCA分析結(jié)果,也可以選擇不同的統(tǒng)計(jì)分析方法進(jìn)行分析,支持多組間(>=3組)分析,也可以選擇兩組或者兩個(gè)樣本比較。


分析選項(xiàng)

分析結(jié)果

統(tǒng)計(jì)分析可視化結(jié)果和表格均可以導(dǎo)出。


PCA plot


boxplot


Extended error bar plot
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容