Package picard.util

# Class BaitDesigner

java.lang.Object
picard.cmdline.CommandLineProgram
picard.util.BaitDesigner

@DocumentedFeature public class BaitDesigner extends CommandLineProgram
Designs baits for hybrid selection!

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static enum`
`BaitDesigner.DesignStrategy`
Set of possible design strategies for bait design.

## Field Summary

Fields
Modifier and Type
Field
Description
`int`
`BAIT_OFFSET`
`int`
`BAIT_SIZE`
`String`
`DESIGN_NAME`
`boolean`
`DESIGN_ON_TARGET_STRAND`
`BaitDesigner.DesignStrategy`
`DESIGN_STRATEGY`
`boolean`
`FILL_POOLS`
`String`
`LEFT_PRIMER`
`boolean`
`MERGE_NEARBY_TARGETS`
`int`
`MINIMUM_BAITS_PER_TARGET`
`boolean`
`OUTPUT_AGILENT_FILES`
`File`
`OUTPUT_DIRECTORY`
`int`
`PADDING`
`int`
`POOL_SIZE`
`int`
`REPEAT_TOLERANCE`
`String`
`RIGHT_PRIMER`
`File`
`TARGETS`

### Fields inherited from class picard.cmdline.CommandLineProgram

`COMPRESSION_LEVEL, CREATE_INDEX, CREATE_MD5_FILE, MAX_ALLOWABLE_ONE_LINE_SUMMARY_LENGTH, MAX_RECORDS_IN_RAM, QUIET, REFERENCE_SEQUENCE, referenceSequence, specialArgumentsCollection, SYNTAX_TRANSITION_URL, TMP_DIR, USE_JDK_DEFLATER, USE_JDK_INFLATER, VALIDATION_STRINGENCY, VERBOSITY`

## Constructor Summary

Constructors
Constructor
Description
`BaitDesigner()`

## Method Summary

Modifier and Type
Method
Description
`protected String[]`
`customCommandLineValidation()`
Put any custom command-line validation in an override of this method.
`protected int`
`doWork()`
Do the work after command line has been parsed.
`static int`
`getMaskedBaseCount(byte[] bases, int from, int until)`
Returns the total of soft or hard masked bases in the interval of bases.
`protected boolean`
`requiresReference()`

### Methods inherited from class picard.cmdline.CommandLineProgram

`checkRInstallation, getCommandLine, getCommandLineParser, getCommandLineParserForArgs, getDefaultHeaders, getFaqLink, getMetricsFile, getPGRecord, getStandardUsagePreamble, getStandardUsagePreamble, getVersion, hasWebDocumentation, instanceMain, instanceMainWithExit, makeReferenceArgumentCollection, parseArgs, setDefaultHeaders, useLegacyParser`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### TARGETS

@Argument(shortName="T", doc="The file with design parameters and targets") public File TARGETS

### DESIGN_NAME

@Argument(doc="The name of the bait design") public String DESIGN_NAME

### LEFT_PRIMER

@Argument(doc="The left amplification primer to prepend to all baits for synthesis") public String LEFT_PRIMER

### RIGHT_PRIMER

@Argument(doc="The right amplification primer to prepend to all baits for synthesis") public String RIGHT_PRIMER

### DESIGN_STRATEGY

@Argument(doc="The design strategy to use to layout baits across each target") public BaitDesigner.DesignStrategy DESIGN_STRATEGY

### BAIT_SIZE

@Argument(doc="The length of each individual bait to design") public int BAIT_SIZE

### MINIMUM_BAITS_PER_TARGET

@Argument(doc="The minimum number of baits to design per target.") public int MINIMUM_BAITS_PER_TARGET

### BAIT_OFFSET

@Argument(doc="The desired offset between the start of one bait and the start of another bait for the same target.") public int BAIT_OFFSET

### PADDING

@Argument(doc="Pad the input targets by this amount when designing baits. Padding is applied on both sides in this amount.") public int PADDING

### REPEAT_TOLERANCE

@Argument(doc="Baits that have more than REPEAT_TOLERANCE soft or hard masked bases will not be allowed") public int REPEAT_TOLERANCE

### POOL_SIZE

@Argument(doc="The size of pools or arrays for synthesis. If no pool files are desired, can be set to 0.") public int POOL_SIZE

### FILL_POOLS

@Argument(doc="If true, fill up the pools with alternating fwd and rc copies of all baits. Equal copies of all baits will always be maintained") public boolean FILL_POOLS

### DESIGN_ON_TARGET_STRAND

@Argument(doc="If true design baits on the strand of the target feature, if false always design on the + strand of the genome.") public boolean DESIGN_ON_TARGET_STRAND

### MERGE_NEARBY_TARGETS

@Argument(doc="If true merge targets that are \'close enough\' that designing against a merged target would be more efficient.") public boolean MERGE_NEARBY_TARGETS

### OUTPUT_AGILENT_FILES

@Argument(doc="If true also output .design.txt files per pool with one line per bait sequence") public boolean OUTPUT_AGILENT_FILES

### OUTPUT_DIRECTORY

@Argument(shortName="O", optional=true, doc="The output directory. If not provided then the DESIGN_NAME will be used as the output directory") public File OUTPUT_DIRECTORY

## Constructor Details

### BaitDesigner

public BaitDesigner()

## Method Details

### requiresReference

protected boolean requiresReference()

Overrides:
  `requiresReference` in class `CommandLineProgram`

### getMaskedBaseCount

public static int getMaskedBaseCount(byte[] bases, int from, int until)
Returns the total of soft or hard masked bases in the interval of bases.

### customCommandLineValidation

protected String[] customCommandLineValidation()
Description copied from class: `CommandLineProgram`
Put any custom command-line validation in an override of this method. clp is initialized at this point and can be used to print usage and access argv. Any options set by command-line parser can be validated.

Overrides:
  `customCommandLineValidation` in class `CommandLineProgram`
Returns:
  null if command line is valid. If command line is invalid, returns an array of error message to be written to the appropriate place.

### doWork

protected int doWork()
Description copied from class: `CommandLineProgram`
Do the work after command line has been parsed. RuntimeException may be thrown by this method, and are reported appropriately.

Specified by:
  `doWork` in class `CommandLineProgram`
Returns:
  program exit status.