mirror of
https://github.com/MillironX/beefblup.git
synced 2024-12-22 09:08:16 +00:00
Scripts and spreadsheets for performing single-variate Best Linear Unbiased Predictor (BLUP) to find beef cattle breeding values #KeepEPDsReal
beef-cattleblupexpected-breeding-valuesexpected-progeny-differenceskeepepdsrealpredicted-transmitting-abilities
Excel | ||
MATLAB | ||
.gitattributes | ||
.gitignore | ||
LICENSE.md | ||
README.md |
beefblup
🐮 🐮 🐮
#KeepEPDsReal
MATLAB and Python scripts and Excel spreadsheets that can be used in conjunction to find breeding values for beef cattle.
How to Use
- Download the Excel template
- Place your data into the structure described by the spreadsheet
- If you wish to add more contemporary group traits to your analysis, replace or add them to the right of the Purple section
- Download the entire
MATLAB
folder, and set it as your current MATLAB directory - Run
beefblup.m
- Select the spreadsheet file you just placed your data into
- Select a file that you would like to save your results to
- Breeding values and contemporary group adjustments will be outputted to the file you selected
Contributing
I will gladly accept pull requests that acomplish any of the following:
- Convert MATLAB scripts to Python
- The product must be able to be run from the native (non-python) terminal using only the default Anaconda Python packages
- Optimizing code sections
- Use triagonal shortcuts to generate the additive relationship matrix
- Solve implicit forms of the mixed-model equation
- Perform cannonical transformations for missing values
- Other similar improvements that I might not be aware of
- Creation of scripts to handle additional forms of BLUP
- Mult-trait (MBLUP)
- Maternal-trait
- Genomic-enhanced (GBLUP) - this will require the creation of a standard SNP spreadsheet format
- Creation of spreadsheets for additional traits
- Creation of wiki pages to explain what each script does
- The general rule is that every wiki page should be understandable to anyone who's passed high school algebra, while still being correct and informative
Note that I intend to implement all of the items above eventually, but progress is slow since I'm learning as I go.
If you are writing code, please keep the code clean:
- Run "Smart Indent" in the MATLAB editor on the entire file before checking it in
- Name variables in full word English using all lowercase, unless the matrix name is generally agreed upon in academic papers (i.e. A is the additive relationship matrix)
- For MATLAB, functions go in a separate file
- Comments go before a code block: no inline comments
Bug reports and suggestions will be gladly taken on the issues page. There is no set format for issues, yet, but please at the minimum attach a filled-out spreadsheet that demonstrates your bug or how your suggestion would be useful.
License
Distributed under the 3-Clause BSD License