ゲノム変異は、1塩基ヌクレオチド多型(SNP)から大規模な構造変異(SV)まで、多様な変化のスペクトラムを構成し、細菌の進化と種分化に重要な役割を果たしている。SNPsとSVsを正確に同定することは、その後の進化研究や疫学研究に有益である。本研究では、SNPとSVの同定を組み合わせた新たなユーザーフレンドリーなオールインワンパイプライン「VariantDetective(VD)」を提案する。このパイプラインは、複数のツールを統合し、コンセンサスゲノム変異を生成する。
インストール
mamba create -n variantdetective -y
conda activate variantdetective
mamba install -c bioconda -c conda-forge -c charronp variantdetective
> variantdetective
usage: variantdetective [-h] [-v]
{all_variants,structural_variant,snp_indel,combine_variants}
...
VariantDetective: Identify single nucleotide variants (SNV),
insertions/deletions (indel) and/or structural variants (SV) from FASTQ reads
or FASTA genomic sequences.
Help:
-h, --help Show this help message and exit
-v, --version Show program version number and exit
Commands:
all_variants Identify structural variants (SV) from long reads
(FASTQ) and SNPs/indels from short reads (FASTQ). If
genome sequence (FASTA) is provided instead, simulate
reads and predict SV, SNPs and indels.
structural_variant Identify structural variants (SV) from long reads
(FASTQ) or genome sequence (FASTA). If input is FASTA,
long reads will be simulated to detect SVs.
snp_indel Identify SNPs/indels from short reads (FASTQ). If genome
sequence (FASTA) is provided instead, simulate reads and
predict SNPs and indels.
combine_variants Combine VCF files predicted using other tools.
実行方法
複数のランモードが用意されている。
variantdetective all_variants ロングリードのFASTQからSVを、ショートリードのデーFASTQからSNP/Indelsを、またはゲノム配列(FASTA)から両方の種類の変異を同定する。ゲノム配列(FASTA)が提供された場合、SV、SNP、およびindelを予測するためにシークエンシングデータがシミュレートされる。
variantdetective structural_variant ロングリードのFASTQまたはゲノム配列(FASTA)からSVを同定する。ゲノム配列(FASTA)が提供された場合、SV、SNP、およびindelを予測するためにシークエンシングデータがシミュレートされる。
variantdetective snp_indel ショートリードのFASTQからまたはゲノム配列(FASTA)からSNP/indelを同定する。ゲノム配列(FASTA)が提供された場合、SV、SNP、およびindelを予測するためにシークエンシングデータがシミュレートされる。
variantdetective combine_variants 他のツールで予測されたSNP/IndelsのVCFファイルまたはSVのVCFファイルを結合する。
SNVとshort indelのバリアントコーラーには以下が使用されている。結果はBCFtoolsのvcf-isecで統合され、2つ以上のコーラーがサポートしているバリアントがコンセンサスコールとして出力される。
- Clair3
- Freebayes
- GATK4 HaplotypeCaller
SVsのバリアントコーラーには以下が使用されている。 SURVIVOR mergeでマージされ、ブレイクポイントが1kb以内のSVがマージされる。デフォルトでは3つ以上のコーラーがサポートしているバリアントがコンセンサスコールとして出力される。
- cuteSV
- NanoSV
- NanoVar
- SVIM
テストラン
all_variantsコマンドのラン。リファレンスと変異株のゲノムを指定する。 all_variantsコマンドは、ゲノム配列同士を指定した場合、ゲノム間を比較してSV、SNP、およびindelを予測する。
git clone https://github.com/OLF-Bioinformatics/VariantDetective.git
cd VariantDetective/
variantdetective all_variants \
-r testdata/testdata_ref.fasta \
-g testdata/testdata_mut.fasta \
-o testdata/test
出力例
test/

test/snp_indel/

test/snp_indel/snp_final.vcf

test/snp_indel/snp_final.vcf

test/structural_variant/

test/structural_variant/combined_sv.vcf

combined_sv.csv

combined_sv_summary.txt

snp_indel コマンドのラン。allと同様、リファレンスと変異株のゲノムを指定する。
cd VariantDetective/
variantdetective snp_indel \
-r testdata/testdata_ref.fasta \
-g testdata/testdata_mut.fasta \
-o testdata/test2
出力例

structural_variantコマンドのラン。allと同様、リファレンスと変異株のゲノムを指定する。
cd VariantDetective/
variantdetective structural_variant \
-r testdata/testdata_ref.fasta \
-g testdata/testdata_mut.fasta \
-o testdata/test3
出力例

ロングリードを指定してstructural_variantコマンドのラン。
variantdetective structural_variant -r REFERENCE.fasta -g SAMPLE.fasta
ほかのツールからの複数のSNPコールのVCFをマージしてコンセンサスVCFを作る事も出来る。combine_variants コマンドを使用する。
variantdetective combine_variants --snp_vcf TOOL1.vcf TOOL2.vcf TOOL3.VCF --snp_consensus 2
ほかのツールからのSVのVCFのマージにも対応している。
variantdetective combine_variants --sv_vcf TOOL1.vcf TOOL2.vcf TOOL3.VCF --sv_consensus 2
引用
VariantDetective: an accurate all-in-one pipeline for detecting consensus bacterial SNPs and SVs
Philippe Charron, Mingsong Kang
Bioinformatics. 2024 Feb 15;40(2):