ICISWiki/pedigree viewer
From ICISWiki
Contents |
Germplasm Pedigree Viewer
Pedigree Viewer for Developers
Pedigree Viewer History
Where To Try It
Try it here: http://koios.generationcp.org/belisama/.
This URL will be, sooner or later, changed to http://zeus.generationcp.org/belisama/.
Once there, select Pedigree in the banner:
User's Guide
The pedigree options page is full of small
icons. When you hover your mouse over them you will get some context-sensitive help.
Pedigree types
There are several types of pedigrees:
- Regular (parental) pedigree - showing all parents of a given germplasm. For example:
Parental pedigree of IR-38501 (GID 779750) - with 1355 nodes and 1866 edges (no, this one is not clickable - it has 1400KB)
- Neighborhood pedigree - showing parents and children of a given germplasm and of all its neighbors - either derivative or maintenance neighbors. For example:
You can select the type by choosing from the select box:
Show regular (parental) pedigree
Show derivative neighborhood
Show maintenance neighborhood
The arrows in the graphs always point "as time goes", i.g. from parents to children, disregarding the graph orientation.
The full arrows
are used for SOURCE, GROUP, MALE and OTHER parents, while a non-filled arrow
represents a FEMALE parent. Later in this guide, you will find that the arrow colors may be changed; they are customizable together with the edge colors.
There is also a check box Show selection history that allows to hide or show the intermediate derivative and maintenance steps (in the regular pedigree):
If you hide the intermediate steps the colors of the edges will indicate that something is hidden between nodes: the edges are not painted in the "generative method type" color.
Select a graph orientation that suits best the layout of the nodes
The pedigree graph can have four different orientations - but none of them changes relationships between children and parents; the arrows will always go from parents to children.
Moving pedigrees around
Mini-map helps to navigate through big pedigrees
The pedigree graphs are usually much larger than the space available in your browser. Therefore, such pedigrees are shown with a mini-map (or an overview-map) in their right bottom corner. To move the pedigree around, you can use one of the following ways:
- Put the mouse cursor on the pedigree, hold down left button and pan (move) the graph in any direction you want. This works fine with any browser. Only make sure that you put your mouse outside of any node (otherwise the panning would not start).
- Or, put the mouse cursor on the pedigree - again outside any node - and use arrows on the keyboard to pan (move) the graph. Hold down the Shift key for faster panning, or hold down the Alt key for slower panning. This also works fine in all browsers. A drawback is that the panning stops when the cursor enters a node. You need to move it again by mouse, or make a "ski slalom between nodes".
- Or, put the mouse cursor into the red rectangle in the mini-map, hold down left button and move the rectangle - the main graph follows the movement. This is probably the fastest way to get approximately to the place you wish - but, unfortunately, it does not work well in the Internet Explorer browser. Sorry for that, but at the moment we have not found how to fix it for IE.
Partial pedigrees
By default, parental pedigrees show only seven generations (steps). The button can re-create the whole pedigree.
By neighborhood pedigrees you can specify separately how many generations of children and of parents will be shown.
The partial pedigrees have their missing branches replaced by short dashed edges - they are clickable.
It is possible to create pedigrees with only limited number of generations (steps). The missing branches are shown as dashed edges. The behaviour and calculation of generations are slightly different for parental (regular) pedigrees and neighborhood pedigrees.
The partial pedigree remains partial until you make it not partial. Which means, for example, that the Save pedigree button also saves the partial pedigree - if it is displayed as partial.
Parental pedigrees
Parental pedigrees can remember how many generations to show for each germplasm in the pedigree individually. This is one of the differences between parental and neighborhood pedigrees - the latter ones treat all germplasm with the same generation count - but they have two counts (for parents and for children).
Once you created a partial parental pedigree (by specifying Maximum steps), there are several ways how to add more nodes to this pedigree:
- Clicking on the dashed ending edge adds one more generation - only to this particular node
- Clicking on the last node (the one where the dashed edge leads to) and selecting in the popup window Restore parental branch restore the full branch - up to the oldest known parent.
- Clicking on the button Restore all branches does what it says: the full pedigree will be created (or re-created) - but only up to the point specified in Maximum steps field.
The neighborhood pedigrees have two generation counts: backwards counts the number of parental generations and forwards counts the children generations. These two counts are always applied to all germplasm in the pedigree.
In order to expand the neighborhood pedigree, you can click on the dashed ending edge. It will add one steps in the appropriate direction. The step is added to the whole pedigree - so it does not matter on which dashed ending edge you click (as long as it is the ending in the direction you wish to expand)
The both counts are treated relatively to the entry germplasm (see figure).
This was created with 2 backwards steps and 1 forward step; the entry germplasm is highlighted
A note for developers
Developers (and advanced users) may explore the testing field (labelled as "S", down at the end of the pedigree options) and specify there which nodes should be cut or expanded and for how many steps. See the help about it - but here is an example:
{"11": 0, "2269183":2}
means that the GID 11 should be not expanded, at all (number zero), and the GID 2269183 should show maximum two generations of its parents. This option almost definitely will not be in the Zeus application (no need for it there).
Customizing pedigrees
There are several options that allow customization of the pedigree nodes. All of the look&feel options, except highlighting, are applicable to all nodes in a pedigree (for example, you cannot choose a font size only for some nodes).
Graphs edges represents germplasm methods - they can be customized by these options
The germplasm methods have name and type:
- The method names can be shown as edge labels - check the box Show methods. The multiple edges connecting progenitors to offspring by generative methods all share the same method name - and hence this is displayed only once (see figure below).
- The method types can be expressed using different colors. By default, they are: derivative methods, generative methods, and maintenance methods. All coloring can be removed by un-checking Color method types.
In order to select your own color, click on the tiny color square next to the method type. It will show a color picker where you can select (in three different ways) a color:
Pick a color by clicking. Use X to cancel.
Pick a color by clicking. Bottom bar shows color names.
Use sliders to create a color, then click on it.
In order to get back the default colors you need to reload the page (or remember the colors
).
The edges representing derivative and maintenance methods have their own method names; the edges for generative methods share the name (see "Selected polled cross" method)
Selecting different font size may help with big pedigrees or when creating a poster
Obvious functionality. Note that the edge font size is used only when edges have labels - which occurs when 'Show methods' box is checked.
Select those fields that should be shown in every node
Customization of the node contents is more useful. At the moment, there are several fields that can be shown in the nodes - but this feature is expected to grow significantly in the future. We expect to be able to show trait values, genes, and other experimental (study) data. Users should be aware that, at the moment, inserting many fields into big pedigrees can slow down their creation significantly.
Each field is shown on a separate line (or on more lines if wrapping is enabled). The line can have a label if the box Including labels is checked (which creates big nodes and consequently big graphs). The labels are the same texts that are shown next to the check-boxes.
Set the maximum number of characters per line by using the wrapper select box. Only some fields are affected by wrapping (names, locations). Here is an example.
Clickable actions on pedigrees
A popup window appears when a node is clicked on
Pedigree nodes are clickable - offering more than one action what to do with the node or what to tell about the germplasm represented by this node. A popup window stays open until its Close button is pressed, or until some action is selected. They may be, however, some actions that do not close the popup window immediately. The list of actions is configurable (by developers) - and can be changed without changing any underlying code. Therefore, this manual may not reflect all actions shown. Also, different pedigree types may have slightly different actions available.
- Show germplasm old page
- It is a link to the standard germplasm detail page (example)
- Show germplasm in Zeus
- It is a link to the new germplasm detail page in Zeus web application(example)
- Show germplasm details
- It is shown below the pedigree graph. The pop-up window stays open and when you click on another node, the pop-up windows is re-open (if necessary) on the same relative place - so you do not need to scroll up and down to see details from more nodes.
- Create a sub-pedigree
- Creates a parental pedigree for the given germplasm
- Remove parental branch
- Remove all parents of the given germplasm
- Restore parental branch
- It makes sense only for a node that has a dashed edge signalling the partial pedigree.
- Select for/Remove from highlighting
- It does not do anything immediately: it only adds selected germplasm to the list in the field Highlighted GIDs. Press Show to make it happen. Use this action if you wish to select more germplasm for highlighting in the same time.
- Highlight now/Remove highlighting now
- It re-creates the pedigree with the selected change in highlighting.
The list of actions will grow up - we may use it for displaying data that would not fit easily into the nodes (for example, genes?). It will also have advantage that we get the data only for one node at a time.
Searching in pedigrees
Type GID or GIDs you wish to find in the pedigree and press Show - the pedigree will be redrawn with the specified GIDs highlighted
Pedigrees can be large and it may not be easy to find a particular GID there. This field can have one or more (comma-separated) GIDs that will be found in the pedigree when a Show button is pressed.
You can also highlight nodes from the Clickable Action popup window. You may notice that selecting a node there also adds its GID into this field.
As with the method types, also here you can click on the tiny color square and choose a different color for highlighting. There is no option, however, to use several colors in the same time (is this a wanted feature?).
Miscellaneous features
Whenever you type or select a GID, it is also added here, for easier access next time you need it
The History list remembers all recently used GIDs - both those entered manually in the Germplasm ID text field, and those from the graph nodes where you left-clicked on. Selecting a GID in the list copies it into the Germplasm ID search field.
The history puts the latest GIDs always close to the top. It always shows only the list title Used GIDs - this is a feature not a bug
.
You can clear the history list by clicking on a link in its help page.
Select a wanted format and save the current pedigree toa local file
In all browsers, pressing the Save pedigree as button should open a file dialog window allowing to store the current pedigree in your local file system. Before saving, the pedigree is re-created according the current options (therefore, you may press the saving button even without having the pedigree shown on the screen).
Some formats are a bit obscure and may not be that much useful. The SVG format may be interesting if you have a SVG viewer installed.
Clicking on the small arrow icon next to the saving button opens the current pedigree in a separate window. It may be useful in two ways: Sometimes you may want to see the whole pedigree in its own window, without the navigation mini-map and without pedigree options obscuring the view. Note, however, that the pedigree open in a separate window does not support all clickable actions. And/or, having a pedigree in a separate windows also shows its URL (with all selected pedigree options included) that can be used as a permanent link to this particular pedigree (sent by email, bookmarked, etc
Check this box when you wish to be sure that a pedigree is created freshly
Usually, you do not need to check this box. Caching helps to speed up the pedigree creation: the same pedigree image, once created by a user may be re-used by other users (if they all use the same pedigree options, such as coloring, number of generations, graph orientation, etc.). But sometimes things do not go well, especially when developers are testing new features and adding new options, and it is better to return back to the rule "do it again from the scratch". That's what this check box is for.
Frequently Asked Questions
There are no stupid questions, there may be only stupid answers...
Questions
Answer
Why I cannot search by a Germplasm name?
Normal users would expect to request pedigrees by germplasm name, not GID, so searching by name would be a highly desirable feature.
Yes, definitely. The Belisama Toys - the application you are now reading about - is a prototype application. It concentrates on the pedigree - and it does not care much about searching germplasm by name. But the real application, the Zeus (previously called Koios), has already the full searching capabilities. Consider, therefore, the current Belisama as a purgatory before stepping into the abyss
.
However, even in Belisama, you can find a germplasm by name, remember its GID and enter it in the pedigree panel. Select Germplasm option in the top-page banner, use the searching capabilities there and then come back here.
Why does the Maximum steps option work only sometimes?
The Maximum steps is not used when a (regular) pedigree has some missing branches. It is because you may have a pedigree with branches that are extended using different number of steps. It happens when you start clicking on dashed edges - which extends just a particular branch. It means that your pedigree becomes customized to your needs (different depth in different branches) - and taking into account the current Maximum steps when redrawing such pedigree would remove all such customization.
Therefore, the Maximum steps is used only when a pedigree does not have any unfinished branch (there is no dashed edge), or when you click on "Restore all branches". In other words, the functionality you are asking for is there - but it is done by the Restore all branches and not by Show button.
Real and potential plans
Show more data in the pedigree nodes [Graham, et al.]
- Show also traits in the nodes
- Now here is one point in the neighborhood plots: you can put a lot more passport data by default because the trees should not be very big.
Multi-graphs [Graham]
- It is convenient to see more than one derivative neighborhood at a time - either in a single graph (by specifying more than one GID, or in seperate pop-ups which you can place side by side to look at (example 2238213 and 434056 - DAMARIS).
Optimalization [Martin et al.]
- To cache each germplasm object - it should improve the pedigree creation time.
Longer-term plans
- Use pedigree as a validation tool: show (by color?) suspicious places. Who can give me some "rules" what to consider suspicious?
- MGID vs. GID (a different pedigree?). I am not sure what this should be...
- Make the graph editable; a curation tool, writing back to the "local" database.
- Distinguish (by colors?) what nodes are from the "local" and from the "central" database.
Known issues and bugs
Sometimes text goes out of the node [Martin]
- This is a problem with default font on the machine when pedigree is being created. I am not sure how to solve it - but it is solvable - just I need more motivation to dive into it.
Some neighboroughs pedigree take long time to crate [Martin]
- Yes, that's true. I found some big pedigrees taking up to 1 or 2 minutes to create. We already added some optimalization and will find more. Before that, just be patient. Sorry.
The good news is that once a graph is created, it is cached and next one it takes less than a second to appear. Well, take the life from the sunny side...
Contact
- Please send any comments and suggestions to Martin Senger
- Please report any bugs or uncertainties either also to Martin Senger, or, perhaps better, to the bugs tracking system on CropForge. Requests for new features are welcome and will not be forgotten when sent to the potential fearure list.
- If you find that the server serving pedigree viewer does not respond at all, please report it to Mylah or Martin
- There is also a mailing list where you can communicate with the community, and perhaps find some answers already discussed


