}, | }, | ||||
"ProtQC": { | "ProtQC": { | ||||
"Package": "ProtQC", | "Package": "ProtQC", | ||||
"Version": "0.1.3", | |||||
"Version": "0.1.4", | |||||
"Source": "GitHub", | "Source": "GitHub", | ||||
"RemoteType": "github", | "RemoteType": "github", | ||||
"RemoteHost": "api.github.com", | "RemoteHost": "api.github.com", | ||||
"RemoteRepo": "ProtQC", | "RemoteRepo": "ProtQC", | ||||
"RemoteUsername": "chinese-quartet", | "RemoteUsername": "chinese-quartet", | ||||
"RemoteRef": "v0.1.3", | |||||
"RemoteSha": "01edb13db10e24e38aa06299bfe7b69e009cd134", | |||||
"Hash": "c5ae657d64a2afd72770effa4767a049" | |||||
"RemoteRef": "v0.1.4", | |||||
"RemoteSha": "412e0040e713af756ee1c5381f352b2c04df96f5", | |||||
"Hash": "7251a9d21c0c5d39f251d4e1a488a203" | |||||
}, | }, | ||||
"R6": { | "R6": { | ||||
"Package": "R6", | "Package": "R6", |
# Unpack environment file to the directory, repository/envs/quartet-protqc-report | # Unpack environment file to the directory, repository/envs/quartet-protqc-report | ||||
- step: unpack-env | - step: unpack-env | ||||
envname: quartet-protqc-report | envname: quartet-protqc-report | ||||
postunpack: chmod a+x {{ENV_DEST_DIR}}/quartet-protqc-report/bin/protqc.sh | |||||
postunpack: chmod a+x {{ENV_DEST_DIR}}/bin/protqc.sh | |||||
- step: load-namespace | - step: load-namespace | ||||
namespace: tservice.plugins.quartet-protqc-report | namespace: tservice.plugins.quartet-protqc-report | ||||
- step: register-plugin | - step: register-plugin |
[spec-tools.core :as st] | [spec-tools.core :as st] | ||||
[clojure.tools.logging :as log] | [clojure.tools.logging :as log] | ||||
[tservice.lib.files :as ff] | [tservice.lib.files :as ff] | ||||
[clojure.string :as clj-str] | |||||
[tservice.api.config :refer [add-env-to-path]] | |||||
[tservice.lib.fs :as fs-lib] | [tservice.lib.fs :as fs-lib] | ||||
[tservice.vendor.multiqc :as mq] | [tservice.vendor.multiqc :as mq] | ||||
[tservice.plugins.quartet-protqc-report.protqc :as protqc] | [tservice.plugins.quartet-protqc-report.protqc :as protqc] | ||||
metadata-file (protqc/correct-filepath metadata_file) | metadata-file (protqc/correct-filepath metadata_file) | ||||
workdir (protqc/dirname data-file) | workdir (protqc/dirname data-file) | ||||
log-path (fs-lib/join-paths workdir "log") | log-path (fs-lib/join-paths workdir "log") | ||||
response {:report (format "%s/multireport.html" workdir) | |||||
response {:report (format "%s/multiqc_report.html" workdir) | |||||
:log log-path | :log log-path | ||||
:response-type :data2report} | :response-type :data2report} | ||||
task-id (create-task! {:name name | task-id (create-task! {:name name | ||||
{:status "Success" :msg ""}) | {:status "Success" :msg ""}) | ||||
(fn [] | (fn [] | ||||
(update-process! task-id 80) | (update-process! task-id 80) | ||||
(mq/multiqc result-dir dest-dir {:template "default" :title "Quartet Report for Proteomics"}))] | |||||
(mq/multiqc result-dir dest-dir | |||||
{:template "quartet_proteome_report" | |||||
:title "Quartet Report for Proteomics" | |||||
:env {:PATH (add-env-to-path "quartet-protqc-report")}}))] | |||||
(fn [result] (= (:status result) "Success"))) | (fn [result] (= (:status result) "Success"))) | ||||
status (:status (last results)) | status (:status (last results)) | ||||
msg (apply str (map :msg results)) | msg (apply str (map :msg results)) |
(ns tservice.plugins.quartet-protqc-report.protqc | (ns tservice.plugins.quartet-protqc-report.protqc | ||||
"A wrapper for protqc tool." | "A wrapper for protqc tool." | ||||
(:require [tservice.api.config :refer [add-env-to-path]] | (:require [tservice.api.config :refer [add-env-to-path]] | ||||
[tservice.lib.files :refer [is-localpath?]] | |||||
[tservice.lib.files :refer [is-localpath? get-plugin-jar-env-dir]] | |||||
[clojure.string :as clj-str] | [clojure.string :as clj-str] | ||||
[tservice.lib.fs :as fs-lib] | |||||
[clojure.java.shell :as shell :refer [sh]] | [clojure.java.shell :as shell :refer [sh]] | ||||
[clojure.java.io :refer [file]])) | [clojure.java.io :refer [file]])) | ||||
" | " | ||||
[exp-file meta-file result-dir] | [exp-file meta-file result-dir] | ||||
(shell/with-sh-env {:PATH (add-env-to-path "quartet-protqc-report") | (shell/with-sh-env {:PATH (add-env-to-path "quartet-protqc-report") | ||||
:R_PROFILE_USER (fs-lib/join-paths (get-plugin-jar-env-dir "quartet-protqc-report") "Rprofile") | |||||
:LC_ALL "en_US.utf-8" | :LC_ALL "en_US.utf-8" | ||||
:LANG "en_US.utf-8"} | :LANG "en_US.utf-8"} | ||||
(let [command ["bash" "-c" | (let [command ["bash" "-c" |