annotate rapsodyn/listfiltering.pl @ 9:ad321ff1b67d draft

Uploaded
author mcharles
date Thu, 14 Aug 2014 08:12:06 -0400
parents
children 7b8646f46010
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
1 #!/usr/bin/perl
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
2 use strict;
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
3 use Getopt::Long;
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
4
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
5 my $inputfile;
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
6 my $headerfile;
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
7 my $nb_col=1;
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
8 my %header;
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
9
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
10 if ($#ARGV<0){
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
11 print "\n";
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
12 print "perl 021_ListFiltering.pl -input_file <file> -header_file <file> -nb_col <integer>[1]\n";
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
13 exit(0);
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
14 }
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
15
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
16 GetOptions (
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
17 "input_file=s" => \$inputfile,
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
18 "header_file=s" => \$headerfile,
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
19 "nb_col=i" => \$nb_col
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
20 ) or die("Error in command line arguments\n");
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
21
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
22 open(HF, $headerfile) or die("Can't open $headerfile\n");
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
23 while (my $line=<HF>){
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
24 chomp($line);
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
25 my @fields = split(/\s+/,$line);
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
26 my $ref="";
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
27 my $compt=0;
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
28 while ($compt<$nb_col){
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
29 if ($ref){$ref.="\t";}
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
30 $ref.=$fields[$compt];
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
31 $compt++;
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
32 }
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
33 # my $ref = "$fields[0]\t$fields[1]";
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
34 $header{$ref}=$line;
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
35 }
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
36 close (HF);
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
37
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
38
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
39 open(IF, $inputfile) or die("Can't open $inputfile\n");
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
40 while (my $line=<IF>){
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
41 my @fields = split(/\s+/,$line);
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
42 my $ref="";
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
43 my $compt=0;
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
44 while ($compt<$nb_col){
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
45 if ($ref){$ref.="\t";}
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
46 $ref.=$fields[$compt];
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
47 $compt++;
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
48 }
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
49 # my $ref = "$fields[0]\t$fields[1]";
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
50
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
51 if ($header{$ref}){
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
52 # print $line;
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
53 # print $header{$ref},"\n";
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
54 }
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
55 else {
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
56 print $line;
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
57 }
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
58
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
59 }
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
60 close(IF);
ad321ff1b67d Uploaded
mcharles
parents:
diff changeset
61