#!/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"; } }
Post a Comment
Thanks for reading my blog.
Note: only a member of this blog may post a comment.