Skip to content

Latest commit

 

History

History
379 lines (281 loc) · 17.2 KB

README_JP.md

File metadata and controls

379 lines (281 loc) · 17.2 KB

License Test Python PyPI Bioconda DOI

DAJIN2は、ナノポアシーアターゲットシーケンシングを用いた、ゲノム編集サンプルのジェノタイピングツールです。

🌟 特徴

  • 網羅的な変異検出: ナノポアターゲット領域におけるゲノム編集イベントを、点変異から構造多型まで、網羅的に変異を検出することができます。
    • 特に、ゲノム編集で生じる意図しない変異の検出や、欠失が生じた領域における挿入イベントといった複合的な変異の検出が可能である点が強みとなります
  • 高感度なアレル分類: ゲノム編集により生じるモザイクアレルの分類が可能です。
    • 1%しか存在しないマイナーアレルを分類することができます
  • 直観的な可視化: ゲノム編集結果は直観的に可視化され、変異を迅速かつ容易に識別することができます
  • 多サンプル対応: 複数のサンプルの一括処理が可能です。これにより、大規模な実験や比較研究を効率的に進めることができます

🛠 インストール

環境

  • Python >= 3.8
  • Unix環境 (Linux, macOS, WSL2, etc.)

Bioconda (推奨)

conda create -n env-dajin2 -c conda-forge -c bioconda python=3.10 DAJIN2 -y
conda activate env-dajin2

Note

Appleシリコン搭載のMacの場合:
現状、BiocondaがAppleシリコンに対応していないため、以下のようにRoseeta2経由でインストールを行ってください

CONDA_SUBDIR=osx-64 conda create -n env-dajin2 -c conda-forge -c bioconda python=3.10 DAJIN2 -y
conda activate env-dajin2
conda config --env --set subdir osx-64
python -c "import platform; print(platform.machine())" # 'arm64'ではなく、'x86_64'と表示されることをご確認ください
pip install DAJIN2

Caution

インストールに問題が発生した場合は、トラブルシューティングガイドをご覧ください。

💻 使用方法

必要なファイル

サンプルおよびコントロールファイル

DAJIN2では、ゲノム編集特異的な変異を検出するために、ゲノム編集を受けていないコントロールサンプルが必要です。
ゲノム編集サンプルとコントロールのFASTQ/FASTA(gzip圧縮・非圧縮どちらも対応可能)、またはBAMファイルを含むディレクトリを指定します。

Guppyによるベースコール

Guppyによるベースコール後、以下のようなファイル構成が出力されます:

fastq_pass
├── barcode01
│   ├── fastq_runid_b347657c88dced2d15bf90ee6a1112a3ae91c1af_0_0.fastq.gz
│   ├── fastq_runid_b347657c88dced2d15bf90ee6a1112a3ae91c1af_10_0.fastq.gz
│   └── fastq_runid_b347657c88dced2d15bf90ee6a1112a3ae91c1af_11_0.fastq.gz
└── barcode02
    ├── fastq_runid_b347657c88dced2d15bf90ee6a1112a3ae91c1af_0_0.fastq.gz
    ├── fastq_runid_b347657c88dced2d15bf90ee6a1112a3ae91c1af_10_0.fastq.gz
    └── fastq_runid_b347657c88dced2d15bf90ee6a1112a3ae91c1af_11_0.fastq.gz

上記のbarcode01をコントロール、barcode02をサンプルと仮定すると、それぞれのディレクトリは下記の通りに指定します:

  • コントロール: fastq_pass/barcode01
  • サンプル: fastq_pass/barcode02
Doradoによるベースコール

Doradoによるベースコール(dorado demux)においては、BAMファイルが出力されます:

dorado_demultiplex
├── EXP-PBC096_barcode01.bam
└── EXP-PBC096_barcode02.bam

Important

各bamファイルを別々のディレクトリに格納してください。ディレクトリ名は任意です。

dorado_demultiplex
├── barcode01
│   └── EXP-PBC096_barcode01.bam
└── barcode02
    └── EXP-PBC096_barcode02.bam

dorado correctによるシークエンスエラー補正後に出力されるFASTAファイルも同様に、別々のディレクトリに格納してください。

dorado_correct
├── barcode01
│   └── EXP-PBC096_barcode01.fasta
└── barcode02
    └── EXP-PBC096_barcode02.fasta

上記のbarcode01をコントロール、barcode02をサンプルと仮定すると、それぞれのディレクトリは下記の通りに指定します:

  • コントロール: dorado_demultiplex/barcode01 / dorado_correct/barcode01
  • サンプル: dorado_demultiplex/barcode02 / dorado_correct/barcode02

想定されるアレル配列を含むFASTAファイル

FASTAファイルには、ゲノム編集によって想定されるアレルを記述します。

Important

コントロールアレルの指定: >controlというヘッダー名と、その配列は必須です。

事前に想定されるアレルがある場合(例:ノックインやノックアウト)、それらのシーケンスもFASTAファイルに記載してください。これらの想定アレルの名称は任意に設定できます。

以下は、FASTAファイルの一例です:

>control
ACGTACGTACGTACGT
>knock-in
ACGTACGTCCCCACGTACGT
>knock-out
ACGTACGT

ここで、>control はコントロールアレルの配列を表しており、必須です。
>knock-in>knock-out はそれぞれノックインとノックアウトの配列です。

単一サンプル解析

単一サンプルの解析コマンドは以下の通りです。

DAJIN2 <-c|--control> <-s|--sample> <-a|--allele> <-n|--name> \
  [-g|--genome] [-t|--threads] [-h|--help] [-v|--version]

引数:
  -c, --control             コントロールのFASTQ/FASTA/BAMファイルが格納されたディレクトリのパス
  -s, --sample              サンプルのFASTQ/FASTA/BAMファイルが格納されたディレクトリのパス
  -a, --allele              ゲノム編集によって想定されるアレルを記載したFASTAファイルのパス
  -n, --name (オプション)     出力ディレクトリの名前 [デフォルト: Results]
  -g, --genome (オプション)   参照ゲノムのID (e.g hg38, mm39) [デフォルト: '']
  -t, --threads (オプション)  使用するスレッド数 [デフォルト: 1]
  -h, --help                ヘルプメッセージの出力
  -v, --version             バージョン情報の出力

実行例

# Example datasetのダウンロード
curl -LJO https://github.com/akikuno/DAJIN2/raw/main/examples/example_single.tar.gz
tar -xf example_single.tar.gz

# DAJIN2の実行(単一サンプル解析)
DAJIN2 \
    --control example_single/control \
    --sample example_single/sample \
    --allele example_single/stx2_deletion.fa \
    --name stx2_deletion \
    --genome mm39 \
    --threads 4

複数サンプルの一括処理

batchサブコマンドを利用することで、複数サンプルの同時処理が可能です。
サンプル情報をまとめたCSVファイルまたはExcelファイルが必要です。

Note

サンプル情報のまとめ方は、こちらをご参照ください。

DAJIN2 batch <-f|--file> [-t|--threads] [-h]

引数:
  -f, --file                CSVまたはExcelファイルのパス
  -t, --threads (オプション)  使用するスレッド数 [デフォルト: 1]
  -h, --help                ヘルプメッセージの出力

実行例

# Example datasetのダウンロード
curl -LJO https://github.com/akikuno/DAJIN2/raw/main/examples/example_batch.tar.gz
tar -xf example_batch.tar.gz

# DAJIN2の実行(バッチ処理)
DAJIN2 --file batch.csv --threads 4

📈 出力結果

DAJIN2の処理が完了すると、DAJIN_Resultsというディレクトリが作られます。
このDAJIN_Resultsディレクトリには、以下のファイルが含まれます:

DAJIN_Results/tyr-substitution
├── BAM
│   ├── tyr_c230gt_01%
│   ├── tyr_c230gt_10%
│   ├── tyr_c230gt_50%
│   └── tyr_control
├── FASTA
│   ├── tyr_c230gt_01%
│   ├── tyr_c230gt_10%
│   └── tyr_c230gt_50%
├── HTML
│   ├── tyr_c230gt_01%
│   ├── tyr_c230gt_10%
│   └── tyr_c230gt_50%
├── MUTATION_INFO
│   ├── tyr_c230gt_01%.csv
│   ├── tyr_c230gt_10%.csv
│   └── tyr_c230gt_50%.csv
├── read_plot.html
├── read_plot.pdf
└── read_summary.xlsx

1. BAM

BAMディレクトリには、アレルごとに分類されたBAMファイルが格納されています。

Note

genomeオプションで参照ゲノムを指定すると、その参照ゲノムにアライメントされます。
指定がない場合、入力のFASTAファイルのcontrolアレルにアライメントされます。

2. FASTA / HTML

FASTAディレクトリには、各アレルのFASTAファイルが保存されます。
HTMLディレクトリには、変異箇所が色付けされた各アレルのHTMLファイルが保存されます。
Tyr点変異の例を以下に示します:

  • 点変異箇所は緑色でハイライトされています。

3. MUTATION_INFO

MUTATION_INFOディレクトリには、各アレルの変異箇所を示すテーブルが保存されます。
Tyr点変異の例を以下に示します:

  • 点変異の染色体上の位置と、変異の種類が記載されています。

4. read_summary.xlsx / read_plot.html / read_plot.pdf

read_summary.xlsxには、各アレルのリード数と存在割合が記述されています。
read_plot.html および read_plot.pdf は、resd_summary.xlsxを可視化したもので、各アレルの割合を図示しています。
図中のAllele typeはアレルの種類を、Percent of readsは該当するリードのアレル割合を示しています。

Allele typeの種類は以下の通りです:

  • Intact:入力のFASTAアレルと完全に一致するアレル
  • Indels:50塩基以内の置換、欠失、挿入、逆位を含むアレル
  • SV:50塩基以上の置換、欠失、挿入、逆位を含むアレル

Warning

PCRアンプリコンを用いたターゲットシーケンシングでは、増幅バイアスのため % of readsが実際のアレルの割合と一致しないことがあります。
とくに大型欠失が存在する場合、欠失アレルが顕著に増幅されることから、実際のアレル割合を反映しない可能性が高まります。

📣 フィードバックと行動規範

Note

よくあるご質問については、こちらををご覧ください。

他の質問、バグ報告、フィードバックについて、皆さまからのご意見をお待ちしています。
報告には GitHub Issues をご利用ください(日本語でも大丈夫です)。

なお、本プロジェクトは Contributor Code of Conduct(コントリビューター行動規範)に基づいて公開されています。

📄 参考文献

Kuno A, et al. (2022) DAJIN enables multiplex genotyping to simultaneously validate intended and unintended target genome editing outcomes. PLoS Biology 20(1): e3001507.