% % Journal of the Royal Society Interface % Electronic Supplementary Material to: % Giant Axonal Neuropathy alters the structure of keratin intermediate filaments in human hair % Asfia Soomro, Richard J. Alsop, Atsuko Negishi, Laurent Kreplak, Douglas Fudge, Edward R. Kuczmarski, Robert Goldman, Maikel C. Rheinstädter % rheinstadter@mcmaster.ca % %% structure factor calculation %%%%% %define initial conditions %All q-values are in inverse Angstrom %All real space values are in Angstrom number_qpoints = 120; qmax = 0.3; %in A^-1 q_step = qmax/number_qpoints; qpar_step = 0.003; I_alliter = (0.01:qpar_step:qmax)'; I_alliter(:,2) = 0; I_alldisorders = zeros(length(I_alliter),27); I_alldisorders(:,1) = I_alliter(:,1); iterations = 50; disorder_index=0; %%%% %calculate I(qpar) for several disorders for disorder = 0:2:20 strcat('working on disorder ',num2str(disorder)) disorder_index=disorder_index+1; I_alliter = (0.01:qpar_step:qmax)'; I_alliter(:,2) = 0; %Iterate the calculation for averaging for run = 1:iterations S_qxqy = zeros(number_qpoints,number_qpoints); a = 104; %side length, from X-ray diffraction %define a small hexagonal lattice with side-length a r = [0 0; 1 0; 2 0; -1/2 sqrt(3)/2; 1/2 sqrt(3)/2; 3/2 sqrt(3)/2; 5/2 sqrt(3)/2; .... 0 sqrt(3); 1 sqrt(3); 2 sqrt(3); -1/2 sqrt(27)/2; 1/2 sqrt(27)/2; 3/2 sqrt(27)/2; 5/2 sqrt(27)/2;.... 0 2*sqrt(3); 1 sqrt(3)*2; 2 sqrt(3)*2;]*a; %Add random disorder for m=1:length(r); r(m,:) = r(m,:) + disorder*(normrnd(0,1)); end %calculate S(qx,qy), I(qx,qy) for n = 1:number_qpoints for m=1:number_qpoints for j=1:length(r) for k=j:length(r) S_qxqy(m,n) = S_qxqy(m,n) + exp(-1i*(r(j,:)-r(k,:))*q_step*[m n]'); end end end end I = abs(S_qxqy).^2; %collapse 2-dimensional I(qx,qy) onto a one-dimensional vector I_qxqy_collapsed = [0 0]; for n=1:number_qpoints for m=1:number_qpoints k = (n-1)*number_qpoints + m; I_qxqy_collapsed(k,1) = q_step*sqrt(n^2+m^2); I_qxqy_collapsed(k,2) = I(m,n); end end I_qxqy_collapsed = sortrows(I_qxqy_collapsed,1); Z = I_qxqy_collapsed(:,2); %bin collapsed I(qx,qy) into a I(q_||) vector I_qpar = (0.01:qpar_step:qmax)'; for i=1:length(I_qpar) I_qpar(i,2) = mean(Z( (I_qxqy_collapsed(:,1)>qpar_step*(i-1)) & (I_qxqy_collapsed(:,1)