Customizing Name Generation in the BMS - IntegratedBreedingPlatform/Documentation GitHub Wiki

NOTE: These instructions were originally posted for the purpose of customization via the database backend. Since BMS v21, users with _Manage Crop Settings _permissions are able to customize naming rules for every germplasm creation method up to a certain extent.

Introduction

Name generation for advanced lines and crosses is based on rules that are currently managed in the Breeding Methods table of the BMS database. Similar to the Seed Source string generation that is described here, rules may consist of:

  • process codes that will be replaced during the generation of the name
  • literal characters or strings that are inserted into the name string as they are shown in the methods table

Process codes are small pieces of logic that the BMS system uses to retrieve or generate a value that is inserted into the name string. The list of process codes currently supported in the BMS is available here

The BMS ships with a default configuration of the Breeding Methods table that includes naming rules for selected breeding methods. This means that you can begin using automated naming features in the BMS right away if you are satisfied with the default names that are generated.

If you need to customize the naming rules formats for your crosses or advanced lines, you can do so by modifying the configuration of the Breeding Methods table, as described below.

General Instructions for Customizing Name Rules

The Methods table in the BMS database includes an extensive list of breeding methods that will be associated with germplasm that is created in the system via crossing and advancing. For both processes, the system uses fields in each breeding method record to manage the rules that are used to generate names for the new germplasm.

For cross names, the relevant fields in the table are:

  • prefix
  • count
  • suffix

Names for advanced Lines use these fields, as well as:

  • snametype
  • separator

If you need to change the default naming rules to align them with your institutions standards, you can modify the values in these fields by inserting a process code and/or a literal character or string.

When generating cross names, the BMS will read the columns in the methods table from left to right, and assemble the names based on the results of the process codes and any literal strings that are included.

For the names of advanced lines, the system will take the name of the parent germplasm as the source name, then add on to it by executing the naming rules as described above. For these names, the separator field will determine which character is inserted between the source name and the remainder of the name format, which begins the selection history for the germplasm. The snametype field will control which name type to take from the source germplasm being advanced to use as first portion in the new generated germplasm name.

Examples of Customized Cross Name Formats

Three commonly-used breeding methods for crosses are single cross, three-way cross, and double cross. Here are some examples of customized name rules and the results they generate. Note: this is an abbreviated representation of the entries in the methods table. Please refer to this page for a full reference.

mid mname prefix count suffix
101 Single cross [CIMCRS] [SEQUENCE]
102 Three-way cross IB [SEQUENCE] T
103 Double cross IX[CIMCRS] [SEQUENCE] D

Please refer to this page for a full list of the process codes available to use in naming rules.

Example 1: Single cross

The [CIMCRS] process code in the prefix column is used to generate a 'cross code' that is the main part of the cross name. It pulls values from variables in the nursery, such as project, season, and location identifiers, to generate this code. The specific format that it generates can be further customized via the BMS configuration files. For more details on both the default behavior of this process code, and on how to customize it, please see this page.

The [SEQUENCE] process code in the count column generates a sequence number for each name generated.

Assuming these values in the nursery:

  • Project Prefix = P1
  • Season = Dry
  • Location = LB

The generated cross names would be: P1DryLB1, P1DryLB2, P1DryLB3, etc.

Example 2: Three-way cross

In this rule, the literal string IB is used instead of a process code in the prefix field. The [SEQUENCE] code is again used in the count column, and the literal string T is used in the suffix column.

The generated cross names for this rule would be: IB1T, IB2T, IB3T, etc.

Example 3: Double cross

In this rule, the literal string IX is used in combination with the [CIMCRS] process code in the Prefix column. The [SEQUENCE] code is once again used in the count column, and the literal string D is used in the suffix column.

The generated cross names for this rule would be: IXP1DryLB1D, IXP1DryLB2D, IXP1DryLB3D, etc.

Note that the literal strings can include spaces and punctuation characters as needed.

Additional Notes about Assigning Crossing Methods by Default

If the user does not explicitly specify the breeding method to be applied when crosses are created, the BMS will base the method on the status of the parents. In this scenario, the following breeding methods may be applied:

  • 101 Single cross
  • 102 Three-way cross
  • 103 Double cross
  • 106 Complex cross
  • 107 Backcross

Naming rules should be configured for these methods as well as any others that will be used for crosses in order for automated cross name generation to work.

Example of Customized Advanced Line Name Format

A commonly-used breeding method for advanced lines is Single Plant Selection. Here is an examples of a name rule for this method and the results it generates. Note: this is an abbreviated representation of the entries in the methods table. Please refer to this page for a full reference.

mid mname snametype separator prefix count suffix
205 Single plant Selection 5 - [SEQUENCE]

Please refer to this page for a full list of the process codes available to use in naming rules.

Example 1: Single plant selection

Unlike cross names, the names for advanced lines take the name of the parent germplasm as the source name, then add onto it according to the rules in place for the method. Because of this, the separator field is used to note what character will separate the source name from the remainder of the name (the selection history). This is often the - character, as shown in this example.

The value in the snametype field determines which name type to take from the source germplasm being advanced to use as the first portion in the new generated germplasm name. In this example, the BMS will use the Derivative Name of the source germplasm. If snametype is null or not specified, the system will pick up the preferred name of the source germplasm for constructing the resulting new name using the syntax: snametype+separator+prefix+Count+suffix

Otherwise, the name rules for advanced lines work in the same way as for crosses. Process codes and/or literal strings can be inserted into the prefix, count, and suffix fields to customize the way the selection history portion of the name is generated. In this example, the [SEQUENCE] process code is used to generate a a sequence number for each name generated, just as in the cross name examples shown above.

Given a parental source name of IB1T for an advanced line, the generated names for this rule would be: IB1T-1, IB1T-2, IB1T-3, etc.