Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync changes from development with main for v0.8.0 #728

Merged
merged 457 commits into from
Mar 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
457 commits
Select commit Hold shift + click to select a range
866292d
Create and use retain_coldata_columns vector with relevant cell type …
sjspielman Jan 17, 2024
c382a32
Add 'Submitter-excluded' string to libraries without a submitter
sjspielman Jan 17, 2024
0bc7117
use the metadata instead of coldata column existence, for consistency
sjspielman Jan 17, 2024
d69ac72
Lets go ahead and add indicators for other missing celltypes to avoid…
sjspielman Jan 17, 2024
a200588
Update organizational comment sinces theres quite a bit of cell type …
sjspielman Jan 17, 2024
ac60014
comment
sjspielman Jan 17, 2024
df82a26
use_ontology should not also be in cellassign, bad copy/paste there
sjspielman Jan 17, 2024
82ecbe0
Merge pull request #656 from AlexsLemonade/sjspielman/655-keep-cellty…
sjspielman Jan 17, 2024
303cb9a
remove cluster parameters from sce metadata before merging
sjspielman Jan 17, 2024
e3933d7
remove extra new line
sjspielman Jan 17, 2024
abb2a53
merged_hvgs -> merged_highly_variable_genes
sjspielman Jan 17, 2024
93ba691
Merge pull request #657 from AlexsLemonade/sjspielman/remove-cluster-…
sjspielman Jan 17, 2024
4617ff5
Also retain scpca_filter and adt_scpca_filter if at least 1 library h…
sjspielman Jan 18, 2024
acaf462
simplify code when retaining adt_scpca_filter
sjspielman Jan 18, 2024
b3803bf
restore that comment
sjspielman Jan 18, 2024
f413467
Merge pull request #658 from AlexsLemonade/sjspielman/retain-filter-c…
sjspielman Jan 18, 2024
cb2eeda
dont rename gene_ids
sjspielman Jan 18, 2024
29a716d
Merge pull request #659 from AlexsLemonade/sjspielman/dont-rename-row…
sjspielman Jan 18, 2024
3388cc5
need to use .getVal() to check if thing is in thing
sjspielman Jan 19, 2024
052fd6f
fix unique so it's unique
sjspielman Jan 19, 2024
f8905ef
Merge pull request #660 from AlexsLemonade/sjspielman/merge-workflow-…
sjspielman Jan 19, 2024
347cef9
make sure unclassified cells are not in the heatmap
allyhawkins Jan 22, 2024
8f1d367
drop Unclassified cell factor
allyhawkins Jan 23, 2024
ee723f2
uniform capitalization for cell type methods
allyhawkins Jan 23, 2024
cf1bdae
Merge pull request #665 from AlexsLemonade/allyhawkins/actually-remov…
allyhawkins Jan 23, 2024
d5c1a8d
Retain adt altexp coldata columns as well as main experiment columns …
sjspielman Jan 23, 2024
79a91cb
also save cellhash stats columns in the main experiment
sjspielman Jan 23, 2024
4de0816
remove some extra lines that snuck in there
sjspielman Jan 23, 2024
616f0a2
Add sample_type metadata field to unfiltered sce object. This is eith…
sjspielman Jan 23, 2024
4c7719f
fix forcats::fct_drop, which is used on vectors not dfs
sjspielman Jan 23, 2024
ca52625
Add chunk to print blue boxes based on sample_type
sjspielman Jan 23, 2024
ac7cc24
fix typo, if->is
sjspielman Jan 23, 2024
9c6fb00
Update bin/generate_unfiltered_sce.R
sjspielman Jan 23, 2024
25b599a
Merge pull request #667 from AlexsLemonade/sjspielman/645-sample-type…
sjspielman Jan 24, 2024
6839293
Incorporate preserve_altexp_rowdata_list argument and debug
sjspielman Jan 24, 2024
6c7394e
If adt altexp, add a column 'adt_name' to hold the rownames for safer…
sjspielman Jan 24, 2024
b039a23
Merge branch 'development' into sjspielman/661-merge-altexp-coldata
sjspielman Jan 24, 2024
0937a78
fix multiplex directory name to have commas not semicolons
sjspielman Jan 24, 2024
3ce90f8
bonus debug: need quotes around the file name to check for equality
sjspielman Jan 24, 2024
c17de4d
Merge branch 'sjspielman/661-merge-altexp-coldata' of github.com:Alex…
sjspielman Jan 24, 2024
95e1cb5
Add additional 'it.files_directory && ' check
sjspielman Jan 25, 2024
4ae0a13
Bulk salmon missing
jashapiro Jan 25, 2024
efc7329
genetic demux missing
jashapiro Jan 25, 2024
41f3876
spaceranger missing
jashapiro Jan 25, 2024
f523c00
incomplete comment
jashapiro Jan 25, 2024
97ddb51
update comments
jashapiro Jan 25, 2024
b28f162
Merge pull request #671 from AlexsLemonade/sjspielman/670-files-direc…
sjspielman Jan 25, 2024
3a3325b
Merge branch 'development' into jashapiro/672-missing-inputs-everywhere
jashapiro Jan 25, 2024
94bf91c
Merge branch 'jashapiro/672-missing-inputs-everywhere' of https://git…
jashapiro Jan 25, 2024
0bbe8ee
Update bulk-salmon.nf
jashapiro Jan 25, 2024
b6246b2
Merge pull request #673 from AlexsLemonade/jashapiro/672-missing-inpu…
jashapiro Jan 25, 2024
a44bd36
Merge branch 'development' into sjspielman/661-merge-altexp-coldata
sjspielman Jan 25, 2024
0611006
explicitly retain the adt QC columns in the main experiment colData
sjspielman Jan 25, 2024
106be48
update mapping for earlier sample_id wrangling and simpler names
sjspielman Jan 26, 2024
eb87869
Apply suggestions from code review
sjspielman Jan 29, 2024
a77506c
Reduce/condense the coldata retention code for both main and altexps
sjspielman Jan 29, 2024
6904dec
remove comment
sjspielman Jan 29, 2024
93cef95
Update sample_type printing logic to handle multiplex samples
sjspielman Jan 29, 2024
665c086
use possible columns for adt as well, and simplify check a bit
sjspielman Jan 29, 2024
ac66b01
_ to -
sjspielman Jan 29, 2024
007766e
Merge pull request #679 from AlexsLemonade/sjspielman/678-spatial-rep…
sjspielman Jan 29, 2024
001cbb5
Apply suggestions from code review
sjspielman Jan 29, 2024
6466f45
adt_name -> adt_id
sjspielman Jan 29, 2024
24f1e8a
consistent variable naming for possible/present columns
sjspielman Jan 29, 2024
58947e1
adt_name -> adt_id in merge script
sjspielman Jan 29, 2024
d352a68
Merge branch 'development' into sjspielman/661-merge-altexp-coldata
sjspielman Jan 29, 2024
8f33250
Update bin/merge_sces.R
sjspielman Jan 30, 2024
e253f20
also retain additional_modalities column
sjspielman Jan 30, 2024
1c2c4f1
Merge branch 'sjspielman/661-merge-altexp-coldata' into sjspielman/67…
sjspielman Jan 30, 2024
0e0c87c
Update additional_modalities definition to allow for multiple modalities
sjspielman Jan 30, 2024
1bc51b8
split additional_modalities for use
sjspielman Jan 30, 2024
ad93a10
Update templates/merge-report.rmd
sjspielman Jan 31, 2024
f4c55aa
Merge pull request #666 from AlexsLemonade/sjspielman/661-merge-altex…
sjspielman Jan 31, 2024
5874495
Apply suggestions from code review
sjspielman Jan 31, 2024
2d366c5
Merge branch 'development' into sjspielman/676-fix-sample_type-qc-check
sjspielman Jan 31, 2024
bea4ed6
Merge branch 'sjspielman/676-fix-sample_type-qc-check' of github.com:…
sjspielman Jan 31, 2024
c0e257b
Merge pull request #677 from AlexsLemonade/sjspielman/676-fix-sample_…
sjspielman Jan 31, 2024
d0691b5
Add flag is_merged to anndata script and into merge.nf
sjspielman Jan 31, 2024
bb39d14
if merged, only append X_ to reduced dims, but no need for any furthe…
sjspielman Jan 31, 2024
4c42353
mirror the same processing for altExp
sjspielman Jan 31, 2024
1bdc516
Add helper function to format merged objects, which both adds X_ to r…
sjspielman Jan 31, 2024
7ca1c99
rename all merged object colData seq_unit -> suspension_type
sjspielman Jan 31, 2024
6c13ddc
use opt for opts
sjspielman Jan 31, 2024
a8918a6
switch seq_unit to suspension_type in report
sjspielman Jan 31, 2024
d597bd0
Apply suggestions from code review
sjspielman Feb 1, 2024
d958fd2
remove if for reduced dims renaming, and update associated comments
sjspielman Feb 1, 2024
dc5812f
Merge pull request #683 from AlexsLemonade/sjspielman/681-anndata-mer…
sjspielman Feb 1, 2024
2071694
merge main into development and address merge conflicts
sjspielman Feb 5, 2024
043eefd
add warning=FALSE to suppress a warning from lumping
sjspielman Feb 5, 2024
02eea65
add indicator sentence that cellassign was attempted but not run, if …
sjspielman Feb 5, 2024
e3fe008
need two \n
sjspielman Feb 5, 2024
f332ea9
comment about new lines, and add missing paren
sjspielman Feb 5, 2024
89b072e
A first round of _external_ instructions for running the merge workfl…
sjspielman Feb 5, 2024
7dcd0e1
some text updates
sjspielman Feb 5, 2024
52a3b8a
need even more storage to accommodate some anndata for large projects…
sjspielman Feb 5, 2024
c4b6ffa
Merge pull request #686 from AlexsLemonade/sjspielman/main-into-dev
sjspielman Feb 5, 2024
5dcd1a6
Merge branch 'development' into sjspielman/663-cellassign-note-qc
sjspielman Feb 5, 2024
f262afd
Merge branch 'development' into sjspielman/646-merge-external-instruc…
sjspielman Feb 5, 2024
8586ea6
Update templates/qc_report/celltypes_supplemental_report.rmd
sjspielman Feb 5, 2024
1b7d5f5
cellassign not run text into blue box
sjspielman Feb 6, 2024
a4f45e1
Add miQC line aes adjustments for #620
sjspielman Feb 6, 2024
d9d97c8
Add new scheme for umap point sizes, applied to both main umaps and c…
sjspielman Feb 6, 2024
7b6c023
rearrange code so the info box appears in both the celltype section o…
sjspielman Feb 6, 2024
d82bd09
Print sentence instead of blue box in the main report
sjspielman Feb 6, 2024
50c3fb0
Update external-instructions.md
sjspielman Feb 6, 2024
6dabf9b
Merge pull request #687 from AlexsLemonade/sjspielman/663-cellassign-…
sjspielman Feb 6, 2024
7ccf8f9
Update external-instructions.md
sjspielman Feb 6, 2024
458780a
Merge branch 'development' into sjspielman/618-620-qc-updates
sjspielman Feb 6, 2024
6383a7b
Merge branch 'development' into sjspielman/646-merge-external-instruc…
sjspielman Feb 6, 2024
672acd8
add running wording
sjspielman Feb 6, 2024
41ff29a
Update external-instructions.md
sjspielman Feb 6, 2024
ef238c4
Merge branch 'sjspielman/646-merge-external-instructions' of github.c…
sjspielman Feb 6, 2024
29b3f6f
merge.nf section reorg
sjspielman Feb 6, 2024
2c5f262
fix up the run commands: we need to have -r, and we don't supply othe…
sjspielman Feb 6, 2024
d554246
Revert "fix up the run commands: we need to have -r, and we don't sup…
sjspielman Feb 6, 2024
d7d7963
-r is indeed optional
sjspielman Feb 6, 2024
ef3abbf
Update external-instructions.md
sjspielman Feb 7, 2024
70193a2
added output file information
sjspielman Feb 7, 2024
6f4fe07
Add a separate utils file for shared functions that aren't just about…
sjspielman Feb 7, 2024
8d2876c
source and use the function in the main and celltype reports
sjspielman Feb 7, 2024
115763d
Merge pull request #689 from AlexsLemonade/sjspielman/618-620-qc-updates
sjspielman Feb 7, 2024
66aed65
Merge branch 'development' into sjspielman/646-merge-external-instruc…
sjspielman Feb 7, 2024
087dbd1
Merge pull request #688 from AlexsLemonade/sjspielman/646-merge-exter…
sjspielman Feb 7, 2024
f8c6db7
we dont provide path/uri to cell type ref files - just the file name
sjspielman Feb 9, 2024
e323847
separate doc for custom cell type references
sjspielman Feb 9, 2024
8fc6b90
doctoc
sjspielman Feb 9, 2024
f153505
add a file tree for celltype checkpoints
sjspielman Feb 9, 2024
45157b6
Add link to custom ref docs
sjspielman Feb 9, 2024
4481d0f
Apply suggestions from code review
sjspielman Feb 12, 2024
31cf8b8
add steps to overview and update headers & doctoc, including location…
sjspielman Feb 12, 2024
9eebeb8
add some pre-commit.ci options
jashapiro Feb 12, 2024
b73801d
skip spell check in ci
jashapiro Feb 12, 2024
e670a35
let it fix
jashapiro Feb 12, 2024
caacec5
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Feb 12, 2024
ea4b07c
exclude test rds files
jashapiro Feb 12, 2024
3f14f3b
Updates to the singler section, including ontologies
sjspielman Feb 12, 2024
b9a8d9c
update example config with celltype params
sjspielman Feb 12, 2024
4d51c6e
singler same organism too
sjspielman Feb 12, 2024
4008cfc
multiline regex
jashapiro Feb 12, 2024
23b1435
more singler updates - reference_label and reference_name
sjspielman Feb 12, 2024
3755fe8
Add some comments
jashapiro Feb 12, 2024
2f6f565
cellassign updates
sjspielman Feb 12, 2024
45fe377
Merge pull request #693 from AlexsLemonade/jashapiro/precommit-ci
jashapiro Feb 12, 2024
1e86861
Merge branch 'development' into sjspielman/567-custom-celltype-docs
sjspielman Feb 12, 2024
8279020
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Feb 12, 2024
c1db28f
users dont actually need to provide the label.ont as a PARAM, only as…
sjspielman Feb 12, 2024
fb117cb
Lots of small text cleanups and remove the singler label param
sjspielman Feb 12, 2024
18c052f
update example config
sjspielman Feb 13, 2024
9c7464d
add precommit autofix setting
jashapiro Feb 13, 2024
1c4b78c
Merge branch 'development' into jashapiro/precommit-ci
jashapiro Feb 13, 2024
b47c886
Apply suggestions from code review
sjspielman Feb 13, 2024
ef9cb01
update headers
sjspielman Feb 13, 2024
7bfb751
train, not traing or traine
sjspielman Feb 13, 2024
9680053
Updates in response to review
sjspielman Feb 13, 2024
a79d774
phrasing updates and more rellinks
sjspielman Feb 13, 2024
0336146
Merge pull request #694 from AlexsLemonade/jashapiro/precommit-ci
jashapiro Feb 13, 2024
9f7664c
my -> your
sjspielman Feb 13, 2024
ac77df6
ref-> reference
sjspielman Feb 13, 2024
92277b6
Merge branch 'development' into sjspielman/567-custom-celltype-docs
sjspielman Feb 13, 2024
6e8d25f
Update custom-celltype-references.md
sjspielman Feb 13, 2024
f588013
Apply suggestions from code review
sjspielman Feb 13, 2024
cac7d6a
change some id -> ID
sjspielman Feb 13, 2024
1e2e290
spelling
sjspielman Feb 13, 2024
9a5102d
broke out singler reference section
sjspielman Feb 13, 2024
f2667a6
links for se and sce
sjspielman Feb 13, 2024
817c259
wording
sjspielman Feb 13, 2024
fabdee9
Apply suggestions from code review
sjspielman Feb 13, 2024
b730364
doctoc
sjspielman Feb 13, 2024
9bcb7c9
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Feb 13, 2024
ae5a9ee
update rellinks and no gerunds
sjspielman Feb 13, 2024
dd724b9
merge and de-gerund, actually
sjspielman Feb 13, 2024
b3144ac
a few fixes
sjspielman Feb 13, 2024
86e35f9
dont use undefined acronyms
sjspielman Feb 13, 2024
2d305b8
Merge pull request #692 from AlexsLemonade/sjspielman/567-custom-cell…
sjspielman Feb 14, 2024
1d4dc48
Fix merge report bugs for when some but not all libraries are multipl…
sjspielman Feb 18, 2024
05861b7
Merge pull request #697 from AlexsLemonade/sjspielman/merge-report-mu…
sjspielman Feb 19, 2024
f439207
add argument to always keep the heatmap legend
sjspielman Feb 21, 2024
2afa42b
get rid of that not_multiplexed variable. it's really not needed
sjspielman Feb 21, 2024
f46b566
update comment
sjspielman Feb 21, 2024
909d542
revert commit f439207
sjspielman Feb 21, 2024
1f3b4c8
just use the correct argument.
sjspielman Feb 21, 2024
64db1d3
Merge pull request #702 from AlexsLemonade/sjspielman/701-restore-hea…
sjspielman Feb 21, 2024
dd2944a
add contributing section about CI nested in PRs
sjspielman Feb 21, 2024
551753a
Update CONTRIBUTING.md
sjspielman Feb 21, 2024
e35d455
update language about required checks, and precommit ci only runs on …
sjspielman Feb 21, 2024
53f9f4b
not just on development
sjspielman Feb 21, 2024
2e65200
Merge pull request #703 from AlexsLemonade/sjspielman/695-contributin…
sjspielman Feb 21, 2024
3e11239
flip order of publishDir
sjspielman Feb 27, 2024
579f246
Merge pull request #706 from AlexsLemonade/sjspielman/704-merge-publi…
sjspielman Feb 27, 2024
e14f355
filter by project and run ids
allyhawkins Feb 29, 2024
3af3732
add merge_run_ids param
allyhawkins Feb 29, 2024
97b7edb
include instructions for new param
allyhawkins Feb 29, 2024
1a10669
remove miQC data from processed object
jashapiro Mar 5, 2024
291e713
BZ2 compress all the steps
jashapiro Mar 5, 2024
9e2d217
remove miQC_model from merge
jashapiro Mar 5, 2024
2ce8f5e
update argument text
jashapiro Mar 5, 2024
4246991
Merge pull request #712 from AlexsLemonade/jashapiro/compress-simplify
jashapiro Mar 5, 2024
0de7796
Apply suggestions from code review
allyhawkins Mar 6, 2024
fa9f6e1
clarify running multiple projects
allyhawkins Mar 6, 2024
1544e15
Merge branch 'development' into allyhawkins/merge-specific-runs
allyhawkins Mar 6, 2024
fcf766c
Merge pull request #708 from AlexsLemonade/allyhawkins/merge-specific…
allyhawkins Mar 6, 2024
89e587c
lowercase id
allyhawkins Mar 6, 2024
760453b
skip any projects with multiplexed libraries
allyhawkins Mar 6, 2024
10d8715
remove support for multiplexed libraries being present
allyhawkins Mar 6, 2024
56c02c5
remove filtering of multiplexed val before anndata
allyhawkins Mar 6, 2024
a133a3e
remove columns for cellhash to keep in merge sces
allyhawkins Mar 6, 2024
3f742fa
don't remove metadata
allyhawkins Mar 6, 2024
e1adeb3
Add basic nextflow schema
jashapiro Mar 6, 2024
a746109
Update cases and add merge
jashapiro Mar 6, 2024
2cf08d3
spaces in config and process defs
jashapiro Mar 6, 2024
1e29da2
more spaces
jashapiro Mar 6, 2024
11638ea
use projectDir in default
jashapiro Mar 6, 2024
6693919
Add more comments and organization
jashapiro Mar 6, 2024
6444191
Add json check
jashapiro Mar 6, 2024
d2648c4
remove test and update checkout
jashapiro Mar 6, 2024
c9cda49
Add docs about nextflow_schema.json
jashapiro Mar 6, 2024
e12425f
Use branch and log
allyhawkins Mar 7, 2024
10a67d6
Revert "remove columns for cellhash to keep in merge sces"
allyhawkins Mar 7, 2024
0fadb93
revert changes to script
allyhawkins Mar 7, 2024
8f703ed
filtered_libraries_ch as variable
allyhawkins Mar 7, 2024
353a171
Apply suggestions from code review
jashapiro Mar 7, 2024
a4132cc
Merge pull request #719 from AlexsLemonade/allyhawkins/skip-merge-mul…
allyhawkins Mar 7, 2024
4f93cc9
use null for unset containers
jashapiro Mar 7, 2024
a53e7f6
Periods and hide somethign
jashapiro Mar 7, 2024
8ffeca3
Merge remote-tracking branch 'origin/development' into jashapiro/714-…
jashapiro Mar 7, 2024
0e9c2a3
One more null
jashapiro Mar 7, 2024
42d6983
mention cell typing in readme
allyhawkins Mar 7, 2024
f8bbb31
new overview diagram
allyhawkins Mar 7, 2024
b2394ac
Add link to schema docs
jashapiro Mar 7, 2024
8febcd9
Update CONTRIBUTING.md
jashapiro Mar 7, 2024
9900792
Merge pull request #721 from AlexsLemonade/allyhawkins/update-overvie…
allyhawkins Mar 7, 2024
9057fb9
Merge branch 'development' into jashapiro/714-nextflow-schema
jashapiro Mar 7, 2024
ddd9ad0
Merge pull request #720 from AlexsLemonade/jashapiro/714-nextflow-schema
jashapiro Mar 8, 2024
7ce1cda
add sentence to cell type report about no tumor cells in refs
allyhawkins Mar 11, 2024
4550f3d
account for missing is_xenograft and is_cell_line
allyhawkins Mar 11, 2024
68910db
add is_cell_line and is_xenograft to example and instructions
allyhawkins Mar 11, 2024
3cda82e
Apply suggestions from code review
allyhawkins Mar 11, 2024
0b05084
add bullets to both instructions
allyhawkins Mar 11, 2024
2148f71
Merge branch 'main' into allyhawkins/mem-max
allyhawkins Mar 11, 2024
054ab19
compress processed file
allyhawkins Mar 11, 2024
5a5367b
use mem_max for merging
allyhawkins Mar 11, 2024
f02beb3
Merge pull request #725 from AlexsLemonade/allyhawkins/scpca-nf-fixes
allyhawkins Mar 12, 2024
aec4ba3
Merge branch 'development' into allyhawkins/mem-max
allyhawkins Mar 12, 2024
c8ce02f
Merge pull request #726 from AlexsLemonade/allyhawkins/mem-max
allyhawkins Mar 12, 2024
98a4d62
tag v0.8.0
allyhawkins Mar 12, 2024
c0d05a1
use scpcaTools v0.3.2
allyhawkins Mar 12, 2024
b43cf4d
Merge pull request #727 from AlexsLemonade/allyhawkins/v0.8.0
allyhawkins Mar 12, 2024
2618709
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Mar 12, 2024
08149ab
Update .pre-commit-config.yaml
jashapiro Mar 13, 2024
29efc4c
Merge pull request #729 from AlexsLemonade/pre-commit-ci-update-config
jashapiro Mar 13, 2024
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
15 changes: 10 additions & 5 deletions .github/ISSUE_TEMPLATE/release-checklist.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: Release checklist
about: Prepare for a new release version of scpca-nf
title: Prepare for scpca-nf release vX.X.X
title: Prepare for scpca-nf release `vX.X.X`
labels: release
assignees: ''

Expand All @@ -13,15 +13,20 @@ assignees: ''

- [ ] Are all of the issues planned for this release resolved? If there are any issues that are unresolved, mark this issue as blocked by those on ZenHub.
- [ ] Update code and documentation with the latest version number in the `development` branch:
- [ ] [nextflow.config](https://github.com/AlexsLemonade/scpca-nf/blob/main/nextflow.config)
- [ ] [internal-instructions.md](https://github.com/AlexsLemonade/scpca-nf/blob/main/internal-instructions.md)
- [ ] [external-instructions.md](https://github.com/AlexsLemonade/scpca-nf/blob/main/external-instructions.md)
- [ ] [`nextflow.config`](https://github.com/AlexsLemonade/scpca-nf/blob/main/nextflow.config)
- [ ] [`internal-instructions.md`](https://github.com/AlexsLemonade/scpca-nf/blob/main/internal-instructions.md)
- [ ] [`external-instructions.md`](https://github.com/AlexsLemonade/scpca-nf/blob/main/external-instructions.md)
- [ ] Test that the workflow is in good working order with `nextflow run alexslemonade/scpca-nf -latest -r development`
- [ ] File a PR from the `development` branch to the `main` branch. This should include all of the changes that will be associated with the next release.
- [ ] (Optional) Generate new example `scpca-nf` output files.
If updating the example output is not necessary for this release, check these boxes off for free.
- [ ] [Re-process the example data](https://github.com/AlexsLemonade/scpca-nf/blob/main/internal-instructions.md#processing-example-data) through the `scpca-nf` workflow and ensure it looks correct.
- [ ] Compress the example output in `scpca_out` to create `scpca_out.zip`, as described in the instructions, and ensure the file is set to public and read-only.


### Creating a release
- [ ] On the [releases page](https://github.com/AlexsLemonade/scpca-nf/releases), choose `Draft a new release`.
- [ ] In `Choose a tag`, type a new release number using semantic versioning (vX.X.X) (you did update the title of this issue to match, right?), then click `Create a new tag: vX.X.X on publish`.
- [ ] In `Choose a tag`, type a new release number using semantic versioning (`vX.X.X`) (you did update the title of this issue to match, right?), then click `Create a new tag: vX.X.X on publish`.
- [ ] Write a description of the major changes in this release. You may want to start with the auto-generated release notes to save time.
- [ ] Optional: If not all issues have been addressed, save a draft to return to later.
- [ ] Publish the release!
10 changes: 5 additions & 5 deletions .github/workflows/nextflow-config-check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ on:
branches:
- main
- development

jobs:
nf-config-check:
runs-on: ubuntu-22.04
container: nfcore/tools:2.13.1
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Check nextflow params
uses: docker://nextflow/nextflow:21.10.6
with:
args: nextflow config
run: nextflow config
- name: Check nextflow_schema file
run: nf-core schema lint nextflow_schema.json
7 changes: 6 additions & 1 deletion .github/workflows/nextflow-stub-check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,14 @@ jobs:
with:
args: nextflow -log celltype-ref-run.log run build-celltype-ref.nf -stub -profile stub -ansi-log false

- name: Check Nextflow workflow for merging objects
uses: docker://nextflow/nextflow:21.10.6
with:
args: nextflow -log merge-run.log run merge.nf -stub -profile stub -ansi-log false --project STUBP01

- name: Join log files
if: ${{ !cancelled() }}
run: cat stub-run.log checkpoint-run.log celltype-ref-run.log > nextflow-runs.log
run: cat stub-run.log checkpoint-run.log celltype-ref-run.log merge-run.log > nextflow-runs.log

- name: Upload nextflow log
if: ${{ !cancelled() }}
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ scpca-references/
# ignore template htmls
main_qc_report.html
celltypes_supplemental_report.html
merged-report.html
*_qc.html

# ignore hidden `DS_Store`
Expand Down
4 changes: 3 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ repos:
entry: Cannot commit .Rhistory, .RData, or .Rds files.
language: fail
files: '(?i)\.(Rhistory|RData|rds)$'
# `exclude` files here are _allowed_ data files.
# Here they are specified by a full path from the repository root in a multiline regex.
exclude: |
(?x)^(
test/references/celltype/singler_models/singler_model_file.rds|
Expand All @@ -30,7 +32,7 @@ repos:
args: [--update-only, --title=**Table of Contents**]
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff for linting and formatting python
rev: v0.2.1
rev: v0.3.2
hooks:
# Run the linter.
- id: ruff
Expand Down
19 changes: 19 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,25 @@ To allow for efficient review, please include in any pull request a concise and

When the changes in `development` merit a new release, a pull request will be filed to merge the current version of the `development` branch into `main`, followed by tagging a release on the `main` branch.

### Updating `nextflow_schema.json`

Any changes that affect the Nextflow configuration files should be reflected in the [`nextflow_schema.json` file](https://nf-co.re/tools#pipeline-schema).
This file can most easily be updated using the [`nf-core/tools` package](https://nf-co.re/tools), which can be installed with `conda install nf-core`.
Then run `nf-core schema build` in the `scpca-nf` directory to update the schema file to match the current config file.
You can also use the web editor that it launches to further customize the schema file.
Note that you may get warnings about any config parameters that include `${projectDir}`, as the build tool wants those to be replaced with absolute paths.
This is not necessary for the schema to be valid, so please keep those paths with the `${projectDir}` variable (enter `n` at the prompt).
### Continuous integration in pull requests

There are several automatic checks performed by GitHub Actions in all pull requests filed to `main` or `development`:

- [Check Nextflow config](.github/workflows/nextflow-config-check.yaml): This workflow ensures that there are no syntax errors in the Nextflow configuration files and that the `nextflow_schema.json` file is up to date. This check is required to pass before pull requests can be merged.
- [Check Nextflow stub](.github/workflows/nextflow-stub-check.yaml): This workflow ensures that the [stub workflow](#stub-workflows) runs without errors. This check is required to pass before pull requests can be merged.
- [Spell check R Markdown and Markdown files](.github/workflows/spell-check.yml): This workflow ensures there are no spelling errors in R Markdown and Markdown files. This check is not required to pass before pull requests can be merged.

There is also one additional `pre-commit ci` workflow which runs all [pre-commit hooks as described in this section](#pre-commit-hooks), except for the spell check pre-commit hook.
Although highly recommended, it is not required that this workflow passes before pull requests can be merged.

## Stub workflows

All Nextflow processes should include a [`stub` block](https://www.nextflow.io/docs/latest/process.html#stub) with a minimal script that can be run quickly to produce files in the expected output locations.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Nextflow will also handle parallelizing sample processing as allowed by your env
The workflow processes fastq files from single-cell and single-nuclei RNA-seq samples using [alevin-fry](https://alevin-fry.readthedocs.io/en/latest/) to create gene by cell matrices.
The workflow outputs gene expression data in two formats: as [`SingleCellExperiment` objects](https://www.bioconductor.org/packages/release/bioc/html/SingleCellExperiment.html) and as [`AnnData` objects](https://anndata.readthedocs.io/en/latest/).
Reads from samples are aligned using selective alignment, to an index with transcripts corresponding to spliced cDNA and to intronic regions, denoted by alevin-fry as `splici`.
These matrices are filtered and additional processing is performed to calculate quality control statistics, create reduced-dimension transformations, and create output reports.
These matrices are filtered and additional processing is performed to calculate quality control statistics, create reduced-dimension transformations, assign cell types using both [`SingleR`](https://bioconductor.org/packages/release/bioc/html/SingleR.html) and [`CellAssign`](https://docs.scvi-tools.org/en/stable/user_guide/models/cellassign.html), and create output reports.
`scpca-nf` can also process libraries with ADT tags (e.g., CITE-seq), multiplexed libraries (e.g., cell hashing), bulk RNA-seq, and spatial transcriptomics samples.

For more information on the contents of the output files and the processing of all modalities, please see the [ScPCA Portal docs](https://scpca.readthedocs.io/en/latest/).
Expand Down
2 changes: 1 addition & 1 deletion bin/add_celltypes_to_sce.R
Original file line number Diff line number Diff line change
Expand Up @@ -247,4 +247,4 @@ if (!is.null(opt$cellassign_predictions)) {
}

# export annotated object with cellassign assignments
readr::write_rds(sce, opt$output_sce_file, compress = "gz")
readr::write_rds(sce, opt$output_sce_file, compress = "bz2")
2 changes: 1 addition & 1 deletion bin/add_demux_sce.R
Original file line number Diff line number Diff line change
Expand Up @@ -125,4 +125,4 @@ if (length(cellhash_ids) > 1) {
}

# write filtered sce to output
readr::write_rds(sce, opt$output_sce_file, compress = "gz")
readr::write_rds(sce, opt$output_sce_file, compress = "bz2")
2 changes: 1 addition & 1 deletion bin/add_submitter_annotations.R
Original file line number Diff line number Diff line change
Expand Up @@ -107,4 +107,4 @@ colData(sce) <- DataFrame(
metadata(sce)$celltype_methods <- c(metadata(sce)$celltype_methods, "submitter")

# Write SCE back to file
readr::write_rds(sce, opt$sce_file, compress = "gz")
readr::write_rds(sce, opt$sce_file, compress = "bz2")
2 changes: 1 addition & 1 deletion bin/classify_SingleR.R
Original file line number Diff line number Diff line change
Expand Up @@ -106,5 +106,5 @@ metadata(singler_results)$cell_ontology_df <- singler_model$cell_ontology_df
readr::write_rds(
singler_results,
opt$output_singler_results_file,
compress = "gz"
compress = "bz2"
)
2 changes: 1 addition & 1 deletion bin/cluster_sce.R
Original file line number Diff line number Diff line change
Expand Up @@ -101,4 +101,4 @@ if (!opt$pca_name %in% reducedDimNames(sce)) {
}

# export -------------------
readr::write_rds(sce, opt$output_sce_file, compress = "gz")
readr::write_rds(sce, opt$output_sce_file, compress = "bz2")
2 changes: 1 addition & 1 deletion bin/filter_sce.R
Original file line number Diff line number Diff line change
Expand Up @@ -202,4 +202,4 @@ if (!is.null(ambient_profile)) {


# write filtered sce to output
readr::write_rds(filtered_sce, opt$filtered_file, compress = "gz")
readr::write_rds(filtered_sce, opt$filtered_file, compress = "bz2")
17 changes: 16 additions & 1 deletion bin/generate_unfiltered_sce.R
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,11 @@ if (opt$feature_dir != "") {
unfiltered_sce <- merge_altexp(unfiltered_sce, feature_sce, opt$feature_name)
# add alt experiment features stats
altExp(unfiltered_sce, opt$feature_name) <- scuttle::addPerFeatureQCMetrics(altExp(unfiltered_sce, opt$feature_name))

# if CITE, add `adt_id` column to rowData with rownames
if (opt$feature_name == "adt") {
rowData(altExp(unfiltered_sce, "adt"))$adt_id <- rownames(rowData(altExp(unfiltered_sce, "adt")))
}
}


Expand Down Expand Up @@ -179,13 +184,23 @@ unfiltered_sce <- unfiltered_sce |>
# `add_sample_metadata` will filter sample_metadata_df to the relevant sample ids
add_sample_metadata(metadata_df = sample_metadata_df)

# if columns with sample type info aren't provided, set to NA
if (!("is_xenograft" %in% colnames(sample_metadata_df))) {
sample_metadata_df$is_xenograft <- NA
}
if (!("is_cell_line" %in% colnames(sample_metadata_df))) {
sample_metadata_df$is_cell_line <- NA
}

# add explicit metadata field for the sample type
sample_type <- sample_metadata_df |>
dplyr::filter(sample_id %in% sample_ids) |>
dplyr::mutate(
sample_type = dplyr::case_when(
is_xenograft ~ "patient-derived xenograft",
is_cell_line ~ "cell line",
# if neither column was provided, note that
is.na(is_xenograft) && is.na(is_cell_line) ~ "Not provided",
.default = "patient tissue"
)
) |>
Expand All @@ -200,4 +215,4 @@ if (length(sample_type) == 1) {
metadata(unfiltered_sce)$sample_type <- sample_type

# write to rds
readr::write_rds(unfiltered_sce, opt$unfiltered_file, compress = "gz")
readr::write_rds(unfiltered_sce, opt$unfiltered_file, compress = "bz2")
Loading
Loading