inbolims

R functions, SQL queries, ... called by the Labware LW7 LIMS system on INBO

https://github.com/inbo/inbolims

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.2%) to scientific vocabulary

Keywords

r utils
Last synced: 10 months ago · JSON representation ·

Repository

R functions, SQL queries, ... called by the Labware LW7 LIMS system on INBO

Basic Info
Statistics
  • Stars: 0
  • Watchers: 7
  • Forks: 0
  • Open Issues: 0
  • Releases: 2
Topics
r utils
Created over 9 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Zenodo

README.md


output: github_document

{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = file.path("man", "figures", "README-"), out.width = "100%" )

Project Status: Concept – Minimal or no implementation has been done yet, or the repository is only intended to be a limited example, demo, or proof-of-concept. Lifecycle: experimental License Release GitHub R build status r-universe name r-universe package Codecov test coverage GitHub code size in bytes GitHub repo size <!-- badges: end -->

Beschrijving

R scripts om de in LIMS bewaarde gegevens van het INBO op te halen. Dit werkt enkel binnen het netwerk van het instituut of indien verbonden via vpn met het netwerk.

Voorlopig zijn er 3 hoofdbrokken in dit pakket:

  • Inlezen van rapportagegegevens van het labo uit het LIMS datawarehouse
  • parsen textuurmetingen uit de output van het laserdiffractietoestel
  • Kwaliteitskenmerken digital droplet PCR voor het genetisch labo

Daarnaast zijn er ook nog enkele andere voorzieningen toegevoegd zoals inlezen van textuurdata en verwerken van gegevens.

Gegevens uit het LIMS Datawarehouse halen

Eerste gebruik

Zorg dat het pakket remotes of een equivalent pakket geïnstalleerd is

```` install.packages("remotes")

````

Indien dit in orde is kan je de bibliotheek installeren met volgend commando

```` remotes::install_github("inbo/inbolims")

````

Iedere keer R opnieuw opgestart wordt zal je de inbolims library moeten laden

```` library(inbolims)

````

De belangrijkste functionaliteit in het script is de connectie met de databank en het ophalen van gegevens van een project. Dit doe je als volgt:

````

library(tidyverse) library(inbolims)

maak connectie met databank

connection <- lims_connect()

````

Je kan op voorhand al de staalinformatie ophalen via limssampleinformation. Je kan je project selecteren. Dit mogen er ook meerdere zijn en eventueel joker karakters mogen ook gebruikt worden.

Standaard worden defaultvelden getoond, maar je kan zelf ook kiezen welke velden je wil zien eventueel gecombineerd met een template, met de variabele fields.

Via de functie sample_fields_from_template kan je te weten komen welke templates beschikbaar zijn en welke velden onderdeem uitmaken in elk van de templates. Met de functie lims_table_fields kan je voor elke tabel zien welke velden het datawarehouse in aanbieding heeft.

````

illustratieve stap: krijg de staalinformatie (optioneel)

staalinfo <- limssample_information(connection, project = c("I-19W001-02"))

````

Als je wil een overzicht hebben over alle testen en componenten die in de betrokken projecten gebruikt (gerapporteerd en niet-gerapporteerd) zijn kan je onderstaande functie gebruiken.

Als je in je rapport enkele niet-gerapporteerde testen wil meerapporteren kan je dit op basis van deze output, waarbij je de LimsAnalysisName en Component aan elkaar plakt met een dubbele underscore

````

illustratieve stap: krijg de testinformatie (optioneel)

testinfo <- limstest_information(connection, project = c("I-19W001-02"))

````

De belangrijkste functie is het inlezen van alle rapportdata. In de toekomst zal die functie ook verbeterd worden zodat ook gemakkelijk kan achterhaald worden wat er historisch allemaal bestond van analyse- en componentnamen.

````

haal de rapportgegevens binnen uit de databank

rapportdata <- readlimsdata(connection = connection, project = c("I-19W001-02"), sqltemplate = "default", show_query = FALSE)

```` Bovenstaande code haalt de data op voor het project I-19W001-02 (project = "I-19W001-02") volgens de standaardtemplate (template = "default") en de query die gebruikt is om het datawarehouse te bevragen wordt getoond (show_query = TRUE). Als eerste variabele moet de databank connectie opgegeven worden, zodat de routine weet waar de gegevens uit gehaald moeten worden.

Je kan ook alle of enkele niet-gerapporteerde componenten ophalen op basis van de informatie die je kan halen uit lims_test_information

```` includenonrep <- c("ICKATIONENVerdunning", "IC_ANIONENVerdunning") rapportdata <- readlimsdata(connection = connection, project = c("I-19W001-02"), includenonreportable = includenonrep)

````

Afgeleide routines (work in progress)

Staaloverzicht

Om een overzicht van de stalen te hebben van de ingelezen rapport_data.

```` staaloverzicht <- limsreportsamples(rapport_data) view(staaloverzicht)

``` Op dit moment vereist bovenstaande routine nog heel wat velden, daarom dat dit enkel gegarandeerd is te werken met de *default*sql_template`.

Kruistabel

Het formaat van rapport_data is in een lang dataformaat, waarbij ieder resultaat op een andere regel staat. Vaak is eerder gewenst de resultaten van een staal naast elkaar te zien:

```` kruistabel <- limsreportxtab(rapport_data) View(kruistabel)

````

Exporteren

Bovenstaande kruistabel kan je gemakkelijk naar een door excel leesbaar csv bestand converteren:

```` limsreportexport(kruistabel, path = "testxtab.csv") limsreportexport(rapportdata, path = "test.csv")

``` Ook hier op dit moment enkel gegarandeerd voor de "default"sqltemplategebruikt bijreadlims_data`.

Textuur

De export van de textuur voor 30 stalen van het laserdiffractietoestel kan via dit pakket omgezet worden naar allemaal losse bestanden met de correcte naam en een bruikbare inhoud.

```` getwd() #gewoon om te tonen in welke werkdirectory je zit

library(tidyverse) #package met veel datafunctionaliteit library(inbolims) #package die de verwerking van de tekstuurfiles regelt library(DBI) #package voor DB communicatie

definieer het path naar de resultatenfile

filename <- system.file("extdata", "textuurexportvoorbeeld.txt", package = "inbolims")

definieer de directory voor de geparste bestandjes

targetdir <- "tijdelijk" system2("mkdir", targetdir)

parse de file naar een geldige R dataset

textuurparsed <- parsetexture_content(filename, delim = "\t")

interpreteer de dataset tot een inhoudelijk bruikbaar formaat

textuurinterpreted <- interprettexturecontent(textuurparsed)

maak een connectie met het LIMS datawarehouse

conn <- limsconnect() #connect to dwh textuurlinked <- linklaboid(conn, textuur_interpreted)

schrijf de files weg

writetexturefiles(targetdir, textuurlinked)

````

digital droplet PCR

Zal aangevuld worden eens er vraag naar is vanuit het genetisch labo.

Owner

  • Name: Research Institute for Nature and Forest (INBO)
  • Login: inbo
  • Kind: organization
  • Location: Belgium

Open source, data and science initiatives of the Research Institute for Nature and Forest (INBO)

Citation (CITATION.cff)

cff-version: 1.2.0
message: If you use this software, please cite it using these metadata.
title: "inbolims: Utilities to query the INBO lab analysis datawarehouse"
authors:
- given-names: Pieter
  family-names: Verschelde
  affiliation: Research Institute for Nature and Forest (INBO)
  orcid: 0000-0002-9199-421X
keywords:
- lims
- lab results
- COA
- Certificate of Analysis
contact:
- given-names: Pieter
  family-names: Verschelde
  affiliation: Research Institute for Nature and Forest (INBO)
  orcid: 0000-0002-9199-421X
doi: ~
license: GPL-3.0
repository-code: https://github.com/inbo/inbolims/
type: software
abstract: "Some utilities that expand the Lims program in INBO. It mainly focuses
  on post-processing in connection with Quality Assurance."
identifiers:
- type: url
  value: https://inbo.github.io/inbolims/
version: 0.3.1

GitHub Events

Total
  • Release event: 1
  • Push event: 18
  • Pull request event: 5
  • Create event: 4
Last Year
  • Release event: 1
  • Push event: 18
  • Pull request event: 5
  • Create event: 4

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 0
  • Total pull requests: 20
  • Average time to close issues: N/A
  • Average time to close pull requests: about 2 hours
  • Total issue authors: 0
  • Total pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.1
  • Merged pull requests: 18
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: 6 minutes
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • pietervsd (19)
  • hansvancalster (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/check_on_branch.yml actions
  • inbo/actions/check_pkg main composite
.github/workflows/check_on_different_r_os.yml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/check_on_main.yml actions
  • inbo/actions/check_pkg main composite
.github/workflows/pkgdown.yaml actions
  • JamesIves/github-pages-deploy-action v4.4.1 composite
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/release.yml actions
  • actions/checkout v3 composite
  • ncipollo/release-action v1 composite
DESCRIPTION cran
  • R >= 3.5.0 depends
  • DBI * imports
  • RODBC * imports
  • dplyr * imports
  • ggplot2 * imports
  • magrittr * imports
  • odbc * imports
  • purrr * imports
  • readr * imports
  • stats * imports
  • tidyr * imports
  • knitr * suggests
  • rmarkdown * suggests
  • testthat >= 2.1.0 suggests