diff gecko/bin/workflow.sh @ 1:35af401890c0 draft

Uploaded
author bitlab
date Thu, 13 Dec 2018 07:59:25 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gecko/bin/workflow.sh	Thu Dec 13 07:59:25 2018 -0500
@@ -0,0 +1,165 @@
+#!/bin/bash
+
+FL=1000   # frequency limit
+
+if [ $# != 8 ]; then
+   echo " ==== ERROR ... you called this script inappropriately."
+   echo ""
+   echo "   usage:  $0 seqXName seqYName lenght similarity WL fixedL output.frags output.csv"
+   echo ""
+   exit -1
+fi
+
+#{
+
+
+MYRAND=$((( RANDOM % 10000000) +1))
+MGDIR=${PWD}/${MYRAND}
+echo "MGDIR $MGDIR"
+mkdir -p ${MGDIR}
+
+genoXname=$(basename "$1")
+genoYname=$(basename "$2")
+genoXname="${genoXname%.*}"
+genoYname="${genoYname%.*}"
+
+
+cp $1 $MGDIR/${genoXname}.fasta
+cp $2 $MGDIR/${genoYname}.fasta
+mkdir -p ${MGDIR}/dictionaries
+mkdir -p ${MGDIR}/fragments
+
+genoXExt="fasta"
+genoYExt="fasta"
+
+
+
+BINDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+
+length=${3}
+similarity=${4}
+WL=${5} # wordSize
+fixedL=${6}
+output=${7}
+csv=${8}
+
+mkdir ${MGDIR}/intermediateFiles
+
+mkdir ${MGDIR}/intermediateFiles/${genoXname}-${genoYname}
+mkdir ${MGDIR}/results
+mkdir ${MGDIR}/intermediateFiles/dictionaries
+mkdir ${MGDIR}/intermediateFiles/hits
+
+# Copiamos los fastas
+ln -s ${MGDIR}/${genoXname}.${genoXname} ${MGDIR}/intermediateFiles/${genoXname}-${genoYname}
+ln -s ${MGDIR}/${genoYname}.${genoYname} ${MGDIR}/intermediateFiles/${genoYname}-${genoXname}
+
+cd ${MGDIR}/intermediateFiles/${genoXname}-${genoYname}
+
+###############
+
+
+
+echo "${BINDIR}/reverseComplement ${MGDIR}/${genoYname}.${genoXExt} ${genoYname}-revercomp.${genoYExt}"
+${BINDIR}/reverseComplement ${MGDIR}/${genoYname}.${genoYExt} ${MGDIR}/${genoYname}-revercomp.${genoYExt}
+
+if [[ ! -f ../dictionaries/${genoXname}.d2hP ]];	then
+	echo "${BINDIR}/dictionary.sh ${MGDIR}/${genoXname}.${genoXExt} &"
+	${BINDIR}/dictionary.sh ${MGDIR}/${genoXname}.${genoXExt} &		
+fi
+
+if [[ ! -f ../dictionaries/${seqYName}.d2hP ]];	then
+	echo "${BINDIR}/dictionary.sh ${MGDIR}/${genoYname}.${genoYExt} &"
+	${BINDIR}/dictionary.sh ${MGDIR}/${genoYname}.${genoYExt} &
+fi
+		
+if [[ ! -f ../dictionaries/${genoYname}-revercomp.d2hP ]];	then
+	echo "${BINDIR}/dictionary.sh ${MGDIR}/${genoYname}-revercomp.${genoYExt} &"
+	${BINDIR}/dictionary.sh ${MGDIR}/${genoYname}-revercomp.${genoYExt} &
+fi		
+
+echo "Waiting for the calculation of the dictionaries"
+
+for job in `jobs -p`
+do
+    #echo $job
+    wait $job
+done
+
+
+
+mv ${genoXname}.d2hP ../dictionaries/
+mv ${genoXname}.d2hW ../dictionaries/
+mv ${genoYname}.d2hP ../dictionaries/
+mv ${genoYname}.d2hW ../dictionaries/
+mv ${genoYname}-revercomp.d2hP ../dictionaries/
+mv ${genoYname}-revercomp.d2hW ../dictionaries/
+
+
+		
+# Hacemos enlace simbolico
+ln -s ../dictionaries/${genoXname}.d2hP .
+ln -s ../dictionaries/${genoXname}.d2hW .
+
+ln -s ../dictionaries/${genoYname}.d2hP .
+ln -s ../dictionaries/${genoYname}.d2hW .
+
+ln -s ../dictionaries/${genoYname}-revercomp.d2hP .
+ln -s ../dictionaries/${genoYname}-revercomp.d2hW .
+
+echo "${BINDIR}/comparison.sh ${MGDIR}/${genoXname}.${genoXExt} ${MGDIR}/${genoYname}.${genoYExt} ${length} ${similarity} ${WL} ${fixedL} f &"
+${BINDIR}/comparison.sh ${MGDIR}/${genoXname}.${genoXExt} ${MGDIR}/${genoYname}.${genoYExt} ${length} ${similarity} ${WL} ${fixedL} f &
+
+echo "${BINDIR}/comparison.sh ${MGDIR}/${genoXname}.${genoXExt} ${MGDIR}/${genoYname}-revercomp.${genoYExt} ${length} ${similarity} ${WL} ${fixedL} r &"
+${BINDIR}/comparison.sh ${MGDIR}/${genoXname}.${genoXExt} ${MGDIR}/${genoYname}-revercomp.${genoYExt} ${length} ${similarity} ${WL} ${fixedL} r &
+
+echo "Waiting for the comparisons"
+
+for job in `jobs -p`
+do
+    #echo $job
+    wait $job
+done
+
+
+#echo "rm ${seqYName}-revercomp.${extensionY}"
+#rm ${seqYName}-revercomp.${extensionY}
+
+
+echo "${BINDIR}/combineFrags ${genoXname}-${genoYname}-sf.frags ${genoXname}-${genoYname}-revercomp-sr.frags ${genoXname}-${genoYname}.frags"
+${BINDIR}/combineFrags ${genoXname}-${genoYname}-sf.frags ${genoXname}-${genoYname}-revercomp-sr.frags ${genoXname}-${genoYname}.frags
+
+#Borramos todo menos los frags y los diccionarios
+
+# Get Info from frags 
+echo "${BINDIR}/getInfo ${genoXname}-${genoYname}.frags > ${genoXname}-${genoYname}.csv"
+${BINDIR}/getInfo ${genoXname}-${genoYname}.frags > ${genoXname}-${genoYname}.csv.tmp
+cat ${genoXname}-${genoYname}.frags.INF ${genoXname}-${genoYname}.csv.tmp > ${genoXname}-${genoYname}.csv
+rm -rf ${genoXname}-${genoYname}.csv.tmp
+	
+if [[ -L "../../${genoXname}.fasta" ]]
+then
+	rm ../../${genoYname}.fasta
+fi
+
+if [[ -L "../../${genoXname}.fasta" ]]
+then
+	rm ../../${genoYname}.fasta
+fi
+
+#Movemos los frags y los info
+mv ${genoXname}-${genoYname}.frags $output
+mv ${genoXname}-${genoYname}.csv $csv
+
+
+
+#echo "Borrando ${seqXName}-${seqYName}"
+cd ..
+
+#rm -rf ${seqXName}-${seqYName}
+
+cd ..
+
+
+rm -r ${MGDIR}
+