Migrate Storage Data into Freezer Management

Sample Manager Help: Version 22.4
If you are migrating from using another system, you can take advantage of bulk import and update options to move existing storage information for Samples into Freezer Management.

Define Freezer(s) in UI

You must create the virtual freezers in the Freezer Management application first. Follow the steps in the following topic, taking care to use the naming and layout that will match the pathways to storage locations that will be present in the data coming from your previous system.

Naming of freezers, storage structures, and terminal locations like boxes and bags is flexible enough to match the system you were using. If necessary, you can also create custom storage unit definitions as needed.

Templates for Sample Storage

Once you have defined your freezers, the next step is to create the Sample Types you will be storing, if they don't already exist in the system. You can use a combination of field inferral from spreadsheets and manual refinement to match the types of samples you have stored.

Once your Sample Type exists, whether or not it contains Samples, obtain an import spreadsheet template by beginning to import a new set of samples from a file, then clicking the Template button.

In addition to the fields defining your Sample data and fields representing any parent or source import alias(es), you will see fields related to storage including:

  • StoredAmount
  • Units
  • FreezeThawCount
  • StorageLocation (A slash-delimited "path" to the terminal storage location - see below)
  • StorageRow
  • StorageCol
  • EnteredStorage (Date)
  • CheckedOut (Date)
  • CheckedOutBy (UserID) - if omitted, the user who completes the import will be assigned
  • StorageComment

Data Format Requirements

  • StoredAmount
    • Must be a number.
    • May be negative.
  • Units
    • Must be one of the supported unit types listed here.
    • May be supplied as either the full plural name (e.g., "grams") or the abbreviation (e.g., "g"). Casing matters.
    • If the Sample Type has a default unit type provided, the units must be convertible to this unit type. (e.g., "g" and "kg" are convertible, "g" and "mL" are not).
  • FreezeThawCount
    • Must be a non-negative integer.
  • StorageLocation
    • Must contain valid names of locations in a hierarchy separated by slashes (/), for example:
      • Freezer #3 / Shelf #1 / Box #1 - Green
    • Names of locations may contain slashes, but if so, then they must be quoted.
    • Leading and trailing spaces are tolerated and trimmed.
    • A leading or trailing slash is tolerated.
  • StorageRow
    • Must be either a positive integer or one of a series of letters (A-Z, a-z). Casing does not matter for the letters.
    • DOES NOT check if the display format for the box type corresponds to the format provided as input. That is, if you’ve chosen to label your axes as Numeric, you can still provide alphabetic designations for the row value (A for row 1) in the input file.
    • Must be in the range of the chosen terminal storage type (cannot be < 0 or larger than the number of rows configured for the terminal storage type).
  • StorageCol
    • Must be blank if the terminal storage type is a bag or a cane.
    • If not blank, must be either a positive integer or one of a series of letters (A-Z, a-z). Casing does not matter for the letters.
    • DOES NOT check if the display format for the box type corresponds to the format provided as input.
    • Must be in the range of the chosen terminal storage type.
  • EnteredStorageDate
    • Must be a valid date or date-time value.
    • Represents when the sample was stored in the physical freezer.
    • If omitted, the time of the data import, i.e. the time of entering the management system is used.
  • CheckedOut
    • Must be a valid date or date-time value.
    • If omitted and a CheckedOutBy user is provided, the current date will be used.
  • CheckedOutBy
    • Must be a valid email address, username, or userID for a user in the system with sufficient permissions to check out samples. Learn about adding users here: User Accounts and Roles.
    • Leading spaces and quote marks are not tolerated.
    • If omitted and a CheckedOut date is provided, the sample will be checked out by the user importing the data.
  • StorageComment
    • Always optional.
    • Will be ignored if the action for the import is not checking in, checking out, or discarding.

Adjusting Storage Fields to Match Other Systems

Examine the export spreadsheet from your previous freezer storage system. It likely includes similar columns, potentially requiring name changes or other adjustments to match the expectation of the template you generated.

This section will also be helpful if you are updating sample data to change storage-related fields from a spreadsheet or using the API. Some fields, such as StorageStatus cannot be user-set. They are determined by the presence or absence of values in other fields.

Modify your exported data as needed, noting the following requirements for recording specific sample actions in the system:

Add a sample to storage

  • The StorageLocation and StorageRow columns must be present and valid.
  • If adding to a Box, the StorageCol column must be present and valid.
  • If adding to a Bag, the StorageCol column must be absent or empty.
  • Other fields may be present but are not required.
Discard a sample that is in storage
  • SampleId column must be present and not empty.
  • At least the StorageLocation column must be present and empty.
  • If the StorageRow and StorageCol columns are present they should also be empty.
  • No other storage metadata columns should have values.
Update the metadata of an item in storage
  • SampleId column must be present and not empty.
  • The corresponding metadata columns should be present.
  • If the StorageLocation column is present, the StorageRow must be present and, when updating items in a box, the StorageCol column must also be present. All columns must have valid values. If updating items in a bag, the StorageCol column value should be empty if present.
Move a sample to a different location
  • SampleId column must be present and not empty.
  • The StorageLocation column and the StorageRow column must be present with valid values. If moving to a Box type, the StorageCol column must also be present with a valid value. If moving to a bag, the StorageCol column must be empty if present.
Check out a sample that is currently in storage: Here the behavior is slightly different than for the other actions because there are two columns involved and we allow a user to shortcut supplying one of the columns in order to use the current date or user for all the rows in the file.
  • SampleId column must be present and not empty.
  • Either the CheckedOut or the CheckedOutBy column must be present and not empty.
    • If the CheckedOut column is valid and the CheckedOutBy column is empty/absent, the item will be checked out by the current user.
    • If the CheckedOutBy column is valid and the CheckedOut column is empty/absent, the item will be checked out by the user in the CheckedOutBy column using the current date.
  • If both the CheckedOut and the CheckedOutBy columns are present, they must both have valid values.
  • If both the CheckedOut and the CheckedOutBy columns are empty, the system will not recognize this as a checkout action.
Check in a sample that is currently checked out
  • SampleId column must be present and not empty.
  • One of the CheckedOut or CheckedOutBy columns must be present and empty.
Storage Comments: The StorageComment will be attached to the operations that are happening for the import if the operation is also one the user can comment on in the UI. That is, for check out, check in, and discard actions, the comment will be attached. Otherwise, the comment will be ignored.

Notes:

  • Note that with a file import, it is possible to perform multiple operations at once. For example, you may provide a row that both checks a sample out and moves it to a new location. For samples, there will be two timeline events created for this. There is no guarantee about the order of these events in the timeline.
  • Since updating of storage happens only via sample import, there will always be a “Sample update” timeline event, even if nothing in the sample actually changed.

Import of Samples with Location Data

Once your spreadsheet is ready, use the Import Samples from File option. If you are adding storage information for samples that already exist in the system, check the box to Update data for existing samples during this file import.

You can now use all the Freezer Management features as if you had stored samples using the user interface:

Related Topics


previousnext
 
expand allcollapse all