%%%% SCRIPT NAME: Receptors_Def_perCell %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%Define all receptor species %Initialize receptor lists ctR = 1; %%Cell receptors for i=1:length(Cells) %%Temporary index of cells to use in creating receptors eval(['Cdx.' Cells{i} ' = i;']); %%T-cells (name beginning with CD) have CD3 and CD28 receptors if(strncmp(Cell_Names{i},'CD',2)) %%Names with cells R1_Lst(ctR) = {['R_' Cell_Names{i} '_CD3']}; R1_tsAb_Lst(ctR) = {['R_' Cell_Names{i} '_CD3_tsAb']}; R2_Lst(ctR) = {['R_' Cell_Names{i} '_CD28']}; R2_tsAb_Lst(ctR) = {['R_' Cell_Names{i} '_CD28_tsAb']}; %%Names without cells R1_LstNC(ctR) = {'CD3'}; R1_tsAb_LstNC(ctR) = {'CD3_tsAb'}; R2_LstNC(ctR) = {'CD28'}; R2_tsAb_LstNC(ctR) = {'CD28_tsAb'}; elseif(strcmp(Cell_Names{i},'TRGT')||strcmp(Cell_Names{i},'MM')) %%TRGT cells have CD28 and CD38 %Names with cells R1_Lst(ctR) = {['R_' Cell_Names{i} '_CD38']}; R1_tsAb_Lst(ctR) = {['R_' Cell_Names{i} '_CD38_tsAb']}; R2_Lst(ctR) = {['R_' Cell_Names{i} '_CD28']}; R2_tsAb_Lst(ctR) = {['R_' Cell_Names{i} '_CD28_tsAb']}; %Names without cells R1_LstNC(ctR) = {'CD38'}; R1_tsAb_LstNC(ctR) = {'CD38_tsAb'}; R2_LstNC(ctR) = {'CD28'}; R2_tsAb_LstNC(ctR) = {'CD28_tsAb'}; else %%sCD38 - only CD38 receptor %Names with cells R1_Lst(ctR) = {['R_' Cell_Names{i} '_CD38']}; R1_tsAb_Lst(ctR) = {['R_' Cell_Names{i} '_CD38_tsAb']}; %Names without cells R1_LstNC(ctR) = {'CD38'}; R1_tsAb_LstNC(ctR) = {'CD38_tsAb'}; %%Only 1 receptor here, but put in zeros for consistency R2_Lst(ctR) = {[]}; R2_tsAb_Lst(ctR) = {[]}; R2_LstNC(ctR) = {[]}; R2_tsAb_LstNC(ctR) = {[]}; end ctR = ctR+1; end %%Synapse receptors %%1st create list for all cell combinations contributing to synapse for %%on/off rates ctBr = 1; for s2i = 1:length(Syn_2cell) %%Keep track of receptors for each cell combination leading to synapse %%- use to account for new receptors added with each synpase formation %%CELL 1 %%Define Cell1 from synapse name because some change activation status %%in synapse Ctmp = regexp(Syn_2cell{s2i},'S_(\w+\d*\w*)_CD(3||28)_','tokens'); Cell1 = Ctmp{1}{1}; C1R1_Lst(ctBr) = {[ Syn_2cell{s2i} '_' R1_Lst{eval(['Cdx.' Cell1])} ]}; C1R1_tsAb_Lst(ctBr) = {[ Syn_2cell{s2i} '_' R1_Lst{eval(['Cdx.' Cell1])} '_tsAb']}; C1R2_Lst(ctBr) = {[ Syn_2cell{s2i} '_' R2_Lst{eval(['Cdx.' Cell1])} ]}; C1R2_tsAb_Lst(ctBr) = {[ Syn_2cell{s2i} '_' R2_Lst{eval(['Cdx.' Cell1])} '_tsAb']}; %%%No cells - to use for kon/off C1R1_LstNC(ctBr) = {[ R1_LstNC{eval(['Cdx.' Cell1])} ]}; C1R1_tsAb_LstNC(ctBr) = {[ R1_LstNC{eval(['Cdx.' Cell1])} '_tsAb']}; C1R2_LstNC(ctBr) = {[ R2_LstNC{eval(['Cdx.' Cell1])} ]}; C1R2_tsAb_LstNC(ctBr) = {[ R2_LstNC{eval(['Cdx.' Cell1])} '_tsAb']}; %%Add in synapse bridge Br_Lst(ctBr) = {[ Syn_2cell{s2i} '_Br']}; %%CELL 2 receptors With Celll %%Include receptors for both cells even if cells are the same - need to %% account for full number of receptors added to each synapse C2R1_Lst(ctBr) = {[ Syn_2cell{s2i} '_' R1_Lst{eval(['Cdx.' Combo_2cell{s2i,2}])} ]}; C2R1_tsAb_Lst(ctBr) = {[ Syn_2cell{s2i} '_' R1_Lst{eval(['Cdx.' Combo_2cell{s2i,2}])} '_tsAb']}; %No cell C2R1_LstNC(ctBr) = {[ R1_LstNC{eval(['Cdx.' Combo_2cell{s2i,2}])} ]}; C2R1_tsAb_LstNC(ctBr) = {[ R1_LstNC{eval(['Cdx.' Combo_2cell{s2i,2}])} '_tsAb']}; %%Check to make sure second receptor exists, i.e. not sCD38 if(isempty(R2_Lst{eval(['Cdx.' Combo_2cell{s2i,2}])})== 0) %If not empty , define receptor 2 name with/without synapse_cell %preceding C2R2_Lst(ctBr) = {[ Syn_2cell{s2i} '_' R2_Lst{eval(['Cdx.' Combo_2cell{s2i,2}])} ]}; C2R2_tsAb_Lst(ctBr) = {[ Syn_2cell{s2i} '_' R2_Lst{eval(['Cdx.' Combo_2cell{s2i,2}])} '_tsAb']}; C2R2_LstNC(ctBr) = {[ R2_LstNC{eval(['Cdx.' Combo_2cell{s2i,2}])} ]}; C2R2_tsAb_LstNC(ctBr) = {[ R2_LstNC{eval(['Cdx.' Combo_2cell{s2i,2}])} '_tsAb']}; else %%Only 1 receptor here, but put in zeros for consistency C2R2_Lst(ctBr) = {[]}; C2R2_tsAb_Lst(ctBr) = {[]}; C2R2_LstNC(ctBr) = {[]}; C2R2_tsAb_LstNC(ctBr) = {[]}; end ctBr = ctBr+1; end %%Receptors on unique synapses - used for transfer of receptors in %%activation/killing and drug binding to unbridged synapse receptors ctBrU = 1; for s2Ui = 1:length(Syn2Cell_UnqTOT) %%Keep track of receptors on each cell %%CELL 1 SynRa_Lst(ctBrU) = {[ Syn2Cell_UnqTOT{s2Ui} '_' R1_Lst{eval(['Cdx.' Cells_Syn2_UnqTOT{s2Ui,1}])} ]}; SynRa_tsAb_Lst(ctBrU) = {[ Syn2Cell_UnqTOT{s2Ui} '_' R1_Lst{eval(['Cdx.' Cells_Syn2_UnqTOT{s2Ui,1}])} '_tsAb']}; SynRb_Lst(ctBrU) = {[ Syn2Cell_UnqTOT{s2Ui} '_' R2_Lst{eval(['Cdx.' Cells_Syn2_UnqTOT{s2Ui,1}])} ]}; SynRb_tsAb_Lst(ctBrU) = {[ Syn2Cell_UnqTOT{s2Ui} '_' R2_Lst{eval(['Cdx.' Cells_Syn2_UnqTOT{s2Ui,1}])} '_tsAb']}; %%Add in synapse bridge SynBr_Lst(ctBrU) = {[ Syn2Cell_UnqTOT{s2Ui} '_Br']}; %%Without synapse name SynRa_LstNC(ctBrU) = {[R1_Lst{eval(['Cdx.' Cells_Syn2_UnqTOT{s2Ui,1}])} ]}; SynRa_tsAb_LstNC(ctBrU) = {[R1_Lst{eval(['Cdx.' Cells_Syn2_UnqTOT{s2Ui,1}])} '_tsAb']}; SynRb_LstNC(ctBrU) = {[R2_Lst{eval(['Cdx.' Cells_Syn2_UnqTOT{s2Ui,1}])} ]}; SynRb_tsAb_LstNC(ctBrU) = {[ R2_Lst{eval(['Cdx.' Cells_Syn2_UnqTOT{s2Ui,1}])} '_tsAb']}; %%CELL 2 receptors With Celll -- ONLY ADD IF CELL2 is distinct from %%CELL1!!! Skip otherwise bc receptors have been added w Cell1 if (strcmp(Cells_Syn2_UnqTOT{s2Ui,1},Cells_Syn2_UnqTOT{s2Ui,2})==0) SynRc_Lst(ctBrU) = {[ Syn2Cell_UnqTOT{s2Ui} '_' R1_Lst{eval(['Cdx.' Cells_Syn2_UnqTOT{s2Ui,2}])} ]}; SynRc_tsAb_Lst(ctBrU) = {[ Syn2Cell_UnqTOT{s2Ui} '_' R1_Lst{eval(['Cdx.' Cells_Syn2_UnqTOT{s2Ui,2}])} '_tsAb']}; %%Without synapse name SynRc_LstNC(ctBrU) = {[ R1_Lst{eval(['Cdx.' Cells_Syn2_UnqTOT{s2Ui,2}])} ]}; SynRc_tsAb_LstNC(ctBrU) = {[R1_Lst{eval(['Cdx.' Cells_Syn2_UnqTOT{s2Ui,2}])} '_tsAb']}; %%Check to make sure second receptor exists, i.e. not sCD38 if(isempty(R2_Lst{eval(['Cdx.' Cells_Syn2_UnqTOT{s2Ui,2}])})== 0) SynRd_Lst(ctBrU) = {[ Syn2Cell_UnqTOT{s2Ui} '_' R2_Lst{eval(['Cdx.' Cells_Syn2_UnqTOT{s2Ui,2}])} ]}; SynRd_tsAb_Lst(ctBrU) = {[ Syn2Cell_UnqTOT{s2Ui} '_' R2_Lst{eval(['Cdx.' Cells_Syn2_UnqTOT{s2Ui,2}])} '_tsAb']}; %Without synapse name SynRd_LstNC(ctBrU) = {[ R2_Lst{eval(['Cdx.' Cells_Syn2_UnqTOT{s2Ui,2}])} ]}; SynRd_tsAb_LstNC(ctBrU) = {[ R2_Lst{eval(['Cdx.' Cells_Syn2_UnqTOT{s2Ui,2}])} '_tsAb']}; else %%Only 1 receptor here, but put in zeros for consistency SynRd_Lst(ctBrU) = {[]}; SynRd_tsAb_Lst(ctBrU) = {[]}; SynRd_LstNC(ctBrU) = {[]}; SynRd_tsAb_LstNC(ctBrU) = {[]}; end else %If two cells are the same, only list one set of receptors SynRc_Lst(ctBrU) = {[]}; SynRc_tsAb_Lst(ctBrU) = {[]}; SynRd_Lst(ctBrU) = {[]}; SynRd_tsAb_Lst(ctBrU) = {[]}; SynRc_LstNC(ctBrU) = {[]}; SynRc_tsAb_LstNC(ctBrU) = {[]}; SynRd_LstNC(ctBrU) = {[]}; SynRd_tsAb_LstNC(ctBrU) = {[]}; end ctBrU = ctBrU+1; end %Generate list of names to use with cells included to create index %%Only include non-zero names R2nz = setdiff([1:length(R2_Lst)],find(cellfun('isempty',R2_Lst(:)))); SynR2cnz = setdiff([1:length( SynRc_Lst)],find(cellfun('isempty', SynRc_Lst(:)))); SynR2dnz = setdiff([1:length( SynRd_Lst)],find(cellfun('isempty', SynRd_Lst(:)))); %Brnz = setdiff([1:length(SynBr_Lst)],find(cellfun('isempty',SynBr_Lst(:)))); Receptor_Names = [R1_Lst R1_tsAb_Lst R2_Lst(R2nz) R2_tsAb_Lst(R2nz) SynRa_Lst SynRa_tsAb_Lst... SynRb_Lst SynRb_tsAb_Lst SynRc_Lst(SynR2cnz) SynRc_tsAb_Lst(SynR2cnz) SynRd_Lst(SynR2dnz) SynRd_tsAb_Lst(SynR2dnz) SynBr_Lst]; Receptor_Species = length(Receptor_Names);