Linking data management systems to analytics is an important step in breeding digitalization. Breeders can use this R package to Query the Breeding Management System database (using BrAPI calls) and help them to retrieve their experiments data directly into R statistical analyzing environment.
Author and Maintainer: Khaled Al-Shamaa <k.el-shamaa (at) cgiar (dot) org>
Contributor: Mariano Omar CRIMI <m.crimi (at) cgiar (dot) org>
Contributor: Zakaria Kehel <z.kehel (at) cgiar (dot) org>
Copyright Holder: International Center for Agricultural Research in the Dry Areas (ICARDA)
Breeding Management System (BMS) is an information management system developed by the Integrated Breeding Platform to help breeders manage the breeding process, from programme planning to decision-making. The BMS is customizable for most crop breeding programs, and comes pre-loaded with curated ontology terms for many crops (bean, cassava, chickpea, cowpea, groundnut, maize, rice, sorghum, soybean, wheat, and others). The BMS is available as a cloud application, which can be installed on local or remote servers and accessed by multiple users.
The Breeding API (BrAPI) project is an effort to enable interoperability among plant breeding databases. BrAPI is a standardized RESTful web service API specification for communicating plant breeding data. This community driven standard is free to be used by anyone interested in plant breeding data management.
If you are not already an active BMS user, you can contact IBP support to get access to a trial BMS server.
# load the QBMS library library(QBMS) # config your BMS connection (by providing your BMS login page URL) set_qbms_config("https://www.bms-uat-test.net/ibpworkbench/controller/auth/login") # login using your BMS account (interactive mode) # or pass your BMS username and password as parameters (batch mode) login_bms() # list supported crops in the current bms server list_crops() # select a crop by name set_crop("maize") # list all breeding programs in the selected crop list_programs() # select a breeding program by name set_program("MC Maize") # list all studies/trials in the selected program list_trials() # filtered by year of starting date list_trials(2020) # select a specific study/trial by name set_trial("2018 PVT") # get observation variable ontology in the selected study/trial <- get_trial_obs_ontology() ontology # list all environments/locations information in the selected study/trial list_studies() # select a specific environment/location by name set_study("2018 PVT Environment Number 1") # select a specific study by location name (first match) <- list_studies() studies set_study(studies[studies$locationName == "BASF Bremen", "studyName"]) # retrieve data, general information, and germplasm list # of the selected environment/location <- get_study_data() data <- get_study_info() info <- get_germplasm_list() germplasm # get the pedigree table <- get_pedigree_table(germplasm, "germplasmName", "pedigree") pedigree_table # retrieve multi-environment trial data of the selected study/trial <- get_trial_data() MET # retrieve all environments/locations information in the selected program <- get_program_studies() program_studies # retrieve observations data of given germplasm aggregated from all trials # in the selected program <- get_germplasm_data("BASFCORN-2-1")germplasm_observations
If the installation of QBMS generates errors saying that some of the existing packages cannot be removed, you can try to quit any R session, and try to start R in administrator (Windows) or SUDO mode (Linux/Ubuntu) then try installing again.
If you get an error related to packages built under a current version of R, and updating your packages doesn’t help, you can consider overriding the error with the following code. Note: This might help you install QBMS but may result in other problems. If possible, it’s best to resolve the errors rather than ignoring them.
Sys.setenv("R_REMOTES_NO_ERRORS_FROM_WARNINGS" = TRUE) ::install_github("icarda-git/QBMS", upgrade = "always")remotes