Giter Club home page Giter Club logo

mappoly2's Introduction

MAPpoly2

MAPpoly2 is an R package designed to build maps in interconnected full-sib autopolyploid families. It has been enhanced for user-friendliness and accessibility. This version, developed for potential integration with R Shiny, aims to provide a user-intuitive interface for genetic mapping in polyploids. It can handle ploidy levels of 2, 4, and 6, including any combination of these.

One of the key improvements in MAPpoly2 is its enhanced performance, largely due to the implementation of computationally intensive codes primarily in C++. This enables efficient handling of large datasets. Additionally, the package facilitates the construction of individual maps for each parent using a Hidden Markov Model (HMM), significantly speeding up the map construction process. These individual maps can then be merged, and a joint map is recomputed to include any remaining markers.

Installation:

From GitHub

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

install.packages("devtools")

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

To install MAPpoly from Git Hub, use

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

Tutorial

Acknowledgment

This package has been developed as part of the project AFRI-Grant: A Genetics-Based Data Analysis System for Breeders in Polyploid Breeding Programs and SCRI-Grant: Tools for polyploids, funded by USDA NIFA.


NC State University promotes equal opportunity and prohibits discrimination and harassment based upon one’s age, color, disability, gender identity, genetic information, national origin, race, religion, sex (including pregnancy), sexual orientation and veteran status.

mappoly2's People

Contributors

mmollina avatar

Stargazers

John McCallum avatar  avatar Shelly Gaynor avatar Jeekin Lau avatar Gabriel Gesteira avatar David Gerard avatar

Watchers

John McCallum avatar  avatar Cris Taniguti avatar Luciano da Costa e Silva avatar  avatar

Forkers

cfljam jeekinlau

mappoly2's Issues

Error in hclust(as.dist(MSNP), method = "ward.D2", members = apply(Mlod, : invalid length of members

Dear Mollinari,
Thanks for your developing excellent software in polyploid genetics. I'm trying to build a genetic map of sweet potato using mappoly2 latest, and after using rf_filter(px.f1.all, thresh.LOD.ph = 5, thresh.LOD.rf = 5, thresh.rf = 0.15, probs = c(0.05, 0.9)), then running group(x = px.f1.all, expected.groups = 5, comp.mat = TRUE, inter = TRUE, LODweight = TRUE)", returns "Error in hclust(as.dist(MSNP), method = "ward.D2", members = apply(Mlod, : invalid length of members", is this an unknown bug and is there any suggestion to solve it?
Bestly,
Jun Zhang

calc_consensus_haplo error when ncpus>=2

I constructed a map using BExMG and SWxBE and trying to integrate the two... in the calc_consensus_haplo() if i set ncpus=2 then it says, "Error in get(name, envir = envir) : object 'pedigree' not found"

ncpus=1 works fine.

thanks

Jeekin

plot_map assertion issue

Using vignette data or my own raises the following:

> ## testing plot_map
> download.file("https://github.com/mmollina/mappoly2_vignettes/raw/main/I195_x_F1-85-209_map.rda", 
+              destfile = "temp_file.rda")
trying URL 'https://github.com/mmollina/mappoly2_vignettes/raw/main/I195_x_F1-85-209_map.rda'
Content type 'application/octet-stream' length 11822960 bytes (11.3 MB)
==================================================
downloaded 11.3 MB

> load("temp_file.rda")
> ## testing plot_map
> library(mappoly2)
Warning messages:
1: In rgl.init(initValue, onlyNULL) : RGL: unable to open X11 display
2: 'rgl.init' failed, running with 'rgl.useNULL = TRUE'. 
> load("temp_file.rda")
> ls()
[1] "I195xF1_85_209_map"
> # just build first lg
> I195xF1_85_209_map <- mapping(I195xF1_85_209_map,
+                               lg = 1,
+                               type = "genome", 
+                               error = 0.05, ncpus = 4)
Multi-locus map estimation
Processing linkage group
   Conf. 1 :..............................
            ..............................
            ................
Done with map estimation
> plot_map(I195xF1_85_209_map,type = 'genome')
Error: assert_that: missing values present in assertion

QUESTION:Recommended idioms for pipelines?

Hi @mmollina
Since I prefer to organise complex workflows like mapping in targets pipelines, I am interested to discuss what would be the best ways to work with mappoly2 objects and workflows.
It was very difficult to do this in mappoly due to references to external objects.

  • Are all the mappoly2 objects self-contained, and thus suitable for being persisted as targets objects?
  • What should we consider in terms of the functional style of mappoly2? More specifically Im trying to understand the idiom that you use use of sequential updates to an object as below. Im assuming that each of these calls is updating a specific slot, and that we want to avoid copying a large object?
#> Multi-locus map estimation

s <- mapping(s, type = "mds", parent = "p1", ncpus = ncores)
s <- mapping(s, type = "genome", parent = "p1", ncpus = ncores)
s <- mapping(s, type = "mds", parent = "p2", ncpus = ncores)
s <- mapping(s, type = "genome", parent = "p2", ncpus = ncores) 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.