Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
1ac135d
change fit_elements
pi-zz-a Oct 17, 2025
a56799a
update normalize
pi-zz-a Nov 25, 2025
364cff1
Add EditorConfig, lintr, and update DESCRIPTION and NAMESPACE for pac…
visze Feb 26, 2026
7bebc8b
linting and github action
visze Feb 26, 2026
02ec22a
fixing spellings
visze Feb 26, 2026
dc94164
github actions!
visze Feb 26, 2026
46f9e23
check linter
visze Feb 26, 2026
edb5898
Refactor GitHub Actions workflows and add YAML linting configuration
visze Feb 26, 2026
20c7523
Update GitHub Actions workflows to use latest action versions and imp…
visze Feb 26, 2026
6c4f0fb
Add R-CMD-check workflow for automated R package checks
visze Feb 26, 2026
cd2bfd6
Refactor workflow files to improve YAML linting configuration and rem…
visze Feb 26, 2026
a7b5f2b
Refactor utils and test files to streamline code and improve readability
visze Feb 26, 2026
3b5e9b5
Fix namespace assignment in .onLoad function to use utils::assignInNa…
visze Feb 26, 2026
d6c8a75
Refactor .onLoad function to properly unlock and lock the compute_log…
visze Feb 26, 2026
1d74ba8
Use utils::assignInNamespace for compute_logratio in .onLoad function
visze Feb 26, 2026
52960c3
Refactor project files: update .Rbuildignore, .gitignore, DESCRIPTION…
visze Feb 26, 2026
41bb1b9
Refactor utils and test files: update global variables, streamline te…
visze Feb 26, 2026
cba8422
Add documentation for new functions and datasets: create_dna_df, crea…
visze Feb 27, 2026
5533e48
Refactor documentation and examples: standardize data loading syntax …
visze Feb 27, 2026
d8048d8
Refactor test files: update library references from 'mpra' to 'BCalm'…
visze Feb 27, 2026
a1d40c1
Refactor NAMESPACE: streamline imports by consolidating stats and dpl…
visze Feb 27, 2026
d5f3963
citations
visze Feb 27, 2026
7879652
build ignore
visze Feb 27, 2026
0368a56
format
visze Feb 27, 2026
c05b7d1
ö to o
visze Feb 27, 2026
067ffad
documentation
visze Feb 27, 2026
9f2e29d
update doc
visze Feb 27, 2026
8131a43
newest bcalm vigniette
visze Feb 27, 2026
341b480
Add warning for unavailable 'endomorphic' argument and update vignett…
visze Feb 27, 2026
84b91c6
Refactor fit_elements function to ensure label assignment occurs cons…
visze Feb 27, 2026
bb9328f
Remove unnecessary logFC column check and add warning for result colu…
visze Feb 27, 2026
b04eff7
Remove equality check between result and result_endo in mpra_treat tests
visze Feb 27, 2026
0906d4e
docs!
visze Feb 27, 2026
ad7d55c
Update example data loading to specify package in documentation for m…
visze Feb 27, 2026
e7c1178
Merge pull request #15 from kircherlab/refactor/code_improements_auto…
visze Feb 27, 2026
0bbfa63
nice new readme
visze Feb 27, 2026
651c2ab
set default plot to false
pi-zz-a Feb 27, 2026
c193868
update documentation
pi-zz-a Feb 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions .Rbuildignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
^\.travis\.yml$
.editorconfig
.gitignore
.lintr
.yamllint.yml
^\.\.Rcheck
.git
.github
README.md

48 changes: 48 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# EditorConfig is awesome: https://EditorConfig.org

# top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
charset = utf-8
trim_trailing_whitespace = true

# R files
[*.R]
indent_style = space
indent_size = 4
max_line_length = 127

# Rmd files (R Markdown)
[*.Rmd]
indent_style = space
indent_size = 2
max_line_length = 127

# YAML files
[*.{yml,yaml}]
indent_style = space
indent_size = 2

# JSON files
[*.json]
indent_style = space
indent_size = 2

# Markdown files
[*.md]
indent_style = space
indent_size = 2
trim_trailing_whitespace = false

# Makefile
[Makefile]
indent_style = tab

# Shell scripts
[*.sh]
indent_style = space
indent_size = 2
13 changes: 13 additions & 0 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
name: "Pull Request Labeler"
on: # yamllint disable-line rule:truthy
pull_request_target:

jobs:
labeler:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v6
28 changes: 28 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: Tests

on: # yamllint disable-line rule:truthy
push:
branches: [master, development]
pull_request:
branches: [master, development]

jobs:
Formatting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Formatting
uses: super-linter/super-linter@v8
env:
LINTER_RULES_PATH: .
VALIDATE_ALL_CODEBASE: false
DEFAULT_BRANCH: master
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SAVE_SUPER_LINTER_SUMMARY: true
VALIDATE_JSON: true
VALIDATE_YAML: true
YAML_CONFIG_FILE: .yamllint.yml
VALIDATE_R: true
34 changes: 34 additions & 0 deletions .github/workflows/pkgdown.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: pkgdown
on: # yamllint disable-line rule:truthy
push:
branches: [master]
pull_request:
branches: [master]
release:
types: [published]

jobs:
pkgdown:
runs-on: ubuntu-latest
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
permissions:
contents: write
steps:
- uses: actions/checkout@v6
- uses: r-lib/actions/setup-pandoc@v2
- uses: r-lib/actions/setup-r@v2
with:
use-public-rspm: true
- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::pkgdown, local::.
- name: Build site
run: pkgdown::build_site_github_pages(new_process = FALSE, install = FALSE)
shell: Rscript {0}
- name: Deploy to GitHub pages 🚀
if: github.event_name != 'pull_request'
uses: JamesIves/github-pages-deploy-action@v4
with:
folder: docs
28 changes: 28 additions & 0 deletions .github/workflows/r-cmd-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: R-CMD-check
on: # yamllint disable-line rule:truthy
push:
branches: [master, development]
pull_request:
branches: [master, development]

jobs:
R-CMD-check:
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- {os: ubuntu-latest, r: 'release'}
- {os: ubuntu-latest, r: 'devel'}
# - {os: macos-latest, r: 'release'}
# - {os: windows-latest, r: 'release'}
steps:
- uses: actions/checkout@v6
- uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.config.r }}
- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::rcmdcheck
- uses: r-lib/actions/check-r-package@v2
24 changes: 24 additions & 0 deletions .github/workflows/spellcheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: Spell Check
on: # yamllint disable-line rule:truthy
push:
branches: [master, development]
pull_request:
branches: [master, development]

jobs:
spellcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: r-lib/actions/setup-r@v2
- name: Install spelling package
run: Rscript -e 'install.packages("spelling")'
- name: Check spelling
run: Rscript -e 'spelling::spell_check_package()'
- name: Check for spelling errors
run: |
if [ -s spelling.txt ]; then
cat spelling.txt
exit 1
fi
38 changes: 38 additions & 0 deletions .github/workflows/test-coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: test-coverage
on: # yamllint disable-line rule:truthy
push:
branches: [master, development]
pull_request:
branches: [master, development]

jobs:
test-coverage:
runs-on: ubuntu-latest
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v6
- uses: r-lib/actions/setup-r@v2
- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::covr
- name: Test coverage
run: |
covr::codecov(
quiet = FALSE,
clean = FALSE,
install_path = file.path(normalizePath(Sys.getenv("RUNNER_TEMP"), winslash = "/"), "package")
)
shell: Rscript {0}
- name: Show testthat output
if: always()
run: |
find '${{ runner.temp }}/package' -name 'testthat.Rout*' -exec cat '{}' \; || true
shell: bash
- name: Upload test results
if: failure()
uses: actions/upload-artifact@v4
with:
name: coverage-test-failures
path: ${{ runner.temp }}/package
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ auto/
.DS_Store
inst/doc
*.pdf
*.html
*.html
..Rcheck
7 changes: 7 additions & 0 deletions .lintr
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
linters: linters_with_defaults(
line_length_linter(127),
indentation_linter(indent = 4),
commented_code_linter = NULL,
object_usage_linter = NULL,
object_name_linter = NULL
)
8 changes: 0 additions & 8 deletions .travis.yml

This file was deleted.

10 changes: 10 additions & 0 deletions .yamllint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
extends: default

rules:
# 80 chars should be enough, but don't fail if a line is longer
line-length:
max: 127
level: warning
comments:
min-spaces-from-content: 1
Empty file added CONFIG-FILES-README.md
Empty file.
18 changes: 8 additions & 10 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
Package: BCalm
Version: 0.99.0
Title: Barcode Analysis using linear models
Description: Tools for data management, count preprocessing, and differential analysis in massively parallel report assays (MPRA).
Title: Barcode Analysis Using Linear Models
Description: Tools for data management, count preprocessing, and differential analysis in massively parallel reporter assays (MPRA).
Authors@R: c(
person("Pia", "Keukeleire", role = c("cre", "aut"), email = "[email protected]"),
person("Martin", "Kircher", role = "aut"))
Author: Pia Keukeleire [cre, aut], Martin Kircher [aut]
Maintainer: Pia Keukeleire <[email protected]>
Depends:
R (>= 3.5),
methods,
BiocGenerics,
SummarizedExperiment,
limma,
curl
limma
Suggests:
BiocStyle,
knitr,
Expand All @@ -28,19 +29,16 @@ Imports:
graphics,
statmod,
tidyr,
GenomeInfoDb,
IRanges,
GenomicRanges,
Biobase,
DelayedArray
dplyr,
rlang
Collate:
mpra_set.R
utils.R
fit.R
preprocess.R
analyze.R
VignetteBuilder: knitr
License: MIT
License: MIT + file LICENSE
URL: https://github.com/kircherlab/BCalm
BugReports: https://github.com/kircherlab/BCalm/issues
biocViews: Software, GeneRegulation, Sequencing, FunctionalGenomics
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
8 changes: 4 additions & 4 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ import(limma, except = "plotMA")
import(S4Vectors)
importFrom("scales", "alpha")
importFrom("graphics", "lines")
importFrom("stats", "approxfun", "lowess")
importFrom("stats", "approxfun", "lowess", "pt", "quantile", "setNames")
importFrom("statmod", "mixedModel2Fit")
importFrom("tidyr", "pivot_wider")
importFrom("tidyr", "unite")
importFrom("dplyr", "%>%", "group_by", "summarise", "mutate", "filter", "ungroup", "pull", "select", "n", "row_number", "arrange", "matches", "rename_with")
importFrom("rlang", "sym")
importFrom("mpra", MPRASet, getRNA, getDNA, getBarcode, getEid, getEseq, normalize_counts, mpralm, get_precision_weights)

exportClasses("MPRASet")
exportMethods("show")
export(MPRASet, getRNA, getDNA, getBarcode, getEid, getEseq, getLabel)
export(mpralm, get_precision_weights, compute_logratio, normalize_counts, fit_elements)
export(downsample_barcodes, create_dna_df, create_rna_df, create_var_df)
export(plot_groups, mpra_treat)
export(plot_groups, mpra_treat)
Loading