In [1]:
using Pkg
Pkg.add("Revise")
Pkg.add("XSim")
#Pkg.build("StatsFuns")
In [38]:
using DataFrames, Revise
using XSim, DelimitedFiles, Statistics, LinearAlgebra
only #chromosomes, chromosome length, #markers per chromosome, #QTL per chromosome, #traits, G and mutation rate are parameters, with default values for #traits, G and mutation rate (1, [], 0): markers are equally spaced, all chromosomea are the generated to be equal, gene frequency 0.5 for all loci, #QTL randomly sampled among the markers, QTL effects ~N(0,1)
In [39]:
numChr=3
chrLength = 1.
numLoci=10
QTLPerChr = 4
Out[39]:
In [47]:
XSim.build_genome(numChr,chrLength,numLoci,QTLPerChr)
In [48]:
XSim.common.G.qtl_effects'XSim.common.G.qtl_effects
Out[48]:
In [49]:
G0 = Array{Float64,2}(undef,1,1)
G0[1,1] = 1
nTraits = 1
Out[49]:
In [50]:
XSim.build_genome(numChr,chrLength,numLoci,QTLPerChr,nTraits,G0)
In [51]:
XSim.common.G.qtl_effects'XSim.common.G.qtl_effects
Out[51]:
genotypic values not transformed
In [52]:
geneFreq=fill(0.5,10)
Out[52]:
In [53]:
mPos = sort(rand(10))
Out[53]:
In [54]:
QTLIdx = [1, 3, 5, 6]
Out[54]:
In [55]:
QTLEffects = randn(4,1)
Out[55]:
In [61]:
XSim.build_genome(numChr,chrLength,numLoci,geneFreq,mPos,0.,QTLIdx,QTLEffects)
In [62]:
XSim.common.G.qtl_effects'XSim.common.G.qtl_effects
Out[62]:
In [58]:
G0 = Array{Float64,2}(undef,1,1)
G0[1,1] = 1
Out[58]:
In [59]:
XSim.build_genome(numChr,chrLength,numLoci,geneFreq,mPos,0.,QTLIdx,QTLEffects,G0)
genotypic values not transformed
In [63]:
numChr=3
chrLength = [1.0, 1.1, 0.9]
numLoci=[10 ,15 ,20]
geneFreq = Array{Array{Float64,1},1}(undef,0)
qtlIndex = Array{Array{Int64,1},1}(undef,0)
qtlEffects = Array{Array{Float64,2},1}(undef,0)
numQTLOnChr =[2, 3, 1]
numQTL=6
qtlIndex = [[1; 4],[3;7;9],[5]]
geneFreq = [[.5;.5;.5;.5;.5;.5;.5;.5;.5;.5],[.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5],[.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5]]
mPos = [[.05;.1;.15;.2;.25;.3;.35;.40;.45;.5],[.05;.1;.15;.2;.25;.3;.35;.40;.45;.5;.55;.65;.75;.85;.95],[.05;.1;.15;.2;.25;.3;.35;.4;.45;.5;.54;.58;.65;.75;.758;.759;.8;.85;.851;.859]]
push!(qtlEffects,randn(2,1))
push!(qtlEffects,randn(3,1))
push!(qtlEffects,randn(1,1))
Out[63]:
In [64]:
XSim.build_genome(numChr,chrLength,numLoci,geneFreq,mPos,qtlIndex,qtlEffects)
In [65]:
G0 = Array{Float64,2}(undef,1,1)
G0[1,1] = 1
nTraits = 1
Out[65]:
In [66]:
XSim.build_genome(numChr,chrLength,numLoci,geneFreq,mPos,qtlIndex,qtlEffects,nTraits,G0)
only #chromosomes, chromosome length, #markers per chromosome, #QTL per chromosome, #traits, G and mutation rate are parameters, with default values for #traits, G and mutation rate (1, [], 0): markers are equally spaced, all chromosomea are the generated to be equal, gene frequency 0.5 for all loci, #QTL randomly dampled among the markers, QTL effects ~N(0,1)
In [67]:
numChr=3
chrLength = 1.
numLoci=10
QTLPerChr = 4
nTraits = 2
Out[67]:
In [68]:
XSim.build_genome(numChr,chrLength,numLoci,QTLPerChr,nTraits)
In [69]:
G0 = [1. 0.5;0.5 2.]
Out[69]:
In [70]:
XSim.build_genome(numChr,chrLength,numLoci,QTLPerChr,nTraits,G0)
In [71]:
geneFreq=fill(0.5,10)
Out[71]:
In [72]:
mPos = sort(rand(10))
Out[72]:
In [73]:
QTLIdx = [1, 3, 5, 6]
Out[73]:
In [74]:
QTLEffects = randn(4,2)
Out[74]:
In [75]:
XSim.build_genome(numChr,chrLength,numLoci,geneFreq,mPos,0.,QTLIdx,QTLEffects)
In [76]:
G0 = [1. 0.5;0.5 2.]
Out[76]:
In [77]:
XSim.build_genome(numChr,chrLength,numLoci,geneFreq,mPos,0.,QTLIdx,QTLEffects,G0)
In [79]:
numChr = 3
chrLength = [1.0, 1.1, 0.9]
numLoci = [10 ,15 ,20]
nTraits = 2
geneFreq = Array{Array{Float64,1},1}(undef,0)
qtlIndex = Array{Array{Int64,1},1}(undef,0)
qtlEffects = Array{Array{Float64,2},1}(undef,0)
numQTLOnChr =[2, 3, 1]
numQTL=6
qtlIndex = [[1; 4],[3;7;9],[5]]
geneFreq = [[.5;.5;.5;.5;.5;.5;.5;.5;.5;.5],[.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5],[.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5;.5]]
mPos = [[.05;.1;.15;.2;.25;.3;.35;.40;.45;.5],[.05;.1;.15;.2;.25;.3;.35;.40;.45;.5;.55;.65;.75;.85;.95],[.05;.1;.15;.2;.25;.3;.35;.4;.45;.5;.54;.58;.65;.75;.758;.759;.8;.85;.851;.859]]
push!(qtlEffects,randn(2,2))
push!(qtlEffects,randn(3,2))
push!(qtlEffects,randn(1,2))
Out[79]:
In [80]:
XSim.build_genome(numChr,chrLength,numLoci,geneFreq,mPos,qtlIndex,qtlEffects,nTraits)
In [81]:
G0 = [1. 0.5;0.5 2.]
Out[81]:
In [82]:
XSim.build_genome(numChr,chrLength,numLoci,geneFreq,mPos,qtlIndex,qtlEffects,nTraits,G0)
In [ ]: