You need to sign in or sign up before continuing.
Commit 2f8c1efb authored by root's avatar root

Fix email addresses and remove module load spartan_2019

parent 737b9070
......@@ -43,3 +43,4 @@ Trimmomatic/.backup
*.odb
*.csv
*.data
*.inp
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -11,7 +11,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -11,7 +11,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
#!/bin/bash
#SBATCH --job-name="2015ANSYS2dstress"
# Note this order has to be kept. It's horrible, but it works.
module purge
source /usr/local/module/spartan_old.sh
module load X11/20190311-spartan_gcc-6.2.0
module load motif/2.3.5-goolf-2015a
module load libXpm/3.5.11-goolf-2015a
module load ANSYS_CFD/19.0
ansys190 -b < 2dstress.inp > 2dstress.out
#!/bin/bash
#SBATCH --job-name="2015ANSYS2drtuss"
#SBATCH --time=0:15:00
# Note this order has to be kept. It's horrible, but it works.
module purge
source /usr/local/module/spartan_old.sh
module load X11/20190311-spartan_gcc-6.2.0
module load motif/2.3.5-goolf-2015a
module load libXpm/3.5.11-goolf-2015a
module load ANSYS_CFD/19.0
ansys190 -b < 2dtruss.inp > 2dtruss.out
#!/bin/bash
#SBATCH --job-name="2015ANSYS3dbike"
#SBATCH --time=0:15:00
# Note this order has to be kept. It's horrible, but it works.
module purge
source /usr/local/module/spartan_old.sh
module load X11/20190311-spartan_gcc-6.2.0
module load motif/2.3.5-goolf-2015a
module load libXpm/3.5.11-goolf-2015a
module load ANSYS_CFD/19.0
ansys190 -b < 3dbike.inp > 3dbike.out
#!/bin/bash
#SBATCH --job-name="2015ANSYSArray"
#SBATCH --time=0:15:00
#SBATCH --array=1-2
echo "Starting task $SLURM_ARRAY_TASK_ID"
DIR=$(sed -n "${SLURM_ARRAY_TASK_ID}p" ansysdirs)
cd $DIR
# Note this order has to be kept. It's horrible, but it works.
module purge
source /usr/local/module/spartan_old.sh
module load X11/20190311-spartan_gcc-6.2.0
module load motif/2.3.5-goolf-2015a
module load libXpm/3.5.11-goolf-2015a
module load ANSYS_CFD/19.0
# Place the code to execute here
input=*.inp
output=$(echo $input | cut -d'.' -f 1)
ansys190 -b < $input > ${output}.out
../2dtruss
../3dbike
#!/bin/bash
#SBATCH --job-name="2015ANSYSAxisymmetry"
#SBATCH --time=0:15:00
# Note this order has to be kept. It's horrible, but it works.
module purge
source /usr/local/module/spartan_old.sh
module load X11/20190311-spartan_gcc-6.2.0
module load motif/2.3.5-goolf-2015a
module load libXpm/3.5.11-goolf-2015a
module load ANSYS_CFD/19.0
ansys190 -b < Axisymmetry.inp > Axisymmetry.out
#!/bin/bash
#SBATCH --job-name="2015ANSYSbeam"
# Note this order has to be kept. It's horrible, but it works.
module purge
source /usr/local/module/spartan_old.sh
module load X11/20190311-spartan_gcc-6.2.0
module load motif/2.3.5-goolf-2015a
module load libXpm/3.5.11-goolf-2015a
module load ANSYS_CFD/19.0
ansys190 -b < beamsolid.inp > beamsolid.db
#!/bin/bash
#SBATCH --job-name="2015ansysBuckling"
#SBATCH --time=0:15:00
# Note this order has to be kept. It's horrible, but it works.
module purge
source /usr/local/module/spartan_old.sh
module load X11/20190311-spartan_gcc-6.2.0
module load motif/2.3.5-goolf-2015a
module load libXpm/3.5.11-goolf-2015a
module load ANSYS_CFD/19.0
ansys190 -b < Buckling1.inp > Buckling1.out
#!/bin/bash
#SBATCH --job-name="2015ansysBuckling"
#SBATCH --time=0:15:00
# Note this order has to be kept. It's horrible, but it works.
module purge
source /usr/local/module/spartan_old.sh
module load X11/20190311-spartan_gcc-6.2.0
module load motif/2.3.5-goolf-2015a
module load libXpm/3.5.11-goolf-2015a
module load ANSYS_CFD/19.0
ansys190 -b < Buckling2.inp > Buckling2.out
#!/bin/bash
#SBATCH --job-name="2015ansysDistLoad"
#SBATCH --time=0:15:00
# Note this order has to be kept. It's horrible, but it works.
module purge
source /usr/local/module/spartan_old.sh
module load X11/20190311-spartan_gcc-6.2.0
module load motif/2.3.5-goolf-2015a
module load libXpm/3.5.11-goolf-2015a
module load ANSYS_CFD/19.0
ansys190 -b < DistLoad.inp > DistLoad.out
#!/bin/bash
#SBATCH --job-name="2015ansysDynamicHarmonic"
#SBATCH --time=0:15:00
# Note this order has to be kept. It's horrible, but it works.
module purge
source /usr/local/module/spartan_old.sh
module load X11/20190311-spartan_gcc-6.2.0
module load motif/2.3.5-goolf-2015a
module load libXpm/3.5.11-goolf-2015a
module load ANSYS_CFD/19.0
ansys190 -b < DynamicHarmonic.inp > DynamicHarmonic.out
#!/bin/bash
#SBATCH --job-name="2015ansysDynamicModal"
#SBATCH --time=0:15:00
# Note this order has to be kept. It's horrible, but it works.
module purge
source /usr/local/module/spartan_old.sh
module load X11/20190311-spartan_gcc-6.2.0
module load motif/2.3.5-goolf-2015a
module load libXpm/3.5.11-goolf-2015a
module load ANSYS_CFD/19.0
ansys190 -b < DynamicModal.inp > DynamicModal.out
#!/bin/bash
#SBATCH --job-name="2015ansysDynamicTransient"
#SBATCH --time=0:15:00
# Note this order has to be kept. It's horrible, but it works.
module purge
source /usr/local/module/spartan_old.sh
module load X11/20190311-spartan_gcc-6.2.0
module load motif/2.3.5-goolf-2015a
module load libXpm/3.5.11-goolf-2015a
module load ANSYS_CFD/19.0
ansys190 -b < DynamicTransient.inp > DynamicTransient.out
#!/bin/bash
#SBATCH --job-name="2015ansysNonLinearA"
#SBATCH --time=0:15:00
# Note this order has to be kept. It's horrible, but it works.
module purge
source /usr/local/module/spartan_old.sh
module load X11/20190311-spartan_gcc-6.2.0
module load motif/2.3.5-goolf-2015a
module load libXpm/3.5.11-goolf-2015a
module load ANSYS_CFD/19.0
ansys190 -b < NonLinearA.inp > NonLinearA.out
#!/bin/bash
#SBATCH --job-name="2015ansysNonLinearB"
#SBATCH --time=0:15:00
# Note this order has to be kept. It's horrible, but it works.
module purge
source /usr/local/module/spartan_old.sh
module load X11/20190311-spartan_gcc-6.2.0
module load motif/2.3.5-goolf-2015a
module load libXpm/3.5.11-goolf-2015a
module load ANSYS_CFD/19.0
ansys190 -b < NonLinearB.inp > NonLinearB.out
This source diff could not be displayed because it is too large. You can view the blob instead.
#!/bin/bash
#SBATCH --job-name="2015ANSYStest"
#SBATCH --job-name="2015ANSYSplate"
# Note this order has to be kept. It's horrible, but it works.
module purge
......
This diff is collapsed.
#!/bin/bash
# job name:
#PBS -N ansys_benchmark
# how many cpus?
#PBS -l nodes=1:ppn=2
# How long to run the job? (hours:minutes:seconds)
# You will almost certainly need to change this.
#PBS -l walltime=00:15:00
# Wait for license file
# Please leave this as it is, makes it a lot safer.
# PBS -W x=gres:aa_r+1
#PBS -W x=GRES:aa_r+1%aa_r_hpc+2
# Environmental varibles to make it work:
module load ansys/145
cd $PBS_O_WORKDIR
# Launching the job!
NODES=$(cat $PBS_NODEFILE | sort | uniq -c | awk '{print $2 "*" $1}' | tr '\n' ',' | sed 's/,$//')
echo "This job is allocated on $NODES"
cfx5solve -def Benchmark.def -parallel -par-dist $NODES
#!/bin/bash
# ------------------------------------
# ANSYS - CFX FSI script.
# All you need change is wall time and name of input files.
# And possibly the job name.
# -----------------------------------
# pbs launching script example for ANSYS job:
# job name: --- Change this if you like
#PBS -N ansys_job_01
# how many cpus? --- Probably best choice.
#PBS -l nodes=8
# How long to run the job? (hours:minutes:seconds)
# You will almost certainly need to change this.
#PBS -l walltime=00:30:00
# Name of output file:
# PBS -o ansys_test_job_02.txt
# Wait for license file
# Please leave this as it is, makes it a lot safer.
# PBS -l software=aa_r+1
#PBS -W x=GRES:aa_r+1%aa_r_hpc+2
# For CFX use only
# PBS -l software=cfx_par_proc+8
# Environmental varibles to make it work:
module load ansys/145
cd $PBS_O_WORKDIR
# Launching the job!
NODES=$(cat $PBS_NODEFILE | sort | uniq -c | awk '{print $2 "*" $1}' | tr '\n' ',' | sed 's/,$//')
echo "This job is allocated on $NODES"
cfx5solve -def OscillatingPlate.def -ansys-input OscillatingPlate.inp -parallel -par-dist $NODES
Please note that this tutorial is not complete yet!
# ANSYS Job Submission Examples
## Introduction
All the examples here use the old build system and ANSYS_CFD v19.0 (2019).
The example OscillatingPlate is a classic from ANSYS involving a plate in a Fluid-Structure Interaction (FSI). The original example for High
Performance Computing was from the Victorian Partnership for Advanced Computing (2015) using TORQUE PBS and then ported to the Univeristy of
Melbourne using the Slurm Workload Manager.
All other examples come from the rather impressive ANSYS tutorial collection from the University of Alberta
(https://sites.ualberta.ca/~wmoussa/AnsysTutorial/index.html). As should be evident from these, only part of ANSYS (the computation side for
solving) is represented in batch processing. Interactive visualisation and post-processing interpretation requires a different approach.
## Directory Listing
The directories are as follows:
2dtruss: Basic functions will be shown to provide you with a general knowledge of command line codes.
3dbike: Intermediate ANSYS functions will be shown in detail to provide you with a more general understanding of how to use ANSYS.
2dstress: Boolean operations, plane stress and uniform pressure loading will be introduced in the creation and analysis of this 2-Dimensional
object.
Solid: This tutorial will introduce techniques such as filleting, extrusion, copying and working plane orienation to create 3-Dimensional
objects.
SelfWeight: Incorporating the weight of an object into the finite element analysis is shown in this simple cantilever beam example.
DistLoad: The application of distributed loads and the use of element tables to extract datal.
NonLinearA: A large moment is applied to the end of a cantilever beam to explore Geometric Nonlinear behaviour (large deformations).
BucklingE: Use both Eigenvalue and Nonlinear methods are used to solve a simple buckling problem.
BucklingN: Use both Eigenvalue and Nonlinear methods are used to solve a simple buckling problem.
NonLinearB: How to include material nonlinearities in an ANSYS model.
DynamicModal: Explore the modal analyis capabilities of ANSYS.
DynamicHarmonic: Explore the harmonic analyis capabilities of ANSYS.
DynamicTransient: Explore the transient analyis capabilities of ANSYS.
ThermalPure: Analysis of a pure conduction boundary condition example.
ThermalMix: Analysis of a Mixed Convection/Conduction/Insulated boundary condition example.
ThermalTrans: Analysis of heat conduction over time.
Axisymmetry: Utilizing axisymmetry to model a 3-D structure in 2-D to reduce computational time.
Again, it is re-iterated, these are not complete tutorials for ANSYS, just batch examples for the solver computation portion of the various
tasks. See the University of Alberta website for complete tutorials.
## Array
A sample directory-driven job array is provided that takes a list of ANSYS directories and runs the jobs simultaneously. This will save you a
lot of time!
## Note for admins.
There will be changes to dependent software due to change in toolchain. Attempts to use a more consistent toolchain for X11 with GCC/4.9.2
result in libXp.so.6 shared object file not found. The modules we have in these examples, whilst truly ugly, does work.
Last update: LL20210216
#!/bin/bash
#SBATCH --job-name="2015ANSYSSelfWeight"
#SBATCH --time=0:15:00
# Note this order has to be kept. It's horrible, but it works.
module purge
source /usr/local/module/spartan_old.sh
module load X11/20190311-spartan_gcc-6.2.0
module load motif/2.3.5-goolf-2015a
module load libXpm/3.5.11-goolf-2015a
module load ANSYS_CFD/19.0
ansys190 -b < SelfWeight.inp > SelfWeight.out
#!/bin/bash
#SBATCH --job-name="2015ANSYSolid"
# Note this order has to be kept. It's horrible, but it works.
module purge
source /usr/local/module/spartan_old.sh
module load X11/20190311-spartan_gcc-6.2.0
module load motif/2.3.5-goolf-2015a
module load libXpm/3.5.11-goolf-2015a
module load ANSYS_CFD/19.0
ansys190 -b < solid.inp > solid.out
#!/bin/bash
#SBATCH --job-name="2015ThermalMix"
#SBATCH --time=0:15:00
# Note this order has to be kept. It's horrible, but it works.
module purge
source /usr/local/module/spartan_old.sh
module load X11/20190311-spartan_gcc-6.2.0
module load motif/2.3.5-goolf-2015a
module load libXpm/3.5.11-goolf-2015a
module load ANSYS_CFD/19.0
ansys190 -b < ThermalMix.inp > ThermalMix.out
#!/bin/bash
#SBATCH --job-name="2015ThermalPure"
#SBATCH --time=0:15:00
# Note this order has to be kept. It's horrible, but it works.
module purge
source /usr/local/module/spartan_old.sh
module load X11/20190311-spartan_gcc-6.2.0
module load motif/2.3.5-goolf-2015a
module load libXpm/3.5.11-goolf-2015a
module load ANSYS_CFD/19.0
ansys190 -b < ThermalPure.inp > ThermalPure.out
#!/bin/bash
#SBATCH --job-name="2015ThermalTrans"
#SBATCH --time=0:15:00
# Note this order has to be kept. It's horrible, but it works.
module purge
source /usr/local/module/spartan_old.sh
module load X11/20190311-spartan_gcc-6.2.0
module load motif/2.3.5-goolf-2015a
module load libXpm/3.5.11-goolf-2015a
module load ANSYS_CFD/19.0
ansys190 -b < ThermalTrans.inp > ThermalTrans.out
......@@ -7,7 +7,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -13,11 +13,24 @@ As with all Slurm directives, the SBATCH command can be applied within the batch
To convert a directory of files to include an array ID see the following example:
```
$ touch aaa.fastq.gz bbb.fastq.gz ccc.fastq.gz ddd.fastq.gz
$ ls
aaa.fastq.gz bbb.fastq.gz ccc.fastq.gz ddd.fastq.gz
$ n=1; for f in *fastq.gz; do mv "$f" "$((n++))$f"; done
$ ls
1aaa.fastq.gz 2bbb.fastq.gz 3ccc.fastq.gz 4ddd.fastq.gz
```
See also the Octave array example in /usr/local/common/Octave.
An alternative would be to read in the files using sed. Insert the following into the job submission script immediately after the Slurm
directives. For example;
```
item=$(ls *.fastq.gz | sed -n ${SLURM_ARRAY_TASK_ID}p)
```
The example "folders" illustrates the use of datasets in separate folders. This example is derived from Compute/Calcul Canada.
See also the Octave array example in /usr/local/common/Octave for the use of multiple files or scripts as an array.
See also the Array directory in /usr/local/common/ANSYS/Array and /usr/local/common/R/Array for the use of folders as an array.
pacific2016
pacific2017
atlantic2016
atlantic2017
#!/bin/bash
#SBATCH --array=1-4
echo "Starting task $SLURM_ARRAY_TASK_ID"
DIR=$(sed -n "${SLURM_ARRAY_TASK_ID}p" case_list)
cd $DIR
# Place the code to execute here
pwd
ls
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Speciation-extinction analyses
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Speciation-extinction analyses
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -7,7 +7,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -7,7 +7,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -11,7 +11,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -9,7 +9,7 @@
#SBATCH -t 1:00:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -9,7 +9,7 @@
#SBATCH -t 1:00:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -7,7 +7,7 @@
#SBATCH -t 1:00:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -11,7 +11,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -7,7 +7,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -7,7 +7,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the module to check the quality of the sequence data we will use a tool called FastQC.
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the module to check the quality of the sequence data we will use a tool called FastQC.
......
#!/bin/bash
#SBATCH --job-name=FastQCArray
#SBATCH --array=1-2
# Load the module to check the quality of the sequence data we will use a tool called FastQC.
module purge
module load fastqc/0.11.9-java-11.0.2
item=$(ls *.fastq.gz | sed -n ${SLURM_ARRAY_TASK_ID}p)
fastqc $file
......@@ -11,7 +11,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -2,7 +2,6 @@
#SBATCH -t 01:00:00
module purge
module load spartan_2019
module load freesurfer/7.1.0-centos7_x86_64
# Tutorial derived from `https://surfer.nmr.mgh.harvard.edu/fswiki/FsTutorial/GroupAnalysis`
......
......@@ -7,7 +7,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# GAMESS likes memory!
......
......@@ -6,7 +6,6 @@ INPUT_FILE="test0001.com"
OUTPUT_FILE="test0001.log"
module purge
module load spartan_2019
module load pgi/18.10-gcc-8.3.0-2.32
module load gaussian/g16c01
......
......@@ -11,7 +11,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -11,7 +11,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -7,7 +7,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -7,7 +7,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -11,7 +11,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -10,7 +10,7 @@
#SBATCH -t 1:00:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -10,7 +10,7 @@
#SBATCH -t 1:00:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
#!/bin/bash
# One task, one core, default partition, ten minutes walltime
module purge
module load matlab/2020a
matlab -nodesktop -nodisplay -nosplash< analyze.m
## Mathematical Applications and Programming
The following is derived from the Software Carpentries short session on Octave Programming, but modified for the Spartan HPC environment and
Slurm job submission (https://bagustris.github.io/octave-tutorial/01-intro/).
Why is it in the MATLAB directory? Because (a) Octave is highly compatiable with MATLAB and this illustrates this and (b) Octave on Spartan
does not do graphical output and this example makes extensive use of plots etc.
All these tasks are presented in a manner that can be carried out in an interactive session and with an job submission script.
The example dataset is a study of inflammation in patients who have been given a new treatment for arthritis. The data sets are stored in a
comma-separated value (CSV) format, with each row holding information for a single patient, and each columns represent successive days of the
study.
Collect example, start interactive session
```
cd ~
cp -r /usr/local/common/MATLAB .
sinteractive --time=4:0:0 --partition="snowy"
cd MATLAB/patients/
```
Load modules, start octave
```
module load matlab/2020a
```
Interactive session
Read in the csv file as csv and assign to the variable `patient_data`
`patient_data = csvread('inflammation-01.csv');`
Determine the size of the CSV file, in rows and columns
`size(patient_data)`
Determine the datatype of the contents
`class(patient_data)`
Average inflammation for all patients on all days
`mean(patient_data(:))`
# NOTE!
# The command mean(patient_data) would compute the mean of each column in our table, and return an array of mean values.
# The expression mean(patient_data(:)) flattens the table into a one-dimensional array.
# The `:` selects all elements along that dimension. So, the index (5, :) selects the elements on row 5, and all
# columns—effectively, the entire row.
# Compute other statistics, like the maximum, minimum and standard deviation.
disp(['Maximum inflammation: ', num2str(max(patient_data(:)))]);
disp(['Minimum inflammation: ', num2str(min(patient_data(:)))]);
disp(['Standard deviation: ', num2str(std(patient_data(:)))]);
# When analyzing data, we often want to look at partial statistics, such as the maximum value per patient or the average value per day. One
# way to do this is to assign the data we want to a new temporary array, then ask it to do the calculation:
patient_1 = patient_data(1, :)
disp(['Maximum inflation for patient 1: ', num2str(max(patient_1))]);
# We don’t actually need to store the row in a variable of its own. Instead, we can combine the selection and the function call:
max(patient_data(1, :))
# What if we need the maximum inflammation for all patients, or the average for each day?
# To support this, Octave allows us to specify the dimension we want to work on.
# If we ask for the average across the dimension 1, we get:
mean(patient_data, 1)
# If we average across axis 2, we get the average inflammation per patient across all days.
mean(patient_data, 2)
# Turn off image visibility. We're on the cluser!
# This can be removed for FastX interactive jobs
figure('visible', 'off')
# A heat map of the data. The imagesc function represents the matrix as a color image.
# Every value in the matrix is mapped to a color. Blue regions in this heat map are low values, while red shows high values.
imagesc(patient_data)
# Let's take a look at the average inflammation over time:
ave_inflammation = mean(patient_data, 1);
plot(ave_inflammation);
# The maximum and minimum inflammation per day across all patients.
plot(max(patient_data, [], 1));
title('Maximum inflammation per day');
plot(min(patient_data, [], 1));
title('Minimum inflammation per day');
# It's common to put multiple figures "side-by-side" in a single window for presentation and convenience.
# Here's how to use the subplot function to do this:
subplot(1, 2, 1);
plot(max(patient_data, [], 1));
ylabel('max')
subplot(1, 2, 2);
plot(min(patient_data, [], 1));
ylabel('min')
% script analyze.m
patient_data = csvread('inflammation-01.csv');
disp(['Maximum inflammation: ', num2str(max(patient_data(:)))]);
disp(['Minimum inflammation: ', num2str(min(patient_data(:)))]);
disp(['Standard deviation: ', num2str(std(patient_data(:)))]);
ave_inflammation = mean(patient_data, 1);
# You're submitting a job on a cluster!
figure('visible', 'off')
ave_inflammation = mean(patient_data, 1);
plot(ave_inflammation);
% save plot to disk as png image:
print ('ave_inflammation','-dpng')
plot(max(patient_data, [], 1));
title('Maximum inflammation per day');
% save plot to disk as png image:
print ('Max_inflammation','-dpng')
plot(min(patient_data, [], 1));
title('Minimum inflammation per day');
% save plot to disk as png image:
print ('Min_inflammation','-dpng')
subplot(1, 3, 1);
plot(ave_inflammation);
ylabel('average')
subplot(1, 3, 2);
plot(max(patient_data, [], 1));
ylabel('max')
subplot(1, 3, 3);
plot(min(patient_data, [], 1));
ylabel('min')
% save plot to disk as png image:
print ('patient_data-01','-dpng')
close()
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -58,7 +58,7 @@ $ expr 2 \>= 2 # Greater than or equal to.
$ expr A = A # String test for equality, returns true. Ayn Rand likes this.
$ expr a = A # String test for equality, returns false. Operating system is case-sensitive.
$ expr a + b # Addition of strings generates error.
$ expr a < b # Comparison of strings not based on alphabetical order.
$ expr a \< b # Comparison of strings is based on alphabetical order.
Strings are not quotes although one may wish to do this to protect against special or metacharacters (e.g., spaces). Quoted numbers
are treated like strings. Special operators for strings include length, index, and count of matching characters with regular
......
......@@ -7,7 +7,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -9,7 +9,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:45:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -7,7 +7,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -7,7 +7,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
......@@ -10,7 +10,7 @@
#SBATCH -t 0:15:00
# Specify your email address to be notified of progress.
# SBATCH --mail-user=youreamiladdress@unimelb.edu
# SBATCH --mail-user=youremailaddress@unimelb.edu.au
# SBATCH --mail-type=ALL
# Load the environment variables
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment