#!/usr/bin/perl

$file=shift;
$TSS=shift;

$lunghezza_vettore_genomico = 30;

#creo vettore pieno di zeri
my @vettore_genomico = (0) x $lunghezza_vettore_genomico;


if( $TSS<0 || $TSS > $lunghezza_vettore_genomico){
	print "valore TSS non valido\n";
	exit;
}

open in,$file;
while(<in>){
 $riga_corrente=$_;
 # rimuovo l'ultimo carattere (a capo o newline) dalla riga corrente
 chop $_; 
 @valori_riga_corrente=split(/\t/,$riga_corrente);

 # NB: qui uso la vostra idea ...
 # questa è una riga del file:
 # seq1	5	10
 # dopo aver spezzato con split ...
 # "seq1" è in $valori_riga_corrente[0]
 # 5 è in $valori_riga_corrente[1]
 # 10 è in $valori_riga_corrente[2]

 $start = $valori_riga_corrente[1];
 $end = $valori_riga_corrente[2];

 # il vostro ciclo for conta i match della sequenza mappata (riga corrente file di input) 
 # con @vettore_genoma posizione per posizione. Ma le coordinate utilizzate NON SONO quelle
 # di @vettore genoma ma quelle contenute nel file di input (coordinate dei mappaggi, cioè
 # $start e $end). 

 for (my $i=$start; $i<$end; $i++) {
  # NB: questa è la riga che realizza effettivamente il conteggio
  $vettore_genomico[$i] = $vettore_genomico[$i] + 1;	
 }

# finisce la valutazione di questa riga del file ... passa alla riga successiva.
}

 # Ora @vettore_genoma contiene i valori che dobbiamo stampare ma
 # dobbiamo ancora convertire le coordinate da stampare in modo che
 # siano riferite al TSS. Convertiamo e, contestualmente, stampiamo.

 for (my $i=0; $i<($lunghezza_vettore_genomico-1); $i++) {
  print (($i-$TSS+1)."\t".$vettore_genomico[$i]."\n");
 } 

# ricordiamoci di chiudere il file...
close in;

