Hi community,
I am trying to retrieve the highest population MAF value for a variant in Ensembl by using the Perl API. Although I see this value on the web browser (see figure), I am not able to retrieve it from the Perl API.
After some research about how this data is accessed from the web site, I have developed the following function, which receives a TranscriptVariation object and is part of a larger script:
sub get_highest_population_maf {
my $tv = shift;
my $transcript = $tv->transcript;
my $vf = $tv->variation_feature;
my $max_alleles = $vf->get_all_highest_frequency_minor_Alleles;
my $highest_population_maf = undef;
if($max_alleles && @$max_alleles) {
$highest_population_maf = $max_alleles->[0]->frequency;
}
return $highest_population_maf;
}
The idea is to obtain the highest population MAF value that you can see in the web portal, however, the line $vf->get_all_highest_frequency_minor_Alleles always return an empty list although this value is visible on the web.
I am using the goat specie, and I am initializing the database adapters as follows:
# Registry configuration
my $registry = 'Bio::EnsEMBL::Registry';
$registry->load_registry_from_db(
-host => 'ensembldb.ensembl.org',
-user => 'anonymous',
);
$registry->set_reconnect_when_lost();
my $taxonomic_code = "capra_hircus";
my $transcript_adaptor = $registry->get_adaptor( $taxonomic_code, 'core', 'transcript' );
my $slice_adaptor = $registry->get_adaptor( $taxonomic_code, 'Core', 'Slice' );
my $trv_adaptor = $registry->get_adaptor( $taxonomic_code, 'variation', 'transcriptvariation' );
my $vf_adaptor = $registry->get_adaptor( $taxonomic_code, 'variation', 'variationfeature' );
Anybody see something wrong in my approach?
Thanks in advance. Best wishes, Francisco Abad.