Code covered by the BSD License  

Highlights from
plotDNA

image thumbnail
from plotDNA by Jesús P. Mena-Chalco
A simple Matlab function to visualize DNA sequences using four binary sequences.

plotDNA(sequence)
function plotDNA(sequence)
% A function to visualize DNA sequence using four binary sequences.
% Author: Jesus Mena

	[A, C, G, T] = DNA2sequences(sequence);
	N = length(sequence);

	line = 1*A + 2*C + 3*G + 4*T;
	points = zeros(2*N,2);

	for i=1:N
		points(2*i-1:2*i,:) = [i-1 i ; line(i) line(i)]';
	end;

	plot (points(:,1), points(:,2),'b-');
	axis([0 N 0.85 4.15]);
	set(gca,'YTick',[1 2 3 4], 'YTickLabel',['A' 'C' 'G' 'T']');
	xlabel('Position');
	ylabel('Base');
	box off
end

% DNA sequence to binary sequences
function [A, C, G, T] = DNA2sequences(sequence)
	N = length(sequence);

	A(N) = 0; C(N) = 0; G(N) = 0; T(N) = 0;

	A(find(upper(sequence)=='A')) = 1;
	C(find(upper(sequence)=='C')) = 1;
	G(find(upper(sequence)=='G')) = 1;
	T(find(upper(sequence)=='T')) = 1;
end

Contact us at files@mathworks.com