Learn R Programming

⚠️There's a newer version (0.4.1) of this package.Take me there.

MAPpoly (v. 0.2.1) is an R package to construct genetic maps in autopolyploids with even ploidy levels. In its current version, MAPpoly can handle ploidy levels up to 8 when using hidden Markov models (HMM), and up to 12 when using the two-point simplification. When dealing with large numbers of markers (> 10,000), we strongly recommend using high-performance computation.

In its current version, MAPpoly can handle the following types of datasets:

  1. CSV files
  2. MAPpoly files
    • Dosage based
    • Probability based
  3. fitPoly files
  4. VCF files

MAPpoly also is capable of importing objects generated by the following R packages

  1. updog
  2. polyRAD
  3. polymapR
    • Datasets
    • Maps

The mapping strategy is based on using pairwise recombination fraction estimation as the first source of information to position allelic variants in specific homologues sequentially. For situations where pairwise analysis has limited power, the algorithm relies on the multilocus likelihood obtained through a hidden Markov model (HMM). The derivation of the HMM used in MAPpoly can be found in Mollinari and Garcia, 2019.

Installation

From CRAN (stable version)

To install MAPpoly from the The Comprehensive R Archive Network (CRAN) use

install.packages("mappoly")

From GitHub (development version)

You can install the development version from Git Hub. Within R, you need to install devtools:

install.packages("devtools")

If you are using Windows, you must install the the latest recommended version of Rtools.

To install MAPpoly from Git Hub use

devtools::install_github("mmollina/mappoly", dependencies=TRUE)

For further QTL analysis, we recommend our QTLpoly package. QTLpoly is an under development software to map quantitative trait loci (QTL) in full-sib families of outcrossing autopolyploid species based on a random-effect multiple QTL model Pereira et al. 2020.

Vignettes

Related software

Miscellaneous

Articles referencing MAPpoly

  1. High-Resolution Linkage Map and QTL Analyses of Fruit Firmness in Autotetraploid Blueberry (Cappai et al., 2020)
  2. Quantitative trait locus mapping for common scab resistance in a tetraploid potato full-sib population. (Pereira et al., 2020)
  3. The recombination landscape and multiple QTL mapping in a Solanum tuberosum cv.'Atlantic'-derived F1 population. (Pereira et al., 2020)
  4. When a phenotype is not the genotype: Implications of phenotype misclassification and pedigree errors in genomics-assisted breeding of sweetpotato Ipomoea batatas (L.) Lam.(Gemenet et al., 2020)
  5. Quantitative trait loci and differential gene expression analyses reveal the genetic basis for negatively associated beta-carotene and starch content in hexaploid sweetpotato [Ipomoea batatas (L.) Lam.] (Gemenet et al., 2020)
  6. Multiple QTL Mapping in Autopolyploids: A Random-Effect Model Approach with Application in a Hexaploid Sweetpotato Full-Sib Population. (Pereira et al., 2020)
  7. Unraveling the Hexaploid Sweetpotato Inheritance Using Ultra-Dense Multilocus Mapping. (Mollinari et al., 2020).

Acknowledgment

This package has been developed as part of the Genomic Tools for Sweetpotato Improvement project (GT4SP) and SweetGAINS, both funded by Bill & Melinda Gates Foundation.

Copy Link

Version

Install

install.packages('mappoly')

Monthly Downloads

360

Version

0.2.3

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Marcelo Mollinari

Last Published

April 20th, 2021

Functions in mappoly (0.2.3)

calc_genoprob_error

Compute conditional probabilities of the genotypes using global error
add_marker

Add a single marker to a map
calc_homoprob

Homolog probabilities
aggregate_matrix

Aggregate matrix cells (lower the resolution by a factor)
calc_genoprob

Compute conditional probabilities of the genotypes
calc_prefpair_profiles

Preferential pairing profiles
calc_genoprob_dist

Compute conditional probabilities of the genotypes using probability distribution of dosages
add_mrk_at_tail_ph_list

add a single marker at the tail of a linkage phase list
cache_counts_twopt

Frequency of genotypes for two-point recombination fraction estimation
calc_genoprob_haplo

Compute conditional probabilities of the genotypes given a sequence of block markers
compare_haplotypes

Compare two polyploid haplotypes stored in list format
draw_cross

Draw simple parental linkage phase configurations
export_data_to_polymapR

Export data to polymapR
dist_prob_to_class

Returns the class with the highest probability in a genotype probability distribution
est_rf_hmm_single

Multipoint analysis using Hidden Markov Models (single phase)
est_pairwise_rf

Pairwise two-point analysis
elim_equiv

Eliminates equivalent linkage phase configurations
elim_conf_using_two_pts

Eliminate configurations using two-point information
check_pairwise

Check if all pairwise combinations of elements of input.seq are contained in twopt
check_ls_phase

Compare a list of linkage phases and return the markers for which they are different.
est_map_haplo_given_genoprob

Estimate a genetic map given a sequence of block markers given the conditional probabilities of the genotypes
cat_phase

cat for phase information
format_rf

Format results from pairwise two-point estimation in C++
get_LOD

Extract the LOD Scores in a 'mappoly.map' object
check_data_dist_sanity

Checks the consistency of dataset (probability distribution)
get_cache_two_pts_from_web

Access a remote server to get Counts for recombinant classes
concatenate_new_marker

Concatenate new marker
filter_missing_ind

Filter individuals based on missing genotypes
filter_missing

Filter missing genotypes
filter_map_at_hmm_thres

remove maps under a certain threshold
filter_missing_mrk

Filter markers based on missing genotypes
group_mappoly

Assign markers to linkage groups
est_full_hmm_with_prior_prob

Re-estimate genetic map using dosage prior probability distribution
create_map

Create a map with pseudomarkers at a given step
get_full_info_tail

Get the tail of a marker sequence up to the point where the markers provide no additional information.
hexafake

Simulated autohexaploid dataset.
get_dosage_type

Get dosage type in a sequence
concatenate_ph_list

concatenate two linkage phase lists
generate_all_link_phase_elim_equivalent

Generate all possible linkage phases in matrix form given the dose and the number of shared alleles between a inserted marker and a pre-computed linkage configuration.
est_haplo_hmm

Estimate a genetic map given a sequence of block markers
genotyping_global_error

Prior probability for genotyping error
elim_redundant

Eliminate redundant markers
generate_all_link_phases_elim_equivalent_haplo

Eliminate equivalent linkage phases
import_phased_maplist_from_polymapR

Import phased map list from polymapR
get_tab_mrks

Get table of dosage combinations
loglike_hmm

Multipoint log-likelihood computation
get_counts

Counts for recombinant classes
get_submap

Extract sub-map from map
is.prob.data

Is it a probability dataset?
get_counts_all_phases

Counts for recombinant classes
get_w_m

Get the number of bivalent configurations
get_ph_conf_ret_sh

Given a homology group in matrix form, it returns the number shared homologous for all pairs of markers in this group
ls_linkage_phases

List of linkage phases
est_full_hmm_with_global_error

Re-estimate genetic map given a global genotyping error
check_data_dose_sanity

Checks the consistency of dataset (dosage)
export_map_list

Export a genetic map to a CSV file
get_indices_from_selected_phases

Get the indices of selected linkage phases given a threshold
get_ols_map

Get weighted ordinary least squared map give a sequence and rf matrix
import_data_from_polymapR

Import data from polymapR
get_counts_one_parent

Counts for recombinant classes in a polyploid parent.
mrk_chisq_test

Chi-square test
gg_color_hue

Color pallet ggplot-like
hexafake.geno.dist

Simulated autohexaploid dataset with genotype probabilities.
get_counts_two_parents

Counts for recombinant classes
check_data_sanity

Data sanity check
filter_segregation

Filter markers based on chi-square test
prepare_map

prepare maps for plot
make_seq_mappoly

Create a sequence of markers
plot_GIC

Genotypic information content
maps.hexafake

extract_map

Extract the maker position from an object of class 'mappoly.map'
draw_phases

Plot the linkage phase configuration given a list of homologous chromosomes
mds_mappoly

Estimates loci position using Multidimensional Scaling
perm_pars

N!/2 combination
import_from_updog

Import from updog
merge_datasets

Merge datasets
plot_mrk_info

Plot marker information
get_ph_list_subset

subset of a linkage phase list
imf_m

Map functions
imf_k

Map functions
ph_list_to_matrix

Linkage phase format conversion: list to matrix
imf_h

Map functions
plot_compare_haplotypes

Plot two overlapped haplotypes
pos_twopt_est

Check if it is possible to estimate the recombination fraction between neighbor markers using two-point estimation
perm_tot

N! combination
print_mrk

Summary of a set of markers
rf_snp_filter

Remove markers that do not meet a LOD criteria
sample_data

Random sampling of dataset
est_rf_hmm

Multipoint analysis using Hidden Markov Models in autopolyploids
poly_cross_simulate

Simulate an autopolyploid full-sib population
drop_marker

Remove markers from a map
est_rf_hmm_sequential

Multipoint analysis using Hidden Markov Models: Sequential phase elimination
plot.mappoly.homoprob

Plots mappoly.homoprob
print_ph

cat for graphical representation of the phases
filter_non_conforming_classes

Filter non-conforming classes in F1, non double reduced population.
solcap.err.map

make_pairs_mappoly

Subset pairwise recombination fractions
make_mat_mappoly

Subset recombination fraction matrices
get_genomic_order

Get the genomic position of markers in a sequence
get_ij

Given a pair of character indicating the numbers i and j : 'i-j', returns a numeric pair c(i,j)
get_rf_from_mat

Get recombination fraction from a matrix
mf_k

Map functions
plot.mappoly.prefpair.profiles

Plots mappoly.prefpair.profiles
merge_maps

Merge two maps
msg

Msg function
ph_matrix_to_list

Linkage phase format conversion: matrix to list
get_rf_from_list

Get the recombination fraction for a sequence of markers given an object of class poly.est.two.pts.pairwise and a list containing the linkage phase configuration. This list can be found in any object of class two.pts.linkage.phases, in x$config.to.test$'Conf-i', where x is the object of class two.pts.linkage.phases and i is one of the possible configurations.
mf_h

Map functions
plot_genome_vs_map

Physical versus genetic distance
sim_homologous

Simulate homology groups
read_geno

Data Input
read_fitpoly

Data Input in fitPoly format
poly_hmm_est

Estimate genetic map using as input the probability distribution of genotypes (wrapper function to C++)
solcap.dose.map

read_vcf

Data Input VCF
reest_rf

Re-estimate the recombination fractions in a genetic map
split_and_rephase

Divides map in sub-maps and re-phase them
plot_map_list

Plot a genetic map
sim_cross_one_informative_parent

Simulate mapping population (one parent)
plot_one_map

plot a single linkage group with no phase
paralell_pairwise_discrete

Wrapper function to discrete-based pairwise two-point estimation in C++
read_geno_csv

Data Input in CSV format
tetra.solcap

Autotetraploid potato dataset.
summary_maps

Summary maps
read_geno_prob

Data Input
update_missing

Update missing information
paralell_pairwise_probability

Wrapper function to probability-based pairwise two-point estimation in C++
mf_m

Map functions
update_map

Update map
solcap.mds.map

update_ph_list_at_hmm_thres

makes a phase list from map, selecting only configurations under a certain threshold
rf_list_to_matrix

Recombination fraction list to matrix
rev_map

Reverse map
sim_cross_two_informative_parents

Simulate mapping population (tow parents)
segreg_poly

Polysomic segregation frequency
select_rf

Select rf and lod based on thresholds
tetra.solcap.geno.dist

Autotetraploid potato dataset with genotype probabilities.
solcap.prior.map