#!/usr/bin/perl -w use strict; ############################################################################# ## PROGRAMA PER MIRAR LA DISTRIBUCIO DELS SNPs EN EL GENOMA PER GENS ####### ############################################################################# if (scalar(@ARGV) != 1) { print STDERR "USAGE: distribucions.pl fitxer.txt \n"; exit(1); }; my ($fitxer) = @ARGV; #################################################################### ## FUNCIO PER COMPTAR LA DISTRIBUCIO DE SNPs PER GENS ########### #################################################################### &distribucio_SNP_gens($fitxer); sub distribucio_SNP_gens() { # 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 $dis05 = 0; my $dis0610 = 0; my $dis1115 = 0; my $dis1620 = 0; my $dis2130 = 0; my $dis3140 = 0; my $dis4150 = 0; my $dis5160 = 0; my $dis6170 = 0; my $dis7180 = 0; my $dis8190 = 0; my $dis91100 = 0; my $dis101150 = 0; my $dis151200 = 0; my $dis201250 = 0; my $dis251300 = 0; my $dis301350 = 0; my $dis351400 = 0; my $dis401450 = 0; my $dis451500 = 0; my $dis501550 = 0; my $dis551600 = 0; my $dis601650 = 0; my $dis651700 = 0; my $dis701 = 0; my $i = 0; while ($i < scalar(@v)) { if ($v[$i] <= 5) { # comptem quants gens tenen de 0 a 5 SNPs $dis05 = $dis05 + 1; }; if (($v[$i] > 6) && ($v[$i] <= 10)) { # comptem quants gens tenen de 6 a 10 SNPs $dis0610 = $dis0610 + 1; }; if (($v[$i] > 11) && ($v[$i] <= 15)) { # comptem quants gens tenen de 11 a 15 SNP $dis1115 = $dis1115 + 1; }; if (($v[$i] > 16) && ($v[$i] <= 20)) { # comptem quants gens tenen de 16 a 20 SNP $dis1620 = $dis1620 + 1; }; if (($v[$i] > 21) && ($v[$i] <= 30)) { # comptem quants gens tenen de 21 a 30 SNPs $dis2130 = $dis2130 + 1; }; if (($v[$i] > 31) && ($v[$i] <= 40)) { # comptem quants gens tenen de 31 a 40 SNPs $dis3140 = $dis3140 + 1; }; if (($v[$i] > 41) && ($v[$i] <= 50)) { # comptem quants gens tenen de 41 a 50 SNPs $dis4150 = $dis4150 + 1; }; if (($v[$i] > 51) && ($v[$i] <= 60)) { # comptem quants gens tenen de 51 a 60 SNPs $dis5160 = $dis5160 + 1; }; if (($v[$i] > 61) && ($v[$i] <= 70)) { # comptem quants gens tenen de 61 a 70 SNPs $dis6170 = $dis6170 + 1; }; if (($v[$i] > 71) && ($v[$i] <= 80)) { # comptem quants gens tenen de 71 a 80 SNPs $dis7180 = $dis7180 + 1 }; if (($v[$i] > 81) && ($v[$i] <= 90)) { # comptem quants gens tenen de 81 a 90 SNPs $dis8190 = $dis8190 + 1; }; if (($v[$i] > 91) && ($v[$i] <= 100)) { # comptem quants gens tenen de 91 a 100 SNPs $dis91100 = $dis91100 + 1; }; if (($v[$i] > 101) && ($v[$i] <= 150)) { # comptem quants gens tenen de 101 a 150 SNPs $dis101150 = $dis101150 + 1; }; if (($v[$i] > 151) && ($v[$i] <= 200)) { # comptem quants gens tenen de 151 a 200 SNPs $dis151200 = $dis151200 + 1; }; if (($v[$i] > 201) && ($v[$i] <= 250)) { # comptem quants gens tenen de 201 a 250 SNPs $dis201250 = $dis201250 + 1; }; if (($v[$i] > 251) && ($v[$i] <= 300)) { # comptem quants gens tenen de 251 a 300 SNPs $dis251300 = $dis251300 + 1; }; if (($v[$i] > 301) && ($v[$i] <= 350)) { # comptem quants gens tenen de 301 a 350 SNPs $dis301350 = $dis301350 + 1; }; if (($v[$i] > 351) && ($v[$i] <= 400)) { # comptem quants gens tenen de 351 a 400 SNPs $dis351400 = $dis351400 + 1; }; if (($v[$i] > 401) && ($v[$i] <= 450)) { # comptem quants gens tenen de 401 a 450 SNPs $dis401450 = $dis401450 + 1; }; if (($v[$i] > 451) && ($v[$i] <= 500)) { # comptem quants gens tenen de 451 a 500 SNPs $dis451500 = $dis451500 + 1; }; if (($v[$i] > 501) && ($v[$i] <= 550)) { # comptem quants gens tenen de 501 a 550 SNPs $dis501550 = $dis501550 + 1; }; if (($v[$i] > 551) && ($v[$i] <= 600)) { # comptem quants gens tenen de 551 a 600 SNPs $dis551600 = $dis551600 + 1; }; if (($v[$i] > 601) && ($v[$i] <= 650)) { # comptem quants gens tenen de 601 a 650 SNPs $dis601650 = $dis601650 + 1; }; if (($v[$i] > 651) && ($v[$i] <= 700)) { # comptem quants gens tenen de 650 a 700 SNPs $dis651700 = $dis651700 + 1; }; if ($v[$i] > 701) { # comptem quants gens tenen més de 700 SNPs $dis701 = $dis701 + 1; }; $i = $i + 1; }; print " $dis05\n $dis0610\n $dis1115\n $dis1620\n $dis2130\n $dis3140\n $dis4150\n $dis5160\n $dis6170\n $dis7180\n $dis8190\n $dis91100\n $dis101150\n $dis151200\n $dis201250\n $dis251300\n $dis301350\n $dis351400\n $dis401450\n $dis451500\n $dis501550\n $dis551600\n $dis601650\n $dis651700\n $dis701\n" }