「Bionano系列」下機原始數據過濾和評估

從這部分開始,就開始涉及一些軟件的操作和數據分析,因此在進入正文之前,我們需要準備好環境。

環境準備

第一步:從 https://bionanogenomics.com/library/datasets/下載人類測試數據集,以及對應的NA12878人類基因組。

DLE數據集

wget http://bnxinstall.com/publicdatasets/DLS/20180413_NA12878_S3_compressed.tar.gz
tar xf 20180413_NA12878_S3_compressed.tar.gz
wget ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCA/002/077/035/GCA_002077035.3_NA12878_prelim_3.0/GCA_002077035.3_NA12878_prelim_3.0_genomic.fna.gz
gunzip GCA_002077035.3_NA12878_prelim_3.0_genomic.fna.gz
mv GCA_002077035.3_NA12878_prelim_3.0_genomic.fna NA12878.fa

第二步: 在https://bionanogenomics.com/support/software-downloads/下載Solve軟件,

Solve下載地址

服務器要滿足如下需求:

  • Python=2.7.x
  • perl=5.14.x或5.16.x
  • R > 3.1.2,並且安裝data.table, igraph, intervals, MASS, parallel, XML, argparser
  • glibc >= 2.14 和 gcc庫
  • 至少有一個256G節點的內存,最好有一些32G內存的小節點
tar -zxvf Solve3.3_10252018.tar.gz

解壓縮后里有如下幾個文件夾

  • cohortQC: 主要是MQR運行腳本
  • HybridScaffold: 單酶系統和雙酶系統混合組裝工具腳本
  • Pipeline:從頭組裝的腳本
  • RefAligner:用於序列聯配和組裝
  • RefGenome:hg19和hg38的cmp文件
  • SVMerge: 用於合併單酶系統得到SV結果
  • UTIL: 運行從頭組裝的一些實用shell腳本,可以根據需要進行修改
  • VariantAnnotation: 對找到的SV進行註釋
  • VCFConverter: 將SMAP和SVMerge的結果輸出成VCF格式

數據過濾

目前的主流Bionano設備已經是Sapjyr,BNX文件產生於Saphyr,經由Bionano Access 下載到本地。

從公司拿到的是"RawMolecules.bnx"文件, 不過我們練習用的數據是"output/all.bnx.gz",

mkdir test
mv output/all.bnx.gz test
zcat  all.bnx.gz| head -n 20000 | grep "# Run Data" | wc -l
# 281 

我們發現發現數據集來自於281個通道。

Label SNR 過濾: 過濾信噪比較低的分子,信噪比低意味着質量差。 有如下幾個情況,不需要做Label SNR 過濾,或在你BNX文件的"#rh"部分有"SNRFilterType"定義,就不需要過濾

  • 人類樣本不需要過濾。
  • Bionanao Access 1.2 以後新的圖像檢測算法得到的BNX文件不需要SNR過濾.
  • 對於AutoDetect或Irysview處理過的數據,默認會進行label SNR過濾,處理之後就是Molecules.bnx

由於我們是人類數據集,因此下面的代碼就不需要運行了,並且絕大部分情況下也用到下面的命令。

perl /opt/biosoft/Solve3.3_10252018/cohortQC/10252018/filter_SNR_dynamic.pl -i RawMolecules.bnx -o Molecules_filter.bnx -P diag_hist.pdf > snr.log &

分子長度過濾: 過濾短與某個閾值的分子,公司一般會只保留100kb或120Kb以上的分子(取決於數據量,數據越多,閾值越高)

gunzip all.bnx.gz
RefAlinger -i all.bnx -minlen 120 -merge -o output -bnx > run.log &

在輸出的內容中,注意如下部分

Final maps=1147524, sites=46764680, length= 268845841.028kb (avg= 234.283 kb, label density= 17.395 /100kb)

表明過濾後,還有113萬條分子,涉及到4676萬標記,總測序量爲258G,標記密度是17.395/100kb,平均分子長度大於234Kb… 測序深度等於總測序量除以基因組大小,這是人類基因組,按照3G計算,那麼深度就是80X.

過濾後平均分子長度應大於200Kb。 標記密度不能過高,過高會因分辨率不夠而無法區分,過低則無法用於比對。一般DLS在10~25 , NRLS在8~15.

組裝評估: 在正式組裝之前,我們還需要判斷下當前數據是否滿足組裝要求。 爲了獲取所需的評估參數,得將過濾後的BNX文件和基因組模擬模切得到的CMAP進行比對

第一步: 對基因組序列模擬酶切,得到CMAP文件

perl /opt/biosoft/Solve3.3_10252018/Pipeline/10252018/fa2cmap_multi_color.pl -i ../NA12878.fa -e cttaag 1
mv ../NA12878_CTTAAG_0kb_0labels.cmap .

CMAP的格式比較簡單,說明如下:

cMAP格式說明

第二步: 用align_bnx_to_cmap.py進行比對。 bionano光學圖譜比對的基本原理是基於標記的相對位置。

python /opt/biosoft/Solve3.3_10252018/Pipeline/10252018/align_bnx_to_cmap.py  \
    --prefix  human \
    --mol molecules120k.bnx  \
    --ref NA12878_CTTAAG_0kb_0labels.cmap \
    --ra /opt/biosoft/Solve3.3_10252018/RefAligner/7915.7989rel  \
    --nthreads 80  \
    --output prealign \
    --snrFilter 2 \
    --color 1 

參數說明可自行閱讀幫助說明。我們重點關注輸出結果中如下幾方面內容:

  • “contigs/alignmolvref/alignmol_log_simple.txt”裏的“Fraction of aligned molecules”和"Effective coverage of reference (X)". 我們要判斷數據是否符合最低的比對率。比對率和基因組實際情況有關(組裝質量,錯誤率,重複坍縮情況)。對於人類基因可以達到90%以上,對於不怎麼完整度的基因組,即便Bionano的質量很高,比對率可能也只有30%~40%(僅統計150 kb 的分子)

比對率

  • “alignments.tar.gz”, 裏面包含的三個文件可以輸入到Bionano提供的另一個工具Access中進行可視化,注意導入要選擇"Anchor to Molecules"。

step1:創建輸入

step2: 選擇文件

step3: 上傳文件

由於人類基因組足夠的大,因此需要等待一段時間才能處理完成,之後就可以對比對結果有一個更加直觀的瞭解。

上傳成功後

可視化

那麼合格後的數據應該如何組裝呢?請等待後續教程!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章