Comments (2)
@ewels mentioned that users like to modify this genomes config. In that case, it should be refactored into an index file (e.g. JSON, YAML). Then you can load it in the config, although it still might be easier to have a param for the file name (e.g. params.igenomes_index
) and load it in the pipeline code:
def getGenomesIndex(filename) {
new groovy.json.JsonSlurper().parseText(file(filename).text)
}
from tools.
My summary is that we have two problems here:
- The
includeConfig
is within anif
statement in the config. This won't work with the new config parser, and needs resolving ASAP. - The config itself uses nested parameters, support for which may be dropped in the slightly longer term.
So the most urgent thing is a short term fix for (1). Instead of this:
// Load igenomes.config if required
if (!params.igenomes_ignore) {
includeConfig 'conf/igenomes.config'
} else {
params.genomes = [:]
}
Suggestion is to use a ternary expression, which should work:
// Load igenomes.config if required
includeConfig !params.igenomes_ignore ? 'conf/igenomes.config' : 'conf/igenomes_ignored.config'
Where a new igenomes_ignored.config file would simply contain:
params.genomes = [:]
Can maybe think of more elegant syntax, but that's the gist of it.
Regarding (2) in the longer term - it'd be nice to rewrite how all of the iGenomes configuration works. This will break how existing user's config files work, but I think it's ok if we're overhauling the entire references system anyway. So hopefully we can incorporate this syntax change along with the new references back end.
from tools.
Related Issues (20)
- Move --migrate-pytest command to `module test` command group HOT 2
- Add process_high_memory to create/lint list HOT 1
- Manual include or exclude specific files in template
- Linting throws an error if hyphens appear in the name HOT 5
- `xx` is present as an output in meta.yml but not in main.nf HOT 1
- Test pipelines with Singularity & Conda
- Print test directory path in output from `nf-core test`
- modules linting: Check that version.yml has version of all items in `environment.yml`
- `nf-core sync` does not respect existing template config on dev branch
- MultiQC results not cacheable
- nf-core/tools download error HOT 5
- Lint for test data paths and produce a warning/error if the config map is used?
- Add `-w`, `--fail-warned` option to `nf-core schema lint`
- Remove try-catch blocks around institutional configs HOT 14
- Add a linting test for the metro map
- Pass a list of modules/subworkflows(files) to nf-core modules lint
- Release PR (dev to master) does not fail with a pipeline still on dev version
- Schema: Support multi-line text inputs HOT 1
- what is 'getGenomeAttribute' and how can we use igenomes without it? HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tools.