sos

SoS workflow system for daily data analysis

https://github.com/vatlab/sos

Science Score: 46.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    12 of 39 committers (30.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.6%) to scientific vocabulary

Keywords from Contributors

ecology bioinformatics metagenomics workflows lesson
Last synced: 9 months ago · JSON representation

Repository

SoS workflow system for daily data analysis

Basic Info
Statistics
  • Stars: 278
  • Watchers: 7
  • Forks: 47
  • Open Issues: 65
  • Releases: 51
Created over 10 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

Anaconda-Server Badge PyPI version DOI Join the chat at https://gitter.im/vatlab/SoS Build Status Build Status

Script of Scripts (SoS) consists of SoS Notebook, a Jupyter-based polyglot notebook that allows the use of multiple Jupyter kernels in one notebook, and SoS Workflow, a workflow system for the execution of workflows in both process- and outcome-oriented styles. It is designed for data scientists and bioinformatics who routinely work with scripts in different languages such as bash, Python, R, and SAS. This repository contains the SoS Workflow workflow engine.

Please refer to relevant publications SoS Notebook: An Interactive Multi-Language Data Analysis Environment in Bioinformatics, Script of Scripts: a pragmatic workflow system for daily computational research in PLoS Computational Biology, and the SoS homepage for more information on SoS Notebook and SoS Workflow.

We welcome and value community contributions: please post issues to provide us feedback or get our support; please send pull requests if you have helped fixing bugs or making improvements to the source code. In addition, if you are interesting in extending SoS, for example adding a new target type or task engine, please have a look at our tutorial on extending SoS here.

Installing SoS Workflow and Notebook

  • If you are using conda, you can install sos using command

bash conda install sos -c conda-forge You can also install a majority of the SoS suite of tools using commands such as bash conda install sos sos-pbs sos-notebook jupyterlab-sos sos-bash sos-python sos-r -c conda-forge This will install SoS Workflow, SoS Notebook and its JupyterLab extension, language modules for Bash, Python2, Python3, R, R itself (r-base and r-irkernel etc) and needed libraries (e.g. feather) if needed.

  • If you are not using conda, you will have to install all the pieces one by one, but you will also have the freedom to use non-conda installation of R, Julia etc. With a working Python 3.6 installation, you can install SoS Workflow with command

bash pip install sos and also bash pip install sos-pbs if you would like to use SoS with a remote batch system such as LSF or Slurm.

You can install SoS Notebook, and register the sos kernel with Jupyter using the following commands

bash pip install sos-notebook python -m sos_notebook.install

To exchange data between live kernels in SoS Notebook, you will need to install individual kernels (e.g. irkernel for R), make sure they work under Jupyter, and install SoS language modules using commands such as

bash pip install sos-r sos-matlab sos-python sos-bash Different modules might be needed to assist data exchange among kernels. Please refer to the installation page of sos website for details.

Change Log of SoS Workflow and SoS Notebook

SoS 0.25.1: * sos#1542: Fix a compatibility issue with Python 3.12.

SoS 0.25.0: * sos#1535: Remove 'R' formatter, remote target type, remote push and pull, named (#name) path because SoS now assumes that all input and output files are available on shared drives with identical path names.

SoS 0.24.5: * sos#1530: Outputcontent of script to stderr when the script fails to execute.

SoS 0.22.5: * sos#1420: Allow checking the status, killing, and purge of remote workflows.

SoS Notebook 0.22.3 * sos-notebook#303: Make task execution non-blocking in sos notebook, so that the buttons to check status and remove tasks actually operatable.

SoS Notebook 0.22.2 * sos-notebook#307: Use a new template organization method for nbconvert > 0.6.0.

SoS 0.21.12 * sos#1392: Allow the use of pem_file to authenticate to remote hosts.

SoS 0.20.9 * sos#1319: Extend option -r host to allow workflow to be executed with templates and on PBS * sos#1322: Deprecate option -b BIN_DIR due to sos#1319

SoS 0.19.15 * sos#1273: Allow workflows to be executed on cluster systems. * sos#1277: Allow master tasks to be executed on cluster systems with extended runtime option trunk_workers. * sos#1279: Extend option -j of commands sos run and sos execute to use remote workers. * sos#1288: Change the default value of option -q from localhost to None (no task).

SoS 0.19.0 * sos#1056, sos#1218: Use a new shared execution model to enforce optio -j. * sos#1219: Make sure global sections are executed only once

SoS Notebook 0.18.5 * sos-notebook#192: Allow language modules to support pattern matched kernel names such as julia-?.?

SoS 0.18.6 * sos#1206: Allow output_from(step) to obtain output from a workflow.

SoS 0.18.5 * sos#1186: Add command line option -T to enfore dependency tracing. * sos#1197: Introduce function traced to make dependencies that will always be traced * sos#1201: Introduce dependencies between compounded workflows

SoS 0.18.4 * sos#1185: Disallow the use of parameters in tasks. * sos#1186: (reverted) Enforcing the concept that targets in depends statement always try to build dependency.

SoS Notebook 0.18.1 * sos-notebook#178: Allow adding & to the end of magics %run, %sosrun, and %runfile to execute workflow in background. * sos-notebook#179: Remove magic %rerun and add magic %runfile * sos-notebook#180: Add option -r to %save to execute the cell after saving it.

SoS 0.18.0 * sos#1115: Function output_from and named_output to support named inputs and outputs, among other new features summarized in this ticket. * sos#1120: Allow paremeters group_by, paired_with etc for functions output_from and named_output. * sos#1125: Set concurrent=True as default for substep execution. * sos#1132: Deprecate action stop_if and replace it with done_if and skip_if * sos#1175: Enforce the use of sos_variable to import shared variable in a step

SoS Notebook 0.18.0 * sos-notebook#150: A new side panel that works in the same fashion as JupyterLab's console window. * sos-notebook#154: New task status table that allows reporting status, killing, and purging multiple tasks with the same tags.

SoS 0.9.16.10 * sos#786: Support singularity. See SoS Singularity Guide for details.

SoS 0.9.16.0, SoS Notebook 0.9.16.0 * sos#991: Use a new task file format to replace multiple files for each task. This change is not backward compatible so please upgrade only after you completed and removed all existing tasks.

SoS 0.9.15.1 * sos-notebook#89: Added templates to highlight source code using codemirror, with optional auto-generated table of contents.

SoS 0.9.14.10 * sos#983: Allow depending on an entire process-oriented workflow using a sos_step() target that matches multiple steps.

SoS 0.9.14.3: * sos#975: Add option -p to generate a summary report after the completion of workflow. * sos#976: Much improved workflow help message (sos run script -h).

SoS Notebook 0.9.14.4: * sos-notebook#79: Allow auto-completion and inspection in subkernel cells.

SoS Notebook 0.9.14.1 * sos-notebook#74: Add a %revisions magic to display revision history of the current document.

SoS 0.9.14.1 * sos#925: Output summary of executed and ignored step, substeps, and tasks after the execution of workflows.

SoS Notebook 0.9.13.4 * jupyterlab-sos#11: Magic %cd now changes directory of all subkernels

SoS Notebook 0.9.12.12 * sos-notebook#52: All new syntax highlighter that highlights expanded expressions * sos-notebook#58: Stop removing leading comments from cells.

SoS 0.9.12.11 * sos#922: Use user-id for docker execution (-u) * sos#926: Add function zap() to SoS path classes path, paths, file_target, and sos_targets

SoS Notebook 0.9.12.11 * sos-notebook#44: Allow sending text in markdown cells to side panel for execution. * sos-notebook#47: Allow clear any HTML element with magic %clear --class * sos-notebook#50: Re-design logo for SoS Notebook.

SoS 0.9.12.9 * sos#914: Allow option active of actions and tasks to accept conditions. * sos#915: Automatically expand user (~) for SoS path types path, paths and file_targets. * sos#916: Use hashlib instead of faster xxhash under windows

SoS Notebook 0.9.12.9 * sos-notebook#41: Stop saving unused kernels in sos notebook.

SoS 0.9.12.3 * sos#859: Introduce automatic auxiliary steps to simplify the use of makefile steps.

SoS 0.9.11.3 * sos#879: Add action options stdout and stderr to redict output from script-executing actions. * sos-notebook#42: Add option --append to magic %capture .

SoS 0.9.11.2 * sos-notebook#39: Separation installation and deployment and use command python -m sos_notebook.install to install sos kernel to Jupyter.

SoS 0.9.10.19

  • sos#874: Add input option concurrent=True to allow parallel execution of input groups.
  • sos#874: Optimize task submission of task engines to reduce status checking

SoS Notebook 0.9.10.17

Owner

  • Name: Laboratory of Variant Analysis Tools
  • Login: vatlab
  • Kind: organization
  • Email: Bo.Peng@bcm.edu
  • Location: Baylor College of Medicine

Dr. Bo Peng's Bioinformatic Tools for Variant Analysis

GitHub Events

Total
  • Issues event: 1
  • Watch event: 8
  • Push event: 1
  • Fork event: 2
Last Year
  • Issues event: 1
  • Watch event: 8
  • Push event: 1
  • Fork event: 2

Committers

Last synced: about 3 years ago

All Time
  • Total Commits: 7,111
  • Total Committers: 39
  • Avg Commits per committer: 182.333
  • Development Distribution Score (DDS): 0.151
Past Year
  • Commits: 51
  • Committers: 3
  • Avg Commits per committer: 17.0
  • Development Distribution Score (DDS): 0.49
Top Committers
Name Email Commits
Bo Peng b****g@g****m 6,040
bpeng1 b****g@m****g 246
Gao Wang g****w@u****u 171
Bo Peng b****b@g****m 162
Ma j****7@B****l 136
Man Chong Leong m****9@r****u 130
U-MDANDERSON\BPeng1 B****1@B****u 58
Bo B****g@u****m 56
Bo Peng b****g@b****u 25
Will Peng p****8@g****m 20
jenningsje 5****e@u****m 10
gaow w****w@g****m 8
joannfeng 6****g@u****m 7
Man Chong (Henry) Leong h****g@r****u 6
Joann Feng j****g@u****u 5
U-codified\codifiedmj c****j@c****) 3
jma7 s****s@s****u 3
Bo Peng b****1@l****n 2
Michael R. Crusoe m****e@g****m 2
Peng b****1@B****l 2
BPeng1 b****1@d****u 1
Bo Peng b****1@c****u 1
Bo Peng b****1@m****u 1
Bo Peng b****g@B****t 1
Ma j****7@B****l 1
Peng b****1@i****u 1
Suyang Chen d****f@g****m 1
Patrick Cudahy p****y@g****m 1
JMMelott j****t@m****g 1
Ubuntu u****u@i****l 1
and 9 more...

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 67
  • Total pull requests: 69
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 27 days
  • Total issue authors: 13
  • Total pull request authors: 7
  • Average comments per issue: 4.15
  • Average comments per pull request: 1.42
  • Merged pull requests: 45
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • BoPeng (28)
  • gaow (17)
  • pgcudahy (8)
  • hsun3163 (3)
  • bayeslearner (2)
  • mathieuboudreau (2)
  • Jiacheng0007 (1)
  • GadgetSteve (1)
  • alexmccreight (1)
  • avianinc (1)
  • tfabiha (1)
  • tmbdev (1)
  • bioworkflows (1)
Pull Request Authors
  • jenningsje (29)
  • BoPeng (28)
  • joannfeng (7)
  • he1l0world (2)
  • bioworkflows (1)
  • arafattanin (1)
  • TrellixVulnTeam (1)
Top Labels
Issue Labels
bug (10) good first issue (3) URGENT (2) later (2) request (1) discussion (1) help wanted (1)
Pull Request Labels

Packages

  • Total packages: 16
  • Total downloads:
    • pypi 5,731 last-month
  • Total docker downloads: 31,041
  • Total dependent packages: 29
    (may contain duplicates)
  • Total dependent repositories: 573
    (may contain duplicates)
  • Total versions: 596
  • Total maintainers: 2
pypi.org: sos

Script of Scripts (SoS): an interactive, cross-platform, and cross-language workflow system for reproducible data analysis

  • Versions: 230
  • Dependent Packages: 12
  • Dependent Repositories: 461
  • Downloads: 3,825 Last month
  • Docker Downloads: 26,196
Rankings
Dependent repos count: 0.7%
Dependent packages count: 0.9%
Docker downloads count: 1.3%
Average: 3.0%
Stargazers count: 4.0%
Downloads: 4.6%
Forks count: 6.4%
Maintainers (2)
Last synced: 10 months ago
pypi.org: sos-notebook

Script of Scripts (SoS): an interactive, cross-platform, and cross-language workflow system for reproducible data analysis

  • Versions: 168
  • Dependent Packages: 10
  • Dependent Repositories: 35
  • Downloads: 605 Last month
  • Docker Downloads: 2,696
Rankings
Dependent packages count: 1.0%
Docker downloads count: 1.6%
Dependent repos count: 2.5%
Average: 3.8%
Stargazers count: 4.0%
Forks count: 6.4%
Downloads: 7.4%
Maintainers (2)
Last synced: 10 months ago
pypi.org: sos-r

SoS Notebook extension for language R

  • Versions: 20
  • Dependent Packages: 0
  • Dependent Repositories: 17
  • Downloads: 267 Last month
  • Docker Downloads: 136
Rankings
Docker downloads count: 2.4%
Dependent repos count: 3.5%
Stargazers count: 4.0%
Average: 6.2%
Forks count: 6.4%
Dependent packages count: 10.0%
Downloads: 10.9%
Maintainers (2)
Last synced: 10 months ago
pypi.org: sos-python

SoS Notebook extension for languages Python 2 and Python 3

  • Versions: 13
  • Dependent Packages: 0
  • Dependent Repositories: 15
  • Downloads: 252 Last month
  • Docker Downloads: 1,739
Rankings
Docker downloads count: 2.0%
Dependent repos count: 3.7%
Stargazers count: 4.0%
Forks count: 6.4%
Average: 6.4%
Dependent packages count: 10.1%
Downloads: 12.1%
Maintainers (2)
Last synced: 10 months ago
pypi.org: sos-bash

batch execusion actions and bash kernel extension for sos

  • Versions: 13
  • Dependent Packages: 0
  • Dependent Repositories: 12
  • Downloads: 226 Last month
  • Docker Downloads: 136
Rankings
Docker downloads count: 2.4%
Stargazers count: 4.0%
Dependent repos count: 4.2%
Forks count: 6.4%
Average: 7.0%
Dependent packages count: 10.0%
Downloads: 15.3%
Maintainers (2)
Last synced: 10 months ago
pypi.org: sos-matlab

SoS Notebook extension for Matlab and Octave

  • Versions: 20
  • Dependent Packages: 0
  • Dependent Repositories: 6
  • Downloads: 139 Last month
  • Docker Downloads: 46
Rankings
Docker downloads count: 2.4%
Stargazers count: 4.0%
Dependent repos count: 6.0%
Forks count: 6.4%
Average: 7.5%
Dependent packages count: 10.1%
Downloads: 15.8%
Maintainers (2)
Last synced: 10 months ago
pypi.org: sos-pbs

PBS task engine for Script of Scripts (SoS)

  • Versions: 24
  • Dependent Packages: 0
  • Dependent Repositories: 8
  • Downloads: 84 Last month
Rankings
Stargazers count: 4.0%
Dependent repos count: 5.2%
Forks count: 6.4%
Average: 8.4%
Dependent packages count: 10.0%
Downloads: 16.3%
Maintainers (2)
Last synced: 10 months ago
pypi.org: sos-julia

SoS Notebook extension for languages Julia

  • Versions: 14
  • Dependent Packages: 0
  • Dependent Repositories: 5
  • Downloads: 136 Last month
  • Docker Downloads: 46
Rankings
Docker downloads count: 2.4%
Stargazers count: 4.0%
Forks count: 6.4%
Dependent repos count: 6.6%
Average: 8.4%
Dependent packages count: 10.0%
Downloads: 21.2%
Maintainers (2)
Last synced: 10 months ago
pypi.org: sos-javascript

SoS Notebook extension for JavaScript

  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 5
  • Downloads: 132 Last month
  • Docker Downloads: 46
Rankings
Docker downloads count: 2.4%
Stargazers count: 4.0%
Forks count: 6.4%
Dependent repos count: 6.6%
Average: 9.1%
Dependent packages count: 10.0%
Downloads: 25.4%
Maintainers (2)
Last synced: 10 months ago
pypi.org: sos-bioinfo

SoS Notebook extension for bioinformatics applications

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 2
  • Downloads: 12 Last month
  • Docker Downloads: 0
Rankings
Docker downloads count: 2.4%
Stargazers count: 4.0%
Forks count: 6.4%
Dependent packages count: 10.0%
Average: 10.1%
Dependent repos count: 11.6%
Downloads: 26.3%
Maintainers (2)
Last synced: 10 months ago
pypi.org: sos-rq

PBS task engine for Script of Scripts (SoS)

  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 2
  • Downloads: 13 Last month
Rankings
Stargazers count: 4.0%
Forks count: 6.4%
Dependent packages count: 10.1%
Average: 10.5%
Dependent repos count: 11.5%
Downloads: 20.3%
Maintainers (2)
Last synced: 10 months ago
pypi.org: sos-ruby

SoS Notebook extension for Ruby

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 4
  • Downloads: 15 Last month
  • Docker Downloads: 0
Rankings
Docker downloads count: 2.4%
Stargazers count: 4.0%
Forks count: 6.4%
Dependent repos count: 7.5%
Dependent packages count: 10.1%
Average: 11.2%
Downloads: 36.7%
Maintainers (1)
Last synced: 10 months ago
pypi.org: sos-scilab

SoS Notebook extension for scilab

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 15 Last month
Rankings
Stargazers count: 4.0%
Dependent packages count: 6.6%
Forks count: 6.9%
Average: 12.0%
Dependent repos count: 30.6%
Maintainers (1)
Last synced: 10 months ago
pypi.org: sos-essentials

Essential components of Script of Scripts (SoS)

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 10 Last month
Rankings
Stargazers count: 4.0%
Forks count: 6.4%
Dependent packages count: 10.1%
Average: 16.9%
Dependent repos count: 21.6%
Downloads: 42.5%
Maintainers (2)
Last synced: 10 months ago
conda-forge.org: sos
  • Versions: 54
  • Dependent Packages: 6
  • Dependent Repositories: 0
Rankings
Dependent packages count: 7.2%
Average: 19.4%
Stargazers count: 22.4%
Forks count: 28.6%
Last synced: 10 months ago
conda-forge.org: sos-pbs
  • Versions: 9
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Stargazers count: 22.3%
Forks count: 27.4%
Average: 28.1%
Dependent packages count: 28.8%
Dependent repos count: 34.0%
Last synced: 10 months ago

Dependencies

requirements_dev.txt pypi
  • coverage * development
  • nose * development
  • pytest * development
  • pytest-cov * development
setup.py pypi
  • fasteners *
  • for *
  • jinja2 *
  • nbformat *
  • networkx *
  • pexpect *
  • progress *
  • psutil *
  • ptyprocess *
  • pydot *
  • pydotplus *
  • pygments *
  • pyyaml *
  • pyzmq *
  • required *
  • to *
  • tqdm *
  • zeromq *
.github/workflows/pylint.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
.github/workflows/python-publish.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
development/docker-base/Dockerfile docker
  • continuumio/anaconda3 latest build
development/docker-convert/Dockerfile docker
  • vatlab/sos latest build
development/docker-demo/Dockerfile docker
  • vatlab/sos-notebook latest build
development/docker-notebook/Dockerfile docker
  • jupyter/datascience-notebook lab-3.4.7 build