Regarding this I have actually written a longish program, I actually need to add one more nested loop in each elsif loop, I am pasting the code for reference. If there is a easier way out Please tell me
#!/usr/bin/perl use strict; #use warnings; use BeginPerlBioinfo; srand ($$|time); my $contig; # This program will download the sequences from a given organism my $organism; print "Give the organism from where you want to download the sequences +:\n"; $organism = <STDIN>; chomp $organism; #print "Give number of sequences to be generated"; #print "\n"; my $number = 10; #chomp $number; my @numbers = (1 .. $number); foreach my $numbers(@numbers){ if ($organism eq 'Homo Sapien'){ my @chromosomes = qw\1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 + 18 19 20 21 22 'X' 'Y'\; # pick a random chromosome from the chromosomes in humans my $chromosome = random_element(@chromosomes); #my $contig; print "Chromosome $chromosome\n"; # pick up a contig randomly from the number of contigs present + in each given chromosome # This is one more loop if ( my $chomosome eq '1'){ my @contigs = (1 .. 30); my $contig = random_element(@contigs); } elsif ($chromosome eq '2'){ my @contigs = (1 .. 28); my $contig = random_element(@contigs); } elsif ($chromosome eq '3'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } elsif ($chromosome eq '4'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } elsif ($chromosome eq '5'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } elsif ($chromosome eq '6'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } elsif ($chromosome eq '7'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } elsif ($chromosome eq '8'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } elsif ($chromosome eq '9'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } elsif ($chromosome eq '10'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } elsif ($chromosome eq '11'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } elsif ($chromosome eq '12'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } elsif ($chromosome eq '13'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } elsif ($chromosome eq '14'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } elsif ($chromosome eq '15'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } elsif ($chromosome eq '16'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } elsif ($chromosome eq '17'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } elsif ($chromosome eq '18'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } elsif ($chromosome eq '19'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } elsif ($chromosome eq '20'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } elsif ($chromosome eq '21'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } elsif ($chromosome eq '22'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } elsif ($chromosome eq 'X'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs) } elsif ($chromosome eq 'Y'){ my @contigs = (1 .. 25); my $contig = random_element(@contigs); } print " Contig $contig \n"; } } ################ # ############## # random_element # # Sub routine thta picks up random element from a given array sub random_element{ my @array = @_; return $array [rand @array]; }
janitored by ybiC: Balanced <readmore> tags around longish codeblock, especially for frontpaged root node. Also wee tiny format tweaks for legibility.
In reply to What is the limit of random number that can be selected by Sameet
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |