Mercurial > repos > stef > falco
diff falco-call.sh @ 80:ebb4c3b8b9db draft
Uploaded
author | stef |
---|---|
date | Fri, 20 Mar 2015 08:58:17 -0400 |
parents | |
children | b0a46916df02 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/falco-call.sh Fri Mar 20 08:58:17 2015 -0400 @@ -0,0 +1,123 @@ +#!/bin/bash +TOOLDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +echo "Started FALCO calling" + +## ---------- +## Variables setup ($1 contains the bash config file path) +## ---------- +source $1 + +## ---------- +## make sure all is ok +## ---------- +if [ ! -f $REF_FILE".fai" ] +then + echo "No FAI index (fai) found for reference fasta [$REF_FILE]" + exit "No FAI index (fai) found for reference fasta [$REF_FILE]" +fi + +## ---------- +## set params +## ---------- +if [[ $filter_file != 'None' && $filter_file != '' ]] # Galaxy default is "None" for some reason +then + FILTER_PARAM=" --filter "$filter_file +else + FILTER_PARAM="" +fi + +if [[ $manifest_file != 'None' && $manifest_file != 'None' ]] # Galaxy default is "None" for some reason +then + MANIFEST_PARAM=" --manifest "$manifest_file +else + MANIFEST_PARAM="" +fi + +## name of file in galaxy not always set so will use a user-set job_name instead +#bam_base=`echo $bam_name | sed 's#.bam$##' - ` +bam_base=$job_name + +## ---------- +## Status / debug +## ---------- +DEBUG=1 +if [ $DEBUG ] +then + DBS="[INFO] " + echo $DBS"FILTER: "$filter_file + echo $DBS"MANIFEST: "$manifest_file + echo $DBS"REF FILE: "$REF_FILE + echo $DBS"DB KEY: "$DB_KEY + echo $DBS"REF SRC: "$REF_SOURCE + echo $DBS"BAM FILE: "$bam_file + echo $DBS"BAM NAME: "$bam_name + echo $DBS"BAM BASE: "$bam_base + echo $DBS"OUT PATH: "$out_path +fi + +## ---------- +## create output files dir +## ---------- +mkdir $out_path + +## ---------- +## running analysis +## ---------- +echo "[INFO] Starting variant calling" +## NOTE: if $FILTER_PARAM is set it includes the param name (--filter) +## NOTE: if $MANIFEST_PARAM is set it includes the param name (--manifest) +CALL_STRING="$TOOLDIR/falco/bin/falco --bam $bam_file --output $bam_base --ref $REF_FILE $FILTER_PARAM $MANIFEST_PARAM" +echo "[INFO] "$CALL_STRING +perl $CALL_STRING +echo "[INFO] done with variant calling" + + +## ---------- +## create index html for main galaxy output +## ---------- +echo "<!DOCTYPE html>" >> $html_out +echo "<html>" >> $html_out +echo "<head>" >> $html_out +echo "<style>" >> $html_out +echo " body{ padding: 0px 20px; }" >> $html_out +echo " h1{ color: red; }" >> $html_out +echo " table{ border: 1px solid black; padding: 5px }" >> $html_out +echo "</style>" >> $html_out +echo "</head>" >> $html_out +echo "<body>" >> $html_out +echo " <h1>FALCO</h1>" >> $html_out +echo " <p>This page is way to get output files that are not implemented in galaxy history, it is not intended to be a user-friendly way of displaying anything ;)</p>" >> $html_out +#echo " <a href=\"index.html\">HTML</a>" >> $html_out +echo " <table><tbody>" >> $html_out +for file in *.vcf *.txt *stderr *stdout +#for file in * +do + lineCount=`wc -l $file | cut -f 1 -d " "` + echo " <tr><td><a href=\"$file\">$file</a> has $lineCount lines</td></tr>" >> $html_out + echo " <tr><td> --> " `head -1 $file` "</td></tr>" >> $html_out +done +echo " </tbody></table>" >> $html_out +echo "</body>" >> $html_out +echo "</html>" >> $html_out + +## ---------- +## creating galaxy history outputs +## ---------- +#cp 'index.html' $html_out # this is the overview of samples html +#cp $bam_base'.html' $out_path/'out.html' # this is the sample html +cp $bam_base'.falco.vcf' $vcf_out +cp $bam_base'.qc.ann.qual.txt' $qc_ann_qual_out +cp $bam_base'.qc2.ann.txt' $qc2_ann_txt_out +cp $bam_base'.qc.targets.txt' $qc_targets_txt_out + +## ---------- +## copy files to keep to output path +## ---------- +#cp -r ./$bam_base/*png $out_path/$bam_base/ +#cp -r ./* $out_path +cp *.vcf $out_path; cp *.txt $out_path; cp *_std* $out_path + +## ---------- +echo "END falco sh" +exit 0