aboutsummaryrefslogtreecommitdiff
path: root/tools/gridss.nix
blob: e8dd3048280514f32dd92a88a7dc129a8566b357 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{bionix}:

with bionix;

rec {
  jar = pkgs.fetchurl {
    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 {};
  callVariants = callBionixE ./gridss-callVariants.nix;
  computeSamTags = callBionixE ./gridss-computeSamTags.nix;
  softClipsToSplitReads = callBionixE ./gridss-softClipsToSplitReads.nix;
  collectMetrics = callBionixE ./gridss-collectMetrics.nix;
  extractSVReads = callBionixE ./gridss-extractSVReads.nix;
  assemble = callBionixE ./gridss-assemble.nix;
  identifyVariants = exec (attrs: input: ((callBionix ./gridss-variants.nix attrs) input).identify);
  annotateVariants = exec (attrs: input: ((callBionix ./gridss-variants.nix attrs) input).annotate);
  preprocessBam = with samtools;
    pipe [
      (gridss.extractSVReads {})
      (sort {nameSort = true;})
      (gridss.computeSamTags {})
      (gridss.softClipsToSplitReads {})
      (sort {})
    ];
  call = inputs: gridss.annotateVariants {} (map gridss.preprocessBam inputs);
}