annotate cf_scripts/split_for_velvet.pl @ 24:33a456e6dadc draft

remove output dir tag, set remove temp to true
author geert-vandeweyer
date Mon, 11 Aug 2014 05:20:55 -0400
parents 4a3afa90ff7f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
1 #!/usr/bin/perl
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
2
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
3 use strict;
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
4 my %read1;
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
5 my %read2;
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
6 my %qual1;
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
7 my %qual2;
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
8
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
9 while (my $line=<STDIN>) {
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
10 chomp();
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
11 my ($name, $flag, $chr1, $pos1, $mq, $cigar, $chr2, $pos2, $dist, $seq, $quals, $stuff)=split(/\s+/, $line);
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
12 if($flag & 16) { #reverse-complement it
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
13 $seq=reverse($seq);
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
14 $seq=~tr/ACGT/TGCA/;
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
15 $quals=reverse($quals);
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
16 }
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
17 if($flag & 64) { #first in pair
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
18 $read1{$name}=$seq;
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
19 $qual1{$name}=$quals;
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
20 }
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
21 else {
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
22 $read2{$name}=$seq;
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
23 $qual2{$name}=$quals;
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
24 }
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
25 }
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
26
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
27 open(FQ1, ">$ARGV[0]") or die "Can't open $ARGV[0]";
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
28 open(FQ2, ">$ARGV[1]") or die "Can't open $ARGV[1]";
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
29 open(FQ3, ">$ARGV[2]") or die "Can't open $ARGV[2]";
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
30
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
31 foreach my $key(keys %read1) {
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
32
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
33 if(exists $read2{$key}) {
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
34 print FQ1 "\@$key\n$read1{$key}\n+\n$qual1{$key}\n";
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
35 print FQ2 "\@$key\n$read2{$key}\n+\n$qual2{$key}\n";
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
36 }
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
37 else {
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
38 print FQ3 "\@$key\n$read1{$key}\n+\n$qual1{$key}\n";
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
39 }
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
40 }
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
41 foreach my $key(keys %read2) {
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
42
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
43 if(!(exists $read1{$key})) {
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
44 print FQ3 "\@$key\n$read2{$key}\n+\n$qual2{$key}\n";
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
45 }
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
46 }
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
47 close(FQ1);
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
48 close(FQ2);
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
49 close(FQ3);
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
50
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
51
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
52
4a3afa90ff7f Uploaded
geert-vandeweyer
parents:
diff changeset
53