cmkobel / mspipeline1 Goto Github PK
View Code? Open in Web Editor NEW๐ช๐ฆ A snakemake wrapper around Nesvilab's FragPipe-CLI. In a perfect world, this pipeline was based on Sage.
License: GNU General Public License v3.0
๐ช๐ฆ A snakemake wrapper around Nesvilab's FragPipe-CLI. In a perfect world, this pipeline was based on Sage.
License: GNU General Public License v3.0
Config file config.yaml is extended by additional config specified via the command line.
Building DAG of jobs...
Using shell: /usr/bin/bash
Provided cores: 1 (use --cores to define parallelism)
Rules claiming more threads will be scaled down.
Select jobs to execute...
[Tue Jul 19 10:21:30 2022]
rule philosopher_database:
output: output/220506_DnnT6S_carl/msfragger/philosopher_database.fas
jobid: 0
benchmark: output/220506_DnnT6S_carl/benchmarks/philosopher_database.tsv
reason: Forced execution
wildcards: config_batch=220506_DnnT6S_carl
resources: mem_mb=1000, disk_mb=1000, tmpdir=/scratch/3973804
>&2 echo "Catting database files ..."
# Cat all database source files into one.
cat > output/220506_DnnT6S_carl/msfragger/cat_database_sources.faa
>&2 echo "Change dir ..."
# As philosopher can't specify output files, we need to change dir.
mkdir -p output/220506_DnnT6S_carl/msfragger
cd output/220506_DnnT6S_carl/msfragger
>&2 echo "Philosopher workspace clean ..."
/faststorage/project/gBGC/bin/philosopher_v4.1.1_linux_amd64/philosopher workspace --nocheck --clean
>&2 echo "Philosopher workspace init ..."
/faststorage/project/gBGC/bin/philosopher_v4.1.1_linux_amd64/philosopher workspace --nocheck --init
>&2 echo "Removing previous .fas ..."
rm *.fas || echo "nothing to delete" # Remove all previous databases if any.
>&2 echo "Philosopher database ..."
/faststorage/project/gBGC/bin/philosopher_v4.1.1_linux_amd64/philosopher database --custom cat_database_sources.faa --contam
>&2 echo "Move output ..."
# Manually rename the philosopher output so we can grab it later
mv *-decoys-contam-cat_database_sources.faa.fas philosopher_database.fas
>&2 echo "Clean up ..."
# clean up
rm cat_database_sources.faa
Catting database files ...
Change dir ...
Philosopher workspace clean ...
time="10:21:32" level=info msg="Executing Workspace v4.1.1"
time="10:21:32" level=info msg="Removing workspace"
time="10:21:32" level=warning msg="Cannot read file. open .meta/meta.bin: no such file or directory"
time="10:21:32" level=info msg=Done
Philosopher workspace init ...
time="10:21:32" level=info msg="Executing Workspace v4.1.1"
time="10:21:32" level=info msg="Creating workspace"
time="10:21:32" level=warning msg="Cannot verify local directory path. getwd: no such file or directory"
time="10:21:32" level=fatal msg="Cannot create meta directory; check folder permissions. stat .meta: no such file or directory"
[Tue Jul 19 10:21:32 2022]
Error in rule philosopher_database:
jobid: 0
output: output/220506_DnnT6S_carl/msfragger/philosopher_database.fas
shell:
>&2 echo "Catting database files ..."
# Cat all database source files into one.
cat > output/220506_DnnT6S_carl/msfragger/cat_database_sources.faa
>&2 echo "Change dir ..."
# As philosopher can't specify output files, we need to change dir.
mkdir -p output/220506_DnnT6S_carl/msfragger
cd output/220506_DnnT6S_carl/msfragger
>&2 echo "Philosopher workspace clean ..."
/faststorage/project/gBGC/bin/philosopher_v4.1.1_linux_amd64/philosopher workspace --nocheck --clean
>&2 echo "Philosopher workspace init ..."
/faststorage/project/gBGC/bin/philosopher_v4.1.1_linux_amd64/philosopher workspace --nocheck --init
>&2 echo "Removing previous .fas ..."
rm *.fas || echo "nothing to delete" # Remove all previous databases if any.
>&2 echo "Philosopher database ..."
/faststorage/project/gBGC/bin/philosopher_v4.1.1_linux_amd64/philosopher database --custom cat_database_sources.faa --contam
>&2 echo "Move output ..."
# Manually rename the philosopher output so we can grab it later
mv *-decoys-contam-cat_database_sources.faa.fas philosopher_database.fas
>&2 echo "Clean up ..."
# clean up
rm cat_database_sources.faa
(one of the commands exited with non-zero exit code; note that snakemake uses bash strict mode!)
Shutting down, this might take some time.
Exiting because a job execution failed. Look above for error message
https://github.com/cmkobel/MS-pipeline1/blob/4bcb6b4d2a476281e4f9dbddfd17e34159fabd7c/snakefile#L125
Shows up fine in the snakemake interactive stdout. But jobinfo shows the same mem allocation for all retries.
Touching output file output/220506_DnnT6S_carl/msfragger/link_input.done.
Traceback (most recent call last):
File "/home/cmkobel/faststorage/miniconda3/envs/smk785/lib/python3.10/site-packages/snakemake/__init__.py", line 726, in snakemake
success = workflow.execute(
File "/home/cmkobel/faststorage/miniconda3/envs/smk785/lib/python3.10/site-packages/snakemake/workflow.py", line 1133, in execute
raise e
File "/home/cmkobel/faststorage/miniconda3/envs/smk785/lib/python3.10/site-packages/snakemake/workflow.py", line 1129, in execute
success = self.scheduler.schedule()
File "/home/cmkobel/faststorage/miniconda3/envs/smk785/lib/python3.10/site-packages/snakemake/scheduler.py", line 423, in schedule
self._finish_jobs()
File "/home/cmkobel/faststorage/miniconda3/envs/smk785/lib/python3.10/site-packages/snakemake/scheduler.py", line 526, in _finish_jobs
self.get_executor(job).handle_job_success(job)
File "/home/cmkobel/faststorage/miniconda3/envs/smk785/lib/python3.10/site-packages/snakemake/executors/__init__.py", line 633, in handle_job_success
super().handle_job_success(job)
File "/home/cmkobel/faststorage/miniconda3/envs/smk785/lib/python3.10/site-packages/snakemake/executors/__init__.py", line 232, in handle_job_success
job.postprocess(
File "/home/cmkobel/faststorage/miniconda3/envs/smk785/lib/python3.10/site-packages/snakemake/jobs.py", line 1076, in postprocess
self.dag.check_and_touch_output(
File "/home/cmkobel/faststorage/miniconda3/envs/smk785/lib/python3.10/site-packages/snakemake/dag.py", line 594, in check_and_touch_output
f.touch()
File "/home/cmkobel/faststorage/miniconda3/envs/smk785/lib/python3.10/site-packages/snakemake/io.py", line 707, in touch
raise e
File "/home/cmkobel/faststorage/miniconda3/envs/smk785/lib/python3.10/site-packages/snakemake/io.py", line 693, in touch
with open(file, "w"):
PermissionError: [Errno 13] Permission denied: 'output/220506_DnnT6S_carl/msfragger/20220506_C9_Slot1-33_1_1971.d/.snakemake_timestamp'```
The temporary directories given to some of the rules, especially the ones that create workspaces should be merged together. The problem is that the temporary dirs (scratch) don't exist after the initial job ends, so, really, the only option to use the scratch directory is to have more rules merged.
One major bottleneck of this pipeline is that it doesn't utilize temporary directories efficiently. Currently, the snakemake temporary directory is set to somewhere on the userwork partition on saga. The problem is that stupidly, several rules need access to the same temporary directory. I guess it really goes against the definition of a temporary directory to use it for something that isn't temporary.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.