Exercise 6.2
Jump to navigation
Jump to search
Return to Week 3 Exercise 6.2 in Beginning Perl for Bioinformatics
I'm having trouble with this one!!
#!/usr/bin/perl use warnings; use strict; #Erika Phelps #28 Sept 2009 #Exercise 6.2 #Pseudocode: #Ask for a DNA sequence from the user. #Determine the length of the DNA sequence. #Use a subroutine to calculate the percentage of each base. #Print out the returned values. #Define variables my $DNA = 0; my $A = "A"; my $T = "T"; my $G = "G"; my $C = "C"; my $Ap = 0; my $Tp = 0; my $Gp = 0; my $Cp = 0; #Obtain DNA sequence from user. print "Please input your DNA sequence:\n"; $DNA = <STDIN>; chomp $DNA; #Call the subroutine for each base #The result is saved in the string for each base $Ap = percentATGC($DNA, $A); $Tp = percentATGC($DNA, $T); $Gp = percentATGC($DNA, $G); $Cp = percentATGC($DNA, $C); #Return the values print "The percentage of each base in your sequence is as follows:\n"; print "A = $Ap% \n"; print "T = $Tp% \n"; print "G = $Gp% \n"; print "C = $Cp% \n\n"; exit; #################### #Subroutine# #################### sub percentATGC { #Initialize arguments and variables my($DNA,$base) = @_; #Define variables my $count = 0; my $countT = 0; my $countG = 0; my $countC = 0; my $length = 0; print "This is dna $DNA\n"; print "this is base $base\n"; #Obtain a count of each base $count = (eval($DNA =~ tr/$base//)); # $countT = ($DNA =~ tr/Tt//); # $countG = ($DNA =~ tr/Gg//); # $countC = ($DNA =~ tr/Cc//); #Determine the length of the DNA sequence # $length = ($DNA =~ tr/ATGCatgc//); # my $value = $count/$length*100; return $count; # return $value; }