-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathrun_pi_chromstar.sh
More file actions
executable file
·126 lines (100 loc) · 5.01 KB
/
run_pi_chromstar.sh
File metadata and controls
executable file
·126 lines (100 loc) · 5.01 KB
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
NAME=$1
SET=$2
TOOL=$3
mkdir -p results/$TOOL results/$TOOL/$SET
mkdir -p log/$TOOL
files=$(ls results/$TOOL/$SET/*.bed 2> /dev/null | wc -l)
if [ "$files" = "0" ]; then
echo "running $TOOL with: $1 $2 $3" #$4 $5 $6 $7 $8 $9 $10 $11 $12 $13"
OUT_NAME=$(basename $NAME _sample1-rep1_mm)
SCRIPT="script.R"
LOG="../../../log/$TOOL/$SET.log"
cd results/$TOOL/$SET/
STARTTIME=`date +%s.%N`
CURDIR=$(pwd)
INDIR=$(dirname $4)
S11=$(basename $4)
S12=$(basename $5)
I1=$(basename $6)
S21=$(basename $7)
S22=$(basename $8)
I2=$(basename $9)
# in R bin 100
echo "library(chromstaR)" > $SCRIPT
echo "file<-c('$S11','$S12','$S21','$S22')" >> $SCRIPT
echo "mark<-c('sim','sim','sim','sim')" >> $SCRIPT
echo "condition<-c('S1','S1','S2','S2')" >> $SCRIPT
echo "replicate<-c('1','2','1','2')" >> $SCRIPT
echo "pairedEndReads <- c(FALSE,FALSE,FALSE,FALSE)" >> $SCRIPT
echo "controlFiles<-c('$I1','$I1','$I2','$I2')" >> $SCRIPT
echo "experiment_table <- data.frame(file,mark,condition,replicate,pairedEndReads,controlFiles)" >> $SCRIPT
echo "inputfolder <- '$INDIR'" >> $SCRIPT
echo "outputfolder <- '$CURDIR'" >> $SCRIPT
echo "chrominfo <- data.frame(chromosome=c('chr19'),length=c(61431566))" >> $SCRIPT
echo "Chromstar(inputfolder, experiment.table=experiment_table,outputfolder=outputfolder, numCPU=1, binsize=100, stepsize=50,assembly=chrominfo, prefit.on.chr='chr19', chromosomes='chr19',mode='differential')" >> $SCRIPT
echo "model <- get(load(file.path(outputfolder,'multivariate','multivariate_mode-differential_mark-sim_binsize100_stepsize50.RData')))" >> $SCRIPT
echo "diff.states <- stateBrewer(experiment_table, mode='differential',differential.states=TRUE)" >> $SCRIPT
echo "exportCombinations(model, filename='results', include.states=diff.states,header=F)" >> $SCRIPT
PREPDONE=`date +%s.%N`
#run it...
/usr/bin/time -o mem.txt -f "%K %M" R CMD BATCH --vanilla $SCRIPT
ENDTIME=`date +%s.%N`
TIMEDIFFPREP=`echo "$PREPDONE - $STARTTIME" | bc | awk -F"." '{print}'`
TIMEDIFF=`echo "$ENDTIME - $PREPDONE" | bc | awk -F"." '{print}'`
echo "prep $TIMEDIFFPREP" > time.txt
echo "1 $TIMEDIFF" >> time.txt
MEMUSAGE=$(sed '/non-zero status/d' mem.txt )
echo "1 $MEMUSAGE" >> memory.txt
if [ -e results_combinations.bed.gz ]; then
gunzip results_combinations.bed.gz
#reformat for eval
cat results_combinations.bed | awk '{fold=(($4 == "[S1]") ? 0.7 : -0.7); print $1"\t"$2"\t"$3"\t"0"\t"fold}' | sort -k1,1 -k2,2n > $OUT_NAME"_1.bed"
else
#create empty file
touch $OUT_NAME"_1.bed"
fi
#save log
cat script.Rout >> $LOG
#clean up
rm -f $SCRIPT script.Rout results_combinations.bed chrominfo.tsv chromstaR.config experiment_table.tsv README.txt mem.txt
rm -rf binned BROWSERFILES combined multivariate PLOTS univariate
# in R bin 1000
echo "library(chromstaR)" > $SCRIPT
echo "file<-c('$S11','$S12','$S21','$S22')" >> $SCRIPT
echo "mark<-c('sim','sim','sim','sim')" >> $SCRIPT
echo "condition<-c('S1','S1','S2','S2')" >> $SCRIPT
echo "replicate<-c('1','2','1','2')" >> $SCRIPT
echo "pairedEndReads <- c(FALSE,FALSE,FALSE,FALSE)" >> $SCRIPT
echo "controlFiles<-c('$I1','$I1','$I2','$I2')" >> $SCRIPT
echo "experiment_table <- data.frame(file,mark,condition,replicate,pairedEndReads,controlFiles)" >> $SCRIPT
echo "inputfolder <- '$INDIR'" >> $SCRIPT
echo "outputfolder <- '$CURDIR'" >> $SCRIPT
echo "chrominfo <- data.frame(chromosome=c('chr19'),length=c(61431566))" >> $SCRIPT
echo "Chromstar(inputfolder, experiment.table=experiment_table,outputfolder=outputfolder, numCPU=1, binsize=1000, stepsize=500,assembly=chrominfo, prefit.on.chr='chr19', chromosomes='chr19',mode='differential')" >> $SCRIPT
echo "model <- get(load(file.path(outputfolder,'multivariate','multivariate_mode-differential_mark-sim_binsize1000_stepsize500.RData')))" >> $SCRIPT
echo "diff.states <- stateBrewer(experiment_table, mode='differential',differential.states=TRUE)" >> $SCRIPT
echo "exportCombinations(model, filename='results', include.states=diff.states,header=F)" >> $SCRIPT
STARTTIME=`date +%s.%N`
#run it...
/usr/bin/time -o mem.txt -f "%K %M" R CMD BATCH --vanilla $SCRIPT
ENDTIME=`date +%s.%N`
TIMEDIFF=`echo "$ENDTIME - $STARTTIME" | bc | awk -F"." '{print}'`
echo "2 $TIMEDIFF" >> time.txt
MEMUSAGE=$(sed '/non-zero status/d' mem.txt )
echo "2 $MEMUSAGE" >> memory.txt
if [ -e results_combinations.bed.gz ]; then
gunzip results_combinations.bed.gz
#reformat for eval
cat results_combinations.bed | awk '{fold=(($4 == "[S1]") ? 0.7 : -0.7); print $1"\t"$2"\t"$3"\t"0"\t"fold}' | sort -k1,1 -k2,2n > $OUT_NAME"_2.bed"
else
#create empty file
touch $OUT_NAME"_2.bed"
fi
#save log
cat script.Rout >> $LOG
#clean up
rm -f $SCRIPT script.Rout results_combinations.bed chrominfo.tsv chromstaR.config experiment_table.tsv README.txt mem.txt
rm -rf binned BROWSERFILES combined multivariate PLOTS univariate
else
echo "results/$TOOL/$SET/bed already exists exiting..."
fi