Bioconductor has moved to GIT for contributed packages; the subversion logs are no longer active. The following are the git logs.
GIT Logs
This is a list of recent commits to git.bioconductor.org, the devel(development) branch of the Bioconductor GIT repository.
This list is also available as an RSS feed (devel branch), and RSS feed (release branch)
Package: PostChicago
Commit: 169adbfc3d3bacf5a0bf60a7915b63d55f1a04f5
Author: Angelika Feldmann <angelika.feldmann@dkfz-heidelberg.de>
Date: 2026-11-14 01:39:40 +0100
Commit message:
Commit: 169adbfc3d3bacf5a0bf60a7915b63d55f1a04f5
Author: Angelika Feldmann <angelika.feldmann@dkfz-heidelberg.de>
Date: 2026-11-14 01:39:40 +0100
Commit message:
revision. improving vignette and functions
Package: PostChicago
Commit: f797a7d69aa641ee9258552bd31cdc4bb73455f4
Author: Angelika Feldmann <angelika.feldmann@dkfz-heidelberg.de>
Date: 2026-11-13 18:18:37 +0100
Commit message:
Commit: f797a7d69aa641ee9258552bd31cdc4bb73455f4
Author: Angelika Feldmann <angelika.feldmann@dkfz-heidelberg.de>
Date: 2026-11-13 18:18:37 +0100
Commit message:
Add files via upload
Package: PostChicago
Commit: ee0f56c086709177b66c1157ab3eb8ade117b233
Author: Angelika Feldmann <angifeldmann@gmail.com>
Date: 2026-11-13 18:17:56 +0100
Commit message:
Commit: ee0f56c086709177b66c1157ab3eb8ade117b233
Author: Angelika Feldmann <angifeldmann@gmail.com>
Date: 2026-11-13 18:17:56 +0100
Commit message:
Delete vignettes/PostChicago_v26.Rmd
Package: PostChicago
Commit: 6ee379840f36dfc2ca1bffbd60b6b54720d2a5bd
Author: Angelika Feldmann <angelika.feldmann@dkfz-heidelberg.de>
Date: 2026-11-13 16:45:23 +0100
Commit message:
Commit: 6ee379840f36dfc2ca1bffbd60b6b54720d2a5bd
Author: Angelika Feldmann <angelika.feldmann@dkfz-heidelberg.de>
Date: 2026-11-13 16:45:23 +0100
Commit message:
Add files via upload
Package: PostChicago
Commit: f4a7a193e29c130881043b5d6751bcf3c339b814
Author: Angelika Feldmann <angifeldmann@gmail.com>
Date: 2026-11-13 15:42:41 +0000
Commit message:
Commit: f4a7a193e29c130881043b5d6751bcf3c339b814
Author: Angelika Feldmann <angifeldmann@gmail.com>
Date: 2026-11-13 15:42:41 +0000
Commit message:
Delete vignettes/PostChicago_v25.Rmd
Package: PostChicago
Commit: bd216a49e472be7c1932af648dbce0b4b65941a1
Author: Angelika Feldmann <angelika.feldmann@dkfz-heidelberg.de>
Date: 2026-11-11 23:44:49 +0100
Commit message:
Commit: bd216a49e472be7c1932af648dbce0b4b65941a1
Author: Angelika Feldmann <angelika.feldmann@dkfz-heidelberg.de>
Date: 2026-11-11 23:44:49 +0100
Commit message:
Add files via upload
Package: PostChicago
Commit: 56b3d888337f4c0488e5a93aa03344b0c5b1aca5
Author: Angelika Feldmann <angelika.feldmann@dkfz-heidelberg.de>
Date: 2026-11-11 23:44:11 +0100
Commit message:
Commit: 56b3d888337f4c0488e5a93aa03344b0c5b1aca5
Author: Angelika Feldmann <angelika.feldmann@dkfz-heidelberg.de>
Date: 2026-11-11 23:44:11 +0100
Commit message:
Add files via upload
Package: PostChicago
Commit: e922086c0687510dc27e4111178ab26e2670ea34
Author: Angelika Feldmann <angelika.feldmann@dkfz-heidelberg.de>
Date: 2026-11-11 23:43:02 +0100
Commit message:
Commit: e922086c0687510dc27e4111178ab26e2670ea34
Author: Angelika Feldmann <angelika.feldmann@dkfz-heidelberg.de>
Date: 2026-11-11 23:43:02 +0100
Commit message:
Add files via upload
Package: PostChicago
Commit: 99e4aa7b265030351a730b8e48f9cd1f0deeb638
Author: Angelika Feldmann <angelika.feldmann@dkfz-heidelberg.de>
Date: 2026-11-11 23:41:49 +0100
Commit message:
Commit: 99e4aa7b265030351a730b8e48f9cd1f0deeb638
Author: Angelika Feldmann <angelika.feldmann@dkfz-heidelberg.de>
Date: 2026-11-11 23:41:49 +0100
Commit message:
Add files via upload
Package: PostChicago
Commit: f95a45f1762f9f0d9d29adb8b9551b70a069059c
Author: Angelika Feldmann <angelika.feldmann@dkfz-heidelberg.de>
Date: 2026-11-11 23:40:33 +0100
Commit message:
Commit: f95a45f1762f9f0d9d29adb8b9551b70a069059c
Author: Angelika Feldmann <angelika.feldmann@dkfz-heidelberg.de>
Date: 2026-11-11 23:40:33 +0100
Commit message:
Add files via upload
Package: PostChicago
Commit: 0ac0c6e6729bae418d42bd12340b6344f8a97460
Author: Angelika Feldmann <angifeldmann@gmail.com>
Date: 2026-11-11 23:38:25 +0100
Commit message:
Commit: 0ac0c6e6729bae418d42bd12340b6344f8a97460
Author: Angelika Feldmann <angifeldmann@gmail.com>
Date: 2026-11-11 23:38:25 +0100
Commit message:
Delete NEWS.md
Package: PostChicago
Commit: 369e9c666568f649db9d73eca3f33c3717f34dc5
Author: Angelika Feldmann <angifeldmann@gmail.com>
Date: 2026-11-11 23:38:14 +0100
Commit message:
Commit: 369e9c666568f649db9d73eca3f33c3717f34dc5
Author: Angelika Feldmann <angifeldmann@gmail.com>
Date: 2026-11-11 23:38:14 +0100
Commit message:
Delete NAMESPACE
Package: PostChicago
Commit: a95b2b61a9085ad5de925aaafdd357939ae0b6ef
Author: Angelika Feldmann <angifeldmann@gmail.com>
Date: 2026-11-11 23:38:04 +0100
Commit message:
Commit: a95b2b61a9085ad5de925aaafdd357939ae0b6ef
Author: Angelika Feldmann <angifeldmann@gmail.com>
Date: 2026-11-11 23:38:04 +0100
Commit message:
Delete DESCRIPTION
Package: PostChicago
Commit: e8efb2f7bee318e4b6589a6dddbfb349c8c3e027
Author: Angelika Feldmann <angifeldmann@gmail.com>
Date: 2026-11-11 23:37:50 +0100
Commit message:
Commit: e8efb2f7bee318e4b6589a6dddbfb349c8c3e027
Author: Angelika Feldmann <angifeldmann@gmail.com>
Date: 2026-11-11 23:37:50 +0100
Commit message:
Delete vignettes directory
Package: PostChicago
Commit: 7702d3826cabc452b6b3d5ad8f43dcc415f5231d
Author: Angelika Feldmann <angifeldmann@gmail.com>
Date: 2026-11-11 23:37:38 +0100
Commit message:
Commit: 7702d3826cabc452b6b3d5ad8f43dcc415f5231d
Author: Angelika Feldmann <angifeldmann@gmail.com>
Date: 2026-11-11 23:37:38 +0100
Commit message:
Delete man directory
Package: PostChicago
Commit: 459ab461f9e1e5c05a2a637ca365cdf45a6983ab
Author: Angelika Feldmann <angifeldmann@gmail.com>
Date: 2026-11-11 23:37:27 +0100
Commit message:
Commit: 459ab461f9e1e5c05a2a637ca365cdf45a6983ab
Author: Angelika Feldmann <angifeldmann@gmail.com>
Date: 2026-11-11 23:37:27 +0100
Commit message:
Delete inst directory
Package: PostChicago
Commit: 256c7e88e48c0502059dc7c3e6e82f520643aa14
Author: Angelika Feldmann <angifeldmann@gmail.com>
Date: 2026-11-11 23:36:59 +0100
Commit message:
Commit: 256c7e88e48c0502059dc7c3e6e82f520643aa14
Author: Angelika Feldmann <angifeldmann@gmail.com>
Date: 2026-11-11 23:36:59 +0100
Commit message:
Delete R directory
Package: BiocCheck
Commit: f184b1a40a4c9fcc23997c320ceab606b65bca7c
Author: LiNk-NY <marcel.ramos@sph.cuny.edu>
Date: 2026-11-13 17:01:31 -0500
Commit message:
Commit: f184b1a40a4c9fcc23997c320ceab606b65bca7c
Author: LiNk-NY <marcel.ramos@sph.cuny.edu>
Date: 2026-11-13 17:01:31 -0500
Commit message:
Use the Bioconductor reusable CI workflow Replace basic_checks.yml and test-coverage.yml with ci.yml, the Bioconductor/workflows template. It calls the shared bioccheck.yml workflow, which runs R CMD check and BiocCheck in the Bioconductor container and uploads coverage to Codecov with the existing CODECOV_TOKEN secret. Leave 'master' out of the CI branch lists, since Bioconductor's default branch has been 'devel' since 2023, and use 'main' instead of 'master' in the test package's example GitLab URL. The upstream template still lists 'master'; see Bioconductor/workflows#41. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: GDSAnnotator
Commit: 6f36b76f436271fd28802879f7e2e9baac3a1e3f
Author: Xiuwen Zheng <zhengxwen@gmail.com>
Date: 2026-11-13 15:38:31 -0600
Commit message:
Commit: 6f36b76f436271fd28802879f7e2e9baac3a1e3f
Author: Xiuwen Zheng <zhengxwen@gmail.com>
Date: 2026-11-13 15:38:31 -0600
Commit message:
update
Package: MetaboAnnotatoR
Commit: 5dd9f57fdfcbee333812a62e592bbbfef2630a28
Author: Goncalo Graca <ggomesda@ic.ac.uk>
Date: 2026-11-13 20:58:54 +0000
Commit message:
Commit: 5dd9f57fdfcbee333812a62e592bbbfef2630a28
Author: Goncalo Graca <ggomesda@ic.ac.uk>
Date: 2026-11-13 20:58:54 +0000
Commit message:
function to re-annotate AIF and ISF objects
Package: MetaboAnnotatoR
Commit: 2dfde36afa143e2683915ba95a113468490c4020
Author: Goncalo Graca <ggomesda@ic.ac.uk>
Date: 2026-11-13 20:58:40 +0000
Commit message:
Commit: 2dfde36afa143e2683915ba95a113468490c4020
Author: Goncalo Graca <ggomesda@ic.ac.uk>
Date: 2026-11-13 20:58:40 +0000
Commit message:
function to re-annotate AIF and ISF objects
Package: MetaboAnnotatoR
Commit: ba5c25c9d0799102ab159809033c5f639019fed6
Author: Goncalo Graca <ggomesda@ic.ac.uk>
Date: 2026-11-13 20:57:45 +0000
Commit message:
Commit: ba5c25c9d0799102ab159809033c5f639019fed6
Author: Goncalo Graca <ggomesda@ic.ac.uk>
Date: 2026-11-13 20:57:45 +0000
Commit message:
updates
Package: MetaboAnnotatoR
Commit: 0621f027303e5894cebd7621cafcb7714594ac10
Author: Goncalo Graca <ggomesda@ic.ac.uk>
Date: 2026-11-13 20:55:01 +0000
Commit message:
Commit: 0621f027303e5894cebd7621cafcb7714594ac10
Author: Goncalo Graca <ggomesda@ic.ac.uk>
Date: 2026-11-13 20:55:01 +0000
Commit message:
new version bump
Package: RNAseqCovarImpute
Commit: 788de091d7e71e4b2e06efe9defe1b0fe247bb3e
Author: Brennan Baker <brennanhilton@gmail.com>
Date: 2026-11-13 11:44:37 -0800
Commit message:
Commit: 788de091d7e71e4b2e06efe9defe1b0fe247bb3e
Author: Brennan Baker <brennanhilton@gmail.com>
Date: 2026-11-13 11:44:37 -0800
Commit message:
Update regression test for mice 3.20.0
Package: DuckDBSpatial
Commit: 1553c93227f2ef10e21277f4409e1e3097fc8efa
Author: Patrick Aboyoun <aboyoun.patrick@gene.com>
Date: 2026-11-13 11:17:55 -0800
Commit message:
Commit: 1553c93227f2ef10e21277f4409e1e3097fc8efa
Author: Patrick Aboyoun <aboyoun.patrick@gene.com>
Date: 2026-11-13 11:17:55 -0800
Commit message:
Write an explicit null crs for an unknown CRS in writeGeoParquet()
The GeoParquet spec treats a missing "crs" key as OGC:CRS84 and spells
"unknown" as an explicit "crs": null. writeGeoParquet() omitted the key
when st_crs(x) was NA, so readers labeled coordinates with no CRS (e.g.
spatial omics tissue coordinates) as WGS84 lon/lat, which then altered
axes in plots and geometric operations.
An unknown CRS, or one PROJJSON cannot represent, is now written as
"crs": null and reads back as NA. The append = TRUE CRS check likewise
distinguishes a missing key from an explicit null, so a known CRS can no
longer be appended to a file whose CRS is unknown. jsonlite needs
null = "null" to emit the null; its default writes [{}].
An existing test asserted that an unset CRS round-trips to the CRS84
default rather than NA; it now expects NA. Files written by earlier
versions have no "crs" key and still read as CRS84.
Package: HDF5Array
Commit: 41a36e903126c6ce13a5d709ca6b6513c1e082f8
Author: Hervé Pagès <hpages.on.github@gmail.com>
Date: 2026-11-13 10:38:00 -0800
Commit message:
Commit: 41a36e903126c6ce13a5d709ca6b6513c1e082f8
Author: Hervé Pagès <hpages.on.github@gmail.com>
Date: 2026-11-13 10:38:00 -0800
Commit message:
HDF5Array 1.41.6: Add 'type' argument to H5SparseMatrixSeed() constructor The new optional 'type' argument lets the user specify the desired type() of the object to construct. Its default value is NA, in which case the type() of the returned object will be inferred from the H5 datatype of the HDF5 dataset. All the other matrix-oriented constructors, that is, H5SparseMatrix(), TENxMatrixSeed(), TENxMatrix(), H5ADMatrixSeed(), and H5ADMatrix(), also get the new 'type' argument. Note that the HDF5ArraySeed() and HDF5Array() constructors have had this argument for many years but it was never added to the matrix-oriented constructors until now. This commit also addresses an inefficiency of the type() getter that was reported by Robert Castelo here: https://github.com/Bioconductor/HDF5Array/pull/71 The approach we use in this commit is slightly different from what the above PR is proposing, but the idea remains the same. The commit adds the 'type' and 'natural_type' slots to the H5SparseMatrixSeed class, as well as a type() method for H5SparseMatrixSeed objects that gets the type from the new slots. It overrides the default type() method (defined in the S4Arrays package) which was getting the type() by accessing the HDF5 file each time type() is called, so is a lot more efficient.
Package: MSstatsResponse
Commit: 3dd2133c18f2503632beb6fa6ffa054778fd62ba
Author: Sarah Szvetecz <szvetesa@gmail.com>
Date: 2026-11-13 14:04:38 -0500
Commit message:
Commit: 3dd2133c18f2503632beb6fa6ffa054778fd62ba
Author: Sarah Szvetecz <szvetesa@gmail.com>
Date: 2026-11-13 14:04:38 -0500
Commit message:
Bump version from 1.3.5 to 1.3.6
Package: MSstatsResponse
Commit: 9bae8159dd5f5e9df579486d9da814347966ecd6
Author: Sarah Szvetecz <szvetesa@gmail.com>
Date: 2026-11-13 13:55:13 -0500
Commit message:
Commit: 9bae8159dd5f5e9df579486d9da814347966ecd6
Author: Sarah Szvetecz <szvetesa@gmail.com>
Date: 2026-11-13 13:55:13 -0500
Commit message:
remove unused f_test_isotonic call
Package: MSstatsResponse
Commit: 85b73db610066b1321f8fea606cd38eb0f1999c5
Author: Sarah Szvetecz <szvetesa@gmail.com>
Date: 2026-11-13 13:54:21 -0500
Commit message:
Commit: 85b73db610066b1321f8fea606cd38eb0f1999c5
Author: Sarah Szvetecz <szvetesa@gmail.com>
Date: 2026-11-13 13:54:21 -0500
Commit message:
fix doseResponseFit crash on undefined F-statistic * fitIsotonicRegression returns NA (not NaN) F/P when residual df is 0 (one observation per dose) or there is only one dose level * doseResponseFit(increasing = "both") now picks direction NA-safely * Added tests for both cases
Package: decontX
Commit: c2b72ffe544b9d475bd85c0491b2bd453a89ae11
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-13 13:34:37 -0500
Commit message:
Commit: c2b72ffe544b9d475bd85c0491b2bd453a89ae11
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-13 13:34:37 -0500
Commit message:
Merge pull request #132 from campbio/fix/decontpro-docs Rewrite the decontPro vignette and complete its help page (#83 part 2)
Package: decontX
Commit: dad175066563938c202b982ad51f7fe9d7afdaee
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-13 11:00:19 -0500
Commit message:
Commit: dad175066563938c202b982ad51f7fe9d7afdaee
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-13 11:00:19 -0500
Commit message:
Record follow-ups #129 and #131 for the decontPro docs (#83) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: ebcfe99c040c33594e5f6347acdfcecce06707f0
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-13 10:02:05 -0500
Commit message:
Commit: ebcfe99c040c33594e5f6347acdfcecce06707f0
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-13 10:02:05 -0500
Commit message:
Use 5x priors and expand the decontPro introduction (#83) At hand-off the maintainer found the 3x tuned fit too weak. 5x priors remove most of the low CD8 peak while keeping the CD4 monocyte peak, and still agree with the full-data defaults (log1p correlation 0.989). The introduction now says where ambient and background contamination come from, following Yin et al. 2024, and how the model splits each count. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 1f6aab65c626f5950b286a3298a8ea999e462d93
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-13 08:58:00 -0500
Commit message:
Commit: 1f6aab65c626f5950b286a3298a8ea999e462d93
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-13 08:58:00 -0500
Commit message:
Give decontPro's real run times in the vignette (#83) The earlier times came from a debug build: `R CMD INSTALL .` had reused the -O0 objects that load_all() leaves in src/. On a clean install a 500-droplet fit takes 5 to 10 s and the full data about 2 minutes; the results are identical. The spec records the correction. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 28eb394a2680a7b37584dc39127e8ae4134ee7b2
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-13 07:30:14 -0500
Commit message:
Commit: 28eb394a2680a7b37584dc39127e8ae4134ee7b2
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-13 07:30:14 -0500
Commit message:
Address the code review of the decontPro docs (#83) p_est takes its names from the matrix it is computed from, which may be `background`; drop "any number of droplets" (an empty background fails in Stan); tell template users to import both matrices from the same sample directory so barcodes match; describe the box plot without exact values. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 9fabf6590b0fcf65f0868a9042f9488a0cbf2b96
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-13 07:28:14 -0500
Commit message:
Commit: 9fabf6590b0fcf65f0868a9042f9488a0cbf2b96
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-13 07:28:14 -0500
Commit message:
Record decisions from the decontPro docs reviews (#83) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 5c8b3b8bbf0581825daa01981b48094fb3a9090e
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-13 07:28:14 -0500
Commit message:
Commit: 5c8b3b8bbf0581825daa01981b48094fb3a9090e
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-13 07:28:14 -0500
Commit message:
Address the novice-reader review of the decontPro vignette (#83) Rename objects so `counts` no longer shadows counts() in the template, comment every chunk, show the sampled cell-type counts, define priors and called cells, state the prior defaults, say what the box plot should show, match the CD4 text to the plot, fix delta_est's description, and mention the temporary Stan file. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 8b2a44baca28080d25ef08748ee70112f6aa1f6d
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-13 07:28:14 -0500
Commit message:
Commit: 8b2a44baca28080d25ef08748ee70112f6aa1f6d
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-13 07:28:14 -0500
Commit message:
Describe delta_est as the ambient profile's weight (#83) The spec review found ?decontPro called delta_est the ambient share of the non-background counts; in the model it is the weight of the ambient profile against the native profile. Also note p_est is named only when the counts have row names, and reflow the background paragraph. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: c1dedad480fcc1ed0d8feb83891fda542cdd2ca3
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-13 07:20:21 -0500
Commit message:
Commit: c1dedad480fcc1ed0d8feb83891fda542cdd2ca3
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-13 07:20:21 -0500
Commit message:
Tune decontPro's vignette priors 3x, not 10x (#83) A fit on all 7,700 labelled cord_blood droplets showed the 500-droplet sample with 10x priors over-corrects (CD4 monocyte peak removed; log1p correlation 0.86 with the full-data defaults), while 3x priors match the full-data defaults closely (0.99). The vignette now uses 3x, keeps 10x as the over-correction example, notes that cell types with few sampled droplets are estimated poorly, and gives the measured run times (#130). The spec records the change; NEWS no longer claims an example time. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 6c9dfb8f8da325d984c5e9ec36d9c6a9802585db
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:01:04 -0500
Commit message:
Commit: 6c9dfb8f8da325d984c5e9ec36d9c6a9802585db
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:01:04 -0500
Commit message:
Use a list for decontPro's parameters in the vignette (#83) A pipe table can't wrap at 80 columns. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: eadcfb56d752cad9e6c09087380ec87f9a726573
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:00:57 -0500
Commit message:
Commit: eadcfb56d752cad9e6c09087380ec87f9a726573
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:00:57 -0500
Commit message:
Add NEWS for 1.11.34 and mark #83 done on the ROADMAP Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 2ea018fdaf5683285e73c6a7fe31cde000b0ee7d
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:00:57 -0500
Commit message:
Commit: 2ea018fdaf5683285e73c6a7fe31cde000b0ee7d
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:00:57 -0500
Commit message:
Rewrite the decontPro vignette and drop dplyr from Suggests (#83) The vignette now uses cord_blood's bundled cell types on 500 droplets (downloading 0.3 MB instead of 23 MB, no Seurat or dplyr), explains every output, tunes the priors with before/after density plots, gives an unrun `background` template, and adds runtime, reproducibility, a FAQ and the citation. verbose = FALSE keeps Stan's progress off the page (A7-03 to A7-05, A7-19). No other file used dplyr, so it leaves Suggests (recorded in the spec, by the maintainer's choice, instead of an ADR). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: a55ea18145da6202331c0dea54213720ea45c5fa
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:00:57 -0500
Commit message:
Commit: a55ea18145da6202331c0dea54213720ea45c5fa
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:00:57 -0500
Commit message:
Document every decontPro output and shrink its example (#83) ?decontPro now lists the four returned elements and the eight parameter estimates with their dimensions, and says only the ADT totals of `background` are used, so it must hold empty droplets (A7-11). The example is a seeded 10 x 8 matrix with named arguments and the default priors, instead of an unseeded 100 x 10 one (A7-23). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 94bbf4612e741f05407cc0e4496b37c8fb822980
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 15:55:13 -0500
Commit message:
Commit: 94bbf4612e741f05407cc0e4496b37c8fb822980
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 15:55:13 -0500
Commit message:
Add the spec for the decontPro docs (#83 part 2) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: cfcc83f451096c5814b4ca826de30d2641dd2bc7
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-12 15:38:27 -0500
Commit message:
Commit: cfcc83f451096c5814b4ca826de30d2641dd2bc7
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-12 15:38:27 -0500
Commit message:
Merge pull request #128 from campbio/fix/decontpro-arguments decontPro: camelCase arguments, background, iter/seed/verbose (#81)
Package: decontX
Commit: 54fcb440cf24c8e025897c8f2aeb06e90def0547
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 21:17:43 -0500
Commit message:
Commit: 54fcb440cf24c8e025897c8f2aeb06e90def0547
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 21:17:43 -0500
Commit message:
Move the rstan::vb() call into its own helper (#81) .callStanVb() grew past BiocCheck's 50-line limit with the capture and cleanup code; .runStanVb() now holds the fit itself, keeping the count of long functions at 13. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 0c7fccb45df619524f5eabb734355c61f8a245b0
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 21:09:43 -0500
Commit message:
Commit: 0c7fccb45df619524f5eabb734355c61f8a245b0
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 21:09:43 -0500
Commit message:
Address the code review of the decontPro arguments (#81) verbose = FALSE now also silences the "Dropped ADTs" log of the background matching. A single number given as background, the old partial match for background_sd, stops with a hint to use backgroundSd. The both-names error says a positional value fills the camelCase argument, and the quiet failure error no longer points at a message that may not exist. background is read with [[ so it can never partially match backgroundSd. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: da69e72d3359f02f371504bdb63918872f83140c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 21:05:46 -0500
Commit message:
Commit: da69e72d3359f02f371504bdb63918872f83140c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 21:05:46 -0500
Commit message:
Address the spec review of the decontPro arguments (#81) Unknown arguments are reported before anything in ... is evaluated, as before this branch. iter is capped at .Machine$integer.max, an empty Stan log prints no blank message, and the tests pin output_samples, pars and the CSV being written before it's deleted. NEWS names the two old call forms that now error; the spec and ADR say where quiet-failure output goes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 59314363b4389ee1745bcfff267dcfbcfa620107
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 21:00:02 -0500
Commit message:
Commit: 59314363b4389ee1745bcfff267dcfbcfa620107
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 21:00:02 -0500
Commit message:
Rename decontPro's arguments and expose its fit controls (#81) decontPro's arguments become camelCase (cellType, deltaSd, backgroundSd, background), matching decontX. The snake_case names stay as permanent aliases, read from ... by one helper; giving both names is an error, and errors name the argument as the user gave it. The generic dispatches on filtered_counts only, so the cell_type alias works. iter, seed and verbose come after ..., with today's hard-coded values as defaults, so results are unchanged. verbose = FALSE captures Stan's output and shows it with message() only when the fit fails. rstan's CSV goes to a tempfile that is deleted when the fit ends (A5-08). The help documents the priors as SDs (A4-14). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 79149bbd7179cfa20ff7f507540e548056f90dea
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 20:54:48 -0500
Commit message:
Commit: 79149bbd7179cfa20ff7f507540e548056f90dea
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 20:54:48 -0500
Commit message:
Accept ADR-0006 and add the decontPro arguments spec (#81) The maintainer settled the open points on 2026-11-11: filtered_counts keeps its name, the quiet option is verbose = TRUE, iter and seed keep today's defaults, aliases go through one helper, and output_samples is not exposed because the draws never change decontPro's results. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: f7527bad9713c5daf968dd548908ee036cdafa07
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-11 20:14:20 -0500
Commit message:
Commit: f7527bad9713c5daf968dd548908ee036cdafa07
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-11 20:14:20 -0500
Commit message:
Merge pull request #127 from campbio/fix/decontx-docs decontX vignette rewrite, FAQ and citations (part 1 of #83)
Package: decontX
Commit: b25e7fc4a595610c7a8a520d43ef1f5cd14d0e2a
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 18:24:53 -0500
Commit message:
Commit: b25e7fc4a595610c7a8a520d43ef1f5cd14d0e2a
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 18:24:53 -0500
Commit message:
Drop #40 from the planned decontPro FAQ (#83) Maintainer decision: no FAQ entry on decontaminated counts that look higher in either vignette. Part of #83. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 4dbbd5c528d0f3c5777e6ce468b34d022e3d109e
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 18:22:53 -0500
Commit message:
Commit: 4dbbd5c528d0f3c5777e6ce468b34d022e3d109e
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 18:22:53 -0500
Commit message:
Restructure the decontX vignette per maintainer review (#83) - Drop the FAQ entry on decontaminated counts that look higher (#40). - Split "Running decontX" into runs without and with the background matrix. The second shows how to import the raw matrix (moved from "Importing data") and holds what was the background FAQ. - Multiple samples (#45) is its own section under "Other important notes", after "Working with Seurat", which now comes first. - The note on reproducing older results is a block quote. - NEWS, ROADMAP and the spec follow. Part of #83. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 957d986e7d3f1a05eba9c48e97f87fe7cc509b1d
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 16:48:23 -0500
Commit message:
Commit: 957d986e7d3f1a05eba9c48e97f87fe7cc509b1d
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 16:48:23 -0500
Commit message:
Address the code review of the vignette FAQ (#83) - The hand-written mapping example no longer claims to match the printed clusters, which can vary. - background: duplicated row names stop a run when the names differ between the matrices (.checkBackgroundNames()); suggest gene IDs or make.unique(). - The one-cell-type example skips the UMAP with embedding = FALSE. - Separate runs per sample give the same estimates and counts as one run with batch, but labels without the sample prefix, and each run needs its own sample's empty droplets. Part of #83. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 7b5163cf6903ac89dd4a95fd1e9e2933c75fb926
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 16:43:02 -0500
Commit message:
Commit: 7b5163cf6903ac89dd4a95fd1e9e2933c75fb926
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 16:43:02 -0500
Commit message:
Address the vignette and spec reviews (#83) - The batch FAQ says the prefix is all or nothing: if any z label is in more than one sample, every label gets its sample (R/decon.R:495-498). - background: genes are matched by name only when both matrices have row names; otherwise by position. - Hand-written mapping examples use the clusters the vignette prints. - Normalization in one step per line, with a sentence on why; the NK markers come from the markers list; library(Matrix) is explained. - The delta plot has clear axis labels and a sentence on reading it; all_cells is explained. - FAQ wording: "as in log-normalization"; the positive-difference hint applies to matrices from different objects. - Seurat section: round the counts before CreateAssayObject(), as the text says, and fix "can be also be". Typos and grammar elsewhere. - ROADMAP: part 1 recorded under Done; III-a now lists part 2. Part of #83. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 56eeeacbbf3ca4cb8506e0ab5811754302867512
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 16:38:41 -0500
Commit message:
Commit: 56eeeacbbf3ca4cb8506e0ab5811754302867512
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 16:38:41 -0500
Commit message:
Map clusters to cell types by average marker count (#83) In PBMC4k, the monocyte markers are detected in every cell of two clusters (1, the monocytes, and 6, nine cells), so picking the cluster with the highest detection rate depended on cluster order. The average marker count separates every cell type by at least 5-fold. The vignette now says why detection alone isn't enough: the monocyte markers are a large part of the ambient RNA. The spec records the change. Part of #83. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 057911ffeef4f8e8f9c709d89cb30bd116312adf
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 15:59:35 -0500
Commit message:
Commit: 057911ffeef4f8e8f9c709d89cb30bd116312adf
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 15:59:35 -0500
Commit message:
decontX vignette: mapping code in view, one clustering run, FAQ (#83) - Show the code that maps clusters to cell types, after a barplot by cluster, instead of building it in a hidden chunk (A7-01). - Plot the marker UMAPs with one call per marker instead of an lapply closure (A7-09). - The delta example reuses the first run's clusters with embedding = FALSE, so the clustering runs once (A7-06). - Contamination is a proportion (A7-08). - A FAQ for #40, #43, #44 and #45 (A7-07, A8-03). Running each sample separately was checked to give identical results to one run with batch, on simulated data with and without z. - A citation section (A7-12), chunk labels, wrapped lines and typos (A7-19, #57). - NEWS for 1.11.32, and part 1 of #83 in the roadmap. Part of #83. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: ef10b8ed39cc5860cf1adf49e1c4488b8f5036fe
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 15:44:12 -0500
Commit message:
Commit: ef10b8ed39cc5860cf1adf49e1c4488b8f5036fe
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 15:44:12 -0500
Commit message:
Citations and usage in the README and DESCRIPTION (#83) - README: a Usage section with a runnable example on simulated data, and a Citation section with both papers (A7-20). README.Rmd has no evaluated chunks, so README.md is updated to match by hand. - DESCRIPTION: Title in title case, <doi:> links for both papers (A7-21), and the version goes to 1.11.32 (PR #126 holds 1.11.31). - AGENTS.md: DecontPro is Yin et al. 2024 (A7-14). Part of #83. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 786a6337f0ad3cb8d7068357f4f04c196b184183
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 15:43:40 -0500
Commit message:
Commit: 786a6337f0ad3cb8d7068357f4f04c196b184183
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 15:43:40 -0500
Commit message:
Fix roxygen docs and add a decontXcounts example (#83) - decontX() and plotDecontXContamination(): contamination is a proportion between 0 and 1, not a percentage (A7-08). - simulateContamination(): the delta default is c(1, 10), and @return lists every element (A7-10). - decontXcounts(): a runnable example (A7-15, #57). - retrieveFeatureIndex(): state the defaults of by and exactMatch, fix the regex link, and make the example deterministic and warning-free (A7-18). - Package help page: references for both papers, and pointers to the vignettes and citation() (A7-12). Part of #83. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 34c8f67ff45dabadbdfed2523047bef38d902a01
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 15:41:53 -0500
Commit message:
Commit: 34c8f67ff45dabadbdfed2523047bef38d902a01
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 15:41:53 -0500
Commit message:
Add the spec for part 1 of #83 (decontX docs) Part 1 covers the decontX vignette, its FAQ, citations, roxygen fixes, README and DESCRIPTION. Part 2, the decontPro vignette rewrite, waits for #81. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: a04f0f714c80a7766a389d685519b5b7ef9e300c
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-11 15:45:06 -0500
Commit message:
Commit: a04f0f714c80a7766a389d685519b5b7ef9e300c
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-11 15:45:06 -0500
Commit message:
Merge pull request #126 from campbio/fix/plot-feature-inputs Check features and cell_type in plotDensity and plotBoxByCluster
Package: decontX
Commit: 3a45c60bfca6a532749b479be3cde5af3011f27f
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 15:29:55 -0500
Commit message:
Commit: 3a45c60bfca6a532749b479be3cde5af3011f27f
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 15:29:55 -0500
Commit message:
Note and test that features must be names, not row numbers as.character(features) makes row numbers fail with "not found" instead of selecting rows by position. The docs always said names; NEWS now says so and a test pins it (code review of #122/#123). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: e7dfbb3649309befd0e716435e3e34a0a871b660
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 15:13:15 -0500
Commit message:
Commit: e7dfbb3649309befd0e716435e3e34a0a871b660
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 15:13:15 -0500
Commit message:
Bump to 1.11.31, add NEWS and mark #122 and #123 done in the roadmap Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: b07cce76eb134b78acec2675f337793c9f3a6ef3
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 15:13:15 -0500
Commit message:
Commit: b07cce76eb134b78acec2675f337793c9f3a6ef3
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 15:13:15 -0500
Commit message:
Check features and cell_type in plotDensity and plotBoxByCluster A factor feature indexed the matrix by its integer code, plotting the wrong row; a cell_type of the wrong length was recycled silently or failed in data.frame(); empty features failed only when printed; and an unknown feature gave a bare "subscript out of bounds". .plotEachFeature() now matches features by name and stops, naming the argument, when they are empty or not rownames of both matrices; plotBoxByCluster() stops unless cell_type has one entry per droplet (#122, #123). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 6cc7543bb39bcc7a527e0111fb1848cc254a6d84
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-11 14:44:42 -0500
Commit message:
Commit: 6cc7543bb39bcc7a527e0111fb1848cc254a6d84
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-11 14:44:42 -0500
Commit message:
Merge pull request #124 from campbio/fix/plot-feature-helpers Share the repeated code in plotDensity() and plotBoxByCluster() (#119)
Package: decontX
Commit: 47d7affe13ac7729f1327814054e9f14eb157cf2
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 07:28:00 -0500
Commit message:
Commit: 47d7affe13ac7729f1327814054e9f14eb157cf2
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 07:28:00 -0500
Commit message:
Pass cellType by name to .plotEachFeature (#119) Spec review nit: clearer than a positional argument after the closure. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: f31ebf25f96ebeb6f912d373db468288698bc40c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 07:25:56 -0500
Commit message:
Commit: f31ebf25f96ebeb6f912d373db468288698bc40c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 07:25:56 -0500
Commit message:
Bump to 1.11.30 and mark #119 done in the roadmap No NEWS entry: an internal change with the same plots, as in 1.11.27. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: eedd5071c878b30000ca745994d12438e92e8792
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 07:25:51 -0500
Commit message:
Commit: eedd5071c878b30000ca745994d12438e92e8792
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 07:25:51 -0500
Commit message:
Share the repeated code in plotDensity and plotBoxByCluster (#119) The per-feature loop, the pseudo-log scale, the fill scale and the patchwork assembly and output move into internal helpers. Each function keeps its own geom, labels and theme. The built plots are the same as before; only the call ggplot2 records for the pseudo-log scale differs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: bcd3aa7ebafe5d157b82750ad6727fcdf3cdc1b6
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 07:23:26 -0500
Commit message:
Commit: bcd3aa7ebafe5d157b82750ad6727fcdf3cdc1b6
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 07:23:26 -0500
Commit message:
Pin the scales and layout plotDensity and plotBoxByCluster share (#119) A characterization test before moving their shared code into helpers: fill colours and labels, pseudo-log scale and breaks, the density's y cap, patchwork columns, collected guides, legend and margins. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: bbb873d8ccf38f66cac399359f48e8f4d42a2090
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-11 06:56:55 -0500
Commit message:
Commit: bbb873d8ccf38f66cac399359f48e8f4d42a2090
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-11 06:56:55 -0500
Commit message:
Merge pull request #121 from campbio/fix/decontpro-split-memory Lower the memory decontPro uses to split the counts (#111)
Package: decontX
Commit: 48864fb5967db08c2e7fa363e0b0e87e9619927c
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-10 21:29:13 -0500
Commit message:
Commit: 48864fb5967db08c2e7fa363e0b0e87e9619927c
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-10 21:29:13 -0500
Commit message:
Merge pull request #120 from campbio/fix/decontpro-single-input Require at least 2 ADTs and 2 droplets in decontPro() (#110)
Package: decontX
Commit: 0782534163d730fadbb987237ce421b42356431d
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:50:56 -0500
Commit message:
Commit: 0782534163d730fadbb987237ce421b42356431d
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:50:56 -0500
Commit message:
Keep the counts' dimnames first in decontPro's split (#111) From the code review: R takes dimnames from the first operand that has them, so put counts_per_rate first in each split; the outputs no longer depend on the Stan estimates having no dimnames. Also use p_est, make the comment say what is freed, and state the result change as about 1e-16 (a measurement, not a bound). Bit-identical to the previous commit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: a1f3acadfb4ce0d358fac63ff132b12007cf44b0
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:43:06 -0500
Commit message:
Commit: a1f3acadfb4ce0d358fac63ff132b12007cf44b0
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:43:06 -0500
Commit message:
Drop a commit hash the rebase made stale from the #111 spec Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 6846be3983b45cc5fa3774b85faddbb5b17ab71b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:42:07 -0500
Commit message:
Commit: 6846be3983b45cc5fa3774b85faddbb5b17ab71b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:42:07 -0500
Commit message:
Bump to 1.11.29, add a NEWS entry and mark #111 done in the roadmap Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 2141367c654af09d3e66393d2034db124824fc93
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:42:06 -0500
Commit message:
Commit: 2141367c654af09d3e66393d2034db124824fc93
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:42:06 -0500
Commit message:
Add the spec and measurements for #111 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: c8d3810e413ac38d068ed0d36adf2723f146f3c4
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:38:18 -0500
Commit message:
Commit: c8d3810e413ac38d068ed0d36adf2723f146f3c4
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:38:18 -0500
Commit message:
Split decontPro's counts without the droplet totals (#111) Each of a droplet's three rates carries its total count as a factor, which cancels in the shares, so the split no longer builds the N x M scaling matrix or the ambient profile matrix. One counts / total matrix is shared by the three splits, and intermediates are freed as soon as they're used. Results move by under 1e-15 (relative). drop = FALSE keeps the native profile a matrix for any shape. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 5c32876fd60095785fc8793d15774fed0490dbc8
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:42:31 -0500
Commit message:
Commit: 5c32876fd60095785fc8793d15774fed0490dbc8
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:42:31 -0500
Commit message:
Reword the #110 check's comment and reflow its roxygen With one droplet the model still has a contamination to estimate; the reason for the check is how rstan passes length-1 data to Stan. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: b96a95737d825bdc81019d52c50e8133b91a3529
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:35:43 -0500
Commit message:
Commit: b96a95737d825bdc81019d52c50e8133b91a3529
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:35:43 -0500
Commit message:
Record #110, #111 and #119 in the roadmap Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 7351ae617e4b93801cb56b4804ecc24acc23bde3
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:35:43 -0500
Commit message:
Commit: 7351ae617e4b93801cb56b4804ecc24acc23bde3
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:35:43 -0500
Commit message:
Bump to 1.11.28 and add a NEWS entry for #110 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 6d2c650a7684bd1e1871c4ea7afc118ecf0ed633
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:35:43 -0500
Commit message:
Commit: 6d2c650a7684bd1e1871c4ea7afc118ecf0ed633
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:35:43 -0500
Commit message:
Require at least 2 ADTs and 2 droplets in decontPro() (#110) rstan passes length-1 data to Stan as a scalar, so a single ADT or droplet failed inside Stan with a mismatched-dimensions message. The model also has nothing to estimate in either case, so stop up front with a message that names the counts' size. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: d7c161c29eca4d5f840c3a801c4a4fba4e9614e2
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-10 16:22:12 -0500
Commit message:
Commit: d7c161c29eca4d5f840c3a801c4a4fba4e9614e2
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-10 16:22:12 -0500
Commit message:
Merge pull request #118 from campbio/fix/quality-items Small code quality items from the deep review (#116)
Package: decontX
Commit: a4e2528747dc048ba54ebd495021986122368f55
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-10 08:25:31 -0500
Commit message:
Commit: a4e2528747dc048ba54ebd495021986122368f55
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-10 08:25:31 -0500
Commit message:
Merge pull request #117 from campbio/fix/scrapper-floor Raise the scrapper floor to 1.5 and remove code tests can't reach (#115)
Package: decontX
Commit: ca46e327c0c5b595b362fc8820687a97fb9850e2
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 08:07:26 -0500
Commit message:
Commit: ca46e327c0c5b595b362fc8820687a97fb9850e2
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 08:07:26 -0500
Commit message:
Say in the roadmap that A4-11's density/box-plot half is still open (#116) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 9efe8b89ece8cc09f9b3e4391f524b54ee3ad483
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 08:07:26 -0500
Commit message:
Commit: 9efe8b89ece8cc09f9b3e4391f524b54ee3ad483
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 08:07:26 -0500
Commit message:
Subset the SCE once in .markerPlotData() and tidy its test (#116) From code review: the subset was rebuilt for every assay, and the test drew each matrix plot twice under a name that shadowed plot(). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: ab8cbe54da82be07f613b99de429af0660b4d9bb
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 08:04:48 -0500
Commit message:
Commit: ab8cbe54da82be07f613b99de429af0660b4d9bb
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 08:04:48 -0500
Commit message:
Follow the helper renames in the benchmark's phase rules (#116) profilePhases() matches stack frames by exact name, so the old names would have put init and Stan time in the wrong phases. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 3236e626b7ff3b4a7095de62560c22a0c08e448b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 08:00:43 -0500
Commit message:
Commit: 3236e626b7ff3b4a7095de62560c22a0c08e448b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 08:00:43 -0500
Commit message:
Tidy the wording of ADR-0010's context (#116) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 968d890a1586bcee2fbaaa09e9542e8d33ea3052
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 08:00:34 -0500
Commit message:
Commit: 968d890a1586bcee2fbaaa09e9542e8d33ea3052
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 08:00:34 -0500
Commit message:
Record the base imports in ADR-0010 and the roadmap (#116) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 87147f76bad8bfddb2fcdf042c685ae7729ebd2c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 08:00:34 -0500
Commit message:
Commit: 87147f76bad8bfddb2fcdf042c685ae7729ebd2c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 08:00:34 -0500
Commit message:
Declare stats, grid and utils in Imports (#116) The code already calls them with '::'; DESCRIPTION now lists them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 9766cf9cde12892392f15870c5e10be19ae7dffd
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 08:00:11 -0500
Commit message:
Commit: 9766cf9cde12892392f15870c5e10be19ae7dffd
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 08:00:11 -0500
Commit message:
Attach decontPro's roxygen block to its generic (#116) The block ended in a stray NULL, and a separate '#' NULL' block documented the generic. Attaching the block to setGeneric() gives the same help page. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 377e2bd2946ee838be5b7f55b116224107a9a003
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:59:45 -0500
Commit message:
Commit: 377e2bd2946ee838be5b7f55b116224107a9a003
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:59:45 -0500
Commit message:
Share the marker plots' per-assay loop in .markerPlotData() (#116) plotDecontXMarkerPercentage() and plotDecontXMarkerExpression() repeated the same SingleCellExperiment-or-matrix split and assay loop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 8b8e2dcfc7767b3d6f406ddea0f435d334c46dca
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:59:45 -0500
Commit message:
Commit: 8b8e2dcfc7767b3d6f406ddea0f435d334c46dca
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:59:45 -0500
Commit message:
Pin how the marker plots stack assays and set the legend (#116) Passes on the current code; guards the shared helper that follows. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: cadb409f9e7281c4d199dafaae3b6879621182e3
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:59:45 -0500
Commit message:
Commit: cadb409f9e7281c4d199dafaae3b6879621182e3
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:59:45 -0500
Commit message:
Use seq_len() and sample.int() in the simulation (#116) sample.int(n, ...) draws the same values as sample(seq(n), ...), so the simulated data are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: fa90ee8ee7185883691f720fb3af96b2d88fe59c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:57:51 -0500
Commit message:
Commit: fa90ee8ee7185883691f720fb3af96b2d88fe59c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:57:51 -0500
Commit message:
Bring internal helper names in line with the package's camelCase (#116) Fixes the 'Inupt' typo, the lower-case x in .decontxInitializeZ*, and the snake_case Stan helpers. Renames only; R/celda_functions.R is untouched. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 2d051d50b2099eea98b5b3c61cf627252ea0d493
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:12:28 -0500
Commit message:
Commit: 2d051d50b2099eea98b5b3c61cf627252ea0d493
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:12:28 -0500
Commit message:
Date scrapper's seed split right and mark ADR-0002's check superseded (#115) The split shipped in scrapper 1.4.0 (Bioc 3.22), not 1.5. The ADR README asks for the older ADR to be marked when a new one replaces part of it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 8984b552d134440c42a412b9b67f9055cf3eaefd
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:12:28 -0500
Commit message:
Commit: 8984b552d134440c42a412b9b67f9055cf3eaefd
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:12:28 -0500
Commit message:
Check that seed = NULL leaves runUmap's seeds unset (#115) From code review: the rewritten branch had a test for a given seed only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 22d767cc2aab34872c287a31eb53730d7aeb2605
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:09:47 -0500
Commit message:
Commit: 22d767cc2aab34872c287a31eb53730d7aeb2605
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:09:47 -0500
Commit message:
Say which scrapper Bioconductor 3.23 ships in NEWS (#115) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: bf184332cb66c5e0156a4598a0711ee45c533ee0
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:06:36 -0500
Commit message:
Commit: bf184332cb66c5e0156a4598a0711ee45c533ee0
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:06:36 -0500
Commit message:
Record the scrapper floor in ADR-0009, NEWS and the roadmap (#115) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 95df10a463bfea42fa3126578d30972a89378851
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:06:15 -0500
Commit message:
Commit: 95df10a463bfea42fa3126578d30972a89378851
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:06:15 -0500
Commit message:
Write the decontXcounts() methods out as plain functions (#115) The GET_FUN/SET_FUN closures were built at install time, so covr could not trace them. Same behaviour. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: ede71e6cb798acde7f5f016b818732b8f045f565
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:06:15 -0500
Commit message:
Commit: ede71e6cb798acde7f5f016b818732b8f045f565
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:06:15 -0500
Commit message:
Remove the unreachable branch in plotDecontXMarkerExpression() (#115) The input helper always returns a named groupClusters, so the plot always faceted by Cell_Type. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 0ea5fe5f52fea3ea9898dc958daf52f3bb558642
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:06:15 -0500
Commit message:
Commit: 0ea5fe5f52fea3ea9898dc958daf52f3bb558642
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:06:15 -0500
Commit message:
Require scrapper >= 1.5 and drop the old runUmap seed branch (#115) No supported Bioconductor release ships a scrapper that takes 'seed', so the formals check only kept code tests couldn't reach. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 436a23587524d4b29fb1286f49f3f1acd692127d
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:06:15 -0500
Commit message:
Commit: 436a23587524d4b29fb1286f49f3f1acd692127d
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 07:06:15 -0500
Commit message:
Pin decontXcounts() and the UMAP seeds before the #115 cleanup The getter/setter round trip (with '...' passed through) and the seed reaching both of runUmap's seeds pass on the current code; they guard the rewrite of both. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 3d14371fde09e464f425dc21c6ee23fcbd67fa4e
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-09 20:56:49 -0500
Commit message:
Commit: 3d14371fde09e464f425dc21c6ee23fcbd67fa4e
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-09 20:56:49 -0500
Commit message:
Merge pull request #114 from campbio/fix/dead-compiled-code Remove dead compiled code and migrate off MappedSparseMatrix (#78)
Package: decontX
Commit: aa8f87fff1a4f39305a81f6ecf3775e11903bf22
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 18:42:00 -0500
Commit message:
Commit: aa8f87fff1a4f39305a81f6ecf3775e11903bf22
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 18:42:00 -0500
Commit message:
Keep the GPL notice in license.stan and record why (#78) rstantools writes the GPL (>= 3) license.stan on purpose: its documentation says the files it copies into a package are GPL (>= 3), and the Stan model compiles against GPL headers (rstan, RcppParallel, Rcpp). The maintainer chose to keep that notice as it was, with decontX's own code staying MIT, rather than replace it with an MIT notice. license.stan and the generated header are back to their devel contents; AGENTS.md, the spec and the roadmap record the decision. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: ba06f1eff81e97aa375f60c6ae9376bdf95bbdb3
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 16:44:29 -0500
Commit message:
Commit: ba06f1eff81e97aa375f60c6ae9376bdf95bbdb3
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 16:44:29 -0500
Commit message:
Sum the simulation's clusters with rowSums() and refresh notes after review (#78) rowsum() drops absent groups and needed two full transposes of the count matrix. Per-cluster rowSums() over seq_len(K) always gives K columns and doesn't copy the whole matrix twice; the values are the same. Also: the fastNormProp comment says numeric matrix, and AGENTS.md records the 1.11.25 refresh of the generated files and how license.stan reaches the Stan header. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: df10a3f6aa6354d02996078b264795a1ece5f341
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 16:39:51 -0500
Commit message:
Commit: df10a3f6aa6354d02996078b264795a1ece5f341
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 16:39:51 -0500
Commit message:
Bump to 1.11.25 and record the dead code removal in NEWS, AGENTS.md and the roadmap (#78) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 661a9a5eb4b03991c95615949ccf86776a81a6c1
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 16:39:29 -0500
Commit message:
Commit: 661a9a5eb4b03991c95615949ccf86776a81a6c1
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 16:39:29 -0500
Commit message:
State the MIT license in the Stan header and explain the RcppParallel import (#78) inst/stan/include/license.stan was the rstantools skeleton default, so the generated src/stanExports_shrinkage.h said decontX was GPL-3 while DESCRIPTION says MIT. It now states MIT; the regenerated header differs only in that comment. The RcppParallel import gets a comment saying why it must stay: it loads the TBB library the compiled Stan model links against. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Package: decontX
Commit: 1422d0bc5264d5160cc02d89ffb5f26e3afeeb61
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 16:38:39 -0500
Commit message:
Commit: 1422d0bc5264d5160cc02d89ffb5f26e3afeeb61
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 16:38:39 -0500
Commit message:
Migrate from the deprecated MappedSparseMatrix and fix the delta message (#78) Eigen::MappedSparseMatrix is deprecated and removed at Eigen HEAD; Eigen::Map<Eigen::SparseMatrix> is the replacement and reads the same memory. The C++ delta check rejects negative values, so its message now says non-negative values rather than positive integers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> </pre> </div> Package: decontX
Commit: a9df2304ace2492089d61e457aa3ae617a2cfefe
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 16:37:48 -0500
Commit message:
Remove dead compiled code and use rowsum() in the simulation (#78) matrixSumsSparse.cpp, the numeric colSumByGroup (which segfaulted on NA), fastNormPropLog, fastNormPropSqrt and nonzero had no caller. The only caller of .colSumByGroup, simulateContamination(), now uses base rowsum(), which also removes the int offset overflow in matrixSums.c. z always holds every cluster from 1 to K, so the columns line up and eta is unchanged. The tests of the deleted functions go with them. The remaining C++ helper and the two Stan helpers are internal, so they no longer get help pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 781d8e244557621a5f2dab9590f744f14edf1679
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 16:37:07 -0500
Commit message:
Pin the simulated eta and the C++ delta message before removing dead code (#78) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 273e8ba6a7d75cab7686abb6eed44451c9f2c86a
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 16:36:12 -0500
Commit message:
Add the spec for removing dead compiled code (#78) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 1ed2f4f8d7af383720baf5c4f1e25f7a38caf977
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-09 07:26:07 -0500
Commit message:
Merge pull request #113 from campbio/fix/drop-plyr-reshape2 Replace plyr and reshape2 with base R (#77)Package: decontX
Commit: 8b17ebeccb6236cdd01738ccecdc5999db1daecc
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 20:17:52 -0500
Commit message:
Use expect_warning in the simulation renumbering test and reword a test name (#77) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 1ecc4faf4a2bb2c9253b2750166a76d6cf11f482
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 20:12:20 -0500
Commit message:
Record dropping plyr and reshape2 in ADR-0008 and the roadmap (#77) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: a68baeaa772eae538a326e0a77e059a1d5b88037
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 20:12:00 -0500
Commit message:
Replace plyr and reshape2 with base R (#77) plyr::mapvalues() kept the type of the labels, so character cluster labels got character codes that as.factor() sorts as text, and the EM orders the clusters by them. z[] <- match(z, unique(z)) keeps that exactly, where a plain match() would reorder the clusters for 10 or more character labels. .meltMatrix() and .meltConDecon() build the same data frames as reshape2::melt(), including its type conversion of dimnames. Both packages leave Imports; bump to 1.11.24. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: a7cdb3a322ff86ee8281fd5006edab048f80ff50
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 20:10:21 -0500
Commit message:
Pin the label numbering and melted plot data before dropping plyr and reshape2 (#77) The tests describe today's output, so they pass before and after the dependencies are replaced: character cluster labels numbered as text, melt()'s column types in the marker plots, and the stacked counts in plotDensity and plotBoxByCluster. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: c485c06c591d0596696e715f965cc33bfea7f5d1
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-08 19:12:59 -0500
Commit message:
Merge pull request #112 from campbio/fix/empty-batch-label Reject empty batch names in decontX() (#102)Package: decontX
Commit: 15d247f236c3c75b44f7366e8703c7d8a7a64cf9
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 17:18:26 -0500
Commit message:
Make the batch name check safe with NA and correct NEWS (#102) Use %in% so .checkBatchNames() gives its own message even if a caller runs it before the NA check. Rewrite the NEWS entry from runs of the old code: labels were lost only when decontX estimated the clusters or when they also appeared in another batch, and a single "" batch got "" rather than "-". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: ad85c7d02dd40ce7eaf2bb8bbf5765875c3bfe16
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 17:15:53 -0500
Commit message:
Correct comments and NEWS for empty batch names (#102) "" can name a list element; it just can't be read back with [[""]], so say that. Test a factor batch without z as well, and note in NEWS that the SingleCellExperiment path with the default embedding used to fail while storing the UMAPs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 245393f006515301f77d9aced88fe357363de3c6
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 17:13:03 -0500
Commit message:
Add NEWS entry and bump version for empty batch names (#102) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 16c91a47c8896d941b65a9fc904568f170b59a30
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 17:13:03 -0500
Commit message:
Reject empty batch names in decontX() (#102) A batch named "" lost its cluster labels: .runBatches() stores each batch's estimates by name, R never matches an empty list name, so the labels were built from NULL and every cell got "-". The name is also used as a reducedDim name and a label prefix, so "" can't be supported. decontX() now stops when 'batch' or 'bgBatch' contains "", naming the argument. The test that pinned the old counts for a "" batch is replaced by tests of the new error. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 7c632fb356d6b8f80659f815e792b05f48c69abb
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-08 16:30:20 -0500
Commit message:
Merge pull request #109 from campbio/fix/stan-process-tidy Compute decontPro's split denominator once (#80, part 3)Package: decontX
Commit: 6253ea1c91b76d156b8b3b2683aae90ad5375ca8
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 12:44:06 -0500
Commit message:
Clarify the allocation saving in the decontPro tidy-up spec (#80) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: b3bdf858d3021392a79afd2d7d5ed56bdec6930e
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 12:42:52 -0500
Commit message:
Record measurements and ROADMAP status for the decontPro tidy-up (#80) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 50e0a7bbeabfe649f3ae3bda51a71672dfeeef71
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 12:41:56 -0500
Commit message:
Compute the decontPro split denominator once (#80) .process_stan_vb_out() built the same ambient + native + background rate sum three times. Build it once, drop the repeated background_est assignment, and name the ambient and native profiles separately. Results are bit-identical. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: ef35b359720d716e1362a5213fdc3c7cb9c42f1c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 12:40:46 -0500
Commit message:
Add spec for the .process_stan_vb_out tidy-up (#80) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: bef9d2001c0054d5d49a081b6f11fe80c5e41f09
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-08 12:37:41 -0500
Commit message:
Merge pull request #108 from campbio/fix/native-matrix-direct Build decontXcounts with the direct native probability (#80, part 2)Package: decontX
Commit: 8d5cceab9d81f25ffbf7c317e3bc2a2ab8e7b517
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 11:19:30 -0500
Commit message:
Code review fixes for the direct native counts (#80) - .nativeCounts() builds the batch result from a plain dgCMatrix, so a dgCMatrix subclass no longer comes back as that subclass (devel always returned a plain dgCMatrix), and passes the C++ the same object it fills. - The oracle test covers interleaved batches and the subclass; the label test compares dense matrices again. - ROADMAP marks #80 parts 1 and 2 done. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 2688a1d9cc62ad5faa8443668429840863533697
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 11:13:08 -0500
Commit message:
Regenerate references, record measurements and NEWS for #80 The references change only in decontXcounts (at most about 1e-14 relative); contamination and estimates are identical. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 79b4869d17cb44c18db3cbcc1cfa5c64a6e9f892
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 11:08:56 -0500
Commit message:
Build decontXcounts with the direct native probability (#80) calculateNativeMatrix() went through log() and exp(), searched each column for every nonzero with coeffRef(), and copied the counts twice (into Eigen and back to R). calculateNativeCounts() uses the EM's direct formula, walks the columns in storage order and returns only the new values; .decontXbatch() puts them in a copy of the counts, which shares the row indices and column pointers. Values change by about 1e-14 relative at most (agreed tolerance, audit A5-04/D2-09). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 83dac7139f431b130d9f626cd771196eb47053ff
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 11:08:56 -0500
Commit message:
Add spec for the direct native-count matrix (#80) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 3df858e4bb85a1c7bd155736aa6c58233ff57e1d
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-08 10:26:26 -0500
Commit message:
Merge pull request #107 from campbio/fix/em-unchecked-indexing Use unchecked indexing in the EM loop (#80, part 1)Package: decontX
Commit: ecd3414e91c024c1a45d3b67c9aca9cbb34b4a3d
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 08:53:53 -0500
Commit message:
Note that the EM guards keep the unchecked loops in bounds (#80) Code review: the size and z-range checks in decontXEM() and decontXLogLik() now protect memory, not just give clearer errors. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: df1384ae00f24e845338f39dc34dcd17116cbbbe
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 08:46:05 -0500
Commit message:
Record EM benchmark results and NEWS for #80 The checked accessors cost far more than the audit's 20% estimate (PBMC4k with z given and embedding = FALSE: 3.36 s to 1.74 s), so the code comment no longer quotes that figure. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 6d284214477d7bcd03743711034d4f8e6f65c557
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 08:43:05 -0500
Commit message:
Use unchecked indexing in the EM loop (#80) Rcpp's checked accessors cost about 20% of the EM loop: new_phi(i, k) looks up the dim attribute for every nonzero count. The loops in decontXEM() and decontXLogLik() now use raw pointers. The guards at the top of each function already check every size and the range of z. Floating-point expressions are unchanged, so results are identical. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: d32740fc9757bab6420c58745e91278e25b1d09b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 08:41:45 -0500
Commit message:
Add spec for unchecked indexing in the EM loop (#80) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: ddaed800ab4685063f5e7a6fde641e05c8506fd7
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-08 08:32:34 -0500
Commit message:
Merge pull request #106 from campbio/feature/embedding-numthreads Skip the embedding when z is given, and add numThreads (#79)Package: decontX
Commit: 2eeb05b4fb19a2340227bdcb2bd7d36398fe276b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-07 19:51:41 -0500
Commit message:
Lower the batch-size minimum to 2 cells with embedding = FALSE (#79) The 3-cell (15 with legacyInit) minimum exists for the PCA and UMAP, which embedding = FALSE skips. One cell is still refused: the default estimateDelta = TRUE can't fit the contamination prior from it and MCMCprecision warns on every iteration. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: c6b9abb3d7cca437d891455923bf46bad0887b35
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-07 15:47:19 -0500
Commit message:
Say numThreads can change estimated clusters; record #79 in the ROADMAP On 100,000 simulated cells four threads found 11 clusters instead of 10, so 'rarely' undersold it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: f55da73017ecd19a92fbaeb0e9221a71868c5198
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-07 15:15:13 -0500
Commit message:
Keep .decontX and .decontXParams under 50 lines (#79) The new checks pushed both over BiocCheck's recommended length, raising its long-function count from 13 to 15. The flag, seed/logfile/numThreads and embedding checks move into small helpers with the same messages, and a two-line comment in .decontX becomes one. The count is 13 again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 68b6085e81303702a9830b679ed2d1426c623621
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-07 15:04:44 -0500
Commit message:
Code review fixes for embedding and numThreads (#79) The scrapper mocks keep the real formals, so the numThreads test also passes on scrapper 1.2 to 1.4, where decontX passes runUmap's old seed argument. The plot stops clearly when colData has no decontX_contamination. The docs note that legacyInit with seed = NULL gives the EM a different random start without the embedding, and that a batch plot needs the run's cells in the same order. Drop a repeated is.finite() check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 0e4defb8c167bf73e045baf0e7da11d09d796954
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-07 15:01:14 -0500
Commit message:
Review fixes for embedding and numThreads (#79) plotDecontXContamination() with reducedDimName and batch stops with a clear message when 'x' no longer has the run's cells (it failed with a subscript error on a subset SCE), and checks 'batch' and 'reducedDimName' up front. Tests now cover the SCE results without the embedding, a real legacy run with two threads, and the new plot errors. The numThreads docs say how the legacy path uses threads. The bench reloads PBMC data cached without z. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: c5194daf6a701259c118610a6f8686c165aa64d0
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-07 14:55:29 -0500
Commit message:
Bench runs without the embedding and with four threads (#79) New run types z_supplied_noembed and z_estimated_threads4, and DECONTX_BENCH_REAL_RUNS for real mode, whose data now carry the z a default decontX() run estimates, so real mode can run z_supplied. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 073f6dfe9ade0e48ba86c35c2347fd92381c0c06
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-07 14:55:29 -0500
Commit message:
Add embedding and numThreads to decontX, reducedDimName to the plot (#79) embedding = FALSE skips the initialization (normalization, PCA, UMAP) when z is given; the decontamination is identical and only the UMAP is left out. It needs z. The zero-count check still runs. numThreads is passed to scrapper's variance, PCA and UMAP steps and to the legacy calculateUMAP. plotDecontXContamination() can plot on any reducedDim of an SCE; with batch = NULL it then plots every cell. Bump to 1.11.19. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 047e95921534a0583abc0e117eebb3363ded3921
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-07 13:03:26 -0500
Commit message:
Spec for skipping the embedding with z, and numThreads (#79) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: a6bb654d332d2e632c8b87937cb2e5aa383bb921
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-07 11:28:57 -0500
Commit message:
Merge pull request #105 from campbio/fix/split-decon-files Move decontXcounts and simulateContamination to their own files (#76, PR 5 of 5)Package: decontX
Commit: 1daecf78e5f22d2b7f32bd7eedc144e04653223e
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 18:52:49 -0500
Commit message:
Reflow the AGENTS.md test list (#76) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 5f23feb2ee8750dbe53c8c007c33b84150518eea
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 18:50:10 -0500
Commit message:
Bump to 1.11.18; record the file split in AGENTS.md and ROADMAP (#76) AGENTS.md lists the two new R files and the new test file, and now says retrieveFeatureIndex() lives in R/celda_functions.R. The ROADMAP marks the five #76 PRs done. No NEWS: nothing changes for users. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: c5cb7b3d9061b7b0e0fbf05d28d30518c37c26e7
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 18:50:10 -0500
Commit message:
Move decontXcounts and simulateContamination to their own files (#76) Pure move out of R/decon.R, which keeps the decontX core: the decontXcounts generics, methods and GET_FUN/SET_FUN helpers go to R/decontXcounts.R, and simulateContamination() with .simulateContaminatedMatrix() to R/simulateContamination.R. Their tests move unchanged to test-simulateContamination.R. Only the "Simulating Data" section banner is dropped; the Rd files change only in their source-file header (ADR-0004, A4-17). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 10a91990aed90cb2dc1d64490ff25f7a56a251df
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-06 18:14:59 -0500
Commit message:
Merge pull request #104 from campbio/fix/hdf5-in-memory Keep the decontX result in memory for HDF5 input (#76, PR 4 of 5)Package: decontX
Commit: 58cf027d062ad89c82b1b22d9d2ab133d8892958
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 16:05:01 -0500
Commit message:
Code review fixes for the in-memory HDF5 result (#76) compare-commits: split the HDF5 path into hdf5 (values, contamination) and hdf5Class (class of the result and its seed), so this PR's intended class change can't hide a change of values. NEWS names writeHDF5Array() for matrix input and says HDF5Array's dump settings no longer apply. Spec amendments record these, the benchmark, and the findings left as they are. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 546ca9434d0ece851d7bd20df208f6ee319c51bf
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 16:01:10 -0500
Commit message:
Reflow the decontXcounts return text (#76) Spec review nit: 'However,' sat alone on a roxygen line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 8e97e5f8f22810ea77d974c3daa6339d87baf013
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 15:58:43 -0500
Commit message:
Bump to 1.11.17 with NEWS for the in-memory HDF5 result (#76) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: f8326a78026374ee0b40aa568bbebb10ca8c588b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 15:58:43 -0500
Commit message:
Keep the decontX result in memory for HDF5 input (#76) .asInputClass() wrote the whole result to a new HDF5 file when the counts were HDF5-backed: 63% of the run time on pbmc4k (audit A5-06), into R's temporary folder, so a saved object pointed at a file that is gone in the next session. Every DelayedArray input now gets the in-memory sparse result wrapped as a DelayedMatrix. Values and class don't change. The help says how to save the result to disk. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: b0f8dabbf01139e7c38c846bcd1e41ab16c37746
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 15:57:26 -0500
Commit message:
Compare HDF5 input between commits (#76) HDF5Array isn't a decontX dependency, so the test suite can't run HDF5-backed input. dev/compare-commits.R gets an hdf5 path, skipped without HDF5Array, that returns the values, contamination, and the class of the result and its seed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 28b90fef5e635ef78e79c4aa9831236d2e0535c9
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 15:56:54 -0500
Commit message:
Spec: keep the decontX result in memory for HDF5 input (#76) PR 4 of 5 for the container-agnostic core (ADR-0004, A5-06). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 5cc463bc1152e5494119ad7aab31534f2026dcb3
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-06 06:59:39 -0500
Commit message:
Merge pull request #103 from campbio/fix/batched-assembly Assemble batched decontX counts with one cbind (#76, PR 3 of 5)Package: decontX
Commit: 89132259a64b474f93896e69f8b096f299bf6078
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 20:53:41 -0500
Commit message:
Word NEWS to match the benchmark (#76) dev/bench at 50,000 cells: allocations fall by about half with and without batches, run time a little, and the batched peak RSS doesn't move, so NEWS says less memory allocated rather than less memory. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: fc97b4e5a87beede1c47d0b45aba3bc7c08cba9c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 20:45:36 -0500
Commit message:
Point the spec at #102 for the empty batch label (#76) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 0c5e429859378f91a53b96e62093b92f44d5effe
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 17:58:01 -0500
Commit message:
Record the batched-assembly spec amendments (#76) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 161b3243bee8744f5fc2063858b657b0327566e4
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 17:57:50 -0500
Commit message:
Bind batches by position and free them before the reorder (#76) Code review fixes. Looking batches up by name lost a batch labelled "" (R never matches an empty name), so batched runs with that label stopped with 'subscript out of bounds'; devel assembled its counts correctly. The per-batch counts are now a positional list, in unique(batch) order. .bindBatches() now only binds; .inCellOrder() reorders and names. The per-batch list is removed between the two, so it isn't held during the reorder, and the cell order comes from one order(match()) instead of a which() per batch. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 06be53f8814e5d868cb11b8477840cccbc15bcb2
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 17:49:35 -0500
Commit message:
Keep decontXcounts dimnames unnamed, as before (#76) Passing dimnames(counts) to .bindBatches() kept the names of the dimnames list (for example from table()), so decontXcounts was no longer identical() to devel for such input. Build the list from rownames() and colnames() as the old zero matrix did. Found by the spec review. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 23c81b57783a0f8409b1c939f094f6154a11c065
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 17:43:42 -0500
Commit message:
Bump to 1.11.16 with NEWS for the batched assembly (#76) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: f31aef989c4dbe429925e87b9bab89104c645ed0
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 17:43:42 -0500
Commit message:
Assemble batched decontX counts with one cbind (#76) .bindBatches() replaces the per-batch .setBatchColumns() copies, which renamed, dropped, bound and reordered every column for each batch. One batch's matrix is now returned as it is; several batches are bound once and reordered once, only when the cells aren't already in batch order. Results are identical; a new test checks interleaved batches against per-batch runs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 6c9da6dd379462aae3bc972999c273b6b4bd4e49
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 17:41:23 -0500
Commit message:
Spec: assemble batched results with one cbind (#76) PR 3 of 5 for the container-agnostic core (ADR-0004, A5-05). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 3e315cd1701cbf8353bd179d2fea53b6afb4ffc3
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-05 15:16:26 -0500
Commit message:
Merge pull request #101 from campbio/fix/core-decomposition Decompose the decontX core into named helpers (#76, PR 2 of 5)Package: decontX
Commit: 96ee337959a3a23b01686cda8172331a40f348cd
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-04 17:01:29 -0500
Commit message:
Code review fixes for the core decomposition (#76) The log tests run every iteration (convergence = 0), so a platform where the EM converges early can't change their line count. The test that no longer calls .decontXoneBatch() is renamed for what it checks, and a comment states the checks .decontXoneBatch() relies on. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 50225b690fb785020c92f86f14c997d3bfd3e39b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-04 16:56:59 -0500
Commit message:
Keep cat()'s logfile handling and pin the no-z log (#76) .logMessages() hands cat()'s text to write(), which treats logfile as cat() did, so logfile = "" logs to standard output again. NEWS says when bgBatch used to be ignored. Spec review fixes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: b2f0860c51cb356b25e2a95a18db273485dea049
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-04 16:52:19 -0500
Commit message:
Record the core-decomposition spec amendments (#76) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 6e2ff03211f4e31902aa27e3d6dba3e0073dc30e
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-04 16:52:05 -0500
Commit message:
Bring .decontX() and .runEM() to 50 lines or fewer (#76) The log-likelihood step moves into .emLogLik(), and .decontX() takes its arguments on one line with shorter calls, as the spec asks of every core function. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: ca6b16ca44d2a247807bd274764266e2a681bb32
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-04 16:50:05 -0500
Commit message:
Decompose the decontX core into named helpers (#76) .decontX() and .decontXoneBatch() become short calls to helpers for the batches, the per-batch runs, the column insertion, the estimates, the DelayedMatrix conversion, the initialization and the EM. One .withSeed() replaces the three seed blocks. Dead code goes: deconMethod, the inert stopIter, umap <- NULL, the twin decontXEM() calls, totalCells, the five 1e-20 literals (now .decontXPseudocount) and the per-batch re-checks the core already runs. .logDecontX() and .logBanner() replace the repeated logging arguments, and .logMessages() writes the same text without cat(). bgBatch given with batch but without background now stops instead of being ignored (NEWS, 1.11.15). The two direct .decontXoneBatch() calls in 'Testing .decontXoneBatch' call decontX() with the same inputs and messages, as approved. The #74 snapshot's error header now names .decontXBatches(); its message doesn't change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: b2c9239d6c8638c12f759b6358abb04d7f12c638
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-04 16:45:04 -0500
Commit message:
Test the bgBatch-without-background error and pin the log text (#76) The bgBatch tests fail: decontX ignores bgBatch without background. The log snapshots, recorded on the current code, pin every line the core logs, trailing spaces included, for the logging changes that follow. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 9ac4bd044091ea84bceae19711c4772593fb1174
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-04 14:30:20 -0500
Commit message:
Spec for decomposing the decontX core (#76, PR 2 of 5) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: e106cc0dc541a9bb49fffac3571535e9577d1103
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-04 13:23:37 -0600
Commit message:
Merge pull request #100 from campbio/fix/core-contract Container-agnostic decontX core and params constructor (#76, PR 1 of 5)Package: decontX
Commit: 057a213a53ce8c75913b4e072a968e161fa720dd
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-04 10:39:59 -0500
Commit message:
Code review fixes for the core contract (#76) The help and NEWS say when runParams$batchBackground is NULL (bgBatch without background was already recorded as given). A test checks that every parameter reaches the params list; the formals helper uses methods::unRematchDefinition(). Comments on .decontXUMAPs() column names and on .decontXoneBatch()'s seed are brought up to date. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 24e21b1b55f76bcec7af3ad6ee5ab28d2a72113a
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-04 10:34:52 -0500
Commit message:
Spec review fixes for the core contract (#76) NEWS and the decontX() help now say runParams always has batchBackground, including in the SingleCellExperiment metadata. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 701508815ba0eb65ce6a58bfdb251104a339f85f
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-04 10:31:58 -0500
Commit message:
Drop the agent-log item from the core-contract spec (#76) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: c259af6414f60983233cd2fe449e63ef17033ebb
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-04 10:27:38 -0500
Commit message:
Separate a container-agnostic decontX core from the methods (#76) The decontX methods now only read the container, build the parameters once with .decontXParams() (no defaults; a test checks the methods' formals agree with it), call .decontX(), and write the results back. The background checks and deduplication move from the methods into the core, and the SCE UMAP padding into .decontXUMAPs(). The core returns the batch of each cell, so methods no longer read runParams, which is built once and always has batchBackground (#96). Results are unchanged. Part of #76. Version 1.11.14. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: d0fbb48e6adce8a23707d78c111eb42902d259a2
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-04 10:23:42 -0500
Commit message:
Amend the core-contract spec for the two ported tests (#76) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: b096db060a4db24c231f297cfeba787600d3d021
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-04 10:18:38 -0500
Commit message:
Accept ADR-0004 and mark the core-contract spec approved (#76) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 17483149db23b3258580a82494db30cd9cb3678c
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-04 08:29:24 -0600
Commit message:
Merge pull request #98 from campbio/fix/roadmap-55 Mark Phase I-a to I-c done in the roadmap; list .Renviron in .RbuildignorePackage: decontX
Commit: 4f0051d58b34c75760f08c140e822892bb4ca2ef
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-04 08:23:49 -0500
Commit message:
List .Renviron in .Rbuildignore R CMD build already skips .Renviron (tools:::.hidden_file_exclusions), so the tarball doesn't change. The explicit entry records that the untracked devel-library .Renviron must never be packaged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 007fd0033ab75e6a3d21a44778f285d35e59fb97
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-04 08:17:25 -0500
Commit message:
Mark Phase I-a to I-c done in the roadmap The stopgap (#65), the regression net (#66), the I-b fixes (#67-#74) and the coverage work (#75) have merged, and their issues are closed. They move to Done with their PRs; the devel-library setup is done too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: f3ebbb1670b5802df60576326b469e0fa5f5f7bc
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-30 11:43:14 -0500
Commit message:
Record the #55 fix from #64 in the roadmap The expect_equivalent() warning (#55, A3-07) was fixed by an outside contribution, #64. Also rewraps the Phase 0 entry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: d55f628b2ecf77e0b27c49149f7b2976756865b8
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-03 22:23:39 -0500
Commit message:
Say which new test already passes on devel in the core-contract spec (#76) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 957a3b19f68eff9e8b635bbafbc7de1fc44c8148
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-03 22:23:31 -0500
Commit message:
Spec for the decontX core contract and the completed ADR-0004 (#76) The spec covers PR 1 of the five #76 PRs. ADR-0004 records the 2026-11-03 decisions on its open points (runParams, UMAPs, list names, new arguments, decontPro) and the PR order, for the maintainer's review. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 3448ff07886156d2202f09829a5c09b794ce52fa
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-03 20:46:28 -0600
Commit message:
Merge pull request #97 from campbio/fix/test-coverage Raise test coverage and fix hollow tests (#75)Package: decontX
Commit: 61d65b02bcac6533247970768a27cd0b39a2d333
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-03 21:06:32 -0500
Commit message:
Fix a missing space in the duplicate groupClusters error (#75) The message read "assigned to asingle group". Found while testing the error; the maintainer asked to fix it here, so 1.11.13 gets a NEWS section. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 1a3150258222d061bf2a7ab81110c0a96f65a019
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-03 20:56:16 -0500
Commit message:
Code review fixes for the coverage tests (#75) quietStan() prints Stan's output when a fit fails, since that output holds the reason. The background eta profile comes from one helper, the shared simulation is a plain simulateContamination() call again, the legacyInit UMAP is checked for shape and NA, the C++ guard test checks the wrappers' argument names, and the varGenes = NULL test no longer runs two fits that couldn't differ on the fixture. .covrignore and codecov.yml point at each other. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 4990cc81dc65ce52d554451b809c555118348381
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-03 20:51:19 -0500
Commit message:
Spec review fixes for the coverage tests (#75) Covers retrieveFeatureIndex on a plain vector, the last untested branch. Checks the marker expression values and the parameter names of the decontPro output, keeps the assay check after the SCE background run, and seeds the sparse-data test with withr. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 37e92516092cb70e089ac435957929a384da7659
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-03 20:47:06 -0500
Commit message:
Version 1.11.13, AGENTS.md test notes and spec amendments (#75) Test-only change, so no NEWS section (as for 1.11.4). AGENTS.md describes quietStan(), the silent-suite rule and the skips as they now are. The spec records the unreachable no-groups plot branch (A3-12) and the two places the plan was adjusted. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 564eead67a155425bcb921c00532fed35020bc2e
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-03 20:46:49 -0500
Commit message:
Replace hollow tests and quiet the suite (#75) The old matrix and SCE tests now build their plots and check the data; background runs check that eta is the background's gene profile; legacyInit is tested for what it promises (with z, only the UMAP changes). A Stan-free test of .process_stan_vb_out() checks the split of each count on hand-worked rates, which the sum-to-input check can't (A3-04). Three real Stan fits become one (A3-09). The suite now runs with no warnings and no console output: sparse Seurat fixtures (A3-08), verbose = FALSE, and quietStan() around real Stan fits (A3-15). The shared simulation moves into a helper and library() calls go (A3-16). Tests that check results run the EM to convergence instead of two iterations (A3-20). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: f54f5c97cda8f6845ca30bd39c7dd2a3252ab62c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-03 20:43:00 -0500
Commit message:
Test the internal and C++ argument checks directly (#75) No exported function passes input that reaches these checks, so they are called directly: three R helpers and the 22 shape checks in DecontX.cpp, each with the message it gives (A3-02, A3-18). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: d5a193666a46999cb6a1dd3f73b236f8cc6acb28
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-03 20:39:34 -0500
Commit message:
Test the paths exported functions reach but no test did (#75) Covers decontX's seed = NULL (default and legacy), logfile, unnamed background columns, unnamed assays and varGenes = NULL; simulateContamination's seed = NULL and single delta; every branch and message of retrieveFeatureIndex; plotDecontXContamination's batch argument and errors; the marker plots' argument errors, log1p and plotDots; and the plot plotBoxByCluster returns (A3-02). Each test was checked to fail with its path broken. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 9bef5c01b8d425bd17e58e2caa894d22af3db369
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-03 20:28:36 -0500
Commit message:
Test the scater-missing legacyInit error (#75) .hasScater() wraps requireNamespace() so a test can mock scater being absent; the error was untestable on machines with scater (A3-14). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 84d51bcdef2a86bea8f936a6c8cbc1be57e61f48
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-03 20:26:33 -0500
Commit message:
Ignore generated code in local coverage (#75) .covrignore lists the generated files codecov.yml already ignores, so make coverage and codecov report the same denominator (A3-03). Marks the spec approved. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 4eaba21c298830ff009f9e2889e76d9e1791e394
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-03 20:25:45 -0500
Commit message:
Spec for raising test coverage (#75) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 96287e10ab0ca7f34c84f117e1b13ca24724ecb6
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-03 05:36:27 -0600
Commit message:
Merge pull request #95 from campbio/fix/cosmetic-fixes Cosmetic fixes: simulateContamination, retrieveFeatureIndex, runParams, typos (#74)Package: decontX
Commit: ca4af5da5bbb36c38a4d5f39323a31b72ae8c364
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-02 17:57:32 -0500
Commit message:
Code review fixes for the cosmetic fixes (#74) The K help text gives the new limit of at least two populations, and the one-population stop sits before the fewer-populations warning instead of inside it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 6884d1539dc7cda2895d2720ebbd23415e291b93
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-02 17:54:55 -0500
Commit message:
Spec review fixes for the cosmetic fixes (#74) The exactMatch = FALSE NA test now fails without the fix (it checks for the one 'not present' warning only); NEWS mentions the C = 1 stop; the 'by' help text is rewrapped to 80 columns. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 5b7f19a2afd07758289472335b35f9354a2562a3
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-02 17:48:55 -0500
Commit message:
Version 1.11.12 and NEWS for the cosmetic fixes (#74) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 591c23c6f2bf5e259787ceb26542a6c1ff85ce05
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-02 17:48:49 -0500
Commit message:
Fix simulateContamination, retrieveFeatureIndex, runParams and typos (#74) simulateContamination() drew each cell's total from 1 to NRange[1] when both ends of NRange were equal (sample() on a single value); it now draws from the range with sample.int(), which gives the same draws when the ends differ. K = 1, or sampling that leaves one population, now stops with a clear message instead of a "Division by 0" crash. retrieveFeatureIndex() no longer matches an NA feature to a row named NA, and checks that 'by' is a single string before using it. runParams now records seed and iterLogLik. Typos fixed in messages and help pages; the bgBatch-without-batch error names both arguments. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 65474e57dc8f0d3ebaee7dd7452c4075fc46bf34
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-02 17:45:24 -0500
Commit message:
Spec for the cosmetic fixes (#74) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 88d5fc7c2e431e91699a25e7fa0032a5e1c54337
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-02 14:39:34 -0600
Commit message:
Merge pull request #94 from campbio/fix/plot-fixes Plots: shared bandwidth in plotDensity, file argument, groupClusters labels, unnamed UMAP columns (#73)Package: decontX
Commit: 77646e37f0509f3d5177d9a37fdda98ec3139be6
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-02 09:33:03 -0500
Commit message:
Use seq_len() for the UMAP axis labels, for BiocCheck (#73) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 3a2697d60e268a46c68d4018729a3e3d4a34c8b6
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-02 08:49:25 -0500
Commit message:
decontPro vignette: keep Seurat's cluster labels (#73) as.integer(Idents()) turned Seurat's 0-based clusters into codes 1..K, so the plotBoxByCluster() numbers were one higher than in the Seurat plots. decontPro accepts any labels since #72, so the vignette passes Idents() as it is; the decontaminated counts are identical. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: b87eb5901966672467e83b820d8a012a5145cfaa
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 21:45:02 -0500
Commit message:
Code review fixes for the plot fixes (#73) plotDensity() takes the transform from its own x scale, leaves Inf out of the bandwidth as well as NA, and keeps the default bandwidth when fewer than 2 values are left, which used to stop with "need at least 2 data points". UMAP axis titles fall back for empty or NA names. The groupClusters message reuses .firstFew(). The help pages name the patchwork object that is returned. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 2b8afbdc5f6fd0ec922234bedf5b75c6734f1e4c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 21:40:23 -0500
Commit message:
Spec review fixes for the plot fixes (#73) plotDensity() leaves NAs out of the bandwidth, as geom_density() drops them, instead of stopping. Clearer wording in the help page and NEWS. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: d490558adeeb0c2a1c464d1f9f4c6c45cbb80463
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 21:35:00 -0500
Commit message:
Version 1.11.11 and NEWS for the plot fixes (#73) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 792b61681d89cbea60d3025372631899e38f1971
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 21:35:00 -0500
Commit message:
Marker plots list the labels in z; UMAP columns by position (#73) A groupClusters value not in z now shows the labels z has, which after a batched run carry the batch prefix. plotDecontXContamination() takes the UMAP columns by position, so unnamed columns (lost in an h5ad round trip) no longer fail. decontX() documents that a re-run keeps UMAPs from runs with different batches. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 9895e931716bf33ad3ce29db6b77be0abed973fa
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 21:35:00 -0500
Commit message:
plotDensity: one bandwidth per panel; save to the file given (#73) Each curve got its own bandwidth, so the less spread-out curve looked taller. Both curves of an ADT now share bw.nrd0() of the pooled values on the pseudo-log scale. plotDensity() and plotBoxByCluster() no longer turn "x.pdf" into "x.pdf.pdf", and the docs give the real return. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 14447b9505987a0bd17b8137484dafd148ce9c03
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 21:34:59 -0500
Commit message:
Spec: approved with the pooled bandwidth (#73) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 5c1d65ef2cf000df3519a2c6364f0351de638729
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 19:53:19 -0500
Commit message:
Spec for the plot fixes; note the AnnData name restore for Phase II (#73) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: d15a8818385392007de2dcd2caf4977bc9c01645
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-01 18:04:18 -0600
Commit message:
Merge pull request #93 from campbio/fix/decontpro-inputs decontPro: read split Seurat layers, recode cell_type, validate counts, reject unknown arguments (#72)Package: decontX
Commit: 4a792e4271d07c82717673c9c54d7f2d1f5414e5
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 17:27:51 -0500
Commit message:
decontPro: reject NA and negative ambient_counts (#72) They reached Stan and ended in the generic failure message. Reuse decontX's sparse-aware .checkCountsDecon() on the matched rows. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: d2309ce1e6136edf01ec7c14087b2a9203109b03
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 16:44:34 -0500
Commit message:
Spec: record the code review additions (#72) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: ec133c9a452433afec74a48dfe0c179d97e3f018
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 16:44:26 -0500
Commit message:
Reword the Stan failure message for BiocCheck (#72) BiocCheck flags signal text containing 'message'. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 1239cd0dc9abbc5e3f4f2d82cc0215a1ae0fd7f7
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 16:30:42 -0500
Commit message:
Code review fixes for the decontPro input checks (#72) rstan::vb() returns an empty stanfit (mode 2) on most failures, not just a list, so check the mode too. Reject Inf counts, recode cell_type with factor() so a 1 x M matrix gets the right K, and skip the whole-number check for integer counts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 7c73d581eb45e1ba3bb164f83c8a756f74c88394
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 16:26:00 -0500
Commit message:
Spec review fixes for the decontPro input checks (#72) Test the unnamed-argument error in the SCE and Seurat methods and the Seurat v3 assay path; tighten the NEWS wording. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 9836dd700acfe899caba2bcc5e6b013f1c1c17a0
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 16:21:31 -0500
Commit message:
Fix lint in the decontPro input fixes (#72) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: dd1c60c27c37a2ef65ff63564dca30ea50ecf879
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 16:20:59 -0500
Commit message:
NEWS and version 1.11.10 for the decontPro input fixes (#72) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: d655f33d9bb4536719cf62ba6b59cab482b9a502
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 16:20:59 -0500
Commit message:
decontPro: join split Seurat layers, recode cell_type, reject unknown args (#72) Split v5 counts layers were read one layer at a time; cell_type labels other than 1..K, a wrong length or NA, and non-integer counts surfaced as Stan errors followed by "no applicable method for '@'"; and '...' silently dropped arguments such as seed or a delta_SD typo. cell_type is now recoded to 1..K (sorted labels, or factor levels) and r_est rows are named by label; 1..K input gives the same numbers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 513f2710aaefd87bb1154820a78ca9d2c311d0ed
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 16:12:53 -0500
Commit message:
Spec for decontPro input fixes (#72) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: d2a1a5210743746e58520a044bbe012d47455ec5
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-01 16:25:32 -0600
Commit message:
Merge pull request #92 from campbio/fix/input-crashes Fix crashes on small batches and some input classes (#71)Package: decontX
Commit: 072bc4719b4946ebd6f1790ca965270d03978e5e
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 15:44:39 -0500
Commit message:
Build the small-batch list outside stop() (BiocCheck note, #71) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: fd6d27957830810d033b8a58fc96cdca8262b392
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 14:55:22 -0500
Commit message:
NEWS: logical and character values are now rejected (#71) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 54d409bc1281a334d998db9f104ba230efab8dfe
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 14:55:13 -0500
Commit message:
Code review fixes for the input checks (#71) - Accept only numeric element types: dMatrix from Matrix, and double or integer DelayedMatrix and SparseArray. A character DelayedMatrix crashed in the conversion, and logical sparse input ran as 0/1 counts while a logical base matrix was rejected. - Check the matrix background's class before .checkBackground(), so it isn't logged about or warned on before it is rejected. - Log "Converting decontaminated matrix to a DelayedMatrix" instead of the input class, which is no longer the output class. - @return: an HDF5Matrix comes back for HDF5Matrix input; sparse HDF5 input (TENxMatrix) gives an in-memory DelayedMatrix, as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: f26ee9a2625a56766f51a23a3b956176c2415ec8
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 14:49:49 -0500
Commit message:
Check the SCE assays' class too; spec review fixes (#71) The SingleCellExperiment method now checks the class of the x and background assays, as the spec says. One helper builds the class messages, naming a matrix of the wrong type by its type. Also drops a stale comment about converting back to the input class, and narrows the NEWS wording to a DelayedMatrix over a dense matrix. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 69d2053492d063b0aa897fa629b9d89818f1a14f
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 14:45:14 -0500
Commit message:
NEWS and version 1.11.9 for the input crash fixes (#71) make docs also bumped Config/roxygen2/version to 8.1.1; the Rd output is otherwise unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 18d8fbb04ec9a943c014b3ed66376a1b34675f46
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 14:45:14 -0500
Commit message:
Fix crashes on small batches and some input classes (#71) - Stop before any work when a batch has fewer than 3 cells (15 with legacyInit), which the PCA and UMAP need; subset with drop = FALSE. - Name unsupported classes for x and background; an SCE x needs an SCE background, as documented. - Convert every batch through as(., "CsparseMatrix"), avoiding the deprecated as(., "dgCMatrix") that failed on dgRMatrix. - Return a dgCMatrix (or DelayedMatrix) and drop the coercion back, which was dead for dense input; test the seed with is(), which a dense seed's two-element class broke. - Guard decontXInitialize() against z below 1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 32fbb77c9e4079edaad4b9dce89eb6965dab9ac3
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 14:45:14 -0500
Commit message:
Add regression tests for small batches and input classes (#71) One- and two-cell batches, dgR/dgT/SVT input, a DelayedMatrix over a dense matrix, unsupported classes for x and background, and z below 1 in decontXInitialize(). Each fails on devel on the crash itself. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 2e3510f40eebcf248a073c6c76e2003d207afa5c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 14:37:01 -0500
Commit message:
Spec for small-batch and input-class crashes (#71) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: f380a3607bf74a3d46ae925dd3a6168539449233
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-01 11:27:38 -0600
Commit message:
Merge pull request #91 from campbio/fix/user-cluster-labels Return user cluster labels, and fix the marker plots (#70)Package: decontX
Commit: c5e11a16f3bee3b748135cc71cd9e26fd201556c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-01 11:41:15 -0500
Commit message:
Prefix user labels by batch when a label is in more than one batch With per-sample cluster numbers (1..K in every batch), unprefixed labels merged different clusters under one name in result$z, decontX_clusters and the marker plots. Batched runs now prefix every label with its batch when any label is found in more than one batch, as before #70; labels unique to one batch come back unprefixed. Decided by the maintainer at hand-off. References regenerated: only z in the two batched paths changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 32298b994d5d5e26bca94a261a66f2d59b61f1fa
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-31 22:55:37 -0400
Commit message:
Fix code review findings for user cluster labels Keep plain-matrix input a matrix when groupClusters keeps one cell (the marker plots stopped with "'rownames' of 'x' are 'NULL'"), assign result$z to colData directly now that it is always a factor, and say in NEWS that each batch's estimates no longer holds z twice. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 70da2616bedea6666ee401696d4a624244f2dbff
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-31 22:51:19 -0400
Commit message:
Close spec review gaps for user cluster labels Tests: unbatched factor z, batched SCE, phi/eta columns and the native matrix for more than nine character labels, labels of an unused plot level, and the expression plot on a two-assay SCE with and without groupClusters. Docs: the order of estimated batched levels and the unprefixed per-batch z. The spec now says where the plot codes are made. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 8642e7178cdcf46306e55eae673177404466ab75
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-31 22:43:23 -0400
Commit message:
Document the returned cluster labels; NEWS and version 1.11.8 The z argument, the returned z and the phi/eta column names in ?decontX, and groupClusters taking the labels in z in both marker plot pages (#70). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 6b27b1ba1ef751966c04b6aaba087cb2e45d278b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-31 22:42:42 -0400
Commit message:
Fix marker plots for any cluster labels and one marker gene plotDecontXMarkerPercentage() grouped cells by label value but sized clusters by position, so labels other than 1..K errored, gave NA names or wrong names; it now numbers the used levels 1..K (A1-07). Subsetting to one marker gene no longer drops the matrix to a vector, and plotDecontXMarkerExpression() attaches clusters by position, since melt() turns numeric-like cell names into numbers (A1-20). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: c908af73f23ac4dbbbf665f35deb67fb9990534a
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-31 22:42:42 -0400
Commit message:
Return user cluster labels and name phi/eta by label result$z is now always a factor. A user z comes back with its own labels, unprefixed in batched runs; estimated clusters keep 1..K or '- '. Each batch's estimates$z holds its labels, and the phi and eta columns are named by label and ordered as its levels. The EM still uses the same internal codes, so every value is bit-identical to before. Unused factor levels are dropped per batch, so decontXEM no longer gets an empty cluster with an all-NaN phi column (A1-09, A1-22, D2-08). The duplicated z element in each batch's estimates is removed. References regenerated for the z type and the phi/eta names only; a comparison with the old references found every value identical. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> </pre> </div> Package: decontX
Commit: d48fbe0cadbdf3dd4eb792fdcb2df2270b161226
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-31 22:40:58 -0400
Commit message:
Test that user cluster labels come back and marker plots match them Regression tests for #70: user z returned as labels, phi/eta named by label, estimated z as a factor, no NaN columns for unused levels, and marker plots for labels that aren't 1..K, one marker gene and numeric-like cell names. All fail on devel. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 17aaed6ae7f2bba947406819d02edaedb21152d2
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-31 22:38:42 -0400
Commit message:
Add the spec for returning user cluster labels (#70) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 61a109c46c032362fbf2bb687e1f6e1a35922910
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-10-31 21:24:56 -0500
Commit message:
Merge pull request #90 from campbio/fix/single-cluster-background Allow one cluster with background, and run the k-means fallback on PCsPackage: decontX
Commit: a151f82e11f1dfd7663532430a097aa04124a6e7
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-31 21:18:06 -0400
Commit message:
Fix the legacy k-means fallback on sparse log counts Base t() does not dispatch on the dgCMatrix that scater returns, so legacyInit = TRUE stopped with 'argument is not a matrix' whenever dbscan found one cluster. Matrix::t() handles sparse and dense input. The path never produced results, so none change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: c7f14d83b35ecc078308b3216455485b26f11928
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-31 21:17:19 -0400
Commit message:
Test that the legacy k-means fallback clusters all genes With legacyInit = TRUE, the fallback calls base t() on the dgCMatrix of log counts and stops with 'argument is not a matrix'. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 4469482b4becbb92328ab58111aa17a492c45132
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-31 19:59:59 -0400
Commit message:
Fix code review findings for one cluster with background Name the batch whenever the user gave one, including a batch called "all_cells"; read the normalized counts only in the legacy fallback; and check that k-means gets the scrapper PCs, not just their shape. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: b62e3129fa419a52a16657dc1dd69798cbe8691f
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-31 19:56:08 -0400
Commit message:
Close spec review gaps for one cluster with background Check that the batched run returns one cluster for batch A, say in the error that background allows one cluster, and note in the z docs that legacyInit still runs k-means on all genes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: eb4f7520cf37d9aea04111a2e604cd585e89f203
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-31 19:53:05 -0400
Commit message:
Allow one cluster with background, and run k-means on PCs A z with one cluster is allowed when the batch has background; without it, decontX stops before any batch runs and names the batch. When dbscan finds one cluster, k-means now clusters the scrapper PCA components rather than a dense cells x genes matrix (#43's 1.4 GiB warning); legacyInit is unchanged. Bump to 1.11.7 (#69). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: b6cb6187e73e71bce83f9a8d109265c04ed01627
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-31 19:53:05 -0400
Commit message:
Test one cluster with background and the PCA k-means fallback One-cluster z is refused even with background, where the fit is valid (A8-01), and the k-means fallback clusters a dense all-genes matrix (A8-02). The old one-cluster message is updated to the new wording, which names the batch. These tests fail on devel. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 7c967f29bcaca9e25ed01cfb759b62be805d6d7c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-31 19:49:48 -0400
Commit message:
Add the spec for one cluster with background and the PCA fallback Approved plan for #69 (A8-01, A8-02). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: c33c5d108cf259c65d948685041d94495de9827e
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-10-31 18:33:27 -0500
Commit message:
Merge pull request #89 from campbio/fix/background-genes Match background rows by name, and check bgBatchPackage: decontX
Commit: 369b76e39bc5034c19a6d5e23d6880ad1d1ec17d
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-31 18:30:10 -0400
Commit message:
Keep the background helpers under 50 lines Move the shape checks into .checkBackgroundShape() and the name checks into .checkBackgroundNames(), for BiocCheck's function length guideline. No change in behaviour. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 0962e00917e10ec2c509eec9e39a428b0cdb58dd
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-31 17:56:58 -0400
Commit message:
Fix code review findings for background matching Keep a one-droplet background batch a matrix (it failed to coerce to dgCMatrix), allow duplicated names among the background rows that are dropped, and name ambient_counts when it isn't a matrix. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 4576d165c3aef65002d0dc46cb517af83d98e2f8
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-31 17:53:45 -0400
Commit message:
Close spec review gaps for background checks Test extra genes through the SCE method, give a background with no droplets or no dimensions its own message, say in the bgBatch docs that every batch needs droplets, and keep the verbose test's other log messages out of the test output. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 2073e5208b79b555ba4190202fc866ff27b34215
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-31 17:50:48 -0400
Commit message:
Match background rows by name and check bgBatch .matchBackgroundRows() matches background (decontX) and ambient_counts (decontPro) rows to the counts by name, drops extra rows with a log message, and stops on missing or ambiguous names. bgBatch must have one value per droplet, no NA, and the same values as batch. An empty background after barcode removal now stops. Results don't change for rows that already match. Bump to 1.11.6 (#68). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: d4af67092e7d581bf97305ee56299c858e5ba80d
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-31 17:50:48 -0400
Commit message:
Test background row matching and bgBatch checks decontX and decontPro take the background profile by row position, so reordered rows give wrong estimates and extra genes give a C++ error (#43). bgBatch is recycled or silently drops the background. These tests fail on devel. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: d818a6e34797af3d2c4b907440a3a46b6ebb78ad
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-31 17:47:57 -0400
Commit message:
Add the spec for matching background rows and checking bgBatch Approved plan for #68 (A1-02, A1-03, A1-12). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 0040d2ce465a5e1c69d66879648a021746a40a35
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-10-31 16:29:46 -0500
Commit message:
Merge pull request #88 from campbio/fix/validate-decontx-args Validate decontX inputs before runningPackage: decontX
Commit: 761436cd3d2d3bb85ffa1880be1e027393091c22
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-30 11:53:28 -0500
Commit message:
Move the EM argument checks into their own helper Keeps .checkDecontXArgs() under BiocCheck's 50-line guideline. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 28359923ec0a6530a6144680cbf749486e7b8b78
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-30 11:49:51 -0500
Commit message:
Check inputs before background processing, and close review gaps Both methods now check their arguments first, and the counts check runs once on the whole matrix instead of per batch, so bad input stops before any work. Background counts are checked for NA and negative values. maxIter = Inf with convergence = 0 never stopped, so it errors; seeds outside R's integer range error early; an assay index and iterLogLik = Inf still work; and a defaulted bgAssayName is reported as assayName (code review). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: c6624dc55f5790aa69befc775464a9c2ba7be5e3
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-30 11:45:32 -0500
Commit message:
Keep Inf working for maxIter and varGenes, and test accepted input Inf meant 'run until convergence' and 'use all genes' before the new checks, so it stays valid. Pin that integer, factor and Inf arguments are still accepted, avoid expect_no_match() (testthat 3.0.3), and word the assay message for objects without assay names (spec review). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 7f0205aea2d46d448bbeb28836d9a3298d96065d
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-30 11:41:24 -0500
Commit message:
Add NEWS for the input checks and bump the version to 1.11.5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: e3f18b3201ba6ee255ca38bfaf405d350d170f49
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-30 11:41:20 -0500
Commit message:
Validate decontX inputs before running A z or batch shorter than the number of cells was padded with NA, which became its own cluster; scalar arguments were never checked, so bad values ran silently or failed deep inside R, withr or scrapper; delta accepted 0 and failed cryptically on NA; negative counts gave NaN; and a wrong assayName failed only after decontX ran. .decontX() now checks every argument first, .checkCountsDecon() rejects negative counts and uses anyNA(), and the SCE method checks assay names. The docs no longer say varGenes and legacyInit are unused when z is given, and the zero-count error no longer suggests supplying z. Results don't change for valid input. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 6ca6bb95d28581f3a2b261aa9632d33e5d984f9e
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-30 11:38:07 -0500
Commit message:
Add the spec for validating decontX inputs (#67) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 5bc7e7e28c77b49a08778dfb52af01eda415320a
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-10-30 11:42:51 -0500
Commit message:
Merge pull request #64 from ashishtele/fix/test-decon-expect-equivalent Replace deprecated expect_equivalent() in test-decon.RPackage: decontX
Commit: 23adf3bca25fc72af36a59047fa22e49766fc629
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-10-30 11:35:07 -0500
Commit message:
Merge pull request #87 from campbio/fix/regression-net Add the Phase I-a regression netPackage: decontX
Commit: 4391f72e74d39db9ce3090b983cdd7bdc09a2a61
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-30 10:22:42 -0500
Commit message:
Tighten the reference tests and compare-commits after code review Check integer parts of every reference exactly, type included, and keep the fixtures inside the tests. Share one decontPro fixture between the new test and compare-commits, report skipped paths as failures, and show waldo's differences when all.equal() sees none. Use maxIter = 2 in the input-class test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: ab4e5972a00adf1310639a9263def81877a79a2a
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-30 10:17:06 -0500
Commit message:
Fail compare-commits on path errors and align the spec A path that errored the same way on both commits read as identical, and a missing helper only warned. Report errors and require the helper. The spec now describes what was built (spec review). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: aaa8ed1d8de4e6314881a72a5ce2f5f717beea4d
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-30 10:11:45 -0500
Commit message:
Bump the version to 1.11.4 for the regression net Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: e7da77a7cffe49f78fe4fd7f7074666602abfe45
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-30 10:11:41 -0500
Commit message:
Add a script that compares results between two commits dev/compare-commits.R installs two commits into temporary libraries and compares results with identical(), covering the paths the committed references can't pin at 1e-10: no z, legacyInit and decontPro (A3-01). Local only. Part of #66 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 80cbff6c438ee2a9f9769754b8037f925225de06
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-30 10:11:41 -0500
Commit message:
Pin current behavior that the Phase I-b fixes will touch Give the batched fixtures different seeds (A3-05) and add patterns to the bare expectations (A3-06). Test the bgBatch, varGenes and dbscanEps stops, sparse and DelayedArray input against dense input (A3-19), and the decontPro ambient_counts profile with Stan mocked (A3-10). Snapshot the two misspelled messages that #74 will fix. Part of #66 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: fff440113eace672cedf17a4cba8c4d8b4df0217
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-30 10:11:41 -0500
Commit message:
Store reference outputs and compare against them in the tests Tests only compared results within a run, so nothing showed when a change altered results (A3-01). Five user-z decontX paths, two simulateContamination() calls and the marker percentages are stored in tests/testthat/fixtures/decontx-refs.rds and compared at 1e-10 (integer parts exactly). fixtures/make-refs.R regenerates them when a change alters results on purpose. Part of #66 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: b2c857f4ccdf3d9317751c4fc5972a994cd35b6b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-30 09:38:53 -0500
Commit message:
Add the spec for the Phase I-a regression net (#66) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: cf862bb5f13c5e9368a34cb6600a724b348c5806
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-10-30 10:02:48 -0500
Commit message:
Merge pull request #86 from campbio/fix/vignette-seurat-section Fix the Seurat section of the decontX vignettePackage: decontX
Commit: fe00bcef2498ea791486aa476f364c86980825db
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-29 22:28:20 -0500
Commit message:
Say when GetAssayData(slot =) became defunct in NEWS It is defunct from SeuratObject 5.3, not 5.0 (code review). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 15f64f5ac8c6e3a45d1858b9c77230e084cb86e4
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-29 22:26:25 -0500
Commit message:
Attach packages in the vignette's add-back Seurat chunk Readers who already have a Seurat object paste only this chunk, so it must attach Seurat and SingleCellExperiment itself (spec review). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 3a70e606f8f960627163a84ff386a526edb1e15c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-29 22:25:09 -0500
Commit message:
Fix the Seurat section of the decontX vignette The "Working with Seurat" chunks failed when pasted: GetAssayData(slot =) is defunct in SeuratObject 5, SingleCellExperiment() was called without the package attached, and the last chunk used seuratObj for an object created as seuratObject. Read counts with LayerData(), attach SingleCellExperiment, use seuratObject throughout, and add step comments. Stopgap until the Phase II Seurat method replaces the section. Fixes #65 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 1b642b7575d9afe6495445a32bcc025ffc9d381b
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-10-29 23:17:33 -0400
Commit message:
Merge pull request #85 from campbio/fix/deep-review-plan Add the deep review plan, Phase 0 audit, roadmap and ADR stubsPackage: decontX
Commit: d10e04a5b543d2b3f554d9a44820b028bf65a7a7
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-29 22:05:24 -0500
Commit message:
Record the opened issues and posted replies Issues #65-#84 were opened from the approved audit, and the replies on #40, #43, #44, #46, #39 and #56 were posted. The ROADMAP items carry their issue numbers, and the audit keeps the approved #44 FAQ text for the vignette rewrite (#83). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: cbf897feb3ba8a6cf3a13f74ce7f514e1d269f83
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-29 22:03:17 -0500
Commit message:
Add the ADR-0004 to ADR-0007 stubs from the deep review Proposed ADRs for the container-agnostic core, the multi-container methods, decontPro's arguments and the pkgdown site. Each records the decisions made during the Phase 0 review and lists the points still open for the maintainer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 8ce1d3a228ec360403a1e43cf34788d298e10f4f
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-27 21:24:47 -0500
Commit message:
Record the audit approval and add a pkgdown development site The maintainer approved the Phase 0 audit on 2026-10-27 with one change: the move to GitHub Pages includes a development site at /dev/, built from devel, beside the release site. The plan, ROADMAP and agent log record it; ADR-0007 settles the mode-by-branch build and how the full-data articles appear on the development site. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: c50520e778efe3163dc6e6763b5b76e5a2f185e6
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-27 08:47:08 -0400
Commit message:
Add the Phase 0 deep review audit and rewrite the roadmap The audit records every finding from the eight review areas with its severity, effort and target phase, and the maintainer's decisions. The roadmap now follows the plan's phases instead of the 2026-09 waves. The plan gains an amendments section for the changes decided during the review (direct ExperimentSubset approach, AnnData dispatch, decontPro `background` argument, HDF5 output, ADR numbering). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: ed8b1d8e2210c18f511b74435c8fdd7b040fcab7
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-27 08:05:47 -0400
Commit message:
Record the area 6 re-check and the 2026-10-27 decisions Re-check the ExperimentSubset findings against the ExperimentSubset PR stack, and record the maintainer's decisions: the direct read/write approach for subsets, no subset-detection code until ExperimentSubset #5 lands, the upstream issues filed (#57-#59), no empty-droplet demo for decontPro, and `background` as decontPro's empty-droplet argument. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: 867e2ca5d9aa873afeb6d5e759937b2f0246fef6
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-26 21:39:37 -0400
Commit message:
Add the recovered Phase 0 review drafts The per-area findings from the 2026-10 deep review were kept only in a session scratchpad that was later cleared. Rebuild them from the session transcript and record the maintainer's answers to the open area 7 and area 8 decisions, so the audit can be written from them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: c94bdb0688911a82e494509a09047e2d415480b5
Author: Ashish Tele <ashishtele@users.noreply.github.com>
Date: 2026-10-21 20:55:35 -0400
Commit message:
Replace deprecated expect_equivalent() in test-decon.RPackage: decontX
Commit: 10184cedf663ad3c7b5748c7bf6ca0b0aaa09e67
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-18 23:31:18 -0400
Commit message:
Add a benchmark script for decontX and decontPro dev/bench/bench-decontx.R times decontX() and decontPro() on simulated data (about 10k, 50k and 100k cells), profiles a mid-size run, and benchmarks 10x PBMC data. It installs the working tree into a temporary library and runs each case in its own process, because load_all() builds without optimization and times the EM step about 9 times too slow. Phase I-e optimization PRs report before/after numbers from it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: c6fca8ee02a1703b9196e5d8d99954f28fa08f68
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-18 18:24:11 -0400
Commit message:
Mark the deep review plan approved The maintainer reviewed the phased plan and agreed with the designs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: decontX
Commit: e8c0150cc844111091b5e6457ff5fd9feceef831
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-10-18 11:37:25 -0400
Commit message:
Add the phased plan for the deep review and multi-container work Design agreed in brainstorming: a Phase 0 re-review building on the 2026-09 audit, Phase I fixes/coverage/refactor/speed, Phase II methods for SCE, ExperimentSubset, Seurat and AnnData with results written back, and Phase III docs plus a release-only pkgdown site. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: CycleMix
Commit: 4e71327fe19ff9594b218690ebe8447a644e067b
Author: Tallulah Andrews <tallulandrews@gmail.com>
Date: 2026-11-13 14:01:34 -0500
Commit message:
final tidyup for BioconductorPackage: SparseArray
Commit: 7f0a66c63139d0986ab344fe6f5737dd23242935
Author: Hervé Pagès <hpages.on.github@gmail.com>
Date: 2026-11-13 10:15:42 -0800
Commit message:
SparseArray 1.13.5: Small tweak to type() setter Changing the type of an SVT_SparseArray object can replace non-one values with one values. For example this can happen when changing the type from double to integer or from complex to double. When this happens, some SVT leaves in the object might need to be turned into lacunar leaves. This change makes sure that changing the type of an SVT_SparseArray object switches the leaves that need it to lacunar representation.Package: PscanR
Commit: ba6c2a0e63a593cc64ee09d7098b42f21b0a28cc
Author: Federico Zambelli <36039850+Federico77z@users.noreply.github.com>
Date: 2026-11-13 17:01:38 +0100
Commit message:
Merge pull request #88 from Federico77z/Claude Document one-sided P.VALUE; ps_build_bg_from_table() accepts a PSMatrixList (0.99.5)Package: PscanR
Commit: 247cee1c8d0eb238e0973ecc93218ff115da3613
Author: Federico77z <federico.zambelli@gmail.com>
Date: 2026-11-13 16:34:37 +0100
Commit message:
CI: run BiocCheck without new-package now that PscanR is in Bioconductor BiocCheck(new-package = TRUE) now fails with "'PscanR' already exists in Bioconductor" (PR #88, run 43445224350). Bioconductor's own builds run BiocCheck without it.Package: PscanR
Commit: e123bf47f4e65d91d02a404365323651ed20eab6
Author: Federico77z <federico.zambelli@gmail.com>
Date: 2026-11-13 15:41:27 +0100
Commit message:
Document that P.VALUE is one-sided; ps_build_bg_from_table() accepts a PSMatrixList (0.99.5) ps_results_table(): P.VALUE is the upper-tail z-test p-value (enrichment only) and FDR is the BH adjustment over all motifs before filtering. The concepts vignette says the same. ps_build_bg_from_table(): a PSMatrixList such as the output of ps_retrieve_bg() is accepted and its background statistics are replaced.Package: scpdata
Commit: f5cf66c139ef768df2b7f749f8c6560713ac4428
Author: Laurent Gatto <lgatto@protonmail.ch>
Date: 2026-11-13 13:24:53 +0100
Commit message:
fix news, fix/update brunner2022 man pagesPackage: scpdata
Commit: a924b1f4104b320a7d33ff34cec66d29bf1883b2
Author: Laurent Gatto <laurent.gatto@uclouvain.be>
Date: 2026-11-13 12:21:54 +0000
Commit message:
Merge pull request #55 from leopoldguyot/brunner2022_v2 add brunner2022_v2 datasetPackage: scpdata
Commit: 2f0114d39b885b39feaf088ca90fd833d834ab4b
Author: leopoldguyot <leopold.guyot13@gmail.com>
Date: 2026-11-13 11:11:42 +0100
Commit message:
add brunner2022_v2 datasetPackage: scpdata
Commit: d909aef39d7567d2cee8cd896040389c35ab0e1d
Author: Laurent Gatto <lgatto@protonmail.ch>
Date: 2026-11-12 14:06:12 +0100
Commit message:
update CC BY-SA linkPackage: scpdata
Commit: f79dbd07d61d0eb3dd04bbea35b2454cfd6e0458
Author: Laurent Gatto <lgatto@protonmail.ch>
Date: 2026-11-10 20:44:23 +0100
Commit message:
Use new default main branchPackage: scpdata
Commit: 6a28f1454b2680e45d068f06c572999bc48dd067
Author: Laurent Gatto <lgatto@protonmail.ch>
Date: 2026-11-10 17:58:45 +0100
Commit message:
rephrasing license sectionPackage: scpdata
Commit: e9a2e79429894ce152b5c5060c08754374acb7f6
Author: Laurent Gatto <lgatto@protonmail.ch>
Date: 2026-11-10 17:44:04 +0100
Commit message:
update icon sizesPackage: scpdata
Commit: 87121eea4e3392db8f737304ba6aff000ce79d79
Author: Laurent Gatto <lgatto@protonmail.ch>
Date: 2026-11-10 16:38:34 +0100
Commit message:
Don't add pkgdown to build tarballPackage: scpdata
Commit: 192115664257fa94e30ce7f095e8717c6fbeaa3f
Author: Laurent Gatto <laurent.gatto@uclouvain.be>
Date: 2026-11-10 15:16:14 +0000
Commit message:
Merge pull request #53 from guideflandre/master Add Fulcher2026 dataPackage: scpdata
Commit: 59e174b955b523b1fb42d7f8a81e378b745fbb67
Author: GuillaumeDeflandre <potamoidef@gmail.com>
Date: 2026-11-10 16:07:35 +0100
Commit message:
Add: adds fulcher2026Package: scpdata
Commit: 81b0db4b6cf320164114ad638be5e4ab1e0704d1
Author: GuillaumeDeflandre <potamoidef@gmail.com>
Date: 2026-11-10 16:06:55 +0100
Commit message:
Add: fulcher2026, finishing PRPackage: scpdata
Commit: 343305cb55ae97dc43c168928cf55ee4174eaaf6
Author: Laurent Gatto <lgatto@protonmail.ch>
Date: 2026-11-10 14:00:46 +0100
Commit message:
fix syntax error in DESCRIPTIONPackage: scpdata
Commit: 9a004a6acec3937a5126552506c218a84a85574c
Author: Laurent Gatto <laurent.gatto@uclouvain.be>
Date: 2026-11-10 12:56:44 +0000
Commit message:
Merge pull request #51 from leopoldguyot/leduc2024 add leduc2024_pSCoPE and leduc2024_plexDIAPackage: scpdata
Commit: 5e6983a3fa6f6b3fb6a43e1fa14752778e90ed27
Author: Laurent Gatto <laurent.gatto@uclouvain.be>
Date: 2026-11-10 12:55:06 +0000
Commit message:
Merge branch 'master' into leduc2024Package: scpdata
Commit: dc71c9483b582ad7a2ea5f964af65ea060d084d0
Author: leopoldguyot <leopold.guyot13@gmail.com>
Date: 2026-11-10 13:45:50 +0100
Commit message:
update biocversionPackage: scpdata
Commit: 2a227a611a2f4977e37d800aa4cd49557fab0753
Author: Laurent Gatto <laurent.gatto@uclouvain.be>
Date: 2026-11-10 10:24:34 +0000
Commit message:
Merge pull request #50 from guideflandre/master Added leduc2025_pSCoPE dataPackage: scpdata
Commit: 3ce43fb03d80c7e9c540033c40ea1179ab939344
Author: GuillaumeDeflandre <potamoidef@gmail.com>
Date: 2026-11-10 10:50:18 +0100
Commit message:
Docs: changed to Bioc version 3.24Package: scpdata
Commit: 7104bd26868428457439747c04990fe3015ee523
Author: leopoldguyot <leopold.guyot13@gmail.com>
Date: 2026-11-09 15:45:05 +0100
Commit message:
Update metadata and DESC/NEWSPackage: scpdata
Commit: 84c748991fc4d9b21f05e49fc2c56fbe9e594f5c
Author: Léopold Guyot <leopold.guyot13@gmail.com>
Date: 2026-11-09 15:37:37 +0100
Commit message:
Merge branch 'UCLouvain-CBIO:master' into leduc2024Package: scpdata
Commit: e0a0f8fea6d01d8fc5e382f5b61bbaf69d1c3a19
Author: leopoldguyot <leopold.guyot13@gmail.com>
Date: 2026-11-09 15:32:07 +0100
Commit message:
add leduc2024_pSCoPE and leduc2024_plexDIAPackage: scpdata
Commit: 4f2a57ccc6f8fc2b7e3ab3ff17d51b83d6e93920
Author: GuillaumeDeflandre <potamoidef@gmail.com>
Date: 2026-11-09 14:46:06 +0100
Commit message:
Docs: bump version and add contributorPackage: scpdata
Commit: b7b0623901464b220c147f3e6d254b9edf9ae291
Author: GuillaumeDeflandre <potamoidef@gmail.com>
Date: 2026-11-09 11:59:30 +0100
Commit message:
Docs: corrected documentationPackage: scpdata
Commit: a4d4c6659d85b7f1d89a09f814737a0dbb0b8f22
Author: GuillaumeDeflandre <potamoidef@gmail.com>
Date: 2026-11-09 11:56:56 +0100
Commit message:
Docs: completed the NEWS with leduc2025_pSCoPEPackage: scpdata
Commit: de42446e1e6952aa4355cb12f86916d694205c93
Author: GuillaumeDeflandre <potamoidef@gmail.com>
Date: 2026-11-09 11:54:09 +0100
Commit message:
Add leduc2025_pSCoPE docs and metadata.csvPackage: scpdata
Commit: 84141d26ca875bbb428aa9e2cf1d032274a56b56
Author: Guillaume Deflandre <37773040+guideflandre@users.noreply.github.com>
Date: 2026-11-09 11:01:20 +0100
Commit message:
Merge branch 'UCLouvain-CBIO:master' into masterPackage: scpdata
Commit: 14b8e10ace0837fe5dfe45fd3bf391a8ab376683
Author: GuillaumeDeflandre <potamoidef@gmail.com>
Date: 2026-11-06 17:28:14 +0100
Commit message:
Add leduc2025_pSCoPE scriptPackage: QFeatures
Commit: d77e62d9f04afdb4049a195711dd764dcdf90b55
Author: Laurent Gatto <lgatto@protonmail.ch>
Date: 2026-11-13 15:12:31 +0100
Commit message:
udpate newsPackage: QFeatures
Commit: 77aab338b1e66c9d468f586ab65bf4918a7ebf3d
Author: Laurent Gatto <laurent.gatto@uclouvain.be>
Date: 2026-11-13 14:10:49 +0000
Commit message:
Merge pull request #267 from leopoldguyot/issue_266 fix issue 266Package: QFeatures
Commit: 8a0cff9836f7246f429c2dbacfe98093e235ac65
Author: leopoldguyot <leopold.guyot13@gmail.com>
Date: 2026-11-13 15:00:17 +0100
Commit message:
fix issue 266Package: DuplexDiscovereR
Commit: 010525b1ff2ca8ea55211fe987557da39011ab3f
Author: Egors01 <yegor.smb@gmail.com>
Date: 2026-11-13 14:30:03 +0100
Commit message:
fixes before releasePackage: RnBeads
Commit: 614d481a722b44476439e3029b14b433104a34f6
Author: Fabian Müller <fmueller@mpi-inf.mpg.de>
Date: 2026-11-13 13:33:23 +0100
Commit message:
Merge branch 'master' into develPackage: RnBeads
Commit: b0f889f92033539b6a217987e7fcc7aed357e1af
Author: Fabian Müller <fmueller@mpi-inf.mpg.de>
Date: 2026-11-13 13:32:37 +0100
Commit message:
Version update for Nima’s merged pull requestPackage: RnBeads
Commit: b97750e4d36fffa2272c4b342f8ec955bd14ba4a
Author: Fabian Müller <fabian.mueller@uni-saarland.de>
Date: 2026-11-13 13:07:20 +0100
Commit message:
Merge pull request #81 from Staminima/fix/residual_mat_ind Fix/residual mat ind + diffVarPackage: RnBeads
Commit: 6c8136d4d6a185b0c8582c1136475c2093888cc9
Author: staminima <this.is.nima.amini@gmail.com>
Date: 2026-10-27 15:28:50 +0100
Commit message:
fixed: diffVar removing residual matrix, also bug in NA handling in computeDiffTab.default.site functionPackage: RnBeads
Commit: 1b6c1c937a1dbda4d01954b2ba51a778be45f2e2
Author: staminima <this.is.nima.amini@gmail.com>
Date: 2026-10-27 15:12:32 +0100
Commit message:
fixed: diffVar removing residual matrix, also bug in NA handeling in computeDiffTab.default.site functionPackage: RnBeads
Commit: 58b064690614479256b1334a9719c4e1f7d7291c
Author: Nima Amini <nima@dhcp134-96-90-80.icbb.uni-saarland.de>
Date: 2026-10-26 17:36:20 +0100
Commit message:
Fix residual mean indexing when comparison excludes samplesPackage: scDblFinder
Commit: 56a93ff82e29f26f5bfe2ed29392b0925a27c793
Author: plger <pl.germain@gmail.com>
Date: 2026-11-12 22:18:51 +0100
Commit message:
simplified no-delayed fixPackage: scDblFinder
Commit: 36ca9dcb621341918c599deeb647d3d0109aab69
Author: plger <pl.germain@gmail.com>
Date: 2026-11-12 22:09:42 +0100
Commit message:
doc on speed fixPackage: scDblFinder
Commit: 48b7cad87f9b87193b1a0086c6082e593b789de0
Author: plger <pl.germain@gmail.com>
Date: 2026-11-12 22:04:56 +0100
Commit message:
changed to CsparseMatrixPackage: scDblFinder
Commit: cb749bb58a96e65a16b7cd16e120d1964e704940
Author: plger <pl.germain@gmail.com>
Date: 2026-11-12 22:02:27 +0100
Commit message:
removed unused linePackage: scDblFinder
Commit: 429f0ef8a697b6c9b3f4de185e6e08f1cc00d39b
Author: plger <pl.germain@gmail.com>
Date: 2026-11-12 22:00:56 +0100
Commit message:
fixed huge slowdown due to scrapper's forced Delayed output...Package: scDblFinder
Commit: 1a0831bd096dad402af8c3b3e4d6e472b88ffab8
Author: plger <pl.germain@gmail.com>
Date: 2026-10-18 18:05:29 +0200
Commit message:
added link to Meier preprintPackage: MsBackendMsp
Commit: 4f80df56bf09be3cdf6b279f41f2db3f69cadd9d
Author: Johannes Rainer <5506112+jorainer@users.noreply.github.com>
Date: 2026-11-13 12:31:30 +0100
Commit message:
Merge pull request #23 from rformassspectrometry/jomain refactor: use stringi for small performance improvementPackage: MsBackendMsp
Commit: e3e30c075acf2510923342a0aa842d7e24903d29
Author: Johannes Rainer <johannes.rainer@gmail.com>
Date: 2026-11-13 12:25:36 +0100
Commit message:
refactor: use stringi for small performance improvement - Switch from base R to *stringi* functions for a slightly faster performance.Package: OSCA.advanced
Commit: 8d4345b9f275fb74c8399ca2af36fffa79e18a99
Author: Alan O'Callaghan <alan.ocallaghan@outlook.com>
Date: 2026-11-13 08:50:53 +0000
Commit message:
Merge pull request #29 from OSCA-source/stripped Strip out content and redirect to scrapbook and other resources.Package: OSCA.advanced
Commit: be0ea43989c5459f4c859770a81238943c50605c
Author: LTLA <infinite.monkeys.with.keyboards@gmail.com>
Date: 2026-08-26 15:09:37 +1000
Commit message:
Remove the unnecessary GHA workflow.Package: OSCA.advanced
Commit: bd73168efd036a6443ebc5e0251fa26f29956d0d
Author: LTLA <infinite.monkeys.with.keyboards@gmail.com>
Date: 2026-08-26 15:08:06 +1000
Commit message:
Redirect to scrapbook and other resources.Package: LEA
Commit: f49aff18e319dd90270a86ef189ab961b7b7091c
Author: Olivier Francois <olivier.francois@grenoble-inp.fr>
Date: 2026-11-12 20:43:57 +0100
Commit message:
Add experimental checked fast LFMM readerPackage: BatChef
Commit: bb5af0857673fa456f7bd5f6de3631b4b3953690
Author: zuinelena3 <elena.zuin3@gmail.com>
Date: 2026-11-12 19:51:51 +0100
Commit message:
Add python methods and change AnnData objectPackage: AHMassBank
Commit: fdeb59632fe33c219f4a001f0dd1fc1aca8c761d
Author: Johannes Rainer <johannes.rainer@gmail.com>
Date: 2026-11-13 09:03:31 +0100
Commit message:
Add MassBank release 2026.11Package: LEA
Commit: 43308ef2bbf6e7b5741a5e94122491b63033b2c6
Author: Olivier Francois <olivier.francois@grenoble-inp.fr>
Date: 2026-11-13 08:53:40 +0100
Commit message:
Add Wasm32 architecture support for bituintPackage: multipointR
Commit: 56617e4796d0bf7a0e8f6a3d0dab58ee43ae3d09
Author: Martin Emons <55688661+mjemons@users.noreply.github.com>
Date: 2026-11-13 08:05:29 +0100
Commit message:
Error handling (#6) * adding image ID and error handling * fixed error handling and named list * ran styler * enable image covariatesPackage: multipointR
Commit: 542d135e72b7e02ddd9e139c8c73735396c658ba
Author: mjemons <martin.emons@gmail.com>
Date: 2026-11-02 14:21:34 +0100
Commit message:
version bumpPackage: multipointR
Commit: d59194913241d217834413713576894fb4c91845
Author: mjemons <martin.emons@gmail.com>
Date: 2026-11-02 14:19:10 +0100
Commit message:
clip window if negative x & y occurPackage: multipointR
Commit: f5ff641fc100d0cdc4472ac90688f900c17a30d7
Author: mjemons <martin.emons@gmail.com>
Date: 2026-11-02 11:49:39 +0100
Commit message:
new default window with convex hull; standardise = FALSEPackage: musicatk
Commit: deef96a42f2edea7babe0e0c58e5f21528229150
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-12 22:09:06 -0500
Commit message:
Merge pull request #253 from nqgurevich/feature/cosmic-v3.6 Update COSMIC signatures to v3.6 and add GRCh38 setsPackage: musicatk
Commit: 35ef6d486e0f8112403fe5b2d6e328947b2eaf01
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 17:03:58 -0500
Commit message:
Vignette: compare to v3.6 hg38 exome; correct ADR 0003's exome facts The vignette's variants are hg38, so its exome comparison passes genome_build = "hg38" and now uses the v3.6 GRCh38 exome catalogue. There, the smoking signature's closest match is SBS100 (0.895) ahead of SBS4 (0.848), so the vignette names signatures from their best match among the signatures with listed etiologies (maintainer's choice). The names stay UV, Smoking and APOBEC. ADR 0003 said COSMIC stopped publishing exome catalogues after v3.0 and used v3.6 exome as an example error. Corrected in place before merge, with a dated Corrections note, on the maintainer's decision. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 98abe4416bd4ec56befee7f9fad448429526b4ff
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:58:32 -0500
Commit message:
NEWS and spec for the v3.6 exome catalogues Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 00e4d9df318663ea2a4a821ed76833ca9f299bfd
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:54:01 -0500
Commit message:
compare_cosmic_v3(): use the v3.6 exome catalogues .cosmic_catalogues() gains the v3.6 SBS exome rows for GRCh37 and GRCh38, so exome comparisons default to v3.6 like genome ones, and exome data with hg38 works. cosmic_version = "3.0" still gives the v3.0 GRCh37 exome result; "3.0" with hg38 is the remaining error. The message no longer says COSMIC stopped publishing exome catalogues, which was wrong. Docs for the two new objects and _pkgdown.yml; the Shiny prediction tab offers the v3.6 and v3.0 exome sets. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 95390528d6108b2baa73e747c74f2cf30e7d70f8
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:52:08 -0500
Commit message:
Add COSMIC v3.6 SBS exome catalogues for GRCh37 and GRCh38 The exome-normalized v3.6 SBS files come from SigProfilerAssignment (commit ff61b0f), maintained by the COSMIC signature authors; its v3.6 genome SBS files are identical to the COSMIC downloads already in data-raw/cosmic_v3.6/. make_cosmic_v3_6.R records the source and writes cosmic_v3_6_sbs_sigs_grch37_exome and cosmic_v3_6_sbs_sigs_grch38_exome. The other objects rebuild byte-identically. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 20835eb4aaa13788e8ee684ae2379e2700f5dda3
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:51:46 -0500
Commit message:
Tests for the COSMIC v3.6 SBS exome catalogues COSMIC v3.6 has exome-normalized SBS catalogues for GRCh37 and GRCh38 (#253 assumed none existed after v3.0). Exome comparisons should default to v3.6 for either build, and cosmic_version = "3.0" should still give the v3.0 exome result. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 2b92e7b45a5ce79a64a661e553a216e15da2a41a
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:21:54 -0500
Commit message:
Address /code-review of #253 - genome_build and cosmic_version are now the last arguments of compare_cosmic_v3(), so existing positional calls keep working. - The result's "cosmic_catalogue" attribute names the COSMIC object used; the Shiny comparison table is labelled with it rather than with "latest". - genome_build also accepts 19 and 38 as numbers, like select_genome(). - The app's version choice reads "Latest", which won't go stale. - The spec records these and the findings left to the maintainer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: a60520860739613ab77ac99a6d06ea90fcdd490b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:15:42 -0500
Commit message:
Address spec review of #253 - Shiny: a failed comparison (for example COSMIC 3.0 with hg38) showed its error, then ran colnames<- on a missing result and ended the session; it now stops after the alert. The comparison tab has one COSMIC V3 choice, since compare_cosmic_v3() picks the catalogue, and labels the table with the version chosen instead of a v3.0 object name. Add the SBS22c label; the version input is "COSMIC version". - compare_cosmic_v3()'s plot title names the COSMIC version used. - Docs: the build spellings, numeric/"v" versions and the exome hg38 error are documented; the exome object mentions cosmic_version. - Tests: latest + GRCh38 without an explicit version, DBS builds differ, and the full list of available catalogues in the 3.0 + hg38 error. - NEWS: the argument position change and the Shiny wording. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 523491fdb1c4636fd5f5a1f7c80a1a5000086045
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:08:09 -0500
Commit message:
Vignette and NEWS for versioned COSMIC signatures The vignette's exome comparison text says it uses the v3.0 exome catalogue and prints a message, that genome comparisons default to v3.6 with genome_build, and that cosmic_version = "3.0" reproduces earlier results. NEWS 2.7.16 describes the ADR 0003 design in place of #253's in-place update. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 9c00d6a104b28f34cf7c4499ab08af9b78a93d29
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:08:09 -0500
Commit message:
Shiny: wrap the COSMIC setup lines lintr flagged Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: b3521fb8a32933af5f1f14b5fa79468c9ab2b72e
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:06:38 -0500
Commit message:
Shiny: offer COSMIC v3.6 and v3.0 sets and a COSMIC version choice The prediction tab lists the v3.6 SBS/DBS sets for each build, v3.6 Indel, and the v3.0 sets, labelled with version and build, and defaults to v3.6 SBS for the import genome's build. The comparison tab adds a COSMIC V3 version input (latest or 3.0) passed to compare_cosmic_v3(). Aetiology labels and #253's fallback to the bare name apply to every set. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 788fb5032fc63679aeb8d6584ce8890bbffb431b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:05:12 -0500
Commit message:
compare_cosmic_v3(cosmic_version =): pick a COSMIC catalogue by version Implements ADR 0003 in compare_cosmic_v3(). A table of the shipped catalogues (version, modality, sample type, build, object) replaces the if/else chain. cosmic_version = "latest" uses the newest version with a catalogue for the request: v3.6 for genome, v3.0 for exome. "3.0" reproduces earlier results. A combination musicatk doesn't ship is an error listing what it does ship; there is no fallback. Each call reports the catalogue it used with message(), which replaces #253's exome warning and Indel build message. Exome now also checks genome_build. Docs: the v3.0 objects say they are v3.0 and frozen; the five v3.6 objects are documented and listed in _pkgdown.yml. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 60cbc74643c7497232a36516f175ba036061552b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:02:43 -0500
Commit message:
Restore the v3.0 COSMIC objects; ship v3.6 under versioned names Per ADR 0003, cosmic_v3_sbs_sigs, cosmic_v3_dbs_sigs and cosmic_v3_indel_sigs go back to COSMIC v3.0, byte for byte as on devel. make_cosmic_v3_6.R now writes cosmic_v3_6_{sbs,dbs}_sigs_{grch37,grch38} and cosmic_v3_6_indel_sigs, reading motif order from the v3.0 objects without overwriting them. The unreleased cosmic_v3_{sbs,dbs}_sigs_grch38 are replaced by the versioned names. The v3.6 signature matrices are identical to the ones #253 shipped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: a27b8525bddeddff1f2dc0d3c070e73086d07716
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:02:04 -0500
Commit message:
Tests for versioned COSMIC objects and compare_cosmic_v3(cosmic_version =) Reworks #253's tests for ADR 0003: the v3.0 objects stay v3.0, the v3.6 objects are new, and compare_cosmic_v3() picks a catalogue by version, sample type, modality and build, reporting which one it used. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 2ad1dd89bd7b3f8327c0dfdc067d3eb154572d2e
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:01:03 -0500
Commit message:
Accept ADR 0003: versioned COSMIC signature objects The maintainer accepted the design on 2026-11-12 (#253). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 3e2ffc426827939da0a640a5a474b1056cda3efc
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:00:51 -0500
Commit message:
Spec for finishing #253: versioned COSMIC objects (ADR 0003) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: c52575e34845fdba348a2f634c6962c3ef8f3d37
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-12 16:00:51 -0500
Commit message:
Merge devel into feature/cosmic-v3.6 Brings in PRs E (#252) and H (#254). Conflicts were only the version and NEWS: this branch's COSMIC section moves above devel's 2.7.15 and 2.7.14 sections as 2.7.16. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 9967143da4e38d014111dba704756dffa3107d9d
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-12 15:42:07 -0500
Commit message:
Merge pull request #254 from campbio/fix/plotting Plotting fixes (group H of #208)Package: musicatk
Commit: 4a351c647a44949cd326d78f26d9e5b73391272d
Author: Natasha Gurevich <nqg@bu.edu>
Date: 2026-11-12 11:16:27 -0500
Commit message:
Propose ADR 0003: ship each COSMIC version as its own data objects Updating cosmic_v3_* in place to v3.6 silently changes results for existing scripts. The maintainer suggested keeping each COSMIC version instead. This records the proposed design for review on #253: freeze the v3.0 objects, add v3.6 under versioned names with the build explicit, and add a cosmic_version argument that defaults to the latest version with the requested catalogue. Status: proposed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 70079f18c74301c672e628faae31a196b85c0327
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 20:40:04 -0500
Commit message:
Indent the threshold check as lintr expects Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 2a6e7cd5f2e914689343a34c0e4ee0273aacbe59
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 20:39:27 -0500
Commit message:
Address /code-review of PR H - Signature header boxes follow runs of equal colour values, so a color_variable whose values recur (e.g. "context") no longer stacks overlapping boxes; the test now checks the boxes don't overlap. - plot_heatmap(subset_tumor =) stops clearly when no matching sample is in the model, instead of failing inside ComplexHeatmap. - plot_cluster(group = "signature") uses .proportional_exposures(). - plot_exposures(threshold = NA) gives the threshold error. - Label height uses is_indel; .samples_with_annotation() reads each column once. - The #186 test restores an existing global annotation_text. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: de28d9848d6323e184a187a8b92e10f1d00f1ec9
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 20:32:46 -0500
Commit message:
Address spec review of PR H - k_select() divides by sample totals with .proportional_exposures() too; with an all-zero sample it failed with "NA/NaN/Inf in foreign function call" (#183). Regression test added; the spec missed it. - NEWS: an unnamed color_mapping used to error, not work; the zero-exposure error applies with proportional = TRUE. - Spec: correct the claim about unnamed color_mapping, list k_select(). - Shorten a test name to 80 columns. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: abf594b5c533489fe71b17a9bae04dc1ed2d0ecd
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 20:31:10 -0500
Commit message:
Article: name SBS4/SBS7 and show subset_tumor in the heatmap section Checked against the fix/plotting branch on the article's TCGA data (1,614 samples): with per-signature z-scores, SBS4 and SBS7 are both above average in 2 samples, SBS4 is high in lung and SBS7 in skin, and SBS6/15/26 are high (z > 2) in 27, 5 and 14 samples, so the text holds. subset_tumor now works (#175), so add an example. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 7ef74e7081e2189d6251b411440b9a81b48dc1f9
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 20:14:08 -0500
Commit message:
NEWS and version 2.7.15 for PR H Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: bfa1ec7c45b17fb2ec55c8abf1a1096ec7a45c44
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 20:12:28 -0500
Commit message:
Fix plotting bugs (#175-#184, #186, #95) - plot_heatmap(subset_tumor =) matches values exactly in any sample annotation column, takes several values, names missing ones, and shows 'annotation' or the matching columns; before, it always failed (#175). - plot_heatmap(scale = TRUE) z-scores each signature across samples, not each sample; constant signatures get 0 (#176). - plot_signatures() fills the motif header boxes by name from color_mapping, with white text on dark fills; an unnamed mapping is named in motif order, a mapping missing values stops (#177). - .pivot_signatures() uses a color_variable column name and matches a vector to motifs by name instead of recycling it (#178). - plot_exposures() box/violin with group_by = "none" plots signatures instead of falling back to a bar plot (#179); threshold sets values below it to 0 instead of dropping rows (#184). - plot_umap() colour limits include the largest exposure (#180), the centroid layer maps y to UMAP_2 (#181), color_by = "cluster" needs clust rather than annotation (#182), and it says to run create_umap() first when there is no UMAP (#183). - .proportional_exposures() names samples with a total exposure of 0 in create_umap(), plot_umap(), cluster_exposure(), plot_heatmap() and plot_exposures(), instead of failing later on 0/0 (#183). - plot_signatures() tests !is.null(annotation), not exists("annotation_text"), which found global variables (#186). - plot_cluster() uses aes() with .data instead of aes_string() (#95). The custom color_variable test expected 16 header boxes; SBS96 has 32 contexts, so it now counts them from the table. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: cf30c57d305c1b21976605cd895a018476fef17b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 20:12:28 -0500
Commit message:
Put create_sbs192_table() docs back on create_sbs192_table() PR E inserted .sbs192_table_name() between the roxygen block and create_sbs192_table(), so make docs moved the block to the helper and deleted man/create_sbs192_table.Rd. Move the helper above the block. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 065ea4e8c7f98afba8a234304590f531d90e2e9f
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 20:07:58 -0500
Commit message:
Regression tests for PR H of #208 (#175-#184, #186, #95) Each new test fails on devel: plot_heatmap subset_tumor and scale, plot_signatures header colours and global annotation_text, .pivot_signatures color_variable, plot_exposures box/violin and threshold, plot_umap limits, centroid, cluster colouring and messages, zero-exposure samples, and ggplot2 deprecations. is.ggplot() in the tests becomes expect_s3_class() (#95). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: d7eccf56277c542a7a237ac845e0d7f8cf7dbbed
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 20:04:06 -0500
Commit message:
Spec for PR H of #208: plotting fixes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: a2aa0738356bbd3c3b077e44551ccc5787dd6ebe
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-11 19:26:38 -0500
Commit message:
Merge pull request #252 from campbio/fix/count-table-robustness Fix count-table crashes and unclear errors (PR E of #208)Package: musicatk
Commit: 137894bc898628844c5f50c7ad37ea2f5abb9912
Author: Natasha Gurevich <nqg@bu.edu>
Date: 2026-11-11 13:41:25 -0500
Commit message:
Version 2.7.14 and NEWS for COSMIC v3.6 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: a2f82c82f7c5a0c1e4e30fc97f6e38d2cbe93e1e
Author: Natasha Gurevich <nqg@bu.edu>
Date: 2026-11-11 13:41:25 -0500
Commit message:
Shiny: genome build choice for COSMIC and GRCh38 signature sets The comparison tab gets a genome build input, set from the genome the variants were imported with when that is hg19 or hg38, and passes it to compare_cosmic_v3(). The prediction tab offers the GRCh38 SBS and DBS sets. COSMIC v3.4 split SBS22 and SBS40 into a/b/c variants, so add labels for those to keep their aetiology in the app. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 7d3b66d5077aa8647c7992078317269f4c2c45e5
Author: Natasha Gurevich <nqg@bu.edu>
Date: 2026-11-11 13:41:25 -0500
Commit message:
Explain the exome COSMIC v3.0 warning in the vignette The vignette compares exome samples to COSMIC, which now warns that the exome catalogue is v3.0. Say why, and when to use sample_type = "genome" with genome_build instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 58f925cf07998a2a574e6bbf1b3b940de622bd75
Author: Natasha Gurevich <nqg@bu.edu>
Date: 2026-11-11 13:41:25 -0500
Commit message:
Test compare_cosmic_v3() and check genome_build only for genome genome_build was validated before the sample_type branch, so an exome comparison stopped on a build it ignores, and NULL gave "argument is of length zero". Check it only on the genome path, with one message for any invalid value. The example passes genome_build = "hg38" because the example data are hg38. New tests cover catalogue selection by build for SBS and DBS, the single Indel catalogue, the exome warning, invalid builds, and the shape and ids of the COSMIC objects. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 39054e8c45201721881e73c50b3d4f3d8b94a304
Author: Natasha Gurevich <nqg@bu.edu>
Date: 2026-11-11 13:41:25 -0500
Commit message:
Rebuild COSMIC v3.6 objects with empty exposures The v3.6 objects had a 1x1 NA exposure matrix, where the objects they replace had an empty 0x0 one. The script now builds from the source tree (pkgload::load_all) and reads its motif-order templates from data/, not from an installed musicatk. The Indel model id no longer names GRCh37, since COSMIC publishes one Indel catalogue for both builds. Signature matrices are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: f3b4269f45e8a0d86e28598e01122c308a98b4ae
Author: Natasha Gurevich <nqg@bu.edu>
Date: 2026-11-11 13:41:14 -0500
Commit message:
Update COSMIC signatures from v3.0 to v3.6 COSMIC v3.6 (May 2026) adds signatures (SBS 67 -> 101, DBS 11 -> 22, Indel 17 -> 25) and revises existing ones. Add GRCh38-normalized SBS and DBS objects and a genome_build argument to compare_cosmic_v3() so the catalogue can match the build the variants were called on. The exome catalogue stays v3.0, since COSMIC stopped publishing one, and compare_cosmic_v3() warns about that. The Shiny app falls back to the bare signature name for signatures it has no aetiology label for, instead of showing "NULL". data-raw/make_cosmic_v3_6.R rebuilds the objects. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 29218c04792c40617cdd4e22fc0d2e80aaa8f4d3
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 07:26:26 -0500
Commit message:
Address /code-review of PR E - NEWS: a second SBS192 build already stopped before ("Table names must be unique"); only the message and the overwrite warning change. - One .sbs192_table_name() helper checks strand_type and names the table, used by build_standard_table() and create_sbs192_table(). - Errors name their argument ('strand_type', 'to_comb'). - Drop the now-unneeded empty-vector guard around rc() in DBS78, and a local variable that shadowed base::missing(). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 6385b44505e6ec3bdf4a02acf14d57455e763b52
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 07:23:54 -0500
Commit message:
Address spec review of PR E - Tests: hard-coded rc() results, including lowercase and IUPAC codes; check that the combine_count_tables() error lists the current tables; load data into the test environment. - NEWS: say that rebuilding SBS192 without overwrite used to replace the table silently and now stops. - Docs: fix "compliment"; clearer @return for build_standard_table(). - combine_count_tables() says "none" when there are no tables. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: b713cf6a50a6855545f9453aa9c6ecf989f7971d
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 07:20:59 -0500
Commit message:
NEWS and version 2.7.14 for PR E Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 32d83ea9c758cafef6959ddbe5c002b321240628
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 07:20:52 -0500
Commit message:
Fix count-table crashes and unclear errors (#132, #136, #137, #52, #17) - rc() is vectorised with Biostrings::DNAStringSet, so an empty vector gives an empty vector. DBS78 crashed when no ref needed reverse-complementing (#132, #52). This also makes rc() much faster (part of #138). - build_standard_table(): SBS192 stops clearly without strand_type (#136); the overwrite check uses the table's real name, SBS192_Trans or SBS192_Rep; every build message names the table it creates, so an alias like "SNV96" says the table is 'SBS96' (#17). - combine_count_tables() names the missing tables; it called setdiff() with one argument (#137). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 33e81a4909e1e7e8ae4aa7fb3f6642598f6d4e57
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-11 07:20:22 -0500
Commit message:
Regression tests for PR E of #208 (#132, #136, #137, #52, #17) Each fails on devel, on its assertion or on the rc(character(0)) crash that #132 and #52 report. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 80fd6a2e235ada5e525d20a5c3303fd4750dc275
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-10 21:36:45 -0500
Commit message:
Merge pull request #247 from campbio/fix/diff-analysis-clustering Fix differential analysis and clustering statistics (PR G of #208)Package: musicatk
Commit: 131ae80d50d0a1bb206eca5248174521a4710f84
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 20:44:59 -0500
Commit message:
Build condition messages before stop()/message() (BiocCheck NOTE) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 7440593daa40b3e2dbe3c08a0ad724437e566f95
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 20:32:25 -0500
Commit message:
Address /code-review of PR G - k-means: seed = 1 via withr::with_seed() and nstart = 10, so the default clustering repeats and leaves the caller's RNG alone, as the fuzzy clustering it replaces did (maintainer's decision). k_select() takes seed = 1 and runs k-means with 10 starts. - fanny: iter.max defaults to NULL, meaning 500 for fanny, which didn't converge in 10; kmeans and hkmeans keep 10. - cosine distance: clamp rounding below zero. - glm.nb tables carry a "reference" attribute, so the plot labels bars "vs "; NA FDRs are left out with a message. - k_select() validates n. - NEWS: say two-comparison wilcox FDRs change. - Log the k_select()/cluster_exposure() distance mismatch. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> </pre> </div> Package: musicatk
Commit: ab9022c322ed5cdba9cb4f423f4884e0720606fe
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:56:12 -0500
Commit message:
Address spec review of PR G - glm.nb stops when a group is named Intercept or ANOVA, which would duplicate column names and plot the wrong ANOVA FDR. - Docs: list the distances hkmeans and clara accept, say k-means uses one random start, and say k_select() needs three samples. - NEWS and spec: hclust's dis.method acted indirectly before (#173). - Test uses the exposures<- accessor instead of slots. - Log three pre-existing findings in dev/agent-log.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: bc13430e15e6712986f20bc64fb2ebd78e989c3b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:51:45 -0500
Commit message:
Lint: restructure the threshold check Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: c3fee5b1c5b7bd2b01d3bcd5b559bda585bb2bc5
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:40:49 -0500
Commit message:
NEWS and version 2.7.13 for PR G; note the Shiny k-means change in the spec Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: f8be04a29968e8ace66b32293ccf439667dcb72c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:40:33 -0500
Commit message:
Shiny: offer only Euclidean distance for k-means clustering cluster_exposure(method = "kmeans") now stops for other distances. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 7ab7735ffde4b5fccf0738ba2e982573c98ca2ca
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:40:33 -0500
Commit message:
Fix clustering: real k-means, fanny, hclust and cosine distances - method = "kmeans" runs stats::kmeans() and needs euclidean; the fuzzy clustering it ran before is now method = "fanny" (#34). - hclust passes the dissimilarity matrix with isdiss = TRUE, so dis.method is used (#173). - dis.method = "cosine" is 1 - cosine similarity; philentropy returns the similarity. - k_select() lowers n to the number of samples minus one, with a message, and needs at least three samples (#185). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: d67481d74eb41ef5af0f7e985b0ea2e24ec88b55
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:40:33 -0500
Commit message:
Fix glm.nb and wilcox differential analysis; redesign its plot - glm.nb: read coefficients by name, label the reference group's columns Intercept(...), and BH-adjust each non-reference group's p-values across signatures. Each (fdr) column held the next group's adjusted p before (#169). - wilcox: any number of comparisons, numeric p-value and fdr columns, BH within each comparison. Pr(>|z|) and (fdr) become p-value and fdr, matching kruskal (#170, #171). - Groups follow the annotation's factor levels. - plot_differential_analysis() plots -log10(FDR) for any method, read from the table's columns, with a threshold line. analysis_type and samp_num are ignored with a warning (#174). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 60cbfde60bcc385b3daf769648ef0c6b12e1a33d
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:38:07 -0500
Commit message:
Regression tests for PR G of #208 (#169, #170, #171, #173, #174, #185, #34) Each fails on devel: on its assertion, on the crash its issue reports (#170, #185), or on the option or argument default the fix adds (fanny, plot_differential_analysis without analysis_type). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: d72527c6463b8e1020cde44761ced4bf1f78a4a4
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 19:35:22 -0500
Commit message:
Spec: add the cosine-distance fix found while testing #173 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 9ad4ed2292076871eae282b61797e950c5a94644
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-10 17:44:46 -0500
Commit message:
Spec for PR G of #208: differential analysis and clustering Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: e07c07a7a9b550b22044f55cd60aabc88ce45415
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-10 06:50:53 -0500
Commit message:
Merge pull request #246 from campbio/fix/discovery-prediction Discovery and prediction correctness (PR F of #208)Package: musicatk
Commit: bee449dedf100525e8240bd90f09ddfe5ea8fab0
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 20:35:06 -0500
Commit message:
Drop suppressMessages() from the new code (BiocCheck NOTE) compare_k_vals() leaves samples with no mutations out once, up front, with one message, so the bootstrap fits don't repeat it; the first, unstored pass of auto_subset_sigs() asks for no message instead of suppressing it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 44a56ccc1f95101954471005b47f7b95f4c174bf
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 19:49:58 -0500
Commit message:
Leave zero-count samples out of exposures; address /code-review (#143) Keeping samples with no mutations as all-zero exposure columns made create_umap(), cluster_exposure() and proportional plots fail, since they divide each sample by its total (0/0). The maintainer chose to leave such samples out of the fit and the exposures, as before, but now with a message naming them. generate_result_grid() and compare_k_vals() match samples by name, so they no longer fail on them. From /code-review of the branch: - Per-group fits in generate_result_grid() and auto_predict_grid() use an object without stored results, so earlier results aren't subset and copied for every group and k. - The annotation-to-groups code shared by both is one helper, .annotation_groups(). - An error while fitting one group of the grid names the group. - combine_predict_grid() puts the combined signatures in the motif order of the models it combines, which predict_exposure() now puts in the count table's order (#142). - discover_signatures() drops an identity match() before scaling. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 9ddfb59a107168a0edef1cb89e0c89fedce2ff6b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 19:23:41 -0500
Commit message:
Address spec review of PR F - Stop with a clear error when the annotation column given to generate_result_grid() or auto_predict_grid() has no values; the grid stored nothing and auto_predict_grid() failed in combine_predict_grid(). - Give duplicated signature motif names their own error; the mismatch message listed no motifs for them. - compare_k_vals() gives the "no mutations" message once, for the original table, not again for every bootstrap fit. - NEWS: the new seed argument and seeded-by-default LDA prediction, and signatures stored in the table's motif order. - Vignette: only predict_exposure() is documented as leaving the caller's RNG state unchanged; discover_signatures() relies on topicmodels and NMF for that. - Tests: #149 checks that no fit starts before the error; #143 checks the grid's zero column; seeds are set with withr::local_seed(); the RNG-state check fails cleanly on devel; compare_k_vals() uses k = 2..3 so the plot doesn't warn. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 0a25a443d17c83b77574ce7859b5199948c16637
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 18:48:15 -0500
Commit message:
NEWS, version 2.7.12 and vignette for PR F The vignette's note on reproducibility says discover_signatures() and predict_exposure() take a seed, instead of telling users to wrap calls in withr::with_seed(). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 808b62416326561b3c8905384dd2b3cbdd77b8c6
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 18:48:15 -0500
Commit message:
Fix discovery and prediction correctness bugs (PR F of #208) - generate_result_grid() uses its annotation argument instead of a hard-coded Tumor_Type column, and names per-group models_ , so groups no longer overwrite each other (#140). Each model id is chosen before fitting and the model fetched by it, so a re-run stores the new fit as lda2.1 instead of silently keeping the old lda2 (#141). auto_predict_grid() does the same for its per-group models. - predict_exposure() matches signatures to the count table by motif name, and stops when the motifs differ; decompTumor2Sig is limited to SBS96 tables, whose motif names it can convert (#142). - Samples with no mutations are left out of the fit and get zero exposures, with a message, instead of being dropped silently; discovery needs two samples with mutations (#143). - auto_subset_sigs() computes its first, all-signature pass without storing a model, so any result_name works (#145); annotation values are used as character (#146); no signature passing the thresholds gives a clear error (#147). - One .unique_model_id() helper replaces three copies of the model-id de-duplication, which broke after ten repeats (#148). - predict_exposure() and auto_predict_grid() take seed = 1, applied with withr::with_seed() (ADR 0002); one-sample LDA prediction keeps the prior theta instead of fitting a Dirichlet to one sample, which warned 100 times; the grid's reconstruction error is documented (#152). Fixes #140 Fixes #141 Fixes #142 Fixes #143 Fixes #145 Fixes #146 Fixes #147 Fixes #148 Fixes #152 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> </pre> </div> Package: musicatk
Commit: 5a28506e5fae4de9537ecd10978249f481509ca8
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 18:48:04 -0500
Commit message:
ADR 0002: import withr to seed exposure prediction predict_exposure() gets a seed argument (#152). BiocCheck reports any set.seed() call in package code as a WARNING, so the seed is set with withr::with_seed(), which also restores the caller's RNG state. withr moves from Suggests to Imports; ggplot2 and testthat already depend on it. Accepted by the maintainer on 2026-11-09. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 0eb6ce8748e21507778ae455b36bd13862f5ee5a
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 18:47:58 -0500
Commit message:
compare_k_vals: check error_type first; handle zero-count samples (#149, #143) An invalid error_type only gave a message deep inside the error calculation, after every fit had run, and compare_k_vals() returned NA. It is now checked before any fit and stops with an error. Samples with no mutations made the bootstrap call rmultinom() with NaN probabilities ("NA in probability vector"): `prob[prob == NaN]` never matches. They now stay at zero in each bootstrap table, and the proportional reconstruction error counts their proportions as 0 rather than NaN. The rest of #143 is in the discovery and prediction commit. Fixes #149 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 026800f45e326dc11443336a3cb672b49f9e9bde
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 18:47:52 -0500
Commit message:
Keep .cosine() a matrix for one signature (#162) .cosine() dropped its result to a vector when either input had one column, so compare_cosmic_v2() and the other comparison functions failed for a one-signature model. Fixes #162 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 1781d9d552899c17793a07df60a9abbd356ccb8b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 17:01:12 -0500
Commit message:
Spec: discovery and prediction correctness (PR F of #208) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 80350b9ed785c61d7220e1935db09ecd81ad84e5
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-09 15:32:29 -0500
Commit message:
Merge pull request #245 from campbio/fix/example-data Rebuild the example data from GDC hg38 samples with strong signatures (#217, #238)Package: musicatk
Commit: 38032e2f6ee0b0c29491eecbcfb757daf5d8e403
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 07:55:40 -0500
Commit message:
Use the new example files in examples, tests and the vignette The vignette names each signature after the etiology of its closest COSMIC V3 match instead of by position, and reports the COSMIC matches with inline R. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 88c95f55c5fde1ea746d78eae9b68091dfb468bd
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 07:55:40 -0500
Commit message:
Rebuild the example objects from the new example files (#217) res and res_annot now hold clean APOBEC, smoking and UV signatures; the build checks each against COSMIC v3 exome (APOBEC against the best SBS2/SBS13 mix) and that each sample's largest exposure is its group's. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 35951c25cb342c20d25ccaebf7473dd12469928e
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-09 07:55:40 -0500
Commit message:
Replace the example files with 12 TCGA samples with strong signatures (#217) Four lung tumors each with a strong smoking (SBS4) or APOBEC (SBS2/SBS13) signature and four melanomas with a strong UV (SBS7) signature, from GDC open-access hg38 MAFs. choose_example_samples.R picks them; example_files.R writes one lung VCF, a seven-sample lung MAF, four melanoma VCFs and the annotations, with hg38-anchored indels. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: b8454d62db084fbbdff18c2b1d005e0a4788edcd
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 21:34:57 -0500
Commit message:
Spec: new example samples with strong smoking, APOBEC and UV signatures Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 71b96a5d68be7bd9b53fc537ea5055b6a7f22fa5
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 19:49:23 -0500
Commit message:
Test the DBS78 zero column for samples without DBS The old dbs_musica had samples without DBS, which covered this branch of create_dbs78_table(); the rebuilt one doesn't. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 59e5fd660859c642f3dffab35c0e1db53621f540
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 19:33:37 -0500
Commit message:
Address reviews of the example data rebuild (#217) - dbs_musica leaves out whole-genome-amplified DNA: TCGA-17-Z031-01W is replaced by the next aliquot by DBS, TCGA-55-7994 (176 DBS, 48 KB). data-raw/choose_dbs_aliquots.R reproduces the choice from the GDC API. - The res pattern check is per sample: the UV signature must carry at least 80% of each melanoma with 50 or more SBS and at most 20% of each lung tumor. - The name_signatures() example names the res signatures in their order, and the vignette drops a step that subset SBS96 to the DBS samples of the old dbs_musica, which does nothing now. - Dataset docs use Rd links and write each source once (@inherit). - The GDC script sets a seed; repair_sample_alignment.R notes that its objects are now rebuilt from their sources. - The spec records the size decision and the actual pattern check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 52586663afd3ac237fe6c31df3cc42e986f02988
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 19:04:14 -0500
Commit message:
Wrap long dataset doc lines and simplify the tiny subset (lint) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: ec499b14dd909d27f08b81344b94d06b96e92f49
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 19:03:28 -0500
Commit message:
NEWS and version 2.7.11 for the example data rebuild Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 2bfe803207432fb1848378b24a1f94cde60f87c0
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 19:03:28 -0500
Commit message:
Document the sources of the example datasets (#217) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 19212321457e33f409837ff14a760b55a19c04e3
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 19:03:28 -0500
Commit message:
Rebuild dbs_musica and indel_musica from GDC hg38 MAFs (#217) dbs_musica mixed hg38 SBS with hg19 DBS from other samples, and indel_musica's indels couldn't be traced to a source. Both are now built by data-raw/gdc_example_musica.R from GDC open-access ensemble MAFs downloaded by file ID: all variants of the five TCGA-LUAD tumors with the most DBS, and the indels of the same five TCGA-UCEC tumors. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 7c00d39b023d26ff5a01a3f419fad01167f6b88a
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 19:03:28 -0500
Commit message:
Rebuild the example musica and res objects from inst/extdata (#217) data-raw/example_musica.R builds musica, musica_annot, musica_sbs96, musica_sbs96_tiny, res and res_annot from the corrected example files with the current defaults: indels are standardized and adjacent SBS merged into DBS. res and res_annot are a new 3-signature NMF fit; the script orders the signatures as before (SBS13-like lung signature, other lung signature, UV signature) and stops unless the UV signature separates the melanomas from the lung tumors. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 803553fb078bc6caf908869c4f7027021396a152
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 18:52:56 -0500
Commit message:
Correct six example VCF insertions and the SKCM sample labels (#238) The insertions were converted from GDC MAFs with maf2vcf, which took their anchor base from a FASTA that didn't match hg38. Two of the six are in today's GDC ensemble MAF at the same position with the same inserted base, so REF is set to the hg38 base at POS and ALT to that base plus the inserted sequence; positions and inserted sequences are kept. The three SKCM samples were labelled "Breast" in sample_annotations.txt; they are melanomas, now "Skin". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: e29a7a59b2a8795dcd217daceb0fb6cbfb7f89b4
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 18:48:43 -0500
Commit message:
Add spec for rebuilding the example data from GDC hg38 samples Covers #238 and #217. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 58d68fec6aa7d427c45243d12176cff19873dfa8
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-08 18:42:16 -0500
Commit message:
Merge pull request #243 from campbio/fix/import-ind83-followups Variant import and IND83 follow-ups (#214, #241, #215, #213, #233, #234, #236)Package: musicatk
Commit: ddaec90528fa719593d5cc5f3de66724838c3e7c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 17:30:31 -0500
Commit message:
Address reviews of the import and IND83 follow-ups - IND83 looks up chromosome lengths by name, so a factor 'chr' (as in data(musica) or objects saved earlier) no longer clamps flanks to another chromosome's length; indels on chromosomes missing from 'g' stop with an error naming them (#233). - MAFs are read once with fread() using read.maf()'s own arguments and the table is passed to read.maf(). The retry only follows the "No non-synonymous" stop and uses the classes found in the file, so non-standard class names work; other errors are raised unchanged (#241). - VCF alleles are uppercased before trimming; readVcf() leaves them as written when a site has a symbolic allele (#213). - .trim_alleles() compares positions across all rows at once. - The unmatched-motif warning takes a per-table hint; IND83 points at N bases in the indel (#236). - The #233 test pins the expected bins and covers a factor 'chr'. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 5ebf4f5ffb8f260609ec226357b2ebeff267105e
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 17:20:04 -0500
Commit message:
Avoid a multi-line while condition in .trim_alleles() (lint) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 4bc875fe1ba876043f4a604e315b5eced93450af
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 17:17:53 -0500
Commit message:
NEWS and version 2.7.10 for the import and IND83 follow-ups Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: e0706dffce5317a0ac65239dbc474f32f4a97c92
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 17:17:53 -0500
Commit message:
Keep FILTER ".", drop non-sequence ALT and trim VCF alleles - filter = TRUE keeps FILTER "." (no filters applied) as well as PASS; when nothing passes the warning lists the FILTER values (#214). - ALT "*" and symbolic alleles such as "" are left out with a message; "*" was typed as an SBS (#215). - Alleles are trimmed to their minimal form after multiallelic sites are split, so ATG>AT (from ALT A,AT) is the deletion TG>T rather than a removed compound deletion, and AT>GT (from ALT A,GT) is the SBS A>G rather than a DBS (#213). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> </pre> </div>Package: musicatk
Commit: ad31c79bd40049898f8b1d8d788a0ea2dd6781f0
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 17:17:53 -0500
Commit message:
Read MAFs with no records or only silent records (#241) maftools::read.maf() stops with "No non-synonymous mutations found" on such files, and in extract_variants() one of them stopped the whole call. A MAF without records now warns and returns NULL, as a VCF does. Otherwise read.maf() runs as before, and only if it fails is it called again with every MAF Variant_Classification as non-synonymous, so normal files are read exactly as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: fa162e3866c9b3f7f77e7e0020d3896f6194fb2c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 17:17:53 -0500
Commit message:
Fix IND83 at chromosome ends, on unstandardized indels and unknown motifs - Flanks are clamped to the chromosome, so indels near either end are counted with the flank that exists instead of failing the whole table (#233). - IND83 stops with an error naming standardize_indels = TRUE when an insertion's ref or a deletion's alt isn't "-", since the classifier would count the VCF anchor base as part of the indel (#234). - Labels outside the 83 motifs are reported with .warn_unmatched_motifs(), as SBS96 does, instead of being dropped silently (#236). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 30a1b215cdd9f0ee540b0ce34006fac764b654cb
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 17:12:44 -0500
Commit message:
Add spec for the variant import and IND83 follow-ups Covers #214, #241, #215, #213, #233, #234 and #236. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 822210291c964389dc590a081e69e7622d6f944e
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-08 15:33:42 -0500
Commit message:
Merge pull request #240 from campbio/fix/sigprofiler-validation Validate SBS96/DBS78/IND83 counts against SigProfilerMatrixGenerator (#218)Package: musicatk
Commit: c5694e376677000eab5e773e3980fd2e5cd85b60
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 14:52:39 -0500
Commit message:
Address code review of the large-scale SigProfiler scripts (#218) compare_pcawg.R redacts the actual sample ids and paths from its messages (not a UUID pattern), drops any message that could hold a position, stops on duplicate sample ids and checks that its working copies are deleted. Both comparison scripts start from an empty working folder, since SPMG reuses an existing input copy. The indel join pairs repeated records in order and counts them, and the shared counts replace two copies. compare_tcga.R combines every finished project, not only those just run, and writes its VCFs with one split(). A missing SPMG matrix is an error except DBS78. Rerunning everything reproduces the README numbers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 997eaec1d4629d36d9945015e3de6fd067d7613b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 12:57:35 -0500
Commit message:
Validate against SigProfiler on all TCGA projects and PCAWG indels (#218) Add download_tcga.R (GDC MAFs for all 33 TCGA projects via TCGAbiolinks), compare_tcga.R and compare_pcawg.R, with shared helpers in helpers.R, and a --dir mode in run_spmg.py. compare_pcawg.R writes only aggregate counts, because PCAWG data is controlled access. On 10,549 TCGA samples and 801 PCAWG samples, every indel musicatk counts gets the same IND83 bin from SPMG, and SBS96 matches exactly once musicatk counts every base. The remaining differences are conventions (DBS bases in SBS96, SPMG's 5 bp MNS window, complex records) and an SPMG error that shifts GDC MAF insertions, reported as SigProfilerMatrixGenerator#264. Indel joins now include the indel sequence, so indels at one position don't pair up crosswise. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 1c5341cb20bf3a6c76cb2864c8771ab9931c6c63
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 11:18:23 -0500
Commit message:
Link the example-data follow-up (#238) in the SigProfiler report Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 25a7ac8804cbd6f05c43335097a3104449cd9721
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 11:11:56 -0500
Commit message:
Address reviews of the SigProfiler validation (#218) Correct the README: the MAF is not filtered by either tool, the complex indel is removed as a compound insertion (#7, not #109), the 3-SBS MNV behaviour is documented rather than an open issue, and the evidence about the bad VCF insertions is stated without guessing at maf2vcf. Make the anchored MAF insertion and synthetic checks part of the scripts, join indels by type as well as position, match samples by barcode prefix, and cope with projects that have no indels. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 1edc2f1fe3b9f8f9a77e4b199806e97e6efa8839
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 11:04:58 -0500
Commit message:
Validate SBS96/DBS78/IND83 counts against SigProfilerMatrixGenerator (#218) Adds the one-off scripts and report for #218 under dev/sigprofiler-validation/ (dev/validation/ matches the gitignored validation/ pattern). All differences on the bundled example files have a known cause: SPMG also counts DBS bases as SBS, places GDC MAF insertions one base left, and skips six VCF insertions whose REF doesn't match hg38. Nothing in the package changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: fb46ef92fb1955ad9fa6f73accdac95cb43794bd
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-08 10:47:19 -0500
Commit message:
Merge pull request #237 from campbio/fix/ind83-counting IND83 counting (PR D of #208)Package: musicatk
Commit: 1729ecc94c2681c99d546f4fede59e1fb7395d59
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 09:36:45 -0500
Commit message:
Link the code-review follow-ups in the IND83 spec Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 2f7f2476185eec8210f8e621b0314a16983ba999
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 09:32:07 -0500
Commit message:
Address code review: Variant_Type check, MH only without repeats Keep the 'No Variant_Type annotation found' error that subset_variant_by_type() gave, instead of reporting no indels. Compute microhomology only for deletions without repeats, the only ones that use it. Remove the stale 'error in counting' TODO. Test both error paths. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 9d98dcbcd7fcf1fcff7ab6df1142b4fd321a68e8
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 09:30:30 -0500
Commit message:
Address spec review: #128 unit test, comments, NEWS and spec wording Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 2b81d33ec7c633212a0576bbea4c3aad06debaad
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 09:28:16 -0500
Commit message:
Link the follow-up issues in the IND83 spec Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: f9106cd0e3decc9d371f76fe0aeea01c6ea8583f
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 09:27:11 -0500
Commit message:
Document IND83 binning; NEWS and version 2.7.9 (#9) build_standard_table() says how indels are binned and which coordinate convention the IND83 table expects. NEWS gives the bin changes measured on indel_musica. The spec notes that .count_repeat_left() keeps stringi in use. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 00e8ca7538698b355fdeb90bea2cb03729bea68b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 09:27:11 -0500
Commit message:
Fix lints in the IND83 code and tests Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: e9f0ce4340f53ad7b6ad2888bb5fe4b9803f9f42
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 09:24:22 -0500
Commit message:
Use flanks of five unit lengths for IND83 insertions (#130) Insertions of 2 bp or more read a fixed 10 bp on each side, so units of 3 bp or more could never reach 5 copies and INS_repeats_4_5+ and INS_repeats_5+_5+ were nearly unreachable. Insertions now read five times the inserted length, as deletions do. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 0fca580fc16767a87ac56c336f4c83406b0f741d
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 09:23:48 -0500
Commit message:
Take IND83 insertion flanks from the base at start (#129) Flanks were start - w .. start - 1 and end + 1 .. end + w, which fits deletions only. Insertions follow the base at 'start', so the left flank skipped that base, and for MAF insertions (end = start + 1) the right flank skipped the base after the insertion. One classifier now fetches flanks for all indels from 'start' and the indel length, replacing .count1(), .count2_ins() and .count2_del(). On indel_musica, chr1:153056355 +T moves from INS_T_1_4 to INS_T_1_5+. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 1d56fe7be7f4303141c0bc369e16feaee9e72f81
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 09:23:09 -0500
Commit message:
Count left repeats of multi-base indel units (#128) Left-side repeats reversed the flank but not the unit, so a unit like AC never matched on the left and deleting any copy but the first in a repeat counted too few copies. .count_repeat_left() reverses both. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 33904186bfcdbe41c3b306a121e2f1e00438e0d8
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 09:22:39 -0500
Commit message:
Compare left microhomology with the bases next to the deletion (#127) .micro_left() compared the end of the deleted sequence with the far (5') end of the left flank, so it could report microhomology that isn't next to the deletion. It now compares the last k bases of each. On hg38, chr9:128695510 del AATA moves from DEL_MH_4_3 to DEL_MH_4_2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 136e103a514b22bafed84a94becb42d85c660ff5
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 09:22:07 -0500
Commit message:
Build IND83 tables when some indel classes are missing (#126) create_ind83_table() crashed unless every indel class was present: deletions or insertions alone stopped in subset_variant_by_type(), a missing 1 bp or long-insertion class rbind()-ed an undefined table, and long deletions all in one of the repeat or MH groups made table() fail. Each indel now gets its motif label, and one table() over all 83 motifs and all samples builds the counts. Counts on indel_musica are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: d4204063431b71c9ba4b7be10efa9586ddb761f0
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-08 08:45:33 -0500
Commit message:
Add spec for IND83 counting fixes (PR D of #208) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: b511a31b3916349bdb0d218a0a437e8ba7300183
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-08 08:31:13 -0500
Commit message:
Merge pull request #232 from campbio/fix/transcript-strand-ambiguous Leave SBS in overlapping genes on opposite strands without a transcript strand (#221)Package: musicatk
Commit: 6a814e69653e47f4f501749f2e7f7a3cae804e3b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-07 21:53:24 -0500
Commit message:
Sort the #221 fixture's gene strands the same way in every locale R CMD check runs in the C locale, where sort() puts "+" before "-"; devtools::test() used the session locale, which puts "-" first. Radix sorting is locale-independent. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 7c3d77fe117dbed63aaca0b9eee585805556f040
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-07 15:34:42 -0500
Commit message:
Say "overlapping genes on opposite strands"; check the #221 fixture genes() already drops single genes spanning both strands, so "genes on both strands" read as the wrong case. The test now checks that its positions overlap the expected gene strands, so a TxDb update fails clearly rather than testing a different case. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: a04bfe10972af447970462c61d49b12292ac2467
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-07 15:31:47 -0500
Commit message:
NEWS: give SBS192_Trans counts for hg19 (#221) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 42577c38efd52a122142d1c2724f1b66f39020cf
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-07 15:27:24 -0500
Commit message:
NEWS and version 2.7.8 for #221 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 3afde563b3b7c4140a45a83e167b6cf113d8c71e
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-07 15:27:14 -0500
Commit message:
Leave SBS in genes on both strands without a transcript strand (#221) An SBS overlapping genes on opposite strands took the strand of whichever gene came last in the overlap list, so its T/U label was arbitrary and was counted in SBS192_Trans as if known. Such SBS now get NA, like SBS outside genes, and the docs say which SBS get NA. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 5571d557bd30409d2f9c6ec79e3a256907b6d901
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-07 11:29:26 -0500
Commit message:
Merge pull request #229 from campbio/fix/rep-strand-purine Swap replication strand for A>* and G>* SBS (#222)Package: musicatk
Commit: 562828b9e15cff5ba9bdb30667bfd164f3de9add
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 19:09:11 -0500
Commit message:
NEWS: re-annotate saved objects; custom rep_range labels the plus strand Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: f6a863e763212999bfac4be5d864bdb4b841f017
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 19:09:11 -0500
Commit message:
Test the #222 swap in a leading bin and through the hg38 build name A leading bin checks that A>* and G>* SBS become lagging, not just leading. The hg38 case covers the build-name path to rep_range_hg38. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 689afd49e03128c008fc60955d807aedccc4e499
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 19:04:10 -0500
Commit message:
NEWS and version 2.7.7 for #222 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 325fb1fa7e4ab6adea2ef88d41b2299cc341a4c7
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 19:04:10 -0500
Commit message:
Swap replication strand for A>* and G>* SBS (#222) rep_range labels the plus strand, but SBS192 counts A>* and G>* SBS on the minus strand, where their pyrimidine is. annotate_replication_strand() copied the plus-strand label onto every SBS, so purine-reference SBS were counted on the wrong replication strand in SBS192_Rep. They now take the opposite label, as annotate_transcript_strand() already does for transcript strand. The docs state the strand convention for a user-supplied GRanges. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: de46fda2dc55855f065eaf47eceb6484b9f39ebc
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-06 18:55:01 -0500
Commit message:
Merge pull request #228 from campbio/fix/rep-range-genome Tag rep_range as hg19, add rep_range_hg38, accept a build name (#220)Package: musicatk
Commit: 8ed9c0c0c402e7a31a9601bb3e096b710835c76c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 18:11:32 -0500
Commit message:
Agent log: link the Shiny findings to #226 and #227 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 03fb6bfcfd383e479b6f825770738238823465aa
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 17:08:11 -0500
Commit message:
Accept GRCh and any-case build names in annotate_replication_strand() Matches the aliases select_genome() takes, so the build name used to create the musica works here too. The error for other builds is worded for app users as well as R users, the lazy-loaded data object is used instead of re-reading the .rda on every call, and the docs list the aliases. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 821c2d1c9709fdc6d27e25b51fd2d91a6b207d14
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 17:06:24 -0500
Commit message:
annotate_replication_strand() takes a genome build for rep_range rep_range accepts "hg19"/"19" or "hg38"/"38" and uses the bundled replication strand data for that build, the same names annotate_transcript_strand() takes. A GRanges works as before; anything else stops with a clear error. The examples use the build name, and the Shiny app passes the selected genome straight through inside its existing tryCatch, so the mm9/mm10 error comes from the package and the app no longer loads rep_range itself. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 62b4c916fb0f11bad191db3e452b855efa4eb82a
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 17:04:43 -0500
Commit message:
Spec: annotate_replication_strand() takes a build name Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 6aa4151dc0e31b87685d372ed55ae6a655f1588a
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 16:51:45 -0500
Commit message:
Log the Shiny replication-object lookup for later Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 32d9dc842b12577c6a8c51e5f928ef41bcdef22a
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 16:36:08 -0500
Commit message:
Spec: the Shiny change is in server.R only Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: f9d27421e352c7ac6bb4d44f210d77e757642635
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 16:35:56 -0500
Commit message:
Address /code-review findings on the rep_range work - Revert the edit to inst/shiny/server_tables.R: the app never sources it (server.R defines its own add_tables). Logged as dead code in dev/agent-log.md, with the overwrite-prompt ordering finding. - The #118 regression test builds its variants on hg19 to match rep_range. - data-raw/rep_range.R closes the gzfile connection for the chain. - rep_range_hg38 docs say hg38 bases with no hg19 counterpart are left out. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: dbab553428a2c4b984fab1f2183d2d1feb6043b2
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 16:32:35 -0500
Commit message:
Address spec review: Rd markup, NEWS wording, range widths The package doesn't use roxygen markdown, so the new data docs use Rd markup for links and code. NEWS says the app shows an error for mm9/mm10 rather than no longer offering it. The rep_range docs say a few ranges are 20 to 50 kb, and the spec records the merged hg38 ranges and the real file sizes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 7080e5fc99be891b847f4b73854babbcad4f15ed
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 16:23:54 -0500
Commit message:
NEWS and version 2.7.6 for #220 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: c8c4c9adfa6f84774abf003e28871beb551caa81
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 16:23:54 -0500
Commit message:
Use the build-matched replication strand object in the Shiny app hg19 uses rep_range and hg38 rep_range_hg38; other genomes get an error instead of hg19 coordinates. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 5d40f2a9f83ba6adfde15fa980b5f20ac4af44d9
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 16:23:54 -0500
Commit message:
Document rep_range's source and labels; use rep_range_hg38 in examples Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 5d6a795d1efcd1d5faccae8dbbbf366ceca8e9ef
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 16:23:54 -0500
Commit message:
Rebuild rep_range from GEO and add an hg38 liftover (#220) data-raw/rep_range.R rebuilds rep_range from GSM4305465, the sample it matches bin for bin, checks the result against the committed object, makes the bin starts 1-based (neighbouring bins shared an edge), and tags it with the hg19 seqinfo. It then lifts the bins over to hg38, swapping labels in inverted regions and dropping positions where lifted bins with different labels collide, to make rep_range_hg38. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: ecb04c1be378ad028d81f81a5ccba4ab6fbae69d
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 16:23:54 -0500
Commit message:
Add spec for build-tagged replication strand data (#220) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 55c92454d9047e4b2681fd8954c56b5697b89b17
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-06 12:09:12 -0500
Commit message:
Merge pull request #224 from campbio/fix/variant-annotation Variant annotation correctness and hg38 examples (PR C of #208)Package: musicatk
Commit: 52c52598f262e2f13fef76077d424ad05c2d3de4
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 08:01:21 -0500
Commit message:
Address /code-review findings on the variant annotation fixes - annotate_transcript_strand gives its own error for anything but a TxDb or a single build name; a GRanges or a vector failed inside %in% or if(). - annotate_replication_strand stores its table with tables<- rather than @count_tables. - add_flank_to_variants uses rev_ind directly and drops the pipe. - NEWS says which causes the unmatched-motif warning catches for each table. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 0a02ca197558a8d52ee1ee4b7e2e150657661553
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 07:56:54 -0500
Commit message:
Name both causes in the unmatched-motif warning SBS192 builds its context from the variant's own ref, so a wrong genome build doesn't trigger the warning there; only N bases do. Name both a ref that doesn't match g and N bases, and record this in the spec. Found in spec review. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 57256ed2d7aa578b9dc0c6c1ea3b5651d5168ce3
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 07:56:54 -0500
Commit message:
Accept factor ref/alt columns in annotate_variant_length variants<- allows factor columns, and nchar() rejects factors. Found in spec review. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 51b6ea5153117a7619b2806822a972a425287b98
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 07:55:55 -0500
Commit message:
Handle SBS sets with no transcript or replication strand With intergenic SBS now NA (#105), a sample set with no SBS in a gene left the Transcript_Strand table with no levels, and annotate_transcript_strand failed with "undefined columns selected". Give the table fixed T/U rows, and have SBS192 stop with a clear message when no SBS has a strand instead of "replacement has length zero". Found in spec review. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 022c66e417f2cf403447c3dd92cb5502f42de447
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 07:49:44 -0500
Commit message:
Use measured SBS192_Trans totals in NEWS and the spec The review's 879/587 predates the PR A data rebuild; on the current data(musica) the total goes from 884 to 807. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: a8570016cd38efb45b62d4264ba84702f8f91bdf
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 07:48:58 -0500
Commit message:
Document the variant annotation changes; bump to 2.7.5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: fa9bd492bb12f4c6ab3390403d99bb7137296791
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 07:48:49 -0500
Commit message:
Run the hg38 example data through hg38 in examples and the vignette The bundled variant data are hg38, but examples and the vignette used the hg19 genome and TxDb, so tables counted only part of the variants. Use "hg38". rep_range is hg19 (its chr17 ends at the hg19 length), so its docs now say so, annotate_replication_strand() says the ranges must match the variants' build, and the replication examples note the mismatch; an hg38 rep_range is #220. Fixes #120 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 48e7cbf889cba832b2dc83000f2c3479e4b14ab0
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 07:46:53 -0500
Commit message:
Warn when SBS96 or SBS192 leave out variants outside the schema Variants whose motif isn't one of the table's motifs (a ref base that doesn't match the genome, an N in the context) were dropped by xtabs without a message, so a wrong genome build gave a table counting only part of the variants. Warn with the number left out and point to the genome build. Fixes #135 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: f6c9f5eaa30e8d0d2805f20fbb41e4197c03b7e0
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 07:45:47 -0500
Commit message:
Give indels a signed length in annotate_variant_length The function selected Variant_Type == "indel", but indels are typed INS or DEL, so every indel length was NA; "-" would also have counted as one base. Insertions now get the number of inserted bases and deletions minus the number deleted, with "-" as zero, and the docs say so. Fixes #119 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 5d69c3a09c37f00d7b8ecbb85856a56c0391335b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 07:45:10 -0500
Commit message:
Size the replication strand column to the whole variant table annotate_replication_strand built a vector with one element per SBS but filled it by row of the full table, so it errored or was recycled when the last rows weren't SBS (a lone SBS gave every row its strand). Use a full-length NA_character_ vector instead of "NA" strings, and read the metadata with mcols() instead of @listData. Fixes #118 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 1b4ebcf26caf76d994a18af1d2973c5c984697b3
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 07:44:51 -0500
Commit message:
Accept a TxDb object in annotate_transcript_strand A TxDb failed in the "19"/"hg19" %in% check before reaching its own branch, that branch tested a class name rather than the object, and it would have used the TxDb itself instead of its genes. Check for a TxDb first and take genes() from it. Fixes #117 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: a7ae934e52e9282887945beec9d0190a78e23a9e
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 07:44:28 -0500
Commit message:
Leave intergenic SBS without a transcript strand annotate_transcript_strand filled SBS outside genes with the string "NA", so "NA" == "+" labelled every one of them "T" and drop_na_variants() kept them: SBS192_Trans counted intergenic SBS as transcribed-strand. Use NA_character_. Also pass chromosomes as character, so factor levels for unused contigs no longer trigger a seqlevels warning. Fixes #105 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 7a507be5ea3ab2caca0ba7494f1bdf1f45a55283
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 07:43:59 -0500
Commit message:
Link the follow-up issues in the variant annotation spec Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: ad9718078c41f9c8417fc4ff38c3b1642bc97f9b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 07:43:55 -0500
Commit message:
Take the pyrimidine-strand flank for purine-reference SBS add_flank_to_variants reverse-complemented the window on the same side of a purine-reference SBS, so a left flank returned the 3' bases of the pyrimidine strand and a right flank its 5' bases. Fetch the mirrored window before reverse-complementing. Fixes #104 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: be05c4daad5b954d8b665356845c2eec12d943cd
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-06 07:16:18 -0500
Commit message:
Add spec for variant annotation fixes (PR C of #208) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 81c978eeb56ce52705406e46dab650ff9ad313fc
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-06 07:01:38 -0500
Commit message:
Merge pull request #216 from campbio/fix/variant-import Variant import correctness (PR B of #208)Package: musicatk
Commit: ac7476e618543eeb70845ccac4bdbbcc2f9c018b
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 20:27:59 -0500
Commit message:
Anchor the new ExpandedVCF links to VariantAnnotation R CMD check notes Rd links to other packages' classes without a package anchor. The ExpandedVCF links added for multiallele now point to VariantAnnotation's VCF-class page. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 8054605b6a9a5afccf39973378422ee2ad1b40c2
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 20:16:53 -0500
Commit message:
Accept COSMIC/SigProfiler row names in create_musica_from_counts Matching rows by name (#116) rejected tables with row names like A[C>A]A or AC>CA, which loaded correctly before when they were in COSMIC order. These names are now converted to musicatk motif names (C>A_ACA, AC>NN_CA) and matched like any other, so SigProfiler-ordered tables are also labelled correctly. Fixes #116 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: df7eb34ca8a12e9f46701c51a3d8db35810d11ce
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 19:56:38 -0500
Commit message:
Address /code-review findings on the variant import fixes - Stop with a clear error when no variant is left after removing those on missing chromosomes; before, getSeq() failed on an empty table (#115). - A VCF without GT and with several sample columns needs 'id' or 'rename'; before, every variant was given to the first column, which is NORMAL in a Strelka tumour/normal VCF (#111). - add_variant_type() labels equal-length variants of three or more bases "MNV", matching create_musica_from_variants() (#107). - No empty "()" in the warning for a VCF without sample columns. - create_musica_from_counts() lists duplicated and missing motif names in its row-name error (#116). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 8ad987f0d3319634477ddf1702abfe9f290ce7eb
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 19:49:19 -0500
Commit message:
Handle cases found in review of the variant import fixes - Drop variants on contigs missing from the genome also when check_ref_chromosomes = FALSE, since getSeq() still failed (#115). - Set the end of a standardized deletion from its deleted bases, so a hand-made table with end == start isn't left with end < start (#108). - Stop when an id is given for a VCF without sample columns instead of ignoring it (#111). - Say "no variants were found" rather than "all variants matched the reference" when rows were removed by FILTER or multiallele. - Document how "exclude" treats an ExpandedVCF; record the deviations in the spec. - Tests for haploid and partly missing GTs, .bgz files, and two SBS at one position. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: db5a15902bd3b339b68bc512b2834fd77ebf093f
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 19:37:17 -0500
Commit message:
Document the variant import changes; bump to 2.7.4 Roxygen for GT-based allele selection, VCFs without GT, extra_fields, fix_vcf_errors, the indel coordinate convention, complex variants, DBS/MNV merging and row names in create_musica_from_counts(). The vignette and tutorial note how runs of adjacent SBS are merged. NEWS entries for #106-#116, #121 and #123. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 69e586e28fe49e5c32b7878d3af0db2bbbd204ee
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 19:36:11 -0500
Commit message:
Match count rows to motifs by name in create_musica_from_counts The row names were overwritten with the standard motif order, so a table in another order was silently mislabelled. Rows are now matched to the motifs by name and reordered; other row names give an error, and a table without row names is assumed to be in standard order, with a message. Fixes #116 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 1e5e714707f44d76bf64cc7eb853142e21b26836
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 19:36:10 -0500
Commit message:
Drop variants on contigs missing from the genome When some variant chromosomes matched the genome and others didn't, the check passed and getSeq() then failed on the missing ones. Those variants are now removed with a warning that names the chromosomes. Fixes #115 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: a57f050d4874294b068e811310efaae13b598938
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 19:36:10 -0500
Commit message:
Merge adjacent SBS into DBS or MNV only within a sample convert_dbs merged rows with diff(start) == 1 across the whole table, so SBS from different samples became one DBS, unsorted neighbours were missed, and a run of three lost its third base. Runs of adjacent SBS are now found per sample and chromosome with GenomicRanges::reduce(). A pair becomes a DBS; a run of three or more becomes one variant of type "MNV", which no standard count table includes. Fixes #107 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: be8ce1f20f2b4110d1f91763879458b072313da1
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 19:36:10 -0500
Commit message:
Remove complex variants instead of rewriting them as indels The first base of a VCF-style indel was assumed to be an anchor without checking, so ref A, alt GGT became an insertion of GT and lost the A>G change. An indel is now standardized only when its first bases match (the rule VariantAnnotation's isInsertion() and isDeletion() use); others are removed as complex, with a message. Fixes #109 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: d64dea2f7b87796efa83e8242e67b4ccef34fd67
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 19:36:10 -0500
Commit message:
Move VCF deletions to the coordinates of the deleted bases standardize_indels removed the VCF anchor base from ref but left start on the anchor, so the ID83 counter read the left flank one base too far left and could bin a VCF deletion differently from the same MAF deletion. Deletions now start at the first deleted base, as in MAF. Insertions keep start as the base before the insertion, which is the same in VCF and MAF. Also removes the unreachable second insertion block and the length(x > 0) tests (part of #124). Fixes #108 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 6a235f48a832136a3229b5dbb517f12b1f743603
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 19:36:10 -0500
Commit message:
Read lowercase ref and alt bases as uppercase Lowercase bases failed the A/C/G/T check and were removed as compound variants. ref and alt are now uppercased before the variant type is set. Fixes #123 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: ddddea820ccb19a318916a23f5c056c29b1b04ec
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 19:36:10 -0500
Commit message:
Accept matrices and factor columns in create_musica_from_variants canCoerce(x, "data.table") is FALSE for a matrix, so the documented matrix input was rejected, and factor ref/alt columns crashed nchar() in add_variant_type(). Matrices and data frames are now accepted, text columns are converted to character and positions to integer, and add_variant_type() reads ref and alt as character. Fixes #114 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 6a5044dc4ef0a89400772199e6481829edf7138c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 19:29:07 -0500
Commit message:
Recognise .vcf.gz and .maf.gz files in extract_variants() tools::file_ext() returns "gz" for "x.vcf.gz", so compressed files were rejected. The compression suffix is now stripped before the type is read. Fixes #113 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: c0a39605b19276101574f7c673286b34d0831851
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 19:29:07 -0500
Commit message:
Recover malformed VCFs when fix_vcf_errors = TRUE The repair branch cleaned the table but never assigned the result, so extract_variants_from_vcf_file() returned stats::dt, the t density function. It also assumed a 7-line header. The branch now removes body lines with a REF or ALT of 0, stray header lines, or the wrong number of fields, rereads the remaining lines with readVcf(), and warns how many lines were removed. Fixes #112 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 1f1c6ff25a084275fde169d3bb095749e6a64b4a
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 19:29:07 -0500
Commit message:
Keep only the sample's own alleles when extracting VCF variants expand() copies the GT unchanged to every ALT allele of a site, so a sample carrying any ALT was given all of them. Each expanded row is now kept only when its allele number is in the sample's GT (#106). multiallele = "exclude" returned ALT as a list column for a CollapsedVCF, and for an ExpandedVCF counted string widths instead of alleles, dropping every indel. It now drops rows with several ALTs, or rows sharing a site in an ExpandedVCF, and ALT is always character (#110). VCFs without a GT field (Strelka, tumour-only) returned NULL with a warning that all variants matched the reference. Every variant passing FILTER is now kept, with a message; a VCF without sample columns needs 'rename' (#111). extra_fields kept no column name for a single field and failed on list INFO fields. Columns keep their names, Number=A fields come per allele from expand(), and other list fields are joined with commas (#121). Fixes #106 Fixes #110 Fixes #111 Fixes #121 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 5d0f7f9b580dc62f59a2f68e429867425b28f5fc
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 19:25:02 -0500
Commit message:
Add spec for variant import fixes (PR B of #208) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 7519fcc39fff25a9b7c298ed845b10775943143c
Author: Joshua D. Campbell <camp@bu.edu>
Date: 2026-11-05 17:16:39 -0500
Commit message:
Merge pull request #212 from campbio/fix/accessor-setters Fix accessor and setter bugs (PR J of #208)Package: musicatk
Commit: 57ac33605aa10813caf7ae919d9f485005725e22
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 06:47:54 -0500
Commit message:
Move the stored model when modality<- changes its modality On a musica or result_collection object, modality<- changed the model's slot but left it stored under the old modality key, so get_model() could not find it by its new modality. It now moves the model, removes a modality left without models, and stops if the new modality already has a model with that id, as model_id<- does for ids. Part of #156 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: d9f90fed95120b34bd8193acc8270a4d360420a2
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 06:11:37 -0500
Commit message:
NEWS: samp_annot<- also takes POSIXlt Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: c4d4c168a52cff6a09731fd0cbb6322c6e3569ac
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 06:11:31 -0500
Commit message:
Rename once in name_signatures() and accept any first argument name_signatures() renamed through eval.parent() before its return path, so name_signatures(readRDS(...), ...) failed and every call renamed twice. It now renames its own copy, assigns that back to the caller only when the argument can be assigned to, and returns it. samp_annot<- converts POSIXlt to POSIXct instead of rejecting it, and the #164 test now checks variants<- in its own block. Part of #154 and #164 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 0f1a1be86a8684a338ab10225327e5acee0d934c
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 06:11:31 -0500
Commit message:
Validate the stored model in the musica and collection setters validObject() does not check objects nested in lists, so setting, for example, modality(res, ...) <- c("A", "B") on a musica object stored an invalid result_model. The musica and result_collection setters now change the model through the result_model setter, using two shared helpers instead of ten copies of the nested slot path, and say which result or model is missing. Part of #156 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: d149b8e5b9b5696940fbb0fc102c58525d01f8c8
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 06:06:30 -0500
Commit message:
NEWS and version 2.7.3 for the accessor and setter fixes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 7de45236499b088b019448ca323d123a192acf32
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 06:06:22 -0500
Commit message:
Register the result_model setters for the slot types num_signatures<-, other_parameters<-, credible_intervals<-, model_id<- and modality<- were registered for value = "matrix" on musica, result_collection and result_model, but those slots hold numeric, SimpleList or character values, so the 15 methods could never be called. Register them for the slot types and validate the result. model_id<- on a musica or result_collection object also renames the stored model, so get_model() finds it by the new id, and stops when another model in the modality already uses that id. Fixes #156 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 1dc51cf336251918e7d1243172e29cc178ab070f
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 06:05:14 -0500
Commit message:
Assign the value in hyperparameter<- for musica objects The musica method read the misspelled slot 'hperparameter' and never assigned, so it always errored. Both methods now assign and validate. Fixes #157 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 4c2bdc2d7dd76747cec6b17aae523f8cdf1463d2
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 06:04:54 -0500
Commit message:
Return the musica object from name_signatures() name_signatures() ended on an eval.parent() assignment, so it returned the vector of names, and res <- name_signatures(res, ...) replaced res with a character vector. It now returns the renamed object invisibly. The caller's object is still renamed in place, so existing calls keep working; dropping that is an API change tracked in #205. Fixes #154 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Package: musicatk
Commit: 4018ab925f1bddb51d10795a97db4b3e56a386de
Author: Joshua D. Campbell <joshua.d.campbell@gmail.com>
Date: 2026-11-05 06:04:09 -0500
Commit message:
Accept dates in samp_annot<- and a data.frame in variants<- samp_annot<- was registered for S4 "vector" values, which excludes Date and POSIXct, so those failed with a dispatch error. It now takes any value and rejects only lists and matrices. variants<- had a method for data.table only; a data.frame is now converted to a data.table. Fixes #164 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
</div> </div>