1 package org.broadinstitute.hellbender.tools.spark.bwa;
2 
3 import org.broadinstitute.barclay.argparser.Argument;
4 import org.broadinstitute.hellbender.tools.BwaMemIndexImageCreator;
5 
6 import java.io.Serializable;
7 
8 /**
9  * A collection of the arguments that are used for BWA.
10  */
11 public class BwaArgumentCollection implements Serializable {
12     private static final long serialVersionUID = 1L;
13 
14     public static final String SINGLE_END_ALIGNMENT_FULL_NAME = "single-end-alignment";
15     public static final String SINGLE_END_ALIGNMENT_SHORT_NAME = "se";
16     public static final String BWA_MEM_INDEX_IMAGE_FULL_NAME = "bwa-mem-index-image";
17     public static final String BWA_MEM_INDEX_IMAGE_SHORT_NAME = "image";
18 
19     /**
20      * The BWA-MEM index image file name that you've distributed to each executor. The image file can be generated using
21      * {@link BwaMemIndexImageCreator}. If this argument is not specified, the default behavior is to look for a
22      * file whose name is the FASTA reference file with a <i>.img</i> suffix.
23      */
24     @Argument(doc = "The BWA-MEM index image file name that you've distributed to each executor",
25             fullName = BWA_MEM_INDEX_IMAGE_FULL_NAME,
26             shortName = BWA_MEM_INDEX_IMAGE_SHORT_NAME,
27             optional = true)
28     public String indexImageFile;
29 
30     /**
31      * Run single-end instead of paired-end alignment.
32      */
33     @Argument(doc = "Run single-end instead of paired-end alignment",
34             fullName = SINGLE_END_ALIGNMENT_FULL_NAME,
35             shortName = SINGLE_END_ALIGNMENT_SHORT_NAME,
36             optional = true)
37     public boolean singleEndAlignment = false;
38 }
39