#!/bin/perl -w use strict; use CGI qw(:standard); opendir IRESDIR, "/export/home/sylvia/ires"; my @iresdir = readdir IRESDIR; foreach my $dir (@iresdir) { push (my @dirlist, $dir); } closedir IRESDIR; foreach my $subdir (my @dirlist) { unless ( $subdir =~ /\.+/ ) { opendir SUBDIR, "/export/home/sylvia/ires/$subdir"; my @filelist = readdir SUBDIR; chdir "/export/home/sylvia/ires/$subdir"; foreach my $file (@filelist) { open IRESFILE, $file; while () { if ( $_ =~ /^>gi\|(\d+).*/ ){ push (GILIST, $1); } } close IRESFILE; } closedir SUBDIR; } } ##### use Bio::Seq; use Bio::DB::GenBank; # creates a general "Sequence object called gb" my $gb = new Bio::DB::GenBank(); my %specieslist; my $q = new CGI; print $q->header, $q->start_html( -title => "IRES Elements in Species", -bgcolor =>"#ffffcc" ), $q->h2( "IRES Elements Classified by Species" ), $q->hr; # creates a specific Sequence object called seq1 foreach my $entry (my @GILIST) { my $seq1 = $gb->get_Seq_by_acc("$entry") || die "$entry is not a real accession number.\n"; my $speciesname = $seq1->species->common_name; unless ($speciesname eq $specieslist{$entry}) { $specieslist{$entry} = $speciesname; print p ("Gi# $entry is a $specieslist{$entry} nucleotide sequence.\n"); } } print $q->end_html;