[Bio] / Kmers2 / mk-partition.pl Repository:
ViewVC logotype

Annotation of /Kmers2/mk-partition.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (view) (download) (as text)

1 : olson 1.1 use strict;
2 :     use File::Copy;
3 :    
4 :     =head1 NAME
5 :    
6 :     mk-partition
7 :    
8 :     =head1 SYNOPSIS
9 :    
10 :     mk-partition [dna|protein] partition-dir definition-file [definition-file ...]
11 :    
12 :     =head1 DESCRIPTION
13 :    
14 :     Create a partition directory in C<partition-dir>.
15 :    
16 :     Creates a file tag.index that contains the tags from the first line of the
17 :     list of C<definition-file>s.
18 :    
19 :     Create directories set.N where N corresponds to the tag indices.
20 :    
21 :     Into set.N put the definition file.
22 :    
23 :     =cut
24 :    
25 :     @ARGV >= 3 or die "Usage: mk-partition [dna|protein] partition-dir def-file [def-file...]\h";
26 :    
27 :     my $type = shift;
28 :     my $dir = shift;
29 :     my @defs = @ARGV;
30 :    
31 :     -d $dir and die "Partition dir $dir already exists\n";
32 :    
33 :     mkdir($dir) or die "Cannot mkdir $dir: $!";
34 :    
35 :     open(F, ">", "$dir/type") or die "Cannot write $dir/type: $!";
36 :     print F "$type\n";
37 :     close(F);
38 :    
39 :     open(I, ">", "$dir/tag.index") or die "Cannot write $dir/tag.index: $!";
40 :    
41 :     my $id = 1;
42 :     for my $def (@ARGV)
43 :     {
44 :     my $p = "$dir/set.$id";
45 :     mkdir($p) or die "Cannot mkdir $p: $!";
46 :    
47 :     open(DOUT, ">", "$p/definition") or die "Cannot create $p/definition: $!";
48 :    
49 :     open(D, "<", $def) or die "Cannot open $def: $!";
50 :     my $tag = <D>;
51 :     chomp $tag;
52 :     print I "$id\t$tag\n";
53 :    
54 :     print DOUT "$tag\n";
55 :    
56 :     while (<D>)
57 :     {
58 :     chomp;
59 :     if (! -f $_)
60 :     {
61 :     die "File $_ from $def does not exist\n";
62 :     }
63 :     print DOUT "$_\n";
64 :     }
65 :     close(D);
66 :     close(DOUT);
67 :    
68 :     $id++;
69 :     }
70 :     close(I);

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3