[Bio] / FigKernelScripts / check_sims_basic.pl Repository:
ViewVC logotype

Annotation of /FigKernelScripts/check_sims_basic.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (view) (download) (as text)

1 : overbeek 1.1 $usage = "usage: check_sims_basic NR < sims > checked.sims 2> errors";
2 :    
3 :     ($nr = shift @ARGV)
4 :     || die $usage;
5 :    
6 :     open(NR,"<$nr") || die $usage;
7 :    
8 :     $/ = "\n>";
9 :     while (defined($_ = <NR>))
10 :     {
11 :     chomp;
12 :     if ($_ =~ /^>?(\S+)[^\n]*\n(.*)/s)
13 :     {
14 :     $id = $1;
15 :     $seq = $2;
16 :     $seq =~ s/\s//gs;
17 :     $ln{$id} = length($seq);
18 :     }
19 :     }
20 :     $/ = "\n";
21 :     close(NR);
22 :    
23 :     while (defined($_ = <STDIN>))
24 :     {
25 :     chomp; # $/)
26 :     if ($_ =~ m/^\S+\t\S+\t(\d+|\d+\.\d+)(\t\d+){7}\t(\d+(\.\d*)?e[-+]?\d+|\d+\.\d+)\t(\d\.\d*e[-+]?\d+|\d+\.\d+|\d+)/)
27 :     {
28 :     # print STDERR "$1\t$2\t$3\t$4\t$5\t$6\n";
29 :     ($id1,$id2,$iden,$ali_ln,$mis,$gaps,$b1,$e1,$b2,$e2,$psc,$bsc,$ln1,$ln2) =
30 :     split(/\t/,$_);
31 :    
32 :     if ($ln{$id1} && $ln{$id2} && ($ln{$id1} == $ln1) && ($ln{$id2} == $ln2))
33 :     {
34 :     print "$_\n";
35 :     }
36 :     else
37 :     {
38 :     if ($ln{$id1})
39 :     {
40 :     if ($ln{$id1} != $ln1) { print STDERR "badlen1\t$id1\t$ln{$id1}\t$ln1\t$_\n"; }
41 :     }
42 :     else
43 :     {
44 :     print STDERR "undef1\t$id1\t\t\t$_\n";
45 :     }
46 :    
47 :     if ($ln{$id2})
48 :     {
49 :     if ($ln{$id2} != $ln2) { print STDERR "badlen2\t$id2\t$ln{$id2}\t$ln2\t$_\n"; }
50 :     }
51 :     else
52 :     {
53 :     print STDERR "undef2\t$id2\t\t\t$_\n";
54 :     }
55 :     }
56 :     }
57 :     else
58 :     {
59 :     print STDERR "INVALID FORMAT: $_\n";
60 :     }
61 :     }

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3