#!/usr/bin/perl -w

use strict;

open(FH,"<ortologos_fugu_zebra.txt") || die "no puede abrir el fichero\n";

my $i=0;
my $idfugu;
my $idzebra;
my $linea;
my @parte;
my @parte2;
my $seqfugu;
my $linea2;
my $seqzebra;

open (RESULTADOS,">resultados.txt");
while (<FH>){ 

    if (/(\w+\d+)\s+(\w+\d+)/){
    $idfugu=$1;
    $idzebra=$2;
    print "linea $i: $idfugu  $idzebra\n";
    # cogemos la secuencia de fugu

    open(FUGU,"<proteinasfugu2.tbl") || die "no puede abrir el fichero\n";
    $linea=<FUGU>;
    while($linea){
	if ($linea =~ /$idfugu/){
	    #print "$idfugu esta en esta linea! $linea\n";
	    @parte = split (/ /,$linea);
            #print "$parte[0]....$parte[1]\n";
	    $seqfugu=$parte[1];
	    print ">$idfugu\n$seqfugu\n";
	}

	$linea=<FUGU>;
    }

#cogemos la secuencia de zebra
open (ZEBRA,"<proteinaszebra.tbl") || die "no puede abrir el fichero\n";
        $linea2=<ZEBRA>;
	while ($linea2){
	    if ($linea2 =~ /$idzebra/){
            #print "$idzebra esta en esta linea $linea\n";
		@parte2 = split (/ /,$linea2);
		#print "$parte2[0]....$parte[1]\n";
		$seqzebra=$parte2[1];
print ">$idzebra\n$seqzebra\n";
	    }
	    $linea2=<ZEBRA>;
	}

    }
    close(FUGU);

    # print en fichero salida
       
    open OUTPUT, ">ficherosalida.fa";
    print OUTPUT ">$idfugu\n$seqfugu\n>$idzebra\n$seqzebra\n";
    close (OUTPUT);
    

   # llamar clustalw

    `/disc8/bin/clustalw1.8/clustalw ficherosalida.fa`;


    # abrir el output del clustalw

    open (OUT,"<ficherosalida.aln");

    #expresión regular que cuente estrellitas
    chomp;
    
    my $seq1="";
    my $simbolos="";
    my $l=0;
    my $identidad;
    my $similaridad;
    my @v;
    my $n;
    my $n2;
    my @v2;
    my $first_line;
    $first_line=<OUT>;
    while (<OUT>){
        chomp;
	if (m/\ANEWSINFRUP(\w+)\s+([\w\-]+)/) {
	    $seq1=$seq1.$2;
	}

    elsif (/[*.:]/){
	$simbolos=$simbolos.$_;
        
       }
        
    }
	$l=length($seq1);
    print "seq1: $seq1\n simbolos: $simbolos\n longitud seq1: $l\n";

    @v=($simbolos =~ /[*]/g);
    $n=scalar (@v);

    $identidad=$n/$l;
    
    print " tengo $n estrellas!\n";
    print " la identidad es $identidad\n";


    @v2=($simbolos =~ /[*.:]/g);
    $n2=scalar (@v2);

    $similaridad=$n2/$l;
   
    print RESULTADOS "$idfugu\t$idzebra\t$identidad\t$similaridad\n";

    close (OUT);



    $i=$i+1};
close (FH);

close (RESULTADOS);
