There seem to be no compilation errors, but once the filename is input, the screen just... does nothing. I have to restart the terminal to get anything done. What am I doing wrong? I'm writing a program to compare an input string against a list, and calculating occurrence and frequency of that particular element. I have the code, it's a little messy, and I would appreciate ALL the help you have. Also, why is , 'S' showing up as a highlighted + sign? Updated the while loop but the values don't seem to be incrementing, the output shows 0, 0, 0 and 1, 2 for the first column instead of showing A, C, D..
#!/usr/bin/perl-w use warnings; use diagnostics; print "Enter the file containing the amino acid sequence \n"; my $filename = <STDIN>; chomp $filename; unless (open(FILENAME, $filename)) { print "File $filename not found. Exiting program \n"; exit; } my @AASeq=<FILENAME>; my $length = @AASeq; close FILENAME; my @AAMatrix = ('A','C','D','E','F','G','H','I','K','L','M','N','P','Q +','R','S','T','V','W','Y'); my @AAOcc = (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); my @AAFreq = (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); my $i=0; my $counter=0; #Counter for the initialized matrix while ($counter<=$length) { for ($i=0; $i<=19; $i++) { if( $AASeq[$counter]=~ $AAMatrix[$i]) { ++$AAOcc[$counter]; next; } } ++$counter; } #Calculating frequency of amino acid occurrence my $x=0; for ($x=0; $x<=19; $x++) { $AAFreq[$x] = $AAOcc[$x]/$length; } #Printing out the final array print "AMINO ACID \t OCCURRENCE \t FREQUENCY "; my $y=0; for ($y=0; $y<=19; $y++) { print "$AAMAtrix [$y] \t\t $AAOcc[$y] \t\t $AAFreq[$y] \t\t\n"; }
In reply to Code won't proceed after input. by newbie1991
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |