extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/grid/scripts/methylation-beta.sh

Code
Comments
Other
Rev Date Author Line
6871 16 Nov 22 nicklas 1 #!/bin/bash
6871 16 Nov 22 nicklas 2 ##
6871 16 Nov 22 nicklas 3 ## Pipeline script for the calculating Methylation beta values. It requires a pair of IDAT
6871 16 Nov 22 nicklas 4 ## that are either already in the project-archive directory for the Methylation item
6871 16 Nov 22 nicklas 5 ## or in the MethylationArchive. In the latter case, the IDAT files are first copied to
6871 16 Nov 22 nicklas 6 ## the project-archive.
6871 16 Nov 22 nicklas 7
6871 16 Nov 22 nicklas 8 ##
6871 16 Nov 22 nicklas 9 ## Environment variables that should be defined (in job.sh) before calling this script
6871 16 Nov 22 nicklas 10 ##  -IdatFolder: Path to folder where IDAT should be found (or copied to)
6871 16 Nov 22 nicklas 11 ##  -ScanFolder: Path to folder where output from scanner is stored (only used if there are no IDAT files in the IdatFolder)
6871 16 Nov 22 nicklas 12 ##  -ExternalMethylationName: External name of the Methylation item that is being analyzed
6871 16 Nov 22 nicklas 13 ##  -BeadChipId: Sentrix array ID
6871 16 Nov 22 nicklas 14 ##  -BeadChipPosition: Position of this sample on the array
6871 16 Nov 22 nicklas 15 ##  -TMPDIR: Path to a local temporary working directory
6871 16 Nov 22 nicklas 16 ##
6871 16 Nov 22 nicklas 17
6871 16 Nov 22 nicklas 18 set -e
6871 16 Nov 22 nicklas 19
6871 16 Nov 22 nicklas 20 ## Import utility functions
6871 16 Nov 22 nicklas 21 source ./reggie-utils.sh
6871 16 Nov 22 nicklas 22
6871 16 Nov 22 nicklas 23 ## Verify settings in options
6871 16 Nov 22 nicklas 24 rg_var_isdir "TMPDIR" "WD"
6871 16 Nov 22 nicklas 25 rg_var_isset "MethylationName" "ExternalMethylationName" "BeadChipId" "BeadChipPosition"
6873 17 Nov 22 nicklas 26 rg_var_isfile "ManifestFile" "MaskFile"
6871 16 Nov 22 nicklas 27
6871 16 Nov 22 nicklas 28 ## Move to the temporary working directory
6871 16 Nov 22 nicklas 29 cd ${TMPDIR}
6871 16 Nov 22 nicklas 30 mkdir -p beta
6871 16 Nov 22 nicklas 31 mkdir -p done
6871 16 Nov 22 nicklas 32
6873 17 Nov 22 nicklas 33 IDAT_BASE="${IdatFolder}/${MethylationName}"
6873 17 Nov 22 nicklas 34 RED="${IDAT_BASE}_Red.idat"
6873 17 Nov 22 nicklas 35 GRN="${IDAT_BASE}_Grn.idat"
6873 17 Nov 22 nicklas 36
6871 16 Nov 22 nicklas 37 ## Ensure IDAT files are in the IdatFolder
6873 17 Nov 22 nicklas 38 if [[ ! -f "${RED}" || ! -f "${GRN}" ]]; then    
6873 17 Nov 22 nicklas 39   rg_progress 10 "Copying IDAT files"
6873 17 Nov 22 nicklas 40   
6873 17 Nov 22 nicklas 41   ## Expect IDAT files to be located in $ScanFolder/$BeadChipId_$BeadChipPosition_Red.idat
6873 17 Nov 22 nicklas 42   rg_var_isdir "ScanFolder"
6873 17 Nov 22 nicklas 43   RED_SRC="${ScanFolder}/${BeadChipId}_${BeadChipPosition}_Red.idat"
6873 17 Nov 22 nicklas 44   GRN_SRC="${ScanFolder}/${BeadChipId}_${BeadChipPosition}_Grn.idat"
6873 17 Nov 22 nicklas 45   rg_var_isfile "RED_SRC" "GRN_SRC"
6873 17 Nov 22 nicklas 46   
6873 17 Nov 22 nicklas 47   mkdir -p "${IdatFolder}"
6873 17 Nov 22 nicklas 48   \cp "${RED_SRC}" "${RED}"
6873 17 Nov 22 nicklas 49   \cp "${GRN_SRC}" "${GRN}"
6873 17 Nov 22 nicklas 50 fi
6871 16 Nov 22 nicklas 51
6873 17 Nov 22 nicklas 52 if [ ! -f "done/beta.done" ]; then
6873 17 Nov 22 nicklas 53   ## Call R script that calculates beta values and some other stuff
6873 17 Nov 22 nicklas 54   ${WD}/stderrwrap.sh Rscript ${WD}/beta_values.R \
6873 17 Nov 22 nicklas 55     "${IDAT_BASE}" beta \
6873 17 Nov 22 nicklas 56     "${ManifestFile}" "${MaskFile}" \
6873 17 Nov 22 nicklas 57     "${ExternalMethylationName}" \
6874 17 Nov 22 nicklas 58     "${WD}/progress" \
6873 17 Nov 22 nicklas 59     3> minfi.out
6873 17 Nov 22 nicklas 60   
6873 17 Nov 22 nicklas 61   touch "done/beta.done"
6871 16 Nov 22 nicklas 62 fi
6871 16 Nov 22 nicklas 63
6871 16 Nov 22 nicklas 64 rg_progress 95 "Copying result files to project archive"
6875 18 Nov 22 nicklas 65 \cp beta/*.tsv.gz ${IdatFolder}
6875 18 Nov 22 nicklas 66 \cp beta/*.pdf ${IdatFolder}
6875 18 Nov 22 nicklas 67 cp beta/stats.out ${WD}/stats.out
6875 18 Nov 22 nicklas 68 ls -1 ${IdatFolder}/* > ${WD}/files.out
6871 16 Nov 22 nicklas 69
6871 16 Nov 22 nicklas 70 rg_progress 99 "Analysis completed, cleaning up..."