Is there any discernible improvement in this?
##Invoking subroutines
HashSequences();
SpecifySeqLengths(my $id, my %seq);
## Open file. Hash sequences. Make the sequence IDs the keys to their
## respective (hashed) sequences.
sub HashSequences{
open F, "human_hg19_circRNAs_putative_spliced_sequence.fa", or die
+ $!;
my %seq = ();
my $id = '';
while (<F>){
chomp;
if ($_ =~ /^>(.+)/){
$id = $1;
}else{
$seq{$id} .= $_;
}
}
close F;
return (%seq, $id);
}
## Request sequence length desired. Sieve sequences of given length in
+to
## arrays. Create file containing desired sequences.
sub SpecifySeqLengths{
print "Enter Max sequence length: \n";
my $maxlength = <STDIN>;
chomp $maxlength;
print "Enter Min sequence length: \n";
my $minlength = <STDIN>;
chomp $minlength;
my @seqarray;
foreach $id (keys %seq){
if ((length$seq{$id} <= $maxlength) && (length$seq{$id} >= $mi
+nlength)){
push @seqarray, $id;
}
}
for $id (@seqarray){
if (-f $id){print $id, " already exists. It is about to be ove
+rwritten"};
open new_F, '>>', "SeqLength_$minlength-$maxlength", or die$!;
print new_F ($id."\n".$seq{$id}."\n");
close new_F;
}
}