Use ncov/
as a standalone directory
#921
Closed
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.
Description of proposed changes
Expanding some thoughts from #894 (comment) and Slack thread.
This is intended to be more of a discussion, but created as a draft PR to have some tangible changes.
Current usage of
ncov/
:git clone https://github.com/nextstrain/ncov
ncov/data/
ncov/my_profiles/<profile>/builds.yaml
ncov/my_profiles/<profile>/config.yaml
ncov/my_profiles/<your_profile>/auspice_config.json
snakemake
/nextstrain build
fromncov/
directory.ncov/.snakemake/
ncov/auspice/
ncov/benchmarks/
ncov/logs/
ncov/results/
ncov/auspice/
withauspice
/nextstrain view
.git pull
/git switch
.Cons:
my_profiles/
in docs: convert to reST, re-organize and update contents across all pages #894.ncov/my_profiles/<profile>/builds.yaml
must be relative toncov/
.ncov/
, agit
version-controlled directory..gitignore
helps, but having users work directly inncov/
can lead to potential merge problems during the update step.An alternative user story:
my-ncov-analyses
.git clone https://github.com/user/my-ncov-analyses
cd my-ncov-analyses
git clone https://github.com/nextstrain/ncov
my-ncov-analyses/data/
.my-ncov-analyses/
.my-ncov-analyses/
.snakemake
/nextstrain build
frommy-ncov-analyses/
directory.my-ncov-analyses/ncov/auspice/
withauspice
/nextstrain view
.Pros:
my-ncov-analyses/
.builds.yaml
) can be relative tomy-ncov-analyses/
.ncov/
as a standalone directory, similar to an executable.auspice_config.json
in bothanalysis1.yaml
andanalysis2.yaml
)Cons:
my-ncov-analyses/
:ncov/
from version control: nextstrain/ncov-tutorial@dfc2a6eSnakefile
pointing toncov/Snakefile
: nextstrain/ncov-tutorial@6125006Notes while trying this implementation:
defaults/parameters.yaml
which hasdefaults/
paths relative toncov/
.workdir
would scope everything as relative toncov/
, including paths intended to be relative tomy-ncov-analyses/
. This defeats the purpose of havingncov/
as a subdirectory.workflow.source_path()
accomplishes the same thing but can be applied to specific paths only.workflow.source_path()
to properly scope allfiles:
config paths starting withdefaults/
: f4ffc85ncov/scripts/
also must be properly scoped (this is where I got a bit stuck): 4709e56Related issue(s)
Testing
Release checklist
If this pull request introduces backward incompatible changes, complete the following steps for a new release of the workflow:
docs/src/reference/change_log.md
in this pull request to document these changes and the new version number.If this pull request introduces new features, complete the following steps:
docs/src/reference/change_log.md
in this pull request to document these changes by the date they were added.