Team:Heidelberg/Tempaltes/iGEM42-W-10a

From 2013.igem.org

Revision as of 23:18, 4 October 2013 by JuliaS1992 (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Creation of several design suggestions

During a meeting we decided to create three design proposals, so that the team could vote which one they like best. Out of the three one should be a modern design similar to other web pages, having a virtual third dimension. With regard to the Hitchhiker's Guide to the Galaxy we wanted one "spacy" design and lust but not least one alchemical / old fashioned design to fit our team logo.
Note: Since we finally used the same design as on our wiki, it's not worth showing the other design proposals or the introductory texts at this point. These can all be found on our wiki.

Draft of filtering options

The drafts for most of the filtering functions were implemented. Table 1 gives an overview of the different parameters and their basic filter design.

Table 1: Overview of all filters.
Parameter Type Options* Status
Year numeric 2007-2012 draft
Region string levels draft
Track string levels draft
Students numeric 0, 5, 10, 15, 20, >20 draft
Advisors numeric 0, 2, 5, 10, 15, >15 draft
Instructors numeric 0, 2, 5, 10, 15, >15 draft
Biobricks numeric 0, 5, 10, 20, 50, 100, 200, >200 draft
Championship character vector levels draft
Regional character vector levels draft
Medals string bronze, silver, medal missing
Score numeric 0-100 (steps of 10) draft
Abstract binary provided/missing missing
* Levels means all possible values the parameter can have.

The general code for filtering a numerical range parameter X using R looks like this:

FilterForX <- function(data) {
	if (input$FILX_min == ">max") data <- data[-which(data$X < max),]
	else if (input$FILX_max == ">max") data <- data[-which(data$X < input$FILX_min),]
	else data <- data[-which(data$X < input$FILX_min | data$X > input$X_max),]
	return(data)
}

The general code for filtering a single string parameter Y using R looks like this:
FilterForY <- function(data) {
	matchY <- rep(0, times=length(data$Y))
	for (i in 1:length(input$FILY)) {
		matchY[which(data$Y == input$FILY[i])] <- 1
	}
	data <- data[-which(matchY == 0),]
	rm(matchY)
	return(data)
}

For each filter the corresponding selection elements (max, min or multiple selection) are added underneath each other below the plot of the app. They are grouped as teams success and team composition.