DNAnexus provides a project called Developer Applets containing some basic low-level applets along with their source code, suitable for developers to use as inspiration when building their own.
How do these applets work?
Most of these applets are simple wrappers around popular third-party executables (including BWA, Bowtie2, GATK, Picard, and Samtools), and work directly with files. In addition to simple wrappers around popular tools, the project also contains applets that implement more complex pipelines, including parallelized BWA or Bowtie2 alignment, GATK realignment/recalibration/variant calling, and tumor-normal SNP calling.
You can use the
dx get utility to decompile, download the source directory for any applet in this project. This utility will produce the exact code that was built to generate the applet. We highly recommend that you download the source code of several applets, inspect them, and learn how they work by modifying them to create new applets that suit your needs.
$ dx get project-B406G0x2fz2B3GVk65200003:/bwa_mem_fastq_read_mapper