Skip to main content

Utils.jl

PopGenSims.jl/src/Utils.jl

📦 not exported🟪 exported by PopGenSims.jl

🟪 append!

append!(data::PopData, data2::PopData)

Add the rows of data2 to the end of data. This will add the samples present in the second PopData object to the first PopData object (mutating it). Note that this is a simple appending, and you risk corrupting your PopData if the two PopData objects do not have identical loci.

Example

julia> cats = @nancycats
PopData{Diploid, 9 Microsatellite Loci}
Samples: 237
Populations: 17

julia> purrfect_pairs = cross(cats, "N200", "N7", generation = "F1")
PopData{Diploid, 9 Microsatellite Loci}
Samples: 100
Populations: 1

julia> append!(cats, purrfect_pairs);

julia> cats
PopData{Diploid, 9 Microsatellite Loci}
Samples: 337
Populations: 18

🟪 append

append(data::PopData, data2::PopData)

Add the rows of data2 to the end of data. This will combine the samples present in both PopData objects and return a new PopData object. Note that this is a simple appending, and you risk corrupting your PopData if the two PopData objects do not have identical loci.

Example

julia> cats = @nanycats
PopData{Diploid, 9 Microsatellite Loci}
Samples: 237
Populations: 17


julia> purrfect_pairs = cross(cats, "N200", "N7", generation = "F1")
PopData{Diploid, 9 Microsatellite Loci}
Samples: 100
Populations: 1

julia> merged_cats = append(cats, purrfect_pairs)
PopData{Diploid, 9 Microsatellite Loci}
Samples: 337
Populations: 18

📦 allele_pool

allele_pool(locus::T) where T <: GenoArray
allele_pool(data::PopData)

📦 simulate_sample

simulate_sample(alleles::Dict{String,NTuple}, loc::Vector{String}; ploidy::Int)

Using a global allele pool given by a Dict{loci,alleles} and a list of loci (loc), simulate an individual with a given ploidy. Returns a Vector of genotypes.

Example

julia> cats = @nancycats ;
julia> loc, alleles = allele_pool(cats) ;
julia> simulate_sample(alleles, loc, ploidy = 2)
9-element Array{Array{Int16,1},1}:
[139, 129]
[146, 146]
[145, 141]
[126, 126]
[150, 148]
[148, 140]
[185, 199]
[91, 113]
[208, 208]

📦 feature_req

feature_req

Returns the text: "Please open an Issue or Pull Request on https://www.github.com/pdimens/PopGenSims.jl if you would like this feature implemented"