File: filter_coherenceNEW.pl

package info (click to toggle)
kissplice 2.6.7-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 16,752 kB
  • sloc: cpp: 8,783; python: 1,618; perl: 389; sh: 72; makefile: 18
file content (65 lines) | stat: -rw-r--r-- 1,903 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/usr/bin/perl -w



#>event_0_upper_path| A:183<206.22<239  B:104<154.08<182 |Cycle_0_upper_Length:101_coverage1:69_coverage2:63
#TTGATCCATAAATTGAGTCTGCAATAGTAAATGGAGCTTCAATATATTCATAAGCTTGAAGAATTGTAAAATAGATTCCTAGTAAAACTGTAAAAAATAAT

if(@ARGV !=3){
print "format:filter_coherenceNEW.pl coherent.txt events_tab_k.txt events_filtered.txt\n";
print "Please specify the names of the input files and the output file\n"; 
exit 1;
}

$infile1=shift;  #idio me $infile=$ARGV[0]
#idio me $outfile= $ARGV[1]
$infile2=shift;
$outfile=shift;

open(IN1, "$infile1") || die "Cannot open: $!\n";
open(IN2, "$infile2") || die "Cannot open: $!\n";
open(OUT, ">$outfile") || die "Cannot open: $!\n";


while($line=<IN1>){

#>event_0_upper_path| A:183<206.22<239  B:104<154.08<182 |Cycle_0_upper_Length:101_coverage1:69_coverage2:63
#TTGATCCATAAATTGAGTCTGCAATAGTAAATGGAGCTTCAATATATTCATAAGCTTGAAGAATTGTAAAATAGATTCCTAGTAAAACTGTAAAAAATAAT
chomp($line);
if ($line=~m/>event(.*)\|(.*)\|Cycle_(\d+)_(.*)/){

$number=$3;
#print OUT1 "$number\n";
#print $number;
push(@coherent,$number);
}

}
@hash{@coherent}=();


while($line=<IN2>){
#Cycle	Upperpath	LowerPath	Length_Upper	Length_Lower	Upper_Coverage_1	Upper_Coverage_2	Low_Coverage_1	Low_Coverage_2	Prediction
#0	TTGATCCATAAATTGAGTCTGCAATAGTAAATGGAGCTTCAATATATTCATAAGCTTGAAGAATTGTAAAATAGATTCCTAGTAAAACTGTAAAAAATAAT	TTGATCCATAAATTGAGTCTGCAATAGTAAATGGAGCTTCAATATATTCACAAGCTTGAAGAATTGTAAAATAGATTCCTAGTAAAACTGTAAAAAATAAT	101	101	69	63	3	2	
#2	GTTACTTTAGGGATAACAGCGTAATTTTTTTGGAGAGTTCATATCGATAAGAAAGATTGCGACCTCGATGTTGGATTAAGATATAATTTTGGGTGTAGCCG	GTTACTTTAGGGATAACAGCGTAATTTTTTTGGAGAGTTCATATCGATAACAAAGATTGCGACCTCGATGTTGGATTAAGATATAATTTTGGGTGTAGCCG	101	101	56	34	57	33	

chomp($line);

if ($line=~m/^Cycle(.*)/){
print OUT $line;
print OUT "\n";
}
if ($line=~m/^(\d+)\t(.*)/){
$number=$1;
print OUT "$line\n" if exists $hash{$number};
}

}




close(IN1);
close(IN2);
close(OUT);