QIIME2 堪稱次世代定序分析界的霸主,
如同 Mirosoft office 是文書軟體界大哥一樣,雖然兩者用戶數有顯著差距就是了,
QIIME2 以學術分析研究為主,
基本上是開源的,團隊相當認真維護,更新也更的很勤,
可以在網站上看到超頻繁的版本列表 :
這邊我們就選用 2022.8 版 作為教學。
wget https://data.qiime2.org/distro/core/qiime2-2022.8-py38-linux-conda.yml
.yml or .yaml 副檔名的檔案內含有安裝一個軟體所需要的各種套件,
簡單來說,我們都是站在巨人的肩膀上長大的,
所以一個軟體也會有著許多套件幫助他得以運行,
如果好奇的話,打開來看長得像是這樣,dependencies 下每一行就是一個套件 :
同樣用 conda 再創造一個虛擬環境 :
執行下列指令,然後喝杯咖啡,等待安裝完成......
conda env create -n qiime2-2022.8 --file qiime2-2022.8-py38-linux-conda.yml
--file 代表 conda會根據這個配置檔案安裝所有需要的套件,
與 [Day 04] 安裝 bioinfokit python 方式比起來更省事些,
直接跟 conda 說,我需要的套件都寫在這檔案裡了! 幫我裝~
直到看到最後三行出現就是安裝結束~
Downloading and Extracting Packages
q2-taxa-2022.8.0 | 110 KB | ############################################# | 100%
bokeh-2.4.3 | 13.3 MB | ############################################# | 100%
#中間還有很多安裝進度條,省略省略省略,不覺得看著進度在跑很療癒嗎~
...
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
安裝結束後,可以把配置檔案刪除,它功成身退了!
rm qiime2-2022.8-py38-linux-conda.yml
Reference : QIIME2-2022.8 技術文件
經歷了上述的環境建置後,以下則是每次分析前所需要準備的檔案,
(.fastq.gz or .fastq)
manifest 是清單的意思,
目的是告訴 QIIME2 .fastq.gz 的路徑在哪裡,
以及該檔案所對應的樣本名稱為何,
以 [Day 04] 的範例資料其中6筆作為例子,格式就會如下 :
檔名為 manifest.tsv
sample-id forward-absolute-filepath reverse-absolute-filepath
CRC_A $PWD/SRR6498087_1.fastq.gz $PWD/SRR6498087_2.fastq.gz
CRC_B $PWD/SRR6498088_1.fastq.gz $PWD/SRR6498088_2.fastq.gz
CRC_C $PWD/SRR6498089_1.fastq.gz $PWD/SRR6498089_2.fastq.gz
CRC_D $PWD/SRR6498090_1.fastq.gz $PWD/SRR6498090_2.fastq.gz
CRC_E $PWD/SRR6498091_1.fastq.gz $PWD/SRR6498091_2.fastq.gz
CRC_F $PWD/SRR6498092_1.fastq.gz $PWD/SRR6498092_2.fastq.gz
實務上我會習慣先用 Excel 製作這個表,
搭配 Excel 特有的快速填入 (Ctrl + E),
讓重複有規則的檔案路徑很快填入,
最後在Excel選 匯出 > 變更檔案類型 > 文字檔(Tab 字元分隔)(*.txt)。
當然要直接在 Linux 用 vim / nano 創建此檔案也行。
$PWD 指的是使用者現在的目錄位置,
用相對路徑的方式告訴 QIIME2 定序檔案在以我為基準的哪個地方,
也是可以使用絕對路徑。
forward-absolute reverse-absolute 則是雙邊讀取的檔案。
metadata 是後設資料、註釋資料的意思,
目的是告訴 QIIME2 這些樣本的分組狀態,
可以依不同方式分組,在下列範例則是用兩種方式,
分別是一個人一組的Index
,以及用性別分組的 Sex
,
如果有需要可以再向右擴充延伸分組,強烈建議每次分析都加上一個人一組的 Index
,
在後續分析結果中會很方便,
同樣以 [Day 04] 的範例資料其中6筆作為例子,格式就會如下 :
檔名為 sample-metadata.tsv
sample_name | Index | Sex |
---|---|---|
#q2:types | categorical | categorical |
CRC_A | CRC_A | Female |
CRC_B | CRC_B | Female |
CRC_C | CRC_C | Female |
CRC_D | CRC_D | Male |
CRC_E | CRC_E | Male |
CRC_F | CRC_F | Male |
q2:types categorical categorical 是什麼 ?
其中 q2 : types 代表告訴 QIIME2 該行是一個註釋指令,後面接著 categorical 或 numeric,
如果分類是用數字
,例如 : CRC_A、CRC_B、CRC_C 一天吃 2 餐,就用 numeric ,
如果分類是用非數字
,例如 : CRC_A、CRC_B、CRC_C 是女性,就用 categorical。
如果 CRC_A、CRC_B、CRC_C 一天吃 2 餐,用 categorical 可以嗎? 當然可以 。
本篇文章同步刊載於科學毛怪部落格 PetSci Blog。