#!/usr/bin/perl -w use strict; ###################################################### ###### PROGRAMA PER COMPTAR SNPs ##################### ###################################################### if (scalar(@ARGV) != 1) { print STDERR "USAGE: suma_SNP.pl fitxer.txt \n"; exit(1); }; my ($fitxer) = @ARGV; ##################################################### ############ FUNCIO COMPTAR SNPs ################ ##################################################### &comptar_SNP($fitxer); sub comptar_SNP() { # cridem la funcio my $file = $_ [0]; open (FITXERSNP, "< $file"); # obrim el fitxer my $SNP = ""; while () { # llegim cada linia del fitxer $SNP = $SNP.$_; } my @v= split(/\n/,$SNP); # construïm un vector, separant cada posició on hi havia enter my $suma = 0; # la variable $suma va acumulant els diferents valors del vector (els valors es sumen) my $i = 0; # la variable $i recòrrer les posicions del vector una a una my $propgenoma = 0; my $propgenic = 0; my $num_SNPgenoma = 1073363; # nombre total de SNPs descrits en el genoma (snpNih.txt) my $num_SNPgenics = 459675; # nombre total de SNPs en regions gèniques (resultat del programa ultim.pl) while ($i < scalar(@v)) { $suma = $suma + $v[$i]; # fem la suma de tots els elements del vector $i = $i + 1; } $propgenoma = $suma/$num_SNPgenoma; # calculem la proporcio de SNPs en exons, introns, splicing, utrs,.. respecte tot el genoma $propgenic = $suma/$num_SNPgenics; # calculem la proporcio de SNPs en exons, introns, splicing,utrs,... respecte les regions geniques # imprimim els resultats print "NUM SNP ABSOLUT: $suma\n"; # valor absolut de SNPs en cada part (exons, introns, splicing, utrs,...) print "NUM SNP RELATIUgenoma: $propgenoma\n"; print "NUM SNP RELATIUgenic: $propgenic\n"; } # tanquem funcio comptar_snp