|
1 | 1 | # Part 9: Hello Seqera |
2 | 2 |
|
3 | | -TODO |
| 3 | +--- |
| 4 | + |
| 5 | +title: Seqera Platform |
| 6 | +description: Get started with Seqera Platform |
4 | 7 |
|
5 | 8 | --- |
6 | 9 |
|
7 | | -TODO |
| 10 | +# Get started with Seqera Platform |
| 11 | + |
| 12 | +Seqera Platform, previously known as Nextflow Tower, is the centralized command post for data management and workflows. It brings monitoring, logging and observability to distributed workflows and simplifies the deployment of workflows on any cloud, cluster or laptop. In Seqera Platform terminology, a workflow is what we've been working on so far, and pipelines are pre-configured workflows that can be used by all users in a workspace. It is composed of a workflow repository, launch parameters, and a compute environment. We'll stick to these definitions in this section. |
| 13 | + |
| 14 | +Seqera core features include: |
| 15 | + |
| 16 | +- The launching of pre-configured pipelines with ease. |
| 17 | +- Programmatic integration to meet the needs of an organization. |
| 18 | +- Publishing pipelines to shared workspaces. |
| 19 | +- Management of the infrastructure required to run data analysis at scale. |
| 20 | + |
| 21 | +!!! tip |
| 22 | + |
| 23 | + [Sign up](https://cloud.seqera.io/) to try Seqera for free or request a [demo](https://seqera.io/demo/) for deployments in your own on-premise or cloud environment. |
| 24 | + |
| 25 | +You can use Seqera Platform via either the **CLI**, through the **online GUI** or through the **API**. |
| 26 | + |
| 27 | +## CLI |
| 28 | + |
| 29 | +You will need to set up your environment to use Seqera Platform. This is a one-time setup. |
| 30 | + |
| 31 | +Create an account and login into Seqera Platform. |
| 32 | + |
| 33 | +**1. Create a new token** |
| 34 | + |
| 35 | +You can access your tokens from the **Settings** drop-down menu: |
| 36 | + |
| 37 | + |
| 38 | + |
| 39 | +**2. Name your token** |
| 40 | + |
| 41 | + |
| 42 | + |
| 43 | +**3. Save your token safely** |
| 44 | + |
| 45 | +Copy and keep your new token in a safe place. |
| 46 | + |
| 47 | + |
| 48 | + |
| 49 | +**4. Export your token** |
| 50 | + |
| 51 | +Once your token has been created, open a terminal and type: |
| 52 | + |
| 53 | +```bash |
| 54 | +export TOWER_ACCESS_TOKEN=eyxxxxxxxxxxxxxxxQ1ZTE= |
| 55 | +``` |
| 56 | + |
| 57 | +Where `eyxxxxxxxxxxxxxxxQ1ZTE=` is the token you have just created. |
| 58 | + |
| 59 | +!!! note |
| 60 | + |
| 61 | + Check your `nextflow -version`. Bearer tokens require Nextflow version 20.10.0 or later and can be set with the second command shown above. You can change the version if necessary. |
| 62 | + |
| 63 | +To submit a pipeline to a [Workspace](https://docs.seqera.io/platform/24.1/getting-started/workspace-setup) using the Nextflow command-line tool, add the workspace ID to your environment. For example: |
| 64 | + |
| 65 | +```bash |
| 66 | +export TOWER_WORKSPACE_ID=000000000000000 |
| 67 | +``` |
| 68 | + |
| 69 | +The workspace ID can be found on the organization’s Workspaces overview page. |
| 70 | + |
| 71 | +**5. Run Nextflow with Seqera Platform** |
| 72 | + |
| 73 | +Run your Nextflow workflows as usual with the addition of the `-with-tower` command: |
| 74 | + |
| 75 | +```bash |
| 76 | +nextflow run hello.nf -with-tower |
| 77 | +``` |
| 78 | + |
| 79 | +You will see and be able to monitor your **Nextflow jobs** in Seqera Platform. |
| 80 | + |
| 81 | +To configure and execute Nextflow jobs in **Cloud environments**, visit the [Compute environments section](https://docs.seqera.io/platform/24.1/compute-envs/overview). |
| 82 | + |
| 83 | +!!! exercise |
| 84 | + |
| 85 | + Run the RNA-Seq `script7.nf` using the `-with-tower` flag, after correctly completing the token settings outlined above. |
| 86 | + |
| 87 | + ??? tip |
| 88 | + |
| 89 | + Go to <https://cloud.seqera.io/>, login, then click the run tab, and select the run that you just submitted. If you can’t find it, double check your token was entered correctly. |
| 90 | + |
| 91 | +!!! cboard-list-2 "Summary" |
| 92 | + |
| 93 | + In this step you have learned: |
| 94 | + |
| 95 | + 1. How to create and add your token and workspace. |
| 96 | + 2. How to launch a pipeline with Seqera Platform. |
| 97 | + |
| 98 | +## Online GUI |
| 99 | + |
| 100 | +To run using the GUI, there are three main steps: |
| 101 | + |
| 102 | +1. Create an account and login into Seqera Platform, available free of charge, at [cloud.seqera.io](https://cloud.seqera.io). |
| 103 | +2. Create and configure a new [compute environment](https://docs.seqera.io/platform/24.1/compute-envs/overview). |
| 104 | +3. Start [launching pipelines](https://docs.seqera.io/platform/24.1/launch/launchpad#launchpad). |
| 105 | + |
| 106 | +### Configuring your compute environment |
| 107 | + |
| 108 | +Seqera Platform uses the concept of **Compute Environments** to define the execution platform where a workflow will run. |
| 109 | + |
| 110 | +It supports the launching of workflows into a growing number of **cloud** and **on-premise** infrastructures. |
| 111 | + |
| 112 | + |
| 113 | + |
| 114 | +Each compute environment must be pre-configured to enable Seqera Platform to submit tasks. You can read more on how to set up each environment using the links below. |
| 115 | + |
| 116 | +!!! tip "The following guides describe how to configure each of these compute environments." |
| 117 | + |
| 118 | + * [AWS Batch](https://docs.seqera.io/platform/24.1/compute-envs/aws-batch) |
| 119 | + * [Azure Batch](https://docs.seqera.io/platform/24.1/compute-envs/azure-batch) |
| 120 | + * [Google Batch](https://docs.seqera.io/platform/24.1/compute-envs/google-cloud-batch) |
| 121 | + * [Google Life Sciences](https://docs.seqera.io/platform/24.1/compute-envs/google-cloud-lifesciences) |
| 122 | + * [HPC (LSF, Slurm, Grid Engine, Altair PBS Pro)](https://docs.seqera.io/platform/24.1/compute-envs/hpc) |
| 123 | + * [Amazon Kubernetes (EKS)](https://docs.seqera.io/platform/24.1/compute-envs/eks) |
| 124 | + * [Google Kubernetes (GKE)](https://docs.seqera.io/platform/24.1/compute-envs/gke) |
| 125 | + * [Hosted Kubernetes](https://docs.seqera.io/platform/24.1/compute-envs/k8s) |
| 126 | + |
| 127 | +### Selecting a default compute environment |
| 128 | + |
| 129 | +If you have more than one **Compute Environment**, you can select which one will be used by default when launching a pipeline. |
| 130 | + |
| 131 | +1. Navigate to your [compute environments](https://docs.seqera.io/platform/24.1/compute-envs/overview). |
| 132 | +2. Choose your default environment by selecting the **Make primary** button. |
| 133 | + |
| 134 | +**Congratulations!** |
| 135 | + |
| 136 | +You are now ready to launch workflows with your primary compute environment. |
| 137 | + |
| 138 | +### Launchpad |
| 139 | + |
| 140 | +Launchpad makes it easy for any workspace user to launch a pre-configured pipeline. |
| 141 | + |
| 142 | + |
| 143 | + |
| 144 | +A pipeline is a repository containing a Nextflow workflow, a compute environment and workflow parameters. |
| 145 | + |
| 146 | +### Pipeline Parameters Form |
| 147 | + |
| 148 | +Launchpad automatically detects the presence of a `nextflow_schema.json` in the root of the repository and dynamically creates a form where users can easily update the parameters. |
| 149 | + |
| 150 | +!!! info |
| 151 | + |
| 152 | + The parameter forms view will appear if the pipeline has a Nextflow schema file for the parameters. Please refer to the [Nextflow Schema guide](https://docs.seqera.io/platform/24.1/pipeline-schema/overview) to learn more about the schema file use-cases and how to create them. |
| 153 | + |
| 154 | +This makes it trivial for users without any expertise in Nextflow to enter their workflow parameters and launch. |
| 155 | + |
| 156 | + |
| 157 | + |
| 158 | +### Adding a new pipeline |
| 159 | + |
| 160 | +Adding a pipeline to the pre-saved workspace launchpad is detailed in full on the [Seqera webpage docs](https://docs.seqera.io/platform/24.1/launch/launchpad#add-new-pipeline). |
| 161 | + |
| 162 | +In brief, these are the steps you need to follow to set up a pipeline. |
| 163 | + |
| 164 | +1. Select the Launchpad button in the navigation bar. This will open the **Launch Form**. |
| 165 | +2. Select a [compute environment](https://docs.seqera.io/platform/24.1/compute-envs/overview). |
| 166 | +3. Enter the repository of the workflow you want to launch. e.g. <https://github.com/nf-core/rnaseq.git> |
| 167 | +4. Select a workflow **Revision number**. The Git default branch (main/master) or `manifest.defaultBranch` in the Nextflow configuration will be used by default. |
| 168 | +5. Set the **Work directory** location of the Nextflow work directory. The location associated with the compute environment will be selected by default. |
| 169 | +6. Enter the name(s) of each of the Nextflow **Config profiles** followed by the `Enter` key. See the Nextflow [Config profiles](https://www.nextflow.io/docs/latest/config.html#config-profiles) documentation for more details. |
| 170 | +7. Enter any workflow parameters in YAML or JSON format. YAML example: |
| 171 | + |
| 172 | + ```yaml |
| 173 | + reads: "s3://nf-bucket/exome-data/ERR013140_{1,2}.fastq.bz2" |
| 174 | + paired_end: true |
| 175 | + ``` |
| 176 | +
|
| 177 | +8. Select Launch to begin the pipeline execution. |
| 178 | +
|
| 179 | +!!! info |
| 180 | +
|
| 181 | + Nextflow workflows are simply Git repositories and can be changed to any public or private Git-hosting platform. See [Git Integration](https://docs.seqera.io/platform/24.1/git/overview) in the Seqera Platform docs and [Pipeline Sharing](https://www.nextflow.io/docs/latest/sharing.html) in the Nextflow docs for more details. |
| 182 | +
|
| 183 | +!!! note |
| 184 | +
|
| 185 | + The credentials associated with the compute environment must be able to access the work directory. |
| 186 | +
|
| 187 | +!!! info |
| 188 | +
|
| 189 | + In the configuration, the full path to a bucket must be specified with single quotes around strings and no quotes around booleans or numbers. |
| 190 | +
|
| 191 | +!!! tip |
| 192 | +
|
| 193 | + To create your own customized Nextflow Schema for your workflow, see the examples from the `nf-core` workflows that have adopted this approach. For example, [eager](https://github.com/nf-core/eager/blob/2.3.3/nextflow_schema.json) and [rnaseq](https://github.com/nf-core/rnaseq/blob/3.0/nextflow_schema.json). |
| 194 | + |
| 195 | +For advanced settings options check out this [page](https://docs.seqera.io/platform/24.1/launch/launchpad#advanced-settings). |
| 196 | + |
| 197 | +There is also community support available if you get into trouble, join the Nextflow Slack by following this [link](https://www.nextflow.io/slack-invite.html). |
| 198 | + |
| 199 | +!!! cboard-list-2 "Summary" |
| 200 | + |
| 201 | + In this step you have learned: |
| 202 | + |
| 203 | + 1. How to create an account and login into Seqera Platform |
| 204 | + 2. How to configure your compute environment. |
| 205 | + 3. How to add, customize, and launch a pipeline with Seqera Platform. |
| 206 | + |
| 207 | +## API |
| 208 | + |
| 209 | +To learn more about using the Seqera Platform API, visit the [API section](https://docs.seqera.io/platform/24.1/api/overview) in the documentation. |
| 210 | + |
| 211 | +## Workspaces and Organizations |
| 212 | + |
| 213 | +Seqera Platform simplifies the development and execution of pipeline by providing a centralized interface for users and organizations. |
| 214 | + |
| 215 | +Each user has a unique **workspace** where they can interact and manage all resources such as workflows, compute environments and credentials. Details of this can be found [here](https://docs.seqera.io/platform/24.1/getting-started/workspace-setup). |
| 216 | + |
| 217 | +Organisations can have multiple workspaces with customized access for specific organisation **members** and **collaborators**. |
| 218 | + |
| 219 | +### Organization resources |
| 220 | + |
| 221 | +You can create your own organization and participant workspace by following the docs at [Seqera](https://docs.seqera.io/platform/24.1/orgs-and-teams/workspace-management). |
| 222 | + |
| 223 | +Seqera Platform allows the creation of multiple organizations, each of which can contain multiple workspaces with shared users and resources. This allows any organization to customize and organize the usage of resources while maintaining an access control layer for users associated with a workspace. |
| 224 | + |
| 225 | +### Organization users |
| 226 | + |
| 227 | +Any user can be added or removed from a particular organization or a workspace and can be allocated a specific access role within that workspace. |
| 228 | + |
| 229 | +The Teams feature provides a way for organizations to group various users and participants together into teams. For example, `workflow-developers` or `analysts`, and apply access control to all the users within this team collectively. |
| 230 | + |
| 231 | +For further information, please refer to the [User Management](https://docs.seqera.io/platform/24.1/orgs-and-teams/organizations) section. |
| 232 | + |
| 233 | +### Setting up a new organization |
| 234 | + |
| 235 | +Organizations are the top-level structure and contain Workspaces, Members, Teams and Collaborators. |
| 236 | + |
| 237 | +To create a new Organization: |
| 238 | + |
| 239 | +1. Click on the dropdown next to your name and select New organization to open the creation dialog. |
| 240 | +2. On the dialog, fill in the fields as per your organization. The Name and Full name fields are compulsory. |
| 241 | + |
| 242 | + !!! note |
| 243 | + |
| 244 | + A valid name for the organization must follow a specific pattern. Please refer to the UI for further instructions. |
| 245 | + |
| 246 | +3. The rest of the fields such as Description, Location, Website URL and Logo Url are optional. |
| 247 | +4. Once the details are filled in, you can access the newly created organization using the organization’s page, which lists all of your organizations. |
| 248 | + |
| 249 | + !!! note |
| 250 | + |
| 251 | + It is possible to change the values of the optional fields either using the Edit option on the organization’s page or by using the Settings tab within the organization page, provided that you are the Owner of the organization. |
| 252 | + |
| 253 | + !!! tip |
| 254 | + |
| 255 | + A list of all the included Members, Teams and Collaborators can be found on the organization page. |
| 256 | + |
| 257 | +!!! cboard-list-2 "Summary" |
| 258 | + |
| 259 | + In this step you have learned: |
| 260 | + |
| 261 | + 1. How to create a new organization |
| 262 | + 2. How to access the newly created organization |
| 263 | + 3. How to change organization settings |
0 commit comments