Population Genetics Chpt 1 End

Chapter 1 End Problems


Problem 3

Aa X Aa produces 6 offspring, so the number of trials is 6.
Expect aa 25% of the time
and expect not aa 75% of the time.

1
2
3
4
5
6
7
8
9
probability.of.two <-(factorial(6)/(factorial(4)*factorial(2)))*(0.75^4)*(0.25^2)
probability.of.one <-(factorial(6)/(factorial(5)*factorial(1)))*(0.75^5)*(0.25^1)
probability.of.zero <-(factorial(6)/(factorial(6)))*(0.75^6)
total.probability <- probability.of.two + probability.of.one + probability.of.zero
total.probability
## [1] 0.8305664

Let’s try a brute force approach. Populate a vector of length 1000 with 250 AA, 500 Aa and 250 aa. Sample with replacement 1000 times 6 geneotype. Calculate the fraction with aa present 2 or fewer times.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
population <- c( rep("AA", 250), rep("Aa", 500), rep("aa", 250))
counts <- vector( mode='character', length=1000)
for( i in 1:1000){
my.sample <- sample(population, 6, replace=TRUE)
counts[i] <- length( which(my.sample=="aa")) #each element of the vector "counts" holds the number of aa genotypes in the sample
}
table(counts) #provides the counts of each genotype
## counts
## 0 1 2 3 4 5
## 185 345 298 127 42 3
total.counts <- table(counts)[[1]] + table(counts)[[2]] + table(counts)[[3]]
total.counts #of aa 2 or fewer times. Divide by 1000 to get percentage
## [1] 828


Problem 4

Jack, queen, king are the face cards so Jack is likely 1/3 of the time a face card is drawn.

There are 4 Jacks so Jack of Hearts is 1 of 4.

The probability that a randomly drawn face card (of which there are 12) is the jack of hearts is 1 of 12.

Figure out potentially relevant probabilities then answer the question.

P{FaceCard}: probability of a Face card = 12/52 = 3/13

P{Jack}: probability of a Jack = 4/52 = 1/13.

P{Hearts}: probability of a hearts = 13/52 = 1/4.

P{Jack | FaceCard}: probability of a Jack given it’s a face card = 4/12 = 1/3.

P{Jack | Hearts}: probability of a Jack given it’s a heart = 1/13.

P{Heart | Jack}: probability of a heart given a Jack = 1/4

P{FaceCard | Jack}: probability of a face card given it’s a Jack = 1

What is the probability that a randomly drawn face card is the jack of hearts?

P{JackHearts | FaceCard} = P{ Heart | Jack } X P{Jack | FaceCard}
= 1/4 x 1/3 = 1/12

Perform a trivial Bayesian analysis

Bayes Rule: P{A | B} = P{B | A}*P{A}/P{B}

What is the probability of a Jack given a face card?

There are 12 Face cards and 4 are Jacks so 4/12 or 1/3

Rewrite the Bayesian rule as: P{Jack|FaceCard} = P{FaceCard|Jack}*P{Jack}/P{FaceCard}

P{Jack|FaceCard} = (1*1/13)/3/13 = 1/3


Problem 6

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
observed <- c( 60, 40)
#expected <- c(50, 50) #expected with independent assortment
expected <- c(0.5, 0.5) #R expects frequencies that add to one
chisq.test( observed, p = expected, correct=FALSE )
##
## Chi-squared test for given probabilities
##
## data: observed
## X-squared = 4, df = 1, p-value = 0.0455
chisq.test( observed, correct=FALSE ) #since equal frequencies is the default, p does not need to be specified'
##
## Chi-squared test for given probabilities
##
## data: observed
## X-squared = 4, df = 1, p-value = 0.0455

r = 40/100 = 0.4

standard error = sqrt(( 0.4*( 1-0.4 ))/100 = 0.049


Problem 12

This R solution requires the package “seqinr”

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
template <- "tactgtgaaagatttccgact"
#the comp and many other seqinr functions require a vector of characters
#convert a string to vector of characters using s2c (sequence 2 character). c2s converts a vector back to a string.
template.complement <- comp(s2c(template))
template.complement
## [1] "a" "t" "g" "a" "c" "a" "c" "t" "t" "t" "c" "t" "a" "a" "a" "g" "g"
## [18] "c" "t" "g" "a"
template.complement <- c2s(comp(s2c(template)))
template.complement
## [1] "atgacactttctaaaggctga"
# FRAME is 0,1, or 2
c2s(translate( s2c(template.complement), frame=0))
## [1] "MTLSKG*"
c2s(translate( s2c(template.complement), frame=1))
## [1] "*HFLKA"
#substitute an A for the first G in template
template.subs.g <- sub( "g", "a", template)
template.subs.g
## [1] "tactatgaaagatttccgact"
template.subs.g.comp <- c2s(comp(s2c(template.subs.g)))
template.subs.g.comp
## [1] "atgatactttctaaaggctga"
c2s(translate( s2c(template.subs.g.comp), frame=0))
## [1] "MILSKG*"
template.subs.a <- sub( "c", "ca", template)
template.subs.a
## [1] "tacatgtgaaagatttccgact"
template.subs.a.comp <- c2s(comp(s2c(template.subs.a)))
template.subs.a.comp
## [1] "atgtacactttctaaaggctga"
c2s(translate( s2c(template.subs.a.comp), frame=0))
## [1] "MYTF*RL"
#When the frame is unknown, but a particular amino acid motif is desired, the "getFrame" method can be used to identify the proper frame.
getFrame <- function( pattern, seq){
#seq must be character vector of lower case dna (not a seqFastdna object)
#pattern is the amino acid sequence in capital letters
#return 0,1,2 for frames 1,2,3
#return 3 if present in more than one frame
#return 4 if not present
fr <- c(NA, NA, NA)
for( i in 1:3){
fr[i]<- words.pos(pattern, c2s(translate( seq, frame=i-1, sens="F")))[1]
}
if( length( which(!is.na(fr), arr.ind=TRUE) )==1){
result <- which(!is.na(fr), arr.ind=TRUE)-1 #subtract one because seqinar uses 0,1,2 as frames
} else {
if( length( which(!is.na(fr), arr.ind=TRUE) )>1){
result <- 3
}else{
result <-4}}
return(result)
}
#The original template provides a translation with the motif "LSK"
#Translate in the frame containing this motif
c2s(translate( s2c(template.subs.a.comp), frame=getFrame("LSK",s2c(template.subs.a.comp))))
## [1] "CTLSKG*"

For a plotting example using seqinr, see


Problem 13

1
2
3
4
5
6
7
8
9
10
K <- 100000
N.0 <- 10000
t <- 1:100
C <- (K-N.0)/N.0
r <- 1
N <- vector("numeric", 100)
N[t] <- K/(1 + C*exp(-r*t))
plot(t, N, ylim=c(0,100000))
prob13-1.png
1
2
3
4
#Let's change the rate to 0.1
r <- 0.1
N[t] <- K/(1 + C*exp(-r*t))
plot(t, N, ylim=c(0,100000))
prob13-2.png
1
2
3
4
5
#It takes longer to reach the carrying capacity
#Let's change the rate to -0.1
r <- -0.1
N[t] <- K/(1 + C*exp(-r*t))
plot(t, N, ylim=c(0,100000))
prob13-3.png
1
2
3
4
5
6
7
8
9
10
#The population crashes to 0
#What if N.0 > K (rate is positive)
K <- 10000
N.0 <- 20000
r <- 1
C <- (K-N.0)/N.0
N[t] <- K/(1 + C*exp(-r*t))
plot(t, N, ylim=c(0,20000))
prob13-4.png
1
#Population drops to the carrying capacity


Problem 14

1
2
3
4
5
6
7
8
9
observed <- c(88, 37)
expected <- c( 0.75, 0.25)
chisq.test( observed, p = expected, correct=FALSE )
##
## Chi-squared test for given probabilities
##
## data: observed
## X-squared = 1.4107, df = 1, p-value = 0.2349
#Accept the hypothesis of Mendelian segregation


Problem 15

1
2
3
4
5
6
7
8
observed <- c(269, 98, 86, 88, 30, 34, 27, 7)
expected <-c(27/64, 9/64, 9/64, 9/64, 3/64, 3/64, 3/64, 1/64) #probabilities must sum to 1
chisq.test( observed, p = expected, correct=FALSE )
##
## Chi-squared test for given probabilities
##
## data: observed
## X-squared = 2.673, df = 7, p-value = 0.9135
Share

Population Genetics Chpt 1 Box

Chapter 1 Box Problems

Box B

A 9:3:3:1 test ratio is a total of 16 possibilities

1
2
3
(factorial(16)/(factorial(9)*factorial(3)*factorial(3)*factorial(1)))*(9/16)^9*(3/16)^3*(3/16)^3*(1/16)^1
## [1] 0.02452135

Ab/aB with r= 0.2 will produce nonrecombinants 80% of the time and recombinants 20% of the time.

1
2
3
4
5
6
7
8
9
10
11
12
13
Genotype <- c("Ab","aB","AB","ab")
Proportion <- c(4,4,1,1)
tbl1 <- cbind( Genotype, Proportion)
cat(hwrite(tbl1,
border=NA,
table.class="t1",
row.class=list(c("header col","header col"),
c("col","col"),
c("col","col"),
c("col","col"),
c("col","col"))))











GenotypeProportion
Ab4
aB4
AB1
ab1
1
2
3
4
(factorial(10)/(factorial(4)*factorial(4)*factorial(1)*factorial(1)))*(4/10)^4*(4/10)^4*(1/10)^1*(1/10)^1
[1] 0.04128768


Box C a

1
2
3
4
5
N0 <-100
r <- 0.02
t <- c(50, 100, 150, 200, 250)
Nt <- N0*((1+r)^t)
plot(t, Nt)
chpt1_boxC_a-1.png


Box C b

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
N0 <-100
r <- 0.02
t <- c(50, 100, 150, 200, 250)
ra <- log(1+r)
rb <- r
rc <- r -( (r^2)/2 )
Na <- N0*(exp(ra*t))
Nb <- N0*(exp(rb*t))
Nc <- N0*(exp(rc*t))
Na
[1] 269.1588 724.4646 1949.9603 5248.4897 14126.7721
Nb
[1] 271.8282 738.9056 2008.5537 5459.8150 14841.3159
Nc
[1] 269.1234 724.2743 1949.1920 5245.7326 14117.4964
plot(t, Na, col="red", ylab="Nt")
points( t, Nb, col="black")
points( t, Nc, col="blue")
chpt1_boxC_b-1.png

$$\frac{dN}{[N(1-\frac{N}{K})]}=rdt$$


Box C c

Given that:

$$\int \frac{1}{x(1+ax)} dx = ln \frac{x}{1+ax}$$

then:

$$\int_{N_0}^{N_t} \frac{1}{N(1- \frac{1}{K}N)} dN = ln \int_{t=0}^{t}r dt$$

Solve to get:

$$ln \frac{N_t}{1- \frac{1}{K} N_t} - ln \frac{N_0}{1- \frac{1}{K}N_0} = rt$$

ln(x) - ln(y) = ln(x/y) = ln(x*1/y)

$$ln \frac{N_t}{1- \frac{1}{K} N_t} . ln \frac{1- \frac{1}{K}N_0}{N_0} = rt$$

Inverse natural log of both sides:

$$\frac{N_t}{N_0} . \frac{1- \frac{1}{K}N_0}{1-\frac{1}{K}N_t} = e^{rt} $$

$$\frac{N_t - \frac{N_tN_0}{K}}{N_0 - \frac{N_tN_0}{K}} = e^{rt}$$

Multiply the left side by K/K

$$\frac{N_tK - N_tN_0}{N_0K - N_tN_0} = e^{rt}$$

$$\frac{N_t(K-N_0)}{N_0(K-N_t)} = e^{rt} $$

$$N_0e^{rt}(K-N_t) = N_t(K-N_0)$$

$$\frac{N_0e^{rt}}{K-N_0} = \frac{N_t}{K-N_t}$$


Box C d

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
N.exact <- vector(mode="numeric", length=6)
N.exact[1] <- 1000
r <- 0.1
K <- 2000
for( t in 2:6){
N.exact[t] <- r*N.exact[t-1]*((K - N.exact[t-1])/K) + N.exact[t-1]
}
N.exact
[1] 1000.000 1050.000 1099.875 1149.376 1198.261 1246.295
N.approx <- vector(mode="numeric", length=6)
N.approx[1] <- 1000
C <- (K-N.approx[1])/N.approx[1]
for( t in 2:6){
N.approx[t] <- K/(1 + C*exp(-r*t))
}
N.approx
[1] 1000.000 1099.668 1148.885 1197.375 1244.919 1291.313
N.diff <- N.approx - N.exact
N.diff
[1] 0.00000 49.66799 49.01003 47.99907 46.65808 45.01739


Box D preamble

With statistical software such as R, the manipulations described in Box D are unnecessary except to educate you as to what is going on behind the scenes. Here is one method to perform the manipulations as described in the box:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
x <- c(1,2,3,4)
y <- c(3,7,6,9)
x.bar <- mean(x) # the mean of the X values
x.bar
[1] 2.5
y.bar <- mean(y) # the mean of the Y values
y.bar
[1] 6.25
x2.bar <- mean( x^2) # the mean of the X squared values
x2.bar
[1] 7.5
xy.bar <- mean( x*y ) #mean of the sum of the xy products
xy.bar
[1] 17.75
xy.cov <- xy.bar - (x.bar*y.bar) #covariance of x and y
xy.cov
[1] 2.125
x.var <- x2.bar - x.bar^2 # variance of x
x.var
[1] 1.25
m <- xy.cov/x.var # slope
m
[1] 1.7
b <- y.bar - m*x.bar # y intercept
b
[1] 2
# So the best fit line is y = mx + b or
# y = 1.7x + 2
# here is what you will normally do using R
# using the original x, y vectors from above
model <- lm(y~x)
summary(model)
Call:
lm(formula = y ~ x)
Residuals:
1 2 3 4
-0.7 1.6 -1.1 0.2
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.0000 1.7958 1.114 0.381
x 1.7000 0.6557 2.592 0.122
Residual standard error: 1.466 on 2 degrees of freedom
Multiple R-squared: 0.7707, Adjusted R-squared: 0.656
F-statistic: 6.721 on 1 and 2 DF, p-value: 0.1221
##Now let's incorporate weights
x <- c(1,2,3,4)
y <- c(3,7,6,9)
w <- c(10,10,1,1)
w.sum <- sum(w) # sum of the weights
w.sum
[1] 22
xw.bar <- sum(x*w)/w.sum # the mean of the weighted X values
xw.bar
[1] 1.681818
yw.bar <- sum(y*w)/w.sum # the mean of the weighted Y values
yw.bar
[1] 5.227273
x2w.bar <- sum( x^2*w)/w.sum #mean of the sum of the weighted x squared values
x2w.bar
[1] 3.409091
xyw.bar <- sum( x*y*w )/w.sum #mean of the sum of the weighted xy products
xyw.bar
[1] 10.18182
xyw.cov <- xyw.bar - (xw.bar*yw.bar) #covariance of weighted x and y
xyw.cov
[1] 1.390496
xw.var <- x2w.bar - xw.bar^2 # variance of weighted x
xw.var
[1] 0.5805785
mw <- xyw.cov/xw.var # slope
mw
[1] 2.395018
bw <- yw.bar - mw*xw.bar # y intercept
bw
[1] 1.199288
# So the best fit line to the weighted data is y = mx + b or
# y = 2.4x + 1.2
# lm has a weight option
model <- lm(y~x, weight= w)
summary(model)
Call:
lm(formula = y ~ x, weights = w)
Weighted Residuals:
1 2 3 4
-1.879 3.196 -2.384 -1.779
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.1993 1.7366 0.691 0.561
x 2.3950 0.9405 2.546 0.126
Residual standard error: 3.361 on 2 degrees of freedom
Multiple R-squared: 0.7643, Adjusted R-squared: 0.6464
F-statistic: 6.484 on 1 and 2 DF, p-value: 0.1258


Box D a & b

Obtaining quantities 8 and 9 (slope and y intercept) for problems a and b is now trivial using the built in R function lm

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
x <- c(2,4,6,8)
y <- c(11,21,22,32)
model <- lm(y~x)
summary(model)
Call:
lm(formula = y ~ x)
Residuals:
1 2 3 4
-0.9 2.7 -2.7 0.9
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 5.5000 3.4857 1.578 0.2553
x 3.2000 0.6364 5.028 0.0373 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.846 on 2 degrees of freedom
Multiple R-squared: 0.9267, Adjusted R-squared: 0.89
F-statistic: 25.28 on 1 and 2 DF, p-value: 0.03735
w <- c(1,1,20,20)
model <- lm(y~x, weight= w)
summary(model)
Call:
lm(formula = y ~ x, weights = w)
Weighted Residuals:
1 2 3 4
4.021 5.913 -5.342 3.121
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.1288 5.4466 -0.207 0.8550
x 4.0539 0.7854 5.162 0.0355 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 6.686 on 2 degrees of freedom
Multiple R-squared: 0.9302, Adjusted R-squared: 0.8953
F-statistic: 26.64 on 1 and 2 DF, p-value: 0.03554


Box E a

$$0 = r_1N_1[ 1 - \frac{N_1 + \alpha_{21} N_2}{K_1} ]$$ $$0 = r_1N_1 - r_1N_1[\frac{N_1 + \alpha_{21} N_2}{K_1} ]$$ $$0 = r_1N_1 - \frac{r_1N_1N_1}{K_1} - \frac{r_1N_1 \alpha_{21} N_2}{K_1}$$ Subtract $r_1N_1$ from both sides and multiply by -1 $$r_1N_1= \frac{r_1N_1N_1}{K_1} + \frac{r_1N_1 \alpha_{21} N_2}{K_1}$$ Multiply by $\frac{K_1}{r_1N_1}$ $$K_1= N_1 + \alpha_{21} N_2$$ $$N_1= K_1 - \alpha_{21} N_2$$ Substitute for $N_1$ in $$0 = r_2N_2[ 1 - \frac{N_2 + \alpha_{12} N_1}{K_2} ]$$ $$0 = r_2N_2[ 1 - \frac{N_2 + \alpha_{12} (K_1 - \alpha_{21} N_2) }{K_2} ]$$ $$0 = r_2N_2 - r_2N_2[\frac{N_2 + \alpha_{12}K_1 - \alpha_{12}\alpha_{21} N_2 }{K_2} ]$$ $$0 = r_2N_2 + \frac{-r_2N_2N_2 - r_2N_2\alpha_{12}K_1 + r_2N_2\alpha_{12}\alpha_{21} N_2 }{K_2} $$ $$-r_2N_2K_2= -r_2N_2N_2 - r_2N_2\alpha_{12}K_1 + r_2N_2\alpha_{12}\alpha_{21} N_2$$ Divide by $-r_2N_2$
$$K_2= N_2 +\alpha_{12}K_1 - \alpha_{12}\alpha_{21} N_2$$ $$K_2 -\alpha_{12}K_1= N_2 - \alpha_{12}\alpha_{21} N_2$$ $$K_2 -\alpha_{12}K_1= N_2(1 - \alpha_{12}\alpha_{21})$$ $$\frac{K_2 -\alpha_{12}K_1}{1 - \alpha_{12}\alpha_{21}}= N_2$$


Box E b

1
2
3
4
5
6
7
8
9
K1 <-1500
K2 <- 2500
a21 <- 0.25
a12 <- 0.5
N1 <- (K1-a21*K2)/(1-a21*a12)
N2 <- (K2-a12*K1)/(1-a21*a12)
cat( "The value of N1 is:", N1)
1
## The value of N1 is: 1000
1
cat( "The value of N2 is:", N2)
1
## The value of N2 is: 2000

$r_1$ and $r_2$ affect the rate of achieving equilibrium, not the final population count.

Share

Troop 272

Boy Scout Troop 272, Saint Joseph’s Parish, at Hidden Valley Scout Reservation, Gilmanton Iron Works, NH

1973

hvsr1973.jpg
Back Mr. McKinney Mr. Davis Mark Lovejoy Jim Russo Neil Duval
Third Paul Desrocher Paul McKiney David Trask Ed Hinton Dennis Lavoie ?
Second Bruce Badeau Mark Lavoie Ken Gifford John Cloutier Bill Courtemanche
Front Jim Terriault ? Joe Zulich Peter LaPan ? Mark Cote

1974

hvsr1974.jpg

1975

hvsr1975.jpg

1976

hvsr1976.jpg
Ed Hinton Ron Tetreault George Karageorge Mr. J. Bruce Davis Peter LaPan Joe Zulich Bill Courtemanche
Mark Lovejoy ? Ken Soares ? Steve Benson Tim Tetreault Jeff Greene
Tim Paiva ? Jim Stys Dennis Lavoie ? Ron Russo Rick Horne Mike Horne ? Roland Lavoie
? Mark Lavoie ?

1977

hvsr1977.jpg
Back Bob Cormier Ron Tetreault Peter LaPan George Karageorge Bill Courtemanche
Middle Mike Horne Jim Stys Rick Horne Ron Russo Tom Lavoie Tim Paiva Dennis Lavoie
Front Alan Clarke Billy Lemire Roland Lavoie Jeff Greene Steve Benson Tim Tetreault Ken Soares

1978

hvsr1978.jpg
Back Mark Lovejoy Paul Zeeley Tim Paiva George Karageorge Peter LaPan Bill Courtemanche Ed Hinton Mr. J. Bruce Davis
Front Mike Zeeley Scott Turcotte Jim Rice Tim Tetreault Steve Benson Ron Russo Tom Lavoie
Share

Saint Joseph's Parish, Nashua, NH Troop 272 at

Hidden Valley Scout Reservation

Gilmanton Ironworks, NH, August 5-12, 1978

Back Mark LovejoyPaul ZeeleyTim Paiva George Karageorge Peter LaPan Bill Courtemanche Ed Hinton Mr. J. Bruce Davis
Front Mike Zeeley Scott Turcotte Jim Rice Tim Tetreault Steve Benson Ron Russo Tom Lavoie

Share

Saint Joseph's Parish, Nashua, NH Troop 272 at

Hidden Valley Scout Reservation

Gilmanton Ironworks, NH, 1973

Back Mr. McKiney Mr. Davis Jim Russo Neil Duval
Third Paul Desrocher Paul McKiney David Trask Mark Lovejoy Ed Hinton Dennis Lavoie ?
Second Bruce Badeau Mark Lavoie Ken Gifford John Cloutier Bill Courtemanche
Front Jim Terriault ? Joe Zulich Peter LaPan ? Mark Cote

Share

Saint Joseph's Parish, Nashua, NH Troop 272 at

Hidden Valley Scout Reservation

Gilmanton Ironworks, NH, 1974

Back
Middle
Front

Share

Saint Joseph's Parish, Nashua, NH Troop 272 at

Hidden Valley Scout Reservation

Gilmanton Ironworks, NH, 1975

Back
Middle
Front

Share

Saint Joseph's Parish, Nashua, NH Troop 272 at

Hidden Valley Scout Reservation

Gilmanton Ironworks, NH, 1976

Back
Middle
Front

Share

Saint Joseph's Parish, Nashua, NH Troop 272 at

Hidden Valley Scout Reservation

Gilmanton Ironworks, NH, July 3-9, 1977

Back Bob Cormier Ron Tetreault Peter LaPan George Karageorge Bill Courtemanche
Middle Mike Horne Jim Stys Rick Horne Ron Russo Tom Lavoie Tim Paiva Dennis Lavoie
Front Alan Clarke Billy Lemire Roland Lavoie Jeff Greene Steve Benson Tim Tetreault Ken Soares

Share

Espalier

Share