Skip to content
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
277 commits
Select commit Hold shift + click to select a range
c4868ed
Merge pull request #5 from qbic-pipelines/dev_preprocessing
CaroAMN Jan 29, 2025
ccfa907
pulling container from quay.io
CaroAMN Jan 30, 2025
a1211ed
numorph preprocessing as subworkflow
CaroAMN Jan 30, 2025
0d89496
added resample module
CaroAMN Feb 2, 2025
487e960
bug fix registration module + added into the full lsmquant workflow. …
CaroAMN Feb 13, 2025
88771f4
updated
CaroAMN Feb 16, 2025
c996cef
Template update for nf-core/tools version 3.2.0
CaroAMN Feb 16, 2025
71ded30
template update
CaroAMN Feb 16, 2025
3b0ad7c
formating
CaroAMN Feb 16, 2025
3b8791e
formating
CaroAMN Feb 16, 2025
91e0fea
delet nfvalidation, update nextflow_schema with new pipeline params, …
CaroAMN Feb 16, 2025
118a316
fix nf-schema
CaroAMN Feb 17, 2025
5b5954b
Merge pull request #6 from CaroAMN/dev
CaroAMN Feb 17, 2025
2838cd9
added stubs
CaroAMN Feb 18, 2025
20ad524
started to setup nf-test tests with stub, + bug fix in stitched chan…
CaroAMN Feb 20, 2025
a09868e
stub tests for all modules
CaroAMN Feb 20, 2025
971a211
Merge pull request #7 from CaroAMN/dev
CaroAMN Feb 20, 2025
bafec4a
module for matlab file conversion
CaroAMN Feb 21, 2025
6e93cc7
adding subworklfow test
CaroAMN Feb 21, 2025
2af8f46
Merge pull request #8 from CaroAMN/dev
CaroAMN Feb 21, 2025
2044680
update process resources for full data run
CaroAMN Feb 27, 2025
59fd829
update
CaroAMN Mar 19, 2025
40f8e68
test profile with zip archive data downloaded from zenodo
CaroAMN Mar 20, 2025
034eee8
ara registration as subworkflow
CaroAMN Mar 20, 2025
9481dc5
mat2json module in preprocessing subworkflow
CaroAMN Mar 21, 2025
e708461
Merge pull request #9 from CaroAMN/dev
CaroAMN Mar 21, 2025
f4f7c63
updated test profile with test data on the test-data repository, upda…
CaroAMN Mar 24, 2025
e466eca
Merge pull request #10 from CaroAMN/dev
CaroAMN Mar 24, 2025
3304111
bug fix in mat2json output + new metromap
CaroAMN Apr 1, 2025
cfab1b5
update output docs
CaroAMN Apr 2, 2025
0be42aa
update output docs
CaroAMN Apr 2, 2025
1948a40
update usage + parameter_template file added
CaroAMN Apr 2, 2025
2dc5613
Merge pull request #11 from CaroAMN/dev
CaroAMN Apr 2, 2025
44df04e
new module for segmentation + gpu lable for segmentation process
CaroAMN May 9, 2025
4eca6bf
update params_template, update documentation
CaroAMN May 16, 2025
4c3dde9
fix numorph3dunet output + gpu access
CaroAMN May 19, 2025
3ba469c
adding nf-test-gpu.yml
CaroAMN May 20, 2025
aed2dcb
fix toll versions, excluding segmentation from test profile, update docs
CaroAMN May 23, 2025
10e1fc9
Merge pull request #13 from CaroAMN/dev
CaroAMN May 23, 2025
8dae5b2
Merged changes from nf-core template
CaroAMN May 23, 2025
0041852
Merge pull request #14 from CaroAMN/merging-template-updates
CaroAMN May 23, 2025
ccef730
bug fix from template merge
CaroAMN May 27, 2025
42a5271
adding default.nf.test + github actions, small version fix in stitchn…
CaroAMN May 27, 2025
4d9f106
fix typo
CaroAMN May 27, 2025
68b2369
fix typo in directory
CaroAMN May 27, 2025
cf37f53
change absolute to relative paths
CaroAMN May 28, 2025
680c351
update relative paths
CaroAMN May 28, 2025
13e090c
update relative paths
CaroAMN May 28, 2025
39b417f
update relative paths
CaroAMN May 28, 2025
1914633
update relative paths
CaroAMN May 28, 2025
e647411
update relative paths
CaroAMN May 28, 2025
bd01191
update relative paths
CaroAMN May 28, 2025
ca3fd31
update relative paths
CaroAMN May 28, 2025
5386b08
update relative paths
CaroAMN May 28, 2025
da3f2fe
update relative paths
CaroAMN May 28, 2025
e784238
update relative paths
CaroAMN May 28, 2025
12289f5
update
CaroAMN May 28, 2025
e9a9704
using stageAs
CaroAMN May 28, 2025
adec148
using stageAs update
CaroAMN May 28, 2025
c429a8e
using stageAs update
CaroAMN May 28, 2025
cc4f955
update: convert symlinks
CaroAMN Jun 4, 2025
f291a06
test relative paths with new image and matlab application
CaroAMN Jun 5, 2025
0b504e3
test output paths
CaroAMN Jun 5, 2025
e6199e1
update nf-test config
CaroAMN Jun 13, 2025
9394f3f
update nf-test with stub tests, nf-test ci only stub tests, cache fix…
CaroAMN Jun 18, 2025
3cec0ad
test without stub
CaroAMN Jun 18, 2025
bc0adf4
stub tests only
CaroAMN Jun 20, 2025
2fdf046
nf-test main/stub for intensity module
CaroAMN Jun 20, 2025
58cbfa9
nf-tests update
CaroAMN Jun 20, 2025
fac5f79
ignore stub tests from modules/subworkflows local
CaroAMN Jun 25, 2025
856ea25
update pipeline test data base path
CaroAMN Jun 25, 2025
70af6fc
Merge pull request #18 from CaroAMN/dev
CaroAMN Jun 25, 2025
f2a2794
Merged changes from nf-core template
CaroAMN Jun 26, 2025
cc0bc58
Merge branch 'dev' into merging-template-updates
CaroAMN Jun 26, 2025
2cc9c95
fix ro-crate-metadata.json
CaroAMN Jun 26, 2025
09583fd
pre-commit update
CaroAMN Jun 26, 2025
a21f43e
update pre-commit changes
CaroAMN Jun 26, 2025
901aeb9
Merge pull request #2 from CaroAMN/merging-template-updates
CaroAMN Jun 26, 2025
00f089b
only stub tests
CaroAMN Jun 26, 2025
349d267
Merge pull request #19 from CaroAMN/dev
CaroAMN Jun 26, 2025
040d5c0
added stub test for local numorphunet-module
CaroAMN Jun 27, 2025
fd0059c
Merge pull request #20 from CaroAMN/dev
CaroAMN Jun 27, 2025
5fffa29
update
CaroAMN Jul 3, 2025
e941602
path fix for test data
CaroAMN Jul 15, 2025
356e9dd
path fix for test data
CaroAMN Jul 15, 2025
72cb1ec
path fix for test data
CaroAMN Jul 15, 2025
19d4100
path fix for test data
CaroAMN Jul 15, 2025
427cce9
update file path to the right file for shards
CaroAMN Jul 21, 2025
1451070
update
CaroAMN Jul 21, 2025
7956595
fix linting
CaroAMN Aug 19, 2025
c9f1758
update nextflow_schema with new parameter
CaroAMN Aug 19, 2025
119aca6
gpu test
CaroAMN Aug 19, 2025
0bb7a66
testing gpu access
CaroAMN Aug 20, 2025
b3677c2
unet test with new minimal test dataset, updated setup method
CaroAMN Aug 22, 2025
ca094e7
Merge pull request #21 from CaroAMN/dev
CaroAMN Aug 22, 2025
bb29d0e
Merged changes from nf-core template
CaroAMN Aug 25, 2025
1d168a6
update ro-crate-metadata.json
CaroAMN Aug 25, 2025
559f6c5
update nextflow version manually for GPU tests
CaroAMN Aug 25, 2025
9822d46
update nextflow version manually for GPU tests
CaroAMN Aug 25, 2025
7c56103
linting
CaroAMN Aug 25, 2025
6e9fa82
Merge pull request #24 from CaroAMN/merging-template-updates
CaroAMN Aug 25, 2025
24e51d8
linting
CaroAMN Aug 26, 2025
ec893f1
Merge pull request #25 from CaroAMN/dev
CaroAMN Aug 26, 2025
94e0e36
update pipeline level test
CaroAMN Aug 27, 2025
ab0542d
update subworkflows + modules, update meta.yml of numorph subworkflows
CaroAMN Aug 27, 2025
44543df
update stub pipeline test
CaroAMN Aug 27, 2025
48e6e39
update snapshots pipeline level tests, update config files
CaroAMN Aug 27, 2025
bb0c650
update pipeline level test + snapshot
CaroAMN Aug 28, 2025
500cea6
update preprocess snapshots
CaroAMN Aug 29, 2025
b8ae277
update all modules and subworkflow tests
CaroAMN Aug 29, 2025
4806886
update snapshots + nftignore
CaroAMN Aug 29, 2025
0e634df
update test config
CaroAMN Aug 30, 2025
fe77cd4
update config
CaroAMN Aug 30, 2025
1c80693
update test profile
CaroAMN Sep 1, 2025
a5494c3
update snapshot pipeline level tests
CaroAMN Sep 1, 2025
2b23657
fix nf-test-gpu.yml
CaroAMN Sep 1, 2025
4c943b0
update modules + container images
CaroAMN Sep 2, 2025
8f8b5f1
update nftignore, subworkflow(test)
CaroAMN Sep 3, 2025
f37b9bb
debug statements
CaroAMN Sep 4, 2025
7406876
profile gpu in test file
CaroAMN Sep 4, 2025
7393310
profile test,gpu in test file
CaroAMN Sep 4, 2025
70c77b5
remove nextflow config in test
CaroAMN Sep 4, 2025
669b9ac
config file
CaroAMN Sep 4, 2025
165b3c4
add gpu profile to test
CaroAMN Sep 5, 2025
4b41cb6
reset profiles in default test + add svg metromap +hirse promo badge
CaroAMN Sep 5, 2025
27f44f1
profile test in test script, deleted obsolete config test_gpu
CaroAMN Sep 11, 2025
7fdbd45
lint
CaroAMN Sep 11, 2025
61f7e6d
add nextflow debug var and get conatiner launch information...
CaroAMN Sep 11, 2025
afd820f
find nextflow log on ci
CaroAMN Sep 11, 2025
4159eeb
removed pwd + resolved symlinks for registration and resampling modul…
CaroAMN Sep 22, 2025
debb80e
Merge pull request #26 from CaroAMN/dev
CaroAMN Sep 22, 2025
cb0df5d
adjusted mat2json process
CaroAMN Sep 23, 2025
f40b910
added container runoptions to gpu process tag, deleted gpu test profi…
CaroAMN Sep 24, 2025
b1ccb97
update snapshots + exclude unused params from base config
CaroAMN Sep 24, 2025
de2600c
update snapshot and test
CaroAMN Sep 24, 2025
77a1d03
update snapshot
CaroAMN Sep 24, 2025
bbbd6a5
Merge pull request #28 from CaroAMN/dev
CaroAMN Sep 24, 2025
22483ed
new container for preprocessing, adjusting symlinks for files, fixing…
CaroAMN Oct 7, 2025
b533a26
fix for test profile: raw images wont get copied into the work dir fo…
CaroAMN Oct 9, 2025
e2c4da1
adding staging module into main workflow
CaroAMN Oct 9, 2025
ecd6ace
cleanup
CaroAMN Oct 9, 2025
1afc76b
new container image
CaroAMN Oct 17, 2025
ccb723e
adding multiqc + update workflow with file staging module
CaroAMN Oct 17, 2025
a58bbd3
update snapshot
CaroAMN Oct 17, 2025
7529b76
update snapshot + nftignore
CaroAMN Oct 23, 2025
ac531d7
now use the container from nf-core quay io
CaroAMN Oct 23, 2025
667c394
adjusted docs
CaroAMN Oct 28, 2025
67c8e0a
update readme
CaroAMN Oct 28, 2025
dcc6f68
fix ro-crate
CaroAMN Oct 28, 2025
8633750
Merge pull request #30 from CaroAMN/dev
CaroAMN Oct 28, 2025
df24526
bump version + cleanup + multiqc update
CaroAMN Oct 29, 2025
3fdef49
update snapshot
CaroAMN Oct 29, 2025
a7836f8
update snapshot
CaroAMN Oct 29, 2025
0ab9428
Merge pull request #32 from CaroAMN/dev
CaroAMN Nov 4, 2025
97adbc0
adding larger volume to nf-test+ deleting stub tag, clean nf-test-gpu…
CaroAMN Nov 6, 2025
d0d8528
Merge pull request #34 from CaroAMN/dev
CaroAMN Nov 6, 2025
e6138cc
fix incorrect file permissions
mashehu Nov 6, 2025
c536b50
Merge pull request #35 from nf-core/fix-file-permissions
CaroAMN Nov 10, 2025
da697f7
adding citations, remove typos
CaroAMN Nov 12, 2025
b16975c
fix ro-crate
CaroAMN Nov 14, 2025
303fd84
Merge pull request #36 from CaroAMN/dev
CaroAMN Nov 14, 2025
a05934d
Apply suggestions from code review
CaroAMN Dec 19, 2025
8ae1d64
Update .github/workflows/nf-test-gpu.yml
CaroAMN Dec 23, 2025
bb73714
Apply suggestions from code review
CaroAMN Dec 23, 2025
0ba0a5a
apply suggestions from code review, typos
CaroAMN Dec 23, 2025
f88e88e
linting
CaroAMN Dec 23, 2025
9b1e779
rocrate
CaroAMN Dec 23, 2025
d7cdc00
Merge pull request #38 from CaroAMN/dev
CaroAMN Dec 29, 2025
07bf023
fix typos, add test_full
CaroAMN Jan 2, 2026
c4c7011
Merge pull request #39 from CaroAMN/dev
CaroAMN Jan 2, 2026
9a6aea9
optimizing resources, fix stagefiles for large datasets
CaroAMN Jan 2, 2026
1cdb825
update resource usage, fix input for large datasets
CaroAMN Jan 7, 2026
7addc4b
back to unzip
CaroAMN Jan 8, 2026
0fce8e5
update snapshot
CaroAMN Jan 8, 2026
fbe561a
Merge pull request #40 from CaroAMN/dev
CaroAMN Jan 8, 2026
6e83617
Update documentation with methods section. adding intensity adjustemn…
CaroAMN Jan 14, 2026
fc02507
update docs with alignemnt and stitching
CaroAMN Jan 16, 2026
1cb9c36
Merge pull request #41 from CaroAMN/dev
hutaobo Jan 16, 2026
f70d339
restructuring parameter description
CaroAMN Jan 16, 2026
0f6bc1f
update docs
CaroAMN Jan 16, 2026
6766d7e
update parameter description
CaroAMN Jan 17, 2026
78bd2d5
Merge pull request #42 from CaroAMN/dev
CaroAMN Jan 19, 2026
7769b09
update workflow to take zip archives or directories as input
CaroAMN Jan 19, 2026
b07aa48
Merge pull request #43 from CaroAMN/dev
CaroAMN Jan 19, 2026
2a04042
update metromap, update contributions
CaroAMN Jan 19, 2026
fa0be5b
update metromap
CaroAMN Jan 19, 2026
3745412
update docs
CaroAMN Jan 19, 2026
87d1ea2
fix ro-crate
CaroAMN Jan 19, 2026
09be465
Merge pull request #44 from CaroAMN/dev
CaroAMN Jan 19, 2026
77fcd4c
adding new subworkflow: intensity+ stitching ( no alignemnt)
CaroAMN Jan 20, 2026
4179362
fix typo
CaroAMN Jan 20, 2026
1eaf212
update docs, parameters,schema
CaroAMN Jan 21, 2026
c6f2ee0
update default param
CaroAMN Jan 21, 2026
417fda7
update schema
CaroAMN Jan 21, 2026
318e04f
fix ro-crate-metadata
CaroAMN Jan 21, 2026
af6468a
fix missing channel + brackets
CaroAMN Jan 21, 2026
6532997
fix tests with new params
CaroAMN Jan 21, 2026
77e3c7a
update config
CaroAMN Jan 22, 2026
651bbd7
Merge pull request #45 from CaroAMN/dev
CaroAMN Jan 23, 2026
68c520c
Merged changes from nf-core template
CaroAMN Jan 23, 2026
2ff28a7
update nextflow config
CaroAMN Jan 23, 2026
b7e06e5
update snapshot
CaroAMN Feb 4, 2026
96b17a8
update nextflow version
CaroAMN Feb 4, 2026
7963748
update nextflow version again
CaroAMN Feb 4, 2026
de18eb7
Merge pull request #46 from CaroAMN/merging-template-updates-351
CaroAMN Feb 4, 2026
2b9a01b
update documentation
CaroAMN Feb 10, 2026
62222cd
add workflow stitch_only
CaroAMN Feb 13, 2026
0b9e33f
Merge pull request #48 from CaroAMN/dev
CaroAMN Feb 13, 2026
c644ecd
update README for new workflow
CaroAMN Feb 13, 2026
c20dc5a
Merge pull request #49 from CaroAMN/dev
CaroAMN Feb 13, 2026
9426c57
Delete docs/images/lsmquant-metromap.svg
CaroAMN Feb 16, 2026
cb8de49
Add files via upload
CaroAMN Feb 16, 2026
0728ea0
Merge pull request #3 from nf-core/dev
CaroAMN Feb 16, 2026
3f62f7b
new metromap
CaroAMN Feb 16, 2026
33c68f4
Merge pull request #50 from CaroAMN/dev
CaroAMN Feb 16, 2026
13d2e5c
remove unused module + add release name + add credits
CaroAMN Feb 18, 2026
c38e609
adding credits
CaroAMN Feb 18, 2026
e0317a1
fixing 3dunet test
CaroAMN Feb 18, 2026
296b822
fixing ro-crate
CaroAMN Feb 18, 2026
37c8f94
Merge pull request #51 from CaroAMN/dev
CaroAMN Feb 18, 2026
996e6bf
Add lint configuration to .nf-core.yml
CaroAMN Feb 19, 2026
6f373ba
Apply suggestions from code review
CaroAMN Feb 27, 2026
af1a0cc
adding review suggestions
CaroAMN Mar 3, 2026
e9b4f5c
adding review suggestions
CaroAMN Mar 5, 2026
808ab8d
remove multiqc from nftignore
CaroAMN Mar 5, 2026
e96917c
add review suggestions
CaroAMN Mar 5, 2026
d6744ab
Merge pull request #53 from CaroAMN/dev
CaroAMN Mar 5, 2026
6cf2bd8
Apply suggestions from code review
CaroAMN Mar 5, 2026
8c3ca2e
update parameters
CaroAMN Mar 16, 2026
4bfd180
adding parameter schema for validation
CaroAMN Mar 17, 2026
d7417ef
add nf-core modules, update align module with new channels and test
CaroAMN Mar 17, 2026
8cfd971
update module stitch
CaroAMN Mar 17, 2026
d9ea734
update test and module
CaroAMN Mar 18, 2026
3d638b0
add param validation module
CaroAMN Mar 18, 2026
879cda2
update subworkflow, version topics + nf-core modules
CaroAMN Mar 19, 2026
e9b7601
update subworkflow numorph stitch
CaroAMN Mar 19, 2026
857a274
update workflow
CaroAMN Mar 19, 2026
f01b737
add mat2json to workflow + delete unused modules
CaroAMN Mar 19, 2026
2d67e70
update araregistration
CaroAMN Mar 19, 2026
793cfa1
update pipeline test+
CaroAMN Mar 20, 2026
08ea7bd
update pipeline test
CaroAMN Mar 20, 2026
a027631
Merge pull request #54 from CaroAMN/dev
CaroAMN Mar 20, 2026
0386c16
Apply suggestion from @mashehu
CaroAMN Mar 20, 2026
bc75b5c
Apply suggestions from code review
CaroAMN Mar 20, 2026
412373a
Apply suggestions from code review
CaroAMN Mar 20, 2026
8d848df
update subworkflow tests
CaroAMN Mar 20, 2026
ed7073a
update config
CaroAMN Mar 20, 2026
55e2f02
Merge pull request #55 from CaroAMN/dev
CaroAMN Mar 20, 2026
bb5777a
update ara subworkflow
CaroAMN Mar 23, 2026
ddf60c1
Merge pull request #56 from CaroAMN/dev
CaroAMN Mar 23, 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
1 change: 0 additions & 1 deletion .github/actions/get-shards/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ runs:
# Default values for shard and total_shards
shard="[]"
total_shards=0

# Check if there are related tests
if echo "$nftest_output" | grep -q 'No tests to execute'; then
echo "No related tests found."
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/nf-test/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ runs:

# Save the absolute path of the test.tap file to the output
echo "tap_file_path=$(realpath test.tap)" >> $GITHUB_OUTPUT

- name: Generate test summary
if: always()
shell: bash
Expand All @@ -86,6 +85,7 @@ runs:
touch .summary_header
fi


if [ -f test.tap ]; then
while IFS= read -r line; do
if [[ $line =~ ^ok ]]; then
Expand Down
127 changes: 127 additions & 0 deletions .github/workflows/nf-test-gpu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
name: Run GPU nf-tests
on:
push:
branches:
- dev
pull_request:
release:
types: [published]
workflow_dispatch:
inputs:
runners:
description: "Runners to test on"
type: string
default: "gpu"

# Cancel if a newer run is started
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# renovate: datasource=github-releases depName=askimed/nf-test versioning=semver
NFT_VER: "0.9.3"
NXF_ANSI_LOG: false
NXF_SINGULARITY_CACHEDIR: ${{ github.workspace }}/.singularity
NXF_SINGULARITY_LIBRARYDIR: ${{ github.workspace }}/.singularity
# renovate: datasource=github-releases depName=nextflow-io/nextflow versioning=semver
NXF_VER: "25.10.3"

jobs:
get-shards:
runs-on:
- runs-on=${{ github.run_id }}-nf-test-get-shards-gpu
- runner=2cpu-linux-x64
name: "Get Shards"
outputs:
shard: ${{ steps.set-shards.outputs.shard }}
total_shards: ${{ steps.set-shards.outputs.total_shards }}
steps:
- name: Check out pipeline code
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
with:
fetch-depth: 0

- name: run nf-test-shard action
id: set-shards
uses: ./.github/actions/get-shards
env:
NFT_VER: ${{ env.NFT_VER }}
with:
tags: "gpu"
max_shards: 2

- name: Set outputs
id: set-outputs
run: |
echo "shard=${{ steps.set-shards.outputs.shard }}" >> $GITHUB_ENV
echo "total_shards=${{ steps.set-shards.outputs.total_shards }}" >> $GITHUB_ENV

nf-test-gpu:
needs: [get-shards]
runs-on: "runs-on=${{ github.run_id }}/family=g4dn.xlarge/image=ubuntu24-gpu-x64"
name: "GPU Test | ${{ matrix.profile }} | ${{ matrix.shard }} | ${{ matrix.NXF_VER }} | ${{ matrix.filters }}"
env:
NXF_VER: ${{ matrix.NXF_VER }}

# Only run on push if this is the nf-core dev branch (merged PRs)
# and number of shards is greater than 0
if: |
needs.get-shards.outputs.total_shards > 0 &&
(
github.event_name != 'push' ||
( github.event_name == 'push' && github.repository == 'nf-core/lsmquant' )
)
strategy:
fail-fast: false
matrix:
profile: [docker, singularity]
shard: ${{ fromJson(needs.get-shards.outputs.shard) }}
NXF_VER:
- "25.10.3"
filters: [pipeline]

steps:
- name: Check out pipeline code
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
with:
fetch-depth: 0

- name: Test CUDA
run: |
nvidia-smi -L

- name: Run nf-test Action
uses: ./.github/actions/nf-test
with:
profile: ${{ matrix.profile }},gpu
shard: ${{ matrix.shard }}
total_shards: ${{ needs.get-shards.outputs.total_shards }}
filters: ${{ matrix.filters }}
tags: "gpu"

confirm-pass:
runs-on:
- runs-on=${{ github.run_id }}-confirm-pass
- runner=2cpu-linux-x64
needs: [nf-test-gpu]
if: always()
steps:
- name: One or more tests failed
if: ${{ contains(needs.*.result, 'failure') }}
run: exit 1

- name: One or more tests cancelled
if: ${{ contains(needs.*.result, 'cancelled') }}
run: exit 1

- name: All tests ok
if: ${{ contains(needs.*.result, 'success') }}
run: exit 0

- name: debug-print
if: always()
run: |
echo "toJSON(needs) = ${{ toJSON(needs) }}"
echo "toJSON(needs.*.result) = ${{ toJSON(needs.*.result) }}"
4 changes: 3 additions & 1 deletion .github/workflows/nf-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,12 @@ jobs:
runs-on: # use self-hosted runners
- runs-on=${{ github.run_id }}-nf-test
- runner=4cpu-linux-x64
- volume=80gb
strategy:
fail-fast: false
matrix:
shard: ${{ fromJson(needs.nf-test-changes.outputs.shard) }}
profile: [conda, docker, singularity]
profile: [docker, singularity]
isMain:
- ${{ github.base_ref == 'master' || github.base_ref == 'main' }}
# Exclude conda and singularity on dev
Expand Down Expand Up @@ -100,6 +101,7 @@ jobs:
profile: ${{ matrix.profile }}
shard: ${{ matrix.shard }}
total_shards: ${{ env.TOTAL_SHARDS }}
tags: "stub"

- name: Report test status
if: ${{ always() }}
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ testing/
testing*
*.pyc
null/
.nf-test*
5 changes: 5 additions & 0 deletions .nf-core.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
nf_core_version: 3.5.1
repository_type: pipeline
lint:
included_configs: False
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this really needed?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i get a linting error if i don't have this .... i didn't know to solve it otherwise

template:
author: Carolin Schwitalla
description: A pipeline for preprocessing and analysis of large-scale light-sheet
Expand All @@ -9,4 +11,7 @@ template:
name: lsmquant
org: nf-core
outdir: .
skip_features:
- fastqc
- igenomes
version: 1.0.0
34 changes: 33 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,46 @@
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## v1.0.0 - [date]
## v1.0.0 - Excited Squid

Initial release of nf-core/lsmquant, created with the [nf-core](https://nf-co.re/) template.

### `Added`

The main functionalities of the NuMorph toolbox are added up until the nuclei quantification via a 3DUnet

local Modules:

- numorphintensity
- numorphalign
- numorphstitch
- numorphresample
- numorphregister
- numorph3dunet
- mat2json
- stagefiles

nf-core Modules:

- multiqc
- unzip

local subworkflows:

- numorphpreprocessing:
- numorphintensity
- numorphalign
- numorphstitch
- mat2json
- ara-registration
- numorphresample
- numorphregister
- mat2json

### `Fixed`

### `Dependencies`

Custom numorph container `numorphpreprocessing`, `numorphanalyze`, `mat2json`, and `numorph3dunet`are on the nf-core quay io repository. Compiled matlab application [numorph_preprocessing](https://github.com/CaroAMN/numorph_preprocessing), [mat2json](https://github.com/CaroAMN/mat2json) and the source code for the [3Dunet](https://github.com/CaroAMN/numorph_3dunet) python package are public repositories. The source code of the tools are found here [NuMorph_dev](https://github.com/CaroAMN/Numorph_dev/tree/main)

### `Deprecated`
22 changes: 15 additions & 7 deletions CITATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,31 @@

## Pipeline tools

- [FastQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/)
- [BaSiC](https://www.nature.com/articles/ncomms14836)

> Andrews, S. (2010). FastQC: A Quality Control Tool for High Throughput Sequence Data [Online].
> Peng, T., Thorn, K., Schroeder, T. et al. A BaSiC tool for background and shading correction of optical microscopy images. Nat Commun 8, 14836 (2017). https://doi.org/10.1038/ncomms14836

- [elastix](https://pubmed.ncbi.nlm.nih.gov/19923044/)

> Klein S, Staring M, Murphy K, Viergever MA, Pluim JP. elastix: a toolbox for intensity-based medical image registration. IEEE Trans Med Imaging. 2010 Jan;29(1):196-205. doi: 10.1109/TMI.2009.2035616. Epub 2009 Nov 17. PMID: 19923044.

- [MultiQC](https://pubmed.ncbi.nlm.nih.gov/27312411/)

> Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924.

## Software packaging/containerisation tools
- [NuMorph](https://pubmed.ncbi.nlm.nih.gov/34644582/)

- [Anaconda](https://anaconda.com)
> Krupa O, Fragola G, Hadden-Ford E, Mory JT, Liu T, Humphrey Z, Rees BW, Krishnamurthy A, Snider WD, Zylka MJ, Wu G, Xing L, Stein JL. NuMorph: Tools for cortical cellular phenotyping in tissue-cleared whole-brain images. Cell Rep. 2021 Oct 12;37(2):109802. doi: 10.1016/j.celrep.2021.109802. PMID: 34644582; PMCID: PMC8530274.

> Anaconda Software Distribution. Computer software. Vers. 2-2.4.0. Anaconda, Nov. 2016. Web.
[VLFeat](https://www.vlfeat.org/)

- [Bioconda](https://pubmed.ncbi.nlm.nih.gov/29967506/)
> A. Vedaldi and B. Fulkerson VLFeat: An Open and Portable Library of Computer Vision Algorithms (2008)

> Grüning B, Dale R, Sjödin A, Chapman BA, Rowe J, Tomkins-Tinch CH, Valieris R, Köster J; Bioconda Team. Bioconda: sustainable and comprehensive software distribution for the life sciences. Nat Methods. 2018 Jul;15(7):475-476. doi: 10.1038/s41592-018-0046-7. PubMed PMID: 29967506.
- [3DUnetCNN](https://pubmed.ncbi.nlm.nih.gov/37555134/)

> Ellis DG, Aizenberg MR. Structural Brain Imaging Predicts Individual-Level Task Activation Maps Using Deep Learning. Front Neuroimaging. 2022 Apr 18;1:834883. doi: 10.3389/fnimg.2022.834883. PMID: 37555134; PMCID: PMC10406267.

## Software packaging/containerisation tools

- [BioContainers](https://pubmed.ncbi.nlm.nih.gov/28379341/)

Expand Down
77 changes: 55 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,41 +18,53 @@
[![Launch on Seqera Platform](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Seqera%20Platform-%234256e7)](https://cloud.seqera.io/launch?pipeline=https://github.com/nf-core/lsmquant)

[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23lsmquant-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/lsmquant)[![Follow on Bluesky](https://img.shields.io/badge/bluesky-%40nf__core-1185fe?labelColor=000000&logo=bluesky)](https://bsky.app/profile/nf-co.re)[![Follow on Mastodon](https://img.shields.io/badge/mastodon-nf__core-6364ff?labelColor=FFFFFF&logo=mastodon)](https://mstdn.science/@nf_core)[![Watch on YouTube](http://img.shields.io/badge/youtube-nf--core-FF0000?labelColor=000000&logo=youtube)](https://www.youtube.com/c/nf-core)
![HiRSE Code Promo Badge](https://img.shields.io/badge/Promo-8db427?style=plastic&label=HiRSE&labelColor=005aa0&link=https%3A%2F%2Fgo.fzj.de%2FCodePromo)

## Introduction

**nf-core/lsmquant** is a bioinformatics pipeline that ...
**nf-core/lsmquant** is a bioinformatics pipeline that performs preprocessing and analysis of light-sheet microscopy images of tissue cleared samples. The pipeline takes raw images from a directory or a zip archive as input. The images need to be in a 2D single-channel 16-bit `tif`format.

<!-- TODO nf-core:
Complete this sentence with a 2-3 sentence summary of what types of data the pipeline ingests, a brief overview of the
major pipeline sections and the types of output it produces. You're giving an overview to someone new
to nf-core here, in 15-20 seconds. For an example, see https://github.com/nf-core/rnaseq/blob/master/README.md#introduction
-->
![lsmquant metromap](docs/images/lsmquant-metromap.svg)

<!-- TODO nf-core: Include a figure that guides the user through the major workflow steps. Many nf-core
workflows use the "tube map" design for that. See https://nf-co.re/docs/guidelines/graphic_design/workflow_diagrams#examples for examples. -->
<!-- TODO nf-core: Fill in short bullet-pointed list of the default steps in the pipeline -->1. Read QC ([`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/))2. Present QC for raw reads ([`MultiQC`](http://multiqc.info/))
## Pipeline Summary

The pipeline consists of 3 major components: Preprocessing, Cell-Nuclei quantification, and Allen Reference Atlas registration. A detailed explanation on each method can be found in the [Methods description](./docs/usage.md) section.

**Preprocessing**

This stage reconstructs the 3D image from raw light-sheet data. Here three different workflows can be chosen:

1. `int_align_stitch`: Performs intensity adjustment, channel alignment, and iterative tile stitching

2. `int_stitch`: Performs intensity adjustment and iterative tile stitching.

3. `stitch_only`: Performs only iterative tile stitching

**Cell Nuclei Quantification**

Quantification of cell-nuclei is performed using a 3D-Unet and it is performed on the nuclear channel only. This is an optional workflow and can be chosen by setting the parameter:`nuclei_quantification`

**Allen Brain Atlas Registration (Optional)**

This workflow registers full brain images to the Allen Brain Reference Atlas. This is an optional workflow and can be chosen by setting the parameter: `ara_registartion`

## Usage

> [!NOTE]
> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/usage/installation) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/usage/introduction#how-to-run-a-pipeline) with `-profile test` before running the workflow on actual data.

<!-- TODO nf-core: Describe the minimum required steps to execute the pipeline, e.g. how to prepare samplesheets.
Explain what rows and columns represent. For instance (please edit as appropriate):
To run the pipeline you need to provide a samplesheet with your data in the following structure:

First, prepare a samplesheet with your input data that looks as follows:

`samplesheet.csv`:
`samplesheet.csv`

```csv
sample,fastq_1,fastq_2
CONTROL_REP1,AEG588A1_S1_L002_R1_001.fastq.gz,AEG588A1_S1_L002_R2_001.fastq.gz
sample_id,img_directory,parameter_file
TEST1,path/to/image-files,path/to/parameter/file.csv
```

Each row represents a fastq file (single-end) or a pair of fastq files (paired end).
The parameter csv file includes sample specific parameters that are used for processing the given data. It needs to follow a specific structure.

-->
Please get the basic template file [here](../assets/params_template_lsmquant.csv).

Now, you can run the pipeline using:

Expand All @@ -61,8 +73,9 @@ Now, you can run the pipeline using:
```bash
nextflow run nf-core/lsmquant \
-profile <docker/singularity/.../institute> \
--input samplesheet.csv \
--outdir <OUTDIR>
--input <samplesheet.csv> \
--outdir <OUTDIR> \
--stage <stage>
```

> [!WARNING]
Expand All @@ -78,11 +91,31 @@ For more details about the output files and reports, please refer to the

## Credits

nf-core/lsmquant was originally written by Carolin Schwitalla.
nf-core/lsmquant was originally written by [Carolin Schwitalla](https://github.com/CaroAMN) at the Quantitative Biology Center and the University of Tuebingen ([QBiC](https://www.info.qbic.uni-tuebingen.de/)) in collaboration with the [Stein Lab](https://www.steinlab.org/) at the University of North Carolina.

The pipeline is mainly based on the NuMorph (Nuclear-Based Morphometry) toolbox developed by Krupa et al., 2021.

> **NuMorph: Tools for cortical cellular phenotyping in tissue-cleared whole-brain images**
>
> Krupa O, Fragola G, Hadden-Ford E, Mory JT, Liu T, Humphrey Z, Rees BW, Krishnamurthy A, Snider WD, Zylka MJ, Wu G, Xing L, Stein JL.
>
> Cell Rep. 2021 Oct 12, doi: [10.1016/j.celrep.2021.109802](https://doi.org/10.1016%2Fj.celrep.2021.109802)

We thank the following people for their extensive assistance in the development of this pipeline:

<!-- TODO nf-core: If applicable, make list of people who have also contributed -->
[Matthias Hörtenhuber](https://github.com/mashehu)\
[Famke Bäuerle](https://github.com/famosab)\
[Mark Polster](https://github.com/mapo9)\
[Susi Jo](https://github.com/SusiJo)\
[Luis Kuhn Cuellar](https://github.com/luiskuhn)\
[Daniel Straub](https://github.com/d4straub)\
[Niklas Grote](https://github.com/HomoPolyethylen)\
[Jason Stein](https://www.steinlab.org/)\
[Felix Kyere](https://www.steinlab.org/)\
[Ian Curtin](https://www.steinlab.org/)\
[Tatiana Woller](https://github.com/tatianawoller) [(VIB)](https://bioimagingcore-leuven.sites.vib.be/en)\
[Irene Lamberti](https://github.com/irelamb) [(VIB)](https://bioimagingcore-leuven.sites.vib.be/en)\
[Benjamin Pavie](https://github.com/bpavie) [(VIB)](https://bioimagingcore-leuven.sites.vib.be/en)

## Contributions and Support

Expand Down
Loading
Loading