Visualizes Quality Control(QC) results from proteomics data for Quartet Project.
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

115 lignes
2.2KB

  1. #!/usr/bin/env bash
  2. # A wrapper for protqc r package
  3. #
  4. # Author: Jingcheng Yang
  5. # Email: yjcyxky@163.com
  6. #
  7. # License: MIT
  8. # Exit on error. Append "|| true" if you expect an error.
  9. # set -o errexit
  10. # Exit on error inside any functions or subshells.
  11. # set -o errtrace
  12. # Do not allow use of undefined vars. Use ${VAR:-} to use an undefined VAR
  13. set -o nounset
  14. # Catch the error in case mysqldump fails (but gzip succeeds) in `mysqldump |gzip`
  15. set -o pipefail
  16. # Turn on traces, useful while debugging but commented out by default
  17. # set -o xtrace
  18. show_help() {
  19. cat <<EOF
  20. usage: $(echo $0) [-d <DATA_FILE>] [-m <META_FILE>] [-o <RESULT_DIR>]
  21. -d DATA_FILE Proteomics profiled data.
  22. -m META_FILE Metadata file.
  23. -o RESULT_DIR A directory for result files.
  24. EOF
  25. }
  26. while getopts ":hd:m:o:" arg; do
  27. case "$arg" in
  28. "d")
  29. DATA_FILE="$OPTARG"
  30. ;;
  31. "m")
  32. META_FILE="$OPTARG"
  33. ;;
  34. "o")
  35. RESULT_DIR="$OPTARG"
  36. ;;
  37. "?")
  38. echo "Unkown option: $OPTARG"
  39. exit 1
  40. ;;
  41. ":")
  42. echo "No argument value for option $OPTARG"
  43. ;;
  44. h)
  45. show_help
  46. exit 0
  47. ;;
  48. *)
  49. echo "Unknown error while processing options"
  50. show_help
  51. exit 1
  52. ;;
  53. esac
  54. done
  55. if [ -z "$DATA_FILE" ]; then
  56. echo "-d argument is not specified."
  57. exit 1
  58. elif [ ! -f "$DATA_FILE" ]; then
  59. echo "$DATA_FILE is not a valid file."
  60. exit 1
  61. else
  62. DATA_FILE=$(realpath $DATA_FILE)
  63. fi
  64. if [ -z "$META_FILE" ]; then
  65. echo "-m argument is not specified."
  66. exit 1
  67. elif [ ! -f "$META_FILE" ]; then
  68. echo "$META_FILE is not a valid file."
  69. exit 1
  70. else
  71. META_FILE=$(realpath $META_FILE)
  72. fi
  73. if [ -z "$RESULT_DIR" ]; then
  74. echo "-o argument is not specified."
  75. exit 1
  76. elif [ ! -d "$RESULT_DIR" ]; then
  77. echo "$RESULT_DIR is not a valid directory."
  78. exit 1
  79. else
  80. RESULT_DIR=$(realpath $RESULT_DIR)
  81. fi
  82. TEMP=$(mktemp)
  83. echo "Run script: $TEMP"
  84. cat <<EOF >"$TEMP"
  85. #!/usr/bin/env Rscript
  86. run <- function() {
  87. # Print traceback message
  88. on.exit(traceback())
  89. library(ProtQC)
  90. print("Running...")
  91. ProtQC::plot_pca("$DATA_FILE", "$META_FILE", "$RESULT_DIR")
  92. ProtQC::plot_corr("$DATA_FILE", "$META_FILE", "$RESULT_DIR")
  93. ProtQC::table_conclusion("$DATA_FILE", "$META_FILE", "$RESULT_DIR")
  94. }
  95. run()
  96. EOF
  97. printf "\n---------------------\n"
  98. cat "$TEMP"
  99. echo "---------------------"
  100. Rscript $TEMP