#!/usr/bin/perl -Tw use strict; use CGI; ########################################################################################################### ######################################DECLARACIO DE VARIABLES############################################## ########################################################################################################### my $formulari = new CGI; #my $sequencies= $formulari->param("sequencies"); # copiem el nom de fitxer associat al id fitxer my $nomfitxer = $formulari->param("sequencies"); # copiem el filehandle del fitxer associat al id fitxer my $fh_fitxer = $formulari->upload("sequencies"); my $nseq= $formulari->param("nseq"); #sequencies a analitzar en format FASTA my $patro=$formulari->param("patro"); #patro que hem de trobar a les sequencies # aixo ha d'anar per raons de seguretat, si no ho fiqueu, no us funcionara delete(@ENV{qw{IFS PATH ENV BASH_ENV}}); # aixo ens permet restringir el tamany dels fitxer que podem rebre fins a 512K $CGI::POST_MAX=524288; # COMEN-bÇA LA PAGINA WEB-A print "Content-type: text/html\n\n"; print "
no puc crear fitxer\n";
}
# llegim linia a linia el fitxer que ens han
# enviat, i escrivim les linies dins el fitxer
# creat anteriorment
while (<$fh_fitxer>) {
print FH $_;
#print $_;
}
close(FH);
#####
# Comprovem que l'usuari ha introduit els dos arguments necessaris a la linia de comandes: el fitxer on estan les sequencies
# en format FASTA i el motiu a trobar entre cometes
#if (scalar(@ARGV)<2){
# print STDERR "USUARI: assegura't que has introduit el fitxer de sequencies i el motiu entre cometes \n";
# exit(1);
#};
#$sequencies=$ARGV[0];
#$patro=$ARGV[1];
# obrim l'arxiu des del shell i el passem al programa
#open (SEQ,"<$sequencies") || do {
# print STDERR "No s'ha trobat l'arxiu que conte les sequencies\n";
# exit(1);
#};
# obrim un arxiu per escriure els resultats"
#open(OUTFILE, "> outfile.txt");
###########################################################################################################
############################# PREPARACIO DE LA MATRIU DE SEQUENCIES #####################################
###########################################################################################################
# Crearem una matriu de sequencies a partir de l'arxiu en format fASTA (a $sequencies) per tal de tenir:
# - Primera columna: identificador de la sequencia a [$i][0]
# - Segona columna: string (sequencia continua) a [$i][1]
open(FH,"';
$primera_linia= $_";
chomp;
@v= split (/\n/,$_);
$seq_matriu [$i][0]= $v[0];
$j=1;
$seq_matriu [$i][1]= '';
while ($j
" ;
$totalmatch=$totalmatch+1;
}
$posicio=$posicio+1;
}
$nummatch=$nummatch+1;
}
$numprotllista=$numprotllista+1;
$i=$i+1;
}
#print OUTFILE "Nombre total de sequencies amb motiu: $nummatch de $numprotllista\n";
#print OUTFILE "Nombre total de motius l'arxiu: $totalmatch\n";
#close OUTFILE;
print "" ;
$desc=$seq_matriu [$i][0];
#print OUTFILE $seq_matriu [$i][0] . "\t";
print " $desc" . "\t ";
#print OUTFILE $1 . "\t";
print " $1" . "\t ";
#print OUTFILE $longprev . "\t";
print " $longprev" . "\t ";
$longmotiu=length $1;
$longpost=$longprev+$longmotiu;
#print OUTFILE $longpost . "\t";
print " $longpost" . "\t ";
#print OUTFILE $long . "\n";
print " $longprot" . "\t ";
print " Nombre total de proteines amb match: $nummatch de $numprotllista\n
" ;
print " Nombre total de match a l'arxiu: $totalmatch\n
";
print "\n";
#tanquem el cos i el fitxer HTML
print "