Skip to content

Commit

Permalink
Add ability to run SEQC comparisons from the JAR file.
Browse files Browse the repository at this point in the history
  • Loading branch information
roryk committed Jan 31, 2014
1 parent b489214 commit e405e5a
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 6 deletions.
4 changes: 3 additions & 1 deletion src/bcbio/rnaseq/compare.clj
@@ -1,4 +1,5 @@
(ns bcbio.rnaseq.compare
(:require [clojure.java.io :as io])
(:use [bcbio.rnaseq.util]
[bcbio.rnaseq.config]
[clostache.parser :only [render-resource]]
Expand All @@ -15,7 +16,8 @@
"create a fold change plot comparing to the seqc qPCR data"
(let [template-file "comparisons/qPCR_foldchange.template"
out-file (swap-directory "fc-plot.pdf" (analysis-dir))
qpcr-file (get-resource "seqc/qPCR/qpcr_HBRR_vs_UHRR.tidy")
qpcr-file (copy-resource
"seqc/qPCR/qpcr_HBRR_vs_UHRR.tidy" (analysis-dir))
template-config {:out-file (escape-quote out-file)
:qpcr-file (escape-quote qpcr-file)
:in-files (seq-to-rlist in-files)}]
Expand Down
13 changes: 12 additions & 1 deletion src/bcbio/rnaseq/core.clj
Expand Up @@ -58,6 +58,10 @@
(setup-config project-file)
(compare-callers (run-callers key cores)))

(defn compare-seqc-run [project-file key cores]
(setup-config project-file)
(run-comparisons (keyword key) cores))

(def compare-bcbio-run-options
[["-h" "--help"]
["-n" "--cores CORES" "Number of cores"
Expand All @@ -71,11 +75,18 @@
cores (get-in cli-options [:options :cores])]
(compare-bcbio-run project-file (keyword key) cores)))

(defn compare-seqc-cl-entry [& args]
(let [cli-options (parse-opts args compare-bcbio-run-options)
[project-file key] (:arguments cli-options)
cores (get-in cli-options [:options :cores])]
(compare-seqc-run project-file (keyword key) cores)))


(defn -main [cur-type & args]
(apply sh ["Rscript" (get-resource "scripts/install_libraries.R")])
(apply (case (keyword cur-type)
:compare-bcbio-run compare-bcbio-cl-entry
:combine-counts combine-counts/cl-entry
:seqc-comparisons run-comparisons
:seqc-comparisons compare-seqc-cl-entry
:compare-callers compare-callers)
args))
17 changes: 13 additions & 4 deletions src/bcbio/rnaseq/util.clj
Expand Up @@ -2,17 +2,26 @@
(:require [clojure.java.io :as io]
[me.raynes.fs :as fs]))

(defn get-resource [filename]
"return a path to an included resource"
(try
(.getFile (io/resource filename))
(catch Exception e (println (format "Resource %s not found." filename)))))

(defn copy-resource [resource dir]
"copy a resource from the .jar file to an external directory so
outside programs can use it"
(let [out-file (io/file dir (str (fs/base-name resource)))]
(spit out-file (slurp (io/resource resource)))
(str out-file)))

(defn swap-directory [file dir]
"/path/to/file -> /dir/file"
(str (io/file dir (fs/base-name file))))

(defn escape-quote [string]
(str "\"" string "\""))

(defn get-resource [filename]
(try
(.getFile (io/resource filename))
(catch Exception e (println (format "Resource %s not found." filename)))))

(defn base-filename [filename]
(fs/split-ext (fs/base-name filename)))
Expand Down

0 comments on commit e405e5a

Please sign in to comment.