This is the MiniLIMS user manual. This document describes MiniLIMS from the perspective of a user, including the super user or Admin roles.
- For guidance on installation, see the Installation Guide
- For post-installation setup, see the Post-installation Setup Guide
- For system requirements, see the Overview and Requirementspage
- For assistance with developing plugins for MiniLIMS, see the Developer Guide
- Concepts
- Names, Types, and Properties
- Actions and Navigation
- MiniLIMS tables
- Editing Pages
- Users, Groups, and Roles
- Using MiniLIMS as a User
- Logging In
- The Group home page
- Adding a Sample with the Sample Form
- Bulk loading Samples via Import File
- Query Builder
- Using MiniLIMS as a PI
- PI Login and Home Page
- Adding a Project
- Using MiniLIMS as a Core User
- Checking instrument Runs
- Creating a Flowcell
- Using MiniLIMS as an Administrator
- Adding new users
- Configuring tables
- Changing a Password
- Disabling or Removing a User
- Creating Groups
- Creating a New Type
- Managing Data
- Renaming Pages
- Deleting a Type
- Bulk Page Deletion
- Import File Step-by-Step
- Comments (1)
Names, Types, and Properties
For example, the category “Sample” would be considered a Type and the sample “J53″ would be a Named instance of the Type. In addition to the sample name, other Properties like the sample type (“genomic DNA”), and the organism from which it came (“Mus musculus”) would be grouped together with the Name to make a data record.
The workbook pictured below might be used in a typical sequencing laboratory where Samples are received from external scientists, processed into appropriate Libraries by lab technicians, and then sequenced.
MiniLIMS types are analogous to workbook sheets.
One of the first things to note is how the Excel workbook is divided into separate sheets for Sample information, Library information, and sequencing Run details. This division is often used because different information (i.e. columns) must be tracked for Samples and Libraries. Also, a single Sample may be processed multiple times into Libraries and Libraries are mixed and matched into different sequencing Runs. This division of the workbook into sheets is analogous to MiniLIMS Types. Samples, Libraries and Runs are common Types in MiniLIMS implementations.
All instances of MiniLIMS Types have a Name.
This allows the set of Property values to be grouped together as a single record and to be accessed by a single Web address (URL). MiniLIMS names must be unique across all Type instances in the system. This is common practice in LIMS systems and is implemented either as a anonymous key (e.g. S00001) or a combination of fields that can ensure uniqueness (e.g. concatenating the user submitted name with the username).
All MiniLIMS records are uniquely named.
Samples, Libraries, and Runs typically have a name associated with them, often the first column in the table. Names provide a short hand for tracking physical things like samples through various stages of lab processing. These are most useful when unique.
MiniLIMS Properties are like column data.
MiniLIMS properties map neatly to the columns of a spreadsheet where the column title corresponds to the Property name and each of the data cells in the column corresponds to a Property value.
Like a relational database column, MiniLIMS can apply type enforcement on a Property. Properties can be numerical, string, boolean, and can be limited to some list of values. Unlike relational columns however, this typing is not enforced in the database table structure, but rather with MiniLIMS code. As a result, a Property can change from, for example, a number to a more flexible string without code refactoring.
MiniLIMS data is like a “tall-skinny” table.
In the image below, you can see how one of the spreadsheet sample records would be represented in the MiniLIMS database. The separate columns of the spreadsheet are collapsed into the name-value pair Properties and are tied together as a single record by the Name and Type fields.
All of these components of a data record are brought together in a MiniLIMS page. As you can see, the page is identified by a combination of Type (Sample) and Name (“J78 mRNA”) and is populated with a tall skinny representation of the column data from the spreadsheet.
All data in MiniLIMS is handled the same way.
MiniLIMS extends the semantic data representation described above to all data within the system. As a result, even things like Users and Groups that could be considered specialized system data are defined as Named Types with Properties. As a result, even some system administration tasks can be as simple as editing a page.
Actions and Navigation
The customizable sidebar
The sidebar on the left hand side of each MiniLIMS page is a grouped list of the most common actions. The first menu, Core Data, provides links to forms and summary pages for the core data types: Samples, Libraries, Species, and Projects. The data from these links are limited to those accessible by the current user, typically her group’s data. The remaining menu groups represent the other plugins available from the system. The Local menu includes links to summary table pages for all user created page types. Other menus may include Illumina, Roche454, and so on, depending on the plugins available from your system.
The sidebar menus are collapsible. If a relatively large number of plugins are available or you have a lot of Local types, it can be difficult to access some of the lower menus. Just click on the menu header and the menu will collapse.
The Menu bar
While the sidebar is a convenient location for the most common links, all available system actions can be accessed from the menu bar. Adding new instances of any Type can be done from the Add Page menu; changing the Properties associated with any Type can be done from the Configure Page menu; saved reports can be retrieved and new ones created from the Reports menu; creating new Types, as well as other administrative tasks like adding users can be done from the Admin menu; the Data Import menu provides access to Type agnostic data import mechanisms; and the History menu provides access to previous versions of pages.
Page-specific action buttons
For both data display pages and data entry forms, the actions for the page are available from a set of buttons at the top right of the page. If a user has edit rights, a data page will have buttons for editing that instance, adding a new instance of the same Type, deleting the instance and cloning the instance (adding a new instance with the same set of Property values). Data entry forms will have Save changes and Cancel buttons.
List of entries that reference each page
Types within MiniLIMS can have a Property that references an instance of another Type. This sets up a link between two pages, the MiniLIMS equivalent of a join. For example, a Library can have a Sample property that refers to the Sample from which the Library was derived. In addition to a link from the Library page to the Sample page, the MiniLIMS data structure makes it easy to do the reverse, i.e. link from the Sample to the Library page. As result, pages that are the target of a link have a section called List of entries that reference this page at the bottom. This makes navigation between related pages very easy.
Summary table paging
When a summary table, like those available from the Group Data sidebar menu, must display more rows than the page size (default is 20), links are displayed for additional pages. If a larger page size is desired, simply click on the current page size number to get an edit box for the value, enter the new page size, and hit return.
MiniLIMS tables
Paging links are displayed for large tables
Any table that has more rows than the default page size (20) will display a set of paging links at the top of the table. First, Last, and individual pages links are shown. The page size can be changed by clicking on the Page size value. Fill in the box with a new number and the hit enter.
The Filter field selects rows using a regular expression
The Filter field allows you to choose a subset of the rows that are displayed for the table. The Library summary table typically shows all Libraries, but if you’re only interested in those from particular Groups or those with a certain naming convention you can use this function.
The simplest filter is a plain text string. Any row that matches the string in any of the tables cells will be displayed and all others will be hidden. Partial strings will match and the search is case insensitive (e.g. “pRoJ” will match “Project”).
The field also supports JavaScript regular expressions. Quantifiers, line terminators, and character sets can all be used. The dot character (.) is the most general wildcard.
Any of the displayed properties can be used to sort the table
A sort field can be selected along with a direction. MiniLIMS makes assumptions about the datatypes of individual properties. Most are assumed to be strings, but any property that looks like a number is treated like one. Dates are sorted properly as well since their string representation allows a numeric sort.
A Group by column can be selected, optionally with a date range
If a Group by property is chosen, then the table is reduced to a single column for the unique values of the property and a second column for the count of rows that include that property value. The Group by drop down also includes the calculated values Day, Month, and Year which are constructed from a Date field in the result. In the Group by context these fields support the kind of date range summaries that are useful for management reports. If one of the calculated date fields is used, the From and To fields can also set an additional date range filter. Using these three fields, for example, you could return the number of Flowcells run by month for the current calendar year.
Tables can be printed
The print icon at the right end of the control ribbon can be used to print the table.
Tables can be exported to Excel
The disk icon will export the table to an Excel file.
Editing Pages
Page names
Because all pages must have a name, the first, required field is the page name. A name can be entered manually, but it is easier to guarantee a unique name if the Get New Name button is used. This button generates a name by combining the Type with an incrementing number (e.g. “Sample_1″). The name field is required on all MiniLIMS pages.
Required Properties
Form fields with a red asterisk before the label are required. Any field that is specified as required must have a value or the page cannot be saved.
If you’re unable to save a page it is probably because a required field was not filled in. Error messages are displayed next to the field so you can easily find the empty, required field.
Properties that are other pages
Fields like Group and Group Member are examples of Properties that refer to other pages. By allowing other pages to be properties, data in MiniLIMS can linked like foreign keys in a database or URLs between web sites. These fields are implemented as auto-complete fields. As you begin to type, a list of matching page names will appear beneath the text field. Any one of the items can be selected. To get a list of all possible values, type a single space in the field.
When editing fields like this, MiniLIMS provides a convenient link (
) for adding a new instance of the Type. This link launches a dialog version of the input form.
This Group Member field demonstrates how MiniLIMS handles multiple selection from a related data Type. In a common example, Samples may be associated with a number of users (represented by type Group Member). From the total list of Group Members on the right-hand size, a subset may be selected and assigned to the list of Sample users on the left-hand side. Ctrl-click allows selection of multiple, discontiguous items, and Shift-click will select a contiguous range. The selected items will be shown as a comma-separated list.
Upload file Properties
In many cases it is desirable for files such as images, Excel files, or PDF reports to be associated with data records. This can be accomplished in MiniLIMS using an Upload file type of Property. A BioAnalyzer QC file is a common example in NGS systems. As in other Web forms, clicking the Choose File button will launch a file browser from which the file can be selected. Once the file is selected and the page is saved, a link to the file will be displayed on the updated page.
When an image file is uploaded, MiniLIMS will display a thumbnail of the image in addition to a link to the file.
One problem that can occur is that MiniLIMS will not upload a file, due to the limitation on file upload size. By default PHP limits file uploads to 2 Mb, a fairly safe size for internet Web applications. For LIMS systems, this is often too small. To increase the size limit adjust the upload_max_size and post_max_size parameters in the system php.ini file.
Users, Groups, and Roles
- Sequencing lab personnel must be able to view and edit all sample data, but external scientists should only be able to see their own data.
- A general audience can login to view published results, but only a limited number of scientists may actually submit sample records for processing.
- Only the PI (Principle Investigator) of a lab can add new members to the lab group.
MiniLIMS user names become page names
When a user is added to MiniLIMS by an administrator, a user entry is created in a database table. Many users, like Admin and Core users, need no more than this. However when users are assigned to Groups, a Group Member or PI entry (see below) is created, as well as a page. User names must therefore be valid page names. Underbar conversion rules also apply, meaning any space in the user name can be written as an underbar, and vice versa. For example, a user could login as either “Zac_Efron” or “Zac Efron”.
User roles determine the capabilities of a user
When a user is created by an administrator, a role is assigned. There are 5 roles available in MiniLIMS.
- User
- Can read Group and site-wide data
- Can write Samples and site-wide data
Most users of the site will have this role, and this is intended for people in Groups. They can only view data that is owned by their group or is system wide. They can also add and edit Samples and Species.
- PI
- Can read Group and site-wide data
- Can write Groups, Samples, Projects and site-wide data
This is the role for each group’s PI. They have the same abilities as the User role but they can also create and edit projects. This can be considered a Group level administrator.
- Core User
- Can read all data
- Can write all data
There will only be a few of this type of user. They are the people who are running the sequencers and have to have access to sample and run data.
- Admin
- Can read all data
- Can write all data
This user has full power over the site. They can read and write all of the data as well as performing various Admin actions. These include things like adding users, adding data types, configuration, and removing data instances.
MiniLIMS users can be added to Groups as Group Members
When an Admin creates a user, after assigning a role, the user can be added to a Group as a Group Member. This creates a Group Member page with the same name as the user. A few additional property values with contact information can be filled out, along with an assignment to one or more Groups.
Becoming a Group Member is only important for individuals with the User or PI role, since those roles are restricted to Group-level activity. The Admin and Core user roles have access to data across Group boundaries.
Using MiniLIMS as a User
Though there is no requirement for such a separation, laboratories using MiniLIMS often create a distinction between ordinary users and “core” users. Ordinary users are typically external to the laboratory and are limited to the ability to enter sample records and retrieve results. Core users are internal lab personnel that process samples, load instruments and assist in the generation of results. The steps described below are useful for core users as well.
Logging In
In MiniLIMS spaces and underscores are interchangeable. If your assigned login name is “Jane_Sparks” then you can also use “Jane Sparks” without the underscore.
If your login is accepted you will be taken to your home page. For a general user this will be your Group’s page (you should have been allocated to a group when your username was assigned).
The Group home page
Since Project, Sample, and Library data types all have a Group field, the List of entries that reference this page section contains listings for all pages associated with the current Group. Analysis results may also be visible from here.
Adding a Sample with the Sample Form
Like most MiniLIMS data, Samples can be created using either the Add link on the sidebar or the appropriate menu item under the Add Page menu. This will open the Sample input form. Though Sample forms may be customized in many labs, there are a number of fields that are commonly used.
Name, Group, Group Member, and Project are required fields
The first field on the Sample form (and on most MiniLIMS forms) is the Name field which has a companion button Get New Name. Every page in MiniLIMS must have a unique name or it cannot be properly accessed. Get New Name will create a unique name by combining the type (Sample in this case) with an incremented number, e.g. “Sample_9″. Entering a unique name manually is always an option for labs that have a specific naming convention.
The Group and Group Member fields are required so that you and your group have access to the Sample. For most scientists, only one Group will be available from the drop down list and the Group Member will be you. If you are part of more than one group, you will have the ability to select the assignment for the Sample. By assigning your name to the Sample, that means that you are the only member of your group that has write privileges to the Sample. Users with greater privileges can assign write capabilities to other users.
Project assignment is also important. This allows Samples to be organized within the Group and treated as a batch. PIs can create new Projects when they are needed.
Saving the Sample
Once the Sample form is properly filled out, click the Save button on the top right of the page. If successful, you’ll see a Saved Sample message along with a link to the new Sample page. If the page does not save, it is likely to be due to required fields that are not filled out. Check each of the fields with a red asterisk.
Cloning a Sample
Often a batch of Samples is entered for a project that differ little in their sample meta data. For example, the Group, Project, and Species may all be the same but they differ by name. As soon as one of these Samples is entered, you can use the Clone Sample button on the top right of the page. This will open a new Sample form auto-populated with the values of the entered Sample. Simply add a new name and save the Sample.
Bulk loading Samples via Import File
Detailed instructions for using the File Importer for the general case are available.
Prepare the text file
MiniLIMS doesn’t currently take Excel workbooks directly, so sheets should be saved in tab or comma-separated format.
For most situations, the Excel sheets that are used to initially setup large sample sets can be used without modification. As long as samples are setup in rows with one sample per row and a unique sample name column the file should work.
If the file has column headers that match property names of the Sample type you can skip a step in the wizard that assigns properties to columns, described below.
Select the file from the Import File page
After clicking on the Import File menu item, the upload page allows you select the file and the delimiter type. Once the correct selection is made, click the Upload file button. If successful, you should see a parsed table version of the data in your text file.
In the first page, you’re asked to assign a column to page names. For a Sample upload like in the example, this column should be the sample name column. All pages in MiniLIMS must have a name, so this step cannot be skipped. If your samples don’t have names, or your names might not be unique, the an automatic name assignment column can be used (see below).
After assigning page names, the property columns must be set. The drop down control above each column allows properties to be assigned from the parsed columns. Not all columns need to be mapped to properties. This assignment tells MiniLIMS which columns will be properties, but not which properties they correspond to.
Mapping the columns to particular properties can either be done using the column headers from your original sheet, or by assigning new ones.
Query Builder
The first option for the Query Builder is to select an existing, stored query. To create a new query, just leave the value of this drop down at New. If you intend to store your query, then include a short name in the Description box. If you don’t define a name, but decide to store the query, a default will be generated by concatenating the selected page names.
To build the query, select the first page type that you’d like to include. For example, if you’re interested in the number of Flowcell Lanes run for different groups, you might first select the Library page. Library is the key link between Flowcell Lanes and the other sample meta data and includes Group and Group_Member fields. Once you’ve selected the first page, the Type 1 Properties list box will contain the list of possible Properties from the first Type that can be returned by the query. Use a Ctrl (or Command) Click to select one or more columns that should be part of the output.
Having selected the first Type for your query, the Page Type 2 drop down allows you to select another page to include in the query, but only those that have a join property with the first Type. Since Library was selected for the first Type, Illumina Lane can be used as the second Type, but Machine cannot since there is no Library property for Machine and no Machine property for Library. Properties to be displayed can then be selected from the second Type.
After choosing the types and output properties, sort and group by options can be selected. The sort field can be any of the properties selected from the first or second types. Additionally, Day, Month, and Year fields can be chosen. These will be parsed from a date field that is in the output properties list. A property can also be selected for grouping rows. If, for example, the Project property is chosen, then for each unique Project value, the count of rows in the query will be summarized. Day, Month, and Year calculated fields are also available. These can be particularly useful for management summary reports of usage over time.
Once the query is defined, you can either save it (Save Query) or run it (Execute Query). If you execute the query, the table will appear in the Results tab. The table will have the same control ribbon as other tables in MiniLIMS, including the print and CSV export options.
Access controls (defined by Users, Groups, and Roles) apply to the query results; though users can share different queries, the results will always be limited to the accessible data.
Using MiniLIMS as a PI
PI Login and Home Page
Adding a Project
After giving the Project a unique name (or having MiniLIMS assign a unique name with the Get New Name button), the Project must be assigned to a Group so that access to the Project can be controlled. The PI’s group should be the only one available from the list.
The Group Member assignment determines who can edit the Project. This can be any subset of the members of the group.
Finally, the Project Status can be assigned.
Using MiniLIMS as a Core User
Checking instrument Runs
Creating a Flowcell
Selection of the Flowcell name can either be done manually, or MiniLIMS can generate a name using the Get New Name button. Either way the selection of the Flowcell name is important since it is the key link between the Illumina Runs and the Sample and Library information in MiniLIMS. If the name assigned in MiniLIMS is not the same name used for the instrument run, it will be difficult to associate run and sample data later on.
After the Flowcell details are entered, Flowcell lanes can be defined. For each lane, a Library can be assigned from the set of available Libraries. For multiplexed preparations, the Add Library to Lane button can be used to add as many new entries as needed.
Using MiniLIMS as an Administrator
Adding new users
Group assignment is valuable for PI and User roles. For Core Users and Admins, this step is unnecessary.
When adding a new PI, it is important to remember to create the PI page for the user as well. Like all other data types, the PI menu item from the Add Page menu can be selected to get the appropriate form.
Configuring tables
The configuration dialog alters the query for the table
The configuration dialog access from the small “wrench” icon on the table control ribbon. The Display columns list controls the properties (or columns) returned by the query. Any property from the component types can be selected. Use Ctrl-Click to select or deselect multiple columns.
The Sort by drop down determines the sort order for the table. Select any one of the properties returned by the query. Direction of the sort is controlled by the Sort direction drop down.
A Group by property can also be chosen. This allows a simple form of summary reporting to be done. For example, a table of Libraries that includes the Group assignment can be used to create a count of Libraries by Group if the Group property is selected. If a Date field has been included in the query, the date components are broken out so that Group by can be applied to day, month, and year.
Returned rows can also be filtered by entering a JavaScript regular expression in the Filter field. The expression can be a simple string of characters like a Project name. Alternatively, wildcards, character classes and quantifiers can be used. The expression is applied to each field, so beginning (^) and end ($) codes work on individual table cells.
Changing a Password
Disabling or Removing a User
A user can be prevented from logging in to the system by checking the Remove login checkbox and saving the changes to the user list. If Remove login is selected, the user will remain in the MiniLIMS system, along with role and Group information, but the user will be unable to login. This is useful if a login must be temporarily disabled.
To completely remove a user, for example if the wrong name was entered, both Remove login and Delete from database must be checked before saving the changes. This will remove the user from the underlying MySQL database and delete their role and group information.
Data pages (e.g. Samples) owned by a deleted user are not deleted when the user is removed.
Creating Groups
In this form, existing users can be added using the multi-select box. A PI can be assigned to the Group with the PI select list. Remember, only users with a PI page will be listed here.
A second option is the QuickBuild Group page. In addition to creating the Group and assigning members and PIs to the Group, this page supports the creation of stub records for Projects, Samples, Libraries and other Group data. If a Group had a number of existing Projects that were setup in a legacy system, for example, those Project names could be listed (comma-separated) in the Project text box and stub Project pages with those names would be created.
Creating a New Type
Plan your data model before creating a new type
The first, and most crucial, step in constructing a new type is to have a plan for what you want to store and the characteristics of the data. One of the most common places to start is with a spreadsheet version of the data. A number of aspects of a typical spreadsheet will give you clues as to how the type should be designed. For example, many Excel workbooks have multiple sheets. The names of those sheets are often related to the “type” of data on the sheet. Sheet names like “Sample”, “Library”, and “Run” translate well into MiniLIMS types. The data columns of a sheet usually correspond to properties and the rows correspond to individual pages that would be created for the type.
Once you have planned your new data type, the Add New Page Type menu item in the Admin menu can be used to initialize the new type. In this form, enter at least the new name for your type. Additionally, you can enter a comma separated list of names for new properties.
After adding the new type, a link (e.g. Configure new type) will allow you to go to the full property configuration form. In this form, the attributes of each property can be set. To add a new property, click the Add Property button and set the name. The naming convention used within MiniLIMS is initial caps with spaces between words.
Property attributes
After naming the property, the property attributes should be set.
- Editable
- This attribute determines whether a property can be edited by a user. By default this is checked.
- Multiple values
- If a property can take multiple values (e.g. “Library 1, Library 2, Library 3″) then this attribute should be checked. Unless the Restrict to type attribute is set (see below), values can be entered as a comma separated list.
- Required
- If this box is checked, a value must be entered for this property or the new page will not be saved. For properties with the Restricted values attribute set, the drop down list will not include a null value.
- Hidden
- This attribute determines whether the property is visible to the user or not. Hidden properties can be handled by an Admin or by code.
- Restricted values
- Checking this attribute allows the Admin user to define a controlled vocabulary for a field that will be rendered as a drop down list (or auto-complete field, or multi-select box). If a type is selected by the Restrict to type attribute, the list will be populated with page names from that type. If a type is not selected, a text box will be presented the next time the type is configured so that a comma-separated list of values can be entered.
- Restrict to type
- If you would like to restrict the values to pages names of another type, the type can be selected here. This is the mechanism by which pages of different types can be linked. This can be thought of as a MiniLIMS version of a foreign key. If the Multiple values attribute is also checked, a property with Restrict to type will render as a pair of boxes with transfer buttons in between.
- Upload file
- Check this attribute if the field is to represent an uploaded file. This type of property will render as an file upload button on a form. After a file is uploaded it will render as a link to the file, or, if it is an image, as a thumbnail of the image itself.
- Delete
- This checkbox is used to remove a property from the type.
- Tooltip Text
- This input box allows you to specify a tool tip for the field on the form.
Once properties have been defined and attributes selected, the Save changes button will apply the new type definition. After saving the new type, the Add Page menu will now include an option for creating a new page from the new type. A link to a summary of all instances of the type will be available from the Local menu on the sidebar.
Managing Data
Selecting a type from the Manage Types search
The starting point for the Manage Data functions is the Search form. This form allows you to select types or pages based on property names, values, type names or page names. Once the pages or types are retrieved then one or more may be renamed, deleted, and so on.
There are two options for selecting pages by Name, Type, or Property. You can either choose from a drop down list of values or enter a value into a text box. The former is best suited to limited lists like Type or Property, while the latter is more useful for Names.
Searches may also be done against Property values. For this type of search, the Value textbox must be filled in. To restrict to a particular Property, the Property drop down or text box may be used.
Renaming Pages
If all of the pages in the search results must be updated, each page need not be checked, the Rename all action can be chosen instead.
Bulk Page Deletion
Import File Step-by-Step
The Import File wizard is most effective using comma- or tab-separated files that closely match the data organization in MiniLIMS. Specifically, the rows of the file should correspond to named “things” like Samples or Libraries. Each of the columns should correspond to information that describes the “thing” and one column should represent the name of the “thing”.
One of the columns in the spreadsheet must include a name or identifier for the records being imported (e.g. a Sample Name column). If such a column is not available, or the natural name column is likely to contain duplicate values (e.g. sample names provided by one group overlap those provided by another group), an “AUTO” column can be added. In an AUTO column, all values are the word “AUTO”. This indicates to MiniLIMS that it should automatically generate a name for the entry.
Select a properly formatted file or paste in text
After clicking on the Import File (advanced) menu option in the Data Import menu, the first thing you must do is upload the appropriate file. The file should be either comma- or tab-separated fields. Rows can be separated by either Unix/Mac or Windows newline characters.
It is important that the delimiter characters are not part of the field values. For example, if there are tabs in sample description field, then the field will be split incorrectly.
Instead of uploading a file, data can be transferred by copy-and-paste into the text area.
Once the correct file is chosen, click the Upload file button.
Select the page name column
After the Upload file button is clicked, the top few rows of data will be displayed. Data will be parsed based on the delimiter that was chosen into separate columns. Failure in parsing, as would occur with errant delimiters, may result in a blank page.
All records in MiniLIMS must have a page name, so for bulk uploads the first step is to identify the column containing page names. This can be done by selecting Page Name in the drop down list above the column that contains page names.
In some cases it is desirable to let MiniLIMS determine the name for an entry. For example, if users have a tendency to use overlapping sample names, it may be best to allow MiniLIMS to name the page (and include the user generated name as a property) to prevent conflicts. This can be accomplished by including a column in which all of the values are the word “AUTO”. This AUTO column should then be selected for Page Name.
Click the Next button to move forward after choosing the name column
Select property columns and assign to properties
In order to include additional columns as property values, select Page Property from the drop down list above each column.
After clicking the Next button, you will have the opportunity to assign columns to specific properties. If the top row of your spreadsheet has the correct property names, then you can proceed to the next step.
If your spreadsheet has a header row, but the column headers don’t correspond exactly to the property names, you can change them on the fly. Simply click on the table cell and edit the contents. When you edit a table cell on the page, the edit menu will make a number of editing functions available (see below for details).
If your spreadsheet does not have a header row, one can be added at this time. Click the Add Header button and a new, editable row will be inserted at the top of the sheet.
It’s important at this point to ensure that the column headers used for property names correctly match the properties associated with the type being loaded. Though you will have a chance to validate the upload (which will report property mismatches) a careful check at this point will save some re-work later.
To validate or not to validate?
The penultimate, optional step before loading the data is to validate the data set. If you click the Validate button, a series of checks will be run and a dialog will report the result. The checks include:
- Does the page type exist? If the header of the column selected for the Page Type does not exist, this will be reported.
- Does the page exist? If the header of the Page Type column is a match for an existing type, then each of the values in that column are checked against existing page names. A warning will be issued if the pages are found.
- Do the properties exist? Each of the headers of Page Property columns are checked against the chosen Page Type. If that type does not include one of the properties, it will be reported (along with a list of correct properties for that type).
There are some situations in which validation can be bypassed. For example, when loading legacy data, the File Import can be used to create new properties from the columns of data. In this case, just click the Next button without using the Validate Data option.
Save
The final step in the File Import wizard is to save the data. After clicking the Save Data button on the final page, the data will be used to construct pages and properties. Any problems that occur during saving will be reported by a dialog box.
Data editing options
When a user clicks on a table cell during the File Import wizard, the cell becomes editable. This is important for the setting of column headers, but can also be used to edit data on the fly. To help with this and other data editing, a menu appears to the right of the page. Besides helping edit a cell, this menu can do a number of manipulations on the table columns, rows and cells.
- Hide column
- Removes the currently selected column from the view. The Show all columns item will return the column to the view.
- Hide row
- Removes the currently selected row from the view. The Show all rows item will return the row to the view.
- Hide cell
- Removes the currently selected cell from the view. Data will be shifted from the right. The Show all columns item will return the cell to the view.
- Insert cell in row
- Creates a new cell and shifts data to the right.
- Move cell right
- Moves the current cell to the right and inserts a blank cell to the left. This is similar to Insert cell in row, but overwrites the cells to the right.
- Insert cell in column
- Inserts a blank cell above the selected cell and shifts column data down.
- Hide empty cells in column
- Collapses any empty cells in the column of the selected cell.
- Insert column left
- Inserts a new column to the left of the selected cell.
- Duplicate column left
- Inserts a new column to the left of the selected cell containing a copy of the data in the current column.
- Replace in {cell,row,column,all}
- This handy option allows you to do a regular expression replace across the current cell, row, column, or across all of the table. This can be particularly useful for removing disallowed characters from page names
- Split {cell,row,column,all}
- This option is a simple version of Excel’s Text to Columns. For example, a column might contain a sample name composed of separate fields concatenated together with underbars (e.g. sample1_human_cancer-project_efron-lab). This function can be used to separate the individual fields out into distinct columns.
- Merge column
- This item is the opposite of Split and can be used to combine separate columns. For example, your spreadsheet may have First Name and Last Name as separate columns, but MiniLIMS may be tracking a Scientist property that includes both first and last names.
- Show all rows with this value
- If this item is clicked while a cell is selected, all rows containing that value will be displayed and all others hidden.
- Hide all rows with this value
- If this item is clicked while a cell is selected, all rows containing that value will be hidden.
- Use current value for all cells in this column.
- If this item is clicked while a cell is selected, all of the values in the current column will be changed to match the selected cell.
- Show all columns.
- If columns or cells have been hidden by another menu item, this will display the hidden columns.
- Show all rows.
- If rows have been hidden by another menu item, this will display the hidden rows.
- Show Current Data.
- This button displays a dialog containing the data that will be uploaded in a tab-delimited form.





















