while(read($fh, $buffer, BUFFER_SIZE)) #Write content to OUTPUT file #### #!/usr/bin/perl -w use strict; use CGI; use Fcntl qw(:DEFAULT :flock); #SUB error needs to be completed print "Content-type:text/html\n\n"; #Declaring constants use constant UPLOAD_DIR => "/tmp/"; use constant MAX_FILE_SIZE => 1_048_576; #Limit each upload to 1MB use constant MAX_OPEN_TRIES => 100; use constant BUFFER_SIZE => 16_384; # New object $CGI::POSTMAX = MAX_FILE_SIZE; my $query = new CGI; $query->cgi_error and error($query, "Error transferring file: " . $query->cgi_error ); my $file = $query->param('fname')|| error ($query, "No file received."); my $fh = $query->upload("$file"); my $buffer = ""; my $filename = ""; my @annotation = ""; my @list = ""; $query->header(); $query->start_html(); $query->startform(); ################# IF file has been uploaded ############################# if($file) { $file =~ s/[^\w.-]/_/g; #Rectifying the string for name of the file if($file=~ /^(\w[\w.-]*)/) { $file = $1; } else { error($query, "Invalid file name; file must start with a letter or number."); } until (sysopen OUTPUT, UPLOAD_DIR . $file,O_CREAT|O_EXCL ) { $file =~ s/(\d*)(\.\w+)$/($1||0)+1 .$2/e; $1 >= MAX_OPEN_TRIES and error ($query, "Unable to save your file"); } while(read($fh, $buffer, BUFFER_SIZE)) #Write content to OUTPUT file { print OUTPUT $buffer; } close OUTPUT; # $filename = $file.'.'.'fasta'; $filename = $file; # if($format eq "embl") # { #embl_fasta(); # } # elsif($format eq "genbank") # { #genbank_fasta(); # } open(IN,"UPLOAD_DIR/$filename")||die error($query, "cant open from UPLOAD dir"); my $one = 0; my $header; my $prevhead; my $sequence; #reading the genome sequence my $x=1; while() { my $seqline = $_; $seqline =~ s/\n//g; if($seqline =~ /^>/g) { if($one == 0) { $header = $seqline; $prevhead = $header; $sequence = ''; $one++; next; } else { $header = $seqline; $annotation[$x]=$prevhead; $list[$x]=$sequence; $x++; $prevhead = $header; $sequence = ''; next; } }#end if $seqline $sequence = $sequence.$seqline; $sequence =~ s/\s//g; }#end while close(IN); $annotation[$x]=$prevhead; $list[$x]=$sequence; } # If Sequence has been uploaded ################# Opening of each sequence ############################### my $z=0; for my $name(@annotation) { my $sequence=""; $sequence = $list[$z]; print "$name\t$sequence\n"; $z++; print $query->p("$sequence"); print "

PROMOTER PREDICTION AT A SENSITIVITY LEVEL



"; print " "; print " Sequence ID :   $sequence
"; print "
RESULTS

"; print "
"; print "

FORWARD STRAND


"; print "
"; } $query->endform(); $query->end_html(); sub error { my ($q, $reason)=@_; print $q -> header ("text/html"), $q -> start_html ("Error"), $q -> h1 ("Error"), $q->p("following err::"), $q->p($q->i($reason)), $q-> end_html; exit; } ##
## Promen

PromEn: Promoter prediction using energy differences 

 

Upload the sequence file #### >EMBOSS_001 gagccggaacaaattgaacaatcctacgccagctgccaaccgtggccggagcaggtggta ttagatggggaacgtgaaacgttaggcctgtacctgaccggacaccctatcaaccagtat ttaaaagagattgagcgttatgtcggaggcgtaaggctgaaagacatgcacccgacagaa cgtggtaaagtcatcacggctgcggggctcgttgttgccgcgcgggttatggtcaccaag cgcggcaatcgtatcggtatctgcacgctggatgaccgttccgggcggctggaagtgatg ttgtttactgacgccctggataaataccagcaattgctggaaaaagaccgcatacttatc gtcagcggacaggtcagctttgatgacttcagcggtgggcttaaaatgaccgctcgcgaa gtgatggatattgacgaagcccgggaaaaatatgctcgcgggcttgctatctcgctgacg gacaggcaaattgatgaccagcttttaaaccgactccgtcagtctctggaaccccaccgc tctgggacaattccagtacatctctactatcagagggcggatgcacgcgcgcggttgcgt tttggcgcgacgtggcgtgtctctccgagcgatcgtttattaaacgatctccgtggcctc attggttcggagcaggtggaactggagtttgactaatacaggaatactatgagtctgaat ttccttgattttgaacagccgattgcagagctggaagcgaaaatcgattctctgactgcg gttagccgtcaggatgagaaactggatattaacatcgatgaagaagtgcatcgtctgcgt gaaaaaagcgtagaactgacacgtaaaatcttcgccgatctcggtgcatggcagattgcg caactggcacgccatccacagcgtccttataccctggattacgttcgcctggcatttgat gaatttgacgaactggctggcgaccgcgcgtatgcagacgataaagctatcgtcggtggt atcgcccgtctcgatggtcgtccggtgatgatcattggtcatcaaaaaggtcgtgaaacc aaagaaaaaattcgccgtaactttggtatgccagcgccagaaggttaccgcaaagcactg cgtctgatgcaaatggctgaacgctttaagatgcctatcatcacctttatcgacaccccg ggggcttatcctggcgtgggcgcagaagagcgtggtcagtctgaagccattgcacgcaac ctgcgtgaaatgtctcgcctcggcgtaccggtagtttgtacggttatcggtgaaggtggt