	#!/bin/bash

#Fem els exports necessaris per executar els components del paquet exonerate.

export PATH=/cursos/BI/bin/exonerate/i386/bin:$PATH  

#Generem les carpetes requerides per guardar els resultats del fastaindex, fastafetch i fastasubseq. Eliminem la carpeta de hitsbons. Renombrem la carpeta blastm8_hits a genomes_contigs, aquest nom orienta millor al seu contingut actual. 

rm -r hitsbons
mv blastm8_hits genomes_contigs
mkdir genomes_index genomes_retallats genomes_subseq

#Definim les variables necessaries per dur a terme els fastes: la localització dels genomes i les querys, amb els respectius noms.

for query_path in `cat querys_list.tab | cut -f 2`; do {
	query_name=`grep $query_path querys_list.tab | cut -f 1`; 

	for genome_path in `grep 2012 /cursos/BI/genomes/protists/genomes_list_and_info.tab | cut -f 4`; do {
		genome_name=`grep $genome_path /cursos/BI/genomes/protists/genomes_list_and_info.tab | cut -f 1`; 

#Correm el fastaindex, per indexar els genomes.

   		fastaindex $genome_path genomes_index/${genome_name}.index 

#Renombrem els arxius que contenen els contigs, per fer més clar el seu contingut.

		mv genomes_contigs/${query_name}.CONTRA.${genome_name}.tblastn genomes_contigs/${query_name}.${genome_name}.contigs

#Definim una variable que ens localitzi els contigs per poder dur a terme el fastafetch.

		for contig_name in `cut -f 2 genomes_contigs/${query_name}.${genome_name}.contigs`; do {

#Correm el fastafetch, obtenim els genomes retallats.
   
      			fastafetch $genome_path genomes_index/${genome_name}.index $contig_name > genomes_retallats/${genome_name}.${contig_name}.RETALLAT.fa   

#Fem una llista dels genomes retallats per facilitar-ne el seu accés.

echo "${genome_name}.${contig_name}""	""genomes_retallats/${genome_name}.${contig_name}.RETALLAT.fa""	""OK" >> genomes_retallats_list.tab 
	
#Definim l'inici i la llargada d'interès per cada contig, així com la loclaització i nom dels genomes retallats, per poder córrer el fastasubseq.

			for inici in `egrep $contig_name genomes_contigs/${query_name}.${genome_name}.contigs | cut -f 14`; do {

				for llargada in `egrep $contig_name genomes_contigs/${query_name}.${genome_name}.contigs | cut -f 13`; do {

					for genomes_retallats_path in `egrep OK genomes_retallats_list.tab | cut -f 2`; do {
						genomes_retallats_name= `egrep $genomes_retallats_path genomes_retallats_list.tab | cut -f 1`;

#Correm el fastasubseq.

						fastasubseq $genomes_retallats_path $inici $llargada > genomes_subseq/${genomes_retallats_name}.SUBSEQ.fa

#Fem una llista dels genomes processats amb el fastasubseq per facilitar-ne el seu accés. 

						echo "${genomes_retallats_name}""	""genomes_subseq/${genomes_retallats_name}.SUBSEQ.fa""	""OK" >> genomes_subseq_list.tab 


					} done
				} done
			} done
		} done
	} done

#Canviem les U presents a les querys per X, per tal de poder córrer l'exonerate.  

	./canviaU.pl < $query_path > TR_queryscanviades/${query_name}.fa 

#Fem una llista de les querys canviades per facilitar-ne el seu accés.

	echo "${query_name}""	""TR_queryscanviades/${query_name}.fa" >> querys_canviades_list.tab

} done
