Changing The X-Axis Of Seqlogo Figures In Matlab
1
1
Entering edit mode
14.3 years ago
Will 4.5k

I'm making a large number of seqlogos programatically. They are hundreds of columns wide and so running a seqlogo normally creates letters that are too thin to see. I've noticed that I only care about a few of these columns (not necessarily consecutive columns) ... most are noise but some are highly conserved.

I use something like this snippet:

wide_seqs = cell2mat(arrayfun(@randseq, repmat(200, [500 1]), 'uniformoutput', false));
wide_seqs(:, [17,30, 55,70,130]) = repmat(['ATCGG'], [500 1])
conserve_cell = seqlogo(wide_seqs, 'displaylogo', false);
high_bit_cols = any(conserve_cell{2}>1.0,1);
[~, handle] = seqlogo(wide_seqs(:,high_bit_cols ));

Although when I do this I lose the information about which columns the data came from.

Normally I would just change the x-axis of the seqlogo. However, seqlogo's are some sort of crazy java-based object and calls like:

set(handle, 'xticklabel', num2str(find(high_bit_cols)))

don't work. Any help would be greatly appreciated.

Thanks, Will

matlab sequence java • 3.6k views
ADD COMMENT
0
Entering edit mode
ADD REPLY
0
Entering edit mode

that's actually my question as well ... it seems neither here, stackexchange or MatlabCentral know the answer to this one. I'm going to play around with uiinspect and see if I can get it myself.

ADD REPLY
1
Entering edit mode
14.3 years ago
Yuri ★ 1.7k

The answers are provided in the same topic on StackOverflow.

ADD COMMENT

Login before adding your answer.

Traffic: 3666 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6