Package picard.util

Class BaitDesigner


  • @DocumentedFeature
    public class BaitDesigner
    extends CommandLineProgram
    Designs baits for hybrid selection!
    • 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
    • Constructor Detail

      • BaitDesigner

        public BaitDesigner()
    • Method Detail

      • 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 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()
        Main method that coordinates the checking of inputs, designing of baits and then the writing out of all necessary files.
        Specified by:
        doWork in class CommandLineProgram
        Returns: