molgenis
Latest
Search
K
Comment on page

R-api client

The MOLGENIS R API client allows you to retrieve, create, update and delete entities from within the R environment.
Just add
source("http://molgenis.mydomain.example/molgenis.R")
at the top of your script and you can connect to a MOLGENIS server. Typically the first thing you do is login and the last thing is logout.
NOTE: For https connections use
eval(expr = parse(text = getURL("https://molgenis.mydomain.example/molgenis.R?molgenis-token=${molgenisToken}")))
NOTE: The MOLGENIS R-api client supports up to R-version 3.2.x

Overview example

source("http://molgenis.mydomain.example/molgenis.R")
molgenis.login("admin", "admin")
df <- molgenis.get("celiacsprue",
q = "celiac_weight>80 and celiac_height>180",
num = 1000,
attributes = c("celiac_weight", "celiac_height", "celiac_gender"))
plot(df$Celiac_Height ~ df$Celiac_Weight, col=df$Celiac_Gender)
molgenis.logout()

login

molgenis.login(username,password)
Login to the MOLGENIS REST API

logout

molgenis.logout()
Logout from the MOLGENIS REST API and destroy the session.

get

molgenis.get (entity, q = NULL, start = 0, num = 1000, attributes = NULL)
Retrieves entities and returns the result in a dataframe.
Parameter
Description
Required
Default
entity
The entity name
yes
q
Query string in rsql/fiql format (see below)
No
NULL
start
The index of the thirst row to return
No
0
num
The maximum number of rows to return (max 10000)
No
1000
attributes
Vector of attributenames(columns) to return
No
All attributes
sortColumn
attributeName of the column to sort on
No
NULL
sortOrder
sort order, 'ASC' of 'DESC'
No
NULL
Supported RSQL/FIQL query operators (see https://github.com/jirutka/rsql-parser)
Operator
Symbol
Logical AND
; or and
Logical OR
, or or
Group
( and )
Equal to
==
Less then
=lt= or <
Less then or equal to
=le= or <=
Greater than
=gt= or >
Greater tha or equal to
=ge= or >=
Argument can be a single value, or multiple values in parenthesis separated by comma. Value that doesn’t contain any reserved character or a white space can be unquoted, other arguments must be enclosed in single or double quotes.
Examples
molgenis.get("celiacsprue")
molgenis.get("celiacsprue", num = 100000, start = 1000)
molgenis.get("celiacsprue", attributes = c("Individual", "celiac_gender"))
molgenis.get("celiacsprue", q = "(celiac_weight>=80 and celiac_height<180) or (celiac_gender==Female)")
molgenis.get("celiacsprue", q = "(celiac_weight>=80;celiac_height<180),(celiac_gender==Female)")

add

molgenis.add(entity, ...)
Creates a new instance of an entity (i.e. a new row of the entity data table) and returns the id.
Parameter
Description
Required
entity
The entity name of the entity to create
yes
...
Var arg list of attribute names and values
yes
Example
id <- molgenis.add(entity = "Person", firstName = "Piet", lastName = "Paulusma")

addAll

molgenis.addAll(entity, rows)
Creates new instances of an entity (i.e. adds new rows to the entity data table) and returns the ids.
Parameter
Description
Required
entity
The entity name of the entity to create
yes
rows
data frame where each row represents an entity instance
yes
Example
firstName <- c("Piet", "Paulusma")
lastName <- c("Klaas", "de Vries")
df <- data.frame(firstName, lastName)
molgenis.addAll("Person", df)

update

molgenis.update(entity, id, ...)
Updates un existing entity
Parameter
Description
Required
entity
The entity name
yes
id
The id of the entity
Yes
...
Var arg list of attribute names and values
yes
Example
molgenis.update(entity = "Person", id = 8, firstName = "Pietje", lastName = "Paulusma")

delete

molgenis.delete(entity, id)
Deletes an entity.
Parameter
Description
Required
entity
The entity name
yes
id
The id of the entity
Yes
Example
molgenis.delete(entity = "Person", id = 8)

deleteList

molgenis.deleteList(entity, c("id1", "id2"))
Deletes a list of entities in an entityType.
Parameter
Description
Required
entity
The entityType name
yes
rows
List with ids of the rows
yes
Example
molgenis.deleteList(entity = "Person", rows = c("1", "2", "3"))

getEntityMetaData

molgenis.getEntityMetaData(entity)
Gets the entity metadata as list.
Example
meta <- molgenis.getEntityMetaData("celiacsprue")
meta$label

getAttributeMetaData

molgenis.getAttributeMetaData(entity, attribute)
Gets attribute metadata as list.
Parameter
Description
Required
entity
The entity name
yes
attribute
The name of the attribute
Yes
Example
attr <- molgenis.getAttributeMetaData(entity = "celiacsprue", attribute = "celiac_gender")
attr$fieldType