[Bioperl-l] Possible memory leak in
Bio::SeqFeature::Gene::GeneStructure?
Stefan Kirov
skirov at utk.edu
Tue Mar 29 16:14:21 EST 2005
I am working on the Entrezgene parser and tried to use
Bio::SeqFeature::Gene::GeneStructure to describe NC/NT to NM and NP
relationships. I am pretty much done with the parser (based on Mingyi
Liu low lovel parser), but once I tried to parse a whole file (Homo
sapiens) I ran out of memory. I think the problem might be
Bio::SeqFeature::Gene::GeneStructure::add_Transcript.
Here is the code which I used to simulate the problem and the resulting
report file. It seams adding Bio::SeqFeature::Gene::Exon to
Bio::SeqFeature::Gene::Transcript do not contribute to the problem.
Any suggestions?
Stefan
-------------- next part --------------
Simulation 2 0MB
Simulation 3 1MB
Simulation 4 1MB
Simulation 5 1MB
Simulation 6 2MB
Simulation 7 2MB
Simulation 8 2MB
Simulation 9 2MB
Simulation 10 3MB
Simulation 11 3MB
Simulation 12 3MB
Simulation 13 4MB
Simulation 14 4MB
Simulation 15 4MB
Simulation 16 5MB
Simulation 17 5MB
Simulation 18 5MB
Simulation 19 5MB
Simulation 20 6MB
Simulation 21 6MB
Simulation 22 6MB
Simulation 23 7MB
Simulation 24 7MB
Simulation 25 7MB
Simulation 26 8MB
Simulation 27 8MB
Simulation 28 8MB
Simulation 29 9MB
Simulation 30 9MB
Simulation 31 9MB
Simulation 32 9MB
Simulation 33 10MB
Simulation 34 10MB
Simulation 35 10MB
Simulation 36 11MB
Simulation 37 11MB
Simulation 38 11MB
Simulation 39 12MB
Simulation 40 12MB
Simulation 41 12MB
Simulation 42 13MB
Simulation 43 13MB
Simulation 44 13MB
Simulation 45 13MB
Simulation 46 14MB
Simulation 47 14MB
Simulation 48 14MB
Simulation 49 15MB
Simulation 50 15MB
Simulation 51 15MB
Simulation 52 16MB
Simulation 53 16MB
Simulation 54 16MB
Simulation 55 16MB
Simulation 56 17MB
Simulation 57 17MB
Simulation 58 17MB
Simulation 59 18MB
Simulation 60 18MB
Simulation 61 18MB
Simulation 62 19MB
Simulation 63 19MB
Simulation 64 19MB
Simulation 65 19MB
Simulation 66 20MB
Simulation 67 20MB
Simulation 68 20MB
Simulation 69 21MB
Simulation 70 21MB
Simulation 71 21MB
Simulation 72 22MB
Simulation 73 22MB
Simulation 74 22MB
Simulation 75 23MB
Simulation 76 23MB
Simulation 77 23MB
Simulation 78 24MB
Simulation 79 24MB
Simulation 80 24MB
Simulation 81 24MB
Simulation 82 25MB
Simulation 83 25MB
Simulation 84 25MB
Simulation 85 26MB
Simulation 86 26MB
Simulation 87 26MB
Simulation 88 27MB
Simulation 89 27MB
Simulation 90 27MB
Simulation 91 27MB
Simulation 92 28MB
Simulation 93 28MB
Simulation 94 28MB
Simulation 95 29MB
Simulation 96 29MB
Simulation 97 29MB
Simulation 98 30MB
Simulation 99 30MB
Simulation 100 30MB
6620 6650
-------------- next part --------------
use Bio::SeqFeature::Gene::Exon;
use Bio::SeqFeature::Gene::Transcript;
use Bio::SeqFeature::Gene::GeneStructure;
use strict;
use Devel::Cycle;
my ($prevmem,$growth,$first);
for my $k (1..100) {
open (FREE, "free -m|");
my $buf=<FREE>;
my $buf=<FREE>;
my ($x1,$x2,$mem,$x3)=split(/\s+/,$buf,4);
if ($prevmem) {
$growth+= $mem-$prevmem;
print "Simulation $k\t$growth","MB\n";
}
else { $first=$mem;}
$prevmem=$mem;
for my $i (1..20) {
my $gstruct=new Bio::SeqFeature::Gene::GeneStructure;
for my $n (0..3) {
my $transcript=new Bio::SeqFeature::Gene::Transcript(-primary=>'memleak'.$n,
-start=>1,-end=>2000,-strand=>, -desc=>'test for memmory leaks');
foreach my $e (1.10) {
my $exonobj=new Bio::SeqFeature::Gene::Exon(-start=>$e*10,-end=>$e*10+9,-strand=>1);
$transcript->add_exon($exonobj);
}
$gstruct->add_transcript($transcript);
}
}
}
print "$first\t$prevmem\n";
More information about the Bioperl-l
mailing list