Home > FR3DSource > zBackboneContinuity.m

zBackboneContinuity

PURPOSE ^

SYNOPSIS ^

function [File] = zBackboneContinuity(File)

DESCRIPTION ^

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 
0002 function [File] = zBackboneContinuity(File)
0003 
0004 for f = 1:length(File),
0005 
0006   File(f).Covalent = sparse(zeros(File(f).NumNT,File(f).NumNT));
0007 
0008   d = [];
0009   g = [];
0010 
0011   if isempty(File(f).Distance),
0012     c = cat(1,File(f).NT(1:File(f).NumNT).Center); % nucleotide centers
0013     File(f).Distance = zMutualDistance(c,16); % compute distances < 16 Angstroms
0014   end
0015 
0016   for i = 2:length(File(f).NT),
0017     a = File(f).NT(i).Sugar(10,:);      % phosphorus of current NT
0018     b = File(f).NT(i-1).Sugar(5,:);     % O3 of previous NT
0019     c = File(f).NT(i-1).Sugar(3,:);     % O2 of previous NT
0020 
0021     x = norm(a-b);
0022     y = norm(a-c);
0023 
0024     if x < 2  && x < y,
0025       File(f).Covalent(i-1,i) = 1;
0026       File(f).Covalent(i,i-1) = -1;
0027     elseif y < 2,
0028       File(f).Covalent(i-1,i) = 2;
0029       File(f).Covalent(i,i-1) = -2;
0030     else 
0031       j = find(File(f).Distance(i-1,:));     % nucleotides somewhat near i-1
0032       for k = 1:length(j),
0033         a = File(f).NT(j(k)).Sugar(10,:);      % phosphorus of current NT
0034         x = norm(a-b);
0035         y = norm(a-c);
0036 
0037         if x < 2  && x < y,
0038           File(f).Covalent(i-1,j(k)) = 1;
0039           File(f).Covalent(j(k),i-1) = -1;
0040 fprintf('Covalent connection c35 between nucleotides not in order in the PDB file.  %s %s %s\n', File(f).Filename, File(f).NT(i-1).Number, File(f).NT(j(k)).Number);
0041         elseif y < 2,
0042           File(f).Covalent(i-1,j(k)) = 2;
0043           File(f).Covalent(j(k),i-1) = -2;
0044 
0045 fprintf('Covalent connection c25 between nucleotides not in order in the PDB file.  %s %s %s\n', File(f).Filename, File(f).NT(i-1).Number, File(f).NT(j(k)).Number);
0046         end
0047       end
0048     end
0049 
0050 %    d = [d; norm(a-b)];
0051 %    g = [g; norm(a-c)];
0052 
0053 
0054   end
0055 end
0056 
0057 return
0058 
0059 min(d)
0060 max(d)
0061 
0062 e = sort(d);
0063 
0064 e(end-10:end)
0065 
0066 figure(2)
0067 clf
0068 i = find(d < 2);
0069 hist(d(i),30)
0070 
0071 figure(3)
0072 clf
0073 i = find(d < 2);
0074 plot(d(i),g(i),'.')
0075 
0076 figure(1)
0077 clf
0078 VP.Sugar = 1;
0079 VP.LabelSugar = 10;
0080 VP.LabelBase = 10;
0081 zDisplayNT(File(1),[10 11],VP);
0082 axis square

Generated on Fri 03-Apr-2009 09:52:35 by m2html © 2003