Team:Heidelberg/Tempaltes/iGEM42-W-20a
From 2013.igem.org
Contents |
Expansion of Filters
The last filters missing (medal and abstract), another filter for team names and one for the information content of the abstract were implemented. Additionally the selection ranges of some filters were adjusted. See table 23.1 for the final filter setups.
Parameter | Type | Options* | Status |
---|---|---|---|
Year | numeric | 2007-2012 | final |
Region | string | levels | final |
Track | string | levels | final |
Students | numeric | 0, 5, 10, 15, 20, >20 | final |
Advisors | numeric | 0, 2, 4, 6, 8, 10, 12, 14, >14 | final |
Instructors | numeric | 0, 2, 5, 10, 15, >15 | final |
Biobricks | numeric | 0, 5, 10, 20, 50, 100, 200, >200 | final |
Championship | character vector | levels | final |
Regional | character vector | levels | final |
Medals | string | levels | final |
Score | numeric | 0-100 (steps of 10) | final |
Abstract | binary | all/only provided | final |
Information content | numeric | 0, 0.4, 0.45, 0.5, 0.55, 0.6 | final |
Team name | string | variable entry | final |
* Levels means all possible values the parameter can have, which is either generated automatically or manually. |
Abstract
The filter for the abstract only checks, whether an abstract was submitted or not. See the pseudocode:
if user wants to see all teams return full data set else { iterate through all row names in the data-frame { if the abstract of the team "row name" in the data-list matches the string "-- No abstract provided yet --" save the name to a vector } delete all teams without abstract return the reduced data set }Since the information content is also related to the abstract, they are put together in one tab of the filter notebook. As it turned out that the information content always is in a very small range around 50%, the possible selections were chosen accordingly. The filter function is similar to those of any other numeric parameter, where the only difference is that all choices are numeric and thus the different cases of minimum and maximum selection can be skipped.
Medal
The medal filter is just the same as the filters for track or region, since it is also saved in the data-frame.
Team Name
For filtering the team name a text entry box was introduced, together with a javascript, that checks on the entered search term. A list of all team names was created and converted to a javascript array using R and its package RJSONIO. The javascript code then compares the entered term(s) with this array and changes the text color to either red (no exact match) or black (exact match). To allow for multiple name entries comma-serapated terms can be entered and are automatically separated by the javascript for color changing and by the filter function.
The pseudocode of the filter funciton looks like this:
split the input string at every comma iterate through all strings { find all teams having the string in their name and keep their ids } reduce and return dataset
Team table output
All the apps so far only displayed data, but with no option to see which teams contrbuted to each portion of the graphs. Thus a table output was implemented, that shows the teams' names, years and wiki links. To allow for better overview, one can select how many tams should be display (none, 5, 10, 20, 50, 100 or all) and in which order. This can be done either by the score, displaying the best teams at the top of the list, by year starting with most recent teams, or alphabetically. The data-frame displayed always represents the fully filtered data. Thus the user can narrow the number of teams down using the filters and can then go directly to the corresponding wiki pages.