#!/bin/bash
#The script prepares input files for generating cmap2struct pipline with a reduced cmap as input. First the input contact map is reduced "number_of_reduction_repeats" times
#then argument files for cmap2struct pipline are prepared based on "template_argument_in_file" (cmap file is replaced to a proper one).
#Finally ready files are moved to separate directories.

  
#USAGE:
#cmap_prepare_reduced <percent_of_contacts_to_be_retained> <matrix_input_file> <number_of_reduction_repeats> <template_arument_in_file.in>
EXPECTED_ARGS=4
BAD_ARGS=55

if [ $# -ne ${EXPECTED_ARGS} ]
then
        echo "The script prepares input files for generating cmap2struct pipline with a reduced cmap as input. 
First the input contact map is reduced <number_of_reduction_repeats> times
then argument files for cmap2struct pipline are prepared based on <template_argument_in_file> (cmap file is replaced to a proper one).
Finally ready files are moved to separate directories.

#USAGE:
#cmap_prepare_reduced <percent_of_contacts_to_be_retained> <matrix_input_file> <number_of_reduction_repeats> <template_arument_in_file.in>
	"
        exit $BAD_ARGS
fi

retain_percent=$1
matrix_input_file_path=$2
repetitions=$3
in_file_template_path=$4
in_file_template=${in_file_template_path##*/}
matrix_input_file=${matrix_input_file_path##*/}
cp $matrix_input_file_path .

echo $in_file_template_path
echo $in_file_template


for (( i=0; i<$repetitions; i++ ));do
cmap_reduce_cmap.py $retain_percent $matrix_input_file >> o.${matrix_input_file%%.cmap}_red_$retain_percent 2>&1 
done


ls  *red_*.cmap | while read cmap_name;do

	dir_name=${cmap_name##*red}
	dir_name=red${dir_name%%.cmap}
	echo $dir_name
	sed -e 's/^.*\.cmap\s/'${cmap_name}'\t/' $in_file_template_path > ${in_file_template%%.in}_${dir_name}.in 
	mkdir $dir_name
	mv *_${dir_name}* ${dir_name}/	

done

