圖形化開放式生信分析系統開發 - 9 Illumina測序儀測序數據自動拆分

前文鏈接:

圖形化開放式生信分析系統開發 - 1 需求分析及技術實現
圖形化開放式生信分析系統開發 - 2 樣本信息處理
圖形化開放式生信分析系統開發 - 3 生信分析流程的進化
圖形化開放式生信分析系統開發 - 4 生信分析流程的圖形化
圖形化開放式生信分析系統開發 - 5 生信分析流程服務器端運行
圖形化開放式生信分析系統開發 - 6 生信分析流程批量運行與過程控制
圖形化開放式生信分析系統開發 - 7 分析報告的模板定製與自動生成
圖形化開放式生信分析系統開發 - 8 軟件穩定性測試

前文講述了從樣本信息錄入,分析流程的搭建/設計和運行,最終模板報告的定製與自動生成。爲了實現完整的自動化,本文講述如何與Illumina測序儀銜接,實現下機數據自動拆分(測試過的機型MiSeq,NextSeq500)。

一、bcl2fastq安裝與運行

說到Illumina的下機數據拆分,就一定會用到Illumina官方的軟件bcl2fastq2,目前最新版本2.20
軟件可以從Illumina官網下載,默認提供的是Linux rpm格式或者是源碼格式。

安裝

  • CentOS/Redhat:
rpm -install -y bcl2fastq2_0v2.20.0.422-2_amd64.rpm
  • Ubuntu 可以將rpm轉換爲deb包格式然後安裝:
sudo apt-get install alien
sudo alien bcl2fastq2_0v2.20.0.422-2_amd64.rpm
dpkg -i bcl2fastq2_0v2.20.0.422-2_amd64.deb

-源碼安裝:

## For example, you can set the environment variables as:
export TMP=/tmp
export SOURCE=${TMP}/bcl2fastq
export BUILD=${TMP}/bcl2fastq2-v2.19.x-build
export INSTALL_DIR=/usr/local/bcl2fastq2-v2.19.x
##Build and Installthe Software
${TMP}/bcl2fastq:
cd ${TMP}
tar -xvzf bcl2fastq2-v2.19.x.tar.gz
mkdir ${BUILD}
cd ${BUILD}
chmod ugo+x ${SOURCE}/src/configure
chmod ugo+x ${SOURCE}/src/cmake/bootstrap/installCmake.sh
${SOURCE}/src/configure --prefix=${INSTALL_DIR}
cd ${BUILD}
make
make install

Convert and Demultiplex BCL Files

<runfolder>表示下機目錄,默認用於標記樣本的SampleSheet.csv文件位置<runfolder>/SampleSheet.csv

運行:

nohub nohup /usr/local/bin/bcl2fastq \
	--runfolder-dir <RunFolder>
	--output-dir <BaseCalls>
	--sample-sheet <runfolder-dir>/SampleSheet.csv

或者指定SampleSheet.csv文件位置:

nohub nohup /usr/local/bin/bcl2fastq \
	--runfolder-dir <RunFolder>
	--output-dir <BaseCalls>

實際運行命令舉例:

bcl2fastq -r 8 -p 8 -w 8 \
	--no-lane-splitting \
    --barcode-mismatches 1 \
    --runfolder-dir /opt/ref/data/181105_NB551525_0003_AH7W7TAFXY \
    --sample-sheet  /opt/ref/data/181105_NB551525_0003_AH7W7TAFXY/SampleSheet.csv \
    --output-dir    /opt/ref/data

bcl2fastq命令參數很多,但是最常用的參數就以下幾個:

  1. -r, --loading-threads 加載線程數
  2. -p, --processing-threads 拆分數據線程數
  3. -w, --writing-threads 數據寫入線程數
  4. –no-lane-splitting 不按照lane拆分數據
  5. –barcode-mismatches 允許的barcode錯配數
  6. –runfolder-dir / -R 下機數據目錄
  7. –sample-sheet samplesheet文件所在位置
  8. –outputdir / -o 輸出目錄

二、如何識別下機數據目錄

Illumina測序儀下機數據文件夾命名: YYMMDD_machinename_XXXX_FCXXXX

  • YYMMDD 爲上機日期
  • machinename爲該測序儀唯一命名編號
  • XXXX爲expirement ID
  • FCXXXX爲flowcell 編號

如果要使用程序掃描匹配樣本系統,就需要提供至少前兩個字段作爲識別匹配。後兩個字段,獲取較難。

如何判斷測序結束?一般使用該目錄下RTAComplete.txt是否存在來判斷測序是否完成。

三、SampleSheet.csv文件格式

SampleSheet文件最常用的有版本4 / 5,字段有些差異,但是真正在數據拆分時候起作用的,上圖紅色部分,其餘並不重要。這裏爲了拆分項目通用性使用了字段 SampleProject,實際使用種大概率會出現多個項目上一張芯片。

以上SampleSheet.csv文件放在下機數據目錄裏,數據分拆後得到的數據是這樣的:

目錄結構爲:

[Sample Project]/[Sample ID]/[Sample Name]S*_R1_*.fastq.gz

記住此目錄結構,爲了拆分數據得到的數據與後續生信pipeline連接做全自動分析。

四、與系統交互從樣本信息中生成SampleSheet.csv

如果要用程序生成SampleSheet文件,這裏就會用到圖形化開放式生信分析系統開發 - 2 樣本信息處理文章裏樣本信息的字段信息。

  • 上機編號即對應於Illumina測序儀下機數據目錄,前兩個字段

五、與分析流程對接,實現拆分數據與數據分析聯動

需要完成的工作:

  1. 請求系統根據樣本信息生成SampleSheet,並下載到本地下機數據目錄。

  2. 運行bcl2fastq分拆數據。

  3. 分拆成功後,更新系統中相關的Sample狀態,標識該樣本數據已經分拆過,避免重複運行。

  4. 在pipeline起始輸入端,匹配分拆後的數據輸入目錄。必要時候使用正則表達式匹配。

    如:

  ${pn}/${id}/^${sn}_S[a-zA-Z0-9_.\-]+_R1_[0-9]+.fastq.gz$ 
  ${pn}/${id}/^${sn}_S[a-zA-Z0-9_.\-]+_R2_[0-9]+.fastq.gz$

整體的運行邏輯流程圖如下:

六、拆分運行日誌與報告保存

單純的體力勞動。上兩張圖

下載產品PPT 或加QQ羣:853718264參與討論

發佈了10 篇原創文章 · 獲贊 2 · 訪問量 2328
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章