annotate rapsodyn/listfiltering.pl @ 2:761fecc07fa9 draft

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