Table of Contents
Seed set and fruit shape in apple
Master 2 BV, specialties “SEPPRO&SPP” and “Santé des Plantes - PHP”. Duration: about 2 hours. You may work alone or in pairs.
This exercise uses a GroIMP model based on: Drazeta L., Lang A., Hall A.J., Volz R.K., Jameson P.E. (2004). Modelling the influence of seed set on fruit shape in apple. Journal of Horticultural Science & Biotechnology 79(2): 241–245. doi:10.1080/14620316.2004.11511755
Learning objectives
At the end of this session you should be able to:
- explain how pollination, fertilisation and seed development determine the size and shape of an apple fruit;
- read a simple statistical model (a regression equation) and follow how it is used inside a 3D simulation;
- test the model against published data (figures of the original paper);
- use the model to explore situations that are difficult to test in the orchard: poor pollination, seed abortion, damage to one locule;
- critically judge what the model does and does not represent.
You do not need to be a programmer. Every change you are asked to make is a change of one value at the top of the file.
Schedule
| Part | Content | Time |
| 0 | Setup: open and run the model | 10 min |
| 1 | The biology in brief | 15 min |
| 2 | The model at a glance | 20 min |
| 3 | Designed experiments: where the seeds are | 25 min |
| 4 | The virtual orchard: comparing with the paper | 25 min |
| 5 | Your specialty: plant health or seed science | 15 min |
| 6 | Synthesis | 10 min |
| (Bonus) | Fruit drop of poorly seeded fruits | for fast groups |
Part 0 – Setup (10 min)
- Start GroIMP and open
Drazeta.gsz(File → Open). - Open the code in the text editor (Panels → Explorers → Files, then double-click the file).
- This model has no time steps: each time the model is reset, it creates a new sample of 30 fruits (an “orchard”), computes their seeds, sector weights and shapes, draws them, and fills the charts.
- To create a new sample, press the reset button, or save the code (Ctrl+S): saving recompiles and resets the model.
What you get:
- 3D view: 30 fruits in rows of 6. Each label shows the fruit number and its weight in g.
- XL Console: one line per fruit (number of viable seeds, weight, asymmetry indices), then a summary line for the whole orchard. Set
VERBOSE = trueto see the seeds and sectors of every fruit. - Three charts:
| Chart | What it shows |
| Seed asymmetry vs number of viable seeds | one point per fruit – compare with Fig. 3 of the paper |
| Sector weight vs seed weight model | one point per sector (5 per fruit) – compare with Fig. 4 of the paper |
| Fruit weight vs number of viable seeds | one point per fruit |
All parameters you will change are at the top of the file, in the section PARAMETERS. Change one value, save, and look at the result.
Part 1 – The biology in brief (15 min)
The apple fruit develops from an ovary made of five fused carpels. Each carpel encloses a locule containing two ovules, so an apple can contain at most 10 seeds. Apple is self-incompatible: ovules are only fertilised after cross-pollination, usually by bees carrying pollen from a compatible cultivar (a “pollinizer”).
After fertilisation, seeds develop and produce hormones (auxins, gibberellins) that stimulate the growth of the surrounding flesh and make the fruit a strong sink for assimilates. Drazeta et al. found three kinds of seeds in mature fruits:
- rudimentary seeds (≤ 10 mg): ovules that were never fertilised or aborted very early;
- empty seeds (about 10–30 mg): fertilised seeds that aborted later, with a resorbed interior;
- viable seeds (about 40–100 mg): fully developed, normally distributed around 60–70 mg.
A fruit whose seeds are unevenly distributed tends to grow unevenly: it becomes lopsided. In New Zealand, about 2.4 % of the apple crop was rejected in the packhouse because of lopsidedness – not counting the fruit already discarded by pickers.
Questions (answer in 2–3 lines each):
- Q1. List the steps between the opening of the flower and the presence of a viable seed. At which steps can things go wrong?
- Q2. Why does a fruit with seeds only on one side grow unevenly? Use the words sink, hormone and locule.
- Q3. Why do apple growers plant pollinizer trees in their orchards and bring beehives during flowering?
Part 2 – The model at a glance (20 min)
2.1 From seeds to sector weight
Drazeta et al. cut each fruit into five sectors, one per carpel, weighed each sector and the seeds in each locule, and fitted a three-order model (their Equation 4):
S_i = a + b·w_i + c·(w_i-1 + w_i+1) + d·(w_i-2 + w_i+2)
where S_i is the weight of sector i, w_i the combined weight of the seeds in its own locule, w_i-1 and w_i+1 the seed weights of the two flanking locules, and w_i-2, w_i+2 those of the two distant locules.
| Coefficient | Meaning | Value in the paper | In the model (g sector per mg seed) |
|---|---|---|---|
| a | intercept: sector weight without any seed effect | fitted per fruit | A_MEAN = 22 g, varies between fruits (A_SD = 3 g) |
| b | first order: own locule | 75.36 g/g (P ≤ 0.001) | B = 0.0755 |
| c | second order: flanking locules | 18.97 g/g (P ≤ 0.05) | C = 0.0189 |
| d | third order: distant locules | 0.25 g/g (P = 0.97) | D = 0 |
In the code, the equation looks like this:
for (int j = 0; j < 5; j++) { seedTerm[j] = B * locule(j) + C * (locule(j - 1) + locule(j + 1)) + D * (locule(j - 2) + locule(j + 2)); sectorWt[j] = a + seedTerm[j]; totalWt += sectorWt[j]; }
locule(j) returns the combined seed weight of locule j. The locules form a circle, so locule 0 and locule 4 are neighbours: the function “wraps around”.
- Q4. Calculate by hand the weight of one sector of a fruit with
a= 22 g in which all 10 seeds are viable and weigh 65 mg each. Then calculate the weight of a sector whose own locule contains only two rudimentary seeds (about 3 mg each), its neighbours being normal. - Q5. Why is
Dset to 0 in the model? What does the P value of 0.97 mean? - Q6. Why does
avary from fruit to fruit? The authors say that the remaining variability “is probably the result of a range of factors such as vigour, crop load and position in the canopy”. Which of these factors could you explain with the model of our previous exercise (assimilate transport)?
2.2 From pollination to seeds
boolean fertilised = USE_PATTERN ? (PATTERN[j][i] == 1) : probability(POLL_PROB); if (!fertilised) { // rudimentary seed seedClass[j][i] = 0; seedWeight[j][i] = random(0.5, 5.0); } else if (probability(ABORT_PROB)) { // aborted: empty seed seedClass[j][i] = 1; seedWeight[j][i] = random(10.0, 30.0); } else { // viable seed seedClass[j][i] = 2; seedWeight[j][i] = max(40, normal(VIABLE_MEAN, VIABLE_SD)); }
Each of the 10 ovules is fertilised with probability POLL_PROB (or according to a fixed PATTERN, see Part 3). A fertilised seed aborts with probability ABORT_PROB.
- Q7. With
POLL_PROB= 0.95 andABORT_PROB= 0.10, how many viable seeds do you expect per fruit on average? Compare with the value measured by Drazeta et al. in lopsided 'Granny Smith': 8.63 ± 0.2 seeds.
2.3 Measuring asymmetry
The paper defines an index of seed asymmetry I by treating the fruit as a five-spoked wheel with a weight at the end of each spoke for every seed. I is the distance between the centre of gravity of the wheel and its axis: 0 = perfect symmetry, 1 = maximum asymmetry. Following the authors, only viable seeds are counted, all with the same weight. The console also gives the same index computed with the sector weights, I(fruit), and the ratio largest / smallest sector. A fruit counts as lopsided when this ratio exceeds LOPSIDED_RATIO = 1.4.
- Q8. What is I for a fruit with one single viable seed? With 10 seeds? With 5 seeds, one in each locule? With no seed?
2.4 From weights to shape
For each sector, the model places a point on the fruit's equator at a distance proportional to the square root of the sector weight, then draws a smooth closed curve through the five points and sweeps a profile along it to build the 3D fruit.
- Q9. Why the square root, and not the weight itself? (Hint: think of a sector as a wedge of cake of fixed height. How does its volume change when its radius doubles?)
Part 3 – Designed experiments: where the seeds are (25 min)
With USE_PATTERN = true, all 30 fruits share the same pollination pattern, set in PATTERN (1 = ovule fertilised, 0 = not fertilised, one line per locule). The fruits still differ because of seed abortion, seed weight and the intercept a.
For each pattern: write your prediction first (mean weight, how many fruits lopsided), then run and record the summary line of the console.
| Pattern | PATTERN | Prediction | Mean weight (g) | Nb lopsided / 30 | Typical largest/smallest ratio |
|---|---|---|---|---|---|
| Fully seeded | {1,1},{1,1},{1,1},{1,1},{1,1} | ||||
| One ovule missing | {1,1},{1,1},{1,0},{1,1},{1,1} | ||||
| One empty locule | {1,1},{1,1},{0,0},{1,1},{1,1} | ||||
| Two adjacent empty locules | {1,1},{0,0},{0,0},{1,1},{1,1} | ||||
| Two opposite empty locules | {0,0},{1,1},{0,0},{1,1},{1,1} | ||||
| Only one locule seeded | {1,1},{0,0},{0,0},{0,0},{0,0} | ||||
| No seed at all | {0,0},{0,0},{0,0},{0,0},{0,0} |
- Q10. Two adjacent or two opposite empty locules: both fruits have the same number of seeds. Which one is more lopsided, and why? Use the coefficients
BandCin your answer. - Q11. A fruit with no seed at all is small, but is it lopsided? Latimer (1937) observed that apples with one or two seeds were lopsided, whereas seedless apples were symmetrical. Does the model agree?
- Q12. Look at the fully seeded fruits: they are not all identical. Where does the variation come from?
Part 4 – The virtual orchard: comparing with the paper (25 min)
Set USE_PATTERN = false. Every ovule is now fertilised at random with probability POLL_PROB.
4.1 Does the model reproduce the paper?
Run the model with the default values (POLL_PROB = 0.95, ABORT_PROB = 0.10). Because a reset makes a new sample of 30 fruits, reset 3–4 times and look at how the charts change.
- Q13. Compare the chart Seed asymmetry vs number of viable seeds with Fig. 3 of the paper. Do you see the same pattern? To get a better picture, lower
POLL_PROBto 0.6 so that you get fruits with few seeds too. - Q14. Compare the chart Sector weight vs seed weight model with Fig. 4 of the paper (r = 0.42). What would the chart look like if all fruits had the same intercept? Try it: set
A_SD = 0. Then restoreA_SD = 3. - Q15. Compare the mean number of viable seeds with the value in the paper (8.63). What would you change in the model if it did not match?
4.2 Pollination and fruit quality
Run the orchard with different pollination probabilities (reset at least twice for each value and average):
POLL_PROB | Prediction | Mean weight (g) | Mean viable seeds | Nb lopsided / 30 |
|---|---|---|---|---|
| 0.95 | ||||
| 0.7 | ||||
| 0.5 | ||||
| 0.3 |
- Q16. How do fruit weight and the number of lopsided fruits change with pollination? Is the relation for lopsided fruits monotonic? Explain, using your answer to Q11.
- Q17. Why is it important to average several resets before drawing a conclusion?
Part 5 – Your specialty (15 min)
Choose one track. Restore the default values before you start (POLL_PROB = 0.95, ABORT_PROB = 0.10).
Track A – Plant Health
A1. Frost at flowering. A late frost damages the pistils of many flowers: fewer ovules can be fertilised. Represent this with POLL_PROB = 0.6. Compare with the reference.
A2. Seed abortion. Stress after fertilisation (drought, heat, a pathogen, a hormone imbalance) makes developing seeds abort. Set ABORT_PROB = 0.4.
A3. Codling moth. Larvae of the codling moth (Cydia pomonella) bore into the fruit core and eat the seeds. Represent a fruit whose larva destroyed the seeds of one locule with USE_PATTERN = true and the “one empty locule” pattern.
Questions:
- QA1. Compare A1 and A2: the number of viable seeds may be similar, but is the effect on fruit weight and shape the same? Why? (Hint: what is the weight of an “empty” seed compared with a rudimentary one?)
- QA2. A codling moth larva usually reaches the seeds several weeks after fruit set, when part of the fruit growth has already taken place. Does the model take this into account? Would the real damage to fruit shape be larger or smaller than simulated?
- QA3. Frost damage and pollinator decline both lower
POLL_PROB. How could a grower tell them apart in the orchard?
Track B – Seed Science and Plant Propagation
B1. Pollinizer efficiency. A poorly placed or poorly compatible pollinizer (shared S-alleles, flowering not overlapping) gives low fertilisation. Compare POLL_PROB = 0.95, 0.8 and 0.6.
B2. Seed filling. Poor seed filling produces lighter viable seeds. Set VIABLE_MEAN = 45 (instead of 65) and compare.
B3. Testing the three-order model. Set C = 0 (no influence of flanking locules), then D = 0.0189 (distant locules as influential as flanking ones). How do fruit weight and lopsidedness change?
Questions:
- QB1. In B2 the number of seeds is unchanged. Why does fruit weight change? What does this tell you about the difference between seed number and seed weight as predictors of fruit shape?
- QB2. In B3, does the influence of the flanking locules make fruits more or less lopsided? Why?
- QB3. A grower wants large, well-shaped fruit. Based on your results, rank these measures by expected benefit: more beehives, a better pollinizer, fruit thinning, protection against late frost.
Part 6 – Synthesis (10 min)
- Q18. The model is a statistical model (a regression fitted to data) inside a 3D simulation. What does the 3D view add? What does it not add?
- Q19. The most common form of asymmetry described in the paper is a “severely dropped shoulder at the calyx end”. Can the model show this? Why not?
- Q20. List two strengths and two limitations of this model. Which processes would you need to add to make it mechanistic (hint: think of the previous exercise on assimilate transport)?
Bonus – June drop: fruits with too few seeds fall
For fast groups. In real orchards, many fruits with few seeds are shed during the “June drop”, so they are never harvested. Add this to the model:
- Add a constant
MIN_SEEDS(e.g. 3) at the top of the file. - In
init(), after the firstderive();, add a rule that removes everyFruitwith fewer thanMIN_SEEDSviable seeds (hint:f:Fruit, (f.nViable < MIN_SEEDS) =⇒ ;), followed by a secondderive();. - Run the pollination series of Part 4.2 again. How does fruit drop change the mean weight and the share of lopsided fruits among the harvested fruits?
Before the exam
This exercise is not handed in, but the questions above cover the kind of reasoning expected in the exam: explaining how seed set controls fruit growth, reading a simple model, and predicting and interpreting the outcome of a virtual experiment. Keep your answers and tables as revision notes.
