Bash Helpers
Learn to build an applet that performs a basic SAMtools count with the aid of bash helper variables.
Download input files using the
dx-download-all-inputs
command. The dx-download-all-inputs
command will go through all inputs and download into folders with the pattern /home/dnanexus/in/[VARIABLE]/[file or subfolder with files]
.dx-download-all-inputs
We create an output directory in preparation for
dx-upload-all-outputs
DNAnexus command in the (Upload Results)[#Upload Result] section.mkdir -p out/counts_txt
After executing the
dx-download-all-inputs
command, there are three helper variables created to aid in scripting. For this applet, the input variable name mappings_bam
with platform filename my_mappings.bam
will have a helper variables:# [VARIABLE]_path the absolute string path to the file.
$ echo $mappings_bam_path
/home/dnanexus/in/mappings_bam/my_mappings.bam
# [VARIABLE]_prefix the file name minus the longest matching pattern in the dxapp.json file
$ echo $mappings_bam_prefix
my_mappings
# [VARIABLE]_name the file name from the platform
$ echo $mappings_bam_name
my_mappings.bam
We use the bash helper variable
mappings_bam_path
to reference the location of a file after it has been downloaded using dx-download-all-inputs
.samtools view -c "${mappings_bam_path}" > out/counts_txt/"${mappings_bam_prefix}.txt"
We use the
dx-upload-all-outputs
command to upload data to the platform and specify it as the job’s output. The dx-upload-all-outputs
command expects to find file paths matching the pattern /home/dnanexus/out/[VARIABLE]/*
. It will upload matching files and then associate them as the output corresponding to [VARIABLE]
. In this case, the output is called counts_txt
. Earlier we created the folders, and we can now place the outputs there.dx-upload-all-outputs
Last modified 7mo ago