From fce03fcbdbea445bc058348db30ccb99274d3f96 Mon Sep 17 00:00:00 2001 From: Justin Bedo Date: Tue, 27 Nov 2018 12:50:46 +1100 Subject: Expand README and add simple example pipeline --- example/call.nix | 19 +++++++++++++++++++ example/default.nix | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 example/call.nix create mode 100644 example/default.nix (limited to 'example') diff --git a/example/call.nix b/example/call.nix new file mode 100644 index 0000000..c9be673 --- /dev/null +++ b/example/call.nix @@ -0,0 +1,19 @@ +# This is an example pipeline specification to do multi-sample variant calling +# with the Platypus variant caller. Each input is preprocessed by aligning +# against a reference genome (defaults to GRCH38), fixing mate information, and +# marking duplicates. Finally platypus is called over all samples. +{bionix ? import {} +,nixpkgs ? import {} +,inputs +,ref ? null}: + +with bionix; + +let + preprocess = f: + samtools.markdup {} + (samtools.sort {} + (samtools.fixmate {} + (bwa.align {ref = if ref == null then bionix.ref.grch38.seq else ref;} f))); + + in platypus.call {} (map preprocess inputs) diff --git a/example/default.nix b/example/default.nix new file mode 100644 index 0000000..bceaa96 --- /dev/null +++ b/example/default.nix @@ -0,0 +1,42 @@ +# This example uses the pipelines specified in the call.nix file on the +# synthetic data in this directory. +with import {}; + +let + + # List of input samples + inputs = [ + # Sample 1 + { + input1 = fetchFastQ { + url = "https://github.com/PapenfussLab/bionix/raw/master/example/sample1-1.fq"; + sha256 = "1m3vc248mbr4v56459q4xsklznssgqb35lwhwk1i9qvxqm7c72nq"; + }; + + input2 = fetchFastQ { + url = "https://github.com/PapenfussLab/bionix/raw/master/example/sample1-2.fq"; + sha256 = "13fqvdb5r2sidi2i0s3ifg8gyxp8kibpxc3cbiw07d5zcn3g479x"; + }; + } + + # Sample 2 + { + input1 = fetchFastQ { + url = "https://github.com/PapenfussLab/bionix/raw/master/example/sample2-1.fq"; + sha256 = "0c6ik4smsw2kb8xbbci80d00c24klk6mqd2a71y4v9hmpnc42fmr"; + }; + + input2 = fetchFastQ { + url = "https://github.com/PapenfussLab/bionix/raw/master/example/sample2-2.fq"; + sha256 = "0zvrkm2m69lwfi89hzxsbnkp4i6cszh7c624l1qwmd4s6gh7vfcx"; + }; + } + ]; + + # The reference for the synthetic data + ref = fetchFastA { + url = "https://github.com/PapenfussLab/bionix/raw/master/example/ref.fa"; + sha256 = "06gphhh40h3mvwvs2m51qc3rpih8mcs8frhd48l94d5bzwfhb2hc"; + }; + +in import ./call.nix {inherit inputs ref;} -- cgit v1.2.3