構造バリアント(SV)は進化および機能ゲノミクスにおいて重要な役割を果たすが、その特性解析は困難である。高精度のロングリードシーケンスは、効果的なコーリング手法と組み合わせることで、SVの特性解析を大幅に改善することができる。最新のロングリードSVコーラーは高精度であるが、SVの発見やジェノタイピングの際に局所的なハプロタイプを系統的にモデル化することで、さらなる改善が可能である。
SVのハプロタイプを系統的にモデル化し、精度と解像度を向上させた、マッピングされた高品質ロングリード用のSVコーラーであるsawfishについて述べる。T2T-HG002-Q100ディプロイドアセンブリから得られたGenome in a Bottle (GIAB) SV benchmarkのドラフトとの比較から、sawfishは最新のロングリードSVコーラーの中で、テストされた全てのSVサイズグループにおいて最高の精度を持つことが示された。さらに、Sawfishは10倍から32倍のカバレッジまで、テストされたすべてのデプスレベルで最高の精度を維持しており、他のコーラーが15 foldのカバレッジのSawfishの精度に匹敵するためには、少なくとも30 foldのカバレッジが必要であった。Sawfishはまた、GIABチャレンジングな医療関連遺伝子ベンチマークでも最高の精度を示し、包括的なコンテキストと医療関連コンテキストの両方における向上を実証している。
CEPH-1463の7サンプルをジョイントジェノタイピングした場合、sawfishは他の最先端のSVコーラーよりも9000件以上多く血統と一致するコールを得ており、一致するSVの割合が最も高い(81%)。Sawfishの品質モデルは、さらに高い割合の一致SVの選択を可能にする。
User Guide
https://github.com/PacificBiosciences/sawfish/blob/main/docs/user_guide.md
インストール
ソースコードはPacBioのオフィシャルレポジトリで公開されている。
#Sawfishバイナリ
wget https://github.com/PacificBiosciences/sawfish/releases/download/v0.12.1/sawfish-v0.12.1-x86_64-unknown-linux-gnu.tar.gz
tar -xzf sawfish-v0.12.1-x86_64-unknown-linux-gnu.tar.gz
cd sawfish-v0.12.1-x86_64-unknown-linux-gnu/bin/
#PATHを通す
export PATH=${PWD}:$PATH
#conda
mamba create -n sawfish -c bioconda sawfish -y
> sawfish
sawfish 0.12.1
Chris Saunders <csaunders@pacb.com>
Structural variant analysis for mapped PacBio HiFi reads
Usage: sawfish [OPTIONS] <COMMAND>
Commands:
discover Discover SV candidate alleles in one sample
joint-call Call and genotype SVs in one to many samples, given the discover command results from each
help Print this message or the help of the given subcommand(s)
Options:
--threads <THREAD_COUNT> Number of threads to use. Defaults to all logical cpus detected
-h, --help Print help
-V, --version Print version
Copyright (C) 2004-2025 Pacific Biosciences of California, Inc.
This program comes with ABSOLUTELY NO WARRANTY; it is intended for
Research Use Only and not for use in diagnostic procedures.
> sawfish discover -h
Discover SV candidate alleles in one sample
Usage: sawfish discover [OPTIONS] --bam <FILE> --ref <FILE>
Options:
--output-dir <DIR>
Directory for all discover command output (must not already exist) [default: sawfish_discover_output]
--threads <THREAD_COUNT>
Number of threads to use. Defaults to all logical cpus detected
--bam <FILE>
Alignment file for query sample in BAM or CRAM format
--ref <FILE>
Genome reference in FASTA format
--expected-cn <FILE>
Expected copy number values by genomic interval, in BED format
Regex used to select chromosomes for mean haploid coverage estimation. All selected chromosomes are assumed diploid [default: ^(chr)?\d{1,2}$]
--min-indel-size <MIN_INDEL_SIZE>
Co-linear SVs must have either an insertion or deletion of this size or greater to be included in the output. All other SV evidence patterns such as those consistent with duplications, inversions and translocations will always be included in the output [default: 35]
--min-sv-mapq <MIN_SV_MAPQ>
Min mapq value for reads to be used in SV breakend finding. This does not change depth analysis [default: 10]
--reduce-overlapping-sv-alleles
Reduce overlapping SV alleles to a single copy
-h, --help
Print help (see more with '--help')
-V, --version
Print version
> sawfish joint-call -h
Call and genotype SVs in one to many samples, given the discover command results from each
Usage: sawfish joint-call [OPTIONS]
Options:
--output-dir <DIR> Directory for all joint-call command output (must not already exist) [default: sawfish_joint-call_output]
--threads <THREAD_COUNT> Number of threads to use. Defaults to all logical cpus detected
--sample <DIR> Sample discover-mode results directory. Can be specified multiple times to joint call over multiple samples
--min-sv-mapq <MIN_SV_MAPQ> Min mapq value for reads to be used in SV breakend finding. This does not change depth analysis [default: 10]
-h, --help Print help
-V, --version Print version
実行方法
Sawfishは2つのステップでサンプルを解析する。
1,discover - SV候補領域を特定し、各ローカルSVハプロタイプをアセンブルする。
2,joint-call - discoverステップの出力を1~多数のサンプルについて受け取り、サンプルセットについてジョイントジェノタイピングされたSVコールを報告する。
1、sawfish discover
sawfish discover --threads 16 --ref GRCh38.fa --bam HG002.GRCh38.bam --output-dir HG002_discover_dir
- --cov-regex Regex used to select chromosomes for mean haploid coverage estimation. All selected chromosomes are assumed diploid [default: ^(chr)?\d{1,2}$]
ヒトゲノム向けに設計されており、リファレンスfastaの染色体名はchr + digitを認識する。異なる場合は"--cov-regex"オプションを付けて指定する。
2、sawfish joint-call
sawfish joint-call --threads 16 --sample HG002_discover_dir --output-dir HG002_joint_call_dir
その他
- 1サンプルのSVコールでも、bamに対してdiscoverを実行し、discoverの出力ディレクトリを指定してoint callを実行する。
引用
Sawfish: Improving long-read structural variant discovery and genotyping with local haplotype modeling
Christopher T Saunders, James M Holt, Daniel N Baker, Juniper A Lake, Jonathan R Belyeu, Zev Kronenberg, William J Rowell, Michael A Eberle
Bioinformatics, Published: 09 April 2025