TapestriExperiment
object from Tapestri Pipeline outputcreateTapestriExperiment()
constructs a TapestriExperiment
container object from data stored in the .h5
file output by the Tapestri Pipeline.
Read count matrix (probe x cell barcode) is stored in the "counts" assay
slot of the top-level experiment.
Allele frequency matrix (variant x cell barcode) is stored in the "alleleFrequency" assay
slot of the "alleleFrequency" altExp
(alternative experiment) slot.
panel.id
is an optional shortcut to set special probe identities for specific custom panels.
createTapestriExperiment(
h5.filename,
panel.id = NULL,
get.cytobands = TRUE,
genome = "hg19",
move.non.genome.probes = TRUE,
filter.variants = TRUE,
verbose = TRUE
)
TapestriExperiment
object containing data from Tapestri Pipeline output.
File path for .h5
file from Tapestri Pipeline output.
Character, Tapestri panel ID, either CO261, CO293, CO610, or NULL
. Initializes barcodeProbe
and grnaProbe
slots. Default NULL
.
Logical, if TRUE
(default), retrieve and add chromosome cytobands and chromosome arms to rowData
(probe metadata).
Character, reference genome for pulling cytoband coordinates and chromosome arm labels (see getCytobands()
). Only "hg19" (default) is currently supported.
Logical, if TRUE
(default), move counts and metadata from non-genomic probes to altExp
slots (see moveNonGenomeProbes()
).
Logical, if TRUE
(default), only stores variants that have passed Tapestri Pipeline filters.
Logical, if TRUE
(default), metadata is output in message text.
panel.id
is an optional shortcut to set the barcodeProbe
and grnaProbe
slots in TapestriExperiment
for specific custom Tapestri panels.
barcodeProbe
= "not specified"
grnaProbe
= "not specified"
barcodeProbe
= "AMPL205334"
grnaProbe
= "AMPL205666"
barcodeProbe
= "CO610_AMP351"
grnaProbe
= "CO610_AMP350"
Read count and allele frequency matrices are imported to their appropriate slots as described above.
filter.variants == TRUE
(default) only loads allele frequency variants that have passed internal filters in the Tapestri Pipeline.
This greatly reduces the number of variants from tens of thousands to hundreds of likely more consequential variants,
saving RAM and reducing operation time.
Several metadata sets are copied or generated and then stored in the appropriate TapestriExperiment
slot during construction.
Probe panel metadata stored in the .h5
file are copied to rowData
.
Basic QC stats (e.g. total number of reads per probe) are added to rowData.
Basic QC stats (e.g. total number of reads per cell barcode) are added to colData.
Experiment-level metadata is stored in metadata
.
Two additional major operations are called by default during TapestriExperiment
construction for convenience.
get.cytobands == TRUE
(default) calls getCytobands()
, which retrieves the chromosome arm and cytoband for each probe based on stored positional data and saves them in rowData
.
Some downstream smoothing and plotting functions may fail if chromosome arms are not present in rowData
, so this generally should always be run.
move.non.genome.probes
calls moveNonGenomeProbes()
, which moves probes corresponding to the specified tags to altExp
(alternative experiment) slots in the TapestriExperiment
object.
The exception is probes on chromosome Y; CNVs of chrY are more rare, so we move it to an altExp
for separate analysis.
Probes corresponding to the barcodeProbe
and grnaProbe
slots, which are specified by the panel.id
shortcut or manually (see Custom Slot Getters and Setters),
are automatically moved to altExp
by this operation as well.
If such probes are not present, the function will only generate a warning message, so it is always safe (and recommended) to run by default.
Any remaining probes that are not targeting a human chromosome and are not specified by the shortcut tags are moved to the otherProbeCounts
slot.
moveNonGenomeProbes()
, getCytobands()
, which are run as part of this function by default.
if (FALSE) {
tapExperiment <- createTapestriExperiment("myh5file.h5", "CO293")
}
Run the code above in your browser using DataLab