

# Aquesta comanda serveix per passar EST del Megablast a gff
gawk '$1!="#"{OFS="\t";print $1,"hsp","megablast",$7,$8,".",".",".",$2}'  Megablast.masked.est

#aquesta comanda serveix per passar de FGenes a gff

gawk 'BEGIN{OFS="\t"}$4 ~ /CDSf|CDSi|CDSl/ {print "hg16_dna", "FGenes", $4, start=($5<$7 ? $5 : $7),end=($7<$5 ? $5 : $7), $8, $2,".",$1;}' prediccio_fgenes.txt | \sed 's/\.[0-9][0-9]$//' > prediccio_fgenes.gff

gawk 'BEGIN{OFS="\t"}$3 ~ /CDSf/ {$3 = "Initial"} /CDSi/ {$3 = "Internal"} / CDSl/ {$3 = "Terminal"} {print $0} > prediccio_fgenes2.gff 

#aquesta comanda serveix per passar de Grail.txt a .gff

gawk 'BEGIN{OFS="\t"}$6 ~ /Term|Int|Init/ {print "hg16_dna", "Grail", $6, start=($3<$4 ? $3 : $4),end=($4<$3 ? $3 : $4), $8, $2,$5,$1;}' prediccioGrail.txt | \sed 's/\.[0-9][0-9]$//' > prediccioGrail.gff

#aquesta comanda serveix per passar de GrailEST.txt a.gff

gawk 'BEGIN{OFS="\t"}$6 ~ /Term|Int|Init/ {print "hg16_dna", "Grail", $6, start=($3<$4 ? $3 : $4),end=($4<$3 ? $3 : $4), $8, $2,$5, ".";}' prediccioGrail.txt | \sed 's/\.[0-9][0-9]$//' > prediccioGrail.gff

parseblast -Gi AC091491.est | \
    gawk 'BEGIN{ OFS="\t" }{ $2=$9; $6=$7="."; print }' > AC091491.est.gff

#aquesta comanda serveix per posar totes les repeticions emmascarades en una linia:

gawk 'BEGIN{OFS="\t"}{$2 = "Repeatmasked"; print $0} repeat3.seq.out.gff > repeat.seq.out.unalinia.gff


#aquesta comanda serveix per passar de grail2.txt a grail.gff:

#primer copiem i enganxem a ma aquella informacio referent als gens i exons predits aixi com lesseves coordenades en un emacs prediccioGrail2.modificada.txt

gawk 'BEGIN{OFS="\t"} $3 ~ /Terminal|Internal|Initial/ {print "hf16_dna", "grail", $3, start=($6<$7 ? $6 : $7),end=($7<$6 ? $6 : $7), $11, $2, $8, $9, $1}' prediccioGrail2.modificada.txt | \sed 's/\.[0-9][0-9]$//' > prediccioGrail2.modificada.gff


#aquesta comanda serveix per restar la coordenada inicial al blocs de prediccionsA.
gawk 'BEGIN{OFS="\t"}{$4 = $4 - 7150 + 1; print $0}' prediccionsA.gff > prediccionsArest.gff
gawk 'BEGIN{OFS="\t"}{$5 = $5 - 7150 + 1; print $0}' prediccionsArest.gff > prediccionsArestada.gff

#aquesta comanda serveix per restar la coordenada inicial al blocs de prediccionsB.
gawk 'BEGIN{OFS="\t"}{$4 = $4 - 107000 + 1; print $0}' prediccionsB.gff > prediccionsBrest.gff
gawk 'BEGIN{OFS="\t"}{$5 = $5 - 107000 + 1; print $0}' prediccionsBrest.gff > prediccionsBrestada.gff

#aquesta comanda serveix per restar la coordenada inicial al blocs de prediccionsC.
gawk 'BEGIN{OFS="\t"}{$4 = $4 - 126700 + 1; print $0}' prediccionsC.gff > prediccionsCrest.gff
gawk 'BEGIN{OFS="\t"}{$5 = $5 - 126700 + 1; print $0}' prediccionsCrest.gff > prediccionsCrestada.gff

#aquesta comanda serveix per restar la coordenada inicial al blocs de prediccionsD.
gawk 'BEGIN{OFS="\t"}{$4 = $4 - 355000 + 1; print $0}' prediccionsD.gff > prediccionsDrest.gff
gawk 'BEGIN{OFS="\t"}{$5 = $5 - 355000 + 1; print $0}' prediccionsDrest.gff > prediccionsDrestada.gff

#aquesta comanda serveix per restar la coordenada inicial al blocs de prediccionsE.
gawk 'BEGIN{OFS="\t"}{$4 = $4 - 264800 + 1; print $0}' prediccionsE.gff > prediccionsErest.gff
gawk 'BEGIN{OFS="\t"}{$5 = $5 - 264800 + 1; print $0}' prediccionsErest.gff > prediccionsErestada.gff

#aquesta comanda serveix per restar la coordenada inicial al blocs de prediccionsF.
gawk 'BEGIN{OFS="\t"}{$4 = $4 - 301600 + 1; print $0}' prediccionsF.gff > prediccionsFrest.gff
gawk 'BEGIN{OFS="\t"}{$5 = $5 - 301600 + 1; print $0}' prediccionsFrest.gff > prediccionsFrestada.gff


#aquesta comanda serveix per reduir nombre de EST repetits:

#primer ordenem el fitxer amb els EST
sort +3n -o Blasest_hg16dna_B.spliced.gff Blasest_hg16dna_B.spliced.gff
#després eliminem aquells EST que no comencen amb un exo diferent i ho redireccionem a un altre fitxer
gawk '{exon[$4" "$5]=$9}END{for (i in exon) print exon[i];}'  Blasest_hg16dna_B.spliced.gff  | sort | uniq  > est.diff.ids
#per ultim retallem de tots els EST el que siguin diferent
grep -f est.diff.ids Blasest_hg16dna_B.spliced.gff > Blasest_hg16dna_B.spliced_modificat.gff

#Ho repetim amb C

#Hom millorem fent amb els fitxers ordenats amb:
gawk '{if ($4>50+ant){exon[$4" "$5]=$9;ant=$4}}END{for (i in exon) print exon[i];}'  Blasest_hg16dna_C.spliced.gff  | sort | uniq | wc
