aboutsummaryrefslogtreecommitdiff
path: root/tools/gridss.nix
blob: b85e84e231dbd8cda14564205fb89a1b390703d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{bionix, nixpkgs}:

with nixpkgs;
with bionix;

rec {
  jar = fetchurl {
    url = "https://github.com/PapenfussLab/gridss/releases/download/v2.0.0/gridss-2.0.0-gridss-jar-with-dependencies.jar";
    sha256 = "01srl3qvv060whqg1y1fpxjc5cwga5wscs1bmf1v3z87dignra7k";
  };
  gridssConfig = callBionix ./gridss-configFile.nix {};
  callVariants = callBionix ./gridss-callVariants.nix;
  computeSamTags = callBionix ./gridss-computeSamTags.nix;
  softClipsToSplitReads = callBionix ./gridss-softClipsToSplitReads.nix;
  collectMetrics = callBionix ./gridss-collectMetrics.nix;
  extractSVReads = callBionix ./gridss-extractSVReads.nix;
  assemble = callBionix ./gridss-assemble.nix;
  identifyVariants = callBionix ./gridss-identifyVariants.nix;
  annotateVariants = callBionix ./gridss-annotateVariants.nix;
  preprocessBam = input: with samtools; sort {} (gridss.softClipsToSplitReads {} (gridss.computeSamTags {} (sort {nameSort = true;} (gridss.extractSVReads {} (markdup {} (sort {} (fixmate {mateScore = true;} (sort {nameSort = true;} input))))))));
  call = inputs: bionix.gridss.annotateVariants {} (map gridss.preprocessBam inputs);
}