In the current directory, I have a list of multi-resolution .mcool
files. I want to run the following code using EagleC and store the output (including the .stderr
and .log
files) in the ./../EagleC_output
directory.
Code:
for mcool_file in *.mcool; do
OUTPUT=$(echo $mcool_file | grep -oE "[A-Z0-9]*\.hg38" | cut -d '.' -f 1)
cooler ls $mcool_file | grep -E '\/[1][0]{4}$|\/[5][0]{3,4}$' \
| tr '\n' '\t' \
| parallel --colsep '\t' --link -j16 \
--eta --progress --bar --joblog $mcool_file'_parallel.log' \
predictSV --hic-5k {1} --hic-10k {2} --hic-50k {3} \
-O './../EagleC_output/'$OUTPUT -g hg38 --balance-type ICE --output-format full \
--prob-cutoff-5k 0.8 --prob-cutoff-10k 0.8 --prob-cutoff-50k 0.99999 2> $mcool_file'.stderr'
# | tr -d "'"
done
Traceback:
sh: /dev/tty: No such device or address
0% 0:1=0s A001C007.hg38.nodups.pairs.mcool::/resolutions/5000 A001C007.hg38.nodush: /dev/tty: No such device or address
0% 0:1=0s A001C007.hg38.nodups.pairs.mcool::/resolutions/5000 A001C007.hg38.nodush: /dev/tty: No such device or address
A single .mcool file has:
cooler ls ./../input/A001C007.hg38.nodups.pairs.mcool
./../input/A001C007.hg38.nodups.pairs.mcool::/resolutions/200
./../input/A001C007.hg38.nodups.pairs.mcool::/resolutions/500
./../input/A001C007.hg38.nodups.pairs.mcool::/resolutions/1000
./../input/A001C007.hg38.nodups.pairs.mcool::/resolutions/2000
./../input/A001C007.hg38.nodups.pairs.mcool::/resolutions/5000
./../input/A001C007.hg38.nodups.pairs.mcool::/resolutions/10000
./../input/A001C007.hg38.nodups.pairs.mcool::/resolutions/20000
./../input/A001C007.hg38.nodups.pairs.mcool::/resolutions/50000
./../input/A001C007.hg38.nodups.pairs.mcool::/resolutions/100000
./../input/A001C007.hg38.nodups.pairs.mcool::/resolutions/250000
./../input/A001C007.hg38.nodups.pairs.mcool::/resolutions/500000
./../input/A001C007.hg38.nodups.pairs.mcool::/resolutions/1000000
(EagleC)