diff --git a/partitioning/kp_run.sh b/partitioning/kp_run.sh new file mode 100755 index 0000000000000000000000000000000000000000..c6c7af7a436749855f7fc2932ea7268e5c8c9b7f --- /dev/null +++ b/partitioning/kp_run.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +# ---------------------------------------------------------------------------- # +# USAGE +# +# TODO +# ---------------------------------------------------------------------------- # +# get the absolute path of the kp_iter_bic directory +KP_DIR=$(realpath -m $(dirname "$BASH_SOURCE"))/matrix_tests/victor/kp_iter_bic + + +# get command line options +while getopts "m:o:" opt; do + case $opt in + m) csvbm_filepath="$OPTARG" ;; + o) output_directory="$OPTARG" ;; + \?) echo "Option invalide: -$OPTARG" >&2; exit 1 ;; + esac +done + +#csvbm_filepath=$KP_DIR"/tests/data/matrix_10k.csvbm" +max_number_of_rows=350 +max_number_of_columns=350 +min_density=0.8 +percentage_of_zeros_to_delete=0.5 +dimension_to_cut_strategy="largest_dimension_first" +#output_directory=$KP_DIR"/tests/result_1k_${max_number_of_rows}x${max_number_of_columns}_d${min_density//./}_p${percentage_of_zeros_to_delete//./}" + +rm -rf $output_directory + +$KP_DIR/target/release/kpiterbic --csvbm-filepath "$csvbm_filepath" \ + --max-number-of-rows "$max_number_of_rows" \ + --max-number-of-columns "$max_number_of_columns" \ + --min-density "$min_density" \ + --percentage-of-zeros-to-delete "$percentage_of_zeros_to_delete" \ + --dimension-to-cut-strategy "$dimension_to_cut_strategy" \ + --output-directory "$output_directory" + +python3 -c "from partitioning import kp_iter_bic_output_to_soluce; kp_iter_bic_output_to_soluce(\"$output_directory/clusters\",\"$output_directory/compacted_clusters.txt\")" + +# python3 $KP_DIR/src/clusters_to_soluce.py "$output_directory/clusters" $KP_DIR"/tests/soluce_kp_10k.txt" diff --git a/partitioning/run_partitions.sh b/partitioning/run_partitions.sh index 9db4c7447a58c196435ad0270d6903c82d5492f6..8217c3bf220c8afc61e8b531c81c301b69654571 100755 --- a/partitioning/run_partitions.sh +++ b/partitioning/run_partitions.sh @@ -15,21 +15,42 @@ mkdir $data_path # generate reads, shuffle python3 read_matrix.py $data_path $read_number -# test metis : -# reads_to_graph +# ______________ test metis ______________ : + +start_metis=$(date +%s.%N) +# convert reads to adjacent graph graph_path=$dir_path/reads.graph ./partitioning $data_path/shuffled_reads.fastq $graph_path --graph # run metis gpmetis $graph_path $cluster_number -ufactor $cluster_gap > $dir_path/metis.log -# convert the result file + +end_metis=$(date +%s.%N) +runtime=$(echo "$end_metis - $start_metis" | bc) +echo $runtime s for full metis algorithm + +# convert the output file metis_output_file=$graph_path".part."$cluster_number formated_metis_output=$dir_path"/metis_output.txt" -python -c "from partitioning import metis_output_to_soluce; metis_output_to_soluce(\"$metis_output_file\", \"$formated_metis_output\")" +python3 -c "from partitioning import metis_output_to_soluce; metis_output_to_soluce(\"$metis_output_file\", \"$formated_metis_output\")" rm $metis_output_file -# test other : read to matrix + run -./partitioning $data_path/shuffled_reads.fastq $dir_path/matrix.csv --matrix +# ______________ test kp ______________ : + +start_kp=$(date +%s.%N) +# convert reads to minimizer matrix at csvbm format +./partitioning $data_path/shuffled_reads.fastq $dir_path/matrix.csvbm --csvbm + +kp_test_dir="matrix_tests/victor/kp_iter_bic/tests" +. kp_run.sh -m $dir_path/matrix.csvbm -o $dir_path/kp_results + + +end_kp=$(date +%s.%N) +runtime=$(echo "$end_kp - $start_kp" | bc) # eval metis solution metis_result=$dir_path/metis_result.txt -python -c "from partitioning import eval_soluce; eval_soluce(\"$data_path/soluce.txt\",\"$formated_metis_output\", \"$metis_result\")" +python3 -c "from partitioning import eval_soluce; eval_soluce(\"$data_path/soluce.txt\",\"$formated_metis_output\", \"$metis_result\")" + +# eval kp solution +kp_result=$dir_path/kp_results/compacted_clusters.txt +python3 -c "from partitioning import eval_soluce; eval_soluce(\"$data_path/soluce_10k.txt\",\"$kp_test_dir/soluce_kp_10k.txt\", \"$kp_result\")"