annotate CountUniqueIDs.pl @ 4:328b631f7e94 draft default tip

Version 1.0.2 (updates required bioperl to 1.7.2)
author pjbriggs
date Fri, 05 Oct 2018 03:22:23 -0400
parents b4e22d2d7fa7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
1 #! /usr/bin/perl -w
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
2
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
3 use strict;
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
4
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
5 #### Read thru a GFF file of motifs return the number of unique ids
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
6 #### Ian Donaldson Sept 2008
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
7
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
8 #### Usage
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
9 unless(@ARGV == 2) {
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
10 die("USAGE: $0 | GFF file | Output file\n\n");
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
11 }
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
12
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
13 #### Ready output file
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
14 open(GFF, "<$ARGV[0]") or die("Could not open GFF file!!\n\n");
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
15 open(OUTPUT, ">$ARGV[1]") or die("Could not open output file!!\n\n");
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
16
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
17 #### Hash to hold ids
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
18 my %id_hash = ();
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
19
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
20 #### Work thru GFF file
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
21 while(defined(my $gff_line = <GFF>)) {
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
22 if($gff_line =~ /(^#|^\s)/) { next }
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
23
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
24 my @gff_line_bits = split(/\t/, $gff_line);
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
25
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
26 my $id = $gff_line_bits[0];
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
27
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
28 $id_hash{$id}=1;
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
29 }
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
30
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
31 my @all_keys = sort(keys(%id_hash));
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
32
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
33 my $elements = scalar(@all_keys);
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
34
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
35 #print OUTPUT "There are $elements unique sequences in the file\n";
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
36 print OUTPUT "$elements non-redundant sequences\n";
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
37
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
38 #### Close files
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
39 close(GFF);
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
40 close(OUTPUT);
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
41
b4e22d2d7fa7 Add missing Perl scripts from previous uploads.
pjbriggs
parents:
diff changeset
42 exit;