Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Documentation: https://snk.wytamma.com
Source Code: https://github.com/Wytamma/snk
Snk (pronounced snek) is a Snakemake workflow management system. Snk allows you to install Snakemake workflows as dynamically generated Command Line Interfaces (via snk-cli). Using a workflow as a CLI increases its interoperability and allows complex workflows to be used as modular components in a larger system.
From bioconda:
conda create -n snk bioconda::snk
From PyPI:
pip install snk
The snk install command can be use to install Snakemake workflows as CLIs. Snk can install Snakemake workflows from GitHub repos or local paths.
snk install wytamma/snk-basic-pipeline
Successfully installed snk-basic-pipeline (ff034f1b)!
The snk install command is flexible and can be used to install diverse workflows. For example, the dna-seq-gatk-variant-calling workflow (v2.1.1) as variant-calling
with Snakemake v8.10.8 and Pandas and NumPy dependency. An index of publicly available Snakemake workflows can be found on the snakemake workflow catalog.
snk install \
snakemake-workflows/dna-seq-gatk-variant-calling \
--name variant-calling \
--snakemake 8.10.8 \
-d pandas==1.5.3 \
-d numpy==1.26.4 \
-t v2.1.1
Successfully installed variant-calling (v2.1.1)!
You can list installed workflows with snk list
and uninstall them with snk uninstall
.
snk list
Workflow | Version |
---|---|
snk-basic-pipeline | ff034f1b |
variant-calling | v2.1.1 |
snk uninstall snk-basic-pipeline
Successfully uninstalled snk-basic-pipeline!
Snk will automatically create a fully featured CLI for the Snakemake workflow using snk-cli.
[!note] For more details on the CLI created by
snk
read the snk-cli docs
variant-calling --help
Workflow configuration options are automatically generated from the snakemake config file.
variant-calling run --help
Here we use the .test
resources included in the workflow to create the DAG (requires graphviz
).
variant-calling run -r .test/config -r .test/data --dag dag.pdf
Snk will dynamically generate config options for the CLI. For example if the config.yaml file has the option samples: config/samples.tsv
you can set this option with the --samples
flag.
variant-calling run --samples new.tsv
You can also configure the workflow using a config file.
variant-calling config --pretty # print the config
variant-calling config > config.yml # save the config
variant-calling run --config config.yml # run with config
Read the documentation for more information.
snk
is distributed under the terms of the MIT license.
FAQs
Unknown package
We found that snk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.