library(infx)

knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)

infx

Project Status: Active – The project has reached a stable, usable state and is being actively developed. Travis-CI Build Status AppVeyor Build Status Coverage status rOpenSci status

With discovery of the RNA interference (RNAi) pathway and subsequent work on design, synthesis and delivery of short-interfering RNA molecules (siRNAs), an effective tool was developed for functional genomics. Using such technology, in conjunction with advancements in lab automation, large-scale loss-of-function studies have become experimentally tractable. Fluorescence microscopy imaging is often used as experimental readout, where cellular structures are stained using several fluorophores, yielding large numbers of multi-channel images under varying genetic knockdown conditions. Image processing is typically used to deal with technical artifacts, followed by feature extraction and downstream analysis of the resulting data.

Such experimental set ups can easily generate considerable amounts of data which typically are ingested by specialized data management platforms, such as the Open Biology Information System (openBIS). Screening data collected by InfectX and TargetInfectX can be accessed using the presented R client while a browser-based view of the data is available from the InfectX data browser. While presented as a tool for InfectC data access, infx is not limited to this specific dataset. Any openBIS instance that supports the v1 JSON-RPC API can be accessed using the infx client.

Installation

You can install the development version of infx from GitHub by running

source("https://install-github.me/ropensci/infx")

Alternatively, if you have the remotes package available and are interested in the latest release, you can install from GitHub using install_github() as

# install.packages("remotes")
remotes::install_github("ropensci/infx@*release")

InfectX

InfectX and its successor project TargetInfectX are large-scale high throughput screening experiments focused on the human infectome of a set of viral and bacterial pathogens. In order to identify host-provided components involved in pathogen entry and host colonization, several RNAi screens were carried out on HeLa cells, using siRNA libraries from vendors including Dharmacon, Quiagen and Ambion. Of the many performed screens, currently the data of kinome-wide screens for five bacterial pathogens (Bartonella henselae, Brucella abortus, Listeria monocytogenes, Salmonella typhimurium, and Shigella flexneri) and three viruses (Adenovirus, Rhinovirus, and Vaccinia virus) is publicly available^[BMC Genomics 2014 15:1162]. Additionally, several genome-wide screens will follow suit in the coming months.

All collected data, including raw imaging data, CellProfiler derived feature data and infection scoring at single cell resolution, alongside extensive metadata, is hosted by the laboratory information management system openBIS. This R package provides access to the openBIS JSON-RPC API, enabling listing of data organization objects, searching for and downloading of data sets.

OpenBIS

Only a brief introduction on how to work with openBIS is given here. For more in-depth information on how data is organized in openBIS and how it can be accessed using this package, please refer to the vignette "Introduction to infx". For an extensive look at what parts of the API are currently implemented and how to extend the package to support further functionality, have a look at the vignettes "OpenBIS API coverage" and "JSON object handling". Documentation of exported functions is available from within the R help system or from here.

For every API call, a valid login token is required. Tokens can be created using login_openbis() and tested for validity with is_token_valid().

tok <- login_openbis()

is_token_valid(tok)

Using the valid login token, openBIS can now be queried, for example for a list of all projects that are available to the given user, using list_projects().

projects <- list_projects(tok)
print(projects, length = 10L)

Finally, the login token should be destroyed, using logout_openbis().

logout_openbis(tok)
is_token_valid(tok)

While this client has been thoroughly tested with the openBIS instance hosted by InfectX and certain aspects are geared towards high content screening application of openBIS, it is in no way limited to usage with InfectX data. The function login_openbis() accepts a host_url argument which is stored as host_url attribute with the created login token. Any method that issues an API call subsequently uses the login token's host_url attribute in order to construct the API endpoint url. As a small example for this functionality, the demo openBIS instance, maintained by the openBIS development team, is queried for available projects.

tok <- login_openbis(user = "test_observer",
                     pwd = "test_observer",
                     host_url = "https://openbis-eln-lims.ethz.ch")

projects <- list_projects(tok)
print(projects, length = 10L)

logout_openbis(tok)

Acknowledgments

This work is partially funded by SystemsX.ch, the Swiss Initiative for Systems Biology via grants 51RT-0_126008 and 51RTP0_151029 for the Research and Technology Development (RTD) projects InfectX and TargetInfectX respectively. Further funding is provided by the Seminar for Statistics at ETH Zurich.

ropensci_footer



ropensci/infx documentation built on May 14, 2022, 5:51 p.m.