-
Notifications
You must be signed in to change notification settings - Fork 14
scGPT integration workflow #794
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
Merged
Merged
Changes from 221 commits
Commits
Show all changes
239 commits
Select commit
Hold shift + click to select a range
78954c0
preproc script
dorien-er 9068e7a
preproc script
dorien-er dbe5204
tokenize and pad script
dorien-er 89a9c6a
tokenize and pad script
dorien-er 9e446f8
embedding script
dorien-er 94dd10c
test resourcers and evaluation script
dorien-er 3edf3c0
cross check gene set
dorien-er 085cdc4
pad_tokenize module
dorien-er 724427e
updat image
dorien-er f9aadfa
remove test resources, update inputs
dorien-er 33c9ffe
use pytorch image
dorien-er 0c6316d
remove integration component
dorien-er 47f5dda
remove nvidia reqs
dorien-er 9d2ffd0
Merge branch 'main' of github.com:openpipelines-bio/openpipeline into…
jakubmajercik 0f74ebd
remove load_model option
dorien-er 52fb38c
Fix retag for viash-hub not using correct namespace separator (#745)
DriesSchaumont accf980
CI - Build: Fix second occurance of namespace separator (#746)
DriesSchaumont b1dd6ce
script to download scgpt test data
dorien-er 18db6d6
remove test resources script
dorien-er 6c3fec0
adjust preprocessing script
dorien-er acd3600
add scgpt full preproc module
dorien-er 3e31204
integration submodule
dorien-er b5d1970
integration submodule and add normalize_total flag
dorien-er ec326f8
add params
dorien-er 2dddc1c
Merge pull request #751 from openpipelines-bio/scgpt-preprocessor
dorien-er dbb0ea5
Add script to download scgpt test resources (#750)
dorien-er adcd6f0
embedding module
dorien-er bd7a32f
Merge pull request #755 from openpipelines-bio/scgpt-dev
dorien-er 154ef26
add unit tests
dorien-er a7e08bc
undo subsampling test data
dorien-er 1fe1386
update tests
dorien-er bfea411
update tests
dorien-er 4eee70b
update memory requirements
dorien-er 283de5b
update tests
dorien-er 0496513
update changelog
dorien-er 21be79a
update component name
dorien-er b7587ee
fix tests, update changelog
dorien-er 045126a
run tests on subsampled data
dorien-er cf9da6e
adjust shm size
dorien-er c72575a
update test
dorien-er 779006a
update memory requirements nextflow
dorien-er 1e12613
update test
dorien-er b460c17
update test
dorien-er 3cb4682
update test
dorien-er 992cae7
expand unit tests, update script with loggers and todo
dorien-er 9ccc4a3
Add ATAC demux (#726)
VladimirShitov 5a2822a
run tests with subsampled data
dorien-er ab9a182
use specific model input files instead of directory
dorien-er 418687a
update test data
dorien-er 41b60be
Remove muon as test dependency for concatenate_h5mu. (#773)
DriesSchaumont 32446bb
minimal workflow
dorien-er 57cbccd
subworkflow for cross-checking genes and binning
dorien-er ee58ddf
add required modules
dorien-er 525cc41
add zero shot integration modules
dorien-er 1239e02
update workflow
dorien-er 7ec3ba4
scGPT binning component (#765)
dorien-er 5f2e092
Merge branch 'develop' into scgpt
DriesSchaumont 7491832
update tokenize pad dependencies and layer handling
dorien-er ab9a6ba
update embedding dependencies and gene name layer handling
dorien-er 9e1d35a
update embedding dependencies and gene name layer handling
dorien-er 299bd2f
update embedding dependencies and gene name layer handling
dorien-er 8a8ea7a
update rna_scgpt nextflow.config
dorien-er a7e1353
explicitly set scanpy version
dorien-er 3c7197a
update scgpt preproc
dorien-er cbc89e1
remove niceview
dorien-er 4e9d916
update input handling
dorien-er a6d8d4e
update modules
dorien-er 09cdb09
update input output handling
dorien-er 8d2b9d1
expand integration pipeline
dorien-er 8294fcf
add nextflow label directives
dorien-er c11db8c
include dsbn logic
dorien-er 785bca0
include dsbn logic
dorien-er e3faf4b
update unit tests
dorien-er 0ba4e9c
update config
dorien-er 350ba33
expand unit tests, fix dsbn
dorien-er 4b5cfa4
update parameters, temp workaround for troubleshoot
dorien-er 6a5d457
temporary workaround test
dorien-er 0e60d64
update workflow without new state output
dorien-er 11ec0cd
retry workflow_output
dorien-er 03969de
fetch workflow output from state
dorien-er 98e1d60
remove temporary workflow workaround
dorien-er d86e602
basic integration test added
jakubmajercik 1247039
tests pass + scgpt test resources updated
jakubmajercik b5e321e
add neighbors and umap to scgpt workflow
dorien-er 1e3a858
Merge pull request #789 from openpipelines-bio/scgpt-integration-qc
dorien-er 0f668ea
update descriptions to avoid shortcuts in launchpad
dorien-er 592eeb4
add clustering to scgpt integration workflow
dorien-er 7d1852b
add leiden clustering to scgpt integration workflow
dorien-er 86ff4ef
Update CHANGELOG.md
dorien-er 8fb4a68
Update src/scgpt/embedding/config.vsh.yaml
dorien-er e12b2e4
update required, remove shared memory docker
dorien-er b6083f0
Merge branch 'scgpt' into embed
dorien-er 5bec37a
Add scGPT padding and tokenization component (#754)
dorien-er 832d754
enable gpu device option
dorien-er e0ee58c
update dsbn
dorien-er 5d6ef32
Merge branch 'scgpt' into embed
dorien-er d224787
remove temporary, unused components
dorien-er c3e159a
update error messages, remove device param
dorien-er 2daa6f6
remove dropout param
dorien-er 6ddd7c1
fix typo
dorien-er 0ae8cdb
fix typo
dorien-er a5977ea
Merge pull request #761 from openpipelines-bio/embed
dorien-er f76eb03
remove temporary components
dorien-er e8227a2
Build(deps): Bump nf-core/setup-nextflow from 1.5.2 to 2.0.0 (#725)
dependabot[bot] 444f654
Cellranger Multi: better test for absolute path (#727)
DriesSchaumont 79bb4a1
grep_annotation_column: fix calculating fraction for observation with…
DriesSchaumont dd75b50
grep_annotation_column: fix fractions for sparse input data /w low bi…
DriesSchaumont 3d4a072
Revert "Cellranger multi: better test for absolute path" (#732)
DriesSchaumont 73527ef
Update nextflow resource labels for cellbender (#736)
DriesSchaumont 9834714
Fix --output arguments in workflows (#740)
DriesSchaumont dac5a52
Prepare CHANGELOG for 1.0.0rc2 [ci skip]
DriesSchaumont 45221d8
Use correct semver notation for 1.0.0-rc2 tag [ci skip].
DriesSchaumont 493698e
rna_singlesample: fix 'obs_name_mitochondrial_fraction' (#743)
DriesSchaumont 2401925
Remove unused CI step and improve input checks. (#744)
DriesSchaumont 8ba8fdc
CI: fix ternary operator for concurrency groups
DriesSchaumont 864e981
Update tests prebuilt asserters (#735)
jakubmajercik ed27333
Add t-SNE component (#742)
jakubmajercik 2c6b6d4
Change namespace separator (#712)
rcannood 5b0e04e
Trigger Build
DriesSchaumont f8ad965
Fix retag for viash-hub not using correct namespace separator (#745)
DriesSchaumont 82413a6
CI - Build: Fix second occurance of namespace separator (#746)
DriesSchaumont f36dc8e
Add script to download scgpt test resources (#750)
dorien-er 68800d3
script to download scgpt test data
dorien-er a198b79
remove test resources script
dorien-er e7359c6
Fix missing 'ps' in container images (#756)
DriesSchaumont c99b113
Fix publishing in process_samples and process_batches (#759)
DriesSchaumont 9c2cacb
Update CI resources
DriesSchaumont a56e111
Typo
DriesSchaumont c80b8d5
Update CHANGELOG
DriesSchaumont 98e7806
CI: Fix tests in release build [ci skip]
DriesSchaumont 177de2a
Subset scGPT resources (#764)
dorien-er 27556cc
Add ATAC demux (#726)
VladimirShitov 218ae41
Remove muon as test dependency for concatenate_h5mu. (#773)
DriesSchaumont b57882d
scGPT binning component (#765)
dorien-er a3f4740
Add scGPT padding and tokenization component (#754)
dorien-er 9becb83
embedding module
dorien-er 2098509
add unit tests
dorien-er 8314fd0
undo subsampling test data
dorien-er 49c96c5
update tests
dorien-er cb597fc
update tests
dorien-er 8094c75
update memory requirements
dorien-er a93fba0
update tests
dorien-er 56b7938
update changelog
dorien-er 61df081
update component name
dorien-er cdea404
fix tests, update changelog
dorien-er 4c512ed
run tests on subsampled data
dorien-er ad9188a
adjust shm size
dorien-er 00dea46
update test
dorien-er 9929f02
update memory requirements nextflow
dorien-er 09dbf0c
update test
dorien-er ba8b543
update test
dorien-er bb05d47
update test
dorien-er 1a01803
expand unit tests, update script with loggers and todo
dorien-er 42d07ec
run tests with subsampled data
dorien-er f0042c2
use specific model input files instead of directory
dorien-er a7f3c51
update test data
dorien-er cd0301a
update embedding dependencies and gene name layer handling
dorien-er 8ffe9f5
update input handling
dorien-er d785de6
include dsbn logic
dorien-er 8d6eb4d
update unit tests
dorien-er 80252a6
update config
dorien-er 0b984c6
expand unit tests, fix dsbn
dorien-er 9cce61b
Update CHANGELOG.md
dorien-er 07f3623
Update src/scgpt/embedding/config.vsh.yaml
dorien-er 5c19bcc
update required, remove shared memory docker
dorien-er c568af1
enable gpu device option
dorien-er 224e297
update dsbn
dorien-er 75d47b8
update error messages, remove device param
dorien-er eefab85
remove dropout param
dorien-er 14a70b0
fix typo
dorien-er 4bb2f3f
fix typo
dorien-er ade7b09
rebase scgpt branch
dorien-er 0366176
resolve merge conflicts
dorien-er 638ac50
Generate scgpt cross check genes module (#758)
jakubmajercik 078fc52
resolve merge conflicts
dorien-er 43775bc
resolve merge conflicts
dorien-er ea65c80
resolve merge conflicts
dorien-er ffe6228
remove temporary components
dorien-er 70d9677
resolve merge
dorien-er 01c8926
remove resources test script
dorien-er 78c96ac
Merge branch 'scgpt' into scgpt-integration
dorien-er a42f11c
remove changes
dorien-er 2d04d3f
remove changes
dorien-er 0cea2c2
remove outdated workflow
dorien-er 79a53c0
make workflow more compact
dorien-er 5d5288a
update broken configs
dorien-er 6ae66c4
update parameter var gene names
dorien-er bd035a2
Merge branch 'scgpt-integration' into 784-integration-test-scgpt-inte…
dorien-er 8095eb7
update nextflow labels
dorien-er 211650c
fix dsbn typo
dorien-er bf64d29
Merge pull request #797 from openpipelines-bio/784-integration-test-s…
dorien-er e4b82f4
update integration test
dorien-er 8821d99
fix small inconsistencies
dorien-er 8754ac7
change test params to reduce resource requirements
dorien-er 1c24ee8
view workflow output
dorien-er 3ff5a8b
remove integration metrics
dorien-er 8e5b442
remove integrationqc workflow
dorien-er f74e250
add niceviews to integration tests
dorien-er c8a57d3
fix typo
dorien-er 611023a
fix integration test
dorien-er 0c76878
update changelog
dorien-er 2c3dc77
remove scgpt resources script
dorien-er 179ac44
add scgpt resources script
dorien-er b849242
add scgpt resources script
dorien-er dd720d7
Update src/feature_annotation/highly_variable_features_scanpy/config.…
dorien-er 746d9e6
Update src/filter/do_filter/config.vsh.yaml
dorien-er 9e2a444
Update src/scgpt/binning/config.vsh.yaml
dorien-er f45f6ce
Update src/workflows/integration/scgpt_leiden/config.vsh.yaml
dorien-er f2ffbb3
pr fixes
dorien-er 8e26cfe
work with single channel
dorien-er e86b0e2
update channels and remove niceview
dorien-er 82b1cb0
add input layer to hvg
dorien-er 6f8e0b9
add input layer to hvg
dorien-er cb89ac1
fix arguments in workflow
dorien-er 28d1078
merge main into scgpt-integration
dorien-er 4328b3a
reintroduce scgpt files
dorien-er a557850
update changelog
dorien-er 6aa66b2
update changelog
dorien-er 7823fea
remove resources test
dorien-er d1a7d32
add scgpt resources script
dorien-er 731d019
add scgpt resources script
dorien-er d3e862f
Update CHANGELOG.md
dorien-er 7ecdbb7
allow for finetuned models
dorien-er 454a32e
enable finetuned models in workflow
dorien-er e84ff78
add variable for integrated obsm
dorien-er 3f25c3b
Merge remote-tracking branch 'origin/main' into scgpt-integration
DriesSchaumont cd7410e
update authorship, fix parsing error
dorien-er 9f06e34
remove compression
dorien-er 21bcbf7
Apply suggestions from code review
dorien-er 0742316
Merge branch 'main' into scgpt-integration
dorien-er 9d0225e
fix unit test
dorien-er 1a40003
fix unit test
dorien-er 1cbe506
Merge remote-tracking branch 'origin/main' into scgpt-integration
DriesSchaumont 8be4858
Merge branch 'main' into scgpt-integration
dorien-er c9fc39d
update to viash 9
dorien-er c2b11a2
fix test
dorien-er 9871631
Update src/scgpt/embedding/script.py
dorien-er c194078
update integration_test.sh
dorien-er 72df593
update integration test
dorien-er File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,170 @@ | ||
functionality: | ||
name: "scgpt_leiden" | ||
namespace: "workflows/integration" | ||
description: "Run scGPT integration (cell embedding generation) followed by neighbour calculations, leiden clustering and run umap on the result." | ||
authors: | ||
- __merge__: /src/authors/dorien_roosen.yaml | ||
roles: [ author, maintainer ] | ||
argument_groups: | ||
- name: "Inputs" | ||
arguments: | ||
- name: "--id" | ||
required: true | ||
type: string | ||
description: ID of the sample. | ||
example: foo | ||
- name: "--input" | ||
type: file | ||
required: true | ||
description: Path to the input file. | ||
example: input.h5mu | ||
- name: "--modality" | ||
type: string | ||
default: "rna" | ||
required: false | ||
- name: "--model" | ||
type: file | ||
required: true | ||
example: resources_test/scgpt/best_model.pt | ||
description: | | ||
Path to scGPT model file. | ||
- name: "--model_vocab" | ||
type: file | ||
direction: input | ||
required: true | ||
example: resources_test/scgpt/vocab.json | ||
description: | | ||
Path to scGPT model vocabulary file. | ||
- name: "--model_config" | ||
type: file | ||
direction: input | ||
required: true | ||
example: args.json | ||
description: | | ||
Path to scGPT model config file. | ||
- name: "--input_layer" | ||
type: string | ||
required: False | ||
description: | | ||
Mudata layer (key from layers) to use as input data for hvg subsetting and binning; if not specified, X is used. | ||
- name: "--var_gene_names" | ||
type: string | ||
required: false | ||
description: | | ||
The name of the adata var column containing gene names; when no gene_name_layer is provided, the var index will be used. | ||
- name: "--obs_batch_label" | ||
type: string | ||
description: | | ||
The name of the adata obs column containing the batch labels. | ||
|
||
- name: "Outputs" | ||
arguments: | ||
- name: "--output" | ||
type: file | ||
required: true | ||
direction: output | ||
description: Output file path | ||
example: output.h5mu | ||
- name: "--output_compression" | ||
type: string | ||
example: "gzip" | ||
required: false | ||
choices: ["gzip", "lzf"] | ||
description: | | ||
The compression algorithm to use for the output h5mu file. | ||
dorien-er marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
||
- name: "Padding arguments" | ||
arguments: | ||
- name: "--pad_token" | ||
type: string | ||
default: "<pad>" | ||
required: false | ||
description: | | ||
Token used for padding. | ||
- name: "--pad_value" | ||
type: integer | ||
default: -2 | ||
required: false | ||
description: | | ||
The value of the padding token. | ||
|
||
- name: "HVG subset arguments" | ||
arguments: | ||
- name: "--n_hvg" | ||
type: integer | ||
default: 1200 | ||
description: | | ||
Number of highly variable genes to subset for. | ||
|
||
- name: "Tokenization arguments" | ||
arguments: | ||
- name: "--max_seq_len" | ||
type: integer | ||
required: false | ||
description: | | ||
The maximum sequence length of the tokenized data. | ||
|
||
- name: "Embedding arguments" | ||
arguments: | ||
- name: --dsbn | ||
type: boolean | ||
default: true | ||
description: | | ||
Apply domain-specific batch normalization | ||
- name: "--batch_size" | ||
type: integer | ||
default: 64 | ||
description: | | ||
The batch size to be used for embedding inference. | ||
|
||
- name: "Binning arguments" | ||
arguments: | ||
- name: "--n_input_bins" | ||
type: integer | ||
default: 51 | ||
required: False | ||
min: 1 | ||
description: | | ||
The number of bins to discretize the data into; When no value is provided, data won't be binned. | ||
- name: "--seed" | ||
type: integer | ||
required: false | ||
description: | | ||
Seed for random number generation used for binning. If not set, no seed is used. | ||
|
||
- name: "Clustering arguments" | ||
arguments: | ||
- name: "--leiden_resolution" | ||
type: double | ||
description: Control the coarseness of the clustering. Higher values lead to more clusters. | ||
default: [1] | ||
multiple: true | ||
|
||
resources: | ||
- type: nextflow_script | ||
path: main.nf | ||
entrypoint: run_wf | ||
|
||
dependencies: | ||
- name: scgpt/cross_check_genes | ||
- name: scgpt/binning | ||
- name: feature_annotation/highly_variable_features_scanpy | ||
- name: filter/do_filter | ||
- name: scgpt/pad_tokenize | ||
- name: scgpt/embedding | ||
- name: dimred/umap | ||
- name: neighbors/find_neighbors | ||
- name: cluster/leiden | ||
- name: metadata/move_obsm_to_obs | ||
|
||
test_resources: | ||
- type: nextflow_script | ||
path: test.nf | ||
entrypoint: test_wf | ||
- type: nextflow_script | ||
path: test.nf | ||
entrypoint: test_wf2 | ||
- path: /resources_test/scgpt | ||
|
||
platforms: | ||
- type: nextflow |
29 changes: 29 additions & 0 deletions
29
src/workflows/integration/scgpt_leiden/integration_test.sh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
#!/bin/bash | ||
|
||
|
||
|
||
# get the root of the directory | ||
REPO_ROOT=$(git rev-parse --show-toplevel) | ||
|
||
# ensure that the command below is run from the root of the repository | ||
cd "$REPO_ROOT" | ||
|
||
export NXF_VER=21.10.6 | ||
|
||
viash ns build -q scgpt_leiden | ||
|
||
nextflow run . \ | ||
-main-script src/workflows/integration/scgpt_leiden/test.nf \ | ||
-profile docker,no_publish \ | ||
-entry test_wf \ | ||
-with-trace work/trace.txt \ | ||
-c src/workflows/utils/labels_ci.config \ | ||
-c src/workflows/utils/integration_tests.config | ||
|
||
nextflow run . \ | ||
-main-script src/workflows/integration/scgpt_leiden/test.nf \ | ||
-profile docker,no_publish \ | ||
-entry test_wf2 \ | ||
-resume \ | ||
-c src/workflows/utils/labels_ci.config \ | ||
-c src/workflows/utils/integration_tests.config \ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,166 @@ | ||
workflow run_wf { | ||
|
||
take: | ||
input_ch | ||
|
||
main: | ||
output_ch = input_ch | ||
// Set aside the output for this workflow to avoid conflicts | ||
| map {id, state -> | ||
def new_state = state + ["workflow_output": state.output] | ||
[id, new_state] | ||
} | ||
| highly_variable_features_scanpy.run( | ||
fromState: {id, state -> | ||
// Annotates the mudata object with highly variable genes. | ||
[ | ||
"input": state.input, | ||
"layer": state.input_layer, | ||
"modality": state.modality, | ||
"var_name_filter": "filter_with_hvg", | ||
"n_top_features": state.n_hvg, | ||
"flavor": "seurat_v3" | ||
] | ||
}, | ||
toState: ["input": "output"] | ||
) | ||
| do_filter.run( | ||
fromState: {id, state -> | ||
// do_filter does not need a layer argument because it filters all layers | ||
// from a modality. | ||
// filters the mudata object based on the HVG | ||
[ | ||
"input": state.input, | ||
"modality": state.modality, | ||
"var_filter": "filter_with_hvg" | ||
] | ||
}, | ||
toState: ["input": "output"] | ||
) | ||
| cross_check_genes.run( | ||
fromState: { id, state -> | ||
// Check whether the genes are part of the provided vocabulary. Subsets for genes present in vocab only. | ||
[ | ||
"input": state.input, | ||
"modality": state.modality, | ||
"vocab_file": state.model_vocab, | ||
"var_gene_names": state.var_gene_names, | ||
"output": state.output, | ||
"pad_token": state.pad_token | ||
] | ||
}, | ||
toState: ["input": "output"] | ||
) | ||
| binning.run( | ||
// Bins the data into a fixed number of bins. | ||
fromState: {id, state -> [ | ||
"input": state.input, | ||
"modality": state.modality, | ||
"input_layer": state.input_layer, | ||
"n_input_bins": state.n_input_bins, | ||
"binned_layer": "binned", | ||
"output": state.output, | ||
"seed": state.seed | ||
] | ||
}, | ||
toState: ["input": "output"] | ||
) | ||
| pad_tokenize.run( | ||
// Padding and tokenization of gene count values. | ||
fromState: {id, state -> [ | ||
"input": state.input, | ||
"modality": state.modality, | ||
"model_vocab": state.model_vocab, | ||
"input_layer": "binned", | ||
"var_gene_names": state.var_gene_names, | ||
"pad_token": state.pad_token, | ||
"pad_value": state.pad_value, | ||
"max_seq_len": state.max_seq_len, | ||
"obsm_gene_tokens": "gene_id_tokens", | ||
"obsm_tokenized_values": "values_tokenized", | ||
"obsm_padding_mask": "padding_mask", | ||
"output": state.output | ||
] | ||
}, | ||
toState: ["input": "output"] | ||
) | ||
| embedding.run( | ||
// Generation of cell embedings from the tokenized gene counts values. | ||
fromState: {id, state -> [ | ||
"input": state.input, | ||
"modality": state.modality, | ||
"model": state.model, | ||
"model_vocab": state.model_vocab, | ||
"model_config": state.model_config, | ||
"obsm_gene_tokens": "gene_id_tokens", | ||
"obsm_tokenized_values": "values_tokenized", | ||
"obsm_padding_mask": "padding_mask", | ||
"var_gene_names": state.var_gene_names, | ||
"obs_batch_label": state.obs_batch_label, | ||
"pad_token": state.pad_token, | ||
"pad_value": state.pad_value, | ||
"dsbn": state.dsbn, | ||
"batch_size": state.batch_size, | ||
"obsm_embeddings": "X_scGPT", | ||
"output": state.output | ||
] | ||
}, | ||
toState: ["input": "output"] | ||
) | ||
|
||
| find_neighbors.run( | ||
fromState: {id, state -> [ | ||
"input": state.input, | ||
"uns_output": "scGPT_integration_neighbors", | ||
"obsp_distances": "scGPT_integration_distances", | ||
"obsp_connectivities": "scGPT_integration_connectivities", | ||
"obsm_input": "X_scGPT", | ||
"modality": state.modality | ||
] | ||
}, | ||
toState: ["input": "output"] | ||
) | ||
|
||
| leiden.run( | ||
runIf: {id, state -> state.var_name_mitochondrial_genes} | ||
fromState: {id, state -> [ | ||
"input": state.input, | ||
"obsp_connectivities": "scGPT_integration_connectivities", | ||
"obsm_name": "scGPT_integration_leiden", | ||
"resolution": state.leiden_resolution, | ||
"modality": state.modality, | ||
] | ||
}, | ||
toState: ["input": "output"] | ||
) | ||
|
||
| move_obsm_to_obs.run( | ||
runIf: {id, state -> state.var_name_mitochondrial_genes} | ||
fromState: {id, state -> [ | ||
"input": state.input, | ||
"obsm_key": "scGPT_integration_leiden", | ||
"modality": state.modality, | ||
] | ||
}, | ||
toState: ["input": "output"] | ||
) | ||
|
||
| umap.run( | ||
fromState: {id, state -> [ | ||
"input": state.input, | ||
"uns_neighbors": "scGPT_integration_neighbors", | ||
"obsm_output": "X_scGPT_umap", | ||
"modality": state.modality, | ||
"output_compression": state.output_compression, | ||
"output": state.workflow_output | ||
] | ||
}, | ||
toState: { id, output, state -> | ||
[ output: output.output ] | ||
}, | ||
auto: [ publish: true ] | ||
) | ||
|
||
emit: | ||
output_ch | ||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
manifest { | ||
nextflowVersion = '!>=20.12.1-edge' | ||
} | ||
|
||
params { | ||
rootDir = java.nio.file.Paths.get("$projectDir/../../../../").toAbsolutePath().normalize().toString() | ||
} | ||
|
||
// include common settings | ||
includeConfig("${params.rootDir}/src/workflows/utils/labels.config") |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.