biyelunwen/99.scripts/workflow/phylogeny_reconstruction/07.mcmctree.sh

30 lines
879 B
Bash
Executable File

#! /bin/bash
set -e
SCRIPTS=${SCRIPTS:-"$PROJECTHOME/99.scripts"}
THREADS=${THREADS:-16}
if [ "$#" -ne 4 ]; then
echo "Usage: $0 <aln_dir> <ml_dir> <out_dir> <alignment_ext>"
echo "Run MCMCtree on orthogroup alignments with corresponding ML trees"
exit 1
fi
aln_dir=$1
ml_dir=$2
out_dir=$3
ext=$4
mkdir -p "$out_dir"
echo -n >mcmctree.cmds
ctlfile=$(readlink -f "$SCRIPTS/miscs/mcmctree.ctl")
for i in "$aln_dir"/*."$ext"; do
j=$(basename "$i" ."$ext")
aln=$(readlink -f "$i")
ml_tree=$(readlink -f "$ml_dir/${j}/${j}.raxml.bestTree")
mkdir -p "${out_dir}/${j}"
cmd="cd ${out_dir}/${j} && Rscript $SCRIPTS/miscs/mcmctree_workflow.r"
params="-a $aln -t $ml_tree -c ${ctlfile} -p ${j}"
echo "$cmd $params > mcmctree.log 2>&1" >>mcmctree.cmds
done
xargs -t -P "$THREADS" -I cmd -a mcmctree.cmds bash -c "cmd"
echo "MCMCtree all completed."