Laynii is a set of tools to analyze layer fMRI datasets.
Allocate an interactive session and run the program.
Sam
ple session (user input in bold):
[user@biowulf]$ sinteractive salloc.exe: Pending job allocation 46116226 salloc.exe: job 46116226 queued and waiting for resources salloc.exe: job 46116226 has been allocated resources salloc.exe: Granted job allocation 46116226 salloc.exe: Waiting for resource configuration salloc.exe: Nodes cn3144 are ready for job [user@cn3144 ~]$ module load laynii [user@cn3144 ~]$ cd /data/${USER} [user@cn3144 ~]$ cp -r ${LAYNII_HOME}/test_data . [user@cn3144 ~]$ cd test_data [user@cn3144 ~]$ LN2_LAYER_SMOOTH -input sc_VASO_act.nii.gz -layer_file sc_layers.nii.gz -FWHM 1 ======================= LayNii v2.9.0 ======================= LN2_LAYER_SMOOTH File name: sc_VASO_act.nii.gz Image details: 648 X | 648 Y | 15 Z | 1 T Voxel size = 0.200617 x 0.200617 x 0.32 Datatype = 4 File name: sc_layers.nii.gz Image details: 648 X | 648 Y | 15 Z | 1 T Voxel size = 0.200617 x 0.200617 x 0.32 Datatype = 4 Vicinity = 9 FWHM = 1 There are 20 layers to smooth within. Smoothing in layer, not considering sulci. 100% Smoothing is done. Writing output as: sc_VASO_act_layer_smoothed.nii.gz Finished. [user@cn3144 ~]$ LN_LAYER_SMOOTH -input sc_VASO_act.nii.gz -layer_file sc_layers.nii.gz -FWHM 0.3 -NoKissing I will not smooth across sluci, this might make it longer though 15 slices 648 PhaseSteps 648 Read steps 1 timesteps Voxel size 0.200617 x 0.200617 x 0.32 datatye 1 = 16 datatye 2 = 8 debug 2 vinc 2 FWHM_val 0.3 There are 20 layers/masks to smooth within vinc 2 FWHM_val 0.3 starting within sulucal smoothing now 106% smoothing done writing as = smoothed_sc_VASO_act.nii.gz [user@cn3144 ~]$ LN_BOCO -Nulled lo_Nulled_intemp.nii.gz -BOLD lo_BOLD_intemp.nii.gz -trialBOCO 40 -shift Do a correlation analysis with temporal shifts. ======================= LayNii v2.9.0 ======================= LN_BOCO File name: lo_Nulled_intemp.nii.gz Image details: 162 X | 162 Y | 3 Z | 80 T Voxel size = 0.802469 x 0.802469 x 1.28 Datatype = 4 File name: lo_BOLD_intemp.nii.gz Image details: 162 X | 162 Y | 3 Z | 80 T Voxel size = 0.802469 x 0.802469 x 1.28 Datatype = 4 !!!Warning!!! Input nifti header contains scl_scale !=0. Make sure to check the resulting output image. Calculating shift = -3 Calculating shift = -2 Calculating shift = -1 Calculating shift = 0 Calculating shift = 1 Calculating shift = 2 Calculating shift = 3 Doing BOLD correction after trial average... Trial duration is 40. This means there are 2 trials recorded here. Writing output as: VASO_trialAV_LN Writing output as: BOLD_trialAV_LN Writing output as: VASO_LN Finished. [user@cn3144 ~]$ exit salloc.exe: Relinquishing job allocation 46116226 [user@biowulf ~]$
Create a batch input file (e.g. laynii.sh). Example command below:
#!/bin/bash #SBATCH --cpus-per-task=4 #SBATCH --job-name=laynii-test #SBATCH --mem=8g #SBATCH --time=1:00:00 #SBATCH --partition=norm module load laynii cd /data/${USER}/test_data LN2_LAYER_SMOOTH -input sc_VASO_act.nii.gz -layer_file sc_layers.nii.gz -FWHM 1 LN_LAYER_SMOOTH -input sc_VASO_act.nii.gz -layer_file sc_layers.nii.gz -FWHM 0.3 -NoKissing LN_BOCO -Nulled lo_Nulled_intemp.nii.gz -BOLD lo_BOLD_intemp.nii.gz -trialBOCO 40 -shift
Submit this job using the Slurm sbatch command.
sbatch laynii.sh
Create a swarmfile (e.g. laynii.swarm). For example:
cd /data/${USER}/test_data_01; \ LN2_LAYER_SMOOTH -input sc_VASO_act.nii.gz \ -layer_file sc_layers.nii.gz \ -FWHM 1; \ LN_LAYER_SMOOTH -input sc_VASO_act.nii.gz \ -layer_file sc_layers.nii.gz \ -FWHM 0.3 -NoKissing; \ LN_BOCO -Nulled lo_Nulled_intemp.nii.gz \ -BOLD lo_BOLD_intemp.nii.gz \ -trialBOCO 40 \ -shift cd /data/${USER}/test_data_02; \ LN2_LAYER_SMOOTH -input sc_VASO_act.nii.gz \ -layer_file sc_layers.nii.gz \ -FWHM 1; \ LN_LAYER_SMOOTH -input sc_VASO_act.nii.gz \ -layer_file sc_layers.nii.gz \ -FWHM 0.3 -NoKissing; \ LN_BOCO -Nulled lo_Nulled_intemp.nii.gz \ -BOLD lo_BOLD_intemp.nii.gz \ -trialBOCO 40 \ -shift cd /data/${USER}/test_data_03; \ LN2_LAYER_SMOOTH -input sc_VASO_act.nii.gz \ -layer_file sc_layers.nii.gz \ -FWHM 1; \ LN_LAYER_SMOOTH -input sc_VASO_act.nii.gz \ -layer_file sc_layers.nii.gz \ -FWHM 0.3 -NoKissing; \ LN_BOCO -Nulled lo_Nulled_intemp.nii.gz \ -BOLD lo_BOLD_intemp.nii.gz \ -trialBOCO 40 \ -shift
Submit this job using the swarm command.
swarm -f laynii.swarm -g 8 -t 4 --partition norm --module layniiwhere
-g # | Number of Gigabytes of memory required for each process ( 1 line in the swarm command file) |
-t # | Number of threads/CPUs required for each process (1 line in the swarm command file). |
--module laynii | Loads the laynii module for each subjob in the swarm |