8. List of Tables
9.2 Macro instructions
3D image z-stack analysis for the telomere stained PBMCs was performed by Dr. Damir Krunic with his following self-written software subprogram called macro in the open source FIJI.
Macros for analyzing keratinocytes and fibroblasts were kindly provided from Dr. Damir Krunic and Dr. Manuel Berning and further modified and utilized for the analysis of 3D image z-stacks acquired with an Olympus IX 81-ZDC inverted microscope (IX2 Series). The here given macro instructions are examples and needed to be modified depending on the quality of staining.
9.2.1 Macro for making image montages:
setBatchMode(true);
BigFolderToSave=1;
NoSubfoldersOrRegions=2;
SavingDisk="variable";
LoadPath= " variable ";
159
saveAs("Tiff", SavingDisk+"\\For loading 3D\\3d\\"+BigFolderToSave+"\\"+t+"
3D 16bit\\01 ("+x+").tif");
close();
z=y+1;
open(LoadPath+"\\("+z+").tif");
saveAs("Tiff", SavingDisk+"\\For loading 3D\\3d\\"+BigFolderToSave+"\\"+t+" 3D 16bit\\01 cy5 ("+x+").tif");
close();
p=y+3;
open(LoadPath+"\\("+p+").tif");
saveAs("Tiff", SavingDisk+"\\For loading 3D\\3d\\"+BigFolderToSave+"\\"+t+" 3D 16bit\\01 d ("+x+").tif");
close();
j=y+2;
open(LoadPath+"\\("+j+").tif");
saveAs("Tiff", SavingDisk+"\\For loading 3D\\3d\\"+BigFolderToSave+"\\"+t+" 3D 16bit\\01 k ("+x+").tif");
close();
} }
setBatchMode(false);
9.2.2 Macro for marking nuclei in the image montages StartBigFolder=1;
for(u= StartBigFolder; u<= EndBigFolder; u++) {
for(y= StartFolder; y<= EndFolder; y++) {
open(HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\montage d.tif");
Appendix
160 setAutoThreshold("Huang dark");
setAutoThreshold();
setThreshold(1, 255);
run("Set Scale...", "distance=1 known=1 pixel=1 unit=1 global");
run("Analyze Particles...", "size=3000-60000 circularity=0.40-1.00 show=Nothing display add");
saveAs("Measurements", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\TEMP\\Results temp.txt");
run("Close");
close();
roiManager("Save", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\RoiSet.zip");
open(HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\montage.tif");
setThreshold(MinTeloThreshold, 65565);
run("Set Measurements...", " mean min integrated limit redirect=None decimal=3");
roiManager("Measure");
saveAs("Measurements", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\Results Mean.txt");
9.2.3 Macro for analysis of the entire signals in the nuclei setBatchMode(true);
for(u= StartBigFolder; u<= EndBigFolder; u++) {
for(y= StartFolder; y<= EndFolder; y++) {
open(HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\montage.tif");
run("Set Scale...", "distance=1 known=1 pixel=1 unit=1 global");
run("Unsharp Mask...", "radius=3 mask=0.9");
resetMinAndMax();
open(HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\montage.tif");
run("Set Measurements...", "area mean min integrated redirect=None decimal=3");
roiManager("Measure");
saveAs("Measurements", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\Results "+y+".txt");
wait(500);
161
9.2.4 Macro for TSI analysis of keratinocytes and fibroblasts:
setBatchMode(true);
for(u= StartBigFolder; u<= EndBigFolder; u++) {
for(y= StartFolder; y<= EndFolder; y++) {
open(HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\montage.tif");
run("Set Scale...", "distance=1 known=1 pixel=1 unit=1 global");
run("Set Measurements...", " integrated redirect=None decimal=3");
resetMinAndMax();
run("Unsharp Mask...", "radius=3 mask=0.9");
roiManager("Open", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\RoiSet.zip");
roiManager("Open", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\RoiSet.zip");
roiManager("Select", i);
resetMinAndMax();
setAutoThreshold("Li dark");
setAutoThreshold("Li dark");
run("Find Maxima...", "noise=300 output=[Segmented Particles] above");
setThreshold(1, 255);
roiManager("Select", i);
roiManager("reset");
setThreshold(1, 255);
run("Analyze Particles...", "size=2-Infinity circularity=0.00-1.00 show=Nothing add");
Appendix
162 NRoiCell=roiManager("count");
if (NRoiCell>=1) {
roiManager("Save", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\RoiSet "+x+".zip");
roiManager("reset");
} else
{
roiManager("Open", HardDisk+"\\For loading 3D\\3d\\Empty RoiSet.zip");
roiManager("Save", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\RoiSet "+x+".zip");
roiManager("Open", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\RoiSet.zip");
run("Set Measurements...", " min redirect=None decimal=3");
roiManager("Measure");
9.2.5 Macro for analysis of co-localization of double stainings StartBigFolder=2;
EndBigFolder=2;
StartFolder=1;
EndFolder=2;
HardDisk=" variable ";
for(u= StartBigFolder; u<= EndBigFolder; u++) {
for(y= StartFolder; y<= EndFolder; y++) {
163 open(HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\montage k.tif");
open(HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\montage.tif");
run("Find Maxima...", "noise=45 output=[Single Points]");
run("Gaussian Blur...", "sigma=1");
saveAs("Tiff", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\montage.tif Maxima k.tif");
run("Find Maxima...", "noise=1 output=[Segmented Particles] above");
saveAs("Tiff", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\montage k.tif Segmented.tif");
close();
close();
open(HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\montage k.tif Segmented.tif");
open(HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\montage.tif Maxima k.tif");
r="montage.tif Maxima.tif";
g="montage k.tif Segmented.tif";
run("Colocalization ", "channel1=["+r+"] channel2=["+g+"] ratio=[0] threshold=[14] threshold=[14]
display=255 also");
close();
saveAs("Tiff", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\Colocalizated points (8-bit) k.tif");
9.2.6 Macro for counting co-localizations StartBigFolder=2;
for(u= StartBigFolder; u<= EndBigFolder; u++) {
for(y= StartFolder; y<= EndFolder; y++) {
open(HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\Colocalizated points
(8-bit) cy5.tif");
run("Set Measurements...", "area limit redirect=None decimal=3");
Appendix
164 roiManager("Open", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\RoiSet.zip");
roiManager("Open", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\RoiSet.zip");
roiManager("Select", i);
roiManager("reset");
setThreshold(MinSingleTeloThreshold, 255);
run("Analyze Particles...", "size=3-Infinity circularity=0.00-1.00 show=Nothing add");
NRoiCell=roiManager("count");
roiManager("Save", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\RoiSet "+x+".zip");
9.2.7 Macro for PBMCs TSI analysis:
setBatchMode(true);
StartBigFolder=56;
NoSubfoldersOrRegions=12;
DiskToSave="C";
165
saveAs("Tiff", DiskToSave+":\\For loading 3D\\3d\\"+StartBigFolder+"\\"+t+"
3D
16bit\\01 ("+x+").tif");
close();
g=y+1;
open(LoadPath+"\\("+g+").tif");
saveAs("Tiff", DiskToSave+":\\For loading 3D\\3d\\"+StartBigFolder+"\\"+t+"
3D
open(HardDisk+"\\For loading 3D\\3d\\"+StartBigFolder+"\\1 3D 16bit\\01 d (1).tif");
run("Brightness/Contrast...");
setMinAndMax(0, 4095);
call("ij.ImagePlus.setDefault16bitRange", 12);
close();
for(u= StartBigFolder; u<= EndBigFolder; u++) {
//Core Macro according to Folder Tree Loading and Z_Projection for(y= StartFolder; y<= EndFolder; y++)
{
dir= HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+" 3D 16bit";
listCond=getFileList(dir);
Appendix
open(HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+" 3D 16bit\\01 d ("+z+").tif");
run("Subtract Background...", "rolling=200 sliding stack");
run("Z Project...", "start=FistDapiLayToProject stop=LastDapiLayToProject projection=[Max Intensity]");
saveAs("Tiff", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\DAPI\\ZProjection of
"+x+" d.tif");
close();
close();
open(HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+" 3D 16bit\\01 ("+z+").tif");
run("Subtract Background...", "rolling=3 stack");
run("Z Project...", "start=1 stop=40 projection=[Max Intensity]");
saveAs("Tiff", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\TELO ROI\\ZProjection of "+x+".tif");
//Core Macro according to Folder Tree Montage of Single or Region for(y= StartFolder;y<=EndFolder;y++)
{
dir= HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\TELO ROI";
listCond=getFileList(dir);
167 run("Images to Stack", "name=Stack title=[] use");
run("Make Montage...", "columns=5 rows="+f+" scale=1 first=1 last="+g+" increment=1 border=0");
saveAs("Tiff", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\montage.tif");
dir= HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\DAPI";
listCond=getFileList(dir);
open(HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\DAPI\\ZProjection of
"+x+" d.tif");
}
f=listCond.length/5;
g=f*5;
run("Images to Stack", "name=Stack title=[] use");
run("Make Montage...", "columns=5 rows="+f+" scale=1 first=1 last="+g+" increment=1 border=0");
saveAs("Tiff", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\montage d.tif");
open(HardDisk+"\\For loading 3D\\3d\\"+StartBigFolder+"\\1 3D 16bit\\01 d (1).tif");
run("Brightness/Contrast...");
setMinAndMax(0, 4095);
call("ij.ImagePlus.setDefault16bitRange", 12);
close();
Appendix
run("Set Measurements...", " integrated redirect=None decimal=3");
roiManager("reset");
for (b=0; b<NumberOfSubFoldersInBigFolders.length; b++)
{
u=b+StartBigFolder;
for(y= StartSubFolder; y<= NumberOfSubFoldersInBigFolders[b]; y++) {
open(HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\montage d.tif");
run("Options...", "iterations=1 count=1 black edm=Overwrite");
run("Make Binary", "thresholded remaining black");
setForegroundColor(255, 255, 255);
run("Set Scale...", "distance=1 known=0 pixel=1 unit=pixel global");
makeLine(0, 1024, 6690, 1024);
run("Set Scale...", "distance=1 known=1 pixel=1 unit=1 global");
run("Analyze Particles...", "size=4000-16000 circularity=0.2-1.00 show=Nothing display exclude add");
saveAs("Measurements", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\TEMP\\Results temp.txt");
run("Close");
close();
roiManager("Save", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\RoiSet.zip");
169 open(HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet
montage\\montage.tif");
setThreshold(MinTeloThreshold, 4095);
run("Set Measurements...", " mean min integrated limit redirect=None decimal=3");
roiManager("Measure");
saveAs("Measurements", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\Results Mean.txt");
run("Set Scale...", "distance=1 known=1 pixel=1 unit=1 global");
run("Set Measurements...", " integrated redirect=None decimal=3");
resetMinAndMax();
run("Unsharp Mask...", "radius=3 mask=0.9");
roiManager("Open", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\RoiSet.zip");
roiManager("Open", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\RoiSet.zip");
run("Find Maxima...", "noise=50 output=[Segmented Particles] above");
setThreshold(1, 255);
run("Analyze Particles...", "size=2-Infinity circularity=0.00-1.00 show=Nothing add");
NRoiCell=roiManager("count");
if (NRoiCell>=1) {
roiManager("Save", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\RoiSet "+x+".zip");
roiManager("reset");
}
Appendix
170 else
{
roiManager("Open", HardDisk+"\\For loading 3D\\3d\\Empty RoiSet.zip");
roiManager("Save", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\RoiSet "+x+".zip");
roiManager("Open", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\RoiSet.zip");
run("Set Measurements...", " min redirect=None decimal=3");
roiManager("Measure");
// Macro measures int dens of all sygnals in the cell It opens the roi of individual signals combine and measure
// there is no need to define end big folder since it is in the new array setBatchMode(true);
HardDisk=" variable ";
StartSubFolder=1;
NumberOfSubFoldersInBigFolders = newArray(12, 0);
run("Set Measurements...", " integrated redirect=None decimal=3");
roiManager("reset");
for (b=0; b<NumberOfSubFoldersInBigFolders.length; b++)
{
u=b+StartBigFolder;
for(y= StartSubFolder; y<= NumberOfSubFoldersInBigFolders[b]; y++) {
open(HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\montage.tif");
171 run("Set Scale...", "distance=0 known=0 pixel=1 unit=pixel global");
roiManager("Open", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\RoiSet.zip");
NRoi=roiManager("count");
roiManager("reset");
for(i=0; i<NRoi; i++) {
if(i<9) x="0"+(i+1);
else x=i+1;
roiManager("Open", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\RoiSet "+x+".zip");
roiManager("Combine");
run("Measure");
wait(10);
roiManager("Reset");
}
saveAs("Text", HardDisk+"\\For loading 3D\\3d\\"+u+"\\"+y+"\\TELO DAPI\\RoiSet montage\\Results Mean.txt");
wait(100);
run("Close");
close();
} }
setBatchMode(false);
Appendix
172 9.3 Medical data and TSI results
Table 18 | Medical data and results of obese patients Patient
173
Appendix
175
Appendix
177
Appendix
178
* Data obtained after macro image analysis from Dr. Damir Krunic and statistically analyzed by Thomas Hielscher
104 49 65 male Sleeve 1/14/2014 - 62 133.2201
179 Table 19 | Medical data and results of non-obese subjects
ID Age [y] BMI [km/m2] Gender Months of blood
withdrawal median TSI 1/1000 [a.u.]*
A 46 23 male
Appendix
181
Aug 122.7322
Oct 142.8704
Dec 160.5531
* Data obtained after macro image analysis from Dr. Damir Krunic and statistically analyzed by Thomas Hielscher