#!/usr/bin/perl -w use strict; use warnings; use File::Path; use vars qw(@genes_number %count $AG_value $GC_bin @arr %gc_ag); ##################################################################################### # Open Input and Output Files # ##################################################################################### if( @ARGV < 2){ print "NSD analysis file needs the following arguments\n"; print "Name of merged Static and experimental file, Name of experiment (first col of first file, Output file name\n"; exit 0; } opendir (DIR, "/nsd/data") || die "Cannot open directroy data $!"; open(NSD, "firstfile.txt") || die "Cannot open file NSD file"; # NSD data open(INPUT1,$ARGV[0]) || die "Cannot open file \"$ARGV[0]\""; # Analysis file my $exp_name=$ARGV[1] || die "Enter the name of Experiment \"$ARGV[1]\""; open(RESULTS, ">/nsd/data/$ARGV[2]")|| die "Cannot open the results file"; #my $GC_bin=$ARGV[3] || die "Enter the GC content that you want to anlyze \"$ARGV[2]\""; #open(RESULTS,">result.txt")|| die "Cannot open the results file"; #my $AG_value=0; # read all AG 90 values for all gc bins into a hash # then for the keys of this hash use the values for making # comparisons my %gc_ag =(); while(){ chomp; my @current_line_nsd = split /\t/; if ($exp_name eq $current_line_nsd[0]){ $gc_ag{$current_line_nsd[2]} = $current_line_nsd[17]; } } foreach my $v (sort {$a<=>$b} keys %gc_ag) { print "$v\t$gc_ag{$v}\n"; } close (NSD); #reading the second file entered by user as an argument my %genes_number =(); while(){ chomp; my @current_line = split /\t/; foreach my $k (sort {$a<=>$b} keys %gc_ag) { if ($current_line[3] == $k && $current_line[8] > $gc_ag{$k} ) { # push(@genes_number, $current_line[1]); push(@{$genes_number{$k}}, $current_line[1]); } } } &count_unique (@genes_number); ###################################################### sub count_unique { @genes_number = @_; my %count; map { $count{$_}++ } @genes_number; #print them out: map {push our @arr, ${count{$_}}} sort keys(%count); for (my $j=1; $j<10; $j++){ my $counter =0; foreach my $element(@arr) { if ($element >=$j) { $counter++; } } print "$j\t$counter\n"; } #print "Number of genes with more than 5 probes is: $counter\n"; #print scalar(@arr)."\n" ; #map {print RESULTS "$_\n"} sort keys(%count); my $i =0; $i += keys %count; # print $i; return %count; } close (INPUT1); close (RESULTS); close (DIR); #### THE FIRST FILE PEPG_GT1001_01_HYB1_N 2008-06-26 5 1406 1163 2.27483 2.66979 2.77429 2.91807 3.10535 3.24583 3.24583 3.43355 3.67937 3.90971 4.51388 4.88935 5.33778 6.30833 38.3232 2.27483 2.77429 2.91807 3.10535 3.24583 3.43355 3.67937 4.22568 4.51388 5.33778 7.52172 9.75374 14.9343 27.3547 922.32 PEPG_GT1001_01_HYB1_N 2008-06-26 6 1746 65825 2.35261 2.77429 2.91807 2.91807 3.10535 3.24583 3.43355 3.67937 3.67937 4.22568 4.51388 4.88935 5.67276 6.81457 72.5727 2.20176 2.91807 3.10535 3.24583 3.43355 3.90971 4.51388 5.33778 6.81457 9.75374 15.8048 22.2225 34.325 60.0727 2805.0 PEPG_GT1001_01_HYB1_N 2008-06-26 7 1828 356967 2.27483 2.66979 2.91807 2.91807 3.10535 3.24583 3.43355 3.67937 3.90971 4.22568 4.88935 5.33778 6.30833 8.14622 58.5727 2.14818 3.10535 3.43355 3.67937 4.22568 5.33778 6.81457 9.75374 14.9343 23.4265 38.3232 50.3227 69.5727 114.323 4083.8 PEPG_GT1001_01_HYB1_N 2008-06-26 8 1880 747766 2.27483 2.77429 2.91807 3.10535 3.10535 3.24583 3.67937 3.90971 4.22568 4.51388 5.33778 6.30833 7.52172 10.767 176.073 2.14818 3.43355 3.90971 4.88935 5.67276 9.75374 15.8048 24.8939 36.8235 53.3227 74.8227 92.5727 121.073 185.323 13073. PEPG_GT1001_01_HYB1_N 2008-06-26 9 1918 1068262 2.27483 2.77429 2.91807 3.10535 3.24583 3.43355 3.67937 3.90971 4.51388 4.88935 6.30833 6.81457 9.11957 12.5488 131.823 2.14818 3.90971 5.33778 7.52172 11.6325 22.2225 35.574 50.3227 68.3227 91.0727 123.823 147.823 185.323 274.073 7170.9 PEPG_GT1001_01_HYB1_N 2008-06-26 10 1904 1212972 2.35261 2.91807 3.10535 3.24583 3.43355 3.67937 4.22568 4.51388 5.33778 6.81457 9.11957 11.6325 15.8048 24.8939 1374.32 2.20176 4.88935 8.14622 14.9343 23.4265 40.8228 61.5727 81.8227 105.073 133.073 174.573 204.323 252.573 365.823 20092. PEPG_GT1001_01_HYB1_N 2008-06-26 11 1920 1128925 2.43556 2.91807 3.24583 3.43355 3.67937 4.22568 4.88935 5.33778 6.81457 9.11957 13.9124 18.4569 26.1208 40.8228 356.073 2.20176 6.30833 12.5488 24.8939 36.8235 61.5727 85.8227 111.573 141.073 176.073 224.323 259.573 316.073 449.073 8523.3 PEPG_GT1001_01_HYB1_N 2008-06-26 12 1946 864327 2.35261 3.10535 3.43355 3.67937 4.22568 4.88935 5.67276 7.52172 9.75374 14.9343 22.2225 30.3334 40.8228 62.8227 681.073 2.27483 8.14622 19.6077 34.325 49.0727 79.0727 107.573 138.573 172.323 212.323 267.323 307.823 371.073 521.323 8956.5 PEPG_GT1001_01_HYB1_N 2008-06-26 13 1936 550147 2.43556 3.43355 3.67937 4.22568 4.88935 6.30833 8.14622 10.767 14.9343 22.2225 34.325 43.8227 64.3227 96.8227 696.323 2.27483 10.767 26.1208 42.0728 58.5727 91.0727 123.823 157.323 193.573 238.073 298.573 342.823 411.323 580.073 9509.3 PEPG_GT1001_01_HYB1_N 2008-06-26 14 1920 291085 2.52418 3.67937 4.22568 4.88935 5.67276 8.14622 11.6325 15.8048 23.4265 32.5776 50.3227 61.5727 79.0727 116.823 797.823 2.35261 13.9124 30.3334 46.3227 62.8227 96.8227 130.323 166.573 205.823 252.573 318.573 367.073 445.073 635.823 9819.0 PEPG_GT1001_01_HYB1_N 2008-06-26 15 1898 126329 2.35261 3.67937 4.51388 5.33778 6.81457 9.75374 15.8048 22.2225 32.5776 45.0727 64.3227 81.8227 111.573 174.573 1178.57 2.52418 15.8048 31.3308 48.0727 62.8227 95.3227 129.073 166.573 207.323 258.323 328.073 383.073 470.573 708.323 8939.0 PEPG_GT1001_01_HYB1_N 2008-06-26 16 1926 45400 2.66979 4.22568 5.67276 7.52172 9.11957 13.9124 21.0305 30.3334 40.8228 58.5727 83.0727 100.823 130.323 191.073 1184.07 2.52418 15.8048 32.5776 48.0727 62.8227 92.5727 126.323 162.573 204.323 259.573 341.323 406.073 517.323 833.823 9437.3 PEPG_GT1001_01_HYB1_N 2008-06-26 17 1884 12459 2.77429 4.88935 6.30833 8.14622 10.767 17.1358 26.1208 36.8235 49.0727 66.8227 98.0727 119.823 157.323 245.823 1871.82 2.66979 17.1358 31.3308 45.0727 60.0727 90.0727 121.073 159.823 205.823 267.323 368.323 454.323 615.573 1013.32 9156.5 PEPG_GT1001_01_HYB1_N 2008-06-26 18 1824 1925 2.77429 5.33778 7.52172 9.75374 12.5488 19.6077 29.0895 40.8228 53.3227 76.3227 106.323 134.323 181.573 302.573 2503.57 3.43355 15.8048 29.0895 42.0728 56.0727 80.5727 114.323 157.323 205.823 279.823 407.323 537.573 760.073 1567.82 8010.4 PEPG_GT1001_01_HYB2_N 2008-06-26 5 1406 1163 2.27483 2.66979 2.77429 2.8588 2.97936 3.10535 3.20743 3.39102 3.5525 3.90971 4.16394 4.63902 5.33778 6.95136 43.8227 2.35261 2.8588 2.97936 3.10535 3.20743 3.5525 3.72086 4.445 4.97054 6.11439 8.71517 10.767 16.8886 31.3308 684.57 PEPG_GT1001_01_HYB2_N 2008-06-26 6 1746 65825 2.27483 2.66979 2.8588 2.97936 2.97936 3.10535 3.39102 3.5525 3.72086 4.16394 4.63902 4.97054 5.67276 6.95136 70.8227 2.21903 2.8588 3.10535 3.20743 3.5525 3.90971 4.445 5.33778 6.95136 10.0787 16.8886 22.9434 34.325 59.5727 3348.5 PEPG_GT1001_01_HYB2_N 2008-06-26 7 1828 356967 2.27483 2.77429 2.8588 2.97936 3.10535 3.20743 3.39102 3.5525 3.90971 4.445 4.97054 5.33778 6.5127 8.14622 191.073 2.14818 3.10535 3.39102 3.72086 4.16394 4.97054 6.5127 9.30877 14.9343 22.9434 37.8233 49.3227 67.8227 109.323 4133.0 PEPG_GT1001_01_HYB2_N 2008-06-26 8 1880 747766 2.35261 2.77429 2.8588 2.97936 3.10535 3.39102 3.5525 3.90971 4.16394 4.63902 5.67276 6.5127 8.14622 11.4116 202.823 2.21903 3.39102 3.90971 4.63902 5.67276 9.30877 14.9343 23.9123 35.574 50.3227 72.5727 90.0727 117.323 178.573 5673.5 THE SECOND FILE 4750739 A209.EF064282 53 11 0.474968 -33.2 S 4750739 165.834 44.7 3383536 A209.EF064282 55 11 0.500083 -32.4 A 3383536 323.299 49 2634649 A209.EF064282 57 10 0.394855 -32 S 2634649 335.989 70.8 2923929 A209.EF064282 59 10 0.440602 -32.6 A 2923929 182.191 56.2 4872947 A209.EF064284 55 9 0.320984 -32.8 A 4872947 532.385 103.7 1427589 A209.EF064284 57 9 0.402661 -32.2 S 1427589 677.757 199.3 3642671 A209.EF064284 87 8 0.376187 -30.4 A 3642671 180.485 65.7 1042210 A209.EF064284 89 7 0.320542 -29.3 S 1042210 363.54 61.7 4959298 A209.EF064284 91 9 0.462034 -30.5 A 4959298 549.485 105.1 2609177 A209.EF064284 93 8 0.287848 -29.9 S 2609177 223.687 48 3121652 A209.EF064284 95 9 0.447002 -30.8 A 3121652 491.059 104.1 4911506 A209.EF064284 97 9 0.371932 -30.2 S 4911506 99.0901 24.5 4389484 A209.EF064284 99 10 0.48621 -32.2 A 4389484 123.912 47.2