forked from esherm/geneTherapyPatientReportMaker
-
Notifications
You must be signed in to change notification settings - Fork 2
/
specimen_management.R
39 lines (33 loc) · 1.64 KB
/
specimen_management.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# This source code file is a component of the larger INSPIIRED genomic analysis software package.
# Copyright (C) 2016 Frederic Bushman
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# access patient metadata for GTSP
#' @param GTSP vector of GTSP
#' @return df with columns: Trial, GTSP, Patient, Timepoint, CellType, FragMethod, VCN.
#' @note all GTSP in th vector should be unique
get_metadata_for_GTSP <- function(GTSP, db_group) {
stopifnot(length(GTSP) == length(unique(GTSP)))
GTSP = paste0("^", GTSP, "$", collapse="|")
GTSPDBconn <- dbConnect(MySQL(), group=db_group)
query = paste0("SELECT Trial, SpecimenAccNum, Patient, Timepoint, CellType,
SamplePrepMethod, VCN
FROM gtsp
WHERE SpecimenAccNum
REGEXP ", dbQuoteString(GTSPDBconn, GTSP), ";")
sets <- dbGetQuery(GTSPDBconn, query)
dbDisconnect(GTSPDBconn)
names(sets) <- c("Trial", "GTSP", "Patient", "Timepoint", "CellType", "FragMethod", "VCN")
sets
}