Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.7%) to scientific vocabulary
Repository
Label Me Application for PTdatax
Basic Info
- Host: GitHub
- Owner: In-For-Disaster-Analytics
- Language: Shell
- Default Branch: main
- Size: 234 KB
Statistics
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
This template is the first in a series of templates that will guide you through the process of creating a cookbook and running it on TACC systems. From simple ones that run a command to more complex ones that run a Python script using conda or a Jupyter Notebook.
Requirements
- A GitHub account
- TACC account. If you don't have one, you can request one here.
- To access TACC systems, you should have an allocation.
Template Overview
This template creates a simple Python script that will be used to demonstrate how to run a cookbook on a TACC cluster and obtain the output using a UI. The cookbook will use a CSV file stored on TACC storage and run a Python script that reads it, calculates the average of the values in the first column, and writes the result to a file.
In this case, the file is small for demonstration purposes. However, you can use the same process to analyze large files.
How does it work?
app.jsonfile: contains the definition of the Tapis application, including the application's name, description, Docker image, input files, and advanced options.Dockerfile: a Docker image is built from theDockerfile. The Docker image defines the runtime environment for the application and the files that will be used by the application.run.sh: contains all the commands that will be executed on the TACC cluster.
Upload files to TACC storage
One of the goals of the template is to demonstrate how to use the TACC storage system to store the input and output files. So, you should upload the CSV file to the TACC storage system.
- Go to the TACC Portal.
- Click on the "Data Files" tab.
- Click on the "Add +" button.

- Click on the "Upload" button.

- Select the file you want to upload and click
Upload Selected.
Modify the Dockerfile
The Dockerfile is used to create a Docker image that will be used to run the Python script. In this case, the Docker image is created using the microconda base image, which is a minimal image that contains conda.
For example, the Dockerfile below installs curl using apt-get. This is useful if you need to install packages that are not available in conda.
Dockerfile
RUN apt-get update && apt-get install -y \
curl \
&& rm -rf /var/lib/apt/lists/*
Define conda dependencies using environment.yaml
The environment.yaml file is used to define the conda environment that will be used to run the Python script. In this case, the environment.yaml file contains the dependencies needed to run the Python script.
yaml
name: base
channels:
- conda-forge
dependencies:
- python=3.9.1
- pandas=1.2.1
Job run script
The run.sh file is used to run the Python script. It activates the conda environment and runs the Python script.
```bash
!/bin/bash
set -xe
cd ${tapisExecSystemInputDir} python /code/main.py billing.csv ${tapisExecSystemOutputDir}/output.txt ```
The run.sh has two variables that are used to define the input and output directories. These variables are _tapisExecSystemInputDir and _tapisExecSystemOutputDir which are automatically set by the Tapis system.
- _tapisExecSystemInputDir: The directory where the input files are staged
- _tapisExecSystemOutputDir: The directory where the application writes the output files
Create your cookbook
You can use this repository as a template to create your cookbook. Follow the steps below to create your cookbook.
Create a new repository
- Click on the "Use this template" button to create a new repository
- Fill in the form with the information for your new repository
Build the Docker image
- Clone the repository
- Build the Docker image using the command below
bash
docker build -t cookbook-python .
- Push the Docker image to a container registry
bash
docker tag cookbook-python <your-registry>/cookbook-python
docker push <your-registry>/cookbook-python
Modify the app.json file
Each app has a unique id and description. So, you should change these fields to match your app's name and description.
- Download the
app.jsonfile - Change the values
idanddescriptionfields with the name and description as you wish.
Create a New Application on the Cookbook UI
- Go to Cookbook UI
- Click on the "Create Application" button
- Fill in the form with the information from your
app.jsonfile - Click "Create Application"
- A new application will be created, and you will be redirected to the application's page
Run your Cookbook
- Go to the application's page on the Cookbook UI, if you are not already there
- Click on the "Run" button on the right side of the page. This will open the Portal UI
- Click on the "Select" button to choose the input file

- Click "Run"
Check the output
- After the job finishes, you can check the output by clicking on the "Output location" link on the job's page

- You will be redirected to the output location, where you can see the output files generated by the job

- Click on a file to see its content. In this case, the file is named
output.txt
Next templates
Authors
- William Mobley - wmobley@tacc.utexas.edu
- Maximiliano Osorio - maxiosorio@gmail.com
Owner
- Name: In-For-Disaster-Analytics
- Login: In-For-Disaster-Analytics
- Kind: organization
- Repositories: 1
- Profile: https://github.com/In-For-Disaster-Analytics
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: Cookbook-Tutorial-Template
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Maximiliano
family-names: Osorio
orcid: 'https://orcid.org/0000-0002-3611-6510'
- given-names: William
family-names: Mobley
email: wmobley@tacc.utexas.edu
affiliation: Texas Advanced Computing Center
orcid: 'https://orcid.org/0000-0003-1783-0599'
- given-names: Lissa
family-names: Pearson
- given-names: Suzanne
family-names: Pierce
email: spierce@tacc.utexas.edu
affiliation: Texas Advanced Computing Center
orcid: 'https://orcid.org/0000-0002-3050-1987'
repository-code: >-
https://github.com/In-For-Disaster-Analytics/Cookbook-Tutorial-Template
license: Apache-1.0
GitHub Events
Total
Last Year
Dependencies
- actions/checkout v4 composite
- docker/build-push-action v5 composite
- docker/login-action 65b78e6e13532edd9afa3aa52ac7964289d1a9c1 composite
- docker/metadata-action v4 composite
- docker/setup-buildx-action v3 composite
- mambaorg/micromamba 1.5.8 build