Permutations.jl
PopGenCore.jl/src/Permutations.jl
| 📦 not exported | 🟪 exported by PopGenCore.jl | 🔵 exported by PopGen.jl |
|---|
🟪 permuteloci!
permuteloci!(data::PopData)
Edits PopData in place with loci permuted across populations within
the .genodata dataframe.
🟪 permutesamples!
permutesamples!(data::PopData; meta::Bool = false)
Edits PopData in place with samples permuted across populations within
the .genodata dataframe. Since performance is important for many permutations,
the default is to only edit the .genodata table in place; use meta = true
if you also require the .sampleinfo dataframe edited in place.
🟪 permutegenotypes!
permutegenotypes!(data::PopData; by::String = "locus")
Edits PopData in place with genotypes permuted across individuals within
the .genodata dataframe. Use by = "population" (or "pop") to permute genotypes
within populations.
🟪 permutealleles!
permutealleles!(data::PopData; ploidy::Union{Nothing, Int} = nothing, by::String = "locus")
Edits PopData in place with alleles permuted and reconstructed into genotypes
for each locus within the .genodata dataframe. Use by = "population" (or "pop")
to permute alleles within populations. If ploidy is not provided (default ploidy = nothing),
then ploidy will be identified from the PopData. If performance is important,
it would be best to identify ploidy in advance and set it to a specific integer.
🟪 strictshuffle
strictshuffle(x::T) where T <: AbstractArray
Shuffle only the non-missing values of a Vector and return a copy of the vector,
keeping the missing values at their original locations.
Use strictshuffle! to edit in-place instead of returning a copy.
🟪 strictshuffle!
strictshuffle!(x::T) where T <: AbstractArray
Shuffle only the non-missing values of a Vector, keeping the
missing values at their original locations. Use strictshuffle
to return a copy instead of editing in-place.