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 class
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, GA4GH_CLIENT_SECRETS, MAX_RECORDS_IN_RAM, QUIET, REFERENCE_SEQUENCE, referenceSequence, specialArgumentsCollection, TMP_DIR, USE_JDK_DEFLATER, USE_JDK_INFLATER, VALIDATION_STRINGENCY, VERBOSITY
-
-
Constructor Summary
Constructors Constructor Description BaitDesigner()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected String[]
customCommandLineValidation()
Put any custom command-line validation in an override of this method.protected int
doWork()
Main method that coordinates the checking of inputs, designing of baits and then the writing out of all necessary files.static int
getMaskedBaseCount(byte[] bases, int from, int until)
Returns the total of soft or hard masked bases in the interval of bases.static void
main(String[] args)
Stock main method.protected boolean
requiresReference()
-
Methods inherited from class picard.cmdline.CommandLineProgram
getCommandLine, getCommandLineParser, getDefaultHeaders, getFaqLink, getMetricsFile, getStandardUsagePreamble, getStandardUsagePreamble, getVersion, hasWebDocumentation, instanceMain, instanceMainWithExit, makeReferenceArgumentCollection, parseArgs, setDefaultHeaders, useLegacyParser
-
-
-
-
Field Detail
-
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
-
-
Method Detail
-
requiresReference
protected boolean requiresReference()
- Overrides:
requiresReference
in classCommandLineProgram
-
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.
-
main
public static void main(String[] args)
Stock main method.
-
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 classCommandLineProgram
- 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()
Main method that coordinates the checking of inputs, designing of baits and then the writing out of all necessary files.- Specified by:
doWork
in classCommandLineProgram
- Returns:
-
-