的完整實(shí)操筆記)
Snippy 怎么用一份從安裝到多樣本比對(duì)的完整實(shí)操筆記【免費(fèi)下載鏈接】snippy:scissors: :zap: Rapid haploid variant calling and core genome alignment項(xiàng)目地址: https://gitcode.com/gh_mirrors/sn/snippySnippy 是一套面向單倍體基因組的快速變異檢測(cè)流水線它能在參考序列與測(cè)序數(shù)據(jù)之間一次性定位 SNP 和插入缺失并自動(dòng)完成注釋與核心基因組比對(duì)。如果你是做細(xì)菌、病毒或質(zhì)粒測(cè)序的研究人員下面這份筆記會(huì)按選型 → 安裝 → 首跑 → 批量的順序帶你走完從零到產(chǎn)出變異清單的全過(guò)程。它到底幫你做什么設(shè)想一個(gè)常見(jiàn)場(chǎng)景你手上有十幾個(gè)樣本的測(cè)序數(shù)據(jù)想快速知道它們相對(duì)某個(gè)參考基因組各自發(fā)生了哪些突變還想比較它們之間的親緣關(guān)系。手工比對(duì)、逐位篩查顯然不現(xiàn)實(shí)Snippy 就是把這條流水線壓縮成一條命令的工具。適用對(duì)象細(xì)菌、病毒、質(zhì)粒、線粒體等單倍體基因組輸出內(nèi)容變異位點(diǎn)清單VCF/TAB、比對(duì)文件BAM、修正版基因組consensus、核心 SNP 比對(duì)core.aln工作方式內(nèi)部依次調(diào)用 bwa 做比對(duì)、freebayes 找變異、snpEff 做注釋對(duì)外只暴露一個(gè)入口輸入形態(tài)適用情況雙端 FASTQ最常見(jiàn)的 Illumina 測(cè)序產(chǎn)物單端 FASTQIon Torrent 等平臺(tái)或雙端文件只剩其一contigs原始 reads 已丟失僅剩拼裝結(jié)果?? 注意Snippy 面向單倍體樣本。人類這類二倍體需要區(qū)分雜合位點(diǎn)不在它的處理范圍內(nèi)。開(kāi)工前先核對(duì)這幾樣? 參考基因組FASTA 或 GenBank 格式均可多 contig 不影響? 測(cè)序數(shù)據(jù)FASTQ 或 FASTA支持 gzip 壓縮? 一個(gè)專門存放結(jié)果的文件夾? 硬件多核 CPU 能顯著提速官方在 64 核機(jī)器上驗(yàn)證過(guò)? 外部依賴bwa、minimap2、samtools、bcftools、bedtools、freebayes、snpEff、samclip、seqtk 等最后一項(xiàng)最容易被忽視Snippy 本體只是一個(gè)調(diào)度腳本真正干重活的是背后那一串外部程序。任何一個(gè)缺失流程都會(huì)在中途停下。所以判斷安裝是否成功不能只看 Snippy 本身。三條安裝路徑怎么取舍路徑適合誰(shuí)優(yōu)點(diǎn)要注意什么Conda大多數(shù)用戶依賴自動(dòng)裝齊、環(huán)境隔離、卸載干凈需要先配置好 Bioconda 源HomebrewmacOS 用戶一條命令搞定與系統(tǒng)軟件統(tǒng)一管理依賴按 brew 方式處理源碼想追最新版的人代碼最新、便于二次開(kāi)發(fā)依賴全部自己裝PATH 需手動(dòng)配置Conda 路線一條命令把依賴一起裝齊conda install -c conda-forge -c bioconda -c defaults snippyHomebrew 路線brew install brewsci/bio/snippy源碼路線先把代碼拿到手再補(bǔ)依賴git clone https://gitcode.com/gh_mirrors/sn/snippy.git export PATH$PWD/snippy/bin:$PATH源碼方式只是拿到 Snippy 本體配套程序仍需另行安裝例如conda install -c bioconda bwa samtools bcftools freebayes snpeff samclip seqtk連續(xù)實(shí)操裝完 → 驗(yàn)證 → 跑第一個(gè)案例第 1 步確認(rèn)版本號(hào)。snippy --version預(yù)期會(huì)打印出版本字符串當(dāng)前倉(cāng)庫(kù)為 5.0.0-dev如果提示找不到命令多半是 PATH 沒(méi)配對(duì)回頭檢查一下路徑配置。第 2 步檢查全部依賴。snippy --check命令會(huì)逐個(gè)探測(cè)比對(duì)、排序、變異識(shí)別、注釋等環(huán)節(jié)用到的外部程序可用的顯示 OK 或版本信息。若有缺失就針對(duì)性補(bǔ)裝然后重新檢查直到全部通過(guò)。這一步值得認(rèn)真做——檢查通過(guò)再上真實(shí)數(shù)據(jù)能避免跑到一半才發(fā)現(xiàn)缺工具。第 3 步準(zhǔn)備一份練手?jǐn)?shù)據(jù)。倉(cāng)庫(kù)的 test 目錄里已經(jīng)備好 example.fna參考序列、example.gbk帶注釋版本和 example.bed區(qū)域文件。真實(shí) reads 文件比較大先用 wgsim 按參考序列模擬一對(duì)雙端 readscd test wgsim -S 7 -h -r 0.005 -N 12000 -1 100 -2 100 -d 200 example.fna sim_1.fq sim_2.fq這行命令的作用以參考序列為模板隨機(jī)撒入約 0.5% 的變異生成 1.2 萬(wàn)對(duì)、長(zhǎng)度 100 bp 的虛擬雙端 reads用來(lái)驗(yàn)證整條流程是否通暢。第 4 步正式檢出變異。snippy --cpus 4 --outdir demo1 --ref example.fna --R1 sim_1.fq --R2 sim_2.fq運(yùn)行過(guò)程中會(huì)依次看到比對(duì)、變異識(shí)別等階段日志收尾時(shí)打印結(jié)果目錄路徑并顯示 Done。第 5 步查看產(chǎn)出。ls demo1此時(shí)文件夾里已經(jīng)躺著整套標(biāo)準(zhǔn)產(chǎn)物。結(jié)果文件夾里都有什么文件作用snps.vcf注釋后的標(biāo)準(zhǔn)變異文件snps.tab / snps.csv便于閱讀的表格匯總snps.bam比對(duì)結(jié)果含未比對(duì)與多比對(duì) readssnps.consensus.fa把變異回貼到參考序列的修正版基因組snps.raw.vcf / snps.filt.vcf過(guò)濾前后的變異記錄snps.html可在瀏覽器打開(kāi)的網(wǎng)頁(yè)版匯總想直接看變異清單執(zhí)行head -5 demo1/snps.tab表格各列的含義依次是變異所在的序列名CHROM、位置POS、類型TYPE取值 snp/mnp/ins/del/complex、參考?jí)A基REF、樣本堿基ALT、支持各堿基的 reads 計(jì)數(shù)EVIDENCE。如果參考用的是 example.gbk 這類帶注釋的文件表格還會(huì)多出基因名、產(chǎn)物描述和影響效應(yīng)列——變異落在哪個(gè)基因、是否改變氨基酸一眼就能看到這是 Snippy 很貼心的設(shè)計(jì)。從單樣本擴(kuò)展到批量分析樣本一多逐個(gè)手敲命令就不現(xiàn)實(shí)了。Snippy 提供了批量入口先準(zhǔn)備一個(gè)制表符分隔的清單文件 input.tab每行描述一個(gè)樣本SampleA /path/to/A_1.fq.gz /path/to/A_2.fq.gz SampleB /path/to/B.fq.gz SampleC /path/to/C.contigs.fa生成并檢查批量腳本snippy-multi input.tab --ref Reference.gbk --cpus 16 runme.sh less runme.sh確認(rèn)腳本內(nèi)容無(wú)誤后放行sh runme.sh腳本會(huì)逐個(gè)樣本輸出結(jié)果文件夾并在末尾自動(dòng)調(diào)用 snippy-core把所有樣本都有覆蓋的位點(diǎn)聚合成核心 SNP 比對(duì)產(chǎn)出 core.aln多序列比對(duì)和 core.vcf多樣本 VCF。core.aln 可以直接交給 FastTree 等建樹(shù)工具繪制系統(tǒng)發(fā)育樹(shù)做親緣關(guān)系分析。三個(gè)高頻調(diào)參場(chǎng)景場(chǎng)景一深度太高跑得特別慢。有的樣本深度高達(dá)上千倍而多數(shù)變異在 50~100 倍深度下就能可靠檢出。用 --subsample 按比例隨機(jī)抽讀snippy --subsample 0.1 --outdir demo2 --ref ref.fna --R1 R1.fq.gz --R2 R2.fq.gz場(chǎng)景二只關(guān)心特定區(qū)域。比如只想篩耐藥基因上的突變把目標(biāo)區(qū)域?qū)戇M(jìn) BED 文件用 --targets 限定范圍能省下大量計(jì)算snippy --targets sites.bed --outdir demo3 --ref ref.fna --R1 R1.fq.gz --R2 R2.fq.gz場(chǎng)景三只有 contigs 沒(méi)有原始 reads。改用 --ctgs 傳入 contigs 文件Snippy 會(huì)把它撕成約 250 bp 的偽 reads 再比對(duì)產(chǎn)物與 reads 樣本完全兼容可以混在一起參與批量分析snippy --outdir demo4 --ref ref.fna --ctgs sample.fasta另外三個(gè)核心過(guò)濾參數(shù)也值得記住--mincov位點(diǎn)最少覆蓋數(shù)默認(rèn) 10、--minfrac支持變異堿基的最低比例、--minqual最低質(zhì)量值默認(rèn) 100它們共同決定了最終哪些變異會(huì)被保留。出問(wèn)題時(shí)的排查速查表癥狀常見(jiàn)原因處理辦法提示 command not foundPATH 沒(méi)配好或依賴缺失用 which 逐個(gè)定位缺失工具補(bǔ)進(jìn) PATH 或補(bǔ)裝運(yùn)行極慢數(shù)據(jù)深度過(guò)高用 --subsample 按比例抽讀--check 報(bào)某項(xiàng)缺失外部依賴未安裝用 conda 補(bǔ)裝對(duì)應(yīng)包再重跑檢查結(jié)果缺注釋列參考文件是 FASTA 而非 GenBank換成帶注釋的 .gbk 文件重跑收尾跑通之后繼續(xù)做什么用測(cè)試數(shù)據(jù)完整走一遍驗(yàn)證 → 單樣本 → 批量的流程把每個(gè)環(huán)節(jié)的輸出記在腦子里再碰真實(shí)數(shù)據(jù)。正式樣本開(kāi)跑前備份好原始 reads并為每個(gè)樣本建立清晰的命名規(guī)范方便日后追溯。記錄 --version 的輸出和關(guān)鍵參數(shù)——變異檢測(cè)結(jié)果與版本強(qiáng)相關(guān)注明版本能讓你的結(jié)果更可信、可復(fù)現(xiàn)。進(jìn)階方向結(jié)合 --report 生成逐位點(diǎn)可視化報(bào)告或把 core.aln 送入建樹(shù)、重組過(guò)濾流程做群體分析。Snippy 的價(jià)值在于把比對(duì)—變異識(shí)別—注釋—匯總這條長(zhǎng)流水線封裝成一條命令。當(dāng)你把第一份 reads 順利變成一張清晰的變異表格時(shí)后續(xù)的群體分析和系統(tǒng)發(fā)育研究也就有了可靠的數(shù)據(jù)地基?!久赓M(fèi)下載鏈接】snippy:scissors: :zap: Rapid haploid variant calling and core genome alignment項(xiàng)目地址: https://gitcode.com/gh_mirrors/sn/snippy創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考