Skip to content

Single Trait Analysis

Hao Cheng edited this page Feb 15, 2021 · 12 revisions

Sinlge-trait analysis

Univariate Linear Mixed Model (Genomic data)

# Step 1: Load packages
using JWAS,DataFrames,CSV, Statistics

# Step 2: Read data 
phenofile  = "phenotypes.csv"
pedfile    = "pedigree.csv"
genofile   = "genotypes.csv"
phenotypes = CSV.read(phenofile,DataFrame,delim = ',',header=true,missingstrings=["NA"])
pedigree   = get_pedigree(pedfile,separator=",",header=true);
genotypes  = get_genotypes(genofile,separator=',',method="BayesC");
first(phenotypes,5)

# Step 3: Build Model Equations

model_equation  ="y1 = intercept + x1 + x2 + x2*x3 + ID + dam + genotypes
                  y2 = intercept + x1 + x2 + ID + genotypes
                  y3 = intercept + x1 + ID + genotypes";
model = build_model(model_equation);

# Step 4: Set Factors or Covariates
set_covariate(model,"x1");

# Step 5: Set Random or Fixed Effects
set_random(model,"x2");
set_random(model,"ID dam",pedigree);

# Step 6: Run Analysis
out2=runMCMC(model2,phenotypes);

# Step 7: Check Accuruacy
results    = innerjoin(out["EBV_y3"], phenotypes, on = :ID) 
accuruacy  = cor(results[:EBV],results[:bv3])

Univariate Linear Additive Genetic Model

To run analysis without genomic data, just remove "genotypes" in the model_equation from the script above.

Clone this wiki locally