Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^11: how to access elements in perl

by BrowserUk (Pope)
on May 13, 2014 at 11:52 UTC ( #1085893=note: print w/ replies, xml ) Need Help??


in reply to Re^10: how to access elements in perl
in thread how to access elements in perl

it gives output starting from 289 - 489.. but not from 0 - 199.

Hm. If you look at the output I posted above, my code outputs the counts for 0 - 199, 1 - 200, 2 - 201, ...

So what did you change? (Post your current version of the code and don't forget the <code></code> tags.)


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.


Comment on Re^11: how to access elements in perl
Download Code
Re^12: how to access elements in perl
by grewal7634 (Novice) on May 14, 2014 at 04:07 UTC

    Check this code : This code gives me output starting from range: 39761 .. 39960 rather than 0-200. And one more thing it shows G+C and GC percentage as such as i given in the code, i want the total of G+C e.g. 30+40= 70 rather than 30+40.

      You need to read and understand the documentation on printf. (Click the preceding link and read.)

      You might consider taking a Perl programming course or at least buying or borrowing a book.

      Try this free, online Perl Pprogramming book for beginners.


      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

        hey i have a code (given below) which counts A,T,G,C and GC,and GC percentage in between 0-200, 1-201, 2-202 regions. But i have to count a lenghty sequence upto 10,000 basepairs, so this would be very lenghty and less efficient. What modification can i do in this code so that it can automateically count upto 10,000 bases.

        #!/usr/bin/perl use warnings;my$seq;my$file;my$line;my$len;my@seq; print "Select the region where you want to find CpG Island\n"; print "1. Region 1-200\n"; print "2. Region 2-202\n"; print "3. Region 3-203\n"; $choice =<STDIN>; chomp($choice); if($choice == 1){ &region1; } if($choice == 2){ &region2; } if($choice == 3){ &region3; } sub region1 { $file = 'd:\perl\1.txt'; open(INPUT, $file) or die ("File not found"); foreach($line = <INPUT>){ $a = substr($line,0,200) =~tr/A//; $t = substr($line,0,200) =~tr/T//; $g = substr($line,0,200) =~tr/G//; $c = substr($line,0,200) =~tr/C//; $cg = substr($line,0,200) =~tr/ CG //; $total = substr($line,0,200) =~tr/ATGC//; } $CpG = ($cg)/$total*100; print"Count of A = $a\n"; print"Count of T = $t\n"; print"Count of G = $g\n"; print"Count of C = $c\n"; print"CG = $cg\n"; print"total count of ATGC = $total\n"; print"CpG percentage = $CpG\n"; if ($CpG>=60){ print"CpG present";} else{ print"CpG absent";} } sub region2 { $file = 'd:\perl\1.txt'; open(INPUT, $file) or die ("File not found"); foreach($line = <INPUT>){ $a = substr($line,1,201) =~tr/A//; $t = substr($line,1,201) =~tr/T//; $g = substr($line,1,201) =~tr/G//; $c = substr($line,1,201) =~tr/C//; $total = substr($line,1,201) =~tr/ATGC//; } $CpG = ($g+$c)/$total*100; regarding perl,So i need your help for the same. print"Count of A = $a\n"; print"Count of T = $t\n"; print"Count of G = $g\n"; print"Count of C = $c\n"; print"total count of ATGC = $total\n"; print"CpG percentage = $CpG\n"; if ($CpG>=60){ print"CpG present";} else{ print"CpG absent";} } sub region3 { $file = 'd:\perl\1.txt'; open(INPUT, $file) or die ("File not found"); foreach($line = <INPUT>){ $a = substr($line,2,203) =~tr/A//; $t = substr($line,2,203) =~tr/T//; $g = substr($line,2,203) =~tr/G//; $c = substr($line,2,203) =~tr/C//; $total = substr($line,2,203) =~tr/ATGC//; } $CpG = ($g+$c)/$total*100; print"Count of A = $a\n"; print"Count of T = $t\n"; print"Count of G = $g\n"; print"Count of C = $c\n"; print"total count of ATGC = $total\n"; print"CpG percentage = $CpG\n"; if ($CpG>=60){ print"CpG present";} else{ print"CpG absent";} }

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1085893]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (10)
As of 2015-07-06 21:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (83 votes), past polls