[Bio] / FigKernelScripts / align_with_clustal.pl Repository:
ViewVC logotype

Annotation of /FigKernelScripts/align_with_clustal.pl

Parent Directory Parent Directory | Revision Log Revision Log


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

1 : efrank 1.1 # -*- perl -*-
2 :    
3 :     use Carp;
4 :     use Data::Dumper;
5 :     use tree_utilities;
6 :     use FIG;
7 :    
8 :     my $fig = new FIG;
9 :    
10 :     $| = 1;
11 :    
12 :     # usage: align_with_clustal Id1 Id2 ...
13 :    
14 :     (@ARGV > 1) || die "usage: align_with_clustal [-tree] Id1 Id2 ... ";
15 :    
16 :     my $temp_dir = $FIG_Config::temp;
17 :     my $file = "$temp_dir/tmp$$";
18 :     my $relabel = {};
19 :    
20 :     if ($ARGV[0] =~ /-tree/)
21 :     {
22 :     $tree = 1;
23 :     shift @ARGV;
24 :     }
25 :    
26 :     open(TMP,">$file.fasta") || die "could not open $file";
27 :     foreach $id (@ARGV)
28 :     {
29 : overbeek 1.2 next if ($seen{$id});
30 : efrank 1.1 if ($seq = $fig->get_translation($id))
31 :     {
32 : overbeek 1.2 $seen{$id} = 1;
33 : efrank 1.1 print TMP ">$id\n$seq\n";
34 :     $func = $fig->function_of($id);
35 :     $relabel->{$id} = "$id: $func";
36 :     }
37 :     else
38 :     {
39 :     print STDERR "could not find translation for $id\n";
40 :     }
41 :     }
42 :     close(TMP);
43 :    
44 :     system "$FIG_Config::ext_bin/clustalw -infile=$file.fasta -align -outorder=aligned > /dev/null";
45 :     print `cat $file.aln`;
46 :     if ($tree)
47 :     {
48 :     print "=======================================================================\n\n\n";
49 :     $tree = "";
50 :    
51 :     if (-s "$file.dnd")
52 :     {
53 :     @treefile = `cat $file.dnd`;
54 :     if (@treefile && ($tree = &parse_newick_tree(join("",@treefile))))
55 :     {
56 :     $tree = &display_tree($tree,$relabel);
57 :     }
58 :     }
59 :     print "$tree\n";
60 :     }
61 :    
62 :     unlink("$file.fasta","$file.aln","$file.dnd");

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3