Pārlūkot izejas kodu

[Fix Bug] Cannot find exp2qcdt command.

tags/v0.1.4
YJC pirms 3 gadiem
vecāks
revīzija
56cd7a77d3
3 mainītis faili ar 38 papildinājumiem un 20 dzēšanām
  1. +1
    -1
      project.clj
  2. +33
    -18
      src/tservice/plugins/quartet_rnaseq_report.clj
  3. +4
    -1
      src/tservice/plugins/quartet_rnaseq_report/exp2qcdt.clj

+ 1
- 1
project.clj Parādīt failu

@@ -17,7 +17,7 @@
{:provided
{:dependencies
[[org.clojure/clojure "1.10.1"]
[org.clojars.yjcyxky/tservice "0.5.6"]]}
[org.clojars.yjcyxky/tservice "0.5.8"]]}

:uberjar
{:auto-clean true

+ 33
- 18
src/tservice/plugins/quartet_rnaseq_report.clj Parādīt failu

@@ -135,6 +135,12 @@
(fs-lib/create-directories! files-keep-dir)
(fs-api/copy-files! files-keep files-keep-dir {:replace-existing true})))

(defn update-log-process!
"Update message into log file and process into database."
[log-path coll task-id process]
(spit log-path (json/write-str coll))
(update-process! task-id process))

(defn date
[]
(.format (java.text.SimpleDateFormat. "yyyy-MM-dd")
@@ -181,24 +187,33 @@
(decompression-tar files-qualimap-RNA-tar))
(update-process! task-id 50)
(gen-multiqc-config config-path)
(spit parameters-file (json/write-str {"Report Name" (:name parameters)
"Description" (:description parameters)
"Report Tool" (format "%s-%s"
(:plugin-name parameters)
(:plugin-version parameters))
"Team" "Quartet Team"
"Date" (date)}))
(let [exp2qcdt-result (exp2qcdt/call-exp2qcdt! exp-fpkm-filepath exp-count-filepath metadata-file result-dir)
multiqc-result (if (= (:status exp2qcdt-result) "Success")
(mq/multiqc result-dir dest-dir {:config config-path :template "default" :title "Quartet RNA report"})
;;(mq/multiqc result-dir)
exp2qcdt-result)
result {:status (:status multiqc-result)
:msg (:msg multiqc-result)}
log (json/write-str result)]
(log/info "Status: " result)
(spit log-path log))
(update-process! task-id 100)
(let [results (ff/chain-fn-coll [(fn []
(update-process! task-id 60)
(exp2qcdt/call-exp2qcdt! exp-fpkm-filepath exp-count-filepath metadata-file result-dir))
(fn []
(update-process! task-id 70)
(spit parameters-file (json/write-str {"Report Name" (:name parameters)
"Description" (:description parameters)
"Report Tool" (format "%s-%s"
(:plugin-name parameters)
(:plugin-version parameters))
"Team" "Quartet Team"
"Date" (date)}))
{:status "Success" :msg ""})
(fn []
(update-process! task-id 80)
(mq/multiqc result-dir dest-dir {:config config-path
:template "default"
:title "Quartet RNA report"
:env {:PATH (add-env-to-path "quartet-metqc-report")}}))]
(fn [result] (= (:status result) "Success")))
status (:status (last results))
msg (apply str (map :msg results))
process (if (= status "Success") 100 -1)]
(log/info (format "Running batch command: %s" (pr-str results)))
(update-log-process! log-path {:status status
:msg msg}
task-id process))
(catch Exception e
(update-process! task-id -1)
(let [log (json/write-str {:status "Error" :msg (.toString e)})]

+ 4
- 1
src/tservice/plugins/quartet_rnaseq_report/exp2qcdt.clj Parādīt failu

@@ -1,6 +1,8 @@
(ns tservice.plugins.quartet-rnaseq-report.exp2qcdt
"A wrapper for exp2qcdt tool."
(:require [tservice.api.config :refer [add-env-to-path]]
[tservice.lib.files :refer [get-plugin-jar-env-dir]]
[tservice.lib.fs :as fs-lib]
[clojure.java.shell :as shell :refer [sh]]))

(defn call-exp2qcdt!
@@ -12,10 +14,11 @@
"
[exp-file cnt-file meta-file result-dir]
(shell/with-sh-env {:PATH (add-env-to-path "quartet-rnaseq-report")
:R_PROFILE_USER (fs-lib/join-paths (get-plugin-jar-env-dir "quartet-rnaseq-report") "Rprofile")
:LC_ALL "en_US.utf-8"
:LANG "en_US.utf-8"}
(let [command ["bash" "-c"
(format "exp2qcdt -e %s -c %s -m %s -o %s" exp-file cnt-file meta-file result-dir)]
(format "exp2qcdt.sh -e %s -c %s -m %s -o %s" exp-file cnt-file meta-file result-dir)]
result (apply sh command)
status (if (= (:exit result) 0) "Success" "Error")
msg (str (:out result) "\n" (:err result))]

Notiek ielāde…
Atcelt
Saglabāt