IDEA AnimInfo User Manual

Introduction

The AnimInfo is a module in the Interbull Centre Data Exchange Area(IDEA) website which allows member organizations to upload additional information connected to existing animals in the pedigree module. Examples on additional information are coat color, crossbred information, herdbook number, eartag number, genetic defects etc.

The purpose of the AnimInfo module is to collect reported information from member organizations and to use the module as an exchange area for information, not to verify or authorize information. The system allows different security levels for the information which means that for some AnimInfo information only the authorized organization may view and upload, for other information it is possible for some or all organizations to view and/or upload.

The type of additional information that will be registered in IDEA Animinfo is decided by member organizations in collaboration with Interbull Centre. Interbull Centre has to update IDEA with the type of additional information (coat color, herdbook number etc) to uploaded before member organizations can upload the information in the IDEA Animinfo module. Member organizations are encourage to send requests on additional iniformation to upload in IDEA to Interbull Centre.

The AnimInfo file format is an XML file format. For basic information on XML, see https://en.wikipedia.org/wiki/XML or public/XMLdigest. XML is a flexible system for complex data files and was choosen for AnimInfo in order to ensure easy future development and extension of the module's file format and capabilities, as well as a fitting format for the current data model.

The following is a description on how to, as an end-user, prepare and upload additional animal information to IDEA.

AnimInfo usage

The workflow to upload additional information for animals existing in the pedigree modul:

After uploading , member organizations will be able to query the information and get the information in a data file.

******** These two last sentences will be moved to the Report menu later ************************

If more than one organization uploads the same type of data for the same animal all the uploaded information will be shown when querying that animal, with indications from which organization the different pieces of data come from.

**************************************************************************

Preparation

An overview of current available type of information to upload in IDEA/Animinfo can be found in the AnimInfo -> Types page in IDEA (Figure 1)

animinfo_types_menu.png
Figure 1

Each type of information (Types) have different attributes and values where:

********************* CARL CHANGE **********************

Here, in Figure 2, one can see the specification of the %RH-genes AnimInfo data structure, where the type is specified as RH_GENES, and it has a single attribute, percent. The percent has the value type percent with not available, which is defined in the list of value types as A numerical, integer value between 0 and 100, with the string N/A if not available. This means that one can upload %RH-genes percent values (which is either a percent value or N/A for missing values) for every animal, using the AnimInfo file format.

animinfo_overview.png
Figure 2

****************************************************************************************************************

Create an AnimInfo file

The structure of the AnimInfo XML file format is as following:

Example 1: Take a file which will upload %RH-genes information about two animals. Then the correctly formatted AnimInfo XML data file would look like this:

   1 <interbull type="animinfo" version="1.0">
   2   <animals>
   3     <a id="HOLUSAM000000000X11">
   4       <CROSSBREED breed="RH" percent="50" />
   5     </a>
   6     <a id="HOLUSAM000000000X1x">
   7       <CROSSBREED breed="RH;SIM;BSW" percent="20;20;10" />
   8     </a>
   9     <a id="HOLDEUF000000000Y22">
  10       <CROSSBREED breed="RH" percent="N/A" />
  11     </a>
  12   </animals>
  13 </interbull>

Run Checking program

The correctness of the Animinfo file is checked by a Python 2 checking program called CheckAniminfo.py. The program with instructions are available from IDEA/Software https://ideatest.hgen.slu.se/idea_animinfo/software/index. When no errors are found, a AnimInfo zip file is created ready to upload through the IDEA web interface. The AnimInfo zip file is called IB-ANIMINFO-{org code}-{YEAR-MONTH-DAY}T{HOUR-MINUTE-SECOND}.zip.

AnimInfo Upload

The Animinfo zip file can be is uploaded by clicking on the AnimInfo -> Upload menu item (see figure 3) and then using the appropriate upload buttons.

animinfo_upload_menu.png
Figure 3

After upload the file will be checked by the server-side CheckAnimInfo script. If no errors are found, the data will be passed onto the import functions in IDEA. After the data has been processed an email with feedback information will be sent to th. The email contains general statistics about the upload; how many AnimInfo types and attributes processed, discarded and so on. Also included is an XML AnimInfo feedback file with more detailed information about the upload. Here is the structure of the feedback XML file:

Example:

   1 <interbull type="animinfo_upload_feedback" dscode="ANIMINFO-VIT-20151222T104450">
   2   <processed type="animal information">
   3     <action type="updated">
   4       <item aid="HOLDEUM000000050208" type="CROSSBREED" attribute="RH"/>
   5       <item aid="HOLDEUM000000050210" type="CROSSBREED" attribute="SIM"/>
   6     </action>
   7   </processed>
   8   <discarded type="animal information">
   9     <action type="animal info discarded due to existing identical data">
  10       <item aid="HOLDEUM000000050208" type="CROSSBREED" attribute="RH"/>
  11       <item aid="HOLDEUM000000050210" type="CROSSBREED" attribute="JER"/>
  12     </action>
  13     <action type="infotype discarded due to animal missing">
  14       <item aid="HOLDEUM99930030030X" type="CROSSBREED"/>
  15     </action>
  16   </discarded>
  17 </interbull>

Querying AnimInfo data

To query AnimInfo click on the AnimInfo -> Query menu item (see figure 4), and paste in any text containing animal international IDs.

animinfo_query_menu.png
Figure 4

If no restrictions to the information uploaded to iDEA has been set, the informatione will be presented in a table.The columns in the table are: AID, AnimInfo Type, AnimInfo Attribute, AnimInfo Value and Submitting Organization. The information can be filtered by using filter list boxes. Additionally, when doing a pedigree query there will be an indication on the animal presentation page with a link to the additional information associated with the animal.

Permissions

animinfo_permissions_menu.png
Figure 5

AnimInfo has a quite elaborate permissions system which can be used to allow or disallow uploading and viewing of AnimInfo data depending on AnimInfo type, Organization and AID. To see the current permissions one can click on the AnimInfo -> Permissions menu item (see figure 5). There is presented a dynamic data table with an overview of all permissions pertaining to that organization's AnimInfo data. The columns are Organization, AnimInfo Type and Permission. Permissions can be of four types: (r) means read access to all of the data, (rw) means read and write access, ie. one can both read all and upload own data, (d) means denied access, ie. can't read the value of the AnimInfo data, (x) means the permission is inherited from the default permissions for that AnimInfo type. When the Organization column reads "--DEFAULT" the row indicates the default permission for that AnimInfo type, as set by the Interbull Centre. Currently, only default permissions are allowed. In the future organizations will be able to upload AnimInfo files with permission rules included, so they can have more control over who can view and upload what.

*****************************

Here you will be shown a list of the allowed AnimInfo types, attributes and values:

Example 2: A more complex example would like to upload %RH-genes and Genolist data (which specifies whether the animal has been genotyped or not, and if it this animal's genotype is public or not) for four animals:

   1 <interbull type="animinfo" version="1.0">
   2   <animals>
   3     <a id="HOLUSAM000000000X11">
   4       <RH_GENES percent="50" />
   5       <GENOLIST genotyped="Y" public="Y" />
   6     </a>
   7     <a id="HOLDEUF000000000Y22">
   8       <RH_GENES percent="N/A" />
   9       <GENOLIST genotyped="Y" public="N" />
  10     </a>
  11     <a id="HOLUSAM000000000X45">
  12       <RH_GENES percent="75" />
  13       <GENOLIST genotyped="N" />
  14     </a>
  15     <a id="HOLDEUF000000000Y67">
  16       <GENOLIST genotyped="Y" public="Y" />
  17       <RH_GENES percent="25" />
  18     </a>
  19   </animals>
  20 </interbull>