From 4f04827f63be1769477eaee4482e4bcc9ae39d4d Mon Sep 17 00:00:00 2001
From: Vasileios Georgopoulos <vgeorgopoulos@athenarc.gr>
Date: Wed, 5 Feb 2025 10:54:12 +0200
Subject: [PATCH] Rename README.txt to README.md

---
 python-package/Case1/readme.md | 17 +++++++++++++++++
 python-package/Case2/readme.md | 25 +++++++++++++++++++++++++
 python-package/Case3/readme.md | 27 +++++++++++++++++++++++++++
 3 files changed, 69 insertions(+)
 create mode 100644 python-package/Case1/readme.md
 create mode 100644 python-package/Case2/readme.md
 create mode 100644 python-package/Case3/readme.md

diff --git a/python-package/Case1/readme.md b/python-package/Case1/readme.md
new file mode 100644
index 0000000..086a1b0
--- /dev/null
+++ b/python-package/Case1/readme.md
@@ -0,0 +1,17 @@
+# CASE 1: Containerized CWL Workflow
+
+## Description
+If a CWL workflow is already designed to run inside a container (the `.cwl` file contains the `DockerRequirement`), there is no need to convert the CWL into a different format for it to work in **StreamFlow**. Instead, **StreamFlow** can execute the CWL workflow as it is, by simply running the container that the CWL specifies.
+
+## Files
+- **`workflow.cwl`**: A simple tool (not a full workflow) that runs the `echo` command inside a **Docker container** (`DockerRequirement`) using the `ubuntu:latest` image. It takes an input string (`message`) that is passed to the `echo` command.
+- **`job.yml`**: It contains the input message.
+- **`streamflow.yml`**: The **StreamFlow** configuration file. It defines the **CWL workflow** (`workflow.cwl`) that will be executed, uses a settings file (`job.yml`) to define input parameters, and specifies the execution environment where the workflow runs.
+
+## Requirements
+- **`StreamFlow`** python package
+- **`Docker`**
+
+## Execution
+```sh
+streamflow run streamflow.yml
\ No newline at end of file
diff --git a/python-package/Case2/readme.md b/python-package/Case2/readme.md
new file mode 100644
index 0000000..31ad352
--- /dev/null
+++ b/python-package/Case2/readme.md
@@ -0,0 +1,25 @@
+# CASE 2: CWL Workflow With One Step
+
+## Description
+This example showcases a **CWL workflow** that executes a step inside a **Docker container** using **StreamFlow**. Unlike a single CWL tool execution, this setup involves a **workflow (`workflow.cwl`)** that orchestrates the execution of a **CWL step (`echo_tool.cwl`)**.  
+
+The workflow:
+- Takes an **input string**.
+- Passes it to a **command-line tool (`echo_tool.cwl`)** that writes the message to a file.
+- Captures the generated output.
+
+The execution environment is **fully containerized** via **Docker (`ubuntu:latest`)**.
+
+## Files
+- **`workflow.cwl`**: A **CWL workflow** that defines a step (`echo_step`) running **`echo_tool.cwl`** inside a **Docker container (`ubuntu:latest`)**. It passes an **input string (`message`)** to the tool and retrieves an **output file**.
+- **`echo_tool.cwl`**: A **CWL CommandLineTool** that executes the **`echo`** command, writing the received message to `output.txt`. This step runs inside a **Docker container (`ubuntu:latest`)**.
+- **`job.yml`**: It contains the **input message**.
+- **`streamflow.yml`**: The **StreamFlow configuration file**. It defines the **CWL workflow (`workflow.cwl`)** that will be executed, uses a **settings file (`job.yml`)** to define input parameters, and specifies the **execution environment** where the workflow runs.
+
+## Requirements
+- **`StreamFlow`** python package
+- **`Docker`**
+
+## Execution
+```sh
+streamflow run streamflow.yml
\ No newline at end of file
diff --git a/python-package/Case3/readme.md b/python-package/Case3/readme.md
new file mode 100644
index 0000000..1ee7c86
--- /dev/null
+++ b/python-package/Case3/readme.md
@@ -0,0 +1,27 @@
+# CASE 2: CWL Workflow With One Step
+
+## Description
+This example showcases a **CWL workflow** that executes a step inside a **Docker container** using **StreamFlow**. Unlike a single CWL tool execution, this setup involves a **workflow (`workflow.cwl`)** that orchestrates the execution of a **CWL step (`echo_tool.cwl`)**.  
+
+The workflow:
+- Takes an **input string**.
+- Passes it to a **command-line tool (`echo_tool.cwl`)** that writes the message to a file.
+- Passes the message to a second tool (length_tool.cwl), which prints the length of the message
+- Captures the generated output.
+
+The execution environment is **fully containerized** via **Docker (`ubuntu:latest`)**.
+
+## Files
+- **`workflow.cwl`**: A **CWL workflow** that defines two steps, (`echo_step`) running **`echo_tool.cwl`** and  (`length_step`) running **`length_tool.cwl`** inside a **Docker container (`ubuntu:latest`)**. 
+- **`echo_tool.cwl`**: A **CWL CommandLineTool** that executes the **`echo`** command, writing the received message to `output.txt`. This step runs inside a **Docker container (`ubuntu:latest`)**.
+- **`length_tool.cwl`**: A CWL CommandLineTool that calculates and prints the length of the message printed by **`echo_tool.cwl`**. This step also runs inside a Docker container (ubuntu:latest).
+- **`job.yml`**: It contains the **input message**.
+- **`streamflow.yml`**: The **StreamFlow configuration file**. It defines the **CWL workflow (`workflow.cwl`)** that will be executed, uses a **settings file (`job.yml`)** to define input parameters, and specifies the **execution environment** where the workflow runs.
+
+## Requirements
+- **`StreamFlow`** python package
+- **`Docker`**
+
+## Execution
+```sh
+streamflow run streamflow.yml
\ No newline at end of file
-- 
GitLab