update 6/17 -- need to update the design to...
I created a new section ("repro_inputs") that would be used in animal.json and have pasted an example below (no specific herd, for illustration purposes only).
The basic structure is:
"repro_information": {
"repro_input_level": "advanced",
"basic_repro_inputs": {
"heifers": {
"breeding_start_day": 400,
"estrus_detection_rate": 0.9,
"conception_rate": 0.65,
"percent_dairy_females": 0.9,
"pregnancy_loss_rate": 0.03,
"heifer_repro_cull_time": 450
},
"cows": {
"voluntary_waiting_period": 60,
"estrus_detection_rate": 0.6,
"conception_rate": 0.4,
"percent_dairy_females": 0.65,
"do_not_breed_time": 180
}
},
"advanced_repro_inputs": {
"semen_types": [
{
"semen_type": "1 sexed",
"semen_percent_dairy_females": 90,
"semen_percent_dairy_males": 10,
"semen_percent_beef_females": 0,
"semen_percent_beef_males": 0
},
{
"semen_type": "2 beef",
"semen_percent_dairy_females": 0,
"semen_percent_dairy_males": 0,
"semen_percent_beef_females": 50,
"semen_percent_beef_males": 50
}
],
"use_custom_genetic_index": true,
"custom_genetic_indices": [
{
"name": "fat_protein_genetic_index",
"input_1": "milk_fat",
"weight_1": 0.71,
"input_2": "milk_protein",
"weight_2": 0.29
}
],
"heifer_advanced_repro": {
"breeding_start_day": 400,
"estrus_detection_rate": 0.9,
"pregnancy_loss_rate": 0.03,
"repro_method": "SynchED",
"repro_subprotocol": "2P",
"subprotocol_estrus_detection_rate": 0.9,
"heifer_repro_cull_time": 450,
"heifer_breeding_populations": [
{
"population_name": "1",
"population_attributes": [
{
"name": "fat_protein_genetic_index",
"type": "rank",
"expression": "> 50"
},
{
"name": "insemination_number",
"type": "value",
"expression": "< 3"
}
],
"semen_type": "1 sexed",
"conception_risk": 0.65
},
{
"population_name": "2",
"population_attributes": [
{
"name": "fat_protein_genetic_inex",
"type": "rank",
"expression": "> 50"
},
{
"name": "insemination_number",
"type": "value",
"expression": "> 2"
}
],
"semen_type": "2 beef",
"conception_risk": 0.7
},
{
"population_name": "3",
"population_attributes": [
{
"name": "fat_protein_genetic_index",
"type": "rank",
"expression": "< 51"
}
],
"semen_type": "2 beef",
"conception_risk": 0.7
}
]
},
"cow_advanced_repro": {
"voluntary_waiting_period": 60,
"do_not_breed_time": 150,
"estrus_detection_rate": 0.6,
"repro_method": "TAI",
"presynch_program": "None",
"presynch_program_start_day": 0,
"ovsynch_program": "OvSynch",
"ovsynch_program_start_day": 55,
"resynch_program": "TAI_at_preg_check",
"cow_breeding_populations": [
{
"population_name": "1",
"population_attributes": [
{
"name": "parity",
"type": "value",
"expression": 1
}
],
"semen_type": "1 sexed",
"conception_risk": 0.45
},
{
"population_name": "2",
"population_attributes": [
{
"name": "parity",
"type": "value",
"expression": "> 1"
},
{
"name": "M305",
"type": "rank",
"expression": "> 50"
}
],
"semen_type": "1 sexed",
"conception_risk": 0.4
},
{
"population_name": "3",
"population_attributes": [
{
"name": "parity",
"type": "value",
"expression": "> 1"
},
{
"name": "M305",
"type": "rank",
"expression": "0-50"
}
],
"semen_type": "2 beef",
"conception_risk": 0.44
}
]
}
}
},
update 6/17 -- need to update the design to...
Is your feature request related to a problem? Please describe.
current behavior only allows a single weighted average male calf rate that applies to all breedings, with no further differentiation of semen types given to distinct populations of animals, and resulting differences in calves born or conception rates
The idea is that this design is developed in parallel with Issue #1700 so that the genetic ranking method is implemented with an eye for future expansion.
Describe the solution you'd like
1- allow the user the option to enter basic or advanced repro information
2- if advanced, allow the user to define their own semen types and animal breeding populations who are assigned a specific semen type and conception rate
I created a new section ("repro_inputs") that would be used in animal.json and have pasted an example below (no specific herd, for illustration purposes only).
The basic structure is:
High points:
Create basic & advanced repro inputs sections and the user can choose which they would like to use
If you choose advanced, you create user-defined semen types and breeding populations, with the option to define a custom genetic index
- Example attributes you might use: parity, breed, [custom genetic index], insemination_number, breeding_method (eg TAI v. ED breedings)
- Attributes can be type "rank" or type "value"
- Rank attributes will be assessed based on percentile when all cows (or heifers) are ranked
- Value attributes will be assessed based on value of the attribute
- Attributes are evaluated by an expression that can be a point value, a range, or an inequality
- For example: > 1 or 50-80 or 3
User assigns a semen type to each breeding population
User assigns a conception risk for each breeding population
Additional notes:
Example repro_inputs section of animal.json:
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Target Deadline
By when should this issue be done.