How-to Guide

The LEXIS Platform provides easy and secure access to the High Performance Computing (HPC) infrastructure without the required deep knowledge in the field. If you are the user who is taking their first steps, you can use the graphical interface and HTTP API to access the platfom features. In this section, the LEXIS Platform and its intricacies are described in a greater detail.

This how-to guide describes the following features of the LEXIS Platform:

  • create LEXIS projects

  • request access to existing LEXIS projects

  • manage members of LEXIS projects as project manager

  • create and manage users datasets

  • manage LEXIS project computation resources

  • create LEXIS workflows with containerised applications

  • create LEXIS workflows with HPC command applications

  • create LEXIS workflow by description in LEXIS WORKFLOW Definition

  • execute LEXIS workflows

  • see LEXIS workflow execution progress

  • browse LEXIS workflow execution results

Registration

There is no standard registration form, you just have to log in first. There is a login button located in the top right corner. You can choose from two main options, either B2Access or MyAccessID - Puhuri. These trustworthy authentication authorities support eduGAIN, ORCID, and Social Identities.

../_images/fsteps_sign_in_options.png

If this is your first interaction with the platform, you’ll see the blank screen with two options. You can create a new project, or join an existing one to start using all the amazing features. The following chapters will tell you how.

Creation of LEXIS Project

LEXIS Computational Project is the basic organisation unit. If you don’t have access to any project yet, you will see the option to create a new project immediately after logging into LEXIS.

access or create project

If you already have an access to projects, but you want to create a new one, there is the Projects section in the navigation menu on the left. If you go there, you’ll see all your current projects. At the top right area of this section, you can find the Create Project button.

Create project button

When you click it, the form will pop up. All the fields are required, so fill them in and then hit the Create button.

Create project form

The newly created project will be added to your list of projects in the Projects section.

List of projects

Requesting access to existing LEXIS Project

You can also simply request an access to existing project. This is your second option after your first login.

Access or create project

If you already have an access to projects but you want to join a new one, there is the Projects section in the navigation menu on the left. If you go there, you’ll see all your current projects. At the top right area of this section, you can find the Request Project Access button.

Request project access buttom

When you click it, the window will appear. Write here the short name of the project you wish to join and hit the Request button.

Request project access

The request will be sent to the Project Owner, who must approve access to the project and assign you the appropriate role in it (Managing members of LEXIS projects as a project manager).

You will be notified via email when the project owner processes your request and grants you (or refuses) the access to the project.

Requesting computation resources for a LEXIS project

You need LEXIS Computing Resource to execute workflows and store files. You will need one resource for computation time and one resource for data storage allocation. To gain access to the required resources, click on the Resources button next to your created project on the Projects page.

Project_resources_button

This will display a list of resources already allocated to the LEXIS Project. Here, you will find the Request Resources Access button. In the LEXIS project, only the Project Manager and the Project Owner has the rights to request a Resources.

request_resources_access_button_listresources

Click on the Request Resource Access button and fill out the form. Please provide the Resources name and the email of the PI for the selected project.

resource_form

After your request has been successfully submitted, you will be informed about the progress via your email. Now you have to wait until the PI of the resource accepts your request. If you are the PI, an email will be sent to you with a one-time link to accept the request. To assign a storage resource, click on the Manage Resources button. In the search field, enter “iRODS LEXIS V2” and click on the Assign button in the Actions column.

Creation of User’s Dataset

If you want to start computing on the LEXIS Platform, you need to provide your data. To upload your very own LEXIS User’s Dataset, look to the left for the Data Sets section. Here you can see the Uploads section. In this section, you can find all the projects you have access to and you can see the datasets assigned to these projects as well.

upload_dataset_button

To upload a new dataset, click on the green Upload Dataset button.

upload_dataset_form

Just a reminder, you can only upload a dataset if you have assigned LEXIS Computation Resource to your LEXIS Computational Project, like we showed you in the previous section.

A window will open where you choose the file to upload. You can upload a single file, or compressed files in zip or tar.gz formats. In the case of compressed files, you can check the option to unpack them at the destination. The maximum file size TUS protocol allows is 128 GB. Larger files can be uploaded directly via iRODS with Py4Lexis client. Py4Lexis client and examples of how to use it can be found here.

Next, be sure to give it a descriptive name so you know its content when you revisit it later. Do not forget to assign it to correct project. Lastly, choose who can see your data. User is for dataset owner only, project reveals it to all members in the project, and you can also make the dataset public, if you so desire. If you correctly assigned the Computation resource, the last two fields will fill in automatically.

You can move on with the Continue button. Some of the metadata will be filled for you, so just check it and make changes where necessary. Once you are satisfied, it is time to Continue.

Here, you can finally upload that dataset. This last summary is here for you to make the last verification. If everything is in order, clicking on the green Upload button will send your data to LEXIS.

upload_dataset_metadata
upload_dataset_summarization

Modification of User’s Dataset

In the Data Sets/Uploads section, you can find all the projects you have access to as well as the datasets assigned to these projects. There is a button in the Action column that allows you to review the details of the specific dataset.

actions_datasets

You can perform various actions on your dataset: Copy ID, Copy PATH, File List, Update Metadata, Delete, and Download.

detail_of_dataset

If you want to get inspired, or you are looking for interesting dataset, Data Sets/Public section contains all the public datasets. There is also the Action button, where you can see the details and where you can also download the dataset for your perusal.

public_datasets

Container Applications

One of the supported methods for delivering instructions to a workflow in the LEXIS Project is loading them into an HPC Container Application.

You can add a Container in the Applications/Containers menu. Click on the Create Container button.

create_container_wayto

In this window, choose the container you wish to upload and an icon to upload as well. Fill in the name of your new container. In the dropdown menu, choose the project to assign the container to. You can also set the range of users who can see the container. User is for container owner only, Project reveals it to all members in the project, and you can also make the container Public.

create_new_conteiner_form_add
create_new_conteiner_form_params

At the end, a summary will be displayed for review and to complete the saving of your new container.

create_new_conteiner_form_result

Existing containers are displayed in blocks along with basic descriptive information. You can click on the blocks and create a new workflow with the selected containers.

container_show_all

HPC Command applications

Another option for you to define a workflow is to have it prepared (compiled) for you by a specialist. If you have your HPC Command Application, you can contact support@lexis-project.eu. Our support team will ensure that your HPC application is added to the LEXIS project. Once the HPC application is uploaded, it will appear in the list of uploaded applications in the Applications/HPC Application menu. If you click on a specific application there, you can configure the workflow and then run it with the specified parameters.

HPC_Applications_view
create_wf_hpc_app
create_wf_hpc_app_2
create_wf_hpc_app_3.png
create_wf_hpc_app_4_5

Custom HPC Jobs

If you want to create your own HPC Jobscript, navigate to Applications/Custom HPC Jobs. Click on the green Create Jobscript button.

create_jobscript_button_wayto

You can use the following code as an example job script and continue.

# Example Job Script for LEXIS Workflow
source /cvmfs/software.eessi.io/versions/2023.06/init/bash

ls ./input # in this directory should appear staged input dataset
cat ./input/vinice-geojson.json # reads content of uploaded file to dataset
echo "I am running!!"
custom_job_script
custom_job_script_wf_summary

Now the job script for the workflow is prepared and you can create a workflow by clicking on the Create Workflow button next to the prepared job script on Custom HPC Jobs page.

create_workflow_custom_job_script
create_workflow_jobscript_1

In the second step, you must choose one of the assigned resources to the project along with execution cluster and partition.

create_workflow_jobscript_2

Enable the Input dataset staging and select the dataset. The dataset will be staged to /input directory relative to the HPC job execution context.

create_workflow_jobscript_3
create_workflow_jobscript_4_summary

When the workflow is created, after a few seconds, it will finally appear in Custom HPC Script Worfklows section on Custom HPC Jobs page.

Created Worfklow in list

Now, everything is ready to execute your first workflow. Click on the green Execute button and fill the form.

Workflow execution form

In the execution detail, there is a visualisation. You can switch the view format from vertical to horizontal and vice versa and also download the image to your computer.

Change view and download

Some steps produce logs, which are accessible by moving the cursor over the step and clicking on the Logs button.

How to find execution logs on failure

You can usually find the logs from your HPC job in …heappe_job_waiting task’s log.

HPC job logs

# Job log - partial GeoJSON content and “I am running” message

[2024-07-18T11:58:00.642+0000] {logging_mixin.py:188} INFO -           [
[2024-07-18T11:58:00.642+0000] {logging_mixin.py:188} INFO -             16.64590904709604,
[2024-07-18T11:58:00.642+0000] {logging_mixin.py:188} INFO -             48.810181792975015
[2024-07-18T11:58:00.642+0000] {logging_mixin.py:188} INFO -           ],
[2024-07-18T11:58:00.642+0000] {logging_mixin.py:188} INFO -           [
[2024-07-18T11:58:00.642+0000] {logging_mixin.py:188} INFO -             16.64727894500959,
[2024-07-18T11:58:00.642+0000] {logging_mixin.py:188} INFO -             48.81075254030276
[2024-07-18T11:58:00.642+0000] {logging_mixin.py:188} INFO -           ]
[2024-07-18T11:58:00.642+0000] {logging_mixin.py:188} INFO -         ],
[2024-07-18T11:58:00.642+0000] {logging_mixin.py:188} INFO -         "type": "LineString"
[2024-07-18T11:58:00.642+0000] {logging_mixin.py:188} INFO -       }
[2024-07-18T11:58:00.642+0000] {logging_mixin.py:188} INFO -     }
[2024-07-18T11:58:00.642+0000] {logging_mixin.py:188} INFO -   ],
[2024-07-18T11:58:00.643+0000] {logging_mixin.py:188} INFO -   "bbox": null
[2024-07-18T11:58:00.643+0000] {logging_mixin.py:188} INFO - }
[2024-07-18T11:58:00.643+0000] {logging_mixin.py:188} INFO - I am running!!
[2024-07-18T11:58:00.650+0000] {base.py:293} INFO - Success criteria met. Exiting.
[2024-07-18T11:58:00.672+0000] {taskinstance.py:1138} INFO - Marking task as SUCCESS.

Create LEXIS workflow using LEXIS Worfklow Definition

LEXIS workflows are specified declaratively using LEXIS Workflow Definition. To execute a workflow, you need a LEXIS project with active resources.

For complete documentation, see Lexis Workflow Definition. To create a workflow, you can either use the API directly, utilize the built-in editor in the web UI, or upload a file with LEXIS Worfklow Defintion via the web interface, as shown in the figures below.

First, navigate to Applications → User Workflows, then click the Create Workflow button. You will be prompted to either use the visual editor or upload a YAML file. Below the editor or file upload section, enter the name of the workflow (this will overwrite the label property in the YAML declaration), select a LEXIS project from the dropdown, and click Create.

The workflow will appear in the list shortly. However, it may take a few minutes to become visible—thank you for your patience.

create_user_WF_wayto
creating_lexis_wf_lwd
listing_created_lexis_wf_lwd

Example of high-level workflow declaration using LEXIS Worfklow Definition:

 1id: test_Easy_WF2_improved
 2desc: Test Workflow in LWD
 3project_shortname: testproject
 4jobs:
 5  hpcJob_node1:
 6    requirements:
 7      command_template_name: TestTemplate
 8      node_type_name: qcpu_exp
 9      locations:
10        - location_name: Karolina
11          location_resource: DD-XX-X
12      walltime_limit: 3600
13      max_cores: 128
14      policy: preferred
15      template_parameters:
16        inputParam: LoremIpsum - Value
17    data_inputs:
18      - source: ddi://926658e6-xxxx-xxxx-xxxx-xxxxxxx
19        target: inputDir1
20    data_outputs:
21      - source: inputDir1/
22        target: ddi://~
23        metadata:
24          title: LWD Test intermediate output
25          $name: input_to_output_dataset
26          access: project
27          additionalMetadata:
28            LEXIS_dataset_type: TESTING_DATASET
29      - source: inputDir1/
30        metadata:
31          $name: input_to_output_dataset
32
33  hpcJob_node2:
34    requirements:
35      command_template_name: TestTemplate
36      node_type_name: qcpu_exp
37      locations:
38        - location_name: Karolina
39          location_resource: DD-XX-X
40      walltime_limit: 3600
41      max_cores: 128
42      policy: preferred
43      template_parameters:
44        inputParam: LoremIpsum - Value
45    data_inputs:
46      - source: ddi://926658e6-xxxx-xxxx-xxxx-xxxxxxx
47        target: inputDir1
48      - source: job://hpcJob_node1/input_to_output_dataset/
49        target: inputDir2
50    data_outputs: []
51
52metadata:
53  start_date: "2025-10-20T11:10:12.880Z"
54  catchup: false

Execution of LEXIS Workflows

You can always execute the LEXIS Workflows immediately after entering the input application and dataset within the Applications module. Subsequently, you can view all executed LEXIS Workflows in the Workflows module. There is also the option to execute the workflow again with modified input parameters.

So, if you need to view the details of an already executed workflow, you can do it using the magnifying Glass button in the row of the specific workflow or the Executions button.

executions_WF

In the Details tab using the blue Workflow Executions button, you can view the list of all executions of this workflow, including the details of each run. With the green Create Workflow Execution button, you can set the parameters for a new execution and start it.

executions_WF_createnew_excecution
wf_create_new_excecution

In the Workflow Graph tab, you can view the graph of individual tasks in the selected LEXIS Workflow.

WF_graph

Below, we provide a legend for the colours used in the workflow to indicate different statuses of Workflows Tasks - LEXIS Task.

states_of_wf_legend

User’s Dashboard

The portal features a Dashboard module that provides a convenient overview of running workflows, their progress, and results. In the Dashboard/Workflow, you can view this information in clear diagrams, with some additional details about the workflows.

dashboard_workflow

User’s Permissions Management

In the top right corner, you can view the details of your user account.

view_profile

By clicking on the View Profile, a table of roles for each of your projects will be displayed on the right.

role_in_projects

Within the LEXIS Project, we define four user roles. Below is a list and description of each:

Project Owner - This role is automatically assigned to the user who creates a new LEXIS Project. There can be only one Owner per project. The user in this role has the highest level of permissions on the project and is responsible for approving new users and assigning them appropriate roles.

Project Manager - The Owner can assign this role to other users on the project to delegate project and user management to additional users. Multiple users can hold the Manager role within a project.

Project Member - This role is for standard users on the project. A user in this role can work with Workflows and Datasets but cannot publish any Datasets.

Project DataPublisher - A user in this role can work with Workflows and Datasets, and also has the permission to publish Datasets.

Managing members of LEXIS projects as a project manager

If someone is Requesting access to existing LEXIS Project where you are in the role of a Project Owner or a Project Manager, a new request will appear next to your account name in the top right corner for your approval. If you approve the request, the new user will automatically become the Project Member.

project_acces_requests_keynew_click

You can also change your mind later and remove any previously accepted users. You can do this in the Project module, under the Users button.

project_users_button
make_manager_unnassign_user