LICENSE
Copyright [1999-2015] Wellcome Trust Sanger Institute and the EMBL-European Bioinformatics Institute Copyright [2016-2024] EMBL-European Bioinformatics Institute
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
CONTACT
Please email comments or questions to the public Ensembl
developers list at <http://lists.ensembl.org/mailman/listinfo/dev>.
Questions may also be sent to the Ensembl help desk at
<http://www.ensembl.org/Help/Contact>.
NAME
Bio::EnsEMBL::DBSQL::DensityFeatureAdaptor
SYNOPSIS
my $dfa = $database_adaptor->get_DensityFeatureAdaptor();
my $interpolate = 1;
my $blocks_wanted = 50;
@dense_feats = @{
$dfa->fetch_all_by_Slice( $slice, 'SNPDensity', $blocks_wanted,
$interpolate );
}
DESCRIPTION
Density Feature Adaptor - An adaptor responsible for the creation of density features from the database.
METHODS
new
Arg [1] : list of args @args
Superclass constructor arguments
Example : none
Description: Constructor which just initializes internal cache structures
Returntype : Bio::EnsEMBL::DBSQL::DensityFeatureAdaptor
Exceptions : none
Caller : implementing subclass constructors
Status : Stable
fetch_all_by_Slice
Arg [1] : Bio::EnsEMBL::Slice $slice - The slice representing the region
to retrieve density features from.
Arg [2] : string $logic_name - The logic name of the density features to
retrieve.
Arg [3] : int $num_blocks (optional; default = 50) - The number of
features that are desired. The ratio between the size of these
features and the size of the features in the database will be
used to determine which database features will be used.
Arg [4] : boolean $interpolate (optional; default = 0) - A flag indicating
whether the features in the database should be interpolated to
fit them to the requested number of features. If true the
features will be interpolated to provide $num_blocks features.
This will not guarantee that exactly $num_blocks features are
returned due to rounding etc. but it will be close.
Arg [5] : float $max_ratio - The maximum ratio between the size of the
requested features (as determined by $num_blocks) and the actual
size of the features in the database. If this value is exceeded
then an empty list will be returned. This can be used to
prevent excessive interpolation of the database values.
Example : #interpolate:
$feats = $dfa->fetch_all_by_Slice($slice,'SNPDensity', 10, 1);
#do not interpoloate, get what is in the database:
$feats = $dfa->fetch_all_by_Slice($slice,'SNPDensity', 50);
#interpolate, but not too much
$feats = $dfa->fetch_all_by_Slice($slice,'SNPDensity',50,1,5.0);
Description: Retrieves a set of density features which overlap the region
of this slice. Density features are a discrete representation
of a continuous value along a sequence, such as a density or
percent coverage. Density Features may be stored in chunks of
different sizes in the database, and interpolated to fit the
desired size for the requested region. For example the database
may store a single density value for each 1KB and also for each
1MB. When fetching for an entire chromosome the 1MB density
chunks will be used if the requested number of blocks is not
very high.
Note that features which have been interpolated are not stored
in the database and as such will have no dbID or adaptor set.
Returntype : Bio::EnsEMBL::DensityFeature
Exceptions : warning on invalid $num_blocks argument
warning if no features with logic_name $logic_name exist
warning if density_type table has invalid block_size value
Caller : general
Status : Stable
fetch_all_by_Slice_constraint
Arg [1] : Bio::EnsEMBL::Slice $slice
the slice from which to obtain features
Arg [2] : (optional) string $constraint
An SQL query constraint (i.e. part of the WHERE clause)
Example : $fs = $a->fetch_all_by_Slice_constraint($slc, 'density_type_id = 88');
Description: Returns a listref of features created from the database which
are on the Slice defined by $slice and fulfill the SQL
constraint defined by $constraint.
Note that this is a re-implementation of a method with the same name
in the BaseFeatureAdaptor.
This was necessary to remove the use of symliked sequences for density features
Returntype : listref of Bio::EnsEMBL::SeqFeatures in Slice coordinates
Exceptions : thrown if $slice is not defined
Caller : Bio::EnsEMBL::Slice
Status : Stable
list_dbIDs
Arg [1] : none
Example : @feature_ids = @{$density_feature_adaptor->list_dbIDs()};
Description: Gets an array of internal ids for all density features in the
current db
Arg[1] : <optional> int. not set to 0 for the ids to be sorted by the seq_region.
Returntype : list of ints
Exceptions : none
Caller : ?
Status : Stable
store
Arg [1] : list of Bio::EnsEMBL::DensityFeatures @df
the simple features to store in the database
Example : $density_feature_adaptor->store(1234, @density_feats);
Description: Stores a list of density feature objects in the database
Returntype : none
Exceptions : thrown if @df is not defined, if any of the features do not
have an attached slice.
or if any elements of @df are not Bio::EnsEMBL::SeqFeatures
Caller : general
Status : Stable
fetch_Featureset_by_Slice
Arg [1-5] : see
Bio::EnsEMBL::DBSQL::DensityFeatureAdaptor::fetch_all_by_Slice()
for argument documentation
Example : $featureset = $dfa->fetch_FeatureSet_by_Slice($slice,'SNPDensity', 10, 1);
Description: wrapper around
Bio::EnsEMBL::DBSQL::DensityFeatureAdaptor::fetch_all_by_Slice()
which returns a Bio::EnsEMBL::DensityFeatureSet and also caches
results
Returntype : Bio::EnsEMBL::DensityFeatureSet
Exceptions : none
Caller : general
Status : Stable