Unix check if a file exists

test -f yourFile

FILE=/folder/yourFile
if [ -f "$FILE" ]; then
    echo "$FILE exists."
else 
    echo "$FILE does not exist."
fi

If need to match wildcard in the file names

if test -n "$(find /dir/to/search -maxdepth 1 -name 'files*' -print -quit)"
then
    echo found
else
    echo not found
fi

Source:
https://linuxize.com/post/bash-check-if-file-exists/
https://stackoverflow.com/questions/6363441/check-if-a-file-exists-with-wildcard-in-shell-script

Ignore row with only NaN in plotHeatmap – deepTools

If there are NaN in the output from computeMatrix, the generated heatmap is not sorted and a warning message stating Mean of empty slice will show up.

To overcome this, those null values need to be replaced using 0 in the computeMatrix step by --missingDataAsZero tag.

computeMatrix scale-regions -S xxx.bw -R xxx.bed --missingDataAsZero -m xxx -b xxx -a xxx --numberOfProcessors xx -o xxx.gz

plotHeatmap -m xxx.gz -out xxx.png

Source:
https://groups.google.com/g/deeptools/c/B55e0kT_0Ec?pli=1
https://github.com/deeptools/deepTools/issues/490

Python return os.system and subprocess output as a string

When we want to use Unix command in python we can directly use os.system() to realize it. However, if we only want to return the output as a string, for example, return ls file names into a string, we need to use subprocess.check_out instead.

To note that, the output from subprocess.check_out() is a bytes object instead of a string, thus we need to further decode to transform into a string.

fileList = subprocess.check_output('ls someFolder/*', shell=True).decode('utf-8').strip().split('\n')

Source:
https://stackoverflow.com/questions/606191/convert-bytes-to-a-string