X-Git-Url: https://git.arvados.org/lightning.git/blobdiff_plain/dc0b5b0294a8ba771407c4c193b2e8017bf6315e..d5a86b8d482c8897627898110e2dfa6d43798228:/pipeline_test.go?ds=sidebyside diff --git a/pipeline_test.go b/pipeline_test.go index 6735cd8022..c208c645cc 100644 --- a/pipeline_test.go +++ b/pipeline_test.go @@ -1,3 +1,7 @@ +// Copyright (C) The Lightning Authors. All rights reserved. +// +// SPDX-License-Identifier: AGPL-3.0 + package lightning import ( @@ -83,18 +87,19 @@ func (s *pipelineSuite) TestImportMerge(c *check.C) { c.Check(statsout.Len() > 0, check.Equals, true) c.Logf("%s", statsout.String()) - c.Check(ioutil.WriteFile(tmpdir+"/merged.gob", merged.Bytes(), 0666), check.IsNil) + err := os.Mkdir(tmpdir+"/merged", 0777) + c.Assert(err, check.IsNil) + c.Check(ioutil.WriteFile(tmpdir+"/merged/library.gob", merged.Bytes(), 0666), check.IsNil) - hgvsout := &bytes.Buffer{} - code = (&exporter{}).RunCommand("lightning export", []string{"-local", "-ref", "testdata/ref.fasta", "-output-format", "hgvs", "-i", tmpdir + "/merged.gob"}, bytes.NewReader(nil), hgvsout, os.Stderr) + code = (&exporter{}).RunCommand("lightning export", []string{"-local", "-ref", "testdata/ref.fasta", "-output-format", "hgvs", "-input-dir", tmpdir + "/merged", "-output-dir", tmpdir, "-output-per-chromosome=false"}, bytes.NewReader(nil), os.Stderr, os.Stderr) c.Check(code, check.Equals, 0) - c.Check(hgvsout.Len() > 0, check.Equals, true) - c.Logf("%s", hgvsout.String()) - c.Check(hgvsout.String(), check.Equals, `chr1:g.1_3delinsGGC . -chr1:g.[41_42delinsAA];[41=] . -chr1:g.[161=];[161A>T] . -chr1:g.[178=];[178A>T] . -chr1:g.222_224del . + hgvsout, err := ioutil.ReadFile(tmpdir + "/out.tsv") + c.Check(err, check.IsNil) + c.Check(sortLines(string(hgvsout)), check.Equals, sortLines(`chr1:g.1_3delinsGGC N +chr1:g.[41_42delinsAA];[41=] N +chr1:g.[161=];[161A>T] N +chr1:g.[178=];[178A>T] N +chr1:g.222_224del N chr1:g.[302=];[302_305delinsAAAA] . . chr2:g.[1=];[1_3delinsAAA] . chr2:g.125_127delinsAAA @@ -103,31 +108,32 @@ chr2:g.[258_269delinsAA];[258=] . chr2:g.[315C>A];[315=] . chr2:g.[470_472del];[470=] . chr2:g.[471=];[471_472delinsAA] . -`) +`)) - vcfout := &bytes.Buffer{} - code = (&exporter{}).RunCommand("lightning export", []string{"-local", "-ref", "testdata/ref.fasta", "-output-format", "vcf", "-i", tmpdir + "/merged.gob", "-output-bed", tmpdir + "/export.bed"}, bytes.NewReader(nil), vcfout, os.Stderr) + code = (&exporter{}).RunCommand("lightning export", []string{"-local", "-ref", "testdata/ref.fasta", "-output-dir", tmpdir, "-output-format", "pvcf", "-input-dir", tmpdir + "/merged", "-output-bed", tmpdir + "/export.bed", "-output-per-chromosome=false"}, bytes.NewReader(nil), os.Stderr, os.Stderr) c.Check(code, check.Equals, 0) - c.Check(vcfout.Len() > 0, check.Equals, true) - c.Logf("%s", vcfout.String()) - c.Check(vcfout.String(), check.Equals, `chr1 1 NNN GGC 1/1 0/0 -chr1 41 TT AA 1/0 0/0 -chr1 161 A T 0/1 0/0 -chr1 178 A T 0/1 0/0 -chr1 221 TCCA T 1/1 0/0 -chr1 302 TTTT AAAA 0/1 0/0 -chr2 1 TTT AAA 0/0 0/1 -chr2 125 CTT AAA 0/0 1/1 -chr2 240 ATTTTTCTTGCTCTC A 1/0 0/0 -chr2 258 CCTTGTATTTTT AA 1/0 0/0 -chr2 315 C A 1/0 0/0 -chr2 469 GTGG G 1/0 0/0 -chr2 471 GG AA 0/1 0/0 -`) + vcfout, err := ioutil.ReadFile(tmpdir + "/out.vcf") + c.Check(err, check.IsNil) + c.Check(sortLines(string(vcfout)), check.Equals, sortLines(`##FORMAT= +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT testdata/pipeline1/input1.1.fasta testdata/pipeline1/input2.1.fasta +chr1 1 . NNN GGC . . . GT 1/1 0/0 +chr1 41 . TT AA . . . GT 1/0 0/0 +chr1 161 . A T . . . GT 0/1 0/0 +chr1 178 . A T . . . GT 0/1 0/0 +chr1 221 . TCCA T . . . GT 1/1 0/0 +chr1 302 . TTTT AAAA . . . GT 0/1 0/0 +chr2 1 . TTT AAA . . . GT 0/0 0/1 +chr2 125 . CTT AAA . . . GT 0/0 1/1 +chr2 240 . ATTTTTCTTGCTCTC A . . . GT 1/0 0/0 +chr2 258 . CCTTGTATTTTT AA . . . GT 1/0 0/0 +chr2 315 . C A . . . GT 1/0 0/0 +chr2 469 . GTGG G . . . GT 1/0 0/0 +chr2 471 . GG AA . . . GT 0/1 0/0 +`)) bedout, err := ioutil.ReadFile(tmpdir + "/export.bed") c.Check(err, check.IsNil) c.Logf("%s", string(bedout)) - c.Check(string(bedout), check.Equals, `chr1 0 248 0 1000 . 0 224 + c.Check(sortLines(string(bedout)), check.Equals, sortLines(`chr1 0 248 0 1000 . 0 224 chr1 224 372 1 1000 . 248 348 chr1 348 496 2 1000 . 372 472 chr1 472 572 3 1000 . 496 572 @@ -135,10 +141,10 @@ chr2 0 248 4 1000 . 0 224 chr2 224 372 5 750 . 248 348 chr2 348 496 6 1000 . 372 472 chr2 472 572 7 1000 . 496 572 -`) +`)) annotateout := &bytes.Buffer{} - code = (&annotatecmd{}).RunCommand("lightning annotate", []string{"-local", "-variant-hash=true", "-i", tmpdir + "/merged.gob"}, bytes.NewReader(nil), annotateout, os.Stderr) + code = (&annotatecmd{}).RunCommand("lightning annotate", []string{"-local", "-variant-hash=true", "-i", tmpdir + "/merged/library.gob"}, bytes.NewReader(nil), annotateout, os.Stderr) c.Check(code, check.Equals, 0) c.Check(annotateout.Len() > 0, check.Equals, true) sorted := sortLines(annotateout.String())