Mercurial > repos > alvarofaure > bitlab
diff chromeister/bin/index_chromeister_solo.sh @ 0:7fdf47a0bae8 draft
Uploaded
author | alvarofaure |
---|---|
date | Wed, 12 Dec 2018 07:18:40 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/chromeister/bin/index_chromeister_solo.sh Wed Dec 12 07:18:40 2018 -0500 @@ -0,0 +1,75 @@ +#!/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=".fasta" + +# data is like +# HOMSA.Chr.10.fasta + + + +if [ $# != 4 ]; then + echo "***ERROR*** Use: $0 <directory> <out> <fastas_directory_1> <fastas_directory_2>" + exit -1 +fi + + +rm $OUT + +for elem in $(ls -d $DIR/*.$EXT | awk -F "/" '{print $NF}' | awk -F ".$EXT" '{print $1}') +do + + IFS='-', read -a splits <<< "$elem" # yields MUSMU.Chr.8.fasta and MUSMU.Chr.Y.fasta + IFS='.', read -a getnum <<< "$elem" # yields MUSMU Chr 8 fasta and MUSMU Chr Y fasta + + scorepath=$(basename $elem .mat).$EXTSCORE + + sed -i "/X.*/d" $DIR/$scorepath + sed -i "s/\[1\]//g" $DIR/$scorepath + + score=$( head -1 $DIR/$scorepath) + len1=$( head -1 $DIR/$elem.mat.events.txt | awk -F="," '{print $1}') + len2=$( head -1 $DIR/$elem.mat.events.txt | awk -F="," '{print $2}') + + + + 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=${getnum[2]} + numY=${getnum[5]} + + + + + echo "$(basename ${splits[0]} $EXTGENERAL),$(basename ${splits[1]} ${EXTGENERAL}),$ID1,$ID2,$elem.$EXT.filt.png,$numX,$numY,$score,$len1 $len2" >> $OUT + +done + +sort -k5,5n -k6,6n -o $OUT $OUT + + +sed -i '1iSpX, SpY, IDX, IDY, IMG, CHNumberX, CHNumberY, Score, LengthX, LengthY' $OUT + +rm index.csv.temp +