, many errors are generated. If these are commented out, there are no errors but the output is not what i am expecting. All help is highly solicitated. Following is the code. I have written it right now only for chromosome 1, but i need to do it for all the 23 chromosomes
I am eagerly awaiting all the suggestions!Thank you for your answers. Acutally i did ahve a typo, but due to lack to readibility i missed it altogether! Now the code is working fine. I want to finally download a specific sequnece generated by the random number generator from the NCBI website or Human Genome Resource website!
#!/usr/bin/perl
use strict;
use warnings;
my $number = 50;
my $chromosome;
my $contig;
my $start;
my $end;
my @sequences;
my $accession;
my @numbers;
my %chromosome_contig;
# This part i got from the PerlMonks
my $max = 3.34166e+09;
for ( 1 .. $number ) {
my $rnd = "";
my $div = "1";
for ( 0 .. length($max)/3 ) {
$rnd .= sprintf( "%03d", int( rand( 1000 ) ) );
$div .= "000";
}
my $return = int( $max * $rnd / $div );
push (@numbers, $return);
print "@numbers"; # For later dubugging
print "\n";
# print "$return\n";
}
# This part onwards is my code
foreach my $numbers (@numbers) {
if ($numbers < 246047941){ # each number is lenght of the given ch
+romosome or contig
my($contig) = '';
$chromosome = 1 ;
print "Chromosome $chromosome\n";
if ($numbers < 167280 ) {
my $contig = 'NT_077402.1';
print "Chromosome $chromosome, contig my $contig\n";
} elsif ($numbers < 217280){
my $contig = 'gap';
print "Chromosome $chromosome but sequence in \"Gap\"\n";
} elsif ($numbers < 257582){
my $contig = 'NT_077911.1';
print "Chromosome $chromosome, contig my $contig\n";
} elsif ($numbers < 357582){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig\"\n";
} elsif ($numbers < 511231){
my $contig = 'NT_077912.1';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 561231){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
}elsif ($numbers < 852347){
my $contig = 'NT_034471.3';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 902347){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.22593e+06){
my $contig = 'NT_077913.2';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.27593e+06){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.46795e+06){
my $contig = 'NT_077914.2';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.56795e+06){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.84175e+06){
my $contig = 'NT_077915.1';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.89175e+06){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 2.42621e+06){
my $contig = 'NT_004350.16';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 2.47621e+06){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 3.60656e+06){
my $contig = 'NT_004321.15';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 3.66656e+06){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 5.09672e+06){
my $contig = 'NT_004547.16';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 5.15672e+06){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 5.53249e+06){
my $contig = 'NT_077919.2';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 5.58249e+06){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.27009e+07){
my $contig = 'NT_021937.16';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.27509e+07){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.29355e+07){
my $contig = 'NT_077382.2';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.29855e+07){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.57673e+07){
my $contig = 'NT_004873.15';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.58173e+07){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.65067e+07){
my $contig = 'NT_077920.2';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.65567e+07){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.73573e+07){
my $contig = 'NT_030584.10';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.74073e+07){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 2.24061e+07){
my $contig = 'NT_077921.1';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 2.24561e+07){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 2.74548e+07){
my $contig = 'NT_004610.16';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 2.75048e+07){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 2.88694e+07){
my $contig = 'NT_077383.3';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 2.89194e+07){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 2.90985e+07){
my $contig = 'NT_077922.2';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 2.91485e+07){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 2.92333e+07){
my $contig = 'NT_077384.1';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 2.92833e+07){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 3.2138e+07){
my $contig = 'NT_037485.3';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 3.2288e+07){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 3.33489e+07){
my $contig = 'NT_004538.15';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 3.33539e+07){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 3.84657e+07){
my $contig = 'NT_004511.16';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 3.85157e+07){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 3.88138e+07){
my $contig = 'NT_079482.1';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 3.89138e+07){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 7.57044e+07){
my $contig = 'NT_032977.6';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 7.57094e+07){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 8.86492e+07){
my $contig = 'NT_026943.13';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 8.86992e+07){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 9.23759e+07){
my $contig = 'NT_004686.16';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 9.23809e+07){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.04335e+08){
my $contig = 'NT_028050.13';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.04385e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.0936e+08){
my $contig = 'NT_029860.11';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.0941e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.16488e+08){
my $contig = 'NT_019273.16';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.16538e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.2115e+08){
my $contig = 'NT_004754.15';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.4144e+08){
my $contig = 'GAP';
print "Chromosome $chromosome, contig \"my $contig\"\n";
}elsif ($numbers < 1.41636e+08){
my $contig = 'NT_077387.2';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.41686e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.41852e+08){
my $contig = 'NT_022052.2';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.41902e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.42081e+08){
my $contig = 'NT_077988.2';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.42131e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.42242e+08){
my $contig = 'NT_022071.12';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.42292e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.42494e+08){
my $contig = 'NT_077930.1';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.42644e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.43046e+08){
my $contig = 'NT_077389.2';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.43096e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.43222e+08){
my $contig = 'NT_077931.2';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.43272e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.434e+08){
my $contig = 'NT_077932.2';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.4345e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.4362e+08){
my $contig = 'NT_077933.1';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.4367e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.44669e+08){
my $contig = 'NT_004434.16';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.44719e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.45001e+08){
my $contig = 'NT_034398.4';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.45051e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.4604e+08){
my $contig = 'NT_034400.2';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.4649e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.46831e+08){
my $contig = 'NT_077936.2';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.46981e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.47153e+08){
my $contig = 'NT_079483.1';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.47203e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.47424e+08){
my $contig = 'NT_034401.5';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.47474e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.47783e+08){
my $contig = 'NT_034403.3';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.47833e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.51824e+08){
my $contig = 'NT_032962.5';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.51874e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.59739e+08){
my $contig = 'NT_079484.1';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.59789e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.69248e+08){
my $contig = 'NT_004668.16';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.69298e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.8699e+08){
my $contig = 'NT_004487.16';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.8704e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.88508e+08){
my $contig = 'NT_004671.15';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.88558e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.90908e+08){
my $contig = 'NT_034410.5';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.91358e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 1.91378e+08){
my $contig = 'NT_079485.1';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 1.91428e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 2.08083e+08){
my $contig = 'NT_021877.16';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 2.08133e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 2.08556e+08){
my $contig = 'NT_077939.1';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 2.08606e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 2.14861e+08){
my $contig = 'NT_004559.11';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 2.14911e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 2.17166e+08){
my $contig = 'NT_021973.16';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 2.17216e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 2.20041e+08){
my $contig = 'NT_004433.16';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 2.20091e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 2.32545e+08){
my $contig = 'NT_004836.15';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 2.3255e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 2.3256e+08){
my $contig = 'NT_077941.1';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 2.32565e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 2.3338e+08){
my $contig = 'NT_031730.8';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 2.3343e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} elsif ($numbers < 2.33634e+08){
my $contig = 'NT_077390.2';
print "Chromosome $chromosome, contig my $cont
+ig\n";
} elsif ($numbers < 2.33684e+08){
my $contig = "gap";
print "Chromosome $chromosome, contig \"$conig
+\"\n";
} else {
my $contig = 'NT_032968.6';
print "Chromosome $chromosome, contig my $cont
+ig\n";
}
} elsif ( $numbers < 4.89464e+08 ){
print $numbers;
print "belongs to chromosome 2\n";
} elsif ( $numbers < 6.90124e+08) {
print "Belongs to Chromosome 3\n";
} elsif ( $numbers < 8.81846e+08) {
print "Belongs to Chromosome4\n";
}elsif ( $numbers < 1.06286e+09) {
print "Belongs to Chromosome 5\n";
} elsif ( $numbers < 1.23377e+09) {
print "Belongs to Chromosome 6\n";
} elsif ( $numbers < 1.39232e+09) {
print "Belongs to chromosome 7\n";
} elsif ( $numbers < 1.53863e+09) {
print "Belongs to chromosome 8\n";
} elsif ( $numbers < 1.675e+09) {
print "Belongs to Chromosome 9\n";
} elsif ( $numbers < 1.81004e+09) {
print "Belongs to Chromosome 10\n";
} elsif ( $numbers < 1.94452e+09) {
print "Belongs to Chromosome 11\n";
} elsif ( $numbers < 2.07654e+09) {
print "Belongs to Chromosome 12\n";
} elsif ( $numbers < 2.18957e+09) {
print "Belongs to Chromosome 13\n";
} elsif ( $numbers < 2.29483e+09) {
print "Belongs to Chromosome 14\n";
} elsif ( $numbers < 2.39508e+09) {
print "Belongs to Chromosome 15\n";
} elsif ( $numbers < 2.48512e+092) {
print "Belongs to Chromosome 16\n";
} elsif ( $numbers < 2.56686e+09) {
print "Belongs to Chromosome 17\n";
} elsif ( $numbers < 2.64298e+09) {
print "Belongs to Chromosome 18\n";
} elsif ( $numbers < 2.70679e+09) {
print "Belongs to Chromosome 19\n";
} elsif ( $numbers < 2.77048e+09) {
print "Belongs to Chromosome 20\n";
} elsif ( $numbers < 2.81745e+09) {
print "Belongs to Chromosme 21\n";
} elsif ( $numbers < 2.86683e+09) {
print "Belongs to Chromosome 22\n";
} elsif ( $numbers < 3.02052e+09) {
print "Belongs to Chromosome X\n";
} elsif ( $numbers < 3.07081e+09){
print "Belongs to Chromosome Y\n";
}
}
I am eagerly awaiting all the suggestions!Thank you for your answers. Acutally i did ahve a typo, but due to lack to readibility i missed it altogether! Now the code is working fine. I want to finally download a specific sequnece generated by the random number generator from the NCBI website or Human Genome Resource website!