Bioinformatics toolbox - featuresmap question

1 view (last 30 days)
Hi,
I'm trying to plot the annotations corresponding to a chromosome, and I would like to plot only a small region of the chromosome. I can use something like this:
chrI_gbk = getgenbank('NC_001133');
featuresmap(chrI_gbk, {'CDS'});
but this plots all the genes on a vertical axis. Is it possible to plot only a region, say base pairs 1:5000, and display the genes on a horizontal axis?
Thanks!
Razvan

Accepted Answer

Lucio Cetto
Lucio Cetto on 21 Mar 2012
Razvan:
featuresmap cannot do what you need, you'll need to plot the CDS manually, hopefully this gets you started:
figure
hold on
chrI_gbk = getgenbank('NC_001133');
cds = featuresparse(chrI_gbk,'Feature','CDS')
yo = 5;
for i = 1:numel(cds)
starts = cds(i).Indices(1:2:end);
stops = cds(i).Indices(2:2:end);
plot([min(starts),max(stops)],[yo yo]/2,'b')
for j = 1:numel(starts)
px = [starts([j j]) stops([j j])]; % x-coordinates for patch
py = [0 yo yo 0]; % y-coordinates for patch
hq = patch(px,py,'b','FaceColor',[0.8 0.8 1],'EdgeColor','b','Tag','cds');
end
end
fixGenomicPositionLabels
axis([1 50000 -1 30])
HTH Lucio

More Answers (0)

Categories

Find more on Genomics and Next Generation Sequencing in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!