macでインフォマティクス

macでインフォマティクス

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

細菌ゲノムの構造変異を検出するsnakemakeパイプライン seabreeze

 

 構造変異(大規模な挿入、欠失、重複、反転、転座など)は、細菌の進化において独自かつ重要な役割を果たす。近年、ロングリードシーケンシング技術の進歩により、構造変異の高精度かつハイスループットな予測が可能となった。seabreezeは、構造変異によって引き起こされる細菌ゲノム間の遺伝的変異を包括的に解析するためのツールである。このツールは、既存のパッケージと独自のスクリプトを組み合わせたワークフローを管理し、複数の解析を自動化して統合し、使いやすい1つのパイプラインにまとめている。指定された細菌ゲノムのペアに対して、seabreezeは構造変異の予測と可視化を行い、影響を受けた遺伝子をアノテーションする。また、構造変異の境界に存在するトランスポゾン(転移因子)に関する情報を利用し、それらが変異の生成に関与しているかどうかを予測する。さらに、2つのゲノム間のサイズの違いや、環状染色体内でのレプリコアバランス(複製起点を中心としたゲノムの左右バランス)の変化に関する情報も提供する。seabreezeは、主に実験室での進化実験によって生じた構造変異を解析する目的で開発されたが、同一種の細菌株間であれば、十分に近縁なゲノムに対して広く利用することができる。

 

Documentation

https://barricklab.github.io/seabreeze/

 

インストール

mambaを使ってpython3.11の環境に導入した(windows11 WSL使用)。

Github

mamba create --name seabreeze -y
conda activate seabreeze
mamba install seabreeze-genomics -c bioconda -y

> seabreeze -h

Usage: seabreeze [OPTIONS] COMMAND [ARGS]...

 

  seabreeze is a tool for comprehensively analyzing genetic variation among

  bacterial genomes caused by structural mutations. To get help, run

  `seabreeze --help`

 

  Please see documentation at https://barrick.github.io/seabreeze Report bugs,

  errors and request features at https://github.com/barricklab/seabreeze

 

  seabreeze was developed at the Barrick Lab at UT Austin

 

Options:

  --version   Show the version and exit.

  -h, --help  Show this message and exit.

 

Commands:

  batch  Run seabreeze in batch mode to process multiple samples at once

  run    Run seabreeze for a single sample pair

 

> seabreeze run -h

Usage: seabreeze run [OPTIONS] {analyse_genome_sizes|predict_IS_elements|predi

                     ct_structural_variants|predict_replichore_balance|predict

                     _SV_mechanism|annotate_SV_regions|run_all}

                     [SNAKEMAKE_ARGS]...

 

  Execute given workflow for single sample

 

Options:

  -d, --dir PATH     Set working directory. Default is current working

                     directory

  --ancestor PATH    Path to FASTA file of the ancestor or reference sequence

  --assembly PATH    Path to FASTA file of the assembly or query sequence

  --threads INTEGER  Resources to be used.  [default: 4]

  --ori TEXT         Sequence of the origin. Must use IUPAC bases, and be

                     unique in both the ancestor and assembly. Required for

                     predict_replichore_balance or run_all workflows

  --dif TEXT         Sequence of the terminus. Must use standard IUPAC bases,

                     and be unique in both the ancestor and assembly.

                     Required for predict_replichore_balance or run_all

                     workflows

  --masked           Mask insertion sequences

  -h, --help         Show this message and exit.

 

> seabreeze batch  -h

 

Usage: seabreeze batch [OPTIONS] {analyse_genome_sizes|predict_IS_elements|pre

                       dict_structural_variants|predict_replichore_balance|pre

                       dict_SV_mechanism|annotate_SV_regions|run_all}

                       [SNAKEMAKE_ARGS]...

 

  Execute given workflow for batch processing

 

Options:

  -d, --dir PATH     Set working directory where output will be created.

                     Default is current working directory

  -b, --data PATH    Path to data.csv file. Default is data.csv in current

                     working dir

  --oridif PATH      Path to csv file with sequences for the origin and

                     terminus. Default is ori_dif_coords.csv in the current

                     working dir. Required for predict_replichore_balance or

                     run_all workflows

  --threads INTEGER  Resources to be used.  [default: 4]

  --masked           Mask insertion sequences

  -h, --help         Show this message and exit.

 

 

実行方法

seabreezeは参照配列とクエリ配列のペア間の変異を予測する。この時、seabreezeでは参照配列は「祖先」と呼ばれ、比較対象のクエリ配列は「アセンブリ」と呼ばれている。単一のゲノムアセンブリペア間を比較するコマンドと、複数のゲノムアセンブリ間を同時に比較するコマンドが用意されている。

 

 1、run:1つの祖先-アセンブリペアを解析する

 例えば、祖先アセンブリと、その株からラボ進化実験によって得られた派生ゲノムアセンブリ間を比較する。拡張子は.fastaのみ認識する。また、1個の完全なchromosome配列のみ含まれている必要がある(プラスミドを持つ場合は除外しないとエラーを起こす)。

SVコールまで行う。

#test run
git clone https://github.com/barricklab/seabreeze.git
cd seabreeze/test/seabreeze_run_test/test_genomes/

#実行
seabreeze run predict_structural_variants --assembly Anc-_0gen_REL606_truncated.fasta --ancestor Ara+1_10000gen_4530A_truncated.fasta --threads 12
  • --ancestor    Path to FASTA file of the ancestor or reference sequence
  • --assembly   Path to FASTA file of the assembly or query sequence
  • --threads      Resources to be used.  [default: 4]
  • --ori              Sequence of the origin. Must use IUPAC bases, and be unique in both the ancestor and assembly.  
  • --dif              Sequence of the terminus. Must use standard IUPAC bases, and be unique in both the ancestor and assembly. Required for predict_replichore_balance or run_all  workflows

ペアワイズ比較はdata.csvファイルに基づいて行われる。runモードでは、自動で作成される。

data.csv

3行目には両方の列にAra+1_10000gen_4530A_truncatedが書いてあるので、祖先の自分自身との比較も行われることになる。

02_genomes/には、data.csvで規定された比較対象のゲノムのfastaファイルを配置する必要がある。runモードでは、CSVが自動で作成され、指定したアセンブリファイルが自動で作成された02_genomes/に移動されるため、これらの作業は不要。

 

Seabreeze は複製起点の位置情報を使って、変異や replichoreごとの偏りを計算する。--ori--diffに正確な配列を与える必要がある。"--ori ATGCGTACGTTAGCTAG"の様に指定する。指定の有無に関わらずseabreezeを実行すると、複製起点(origin)と終点(dif)の配列がori_dif_sequences.csvに保存される。ただし、上の例のように--oriや--diffの指定なしで実行した場合、空の状態で作成される。

ori_dif_sequences.csv

 

 

出力例

05_isescan_tables/

Anc-_0gen_REL606_truncated.csv

Ara+1_10000gen_4530A_truncated.csv

 

07_syri_output/unmasked/Anc-_0gen_REL606_truncated

Anc-_0gen_REL606_truncated.plot.pdf

Anc-_0gen_REL606_truncatedsyri.vcf

 

ランモードはanalyse_genome_sizes|predict_IS_elements|predict_structural_variants|predict_replichore_balance|predict_SV_mechanism|annotate_SV_regions|run_all

が用意されている。上の例ではseabreeze run predict_structural_variantsを実行しているが、run_allで全てのプロセスを実行できる(レプリコンバランスに関係するジョブは--oriと--diffの両方の指定が必要)。

run_allの出力例

11_annotated_boundaries/unmasked/

12_genome_diff_tables/html/Anc-_0gen_REL606_truncated.html

 

2、batch:複数のサンプルを同時に解析する

seabreeze batch predict_structural_variants d genome_dir -b data.csv --threads 12
  • -d     Set working directory where output will be created. Default is current working directory
  • -b     Path to data.csv file. Default is data.csv in current working dir       
  • --oridif    Path to csv file with sequences for the origin and terminus. Default is ori_dif_coords.csv in the current working dir. Required for predict_replichore_balance or  run_all workflows            
                        

祖先(参照配列)は同じゲノムファイルを繰り返し指定できるが、アセンブリの列(比較対象のクエリ配列)は、祖先が異なっていても同じファイルは複数回指定できない。指定するとエラーを起こす。

(ドキュメントより転載)

 

--data オプションで指定されたdata.csvファイルに基づいて行われる。指定していないときは自動で作成される。

マニュアルにある例

 

その他(ドキュメントより)

  • seabreezeは、反復配列間の構造変異を捕捉できるため、ロングリードシーケンスから生成されたゲノムアセンブリとの相性が最も良い。
  • 高い配列/系統的乖離を有するゲノム(例えば異なる細菌種間)の比較には適していない。
  • --maskedを使うと、ISのような反復配列をNNNsでマスクできる。

引用

seabreeze: A Pipeline for Analyzing Structural Variation Between Bacterial Genome Assemblies

Ira Zibbu 1,2, Claus O. Wilke 3, and Jeffrey E. Barrick

JOSS. Submitted: 03 February 2025Published: 24 July 2025

 

関連