example of using the Ensembl perl API to see the effect of a SNP on predicted transciption factor binding affinity | all4bioinformatics
Breaking News
Loading...

Friday, 5 April 2013

example of using the Ensembl perl API to see the effect of a SNP on predicted transciption factor binding affinity

 


#!/usr/bin/perl
use strict;
use warnings;
use Bio::EnsEMBL::Registry;

use Bio::EnsEMBL::ApiVersion;
printf(STDERR "The API version used is %s\n", software_version() );

my $registry = 'Bio::EnsEMBL::Registry';
$registry->load_registry_from_db(
-host => 'ensembldb.ensembl.org',
-user => 'anonymous',
);

my $slice_adaptor = $registry -> get_adaptor('Human', 'Core', 'Slice');
my $regfeat_adaptor = $registry -> get_adaptor('Human', 'funcgen', 'regulatoryfeature');

my $slice = $slice_adaptor -> fetch_by_region('chromosome', 1, 1241196, 1241246);
my @reg_feats = @{ $regfeat_adaptor -> fetch_all_by_Slice( $slice ) };

print "motif\toriginal_score\tsnp_score\n";

foreach my $reg_feat ( @reg_feats ){
my @motif_feats = @{ $reg_feat -> regulatory_attributes( 'motif' ) };

foreach my $mf(@motif_feats){

my $seq = $mf->feature_Slice->seq;
my $binding_matrix = $mf->binding_matrix;

my @line;
push(@line, $mf->display_label);
push(@line, $binding_matrix->relative_affinity($seq));

my $new_seq = $seq;
$new_seq =~ s/TTTGC/TTTTC/;
push(@line, $binding_matrix->relative_affinity($new_seq));

print join("\t", @line) . "\n";

}
}

google+

linkedin

About Author
  • Donec sed odio dui. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Sed posuere consecteturDonec sed odio dui. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Read More

    0 comments:

    POST A COMMENT

     

    Gallery

    About

    About Us