cg

changeset 69:9ae6fef05fcf

.
author bshanks@bshanks.dyndns.org
date Mon Apr 20 16:21:13 2009 -0700 (16 years ago)
parents 60d7c1c1b94f
children 5cdbbf86e10b
files grant.html grant.odt grant.pdf grant.txt norm_hv_NNMF_6_norm_kmeans_7clust.eps
line diff
1.1 --- a/grant.html Mon Apr 20 15:08:40 2009 -0700 1.2 +++ b/grant.html Mon Apr 20 16:21:13 2009 -0700 1.3 @@ -318,101 +318,146 @@ 1.4 many layer-area intersection clusters, further work is needed to make sense of these). The reason that Gene Finder cannot find marker genes for 1.5 most cortical areas is that in Gene Finder, although the user chooses a seed voxel, Gene Finder chooses the ROI for which genes will be found, 1.6 and it creates that ROI by (pairwise voxel correlation) clustering around the seed. 1.7 - 1.8 - 1.9 - Figure 1: Gene Pitx2 is selectively underexpressed in area SS (somatosensory). 1.10 Preliminary work 1.11 Format conversion between SEV, MATLAB, NIFTI 1.12 We have created software to (politely) download all of the SEV files from the Allen Institute website. We have also created 1.13 software to convert between the SEV, MATLAB, and NIFTI file formats, as well as some of Caret&#8217;s file formats. 1.14 Flatmap of cortex 1.15 -We downloaded the ABA data and applied a mask to select only those voxels which belong to cerebral cortex. We divided 1.16 -the cortex into hemispheres. 1.17 -Using Caret[5], we created a mesh representation of the surface of the selected voxels. For each gene, for each node of 1.18 -the mesh, we calculated an average of the gene expression of the voxels &#8220;underneath&#8221; that mesh node. We then flattened 1.19 -the cortex, creating a two-dimensional mesh. 1.20 -We sampled the nodes of the irregular, flat mesh in order to create a regular grid of pixel values. We converted this grid 1.21 -into a MATLAB matrix. 1.22 -We manually traced the boundaries of each of 49 cortical areas from the ABA coronal reference atlas slides. We then 1.23 -converted these manual traces into Caret-format regional boundary data on the mesh surface. We projected the regions 1.24 -onto the 2-d mesh, and then onto the grid, and then we converted the region data into MATLAB format. 1.25 -At this point, the data is in the form of a number of 2-D matrices, all in registration, with the matrix entries representing 1.26 -a grid of points (pixels) over the cortical surface: 1.27 + 1.28 +Figure 1: Gene Pitx2 1.29 +is selectively underex- 1.30 +pressed in area SS (so- 1.31 +matosensory). We downloaded the ABA data and applied a mask to select only those voxels which belong to 1.32 + cerebral cortex. We divided the cortex into hemispheres. 1.33 + Using Caret[5], we created a mesh representation of the surface of the selected voxels. For 1.34 + each gene, for each node of the mesh, we calculated an average of the gene expression of the 1.35 + voxels &#8220;underneath&#8221; that mesh node. We then flattened the cortex, creating a two-dimensional 1.36 + mesh. 1.37 + We sampled the nodes of the irregular, flat mesh in order to create a regular grid of pixel 1.38 + values. We converted this grid into a MATLAB matrix. 1.39 + We manually traced the boundaries of each of 49 cortical areas from the ABA coronal reference 1.40 + atlas slides. We then converted these manual traces into Caret-format regional boundary data 1.41 + on the mesh surface. We projected the regions onto the 2-d mesh, and then onto the grid, and 1.42 + then we converted the region data into MATLAB format. 1.43 + At this point, the data is in the form of a number of 2-D matrices, all in registration, with 1.44 + the matrix entries representing a grid of points (pixels) over the cortical surface: 1.45 &#x2219;A 2-D matrix whose entries represent the regional label associated with each surface pixel 1.46 &#x2219;For each gene, a 2-D matrix whose entries represent the average expression level underneath each surface pixel 1.47 -We created a normalized version of the gene expression data by subtracting each gene&#8217;s mean expression level (over all 1.48 -surface pixels) and dividing each gene by its standard deviation. 1.49 -The features and the target area are both functions on the surface pixels. They can be referred to as scalar fields over 1.50 -the space of surface pixels; alternately, they can be thought of as images which can be displayed on the flatmapped surface. 1.51 -To move beyond a single average expression level for each surface pixel, we plan to create a separate matrix for each 1.52 -cortical layer to represent the average expression level within that layer. Cortical layers are found at different depths in 1.53 -different parts of the cortex. In preparation for extracting the layer-specific datasets, we have extended Caret with routines 1.54 -that allow the depth of the ROI for volume-to-surface projection to vary. 1.55 -In the Research Plan, we describe how we will automatically locate the layer depths. For validation, we have manually 1.56 -demarcated the depth of the outer boundary of cortical layer 5 throughout the cortex. 1.57 -Feature selection and scoring methods 1.58 -Underexpression of a gene can serve as a marker Underexpression of a gene can sometimes serve as a marker. See, 1.59 -for example, Figure 1. 1.60 -Correlation Recall that the instances are surface pixels, and consider the problem of attempting to classify each instance 1.61 -as either a member of a particular anatomical area, or not. The target area can be represented as a boolean mask over the 1.62 -surface pixels. 1.63 -One class of feature selection scoring method are those which calculate some sort of &#8220;match&#8221; between each gene image 1.64 -and the target image. Those genes which match the best are good candidates for features. 1.65 -One of the simplest methods in this class is to use correlation as the match score. We calculated the correlation between 1.66 -each gene and each cortical area. The top row of Figure 2 shows the three genes most correlated with area SS. 1.67 - 1.68 - 1.69 - 1.70 -Figure 2: Top row: Genes Nfic, A930001M12Rik, C130038G02Rik are the most correlated with area SS (somatosensory 1.71 -cortex). Bottom row: Genes C130038G02Rik, Cacna1i, Car10 are those with the best fit using logistic regression. Within 1.72 -each picture, the vertical axis roughly corresponds to anterior at the top and posterior at the bottom, and the horizontal 1.73 -axis roughly corresponds to medial at the left and lateral at the right. The red outline is the boundary of region MO. Pixels 1.74 -are colored according to correlation, with red meaning high correlation and blue meaning low. 1.75 -Conditional entropy An information-theoretic scoring method is to find features such that, if the features (gene 1.76 -expression levels) are known, uncertainty about the target (the regional identity) is reduced. Entropy measures uncertainty, 1.77 -so what we want is to find features such that the conditional distribution of the target has minimal entropy. The distribution 1.78 -to which we are referring is the probability distribution over the population of surface pixels. 1.79 -The simplest way to use information theory is on discrete data, so we discretized our gene expression data by creating, 1.80 -for each gene, five thresholded boolean masks of the gene data. For each gene, we created a boolean mask of its expression 1.81 -levels using each of these thresholds: the mean of that gene, the mean minus one standard deviation, the mean minus two 1.82 -standard deviations, the mean plus one standard deviation, the mean plus two standard deviations. 1.83 -Now, for each region, we created and ran a forward stepwise procedure which attempted to find pairs of gene expression 1.84 -boolean masks such that the conditional entropy of the target area&#8217;s boolean mask, conditioned upon the pair of gene 1.85 -expression boolean masks, is minimized. 1.86 -This finds pairs of genes which are most informative (at least at these discretization thresholds) relative to the question, 1.87 -&#8220;Is this surface pixel a member of the target area?&#8221;. Its advantage over linear methods such as logistic regression is that it 1.88 -takes account of arbitrarily nonlinear relationships; for example, if the XOR of two variables predicts the target, conditional 1.89 -entropy would notice, whereas linear methods would not. 1.90 -Gradient similarity We noticed that the previous two scoring methods, which are pointwise, often found genes whose 1.91 -pattern of expression did not look similar in shape to the target region. For this reason we designed a non-pointwise local 1.92 -scoring method to detect when a gene had a pattern of expression which looked like it had a boundary whose shape is similar 1.93 -to the shape of the target region. We call this scoring method &#8220;gradient similarity&#8221;. 1.94 -One might say that gradient similarity attempts to measure how much the border of the area of gene expression and 1.95 -the border of the target region overlap. However, since gene expression falls off continuously rather than jumping from its 1.96 -maximum value to zero, the spatial pattern of a gene&#8217;s expression often does not have a discrete border. Therefore, instead 1.97 -of looking for a discrete border, we look for large gradients. Gradient similarity is a symmetric function over two images 1.98 -(i.e. two scalar fields). It is is high to the extent that matching pixels which have large values and large gradients also have 1.99 -gradients which are oriented in a similar direction. The formula is: 1.100 - &#x2211; 1.101 - pixel<img src="cmsy7-32.png" alt="&#x2208;" />pixels cos(abs(&#x2220;&#x2207;1 -&#x2220;&#x2207;2)) &#x22C5;|&#x2207;1| + |&#x2207;2| 1.102 + 1.103 + 1.104 +Figure 2: Top row: Genes Nfic and 1.105 +A930001M12Rik are the most correlated with 1.106 +area SS (somatosensory cortex). Bottom row: 1.107 +Genes C130038G02Rik and Cacna1i are those 1.108 +with the best fit using logistic regression. Within 1.109 +each picture, the vertical axis roughly corre- 1.110 +sponds to anterior at the top and posterior at 1.111 +the bottom, and the horizontal axis roughly 1.112 +corresponds to medial at the left and lateral 1.113 +at the right. The red outline is the boundary 1.114 +of region MO. Pixels are colored according to 1.115 +correlation, with red meaning high correlation 1.116 +and blue meaning low. We created a normalized version of the gene expression data by sub- 1.117 + tracting each gene&#8217;s mean expression level (over all surface pixels) and 1.118 + dividing each gene by its standard deviation. 1.119 + The features and the target area are both functions on the surface 1.120 + pixels. They can be referred to as scalar fields over the space of sur- 1.121 + face pixels; alternately, they can be thought of as images which can be 1.122 + displayed on the flatmapped surface. 1.123 + To move beyond a single average expression level for each surface 1.124 + pixel, we plan to create a separate matrix for each cortical layer to rep- 1.125 + resent the average expression level within that layer. Cortical layers are 1.126 + found at different depths in different parts of the cortex. In preparation 1.127 + for extracting the layer-specific datasets, we have extended Caret with 1.128 + routines that allow the depth of the ROI for volume-to-surface projection 1.129 + to vary. 1.130 + In the Research Plan, we describe how we will automatically locate 1.131 + the layer depths. For validation, we have manually demarcated the depth 1.132 + of the outer boundary of cortical layer 5 throughout the cortex. 1.133 + Feature selection and scoring methods 1.134 + Underexpression of a gene can serve as a marker Underexpression 1.135 + of a gene can sometimes serve as a marker. See, for example, Figure 1. 1.136 + Correlation Recall that the instances are surface pixels, and con- 1.137 + sider the problem of attempting to classify each instance as either a 1.138 + member of a particular anatomical area, or not. The target area can be 1.139 + represented as a boolean mask over the surface pixels. 1.140 + One class of feature selection scoring method are those which calcu- 1.141 + late some sort of &#8220;match&#8221; between each gene image and the target image. 1.142 + Those genes which match the best are good candidates for features. 1.143 + One of the simplest methods in this class is to use correlation as 1.144 + the match score. We calculated the correlation between each gene and 1.145 + each cortical area. The top row of Figure 2 shows the three genes most 1.146 +correlated with area SS. 1.147 + 1.148 + 1.149 +Figure 3: The top row shows the two genes which 1.150 +(individually) best predict area AUD, according 1.151 +to logistic regression. The bottom row shows the 1.152 +two genes which (individually) best match area 1.153 +AUD, according to gradient similarity. From left 1.154 +to right and top to bottom, the genes are Ssr1, 1.155 +Efcbp1, Ptk7, and Aph1a. Conditional entropy An information-theoretic scoring method is 1.156 + to find features such that, if the features (gene expression levels) are 1.157 + known, uncertainty about the target (the regional identity) is reduced. 1.158 + Entropy measures uncertainty, so what we want is to find features such 1.159 + that the conditional distribution of the target has minimal entropy. The 1.160 + distribution to which we are referring is the probability distribution over 1.161 + the population of surface pixels. 1.162 + The simplest way to use information theory is on discrete data, so 1.163 + we discretized our gene expression data by creating, for each gene, five 1.164 + thresholded boolean masks of the gene data. For each gene, we created a 1.165 + boolean mask of its expression levels using each of these thresholds: the 1.166 + mean of that gene, the mean minus one standard deviation, the mean 1.167 + minus two standard deviations, the mean plus one standard deviation, 1.168 + the mean plus two standard deviations. 1.169 + Now, for each region, we created and ran a forward stepwise pro- 1.170 + cedure which attempted to find pairs of gene expression boolean masks 1.171 + such that the conditional entropy of the target area&#8217;s boolean mask, con- 1.172 + ditioned upon the pair of gene expression boolean masks, is minimized. 1.173 + This finds pairs of genes which are most informative (at least at these 1.174 + discretization thresholds) relative to the question, &#8220;Is this surface pixel 1.175 + a member of the target area?&#8221;. Its advantage over linear methods such 1.176 + as logistic regression is that it takes account of arbitrarily nonlinear re- 1.177 + lationships; for example, if the XOR of two variables predicts the target, 1.178 + conditional entropy would notice, whereas linear methods would not. 1.179 + 1.180 + 1.181 +Figure 4: Upper left: wwc1. Upper right: mtif2. 1.182 +Lower left: wwc1 + mtif2 (each pixel&#8217;s value on 1.183 +the lower left is the sum of the corresponding pix- 1.184 +els in the upper row). Gradient similarity We noticed that the previous two scoring 1.185 + methods, which are pointwise, often found genes whose pattern of ex- 1.186 + pression did not look similar in shape to the target region. For this 1.187 + reason we designed a non-pointwise local scoring method to detect when 1.188 + a gene had a pattern of expression which looked like it had a boundary 1.189 + whose shape is similar to the shape of the target region. We call this 1.190 + scoring method &#8220;gradient similarity&#8221;. 1.191 + One might say that gradient similarity attempts to measure how 1.192 + much the border of the area of gene expression and the border of the 1.193 + target region overlap. However, since gene expression falls off continu- 1.194 + ously rather than jumping from its maximum value to zero, the spatial 1.195 + pattern of a gene&#8217;s expression often does not have a discrete border. 1.196 + Therefore, instead of looking for a discrete border, we look for large 1.197 + gradients. Gradient similarity is a symmetric function over two images 1.198 + (i.e. two scalar fields). It is is high to the extent that matching pixels 1.199 + which have large values and large gradients also have gradients which 1.200 + are oriented in a similar direction. The formula is: 1.201 + &#x2211; 1.202 + pixel<img src="cmsy7-32.png" alt="&#x2208;" />pixels cos(abs(&#x2220;&#x2207;1 -&#x2220;&#x2207;2)) &#x22C5;|&#x2207;1| + |&#x2207;2| 1.203 2 &#x22C5; pixel_value1 + pixel_value2 1.204 2 1.205 -where &#x2207;1 and &#x2207;2 are the gradient vectors of the two images at the current pixel; &#x2220;&#x2207;i is the angle of the gradient of 1.206 -image i at the current pixel; |&#x2207;i| is the magnitude of the gradient of image i at the current pixel; and pixel_valuei is the 1.207 -value of the current pixel in image i. 1.208 + where &#x2207;1 and &#x2207;2 are the gradient vectors of the two images at the 1.209 +current pixel; &#x2220;&#x2207;i is the angle of the gradient of image i at the current pixel; |&#x2207;i| is the magnitude of the gradient of image 1.210 +i at the current pixel; and pixel_valuei is the value of the current pixel in image i. 1.211 The intuition is that we want to see if the borders of the pattern in the two images are similar; if the borders are similar, 1.212 then both images will have corresponding pixels with large gradients (because this is a border) which are oriented in a 1.213 similar direction (because the borders are similar). 1.214 -Most of the genes in Figure 4 were identified via gradient similarity. 1.215 +Most of the genes in Figure 5 were identified via gradient similarity. 1.216 Gradient similarity provides information complementary to correlation 1.217 - 1.218 - 1.219 - 1.220 -Figure 3: The top row shows the three genes which (individually) best predict area AUD, according to logistic regression. 1.221 -The bottom row shows the three genes which (individually) best match area AUD, according to gradient similarity. From 1.222 -left to right and top to bottom, the genes are Ssr1, Efcbp1, Aph1a, Ptk7, Aph1a again, and Lepr 1.223 To show that gradient similarity can provide useful information that cannot be detected via pointwise analyses, consider 1.224 Fig. 3. The top row of Fig. 3 displays the 3 genes which most match area AUD, according to a pointwise method17. The 1.225 +_________________________________________ 1.226 + 17For each gene, a logistic regression in which the response variable was whether or not a surface pixel was within area AUD, and the predictor 1.227 bottom row displays the 3 genes which most match AUD according to a method which considers local geometry18 The 1.228 pointwise method in the top row identifies genes which express more strongly in AUD than outside of it; its weakness is 1.229 that this includes many areas which don&#8217;t have a salient border matching the areal border. The geometric method identifies 1.230 @@ -420,93 +465,133 @@ 1.231 genes which don&#8217;t express over the entire area. Genes which have high rankings using both pointwise and border criteria, 1.232 such as Aph1a in the example, may be particularly good markers. None of these genes are, individually, a perfect marker 1.233 for AUD; we deliberately chose a &#8220;difficult&#8221; area in order to better contrast pointwise with geometric methods. 1.234 -Areas which can be identified by single genes Using gradient similarity, we have already found single genes which 1.235 -roughly identify some areas and groupings of areas. For each of these areas, an example of a gene which roughly identifies 1.236 -it is shown in Figure 4. We have not yet cross-verified these genes in other atlases. 1.237 -In addition, there are a number of areas which are almost identified by single genes: COAa+NLOT (anterior part of 1.238 -cortical amygdalar area, nucleus of the lateral olfactory tract), ENT (entorhinal), ACAv (ventral anterior cingulate), VIS 1.239 -(visual), AUD (auditory). 1.240 -These results validate our expectation that the ABA dataset can be exploited to find marker genes for many cortical 1.241 -areas, while also validating the relevancy of our new scoring method, gradient similarity. 1.242 -Combinations of multiple genes are useful and necessary for some areas 1.243 -In Figure 5, we give an example of a cortical area which is not marked by any single gene, but which can be identified 1.244 -combinatorially. This shows that our proposal to develop a method to find combinations of marker genes is both possible 1.245 -and necessary. 1.246 -Feature selection integrated with prediction As noted earlier, in general, any predictive method can be used for 1.247 -feature selection by running it inside a stepwise wrapper. Also, some predictive methods integrate soft constraints on number 1.248 -of features used. Examples of both of these will be seen in the section &#8220;Multivariate Predictive methods&#8221;. 1.249 -Multivariate Predictive methods 1.250 -Forward stepwise logistic regression Logistic regression is a popular method for predictive modeling of categorial data. 1.251 -As a pilot run, for five cortical areas (SS, AUD, RSP, VIS, and MO), we performed forward stepwise logistic regression to 1.252 -find single genes, pairs of genes, and triplets of genes which predict areal identify. This is an example of feature selection 1.253 -integrated with prediction using a stepwise wrapper. Some of the single genes found were shown in various figures throughout 1.254 -this document, and Figure 5 shows a combination of genes which was found. 1.255 + 1.256 + 1.257 + 1.258 + 1.259 +Figure 5: From left to right and top to bot- 1.260 +tom, single genes which roughly identify ar- 1.261 +eas SS (somatosensory primary +supplemental), 1.262 +SSs (supplemental somatosensory), PIR (piri- 1.263 +form), FRP (frontal pole), RSP (retrosplenial), 1.264 +COApm (Cortical amygdalar, posterior part, me- 1.265 +dial zone). Grouping some areas together, we 1.266 +have also found genes to identify the groups 1.267 +ACA+PL+ILA+DP+ORB+MO (anterior cingu- 1.268 +late, prelimbic, infralimbic, dorsal peduncular, or- 1.269 +bital, motor), posterior and lateral visual (VISpm, 1.270 +VISpl, VISI, VISp; posteromedial, posterolateral, 1.271 +lateral, and primary visual; the posterior and lat- 1.272 +eral visual area is distinguished from its neigh- 1.273 +bors, but not from the entire rest of the cortex). 1.274 +The genes are Pitx2, Aldh1a2, Ppfibp1, Slco1a5, 1.275 +Tshz2, Trhr, Col12a1, Ets1. Areas which can be identified by single genes Using gradient 1.276 + similarity, we have already found single genes which roughly identify 1.277 + some areas and groupings of areas. For each of these areas, an example 1.278 + of a gene which roughly identifies it is shown in Figure 5. We have not 1.279 + yet cross-verified these genes in other atlases. 1.280 + In addition, there are a number of areas which are almost identified 1.281 + by single genes: COAa+NLOT (anterior part of cortical amygdalar area, 1.282 + nucleus of the lateral olfactory tract), ENT (entorhinal), ACAv (ventral 1.283 + anterior cingulate), VIS (visual), AUD (auditory). 1.284 + These results validate our expectation that the ABA dataset can 1.285 + be exploited to find marker genes for many cortical areas, while also 1.286 + validating the relevancy of our new scoring method, gradient similarity. 1.287 + Combinations of multiple genes are useful and necessary for 1.288 + some areas 1.289 + In Figure 4, we give an example of a cortical area which is not marked 1.290 + by any single gene, but which can be identified combinatorially. Acc- 1.291 + cording to logistic regression, gene wwc1 is the best fit single gene for 1.292 + predicting whether or not a pixel on the cortical surface belongs to the 1.293 + motor area (area MO). The upper-left picture in Figure 4 shows wwc1&#8217;s 1.294 + spatial expression pattern over the cortex. The lower-right boundary of 1.295 + MO is represented reasonably well by this gene, however the gene over- 1.296 + shoots the upper-left boundary. This flattened 2-D representation does 1.297 + not show it, but the area corresponding to the overshoot is the medial 1.298 + surface of the cortex. MO is only found on the lateral surface. Gene mtif2 1.299 + is shown in the upper-right. Mtif2 captures MO&#8217;s upper-left boundary, 1.300 + but not its lower-right boundary. Mtif2 does not express very much on 1.301 + the medial surface. By adding together the values at each pixel in these 1.302 + two figures, we get the lower-left image. This combination captures area 1.303 + MO much better than any single gene. 1.304 + This shows that our proposal to develop a method to find combina- 1.305 + tions of marker genes is both possible and necessary. 1.306 + Feature selection integrated with prediction As noted earlier, 1.307 + in general, any predictive method can be used for feature selection by 1.308 + running it inside a stepwise wrapper. Also, some predictive methods 1.309 + integrate soft constraints on number of features used. Examples of both 1.310 + of these will be seen in the section &#8220;Multivariate Predictive methods&#8221;. 1.311 + Multivariate Predictive methods 1.312 + Forward stepwise logistic regression Logistic regression is a popu- 1.313 + lar method for predictive modeling of categorial data. As a pilot run, 1.314 + for five cortical areas (SS, AUD, RSP, VIS, and MO), we performed 1.315 + forward stepwise logistic regression to find single genes, pairs of genes, 1.316 + and triplets of genes which predict areal identify. This is an example 1.317 + of feature selection integrated with prediction using a stepwise wrapper. 1.318 + Some of the single genes found were shown in various figures throughout 1.319 _________________________________________ 1.320 - 17For each gene, a logistic regression in which the response variable was whether or not a surface pixel was within area AUD, and the predictor 1.321 variable was the value of the expression of the gene underneath that pixel. The resulting scores were used to rank the genes in terms of how well 1.322 they predict area AUD. 1.323 18For each gene the gradient similarity between (a) a map of the expression of each gene on the cortical surface and (b) the shape of area AUD, 1.324 was calculated, and this was used to rank the genes. 1.325 + this document, and Figure 4 shows a combination of genes which was 1.326 + found. 1.327 + We felt that, for single genes, gradient similarity did a better job 1.328 +than logistic regression at capturing our subjective impression of a &#8220;good gene&#8221;. 1.329 1.330 - 1.331 - 1.332 -Figure 4: From left to right and top to bottom, single genes which roughly identify areas SS (somatosensory primary + 1.333 -supplemental), SSs (supplemental somatosensory), PIR (piriform), FRP (frontal pole), RSP (retrosplenial), COApm (Corti- 1.334 -cal amygdalar, posterior part, medial zone). Grouping some areas together, we have also found genes to identify the groups 1.335 -ACA+PL+ILA+DP+ORB+MO (anterior cingulate, prelimbic, infralimbic, dorsal peduncular, orbital, motor), posterior 1.336 -and lateral visual (VISpm, VISpl, VISI, VISp; posteromedial, posterolateral, lateral, and primary visual; the posterior and 1.337 -lateral visual area is distinguished from its neighbors, but not from the entire rest of the cortex). The genes are Pitx2, 1.338 -Aldh1a2, Ppfibp1, Slco1a5, Tshz2, Trhr, Col12a1, Ets1. 1.339 - 1.340 - 1.341 -Figure 5: Upper left: wwc1. Upper right: mtif2. Lower left: wwc1 + mtif2 (each pixel&#8217;s value on the lower left is the 1.342 -sum of the corresponding pixels in the upper row). Acccording to logistic regression, gene wwc1 is the best fit single gene 1.343 -for predicting whether or not a pixel on the cortical surface belongs to the motor area (area MO). The upper-left picture in 1.344 -Figure 5 shows wwc1&#8217;s spatial expression pattern over the cortex. The lower-right boundary of MO is represented reasonably 1.345 -well by this gene, however the gene overshoots the upper-left boundary. This flattened 2-D representation does not show 1.346 -it, but the area corresponding to the overshoot is the medial surface of the cortex. MO is only found on the lateral surface. 1.347 -Gene mtif2 is shown in the upper-right. Mtif2 captures MO&#8217;s upper-left boundary, but not its lower-right boundary. Mtif2 1.348 -does not express very much on the medial surface. By adding together the values at each pixel in these two figures, we get 1.349 -the lower-left image. This combination captures area MO much better than any single gene. 1.350 -We felt that, for single genes, gradient similarity did a better job than logistic regression at capturing our subjective 1.351 -impression of a &#8220;good gene&#8221;. 1.352 -SVM on all genes at once 1.353 -In order to see how well one can do when looking at all genes at once, we ran a support vector machine to classify cortical 1.354 -surface pixels based on their gene expression profiles. We achieved classification accuracy of about 81%19. This shows that 1.355 -the genes included in the ABA dataset are sufficient to define much of cortical anatomy. As noted above, however, a classifier 1.356 -that looks at all the genes at once isn&#8217;t as practically useful as a classifier that uses only a few genes. 1.357 -Data-driven redrawing of the cortical map 1.358 -We have applied the following dimensionality reduction algorithms to reduce the dimensionality of the gene expression 1.359 -profile associated with each voxel: Principal Components Analysis (PCA), Simple PCA (SPCA), Multi-Dimensional Scaling 1.360 -(MDS), Isomap, Landmark Isomap, Laplacian eigenmaps, Local Tangent Space Alignment (LTSA), Hessian locally linear 1.361 -embedding, Diffusion maps, Stochastic Neighbor Embedding (SNE), Stochastic Proximity Embedding (SPE), Fast Maximum 1.362 -Variance Unfolding (FastMVU), Non-negative Matrix Factorization (NNMF). Space constraints prevent us from showing 1.363 -many of the results, but as a sample, PCA, NNMF, and landmark Isomap are shown in the second, third, and fourth rows 1.364 -of Figure 6. 1.365 + 1.366 + 1.367 + 1.368 +Figure 6: First row: the first 6 reduced dimensions, using PCA. Second 1.369 +row: the first 6 reduced dimensions, using NNMF. Third row: the first 1.370 +six reduced dimensions, using landmark Isomap. Bottom row: examples 1.371 +of kmeans clustering applied to reduced datasets to find 7 clusters. Left: 1.372 +19 of the major subdivisions of the cortex. Second from left: PCA. Third 1.373 +from left: NNMF. Right: Landmark Isomap. Additional details: In the 1.374 +third and fourth rows, 7 dimensions were found, but only 6 displayed. In 1.375 +the last row: for PCA, 50 dimensions were used; for NNMF, 6 dimensions 1.376 +were used; for landmark Isomap, 7 dimensions were used. SVM on all genes at once 1.377 + In order to see how well one can do when 1.378 + looking at all genes at once, we ran a support 1.379 + vector machine to classify cortical surface pix- 1.380 + els based on their gene expression profiles. We 1.381 + achieved classification accuracy of about 81%19. 1.382 + This shows that the genes included in the ABA 1.383 + dataset are sufficient to define much of cortical 1.384 + anatomy. As noted above, however, a classifier 1.385 + that looks at all the genes at once isn&#8217;t as prac- 1.386 + tically useful as a classifier that uses only a few 1.387 + genes. 1.388 + Data-driven redrawing of the cor- 1.389 + tical map 1.390 + We have applied the following dimensional- 1.391 + ity reduction algorithms to reduce the dimen- 1.392 + sionality of the gene expression profile associ- 1.393 + ated with each voxel: Principal Components 1.394 + Analysis (PCA), Simple PCA (SPCA), Multi- 1.395 + Dimensional Scaling (MDS), Isomap, Land- 1.396 + mark Isomap, Laplacian eigenmaps, Local Tan- 1.397 + gent Space Alignment (LTSA), Hessian locally 1.398 + linear embedding, Diffusion maps, Stochastic 1.399 + Neighbor Embedding (SNE), Stochastic Prox- 1.400 + imity Embedding (SPE), Fast Maximum Vari- 1.401 + ance Unfolding (FastMVU), Non-negative Ma- 1.402 + trix Factorization (NNMF). Space constraints 1.403 + prevent us from showing many of the results, 1.404 + but as a sample, PCA, NNMF, and landmark 1.405 + Isomap are shown in the first, second, and third 1.406 + rows of Figure 6. 1.407 After applying the dimensionality reduction, we ran clustering algorithms on the reduced data. To date we have tried 1.408 k-means and spectral clustering. The results of k-means after PCA, NNMF, and landmark Isomap are shown in the last 1.409 -row of Figure 6. To compare, the first row of Figure 6 shows some of the major subdivisions of cortex. These results 1.410 -clearly show that different dimensionality reduction techniques capture different aspects of the data and lead to different 1.411 -clusterings, indicating the utility of our proposal to produce a detailed comparion of these techniques as applied to the 1.412 -domain of genomic anatomy. 1.413 -todo: nnmf 7 1.414 +row of Figure 6. To compare, the leftmost picture on the bottom row of Figure 6 shows some of the major subdivisions of 1.415 +cortex. These results clearly show that different dimensionality reduction techniques capture different aspects of the data 1.416 +and lead to different clusterings, indicating the utility of our proposal to produce a detailed comparion of these techniques 1.417 +as applied to the domain of genomic anatomy. 1.418 Many areas are captured by clusters of genes 1.419 todo 1.420 todo 1.421 _________________________________________ 1.422 195-fold cross-validation. 1.423 - 1.424 - 1.425 - 1.426 - 1.427 - 1.428 - 1.429 -Figure 6: Top row: 19 of the major subdivisions of the cortex. Second row: the first 6 reduced dimensions, using PCA. 1.430 -Third row: the first 6 reduced dimensions, using NNMF. Fourth row: the first six reduced dimensions, using landmark 1.431 -Isomap. Bottom row: examples of kmeans clustering applied to reduced datasets to find 7 clusters. Left: PCA. Middle: 1.432 -NNMF. Right: Landmark Isomap. Additional details: In the third and fourth rows, 7 dimensions were found, but only 6 1.433 -displayed. In the last row: for PCA, 50 dimensions were used; for NNMF, 6 dimensions were used; for landmark Isomap, 7 1.434 -dimensions were used. 1.435 Research plan 1.436 Further work on flatmapping 1.437 In anatomy, the manifold of interest is usually either defined by a combination of two relevant anatomical axes (todo),
2.1 Binary file grant.odt has changed
3.1 Binary file grant.pdf has changed
4.1 --- a/grant.txt Mon Apr 20 15:08:40 2009 -0700 4.2 +++ b/grant.txt Mon Apr 20 16:21:13 2009 -0700 4.3 @@ -1,6 +1,9 @@ 4.4 \documentclass{nih-blank} 4.5 %%\piname{Stevens, Charles F.} 4.6 4.7 +%%\usepackage{floatflt} 4.8 +\usepackage{wrapfig} 4.9 + 4.10 == Specific aims == 4.11 4.12 Massive new datasets obtained with techniques such as in situ hybridization (ISH), immunohistochemistry, in situ transgenic reporter, microarray voxelation, and others, allow the expression levels of many genes at many locations to be compared. Our goal is to develop automated methods to relate spatial variation in gene expression to anatomy. We want to find marker genes for specific anatomical regions, and also to draw new anatomical maps based on gene expression patterns. We have three specific aims:\\ 4.13 @@ -231,6 +234,13 @@ 4.14 4.15 4.16 === Flatmap of cortex === 4.17 +\begin{wrapfigure}{L}{0.2\textwidth}\centering 4.18 +\includegraphics[scale=.31]{holeExample_2682_SS_jet.eps} 4.19 +\caption{Gene Pitx2 is selectively underexpressed in area SS (somatosensory).} 4.20 +\label{hole}\end{wrapfigure} 4.21 + 4.22 + 4.23 + 4.24 We downloaded the ABA data and applied a mask to select only those voxels which belong to cerebral cortex. We divided the cortex into hemispheres. 4.25 4.26 Using Caret\cite{van_essen_integrated_2001}, we created a mesh representation of the surface of the selected voxels. For each gene, for each node of the mesh, we calculated an average of the gene expression of the voxels "underneath" that mesh node. We then flattened the cortex, creating a two-dimensional mesh. 4.27 @@ -244,6 +254,21 @@ 4.28 * A 2-D matrix whose entries represent the regional label associated with each surface pixel 4.29 * For each gene, a 2-D matrix whose entries represent the average expression level underneath each surface pixel 4.30 4.31 +\begin{wrapfigure}{L}{0.4\textwidth}\centering 4.32 +%%\includegraphics[scale=.31]{singlegene_SS_corr_top_1_2365_jet.eps}\includegraphics[scale=.31]{singlegene_SS_corr_top_2_242_jet.eps}\includegraphics[scale=.31]{singlegene_SS_corr_top_3_654_jet.eps} 4.33 +%%\\ 4.34 +%%\includegraphics[scale=.31]{singlegene_SS_lr_top_1_654_jet.eps}\includegraphics[scale=.31]{singlegene_SS_lr_top_2_685_jet.eps}\includegraphics[scale=.31]{singlegene_SS_lr_top_3_724_jet.eps} 4.35 +%%\caption{Top row: Genes Nfic, A930001M12Rik, C130038G02Rik are the most correlated with area SS (somatosensory cortex). Bottom row: Genes C130038G02Rik, Cacna1i, Car10 are those with the best fit using logistic regression. Within each picture, the vertical axis roughly corresponds to anterior at the top and posterior at the bottom, and the horizontal axis roughly corresponds to medial at the left and lateral at the right. The red outline is the boundary of region MO. Pixels are colored according to correlation, with red meaning high correlation and blue meaning low.} 4.36 + 4.37 +\includegraphics[scale=.31]{singlegene_SS_corr_top_1_2365_jet.eps}\includegraphics[scale=.31]{singlegene_SS_corr_top_2_242_jet.eps} 4.38 +\\ 4.39 +\includegraphics[scale=.31]{singlegene_SS_lr_top_1_654_jet.eps}\includegraphics[scale=.31]{singlegene_SS_lr_top_2_685_jet.eps} 4.40 + 4.41 +\caption{Top row: Genes Nfic and A930001M12Rik are the most correlated with area SS (somatosensory cortex). Bottom row: Genes C130038G02Rik and Cacna1i are those with the best fit using logistic regression. Within each picture, the vertical axis roughly corresponds to anterior at the top and posterior at the bottom, and the horizontal axis roughly corresponds to medial at the left and lateral at the right. The red outline is the boundary of region MO. Pixels are colored according to correlation, with red meaning high correlation and blue meaning low.} 4.42 +\label{SScorrLr}\end{wrapfigure} 4.43 + 4.44 + 4.45 + 4.46 We created a normalized version of the gene expression data by subtracting each gene's mean expression level (over all surface pixels) and dividing each gene by its standard deviation. 4.47 4.48 The features and the target area are both functions on the surface pixels. They can be referred to as scalar fields over the space of surface pixels; alternately, they can be thought of as images which can be displayed on the flatmapped surface. 4.49 @@ -260,15 +285,12 @@ 4.50 4.51 === Feature selection and scoring methods === 4.52 4.53 + 4.54 + 4.55 \vspace{0.3cm}**Underexpression of a gene can serve as a marker** 4.56 Underexpression of a gene can sometimes serve as a marker. See, for example, Figure \ref{hole}. 4.57 4.58 4.59 -\begin{figure}\centering 4.60 -\includegraphics[scale=.31]{holeExample_2682_SS_jet.eps} 4.61 -\caption{Gene Pitx2 is selectively underexpressed in area SS (somatosensory).} 4.62 -\label{hole}\end{figure} 4.63 - 4.64 4.65 \vspace{0.3cm}**Correlation** 4.66 Recall that the instances are surface pixels, and consider the problem of attempting to classify each instance as either a member of a particular anatomical area, or not. The target area can be represented as a boolean mask over the surface pixels. 4.67 @@ -277,20 +299,17 @@ 4.68 4.69 One of the simplest methods in this class is to use correlation as the match score. We calculated the correlation between each gene and each cortical area. The top row of Figure \ref{SScorrLr} shows the three genes most correlated with area SS. 4.70 4.71 -\begin{figure}\centering 4.72 -\includegraphics[scale=.31]{singlegene_SS_corr_top_1_2365_jet.eps} 4.73 -\includegraphics[scale=.31]{singlegene_SS_corr_top_2_242_jet.eps} 4.74 -\includegraphics[scale=.31]{singlegene_SS_corr_top_3_654_jet.eps} 4.75 + 4.76 +\begin{wrapfigure}{L}{0.4\textwidth}\centering 4.77 +%%\includegraphics[scale=.31]{singlegene_AUD_lr_top_1_3386_jet.eps}\includegraphics[scale=.31]{singlegene_AUD_lr_top_2_1258_jet.eps}\includegraphics[scale=.31]{singlegene_AUD_lr_top_3_420_jet.eps} 4.78 +%% 4.79 +%%\includegraphics[scale=.31]{singlegene_AUD_gr_top_1_2856_jet.eps}\includegraphics[scale=.31]{singlegene_AUD_gr_top_2_420_jet.eps}\includegraphics[scale=.31]{singlegene_AUD_gr_top_3_2072_jet.eps} 4.80 +%%\caption{The top row shows the three genes which (individually) best predict area AUD, according to logistic regression. The bottom row shows the three genes which (individually) best match area AUD, according to gradient similarity. From left to right and top to bottom, the genes are $Ssr1$, $Efcbp1$, $Aph1a$, $Ptk7$, $Aph1a$ again, and $Lepr$} 4.81 +\includegraphics[scale=.31]{singlegene_AUD_lr_top_1_3386_jet.eps}\includegraphics[scale=.31]{singlegene_AUD_lr_top_2_1258_jet.eps} 4.82 \\ 4.83 -\includegraphics[scale=.31]{singlegene_SS_lr_top_1_654_jet.eps} 4.84 -\includegraphics[scale=.31]{singlegene_SS_lr_top_2_685_jet.eps} 4.85 -\includegraphics[scale=.31]{singlegene_SS_lr_top_3_724_jet.eps} 4.86 - 4.87 - 4.88 -\caption{Top row: Genes Nfic, A930001M12Rik, C130038G02Rik are the most correlated with area SS (somatosensory cortex). Bottom row: Genes C130038G02Rik, Cacna1i, Car10 are those with the best fit using logistic regression. Within each picture, the vertical axis roughly corresponds to anterior at the top and posterior at the bottom, and the horizontal axis roughly corresponds to medial at the left and lateral at the right. The red outline is the boundary of region MO. Pixels are colored according to correlation, with red meaning high correlation and blue meaning low.} 4.89 -\label{SScorrLr}\end{figure} 4.90 - 4.91 - 4.92 +\includegraphics[scale=.31]{singlegene_AUD_gr_top_1_2856_jet.eps}\includegraphics[scale=.31]{singlegene_AUD_gr_top_2_420_jet.eps} 4.93 +\caption{The top row shows the two genes which (individually) best predict area AUD, according to logistic regression. The bottom row shows the two genes which (individually) best match area AUD, according to gradient similarity. From left to right and top to bottom, the genes are $Ssr1$, $Efcbp1$, $Ptk7$, and $Aph1a$.} 4.94 +\label{AUDgeometry}\end{wrapfigure} 4.95 4.96 \vspace{0.3cm}**Conditional entropy** 4.97 An information-theoretic scoring method is to find features such that, if the features (gene expression levels) are known, uncertainty about the target (the regional identity) is reduced. Entropy measures uncertainty, so what we want is to find features such that the conditional distribution of the target has minimal entropy. The distribution to which we are referring is the probability distribution over the population of surface pixels. 4.98 @@ -302,6 +321,14 @@ 4.99 This finds pairs of genes which are most informative (at least at these discretization thresholds) relative to the question, "Is this surface pixel a member of the target area?". Its advantage over linear methods such as logistic regression is that it takes account of arbitrarily nonlinear relationships; for example, if the XOR of two variables predicts the target, conditional entropy would notice, whereas linear methods would not. 4.100 4.101 4.102 +\begin{wrapfigure}{L}{0.4\textwidth}\centering 4.103 +\includegraphics[scale=.31]{MO_vs_Wwc1_jet.eps}\includegraphics[scale=.31]{MO_vs_Mtif2_jet.eps} 4.104 + 4.105 +\includegraphics[scale=.31]{MO_vs_Wwc1_plus_Mtif2_jet.eps} 4.106 +\caption{Upper left: $wwc1$. Upper right: $mtif2$. Lower left: wwc1 + mtif2 (each pixel's value on the lower left is the sum of the corresponding pixels in the upper row).} 4.107 +\label{MOcombo}\end{wrapfigure} 4.108 + 4.109 + 4.110 \vspace{0.3cm}**Gradient similarity** 4.111 We noticed that the previous two scoring methods, which are pointwise, often found genes whose pattern of expression did not look similar in shape to the target region. For this reason we designed a non-pointwise local scoring method to detect when a gene had a pattern of expression which looked like it had a boundary whose shape is similar to the shape of the target region. We call this scoring method "gradient similarity". 4.112 4.113 @@ -322,17 +349,15 @@ 4.114 To show that gradient similarity can provide useful information that cannot be detected via pointwise analyses, consider Fig. \ref{AUDgeometry}. The top row of Fig. \ref{AUDgeometry} displays the 3 genes which most match area AUD, according to a pointwise method\footnote{For each gene, a logistic regression in which the response variable was whether or not a surface pixel was within area AUD, and the predictor variable was the value of the expression of the gene underneath that pixel. The resulting scores were used to rank the genes in terms of how well they predict area AUD.}. The bottom row displays the 3 genes which most match AUD according to a method which considers local geometry\footnote{For each gene the gradient similarity between (a) a map of the expression of each gene on the cortical surface and (b) the shape of area AUD, was calculated, and this was used to rank the genes.} The pointwise method in the top row identifies genes which express more strongly in AUD than outside of it; its weakness is that this includes many areas which don't have a salient border matching the areal border. The geometric method identifies genes whose salient expression border seems to partially line up with the border of AUD; its weakness is that this includes genes which don't express over the entire area. Genes which have high rankings using both pointwise and border criteria, such as $Aph1a$ in the example, may be particularly good markers. None of these genes are, individually, a perfect marker for AUD; we deliberately chose a "difficult" area in order to better contrast pointwise with geometric methods. 4.115 4.116 4.117 -\begin{figure}\centering 4.118 -\includegraphics[scale=.31]{singlegene_AUD_lr_top_1_3386_jet.eps} 4.119 -\includegraphics[scale=.31]{singlegene_AUD_lr_top_2_1258_jet.eps} 4.120 -\includegraphics[scale=.31]{singlegene_AUD_lr_top_3_420_jet.eps} 4.121 - 4.122 -\includegraphics[scale=.31]{singlegene_AUD_gr_top_1_2856_jet.eps} 4.123 -\includegraphics[scale=.31]{singlegene_AUD_gr_top_2_420_jet.eps} 4.124 -\includegraphics[scale=.31]{singlegene_AUD_gr_top_3_2072_jet.eps} 4.125 -\caption{The top row shows the three genes which (individually) best predict area AUD, according to logistic regression. The bottom row shows the three genes which (individually) best match area AUD, according to gradient similarity. From left to right and top to bottom, the genes are $Ssr1$, $Efcbp1$, $Aph1a$, $Ptk7$, $Aph1a$ again, and $Lepr$} 4.126 -\label{AUDgeometry}\end{figure} 4.127 - 4.128 + 4.129 +\begin{wrapfigure}{L}{0.4\textwidth}\centering 4.130 +\includegraphics[scale=.31]{singlegene_example_2682_Pitx2_SS_jet.eps}\includegraphics[scale=.31]{singlegene_example_371_Aldh1a2_SSs_jet.eps} 4.131 +\includegraphics[scale=.31]{singlegene_example_2759_Ppfibp1_PIR_jet.eps}\includegraphics[scale=.31]{singlegene_example_3310_Slco1a5_FRP_jet.eps} 4.132 +\includegraphics[scale=.31]{singlegene_example_3709_Tshz2_RSP_jet.eps}\includegraphics[scale=.31]{singlegene_example_3674_Trhr_COApm_jet.eps} 4.133 +\includegraphics[scale=.31]{singlegene_example_925_Col12a1_ACA+PL+ILA+DP+ORB+MO_jet.eps}\includegraphics[scale=.31]{singlegene_example_1334_Ets1_post_lat_vis_jet.eps} 4.134 + 4.135 +\caption{From left to right and top to bottom, single genes which roughly identify areas SS (somatosensory primary + supplemental), SSs (supplemental somatosensory), PIR (piriform), FRP (frontal pole), RSP (retrosplenial), COApm (Cortical amygdalar, posterior part, medial zone). Grouping some areas together, we have also found genes to identify the groups ACA+PL+ILA+DP+ORB+MO (anterior cingulate, prelimbic, infralimbic, dorsal peduncular, orbital, motor), posterior and lateral visual (VISpm, VISpl, VISI, VISp; posteromedial, posterolateral, lateral, and primary visual; the posterior and lateral visual area is distinguished from its neighbors, but not from the entire rest of the cortex). The genes are $Pitx2$, $Aldh1a2$, $Ppfibp1$, $Slco1a5$, $Tshz2$, $Trhr$, $Col12a1$, $Ets1$.} 4.136 +\label{singleSoFar}\end{wrapfigure} 4.137 4.138 \vspace{0.3cm}**Areas which can be identified by single genes** 4.139 Using gradient similarity, we have already found single genes which roughly identify some areas and groupings of areas. For each of these areas, an example of a gene which roughly identifies it is shown in Figure \ref{singleSoFar}. We have not yet cross-verified these genes in other atlases. 4.140 @@ -341,24 +366,13 @@ 4.141 4.142 These results validate our expectation that the ABA dataset can be exploited to find marker genes for many cortical areas, while also validating the relevancy of our new scoring method, gradient similarity. 4.143 4.144 -\begin{figure}\centering 4.145 -\includegraphics[scale=.31]{singlegene_example_2682_Pitx2_SS_jet.eps} 4.146 -\includegraphics[scale=.31]{singlegene_example_371_Aldh1a2_SSs_jet.eps} 4.147 -\includegraphics[scale=.31]{singlegene_example_2759_Ppfibp1_PIR_jet.eps} 4.148 -\includegraphics[scale=.31]{singlegene_example_3310_Slco1a5_FRP_jet.eps} 4.149 -\includegraphics[scale=.31]{singlegene_example_3709_Tshz2_RSP_jet.eps} 4.150 -\includegraphics[scale=.31]{singlegene_example_3674_Trhr_COApm_jet.eps} 4.151 -\includegraphics[scale=.31]{singlegene_example_925_Col12a1_ACA+PL+ILA+DP+ORB+MO_jet.eps} 4.152 -\includegraphics[scale=.31]{singlegene_example_1334_Ets1_post_lat_vis_jet.eps} 4.153 - 4.154 -\caption{From left to right and top to bottom, single genes which roughly identify areas SS (somatosensory primary + supplemental), SSs (supplemental somatosensory), PIR (piriform), FRP (frontal pole), RSP (retrosplenial), COApm (Cortical amygdalar, posterior part, medial zone). Grouping some areas together, we have also found genes to identify the groups ACA+PL+ILA+DP+ORB+MO (anterior cingulate, prelimbic, infralimbic, dorsal peduncular, orbital, motor), posterior and lateral visual (VISpm, VISpl, VISI, VISp; posteromedial, posterolateral, lateral, and primary visual; the posterior and lateral visual area is distinguished from its neighbors, but not from the entire rest of the cortex). The genes are $Pitx2$, $Aldh1a2$, $Ppfibp1$, $Slco1a5$, $Tshz2$, $Trhr$, $Col12a1$, $Ets1$.} 4.155 -\label{singleSoFar}\end{figure} 4.156 - 4.157 4.158 4.159 \vspace{0.3cm}**Combinations of multiple genes are useful and necessary for some areas** 4.160 4.161 -In Figure \ref{MOcombo}, we give an example of a cortical area which is not marked by any single gene, but which can be identified combinatorially. This shows that our proposal to develop a method to find combinations of marker genes is both possible and necessary. 4.162 +In Figure \ref{MOcombo}, we give an example of a cortical area which is not marked by any single gene, but which can be identified combinatorially. Acccording to logistic regression, gene wwc1 is the best fit single gene for predicting whether or not a pixel on the cortical surface belongs to the motor area (area MO). The upper-left picture in Figure \ref{MOcombo} shows wwc1's spatial expression pattern over the cortex. The lower-right boundary of MO is represented reasonably well by this gene, however the gene overshoots the upper-left boundary. This flattened 2-D representation does not show it, but the area corresponding to the overshoot is the medial surface of the cortex. MO is only found on the lateral surface. Gene mtif2 is shown in the upper-right. Mtif2 captures MO's upper-left boundary, but not its lower-right boundary. Mtif2 does not express very much on the medial surface. By adding together the values at each pixel in these two figures, we get the lower-left image. This combination captures area MO much better than any single gene. 4.163 + 4.164 +This shows that our proposal to develop a method to find combinations of marker genes is both possible and necessary. 4.165 4.166 %% wwc1\footnote{"WW, C2 and coiled-coil domain containing 1"; EntrezGene ID 211652} 4.167 %% mtif2\footnote{"mitochondrial translational initiation factor 2"; EntrezGene ID 76784} 4.168 @@ -367,13 +381,6 @@ 4.169 4.170 %%Gene mtif2\footnote{"mitochondrial translational initiation factor 2"; EntrezGene ID 76784} is shown in figure the upper-right of Fig. \ref{MOcombo}. Mtif2 captures MO's upper-left boundary, but not its lower-right boundary. Mtif2 does not express very much on the medial surface. By adding together the values at each pixel in these two figures, we get the lower-left of Figure \ref{MOcombo}. This combination captures area MO much better than any single gene. 4.171 4.172 -\begin{figure}\centering 4.173 -\includegraphics[scale=.36]{MO_vs_Wwc1_jet.eps} 4.174 -\includegraphics[scale=.36]{MO_vs_Mtif2_jet.eps} 4.175 - 4.176 -\includegraphics[scale=.36]{MO_vs_Wwc1_plus_Mtif2_jet.eps} 4.177 -\caption{Upper left: $wwc1$. Upper right: $mtif2$. Lower left: wwc1 + mtif2 (each pixel's value on the lower left is the sum of the corresponding pixels in the upper row). Acccording to logistic regression, gene wwc1 is the best fit single gene for predicting whether or not a pixel on the cortical surface belongs to the motor area (area MO). The upper-left picture in Figure \ref{MOcombo} shows wwc1's spatial expression pattern over the cortex. The lower-right boundary of MO is represented reasonably well by this gene, however the gene overshoots the upper-left boundary. This flattened 2-D representation does not show it, but the area corresponding to the overshoot is the medial surface of the cortex. MO is only found on the lateral surface. Gene mtif2 is shown in the upper-right. Mtif2 captures MO's upper-left boundary, but not its lower-right boundary. Mtif2 does not express very much on the medial surface. By adding together the values at each pixel in these two figures, we get the lower-left image. This combination captures area MO much better than any single gene. } 4.178 -\label{MOcombo}\end{figure} 4.179 4.180 4.181 4.182 @@ -382,40 +389,37 @@ 4.183 4.184 4.185 === Multivariate Predictive methods === 4.186 + 4.187 \vspace{0.3cm}**Forward stepwise logistic regression** 4.188 Logistic regression is a popular method for predictive modeling of categorial data. As a pilot run, for five cortical areas (SS, AUD, RSP, VIS, and MO), we performed forward stepwise logistic regression to find single genes, pairs of genes, and triplets of genes which predict areal identify. This is an example of feature selection integrated with prediction using a stepwise wrapper. Some of the single genes found were shown in various figures throughout this document, and Figure \ref{MOcombo} shows a combination of genes which was found. 4.189 4.190 We felt that, for single genes, gradient similarity did a better job than logistic regression at capturing our subjective impression of a "good gene". 4.191 4.192 - 4.193 -\vspace{0.3cm}**SVM on all genes at once** 4.194 - 4.195 -In order to see how well one can do when looking at all genes at once, we ran a support vector machine to classify cortical surface pixels based on their gene expression profiles. We achieved classification accuracy of about 81%\footnote{5-fold cross-validation.}. This shows that the genes included in the ABA dataset are sufficient to define much of cortical anatomy. As noted above, however, a classifier that looks at all the genes at once isn't as practically useful as a classifier that uses only a few genes. 4.196 - 4.197 - 4.198 - 4.199 - 4.200 - 4.201 -=== Data-driven redrawing of the cortical map === 4.202 - 4.203 -We have applied the following dimensionality reduction algorithms to reduce the dimensionality of the gene expression profile associated with each voxel: Principal Components Analysis (PCA), Simple PCA (SPCA), Multi-Dimensional Scaling (MDS), Isomap, Landmark Isomap, Laplacian eigenmaps, Local Tangent Space Alignment (LTSA), Hessian locally linear embedding, Diffusion maps, Stochastic Neighbor Embedding (SNE), Stochastic Proximity Embedding (SPE), Fast Maximum Variance Unfolding (FastMVU), Non-negative Matrix Factorization (NNMF). Space constraints prevent us from showing many of the results, but as a sample, PCA, NNMF, and landmark Isomap are shown in the second, third, and fourth rows of Figure \ref{dimReduc}. 4.204 - 4.205 -After applying the dimensionality reduction, we ran clustering algorithms on the reduced data. To date we have tried k-means and spectral clustering. The results of k-means after PCA, NNMF, and landmark Isomap are shown in the last row of Figure \ref{dimReduc}. To compare, the first row of Figure \ref{dimReduc} shows some of the major subdivisions of cortex. These results clearly show that different dimensionality reduction techniques capture different aspects of the data and lead to different clusterings, indicating the utility of our proposal to produce a detailed comparion of these techniques as applied to the domain of genomic anatomy. 4.206 - 4.207 -\begin{figure}\centering 4.208 -\includegraphics[scale=.31]{paint_merge3_major.eps} 4.209 -\\ 4.210 +\begin{wrapfigure}{L}{0.6\textwidth}\centering 4.211 \includegraphics[scale=1]{merge3_norm_hv_PCA_ndims50_prototypes_collage_sm_border.eps} 4.212 \includegraphics[scale=1]{nnmf_ndims7_collage_border.eps} 4.213 \includegraphics[scale=1]{merge3_norm_hv_k150_LandmarkIsomap_ndims7_prototypes_collage_sm_border.eps} 4.214 \\ 4.215 -\includegraphics[scale=.31]{merge3_norm_hv_PCA_ndims50_kmeans_7clust.eps} 4.216 -\includegraphics[scale=.31]{norm_hv_NNMF_3_norm_kmeans_4clust.eps} 4.217 -\includegraphics[scale=.31]{merge3_norm_hv_k150_LandmarkIsomap_ndims7_kmeans_7clust.eps} 4.218 -\caption{Top row: 19 of the major subdivisions of the cortex. Second row: the first 6 reduced dimensions, using PCA. Third row: the first 6 reduced dimensions, using NNMF. Fourth row: the first six reduced dimensions, using landmark Isomap. Bottom row: examples of kmeans clustering applied to reduced datasets to find 7 clusters. Left: PCA. Middle: NNMF. Right: Landmark Isomap. Additional details: In the third and fourth rows, 7 dimensions were found, but only 6 displayed. In the last row: for PCA, 50 dimensions were used; for NNMF, 6 dimensions were used; for landmark Isomap, 7 dimensions were used.} 4.219 -\label{dimReduc}\end{figure} 4.220 - 4.221 -todo: nnmf 7 4.222 +\includegraphics[scale=.24]{paint_merge3_major.eps}\includegraphics[scale=.22]{merge3_norm_hv_PCA_ndims50_kmeans_7clust.eps}\includegraphics[scale=.24]{norm_hv_NNMF_6_norm_kmeans_7clust.eps}\includegraphics[scale=.22]{merge3_norm_hv_k150_LandmarkIsomap_ndims7_kmeans_7clust.eps} 4.223 +\caption{First row: the first 6 reduced dimensions, using PCA. Second row: the first 6 reduced dimensions, using NNMF. Third row: the first six reduced dimensions, using landmark Isomap. Bottom row: examples of kmeans clustering applied to reduced datasets to find 7 clusters. Left: 19 of the major subdivisions of the cortex. Second from left: PCA. Third from left: NNMF. Right: Landmark Isomap. Additional details: In the third and fourth rows, 7 dimensions were found, but only 6 displayed. In the last row: for PCA, 50 dimensions were used; for NNMF, 6 dimensions were used; for landmark Isomap, 7 dimensions were used.} 4.224 +\label{dimReduc}\end{wrapfigure} 4.225 + 4.226 + 4.227 +\vspace{0.3cm}**SVM on all genes at once** 4.228 + 4.229 +In order to see how well one can do when looking at all genes at once, we ran a support vector machine to classify cortical surface pixels based on their gene expression profiles. We achieved classification accuracy of about 81%\footnote{5-fold cross-validation.}. This shows that the genes included in the ABA dataset are sufficient to define much of cortical anatomy. As noted above, however, a classifier that looks at all the genes at once isn't as practically useful as a classifier that uses only a few genes. 4.230 + 4.231 + 4.232 + 4.233 + 4.234 + 4.235 +=== Data-driven redrawing of the cortical map === 4.236 + 4.237 +We have applied the following dimensionality reduction algorithms to reduce the dimensionality of the gene expression profile associated with each voxel: Principal Components Analysis (PCA), Simple PCA (SPCA), Multi-Dimensional Scaling (MDS), Isomap, Landmark Isomap, Laplacian eigenmaps, Local Tangent Space Alignment (LTSA), Hessian locally linear embedding, Diffusion maps, Stochastic Neighbor Embedding (SNE), Stochastic Proximity Embedding (SPE), Fast Maximum Variance Unfolding (FastMVU), Non-negative Matrix Factorization (NNMF). Space constraints prevent us from showing many of the results, but as a sample, PCA, NNMF, and landmark Isomap are shown in the first, second, and third rows of Figure \ref{dimReduc}. 4.238 + 4.239 +After applying the dimensionality reduction, we ran clustering algorithms on the reduced data. To date we have tried k-means and spectral clustering. The results of k-means after PCA, NNMF, and landmark Isomap are shown in the last row of Figure \ref{dimReduc}. To compare, the leftmost picture on the bottom row of Figure \ref{dimReduc} shows some of the major subdivisions of cortex. These results clearly show that different dimensionality reduction techniques capture different aspects of the data and lead to different clusterings, indicating the utility of our proposal to produce a detailed comparion of these techniques as applied to the domain of genomic anatomy. 4.240 + 4.241 + 4.242 4.243 \vspace{0.3cm}**Many areas are captured by clusters of genes** 4.244
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 5.2 +++ b/norm_hv_NNMF_6_norm_kmeans_7clust.eps Mon Apr 20 16:21:13 2009 -0700 5.3 @@ -0,0 +1,785 @@ 5.4 +%!PS-Adobe-2.0 EPSF-2.0 5.5 +%%Title: norm_hv_NNMF_6_norm_kmeans_7clust.eps 5.6 +%%Creator: gnuplot 4.2 patchlevel 2 5.7 +%%CreationDate: Mon Apr 20 15:41:44 2009 5.8 +%%DocumentFonts: (atend) 5.9 +%%BoundingBox: 50 50 410 302 5.10 +%%EndComments 5.11 +%%BeginProlog 5.12 +/gnudict 256 dict def 5.13 +gnudict begin 5.14 +% 5.15 +% The following 6 true/false flags may be edited by hand if required 5.16 +% The unit line width may also be changed 5.17 +% 5.18 +/Color true def 5.19 +/Blacktext false def 5.20 +/Solid true def 5.21 +/Dashlength 1 def 5.22 +/Landscape false def 5.23 +/Level1 false def 5.24 +/Rounded false def 5.25 +/TransparentPatterns false def 5.26 +/gnulinewidth 5.000 def 5.27 +/userlinewidth gnulinewidth def 5.28 +% 5.29 +/vshift -46 def 5.30 +/dl1 { 5.31 + 10.0 Dashlength mul mul 5.32 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 5.33 +} def 5.34 +/dl2 { 5.35 + 10.0 Dashlength mul mul 5.36 + Rounded { currentlinewidth 0.75 mul add } if 5.37 +} def 5.38 +/hpt_ 31.5 def 5.39 +/vpt_ 31.5 def 5.40 +/hpt hpt_ def 5.41 +/vpt vpt_ def 5.42 +Level1 {} { 5.43 +/SDict 10 dict def 5.44 +systemdict /pdfmark known not { 5.45 + userdict /pdfmark systemdict /cleartomark get put 5.46 +} if 5.47 +SDict begin [ 5.48 + /Title (norm_hv_NNMF_6_norm_kmeans_7clust.eps) 5.49 + /Subject (gnuplot plot) 5.50 + /Creator (gnuplot 4.2 patchlevel 2 ) 5.51 + /Author (Bayle Shanks,,,) 5.52 +% /Producer (gnuplot) 5.53 +% /Keywords () 5.54 + /CreationDate (Mon Apr 20 15:41:44 2009) 5.55 + /DOCINFO pdfmark 5.56 +end 5.57 +} ifelse 5.58 +% 5.59 +% Gnuplot Prolog Version 4.2 (August 2006) 5.60 +% 5.61 +/M {moveto} bind def 5.62 +/L {lineto} bind def 5.63 +/R {rmoveto} bind def 5.64 +/V {rlineto} bind def 5.65 +/N {newpath moveto} bind def 5.66 +/Z {closepath} bind def 5.67 +/C {setrgbcolor} bind def 5.68 +/f {rlineto fill} bind def 5.69 +/vpt2 vpt 2 mul def 5.70 +/hpt2 hpt 2 mul def 5.71 +/Lshow {currentpoint stroke M 0 vshift R 5.72 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 5.73 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 5.74 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 5.75 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 5.76 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 5.77 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 5.78 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 5.79 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 5.80 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 5.81 +/BL {stroke userlinewidth 2 mul setlinewidth 5.82 + Rounded {1 setlinejoin 1 setlinecap} if} def 5.83 +/AL {stroke userlinewidth 2 div setlinewidth 5.84 + Rounded {1 setlinejoin 1 setlinecap} if} def 5.85 +/UL {dup gnulinewidth mul /userlinewidth exch def 5.86 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 5.87 +/PL {stroke userlinewidth setlinewidth 5.88 + Rounded {1 setlinejoin 1 setlinecap} if} def 5.89 +% Default Line colors 5.90 +/LCw {1 1 1} def 5.91 +/LCb {0 0 0} def 5.92 +/LCa {0 0 0} def 5.93 +/LC0 {1 0 0} def 5.94 +/LC1 {0 1 0} def 5.95 +/LC2 {0 0 1} def 5.96 +/LC3 {1 0 1} def 5.97 +/LC4 {0 1 1} def 5.98 +/LC5 {1 1 0} def 5.99 +/LC6 {0 0 0} def 5.100 +/LC7 {1 0.3 0} def 5.101 +/LC8 {0.5 0.5 0.5} def 5.102 +% Default Line Types 5.103 +/LTw {PL [] 1 setgray} def 5.104 +/LTb {BL [] LCb DL} def 5.105 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 5.106 +/LT0 {PL [] LC0 DL} def 5.107 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 5.108 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 5.109 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 5.110 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 5.111 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 5.112 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 5.113 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 5.114 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 5.115 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 5.116 +/Dia {stroke [] 0 setdash 2 copy vpt add M 5.117 + hpt neg vpt neg V hpt vpt neg V 5.118 + hpt vpt V hpt neg vpt V closepath stroke 5.119 + Pnt} def 5.120 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 5.121 + currentpoint stroke M 5.122 + hpt neg vpt neg R hpt2 0 V stroke 5.123 + } def 5.124 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 5.125 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 5.126 + hpt2 neg 0 V closepath stroke 5.127 + Pnt} def 5.128 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 5.129 + hpt2 vpt2 neg V currentpoint stroke M 5.130 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 5.131 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 5.132 + hpt neg vpt -1.62 mul V 5.133 + hpt 2 mul 0 V 5.134 + hpt neg vpt 1.62 mul V closepath stroke 5.135 + Pnt} def 5.136 +/Star {2 copy Pls Crs} def 5.137 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 5.138 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 5.139 + hpt2 neg 0 V closepath fill} def 5.140 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 5.141 + hpt neg vpt -1.62 mul V 5.142 + hpt 2 mul 0 V 5.143 + hpt neg vpt 1.62 mul V closepath fill} def 5.144 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 5.145 + hpt neg vpt 1.62 mul V 5.146 + hpt 2 mul 0 V 5.147 + hpt neg vpt -1.62 mul V closepath stroke 5.148 + Pnt} def 5.149 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 5.150 + hpt neg vpt 1.62 mul V 5.151 + hpt 2 mul 0 V 5.152 + hpt neg vpt -1.62 mul V closepath fill} def 5.153 +/DiaF {stroke [] 0 setdash vpt add M 5.154 + hpt neg vpt neg V hpt vpt neg V 5.155 + hpt vpt V hpt neg vpt V closepath fill} def 5.156 +/Pent {stroke [] 0 setdash 2 copy gsave 5.157 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 5.158 + closepath stroke grestore Pnt} def 5.159 +/PentF {stroke [] 0 setdash gsave 5.160 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 5.161 + closepath fill grestore} def 5.162 +/Circle {stroke [] 0 setdash 2 copy 5.163 + hpt 0 360 arc stroke Pnt} def 5.164 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 5.165 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 5.166 +/C1 {BL [] 0 setdash 2 copy moveto 5.167 + 2 copy vpt 0 90 arc closepath fill 5.168 + vpt 0 360 arc closepath} bind def 5.169 +/C2 {BL [] 0 setdash 2 copy moveto 5.170 + 2 copy vpt 90 180 arc closepath fill 5.171 + vpt 0 360 arc closepath} bind def 5.172 +/C3 {BL [] 0 setdash 2 copy moveto 5.173 + 2 copy vpt 0 180 arc closepath fill 5.174 + vpt 0 360 arc closepath} bind def 5.175 +/C4 {BL [] 0 setdash 2 copy moveto 5.176 + 2 copy vpt 180 270 arc closepath fill 5.177 + vpt 0 360 arc closepath} bind def 5.178 +/C5 {BL [] 0 setdash 2 copy moveto 5.179 + 2 copy vpt 0 90 arc 5.180 + 2 copy moveto 5.181 + 2 copy vpt 180 270 arc closepath fill 5.182 + vpt 0 360 arc} bind def 5.183 +/C6 {BL [] 0 setdash 2 copy moveto 5.184 + 2 copy vpt 90 270 arc closepath fill 5.185 + vpt 0 360 arc closepath} bind def 5.186 +/C7 {BL [] 0 setdash 2 copy moveto 5.187 + 2 copy vpt 0 270 arc closepath fill 5.188 + vpt 0 360 arc closepath} bind def 5.189 +/C8 {BL [] 0 setdash 2 copy moveto 5.190 + 2 copy vpt 270 360 arc closepath fill 5.191 + vpt 0 360 arc closepath} bind def 5.192 +/C9 {BL [] 0 setdash 2 copy moveto 5.193 + 2 copy vpt 270 450 arc closepath fill 5.194 + vpt 0 360 arc closepath} bind def 5.195 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 5.196 + 2 copy moveto 5.197 + 2 copy vpt 90 180 arc closepath fill 5.198 + vpt 0 360 arc closepath} bind def 5.199 +/C11 {BL [] 0 setdash 2 copy moveto 5.200 + 2 copy vpt 0 180 arc closepath fill 5.201 + 2 copy moveto 5.202 + 2 copy vpt 270 360 arc closepath fill 5.203 + vpt 0 360 arc closepath} bind def 5.204 +/C12 {BL [] 0 setdash 2 copy moveto 5.205 + 2 copy vpt 180 360 arc closepath fill 5.206 + vpt 0 360 arc closepath} bind def 5.207 +/C13 {BL [] 0 setdash 2 copy moveto 5.208 + 2 copy vpt 0 90 arc closepath fill 5.209 + 2 copy moveto 5.210 + 2 copy vpt 180 360 arc closepath fill 5.211 + vpt 0 360 arc closepath} bind def 5.212 +/C14 {BL [] 0 setdash 2 copy moveto 5.213 + 2 copy vpt 90 360 arc closepath fill 5.214 + vpt 0 360 arc} bind def 5.215 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 5.216 + vpt 0 360 arc closepath} bind def 5.217 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 5.218 + neg 0 rlineto closepath} bind def 5.219 +/Square {dup Rec} bind def 5.220 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 5.221 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 5.222 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 5.223 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 5.224 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 5.225 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 5.226 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 5.227 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 5.228 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 5.229 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 5.230 + 2 copy vpt Square fill Bsquare} bind def 5.231 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 5.232 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 5.233 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 5.234 + Bsquare} bind def 5.235 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 5.236 + Bsquare} bind def 5.237 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 5.238 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 5.239 + 2 copy vpt Square fill Bsquare} bind def 5.240 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 5.241 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 5.242 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 5.243 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 5.244 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 5.245 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 5.246 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 5.247 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 5.248 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 5.249 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 5.250 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 5.251 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 5.252 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 5.253 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 5.254 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 5.255 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 5.256 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 5.257 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 5.258 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 5.259 +/DiaE {stroke [] 0 setdash vpt add M 5.260 + hpt neg vpt neg V hpt vpt neg V 5.261 + hpt vpt V hpt neg vpt V closepath stroke} def 5.262 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 5.263 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 5.264 + hpt2 neg 0 V closepath stroke} def 5.265 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 5.266 + hpt neg vpt -1.62 mul V 5.267 + hpt 2 mul 0 V 5.268 + hpt neg vpt 1.62 mul V closepath stroke} def 5.269 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 5.270 + hpt neg vpt 1.62 mul V 5.271 + hpt 2 mul 0 V 5.272 + hpt neg vpt -1.62 mul V closepath stroke} def 5.273 +/PentE {stroke [] 0 setdash gsave 5.274 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 5.275 + closepath stroke grestore} def 5.276 +/CircE {stroke [] 0 setdash 5.277 + hpt 0 360 arc stroke} def 5.278 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 5.279 +/DiaW {stroke [] 0 setdash vpt add M 5.280 + hpt neg vpt neg V hpt vpt neg V 5.281 + hpt vpt V hpt neg vpt V Opaque stroke} def 5.282 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 5.283 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 5.284 + hpt2 neg 0 V Opaque stroke} def 5.285 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 5.286 + hpt neg vpt -1.62 mul V 5.287 + hpt 2 mul 0 V 5.288 + hpt neg vpt 1.62 mul V Opaque stroke} def 5.289 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 5.290 + hpt neg vpt 1.62 mul V 5.291 + hpt 2 mul 0 V 5.292 + hpt neg vpt -1.62 mul V Opaque stroke} def 5.293 +/PentW {stroke [] 0 setdash gsave 5.294 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 5.295 + Opaque stroke grestore} def 5.296 +/CircW {stroke [] 0 setdash 5.297 + hpt 0 360 arc Opaque stroke} def 5.298 +/BoxFill {gsave Rec 1 setgray fill grestore} def 5.299 +/Density { 5.300 + /Fillden exch def 5.301 + currentrgbcolor 5.302 + /ColB exch def /ColG exch def /ColR exch def 5.303 + /ColR ColR Fillden mul Fillden sub 1 add def 5.304 + /ColG ColG Fillden mul Fillden sub 1 add def 5.305 + /ColB ColB Fillden mul Fillden sub 1 add def 5.306 + ColR ColG ColB setrgbcolor} def 5.307 +/BoxColFill {gsave Rec PolyFill} def 5.308 +/PolyFill {gsave Density fill grestore grestore} def 5.309 +/h {rlineto rlineto rlineto gsave fill grestore} bind def 5.310 +% 5.311 +% PostScript Level 1 Pattern Fill routine for rectangles 5.312 +% Usage: x y w h s a XX PatternFill 5.313 +% x,y = lower left corner of box to be filled 5.314 +% w,h = width and height of box 5.315 +% a = angle in degrees between lines and x-axis 5.316 +% XX = 0/1 for no/yes cross-hatch 5.317 +% 5.318 +/PatternFill {gsave /PFa [ 9 2 roll ] def 5.319 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 5.320 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 5.321 + gsave 1 setgray fill grestore clip 5.322 + currentlinewidth 0.5 mul setlinewidth 5.323 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 5.324 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 5.325 + 0 1 PFs PFa 4 get div 1 add floor cvi 5.326 + {PFa 4 get mul 0 M 0 PFs V} for 5.327 + 0 PFa 6 get ne { 5.328 + 0 1 PFs PFa 4 get div 1 add floor cvi 5.329 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 5.330 + } if 5.331 + stroke grestore} def 5.332 +% 5.333 +/languagelevel where 5.334 + {pop languagelevel} {1} ifelse 5.335 + 2 lt 5.336 + {/InterpretLevel1 true def} 5.337 + {/InterpretLevel1 Level1 def} 5.338 + ifelse 5.339 +% 5.340 +% PostScript level 2 pattern fill definitions 5.341 +% 5.342 +/Level2PatternFill { 5.343 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 5.344 + bind def 5.345 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 5.346 +<< Tile8x8 5.347 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 5.348 +>> matrix makepattern 5.349 +/Pat1 exch def 5.350 +<< Tile8x8 5.351 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 5.352 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 5.353 +>> matrix makepattern 5.354 +/Pat2 exch def 5.355 +<< Tile8x8 5.356 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 5.357 + 8 8 L 8 0 L 0 0 L fill} 5.358 +>> matrix makepattern 5.359 +/Pat3 exch def 5.360 +<< Tile8x8 5.361 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 5.362 + 0 12 M 12 0 L stroke} 5.363 +>> matrix makepattern 5.364 +/Pat4 exch def 5.365 +<< Tile8x8 5.366 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 5.367 + 0 -4 M 12 8 L stroke} 5.368 +>> matrix makepattern 5.369 +/Pat5 exch def 5.370 +<< Tile8x8 5.371 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 5.372 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 5.373 +>> matrix makepattern 5.374 +/Pat6 exch def 5.375 +<< Tile8x8 5.376 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 5.377 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 5.378 +>> matrix makepattern 5.379 +/Pat7 exch def 5.380 +<< Tile8x8 5.381 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 5.382 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 5.383 +>> matrix makepattern 5.384 +/Pat8 exch def 5.385 +<< Tile8x8 5.386 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 5.387 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 5.388 +>> matrix makepattern 5.389 +/Pat9 exch def 5.390 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 5.391 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 5.392 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 5.393 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 5.394 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 5.395 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 5.396 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 5.397 +} def 5.398 +% 5.399 +% 5.400 +%End of PostScript Level 2 code 5.401 +% 5.402 +/PatternBgnd { 5.403 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 5.404 +} def 5.405 +% 5.406 +% Substitute for Level 2 pattern fill codes with 5.407 +% grayscale if Level 2 support is not selected. 5.408 +% 5.409 +/Level1PatternFill { 5.410 +/Pattern1 {0.250 Density} bind def 5.411 +/Pattern2 {0.500 Density} bind def 5.412 +/Pattern3 {0.750 Density} bind def 5.413 +/Pattern4 {0.125 Density} bind def 5.414 +/Pattern5 {0.375 Density} bind def 5.415 +/Pattern6 {0.625 Density} bind def 5.416 +/Pattern7 {0.875 Density} bind def 5.417 +} def 5.418 +% 5.419 +% Now test for support of Level 2 code 5.420 +% 5.421 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 5.422 +% 5.423 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 5.424 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 5.425 +currentdict end definefont pop 5.426 +/MFshow { 5.427 + { dup 5 get 3 ge 5.428 + { 5 get 3 eq {gsave} {grestore} ifelse } 5.429 + {dup dup 0 get findfont exch 1 get scalefont setfont 5.430 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 5.431 + get exch 4 get {show} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 5.432 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 5.433 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 5.434 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 5.435 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 5.436 + pop aload pop M} ifelse }ifelse }ifelse } 5.437 + ifelse } 5.438 + forall} bind def 5.439 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 5.440 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 5.441 + 6 get stringwidth pop add} {pop} ifelse} ifelse} forall} bind def 5.442 +/MLshow { currentpoint stroke M 5.443 + 0 exch R 5.444 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 5.445 +/MRshow { currentpoint stroke M 5.446 + exch dup MFwidth neg 3 -1 roll R 5.447 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 5.448 +/MCshow { currentpoint stroke M 5.449 + exch dup MFwidth -2 div 3 -1 roll R 5.450 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 5.451 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 5.452 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 5.453 +end 5.454 +%%EndProlog 5.455 +gnudict begin 5.456 +gsave 5.457 +50 50 translate 5.458 +0.050 0.050 scale 5.459 +0 setgray 5.460 +newpath 5.461 +(Helvetica) findfont 140 scalefont setfont 5.462 +gsave % colour palette begin 5.463 +/maxcolors 64 def 5.464 +/HSV2RGB { exch dup 0.0 eq {pop exch pop dup dup} % achromatic gray 5.465 + { /HSVs exch def /HSVv exch def 6.0 mul dup floor dup 3 1 roll sub 5.466 + /HSVf exch def /HSVi exch cvi def /HSVp HSVv 1.0 HSVs sub mul def 5.467 + /HSVq HSVv 1.0 HSVs HSVf mul sub mul def 5.468 + /HSVt HSVv 1.0 HSVs 1.0 HSVf sub mul sub mul def 5.469 + /HSVi HSVi 6 mod def 0 HSVi eq {HSVv HSVt HSVp} 5.470 + {1 HSVi eq {HSVq HSVv HSVp}{2 HSVi eq {HSVp HSVv HSVt} 5.471 + {3 HSVi eq {HSVp HSVq HSVv}{4 HSVi eq {HSVt HSVp HSVv} 5.472 + {HSVv HSVp HSVq} ifelse} ifelse} ifelse} ifelse} ifelse 5.473 + } ifelse} def 5.474 +/Constrain { 5.475 + dup 0 lt {0 exch pop}{dup 1 gt {1 exch pop} if} ifelse} def 5.476 +/YIQ2RGB { 5.477 + 3 copy -1.702 mul exch -1.105 mul add add Constrain 4 1 roll 5.478 + 3 copy -0.647 mul exch -0.272 mul add add Constrain 5 1 roll 5.479 + 0.621 mul exch -0.956 mul add add Constrain 3 1 roll } def 5.480 +/CMY2RGB { 1 exch sub exch 1 exch sub 3 2 roll 1 exch sub 3 1 roll exch } def 5.481 +/XYZ2RGB { 3 copy -0.9017 mul exch -0.1187 mul add exch 0.0585 mul exch add 5.482 + Constrain 4 1 roll 3 copy -0.0279 mul exch 1.999 mul add exch 5.483 + -0.9844 mul add Constrain 5 1 roll -0.2891 mul exch -0.5338 mul add 5.484 + exch 1.91 mul exch add Constrain 3 1 roll} def 5.485 +/SelectSpace {ColorSpace (HSV) eq {HSV2RGB}{ColorSpace (XYZ) eq { 5.486 + XYZ2RGB}{ColorSpace (CMY) eq {CMY2RGB}{ColorSpace (YIQ) eq {YIQ2RGB} 5.487 + if} ifelse} ifelse} ifelse} def 5.488 +/InterpolatedColor true def 5.489 +/grayindex {/gidx 0 def 5.490 + {GrayA gidx get grayv ge {exit} if /gidx gidx 1 add def} loop} def 5.491 +/dgdx {grayv GrayA gidx get sub GrayA gidx 1 sub get 5.492 + GrayA gidx get sub div} def 5.493 +/redvalue {RedA gidx get RedA gidx 1 sub get 5.494 + RedA gidx get sub dgdxval mul add} def 5.495 +/greenvalue {GreenA gidx get GreenA gidx 1 sub get 5.496 + GreenA gidx get sub dgdxval mul add} def 5.497 +/bluevalue {BlueA gidx get BlueA gidx 1 sub get 5.498 + BlueA gidx get sub dgdxval mul add} def 5.499 +/interpolate { 5.500 + grayindex grayv GrayA gidx get sub abs 1e-5 le 5.501 + {RedA gidx get GreenA gidx get BlueA gidx get} 5.502 + {/dgdxval dgdx def redvalue greenvalue bluevalue} ifelse} def 5.503 +/GrayA [0 .0159 .0317 .0476 .0635 .0794 .0952 .1111 .127 .1429 .1587 .1746 5.504 + .1905 .2063 .2222 .2381 .254 .2698 .2857 .3016 .3175 .3333 .3492 .3651 5.505 + .381 .3968 .4127 .4286 .4444 .4603 .4762 .4921 .5079 .5238 .5397 .5556 5.506 + .5714 .5873 .6032 .619 .6349 .6508 .6667 .6825 .6984 .7143 .7302 .746 5.507 + .7619 .7778 .7937 .8095 .8254 .8413 .8571 .873 .8889 .9048 .9206 .9365 5.508 + .9524 .9683 .9841 1 ] def 5.509 +/RedA [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .0238 .0873 .1508 5.510 + .2143 .2778 .3413 .4048 .4683 .5317 .5952 .6587 .7222 .7857 .8492 .9127 5.511 + .9762 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .9444 .881 .8175 .754 .6905 .627 5.512 + .5635 .5 ] def 5.513 +/GreenA [0 0 0 0 0 0 0 0 .0079 .0714 .1349 .1984 .2619 .3254 .3889 .4524 5.514 + .5159 .5794 .6429 .7063 .7698 .8333 .8968 .9603 1 1 1 1 1 1 1 1 1 1 1 1 1 5.515 + 1 1 1 .9603 .8968 .8333 .7698 .7063 .6429 .5794 .5159 .4524 .3889 .3254 5.516 + .2619 .1984 .1349 .0714 .0079 0 0 0 0 0 0 0 0 ] def 5.517 +/BlueA [.5 .5635 .627 .6905 .754 .8175 .881 .9444 1 1 1 1 1 1 1 1 1 1 1 1 1 5.518 + 1 1 1 .9762 .9127 .8492 .7857 .7222 .6587 .5952 .5317 .4683 .4048 .3413 5.519 + .2778 .2143 .1508 .0873 .0238 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5.520 + 0 0 ] def 5.521 +/pm3dround {maxcolors 0 gt {dup 1 ge 5.522 + {pop 1} {maxcolors mul floor maxcolors 1 sub div} ifelse} if} def 5.523 +/pm3dGamma 1.0 1.5 div def 5.524 +/ColorSpace (RGB) def 5.525 +Color true and { % COLOUR vs. GRAY map 5.526 + InterpolatedColor { %% Interpolation vs. RGB-Formula 5.527 + /g {stroke pm3dround /grayv exch def interpolate 5.528 + SelectSpace setrgbcolor} bind def 5.529 + }{ 5.530 + /g {stroke pm3dround dup cF7 Constrain exch dup cF5 Constrain exch cF15 Constrain 5.531 + SelectSpace setrgbcolor} bind def 5.532 + } ifelse 5.533 +}{ 5.534 + /g {stroke pm3dround pm3dGamma exp setgray} bind def 5.535 +} ifelse 5.536 +1.000 UP 5.537 +1.000 UL 5.538 +LTb 5.539 +1.000 UL 5.540 +LT0 5.541 +LTb 5.542 +%%%%BeginImage 5.543 +gsave 856 168 N 856 4872 L 6344 4872 L 6344 168 L Z clip 5.544 +InterpretLevel1 { 5.545 + %% Construct a box instead of image 5.546 + LTb 5.547 + 876 4852 M 5.548 + 5292 0 V 5.549 + 0 -4429 V 5.550 + -5292 0 V 5.551 + 876 4852 L 5.552 + 40 -110 R 5.553 + (PS level 2 image) Lshow 5.554 + % Read data but ignore it 5.555 + /imagebuf 14482 string def 5.556 + currentfile imagebuf readstring 5.557 +} { 5.558 +gsave 5.559 +876 4852 translate 5.560 +5292 -4429 scale 5.561 +%%%%BeginPalette 5.562 +[ /Indexed 5.563 + /DeviceRGB 63 5.564 + < 5.565 + 000080 000090 0000a0 0000b0 0000c0 0000d0 0000e1 0000f1 5.566 + 0002ff 0012ff 0022ff 0033ff 0043ff 0053ff 0063ff 0073ff 5.567 + 0084ff 0094ff 00a4ff 00b4ff 00c4ff 00d4ff 00e5ff 00f5ff 5.568 + 06fff9 16ffe9 26ffd9 37ffc8 47ffb8 57ffa8 67ff98 77ff88 5.569 + 88ff77 98ff67 a8ff57 b8ff47 c8ff37 d9ff26 e9ff16 f9ff06 5.570 + fff500 ffe500 ffd400 ffc400 ffb400 ffa400 ff9400 ff8400 5.571 + ff7300 ff6300 ff5300 ff4300 ff3300 ff2200 ff1200 ff0200 5.572 + f10000 e10000 d00000 c00000 b00000 a00000 900000 800000 5.573 + > 5.574 +] setcolorspace 5.575 +%%%%EndPalette 5.576 +<< 5.577 + /ImageType 1 5.578 + /Width 135 5.579 + /Height 113 5.580 + /BitsPerComponent 8 5.581 + /ImageMatrix [ 135 0 0 113 0 0 ] 5.582 + /Decode [ 0 255 ] 5.583 + /DataSource currentfile /ASCII85Decode filter 5.584 + /MultipleDataSources false 5.585 + /Interpolate false 5.586 +>> 5.587 +image 5.588 +} ifelse 5.589 +#RCD1zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!)#QOi)zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 5.590 +z!!!91zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!ii1zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz# 5.591 +RCD1zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!)#QOi)zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 5.592 +!!!91zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!ii1zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz#R 5.593 +CD1zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!)#QOi)zzzzzzzzzzzzzzzzzz!!ii9#QOi)zzzzz 5.594 +zzzzzzz!!!91zzzzzzzzzzzzzzzzzzz#RC\Azzzzzzzzzzzzz!!ii9zzzzzzzzzzzzzzzzzz!!!91# 5.595 +RC\9zzzzzzzzzzzzz#RC\9zzzzz!!iQ)zzzzzzzzzzzz!!ii9#RCD1zzzzzzzzzzzzz#RC\9zzzz!! 5.596 +!!))B&SUzzzzzzzzzzz!!!!)#RC\A#RCD1zzzzzzzzzzzz!!!!)#RC\9zzzz!!!oU)?9a;zzzzzzzz 5.597 +zzz!!ii9#RC\A#RCD1zzzzzzzzzzzz!!!!)#RC\Azzzz)B'M4)B&SUzzzzzz!!ii9#QOi)zzz#RC\A 5.598 +#RC\A#QOi)zzzzzzzzzzzz!!!!)#RC\A#QOi)zz!!!!;)B'M4)B&SU!!!!)#RC\Azzzz#RC\A#RC\A 5.599 +zz!!ii9#RC\A#RC\Azzzzzzzzzzzzz!!!91#RC\A#RCD1zz!#ca])B'M4)B&ke#RC\A#RC\Azzz!!! 5.600 +!)#RC\A#RC\A#QOi)z#RC\A#RC\A#RC\Azzzzzzzzzzzzz!!!91#RC\A#RC\A#QOi)!!!!;)B'M4)B 5.601 +'M4)@-TS#RC\A#RC\A#QOi)zz!!ii9#RC\A#RC\A#QOi)!!ii9#RC\A#RC\A#RC\Azzzzzzzzzzzzz 5.602 +!!!91#RC\A#RC\A#RCD1!#cao)B'M4)B'M4)@-TS#RC\A#RC\A#QOi)zz#RC\A#RC\A#RC\A#QP,9# 5.603 +RC\A#RC\A#RC\A#RC\A#QOi)zzzzzzzzzzzz!!!91#RC\A#RC\A#RC\S)B'M4)B'M4)B'M4#RC\A#R 5.604 +C\A#RD=e)B&SU!!!91!!!oC#T<sS#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#QOi)zzzzzzzzzz 5.605 +zz!!!91#RC\A#RC\A)B'M4)B'M4)B'M4)B'M"#RC\A#RC\A)B'M4)B'M4)B'M"#T=U")B'M4#RC\A# 5.606 +RC\A#RC\A#RC\A#RC\A#RC\A#RC\Azzzzzzzzzzzzz!!ii9#RC\A#RC\S)B'M4)B'M4)B'M4)B'M"# 5.607 +RC\A#T=U")B'M4)B'M4)B'M4)B'M4)B'M4#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\Azzzzzzzzz 5.608 +zzzz#RC\A#RC\S)B'M4)B'M4)B'M4)B'M4)B'M")B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4#RC\ 5.609 +A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\Azzzzzzzzzzzz!!!!)#RC\A#T=U")B'M4)B'M4)B'M4)B'M4 5.610 +)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\Azzz 5.611 +zzzzzzzzz!!!91#RC\A)B'M4)B'M4)B'M4)B'M4#T=U")B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M 5.612 +4)B'M"#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\Azzzzzzzzzzzz!!!91#RC\A)B'M4)B'M4)B'M4 5.613 +)B'M4#RD=e)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B&ke#RC\A#RC\A#RC\A#RC\A#RC\A#RC 5.614 +\A#RC\Azzzzzzzzzzzz!!ii9#RC\A#T=U")B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M 5.615 +4)B'M4)B'M4)@-TS#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\Azzzzzzzzzzzz#RC\A#RC\A#T=U" 5.616 +)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4#RC\A#RC\A#RC\A#RC\A#RC 5.617 +\A#RC\A#RC\A#RC\A#RC\9zzzzzzzzzzz#RC\A#RC\A)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4 5.618 +)B'M4)B'M4)B'M4)B'M4)B&ke#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#QOi)zzz 5.619 +zzzzzz!!!!)#RC\A#RC\A)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)@ 5.620 +-TS#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RCD1zzzzzzzzz!!ii9#RC\A#RC\A) 5.621 +B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M"#U9T\#RC\A#RC\A#RC\A#RC\ 5.622 +A#RC\A#RC\A#RC\A#RC\A#RC\A#RCD1zzzzzzzzz#RC\A#RC\A#RC\S)B'M4)B'M4)B'M4)B'M4)B' 5.623 +M4)B'M4)B'M4)B'M4)B'M4)B'M4)C$IO,9nEX,7"P\#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A# 5.624 +RC\A#RC\9#RC\9zzzzzzz!!!!)#RC\A#RC\A#RC\A)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B 5.625 +'M4)B'M4)B'M=,9nEX,9nEX,9mI"#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A 5.626 +#RC\A#QOi)zzzzz!!!91#RC\A#RC\A#RC\A)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B' 5.627 +M4,9nEX,9nEX,9nEX,9mI"#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A# 5.628 +QOi)zzzzz!!!91#RC\A#RC\A#RC\A)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)B'M4)C$IO,9nE 5.629 +X,9nEX,9nEX,9mI"#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#QOi)zz 5.630 +zzz!!ii9#RC\\,9nEX,9nEX,9nEX)B'M4)B'M4)B'M4)B'M4)B'M4)B'M=)C$IO,9nEX,9nEX,9nEX 5.631 +,9nEX,7"P\#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\Azzzzz#RC 5.632 +\A#RDY",9nEX,9nEX,9nEX,9n*F)B'M4)B'M4)B'M4)B'hF,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX# 5.633 +RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\Azzzz!!!!)#RC\A 5.634 +,9nEX,9nEX,9nEX,9nEX,9n*F)C$.=,8qI=)B'h=)C$IO,9nEX,9nEX,9nEX,9nEX,9nEX,9mI"#RC 5.635 +\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\Azzzz!!!91#RC\\,9 5.636 +nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,7"P\#RC\A 5.637 +#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\Azzzz!!ii9#U:Q=,9nE 5.638 +X,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX#RC\A#RC\A#R 5.639 +C\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\Azzzz#RC\A#U:Q=,9nEX, 5.640 +9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9mI"#RC\A#RC\A#RC\ 5.641 +A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\9zzz!!!!)#RC\\,9nEX,9nE 5.642 +X,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nE=#RC\A#RC\A#RC\A#R 5.643 +C\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RCD1zzz!!!91#RC\\,9nEX,9 5.644 +nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX#RC\A#RC\A#RC\A 5.645 +#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#QOi)zzz!!ii9#RDY",9nEX 5.646 +,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9mI"#RC\A#RC\A#RC 5.647 +\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#QOi)zzz#RC\A,9nEX,9n 5.648 +EX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEs5!B69#RC\A#RC\A# 5.649 +RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\Azzzz#RC\A,9nEX,9nEX 5.650 +,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9oB95!D.o5!D.o5!D.9#RC\A#RC 5.651 +\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\Azzz!!!91#RC\\,9nEX,9n 5.652 +EX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,<e:T5!D.o5!D.o5!D.o5!D.9#RC\A# 5.653 +RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\9zzz!!!91#RDY",9nEX, 5.654 +9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9oB95!D.o5!D.o5!D.o5!D.o5!D.o4pVE 5.655 +"#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\e/-lLe#RC\A#RC\A#RC\A#RC\9zzz#RC\A#RDY",9nE 5.656 +X,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEs5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o4p 5.657 +VE"#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A/1`>'/1`=X#V7MX/-lLe#RC\A#RCD1zz!!!!)#RC\A#U: 5.658 +Q=,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEs5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5 5.659 +!D.o#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#V7MX/1`>'/1`>'/1`>'/1_&4#RC\A/-#YMzz!!!91#R 5.660 +C\A,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9oB95!D.o5!D.o5!D.o5!D.o5!D.o5!D.o 5.661 +5!D.o5!D.9#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A/1`>'/1`>'/1`>'/1_&X#RC\A#RC\Azzz!!ii9 5.662 +#RC\A#RC\\,9nEX,9nEX,9nEX,9nEX,9nEX,9nEX,9oB95!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D 5.663 +.o5!D.o5!B5X#RC\A#RC\A#RC\A#RC\A#RC\A/1`>'/1`>'/1`>'/1`>'#RDt4/-lLe/1`>'zzz#RC 5.664 +\A#RC\A#RDY",9nEX,9nEX,9nEX,9nEX,9nEX,9oB95!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5 5.665 +!D.o5!D.o4pVE"#RC\A#RC\A#RC\A#RC\A#V7MX/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`=Pzz!! 5.666 +!!)#RC\A#RC\A#U:Q=,9nEX,9nEX,9nEX,9nEX,9nEs5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o 5.667 +5!D.o5!D.o5!D.o#RC\A#RC\A#RC\A#RC\A#RC\e/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1^ 5.668 +c$zz!!!91#RC\A#RC\A#RC\\,9nEX,9nEX,9nEX,9nEX,<e:T5!D.o5!D.o5!D.o5!D.o5!D.o5!D. 5.669 +o5!D.o5!D.o5!D.o5!D.o#RC\A#RC\A#RC\A/-lM4/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1 5.670 +`>'/1^c$zz!!ii9#RC\A#RC\A#RC\A,9nEX,9nEX,9nEX,9nEs5!D.o5!D.o5!D.o5!D.o5!D.o5!D 5.671 +.o5!D.o5!D.o5!D.o5!D.o5!D.9#RC\A#RC\A#RDt4/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/ 5.672 +1`>'/1`>'/-#YMzz#RC\A#RC\A#RC\A#RC\A,9nEX,9nEX,9nEX,<e:T5!D.o5!D.o5!D.o5!D.o5! 5.673 +D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o#RC\A#RDt4/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>' 5.674 +/1`>'/1`>'/1`>'/-l4Uz!!!!)#RC\A#RC\A#RC\A#RC]"5!C29,9nEs5!D.o5!D.o5!D.o5!D.o5! 5.675 +D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.9#RC\A/1`>'/1`>'/1`>'/1`>'/1`>'/1`>' 5.676 +/1`>'/1`>'/1`>'/1`>'/1`=X#QOi)z!!!91#RC\A#RC\A#RC\A#X1F95!D.o5!D.o5!D.o5!D.o5! 5.677 +D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!B5X#RDt4/1`>'/1`>'/1`>'/1`>' 5.678 +/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`=Pzz!!ii9#RC\A#RC\A#RC]"5!D.o5!D.o5!D.o5!D.o5 5.679 +!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o4pVE"#RDt4/1`>'/1`>'/1`> 5.680 +'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/-#YMzz#RC\A#RC\A#X1F9#REUX5!D.o5!D.o5!D.o 5.681 +5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o4pVE"#V7MX/1`>'/1` 5.682 +>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'zz!!!!)#RC\A#RC\A5!B69#X1F95!D.o5!D. 5.683 +o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.9#RC\e/1`>'/1 5.684 +`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1^c$zz!!!91#RC\A#RC\A#RC]"5!D.o5!D 5.685 +.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!B5X#RDt4/ 5.686 +1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/-#YMzz!!ii9#RC\A#RC\A#RC]"5! 5.687 +D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o#RC\A 5.688 +/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`=Pzzz#RC\A#RC\A#RC\A#RC\A 5.689 +5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.9#RC 5.690 +\A/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1^c$zz!!!!)#RC\A#RC\A#RC\ 5.691 +A#RC\A#X1F95!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5! 5.692 +B5X/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/-#YMzz!!!91#RC\A#RC 5.693 +\A#RC\A#S@=S5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5 5.694 +!D.o4pVEF/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`=Pzzz!!!91#RC\A# 5.695 +RC\A#S@=J&J5Te5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D. 5.696 +o5!D.9#V7MX/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1^c$zzz#RC\A#RC\ 5.697 +A#RC\A#RD"S&J5Te5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5! 5.698 +D.o4uG2T2(U:0/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'zzzz#RC\A#RC\A# 5.699 +RC\A&J5Te&J5T\#X1F95!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o4uG2 5.700 +T2)R6K2(U:0/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`=Pzzz!!!!)#RC\A#RC\ 5.701 +J&J5Te&J5Te&J5Te#RC]"5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o2)R6K2) 5.702 +R6K2)R6K/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1^c$zzz!!!91#RC\A#R 5.703 +D"J&J5Te&J5Te&J5T\#RC\A#RC\A5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!Ch]2)R6K 5.704 +2)R6K2)R6B/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/-#YMzzz!!!91#RC\J 5.705 +&J5Te&J5Te&J5Te&J59S#RC\A#RC]"5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o4uGM]2)R6K2)R 5.706 +6K2)R6K2)R6B/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`=X/1`=Pzzzz!!ii9#RD"S&J 5.707 +5Te&J5Te&J5Te&I8XJ#RC\A#RC\A5!D.o5!D.o5!D.o5!D.o5!D.o5!D.o4uG2T2)R6K2)R6K2)R6K 5.708 +2)R6K2)Qp9/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'/1`>'#RC\A#RC\A#QOi)zzzz!!ii9#S@X\&J5T 5.709 +e&J5Te&J5Te&I8XJ#RC\A#RC\A#RC\A#X1F95!D.o5!D.o5!D.o2)R6K2)R6K2)R6K2)R6K2)R6K2) 5.710 +R6K2(U:0/1`>'/1`>'/1`>'/1`>'/1`>'/1_&4#RC\A#RC\A#RC\9zzzzz#RC\A#S@X\&J5Te&J5Te 5.711 +&J5Te#RC\A#RC\A#RC\A#RC\A#RC]"5!D.o5!D.o2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6B/1` 5.712 +>'/1`>'/1`>'/1`>'/1`>'/1`=X#RC\A#RC\A#RC\A#RCD1zzzz!!!!)#RC\A&J5Te&J5Te&J5Te&J 5.713 +5Te#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A2$aIF2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)PXj/1`>' 5.714 +/1`>'/1`>'/1`>'/1_&4#RC\A#RC\A#RC\A#RC\A#QOi)zzzz!!!91#RC\J&J5Te&J5Te&J5Te&J5T 5.715 +e&I:6"#RE9n#RC\A#RC\A#RC\A#W4Is2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2$b`a/1`>'/1 5.716 +`>'/1`>'/1_&4#RC\A#RC\A#RC\A#RC\A#RC\9zzzzz#RC\A#RD"S&J5Te&J5Te&J5Te&J5Te2)R6K 5.717 +2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R5s#RC\A/1`>'/1`>'/-l 5.718 +Le#RC\A#RC\A#RC\A#RC\A#RC\A#RCD1zzzz!!!!)#RC\A#S@X\&J5Te&J5Te&J5Te&J5Te2)R6K2) 5.719 +R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R5s#RC\A#RDt4#RC\A#RC\A 5.720 +#RC\A#RC\A#RC\A#RC\A#RC\A#QOi)zzzz!!!91#RC\A&J5Te&J5Te&J5Te&J5Te&J6lX2)R6K2)R6 5.721 +K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R5s#W2kn#RC\A#RC\A#RC\A#RC\A#R 5.722 +C\A#RC\A#RC\A#RC\A#RC\Azzzzz!!ii9#RC\J&J5Te&J5Te&J5Te&J5Te&J6lX2)R6K2)R6K2)R6K 5.723 +2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)PXF#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC 5.724 +\A#RC\A#RC\A#RC\9zzzzz#RC\A#RD"S&J5Te&J5Te&J5Te&J5Te2)R6K2)R6K2)R6K2)R6K2)R6K2 5.725 +)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)PXs#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\ 5.726 +A#RC\A#QOi)zzzz!!!!)#RC\A#S@X\&J5Te&J5Te&J5Te&J5U42)R6K2)R6K2)R6K2)R6K2)R6K2)R 5.727 +6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)PXF#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A# 5.728 +RC\Azzzzz!!ii9#RC\A&J5Te&J5Te&J5Te&J5Te&J6lX2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6 5.729 +K2)R6K2)R6K2)R6K2)R6K2)R6K#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RCD1zz 5.730 +zzz#RC\A&J59\&J5Te&J5Te&J5Te&J5Te&N)F'2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K 5.731 +2)R6K2)R6K2)R6K2)PXF#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RCD1zzzz!!!! 5.732 +)#RC\J&J5Te&J5Te&J5Te&J5Te&J5Te&N)F'2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2) 5.733 +R6K2)R6K2)R6K#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#QOi)zzzz!!ii9# 5.734 +RD"S&J5Te&J5Te&J5Te&J5Te&J5Te2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6 5.735 +K2)R6K2)PXF#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\9zzzzz#RC\A#RD"S&J 5.736 +5Te&J5Te&J5Te&J5Te&J5U42)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R5s 5.737 +#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RCD1zzzz!!!!)#RC\A#S@X\&J5T 5.738 +e&J5Te&J5Te&J5Te&J5U42)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R5s#R 5.739 +C\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#QOi)zzzzz#RC\A&J5Te&J5Te&J5Te 5.740 +&J5Te&J5Te&J6lX2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R5s#RC\A#RC\A#RC 5.741 +\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\9zzzzz!!!!2#RC\J&J5Te&J5Te&J5Te&J5Te& 5.742 +J5Te&N)F'2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)PXF#RC\A#RC\A#RC\A#RC\ 5.743 +A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#QOi)zzzzz!!!!2&J5Te&J5Te&J5Te&J5Te&J5Te&J5Te2) 5.744 +R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2$aHn#RC\A#RC\A#RC\A#RC\A#RC\A 5.745 +#RC\A#RC\A#RC\A#RC\A#RC\Azzzzzz!!!!2&J5Te&J5Te&J5Te&J5Te&J5Te&J6lX2)R6K2)R6K2) 5.746 +R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)PXF#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A 5.747 +#RC\A#RC\A#RCD1zzzzzz!!!TC&J5Te&J5Te&J5Te&J5Te&J5Te&N)F'2)R6K2)R6K2)R6K2)R6K2) 5.748 +R6K2)R6K2)R6K2)R6K2)R5s#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A 5.749 +#QOi)zzzzzz!!!TC&J5Te&J5Te&J5Te&J5Te&J5U42)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2) 5.750 +R6K2)PXF#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\9zzzzzzz!"f 5.751 +eT&J5Te&J5Te&J5Te&J5Te&J6lX2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)PXF#RC\A#RC\A# 5.752 +RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RCD1zzzzzzz!"feT&J5Te&J5Te&J 5.753 +5T\#RC\A2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2)R6K2$aHn#RC\A#RC\A#RC\A#RC\A#RC\A 5.754 +#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\Azzzzzzzz!"feT&J5Te&J5Te&J59S#RC\A#RE:F2)R6K 5.755 +2)R6K2)R6K2)R6K2)R6K2)R6K2$aHn#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC 5.756 +\A#RC\A#RC\A#RC\9zzzzzzzz!"feT&J5Te&J5T\#RC\A#RC\A#RC\A#W4Is2)R6K2)R6K2)R6K2)R 5.757 +6K2)R5s#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A!!!!)#RC\A#RC\A#RC\A#RC\A#RCD1z 5.758 +zzzzzzz&J5Te&J5Te&J59S#RC\A#RC\A#RC\A#RE:F2)R6K2)R6K2)R6K2)R6K2)R5s#RC\A#RC\A# 5.759 +RC\A#RC\A#RC\A#RC\A#RC\A#RCD1z!!ii9#RC\A#RC\A#RC\Azzzzzzzzz!"feT&J5Te2$aHn#RC\ 5.760 +A#RC\A#RC\A#RC\A#RC\A2)R6K2)R6K2)PXF#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RCD1zz 5.761 +#RC\A#RC\A#RC\A#RC\9zzzzzzzzz!"feT&J6lX#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A2$aH 5.762 +n#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\9zzz#RC\A#RC\A#RC\A#QOi)zzzzzzzzz!"feT 5.763 +2)R5s#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC 5.764 +\Azzz!!!!)#RC\A#RC\A#RC\9zzzzzzzzzz&J6lX2$aHn#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC 5.765 +\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\Azzzzzz#RC\A#RC\A#RCD1zzzzzzzzzz!!"l6#RC\A#RC\A 5.766 +#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#QOi)zzzzz!!!!)#RC\A#RC 5.767 +\Azzzzzzzzzzz!!"k^#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A 5.768 +#RC\9zzzzzz!!!!)#RC\A#RCD1zzzzzzzzzzz!&Y#f#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A#RC\A# 5.769 +RC\9#RC\9z#RC\Azzzzzzzz!!!!)#RC\A#QOi)zzzzzzzzzzz#RC\A#RC\A#RC\A#RC\A#QOi)z!!! 5.770 +!)zzzzzzzzzzzzz!!!91#RC\9zzzzzzzzzzz!!!!)#RC\A#RC\A#RC\A#RCD1zzzzzzzzzzzzzzzzz 5.771 +zzzzzzzzzzzz!!!91#RC\A#RCD9#RC\A#QOi)zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz#RC\9zzzz 5.772 +zzzzzzzzzzzzzzzzzzz!!!!~> 5.773 +InterpretLevel1 not { 5.774 + grestore 5.775 +} if 5.776 +grestore 5.777 +%%%%EndImage 5.778 +1.000 UL 5.779 +LTb 5.780 +1.000 UP 5.781 +1.000 UL 5.782 +LTb 5.783 +stroke 5.784 +grestore 5.785 +end 5.786 +showpage 5.787 +%%Trailer 5.788 +%%DocumentFonts: Helvetica