modified: openst.yaml
[GalaxyCodeBases.git] / perl / bsim / overlapVF.pl
blobbe8e57c8924dfaf20b8190dded281b47caa0a651
1 #!/usr/bin/env perl
2 use strict;
3 use warnings;
5 die "Usage: $0 <SimLst> <AnalyseRes> [Shift=10]\n" if @ARGV <2;
7 my $total=shift;
8 my $result=shift;
9 my $shift=shift;
10 $shift = 10 unless defined $shift;
11 open TT,$total or die $!;
12 open RT,$result or die $!;
13 my %hash;
15 while(<TT>){
16 chop;
17 my @a=split;
18 #print $a[3]."\n";
19 next unless(/\w/);
20 for( my $kk=$a[3]-$shift;$kk<$a[3]+$shift;$kk++){
21 $hash{$kk}=1;
25 close TT;
27 sub docheck($$$) {
28 my ($chr,$start,$end) = @_;
29 my $ret = 0;
30 ($start,$end) = sort {$a <=> $b} ($start,$end);
31 for my $p ($start .. $end) {
32 if (exists $hash{$p}) {
33 $ret = 1;
34 last;
37 return $ret;
40 while(<RT>){
41 chomp;
42 my @a=split;
43 my ($chr,$start,$end)=split /_/,$a[3];
44 my $ret = docheck($chr,$start,$end);
45 print "$_\n" if $ret;
47 close RT;
49 __END__
50 grep \> simout_*.Ref.fa | sed 's/^simout_m//'|sed 's/.Ref.fa:>/\t/'|sed 's/Ref_/Ref:/g'|sed 's/Vir_/Vir:/'|sed 's/R_/R:/'|sed 's/_/ /g'|cat -n >simed.lst
52 $ wc VirusFinder2/results-virus-loci.txt
53 630 9450 58915 VirusFinder2/results-virus-loci.txt
55 $ ./overlapVF.pl simed.lst VirusFinder2/results-virus-loci.txt |wc
56 408 6120 38407