Skip to content

Customizing the Seed Source

Clarysabel Tovar edited this page Dec 28, 2020 · 10 revisions

Introduction

The BMS generates Seed Source strings based on settings defined in a properties file. The BMS ships with a default formats for this string in the Fieldbook properties file, which you can begin using right away. If you need to customize the Seed Source formats, you can do so by modifying the properties file, as described below.

How Seed Source Formats are Generated

Seed source (also called origin or plot code) strings for newly created germplasm are created when advancing or making crosses. These strings follow the format configured in the Crossing properties file. This properties file (crossing.properties) is located at commons.jar embedded in BMSAPI and Fieldbook web applications. Edit the file inside the jar in both web apps, or edit it once and replace jar in both web apps.

The formats consist of placeholders that will be replaced during the generation of the string, along with literal characters that are inserted into the string as they are shown in the configuration file. Some elements of these formats rely on variables being present in the nursery or trial, as detailed below.

Example: Default Seed Source Strings for Trials

The default format for Seed Source strings for trials is [NAME]:[LABBR]:[SEASON]:[PLOTNO]:[PLANT_NO]. Given a trial with the following details:

  • Name = MyTrial
  • Location Abbreviation = L1
  • Season = A

The Seed Source string will expand to: MyTrial:L1:A:1:1

Placeholders Available to Use in Seed Source Strings

Currently, the following placeholders are supported in the origin format string:

  • [NAME] replaced by the name of the nursery/trial.
  • [LOCATION] replaced by the value of LOCATION_ABBR (cvterm id = 8189) variable if it is present in nursery/trial settings and has a non empty value. Defaults to empty string otherwise.
  • [LABBR] replaced by the value of the location abbreviaton for the instance location where the germplasm is generated. Defaults to empty string otherwise.
  • [SEASON] replaced by the value of Crop_season_Code (cvterm id = 8371) variable if it is present in nursery/trial settings and has a non empty value. Defaults to current year and month in YYYYMM format otherwise.
  • [PLOTNO] replaced by the value of PLOT_NO (cvterm id = 8200) assigned to the germplasm
  • [SELECTION_NUMBER] replaced by a dash ("-") + the selection number (ear/plant number) IF advancing method results in selection of multiple plants/ears per plot. Nothing is applied if all plots are selected.

All other characters included in the format string are inserted as is, with the exception of the \ character (backslash). If this is expected to be used as separator in between the placeholder components, two of those characters must be used for a single one to appear in final output. This is because a single \ character is a special programming construct to mean escaping for Strings in the Java programming language.

Example: [LOCATION]\[PLOTNO] is used when a single backslash character is expected to be generated between location and plot number.

Example: Default Seed Source Strings for Nurseries

The BMS also supports the default format [NAME]:[PLOTNO] for Seed Source strings for nurseries. For a nursery named MyNursery, this would expand to MyNursery:1

Changing the Default Seed Source Formats

If you need to change the default formats to match your institution's standards, you can do so by editing the format definitions in the Fieldbook properties file.

This properties file (crossing.properties) is located at commons.jar embedded in BMSAPI and Fieldbook web applications. Edit the file inside the jar in both web apps, or edit it once and replace jar in both web apps.

Edit these parameters in the file to change the way the Seed Source strings are generated:

  • germplasm.origin.studies.wheat
  • germplasm.origin.studies.maize
  • germplasm.origin.studies.default (For crops other than maize and wheat)

You can add, remove, or rearrange the placeholders listed above to specify the elements you would like in the Seed Source strings, and also their order. You can also add, remove, or change the separator characters between the elements, and add literal strings that will be inserted as-is.

Once you have saved your changes to the properties file, you will need to restart the BMS before they will take effect.

Clone this wiki locally