modified: FGI/OYK.pm
[GalaxyCodeBases.git] / projects / radseq / rawfq2list.pl
blobeaaf8e8283c4ed5536816ed98cee4f18959120bb
1 #!/bin/env perl
2 use strict;
3 use warnings;
4 use integer;
6 die "Usage: $0 <fq list> <outfile>\n" if @ARGV != 2;
7 my ($in,$out)=@ARGV;
9 open IN,'<',$in or die "Error opening $in: $!\n";
10 open OUT,'>',$out or die "Error opening $out: $!\n";
12 my $i=2;
13 while (<IN>) {
14 next if /^$/;
15 ++$i;
16 chomp;
17 my $full = $_;
18 s/\.(fastq|fq)(\.gz)?$// or die "[$_]";
19 my $extra = $2;
20 my @path = split /\//;
21 my $name = pop @path;
22 #warn "$_\n[$name][@path]\n";
23 my $isRADSEQ = 'N';
24 $isRADSEQ = 'Y' if $name =~ /_NoIndex_/;
25 my $id = (split /[_-]/,$name)[2];
26 $name =~ /(_R|\.)([12])(_|.)([A-Za-z0-9])*?$/ or die "[$name]";
27 #warn "$2\n";
28 my $tmpstr = join('_',$id,($i-$2)/2).".$2";
29 #$full = `readlink -nf $full`;
30 print OUT join("\t",$tmpstr,$isRADSEQ,$full),"\n";
31 if ($isRADSEQ eq 'Y') {
32 symlink $full,"work/radseq/$tmpstr.fq$extra";
33 } else {
34 symlink $full,"work/parents/$tmpstr.fq$extra";
37 close IN;
38 close OUT;