#!/usr/bin/perl -w

use strict;

### Declaracio de variables ###

my $identificador;
my $fitxer_ratoli_iden;
my $fitxer_ratoli_sortida;
my @identificador;
my $fitxer_ratoli;
my $i;
my $sequencia;
my $trobat;

print "fitxer identificador ratoli: ";
$fitxer_ratoli_iden = <STDIN>;            # entrem el fitxer amb els identificadors
print "entra fitxer sortida: ";
$fitxer_ratoli_sortida = <STDIN>;         # entrem el nom del fitxer on guardarem les sequencies


### posar dins el vector identificador ###

open(IDEN,"<$fitxer_ratoli_iden");

$i = 0;

while(<IDEN>){
   
    chomp($_);
    if ($_ =~/(ENSMUSP\w+)/){
	$identificador[$i]=$1;
	$i = $i + 1;
    } 
}
print scalar(@identificador);
print "\n";
print "@identificador";
print "\n";


### comparar el vector identificador amb el fitxer de les sequencies ###

$fitxer_ratoli ="/disc8/genomes/M.musculus/ensembl/Mus_musculus.NCBIM32.pep.fa";
open(IN,"<$fitxer_ratoli") || die "cannot open file";

open(OUTPUT, ">$fitxer_ratoli_sortida") || die "cannot open file";

$trobat=0;
$sequencia = "";
while (<IN>) { 
                                                        
    $i = 0;
    chomp ($_);   
    if ($_ =~/ENSMUSP/){

	if ($trobat==1){
	    print OUTPUT "\n";
	}
	    
	$trobat=0;
	while ($i < scalar(@identificador)) {
	    if ($_ =~/$identificador[$i]/) {              
		$trobat = 1;
		print OUTPUT "$identificador[$i]\n";     
		# print OUTPUT "$sequencia\n";             
	    }
	    $i = $i + 1;
	}
	#print "$_\n";

    }
    else {
	if ($trobat == 1){
	    print OUTPUT "$_";
	    #print "\n";
	}
    }
}
close (IDEN);
close (IN);
close (OUTPUT);
