Chris@0
|
1 #!/bin/bash
|
Chris@0
|
2
|
Chris@0
|
3 if [ $# -lt 2 ] ; then
|
Chris@0
|
4 echo "Usage: $0 [-s] LISTFILENAME OUTPUTDIR"
|
Chris@0
|
5 exit 1
|
Chris@0
|
6 fi
|
Chris@0
|
7
|
Chris@0
|
8 retainstructure=0
|
Chris@0
|
9
|
Chris@0
|
10 while [ $# -gt 2 ] ; do
|
Chris@0
|
11 case $1 in
|
Chris@0
|
12 -d) retainstructure=1 ; shift 1 ; echo here;;
|
Chris@0
|
13 *) shift 1 ;;
|
Chris@0
|
14 esac
|
Chris@0
|
15 done
|
Chris@0
|
16
|
Chris@0
|
17 listfile="$1"
|
Chris@0
|
18 echo listfile "$listfile"
|
Chris@0
|
19 outputdir="$2"
|
Chris@0
|
20
|
Chris@0
|
21
|
Chris@0
|
22 while read infile; do
|
Chris@0
|
23 if [ "$infile" -a -f "$infile" ]; then
|
Chris@0
|
24 before="$(date +%s)"
|
Chris@0
|
25 echo "_____________________________________________________"
|
Chris@0
|
26 echo " "
|
Chris@0
|
27 echo Processing file "$infile"
|
Chris@0
|
28 echo " "
|
Chris@0
|
29 if [ $retainstructure -eq 0 ]; then
|
Chris@0
|
30 pathandfile=`basename "$infile"`
|
Chris@0
|
31 else
|
Chris@0
|
32 pathandfile="`echo "$infile" | egrep -o '[^/]*/[^/]*/[^/]*$'`"
|
Chris@0
|
33 echo pathandfile "$pathandfile"
|
Chris@0
|
34 fi
|
Chris@0
|
35 outfile="$outputdir"/"$pathandfile".txt
|
Chris@0
|
36
|
Chris@0
|
37 logfile=_logfiles/"$pathandfile".log
|
Chris@0
|
38 chromafile=_chromadata/"$pathandfile".csv
|
Chris@0
|
39
|
Chris@0
|
40 mkdir -p "`dirname "$outfile"`"
|
Chris@0
|
41
|
Chris@0
|
42 echo "[sonic annotator] ..."
|
Chris@0
|
43 VAMP_PATH=. ./sonic-annotator -d vamp:matthiasm:nnls_chroma:bothchroma -w csv --csv-stdout "$infile" 2> "$logfile" | cut -d ',' -f 2- > "$chromafile"
|
Chris@0
|
44 infile="`echo "$infile" | sed "s/'/''/g"`"
|
Chris@0
|
45 outfile="`echo "$outfile" | sed "s/'/''/g"`"
|
Chris@0
|
46 chromafile="`echo "$chromafile" | sed "s/'/''/g"`"
|
Chris@0
|
47 matlab -nodisplay -nojvm -r run_segmentation\(\'"$infile"\',\'"$outfile"\'\,\'"$chromafile"\'\) >> "$logfile"
|
Chris@0
|
48 after="$(date +%s)"
|
Chris@0
|
49 elapsed_seconds="$(expr $after - $before)"
|
Chris@0
|
50 echo " -->" time elapsed: $elapsed_seconds seconds
|
Chris@0
|
51 echo " "
|
Chris@0
|
52 else if [ ! "$infile" ]; then echo ...; fi
|
Chris@0
|
53 fi
|
Chris@0
|
54 done < "$listfile"
|