Friday, April 18, 2014

Heartbleed Vulnerability

Mosaic Vivarium does not use the open source “OpenSSL” package and is therefore not vulnerable to the Heartbleed exploit.  Mosaic Vivarium servers (either hosted by us or at our customers’ facilities) use Microsoft web servers with Microsoft’s implementation of SSL.

Monday, February 24, 2014

Known Issue: Intermittent Error Messages, Especially with Chrome version 33+

You may sometimes see an error dialog:

image

If you click on Details you then see “breeze error: Error: Illegal construction – use ‘or’ to combine checks”:

image

This happens mostly when you first login and seems especially prevalent with the latest version of Chrome, version 33.

The message is a nuisance that poses no problems for your data:  simply refresh the web page.  We apologize for the inconvenience.

We are working hard to find the cause and fix it.

Cage Card Printing with Chrome version 33+

During a recent update to Chrome, Google introduced a built-in PDF viewer.  Unfortunately, this does not have the control needed to properly print cage cards.  There is a simple procedure to restore the previous behavior using Adobe Reader:

In the Chrome address bar, type chrome://plugins

clip_image002

Find a section that looks like this:

image

Disable the Chrome PDF Viewer and Enable the Adobe Reader so the settings look like this:

image

Done.

Note – there are always security considerations with browser plugins.  Adobe Reader is widely used and from a trusted author.  Nevertheless, you should take care to install recommended security updates for Adobe Reader as they become available.

Friday, January 31, 2014

Updating MosaicService

For customers with Mosaic installed on your own servers with a current software maintenance contract, you will occasionally receive updates to the MosaicService.  This component is responsible for scheduled Notifications, and other services.  Here are the steps:
  • Stop the Mosaic Service
  • COPY your MosaicService directory as a precaution
  • Extract the new MosaicService.zip contents over your existing MosaicService directory
  • Start the Mosaic Service
Additional notes (before re-starting the service):

Make sure to retain a copy of your original vci.config.xml file which resides in your MosaicService directory.  This file is overwritten when you extract the .zip file.  You will need to re-introduce any local modifications made to this file, usually those settings which start with Vci.Mosaic.Email.* which configure email.  Pro tip:  enter XML comments in your version of vci.config.xml that remind you which settings you have modified for your local install.

You do not need to retain contents of the Vci.Mosaic.MosaicSchedulerService.Clients node because you will re-register the web with the service later.

If your Mosaic sandbox does not reside at D:\MosaicSandbox, you will need to modify:
<add key="Vci.Mosaic.Sandbox" value="D:\MosaicSandbox\Service" />
in your MosaicService.exe.config file.  This file is overwritten with new updates, so you’ll need to inspect your original MosaicService.exe.config for the proper value of Vci.Mosaic.Sandbox on your server.

Finally, re-register your Mosaic web with the service:

  • Login as mosaic
  • Visit Administration | Maintenance -> Mosaic Maintenance
  • "Cache and Miscellaneous"tab
  • Press "Register With Scheduler"
  • Visit Administration | Reports -> Event Log to confirm


Tuesday, January 7, 2014

Uploading Genotypes to Mosaic Vivarium

Background

Genotype results frequently are provided in Excel format. Here we describe how to prepare your data for direct upload to Mosaic Vivarium.

Procedure

An example results download from Transnetyx looks like this:

clip_image001

First, eliminate all information except the animal identifier and genotype calls until the spreadsheet looks like this:

clip_image002

If you have fewer than 100,000 animals in Vivarium, you’ll need to format the numbers to include leading zeros. Drag the following formula down:

clip_image003

To get this:

clip_image004

If your Transnetyx download includes hyperlinks, right-click the column header and choose “Remove Hyperlinks”:

clip_image005

Select your formatted values and click Control-C to copy them:

clip_image006

Right-click in cell A1 and choose Paste Values:

clip_image007

Then right-click the column header of the column you created and choose delete:

clip_image008

You are left with the animal identifier column and one or more genotype call columns. Save this as a CSV file:

clip_image009

If you open the saved file with Notepad, you should see:

clip_image010

Now visit Animals | Genotyping:

clip_image011

Press the “Upload Genotypes” button and follow the prompts. Make sure the order of the columns shown matches the order of columns in your CSV file:

clip_image013

Press the Upload button at the top of the grid, follow the prompts.

If you get errors such as the following:

clip_image015

it means that the nomenclature used by your genotyping service does not match the nomenclature you have used in Mosaic Vivarium. Vivarium uses the long name of the genotype call to perform the match. You can either modify the import file, or modify Mosaic Vivarium. Genotype nomenclature must match for the import to work.

If you wish to modify Mosaic Vivarium, visit Administration | Lists -> Lookup Lists and select the Genotypes list. You can edit the long or short names of any genotype in the system. Note: if modifying the central genotype lookup modifies the genotype label for ALL EXISTING animals in the system that use that genotype. Be sure you understand what you are doing before performing this edit.

Once your genotype data file matches your Vivarium genotype nomenclature, the import will work:

clip_image016

clip_image017

For more details specific to Transnetyx, see also Extracting Results from Transnetyx for Upload to Mosaic

Wednesday, November 27, 2013

Mating Records in Mosaic Vivarium

A mating record in Mosaic Vivarium represents a list of possible parents for a set of litters.  When you put animals together, Vivarium will inspect the list of existing mating records for the same set of parents – if the exact same set of parents exists for a mating record, Vivarium will re-use that mating record for the new mating cage.  That means new litters seen in the cage will be added to the existing mating record.

If the set of possible parents in a cage has not been seen together before, a new mating record is created.  New litters seen in the cage will be added to the new mating record.

The mating record serves at the basis of your pedigree.  To find all ancestors of an animal, Vivarium inspects the parents associated with the mating ID from which the animal came.  Then Vivarium looks at the mating IDs from which those parents came, etc., until it finds animals from the “N/A” mating ID.  Those animals are ones which were received into the system (not bred in the facility).

IMPORTANT:  The only reason to modify the parent animals associated with a mating ID is to correct an error in the identity of one or more of the parents.  When you attempt to make such a change, you will see the following message:

image

In rare cases, we have seen cases of people modifying a mating record and recording a descendant as a parent.  If you do this, you will see one of the following two messages:

image

or:

image

Some earlier versions of Mosaic Vivarium did not perform this check for you, and it was possible to make an error leading to an impossible pedigree (like me being my own grandfather).  We have seen one or two instances of this out of hundreds of thousands of matings.

If you do have a pedigree loop, you will see an error when you try to setup a mating indicating the loop.  The specific animal will be identified.  The easiest way to fix this is:

  1. Search for the animal on the Animal Worksheet.
  2. Right-click on the animal’s row, and choose Mating –> “All Matings with these Parents”.
  3. Next, remove that animal from the list of parents in oldest mating record.

All your animal records will remain, but you will have incomplete pedigree information for some animals.  Of course the pedigree is already incomplete since this error likely occurred by replacing a correct parent in the mating record with a new one.

The important thing to understand is that setting up new matings is the process of putting a different set of possible parents together, resulting in a new mating ID.  Existing mating records which have litters recorded are the birth records for those animals.  Changing the parents in the offspring’s birth records (mating ID) only makes sense as an error correction if the original parents were misidentified.

Wednesday, November 13, 2013

ORACLE Bug Potentially Affecting Sites Hosting Mosaic Vivarium

If you are running unpatched ORACLE 11.2.0.1.0 64bit Production, you may experience incomplete query results.  The issue is described here:

http://arjudba.blogspot.com/2011/12/select-query-returns-wrong-result-after.html

If you do not apply patches, a work around is to add:

_index_join_enabled=false

to your init.ORA

If you use an spfile, you can issue the following command:

alter system set "_index_join_enabled"=false scope=spfile;