2f089a902d8e5837e001753fb7ff6900a4d4b86d
genotype.py: - Uw/uw aliased to G/g (same locus) so the D2 conflict group + pure-Uw cases stop being conflicts (Gg == Uwuw). - Sls/WP recognized as a SECOND spotting locus (S(l)s(l)=WP het); carried into mapped8locus alongside Sp (Sp+Sls = Superschecke). - dea/Dea/taub/hörend -> hearing/deaf phenotype FLAG (not a locus). - WFNZ/RV/GV/DP -> provenance/breeding tags (not genotype, not conflicts). - test_genotype.py: zero-dep unit tests for all four. extract.py: surface deaf+tags on animals; dedup conflict detection now compares the NORMALIZED genotype key (mapped8locus) instead of the raw string, so Uw=G no longer triggers a conflict. Result: Konflikte 32 -> 27, Zucht-Splits stays 0. Dedup identity = name + DOB + Zucht. Backend: Gerbil.IsDeaf (bool?) + additive migration AddGerbilDeafFlag (has-pending-model-changes clean) + GerbilDto/GerbilInput round-trip. ImportService sets IsDeaf from animal.deaf and preserves Sls + tags + deaf in RawImportData (kept out of the 8-locus compact Genotype contract until GEN-3a adopts them). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
GerbilManager
GerbilManagerWebAPI/— ASP.NET Core backend (Swagger unter/swagger)gerbil-manager-web/— React-Frontend (Vite + TypeScript), siehegerbil-manager-web/README.md
Requirements
Install ef:
dotnet tool install --global dotnet-ef
Used cmd´s
Start containers
docker compose up
Create the initial database
dotnet ef database update
Create an migration script
dotnet ef migrations add
Docker
force compose rebuild
docker-compose build --no-cache
Frontend (gerbil-manager-web)
cd gerbil-manager-web npm install npm run dev
TODO:
- Backup docker volume database
- run "dotnet ef database update" if no database exist.
Description
Languages
C#
43%
TypeScript
34.5%
Python
18%
CSS
3.7%
Shell
0.5%
Other
0.1%