0001
0002
0003
0004
0005 function [void] = xWriteCandidatePDB(Search)
0006
0007 File = Search.File;
0008
0009 N = Search.Query.NumNT;
0010
0011 if isfield(Search.Query,'LocWeight'),
0012 LW = Search.Query.LocWeight;
0013 else
0014 LW = ones(N,1);
0015 end
0016
0017 if isfield(Search.Query,'AngleWeight'),
0018 AW = Search.Query.AngleWeight;
0019 else
0020 AW = ones(N,1);
0021 end
0022
0023 if length(Search.Candidates) > 0,
0024
0025 M = length(Search.Candidates(:,1));
0026
0027 f = Search.Candidates(1,N+1);
0028 Model = File(f).NT(Search.Candidates(1,1:N));
0029
0030
0031
0032 fid = fopen([Search.SaveName '-Cand.pdb'],'w');
0033
0034 a = 1;
0035
0036 for c = 1:M,
0037 f = Search.Candidates(c,N+1);
0038 Cand = File(f).NT(Search.Candidates(c,1:N));
0039 [R,Sh] = xSuperimposeCandidates(Model,Cand,LW,AW);
0040
0041 for i = 1:N,
0042 NT = Cand(i);
0043 a = zWriteNucleotidePDB(fid,NT,a,c,R',Sh);
0044 end
0045 end
0046
0047 fclose(fid);
0048
0049 fprintf('Wrote %s\n', [Search.SaveName '-Cand.pdb']);
0050
0051
0052
0053 fid = fopen([Search.SaveName '-Cand-Superimposed.pdb'],'w');
0054
0055 a = 1;
0056
0057 VP.Sugar = 1;
0058
0059 for c = 1:M,
0060 f = Search.Candidates(c,N+1);
0061 Cand = File(f).NT(Search.Candidates(c,1:N));
0062 [R,Sh] = xSuperimposeCandidates(Model,Cand,LW,AW);
0063
0064 for i = 1:N,
0065 NT = Cand(i);
0066 a = zWriteNucleotidePDB(fid,NT,a,0,R',Sh);
0067
0068 hold on
0069 end
0070 end
0071
0072 fclose(fid);
0073
0074 fprintf('Wrote %s\n', [Search.SaveName '-Cand-Superimposed.pdb']);
0075
0076 end