Skip to content

Workflow that takes advantage of GATKs CNN tool which is a deep learning approach to filter variants based on Convolutional Neural Networks

License

Notifications You must be signed in to change notification settings

microsoft/gatk4-cnn-variant-filter-azure

 
 

Variant-filtering with Convolutional Neural Networks on Azure

This repository is an example of running GATK's CNN tool, which is a deep learning approach to filter variants based on Convolutional Neural Networks, by the Broad Institute of MIT and Harvard, on Cromwell on Azure.

This repository is a fork from the original and has all the required changes to run the WDL workflow on Cromwell on Azure.

Please read the following discussion to learn more about the CNN tool: Deep Learning in GATK4.

Here, you can find the WDL file and an example inputs JSON file with links to data hosted on a public Azure Storage account. You can use the "datasettestinputs" storage account directly as a relative path, like in the inputs JSON files.

The cram2filtered.trigger.json trigger file is ready to use. You can start the workflow on your instance of Cromwell on Azure, using these instructions.

gatk4-cnn-variant-filter

Purpose :

Workflows that takes advantage of GATKs CNN tool which is a deep learning approach to filter variants based on Convolutional Neural Networks.

cram2filtered.wdl

This workflow takes an input CRAM/BAM to call variants with HaplotypeCaller then filters the calls with the CNNVariant neural net tool using the filtering model specified.

The site-level scores are added to the INFO field of the VCF. The architecture arguments, info_key and tensor_type arguments MUST be in agreement (e.g. 2D models must have tensor_type of read_tensor and info_key of CNN_2D, 1D models have tensor_type of reference and info_key of CNN_1D). The INFO field key will be 1D_CNN or 2D_CNN depending on the neural net architecture used for inference. The architecture arguments specify pre-trained networks. New networks can be trained by the GATK tools: CNNVariantWriteTensors and CNNVariantTrain. The CRAM could be generated by the single-sample pipeline.

Requirements/expectations :

  • CRAM/BAM
  • BAM Index (if input is BAM)

Output :

  • Filtered VCF and its index.

Software version notes :

  • GATK 4.1.4.0
  • samtools 1.3.1
  • Cromwell version support
    • Successfully tested on v47
    • Does not work on versions < v23 due to output syntax

Important Note :

  • The provided JSON is meant to be a ready to use example JSON template of the workflow. It is the user’s responsibility to correctly set the reference and resource input variables using the GATK Tool and Tutorial Documentations.
  • The following material is provided by the GATK Team. Please post any questions or concerns to one of our forum sites : GATK, Terra, WDL/Cromwell.
  • Please visit the User Guide site for further documentation on Broad Institute's workflows and tools.

LICENSING :

This script is released under the WDL source code license (BSD-3) (see LICENSE in https://github.com/broadinstitute/wdl). Note however that the programs it calls may be subject to different licenses. Users are responsible for checking that they are authorized to run all programs before running this script.

About

Workflow that takes advantage of GATKs CNN tool which is a deep learning approach to filter variants based on Convolutional Neural Networks

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • WDL 100.0%