Mercurial > repos > alvarofaure > bitlab
view chromeister/bin/index_chromeister.sh @ 0:7fdf47a0bae8 draft
Uploaded
author | alvarofaure |
---|---|
date | Wed, 12 Dec 2018 07:18:40 -0500 |
parents | |
children |
line wrap: on
line source
#!/usr/bin/env bash DIR=$1 FASTAS1=$3 FASTAS2=$4 OUT=$2 echo "Computing index CSV..." > index.csv.temp while [ "$(find . -size 0 | wc -l)" -ne 0 ]; do sleep 10s done EXT="mat" EXTSCORE="scr.txt" EXTGENERAL=".fa.fasta" if [ $# != 4 ]; then echo "***ERROR*** Use: $0 <directory> <out> <fastas_directory_1> <fastas_directory_2>" exit -1 fi rm $DIR/*.log for i in $DIR/*.scr; do mv $i $i.txt; done rm $OUT for elem in $(ls -d $DIR/*.$EXT | awk -F "/" '{print $NF}' | awk -F ".$EXT" '{print $1}') do IFS='-', read -a splits <<< "$elem" IFS='.', read -a getnum <<< "$elem" scorepath=$(basename $elem .mat).$EXTSCORE sed -i "/X.*/d" $DIR/$scorepath sed -i "s/\[1\]//g" $DIR/$scorepath score=$( head -1 $DIR/$scorepath) file1=${splits[0]} file2=$(basename ${splits[1]} .mat) ID1=$(head -1 $FASTAS1/$file1) ID2=$(head -1 $FASTAS2/$file2) #scorepath="$(basename $elem .mat).$EXTSCORE" #score="$(head -1 $DIR/$scorepath)" counter=0 numX=0 numY=0 for i in "${getnum[@]}" do counter=`expr $counter + 1` if [ "$numX" -eq 0 ] && [ "$i" == "chromosome" ]; then numX=$counter continue fi if [ "$numX" -ne 0 ] && [ "$i" == "chromosome" ]; then numY=$counter fi done echo "$(basename ${splits[0]} $EXTGENERAL),$(basename ${splits[1]} ${EXTGENERAL}.mat),$ID1,$ID2,$elem.$EXT.filt.png,${getnum[${numX}]},${getnum[${numY}]},$score" >> $OUT done sort -k5,5n -k6,6n -o $OUT $OUT sed -i '1iSpX, SpY, IDX, IDY, IMG, CHNumberX, CHNumberY, Score' $OUT rm index.csv.temp