Allow importing all-hom (reference) data from single fasta file.
[lightning.git] / cmd.go
diff --git a/cmd.go b/cmd.go
index 1e86dc701010164ade05e32765762004ceeff42c..8fc3636d6c577b68ab8d439179f327dee2726f5e 100644 (file)
--- a/cmd.go
+++ b/cmd.go
@@ -16,9 +16,17 @@ var (
                "-version":  cmd.Version,
                "--version": cmd.Version,
 
+               "ref2genome":         &ref2genome{},
+               "vcf2fasta":          &vcf2fasta{},
                "import":             &importer{},
                "export-numpy":       &exportNumpy{},
+               "filter":             &filterer{},
                "build-docker-image": &buildDockerImage{},
+               "pca-go":             &goPCA{},
+               "pca-py":             &pythonPCA{},
+               "plot":               &pythonPlot{},
+               "diff-fasta":         &diffFasta{},
+               "stats":              &stats{},
        })
 )
 
@@ -36,19 +44,23 @@ func (cmd *buildDockerImage) RunCommand(prog string, args []string, stdin io.Rea
        }
        defer os.RemoveAll(tmpdir)
        err = ioutil.WriteFile(tmpdir+"/Dockerfile", []byte(`FROM debian:10
-RUN apt-get update
-RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends bcftools samtools
+RUN DEBIAN_FRONTEND=noninteractive \
+  apt-get update && \
+  apt-get dist-upgrade -y && \
+  apt-get install -y --no-install-recommends bcftools bedtools samtools python2 python3-sklearn python3-matplotlib && \
+  apt-get clean
 `), 0644)
        if err != nil {
                fmt.Fprint(stderr, err)
                return 1
        }
        docker := exec.Command("docker", "build", "--tag=lightning-runtime", tmpdir)
-       docker.Stdout = os.Stdout
-       docker.Stderr = os.Stderr
+       docker.Stdout = stdout
+       docker.Stderr = stderr
        err = docker.Run()
        if err != nil {
                return 1
        }
+       fmt.Fprintf(stderr, "built and tagged new docker image, lightning-runtime\n")
        return 0
 }