Rscript --vanilla merge_clin.R
for merging clinical
variables into existing *.adat
SomaScan data filesmeta.csv
and meta2.csv
files to run examples with random data but with valid index keysdir(system.file("cli", "merge", package = "SomaDataIO"))
example_data.adat
was reduced in size to
n = 10
samples (from 192) to conform to CRAN size
requirements (< 5MB)example_data10.adat
to
reflect this changesystem.file()
example_data
object itself however remains true to
its original file
(https://github.com/SomaLogic/SomaLogic-Data/blob/master/example_data.adat
)inst/example/
was renamed
inst/extdata/
to conform to CRAN package standard naming
conventionssingle_sample.adat
was removed from package
data as it is now redundant (however still used in unit testing)SomaDataObjects
was renamed and is now
SomaScanObjects
read.adat()
is now soft-deprecated; please use
read_adat() instead
warn()
->
stop()
for functions that have been been soft deprecated
since v5.0.0
getSomamers()
getSomamerData()
meltExpressionSet()
tibble
has new max_extra_cols =
argument,
which is set to 6
for the print.soma_adat
methodbase::merge()
on a soma_adat
is
strongly discourageddplyr::*_join()
alternatives which are designed to preserve soma_adat
attributesprepHeaderMeta()
(@stufield)
CreatedDate
and
CreatedBy
in the HEADER entry. This currently breaks the
writerCreatedDateHistory
was removed as an entry from written
ADATsCreatedByHistory
was combined and dated for written
ADATsNULL
behavior remains if keys are missingCreatedBy
and CreatedDate
will be
generated either as new entries or over-written as appropriateBug-fix release related to write_adat()
:
write_adat()
that resulted from
adding/removing clinical (non-SomaScan) variables to an ADAT. Export via
write_adat()
resulted in a broken ADAT file (@stufield, #18)write_adat()
now has much higher fidelity to original
text file (*.adat
) in full-cycle read-write-read
operations; particularly in presence of bangs (!
) in the
Header section and in floating point decimals in the
?Col.Meta
sectionwrite_adat()
no longer converts commas (,
)
to semi-colons (;
) in the ?Col.Meta
block
(originally introduced to avoid cell alignment issues in
*.csv
formats)write_adat()
no longer concatenates written ADATs, when
writing to the same file. Data is over-written to file to avoid mangled
ADATs resulting from re-writing to the same connection and to match the
default behavior of write.table()
,
write.csv()
, etc.read_adat()
now has more consistent character type
the Barcode2
variable in standard ADATs, now forces
character
class, does not allow R’s
read.delim()
to “guess” the type
Decreased dependency of magrittr
pipes
(%>%
) in favor of the native R pipe
(|>
). As a result the package now depends on
R >= 4.1.0
SomaDataIO
will continue to re-export
magrittr
pipes for backward compatibility, but this should
not be considered permanent. Please code accordinglyMigration to the default branch in GitHub from
master
-> main
(@stufield, #19)
Numerous non-user-facing (API) changes internal package maintenance, efficiency, and structural upgrades were included
Upgrades primarily from improvements to SomaLogic internal code base, including: (@stufield)
readr
package for parsing and importing ADATs (e.g. read.delim()
over readr::read_delim()
). This is mostly for code
simplification, but can often result in marked speed improvements. As
the SomaScan plex
size increases, this speed improvement
will become more important.parseHeader()
was dramatically simplified, now reading
in lines 20L at a time until the RFU block is reached. In addition, once
the block is reached, all header lines are read-in once and indexed (as
opposed to line-by-line).read_adat()
now specifies column types via
colClasses =
which for the majority of the ADAT is type
double
for the RFU columns. This should dramatically
improve speed of ingest.write_adat()
was simplified internally, with fewer
nested apply
and for-loops.UTF-8
.New getAnalytes()
S3 method for class
recipe
from the recipes
package.
New loadAdatsAsList()
to load multiple ADAT files in
a single call and optionally collapse them into a single data frame
(@stufield,
#8).
New getTargetNames()
function to map ADAT
seq.XXXX.XX
names to corresponding protein targets from the
annotations table
SomaLogic Inc. is now SomaLogic Operating Co. Inc.
Added new documentation regarding Col.Meta
(@stufield, #12).
Research Use Only (“RUO”) language was added to the README (@stufield, #10).
Numerous internal code improvements from SomaLogic code-base (@stufield)
stop()
over ui_stop()
and
warning()
over ui_warn()
, using
usethis
, cli
, and crayon
shims
aliases.purrr
very selectively and no longer uses
stringr
.New lift_adat()
was added to provided ‘lifting’
functionality (@stufield, #11)
transform.soma_adat()
method which
simplifies linear scaling of soma_adat
columns
(analytes).Minor improvements and updates to the README.Rmd
(@stufield, #7)
adat2eSet()
link in README (#5).README
regarding
Biobase
installation.pkgdown
and links to Issues (#4).Startup message was improved with dynamic width (@stufield).
New locateSeqId()
function to pull out
SeqId
regex. (@stufield).
New read_annotations()
function (@stufield, #2)
*.xlsx
).New set_rn()
drop-in replacement for
magrittr::set_rownames()
getFeatures()
was renamed to be less ambiguous and
better align with internal SomaLogic code usage. Now use
getAnalytes()
(@stufield)
getFeatureData()
was also renamed to
getAnalyteInfo()
(@stufield)
various upgrades as required by code changes in external package
dependencies, e.g. tidyverse
.
new alias for read_adat()
, read.adat()
,
for backward compatibility to previous versions of
SomaDataIO
(@stufield)