-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathprepareData
executable file
·52 lines (40 loc) · 1.7 KB
/
prepareData
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash
#Flags used
mapFlag=0;
gcFlag=0;
windowFlag=0;
SOURCEDIR=$(dirname $(readlink -f $0)); # SOURCE DIRECTORY
SHORTOPTS="o:m:g:"
LONGOPTS="win:,help,genome_file:"
PROGNAME="prepare_data.sh"
ARGS=$(getopt -s bash --options $SHORTOPTS --longoptions $LONGOPTS --name $PROGNAME -- "$@" )
eval set -- "$ARGS"
while true; do
case "$1" in
-m) map_file="$2"; mapFlag=1; shift 2; ;;
-g) gc_file="$2"; gcFlag=1; shift 2; ;;
-o) output_file="$2"; shift 2;;
--win) window_size="$2"; windowFlag=1; shift 2; ;;
--genome_file) gen_file="$2"; genFlag=1; shift 2; ;;
--help) echo "Usage: prepare_data -m <map file> -g <gc content file> --win <window_Size> --genome_file <Genome file> -o <output Prefix> ";
exit 1; ;;
--) shift; break;;
*) echo "Error: Something wrong with the parameters";
echo "Requred parameters: -i -o -m -z "; exit 1;;
esac
done
# MINIMUM REQUIRED PARAMETERS
#if [[ -z "$map_file" || -z "$gc_file" || -z "$window_size" || -z "$gen_file"|| -z "$output" ]]; then
# echo "Missing one of the required parameters: mappability_file (-m) gc_file (-g) window_size (--win) genome_file (--genome_file) or output (-o) " >&2
# exit
#fi
# FILE DOESNT EXIST ERROR
if [[ ! -f $map_file || ! -f $gc_file || ! -f $gen_file ]]; then
echo "One of the input files not found" >&2
exit 1
fi
#Generate Bin file
bedtools makewindows -w "$window_size" -g "$gen_file" > $output_file"_"$window_size".bin";
# Generate Map and GC files
Rscript --slave $SOURCEDIR"/source/R/generateMap.R" $map_file "$window_size" $(awk '{print $2}' $gen_file) $output_file;
Rscript --slave $SOURCEDIR"/source/R/generateGC.R" $gc_file "$window_size" $(awk '{print $2}' $gen_file) $output_file;