|
| 1 | +Imprinting Work Restart Notes |
| 2 | +============================= |
| 3 | + |
| 4 | +Date: 2026-04-18 |
| 5 | + |
| 6 | +Current setup |
| 7 | +------------- |
| 8 | + |
| 9 | +- Clean restart worktree: |
| 10 | + `/Users/ggorjanc/Storages/GitBox/AlphaSimR/AlphaSimR-wt-imprinting` |
| 11 | +- Branch in that worktree: |
| 12 | + `imprinting` |
| 13 | +- Base commit: |
| 14 | + current `upstream/devel` at the time the worktree was created |
| 15 | + |
| 16 | +What was reviewed |
| 17 | +----------------- |
| 18 | + |
| 19 | +- David's old branch: |
| 20 | + `https://github.com/david20011999/AlphaSimR/commits/imprinting/` |
| 21 | +- David -> Gregor PR: |
| 22 | + `https://github.com/gregorgorjanc/AlphaSimR/pull/4` |
| 23 | +- Gregor fork branch: |
| 24 | + `https://github.com/gregorgorjanc/AlphaSimR/tree/imprinting` |
| 25 | +- Upstream branch: |
| 26 | + `https://github.com/gaynorr/AlphaSimR/tree/imprinting` |
| 27 | +- Upstream discussion and design record: |
| 28 | + `https://github.com/gaynorr/AlphaSimR/pull/167` |
| 29 | + |
| 30 | +Main conclusions |
| 31 | +---------------- |
| 32 | + |
| 33 | +- The old `imprinting` branches are not a clean place to continue work. |
| 34 | +- `upstream/imprinting` is far behind current `upstream/devel` and should be treated as historical reference, not as the active implementation branch. |
| 35 | +- `origin/imprinting` is effectively the same old line of work and also should be treated as reference only. |
| 36 | +- David's PR to Gregor contains later experiments such as `TraitADI`, `calcGenParamS()`, and `getGvS()`, but it still sits on the stale branch history. |
| 37 | +- The real unresolved technical problem is not the basic API surface for imprinting. It is the variance-component definition and orthogonal decomposition of additive, dominance, and imprinting effects. |
| 38 | +- The upstream discussion in PR #167 is the key design record. The important guidance there was: |
| 39 | + - move toward regression-based orthogonalization of `bv`, `dd`, and imprinting deviation |
| 40 | + - do not lock in male/female breeding-value semantics too early |
| 41 | + - keep F1 / cross-mean prediction outside AlphaSimR for now |
| 42 | + - keep the first renewed implementation narrow and avoid dragging in polyploids or epistasis immediately |
| 43 | + |
| 44 | +Recommended restart strategy |
| 45 | +---------------------------- |
| 46 | + |
| 47 | +- Use the new `imprinting` worktree as the active restart. |
| 48 | +- Treat old code only as a quarry for selective porting. |
| 49 | +- Use `/Users/ggorjanc/Downloads/__TODO_AlphaSimR_ImprintingVarianceComponents.R` |
| 50 | + as the mathematical scratchpad / oracle for the regression decomposition. |
| 51 | +- First implementation pass should focus on: |
| 52 | + - tests for orthogonal regressors under arbitrary genotype frequencies |
| 53 | + - `TraitAI` |
| 54 | + - updated `calcGenParam()` logic for orthogonal decomposition |
| 55 | + - matching `getGv()` behavior |
| 56 | + - only then extend to `TraitADI` |
| 57 | +- Leave out, for now: |
| 58 | + - polyploids |
| 59 | + - epistasis-related imprinting combinations |
| 60 | + - polished vignette work |
| 61 | + - a final public interpretation of sex-specific breeding values |
| 62 | + |
| 63 | +Useful branch facts |
| 64 | +------------------- |
| 65 | + |
| 66 | +- Local working branch now is `imprinting`. |
| 67 | +- Remote branch status checked on 2026-04-18: |
| 68 | + - `highlanderlab/imprinting`: does not currently exist |
| 69 | + - `origin/imprinting`: already exists and points to the old imprinting history |
| 70 | + |
| 71 | +Commands to push this branch |
| 72 | +---------------------------- |
| 73 | + |
| 74 | +Work from the imprinting worktree: |
| 75 | + |
| 76 | +```bash |
| 77 | +cd /Users/ggorjanc/Storages/GitBox/AlphaSimR/AlphaSimR-wt-imprinting |
| 78 | +git status --short --branch |
| 79 | +git log --oneline --max-count=5 |
| 80 | +``` |
| 81 | + |
| 82 | +Push to HighlanderLab for the first time: |
| 83 | + |
| 84 | +```bash |
| 85 | +git push highlanderlab imprinting:imprinting |
| 86 | +``` |
| 87 | + |
| 88 | +Push to Gregor's fork under the same branch name: |
| 89 | + |
| 90 | +```bash |
| 91 | +git push origin imprinting:imprinting |
| 92 | +``` |
| 93 | + |
| 94 | +Important note about Gregor's fork |
| 95 | +---------------------------------- |
| 96 | + |
| 97 | +- `origin/imprinting` already exists on the old history. |
| 98 | +- Because this new local `imprinting` branch is a clean restart from `upstream/devel`, the plain push above will most likely be rejected as non-fast-forward. |
| 99 | +- If the intention is to replace the old `origin/imprinting` branch with this new restart branch, use: |
| 100 | + |
| 101 | +```bash |
| 102 | +git push --force-with-lease origin imprinting:imprinting |
| 103 | +``` |
| 104 | + |
| 105 | +Safer alternative for Gregor's fork |
| 106 | +----------------------------------- |
| 107 | + |
| 108 | +If you want to keep the old `origin/imprinting` branch around for archaeology, push this restart under a new branch name instead: |
| 109 | + |
| 110 | +```bash |
| 111 | +git push origin imprinting:imprinting-restart |
| 112 | +``` |
| 113 | + |
| 114 | +Suggested practical sequence |
| 115 | +---------------------------- |
| 116 | + |
| 117 | +If the goal is to share the restart without losing the old branch immediately: |
| 118 | + |
| 119 | +```bash |
| 120 | +cd /Users/ggorjanc/Storages/GitBox/AlphaSimR/AlphaSimR-wt-imprinting |
| 121 | +git push highlanderlab imprinting:imprinting |
| 122 | +git push origin imprinting:imprinting-restart |
| 123 | +``` |
| 124 | + |
| 125 | +If later you decide that `origin/imprinting` should be replaced: |
| 126 | + |
| 127 | +```bash |
| 128 | +git push --force-with-lease origin imprinting:imprinting |
| 129 | +``` |
0 commit comments