Bio::EnsEMBL::Utils SeqRegionCache
SummaryPackage variablesSynopsisDescriptionGeneral documentationMethods
Toolbar
WebCvsRaw content
Summary
Bio::EnsEMBL::Utils::SeqRegionCache - A shared LRU cache of information about
seq_regions
Package variables
No package variables defined.
Included modules
Bio::EnsEMBL::Utils::Cache
Synopsis
  use Bio::EnsEMBL::DBSQL::DBAdaptor;
$db = Bio::EnsEMBL::DBSQL::DBAdaptor->new(...); $seq_region_cache = $db->get_SeqRegionCache(); $key = "$seq_region_name:$coord_system_id"; $array = $seq_region_cache->{$key}; if ($array) { $name = $array->[1]; $length = $array->[3]; } else { # cache miss, get the info from the database # ... # cache the retrieved information $seq_region_cache->{$key} = [ $seq_region_id, $seq_region_name, $coord_system_id, $seq_region_length ]; }
Description
This module is simply a convenient place to put a cache of sequence
region information which is shared by several adaptors for a given
database.
Methods
new
No description
Code
Methods description
None available.
Methods code
newdescriptionprevnextTop
sub new {
  my $class = shift;

  my %id_cache;
  my %name_cache;

  #
# the items to cache should be listrefs to
# [ sr_id, sr_name, cs_id, sr_length ]
#
# The name cache key is "sr_name:cs_id"
# The id cache is keyed on "sr_id"
#
tie(%name_cache, 'Bio::EnsEMBL::Utils::Cache', $SEQ_REGION_CACHE_SIZE); tie(%id_cache, 'Bio::EnsEMBL::Utils::Cache', $SEQ_REGION_CACHE_SIZE); return bless {'name_cache' =>\% name_cache, 'id_cache' =>\% id_cache}, $class; } 1;
}
General documentation
LICENSETop
  Copyright (c) 1999-2009 The European Bioinformatics Institute and
Genome Research Limited. All rights reserved.
This software is distributed under a modified Apache license. For license details, please see /info/about/code_licence.html
CONTACTTop
  Please email comments or questions to the public Ensembl
developers list at <ensembl-dev@ebi.ac.uk>.
Questions may also be sent to the Ensembl help desk at <helpdesk@ensembl.org>.