macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

ロングリードのマッピングから構造バリアントとジェノタイピングを行う Sawfish

 

 構造バリアント(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のオフィシャルレポジトリで公開されている。

Github

#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

      --cov-regex <REGEX>

          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