diff options
-rw-r--r-- | doc/tools-doc.nix | 1 | ||||
-rw-r--r-- | doc/tools.xml | 1 | ||||
-rw-r--r-- | tools/gridss-computeSamTags.nix | 1 | ||||
-rw-r--r-- | tools/gridss.nix | 46 |
4 files changed, 47 insertions, 2 deletions
diff --git a/doc/tools-doc.nix b/doc/tools-doc.nix index f52f6ad..d68a6b1 100644 --- a/doc/tools-doc.nix +++ b/doc/tools-doc.nix @@ -30,6 +30,7 @@ stage { docgen cnvkit 'CNVkit CNV caller' docgen facets 'Facets CNV caller' docgen fastqc 'FastQC quality control' + docgen gridss 'GRIDSS SV caller' docgen strelka 'Strelka2 variant caller' mkdir $out diff --git a/doc/tools.xml b/doc/tools.xml index 2592b48..022aa3f 100644 --- a/doc/tools.xml +++ b/doc/tools.xml @@ -14,6 +14,7 @@ <xi:include href="cnvkit.xml" /> <xi:include href="facets.xml" /> <xi:include href="fastqc.xml" /> + <xi:include href="gridss.xml" /> <xi:include href="strelka.xml" /> </section> </book> diff --git a/tools/gridss-computeSamTags.nix b/tools/gridss-computeSamTags.nix index 5b249e7..5e35749 100644 --- a/tools/gridss-computeSamTags.nix +++ b/tools/gridss-computeSamTags.nix @@ -1,5 +1,4 @@ { bionix -, blacklist ? null , bwaIndexAttrs ? {} , faidxAttrs ? {} , flags ? null diff --git a/tools/gridss.nix b/tools/gridss.nix index e8dd304..7148220 100644 --- a/tools/gridss.nix +++ b/tools/gridss.nix @@ -7,15 +7,55 @@ rec { url = "https://github.com/PapenfussLab/gridss/releases/download/v2.0.0/gridss-2.0.0-gridss-jar-with-dependencies.jar"; sha256 = "01srl3qvv060whqg1y1fpxjc5cwga5wscs1bmf1v3z87dignra7k"; }; - genConfig = callBionixE ./gridss-configFile.nix {}; + + /* Generate configuration file for GRIDSS. Takes attribute sets to GRIDSS ini style format. + Type: genConfig :: attrSet -> ini file + */ + genConfig = callBionix ./gridss-configFile.nix {}; + + /* Invoke the callVariants tool + Type: callVariants :: {blacklist :: drv = null, config :: ini = null, heapSize :: String = "31g", ...} -> [bam] -> variants + */ callVariants = callBionixE ./gridss-callVariants.nix; + + /* Invoke computeSamTags tool + Type: computeSamTags :: {config :: ini = null, heapSize :: String = "1G", ...} -> bam -> bam + */ computeSamTags = callBionixE ./gridss-computeSamTags.nix; + + /* Invoke softClipsToSplitReads tool + Type: softClipsToSplitReads :: {alignerStreaming :: Bool = false, config :: ini = null, heapSize :: String = "2G", ...} -> bam -> bam + */ softClipsToSplitReads = callBionixE ./gridss-softClipsToSplitReads.nix; + + /* Invoke collectMetrics tool + Type: collectMetrics :: {thresholdCoverage :: Int = 10000, config :: ini = null, heapSize :: String = "1G", ...} -> bam -> metrics + */ collectMetrics = callBionixE ./gridss-collectMetrics.nix; + + /* Invoke extractSVReads tool + Type: extractSVReads :: {unmappedReads :: Bool = false, minClipLength :: Int = 5, config :: ini = null, ...} -> bam -> bam + */ extractSVReads = callBionixE ./gridss-extractSVReads.nix; + + /* Invoke assembly tool + Type: assemble :: {config :: ini = null, heapSize :: String = "31g", ...} -> [bam] -> bam + */ assemble = callBionixE ./gridss-assemble.nix; + + /* Invoke identifyVariants tool + Type: identifyVariants :: {config :: ini = null, heapSize :: String = "4g", ...} -> [bam] -> VCF + */ identifyVariants = exec (attrs: input: ((callBionix ./gridss-variants.nix attrs) input).identify); + + /* Invoke annotateVariants tool + Type: annotateVariants :: {config :: ini = null, heapSize :: String = "4g", ...} -> [bam] -> VCF + */ annotateVariants = exec (attrs: input: ((callBionix ./gridss-variants.nix attrs) input).annotate); + + /* Preprocess BAM files to extract SV reads and convert soft clips to split reads + Type: preprocessBam :: bam -> bam + */ preprocessBam = with samtools; pipe [ (gridss.extractSVReads {}) @@ -24,5 +64,9 @@ rec { (gridss.softClipsToSplitReads {}) (sort {}) ]; + + /* Call SVs: entire pipeline including preprocessing. It is recommended to use this function rather than the individual above tools. + Type: [bam] -> GRIDSS result + */ call = inputs: gridss.annotateVariants {} (map gridss.preprocessBam inputs); } |