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ファイルには、ゲノム編集によって想定されるアレルを記述します。
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
BAMディレクトリには、アレルごとに分類されたBAMファイルが格納されています。
Note
genome
オプションで参照ゲノムを指定すると、その参照ゲノムにアライメントされます。
指定がない場合、入力のFASTAファイルのcontrolアレルにアライメントされます。
FASTAディレクトリには、各アレルのFASTAファイルが保存されます。
HTMLディレクトリには、変異箇所が色付けされた各アレルのHTMLファイルが保存されます。
Tyr点変異の例を以下に示します:
- 点変異箇所は緑色でハイライトされています。
MUTATION_INFOディレクトリには、各アレルの変異箇所を示すテーブルが保存されます。
Tyr点変異の例を以下に示します:
- 点変異の染色体上の位置と、変異の種類が記載されています。
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(コントリビューター行動規範)に基づいて公開されています。