The design settings file

The Disperse pipeline allows various settings to be made that affect the result of a design job. Also, the PieceMaker and ProbeMaker programs that carry out parts of the work, can be modified in several ways to fine tune the design. This is all done in the design settings file.

File name entries may be relative or absolute. Relative entries are interpreted relative to the location of the settings file itself.

A design settings file is made up of several property key-value pairs, one per line, such as:

key1=value1
key2=value2

The available properties and their meaning are described below for different categories of properties.

In the example settings file, the properties are organized so that the ones you are most likely to want to change are near the beginning of the file.

To create your own settings file, we recommend that you create a copy of the example file and adjust the properties according to your specifications.

Flank settings

disperse.roiFlank
The number of bases on each side of a coding sequence to include in the ROI (region of interest)
disperse.targetFlank
The number of bases on each side of a ROI to include in the target sequence. This should be greater than the maximum selection length + maximum flap length.

PieceMaker settings

This section lists the PieceMaker settings. For further details on the effect of these settings, refer to the original PieceMaker publication.

Restriction digestion settings

piecemaker.reactionFile
Path to a PieceMaker reaction file in xml format. Relative paths are interpreted relative to the location of the settings file.
piecemaker.strands
Specifies which strands to generate fragments from.
  • 1 - Top strand (the sequence present in the target file)
  • 2 - Bottom strand (the complementary sequence)
  • 3 - Both strands (this is the default)
piecemaker.discardEndFragments
Specifies if fragments at the end of each sequence should be kept or discarded.
  • true - Discard the fragments upstream of the first restriction site in a sequence, and downstream of the last one. (default)
  • false - Keep the end fragments

Pre filter settings

Specifies the filter to use at the digestion stage. Using a filter here will make the next two tasks go somewhat faster, as there will be fewer fragments to evaluate.

If omitted, no filtering will be performed at this stage.

piecemaker.preFilter
The name of the filter to use, as a fully qualified Java class name.

The recommended filter to use here is:

net.genefront.selectortools.piecemaker.ops.impl.DuringCutFragmentFilter

piecemaker.preFilter.minContent
The minimum number of bases from the ROI required for the fragment to be accepted (default = 1) If this is larger than the ROI size for a given target, it is adjusted to be the ROI size for evaluation of that target.
piecemaker.preFilter.minLength
Minimum length of the fragment (default = 100)
piecemaker.preFilter.maxLength
Maximum length of the fragment (default = 200)
piecemaker.preFilter.maxFlap
The maximum flap length allowed (default = 500)
piecemaker.preFilter.minSNP
The range from 3' end of the fragment that must be free of SNPs (default = 20)

Since this filter is applied before flap finding, it uses maxLength + maxFlap as a maximum length of fragments. Also, the snp distance is only applied at the 3' end, as the flap position is not yet set.

Flapfinder settings

A flapfinder is responsible for finding suitable sites for cleaving off 5' ends of restriction fragments. The following settings are used to specify the flapfinder to use, and to set any parameters for it. If no flapfinder is specified, a default will be allocated, using the parameters specified for fragment evaluation, below.

piecemaker.flapCalculator
The name of the flapfinder to use, as a fully qualified Java class name.

Two flapfinders are currently provided:

net.genefront.selectortools.piecemaker.ops.impl.NoEndoPositionCalculator

Performs no selection of flap positions

net.genefront.selectortools.piecemaker.ops.impl.FivePrimeEndoPositionCalculator

Selects one position for a 5' flap, satisfying the following settings, if necessary and possible. Otherwise selects no flap position, resulting in the fragment being discarded in the following step.

piecemaker.flapCalculator.maxFlap
The maximum length of the flap
piecemaker.flapCalculator.minRange
The minimum range from cleavage position to 3' end of the fragment
piecemaker.flapCalculator.maxRange
The maximum range from cleavage position to 3' end of the fragment
piecemaker.flapCalculator.base
The base (A, C, G, or T) required immediately 5' of the cleavage position
piecemaker.flapCalculator.minSNPRange
The minimum range to a downstream SNP for a flap position to be valid (SNPs are denoted by degeneracy codes in the target sequence file)
piecemaker.flapCalculator.mode
When there are multiple valid flap sites, specifies which to select
  • 0 - select flap positions that give short remaining fragments
  • 1 - select flap positions that give long remaining fragments

Fragment filter settings

These settings specify the fragment filter used for accepting restriction fragments. (This filter can be omitted, but no filtering will be performed, resulting in a very large number of undesired fragments.)

piecemaker.fragmentFilter
The name of the filter to use, as a fully qualified Java class name.

The recommended filter to use here is:

net.genefront.selectortools.piecemaker.ops.impl.DefaultFragmentFilter

piecemaker.fragmentFilter.minContent
The minimum number of bases from the ROI required for the fragment to be accepted (default = 1) If this is larger than the ROI size for a given target, it is adjusted to be the ROI size for evaluation of that target.
piecemaker.fragmentFilter.minLength
Minimum length of the fragment (default = 100)
piecemaker.fragmentFilter.maxLength
Maximum length of the fragment (default = 200)
piecemaker.fragmentFilter.maxFlap
The maximum flap length allowed (default = 500)
piecemaker.fragmentFilter.minSNP
The range from either end of the fragment that must be free of SNPs (default = 20)

Reaction combination settings

piecemaker.maxReactions
The maximum number of reactions to pick from the supplied set of reactions (default = 3)
piecemaker.combinationSelector
The name of the combination selector to use

The combination selector is responsible for evaluating the possible combinations of restriction reactions, and finding the combination that best satisfies its selection criteria. The following combination selectors are currently available:

net.genefront.selectortools.piecemaker.ops.impl.BaseCoverageCombinationSelector

Finds a combination with the largest number of total ROI bases covered by all fragments.

net.genefront.selectortools.piecemaker.ops.impl.BaseCoverageOverlapCombinationSelector

As above, but a number of bases at each end of a fragment are not considered when calculating the coverage. This results in combinations with fragments with overlapping ends.

piecemaker.combinationSelector.overlap
The number of bases at each end not to include

net.genefront.selectortools.piecemaker.ops.impl.FullCoverageCombinationSelector

Finds a combination with the largest number of targets for which all ROI bases are covered.

net.genefront.selectortools.piecemaker.ops.impl.FullCoverageOverlapCombinationSelector

As above, but a number of bases at each end of a fragment are not considered when calculating the coverage.

piecemaker.combinationSelector.overlap
The number of bases at each end not to include

net.genefront.selectortools.piecemaker.ops.impl.OneAcceptedCombinationSelector

Finds a combination with the largest number of targets for which there is at least one accepted fragment.

Fragment set selection settings

piecemaker.selectionIterations
The number of times to perform selection. For each subsequent iteration, the selected fragments are removed, so that a new set is selected. This can be used to select sets with multiple fragments covering each position.
piecemaker.fragmentSubsetSelector
The fragment set selector to use

The fragment set selector is used to select a subset of fragments from a reaction combination. This subset is selected to fulfill the criteria defined by each subset selector. The following subset selectors that are suitable for resequencing applications are currently available:

net.genefront.selectortools.piecemaker.ops.impl.CoverageSubSetSelector

Select a subset of fragment that retains maximum coverage.

net.genefront.selectortools.piecemaker.ops.impl.CoverageOverlapSubSetSelector

Select a subset of fragment that retains maximum coverage, not counting the ends of each fragment.

piecemaker.fragmentSubsetSelector.overlap
The number of bases at each end not to include

ProbeMaker settings

The following lists the settings for ProbeMaker that are relevant for the selector design application. These settings affect the way the selector probe sequences are assembled based on the selected restriction fragments. For details and other uses of ProbeMaker, refer to the ProbeMaker web site.

probemaker.taglibrary.0
The mode and path of the general sequence, on the form of mode:path, where mode is the number 0 for selectors (using same sequence for all probes), and path is the path to fasta-formatted file containing the general sequence. Relative paths are interpreted relative to the location of the settings file.
probemaker.design.UPSTREAM_BLOCKS
Specifies the number of tags to include upstream of the 5' sequence, this should be 0 for selectors (which is the default).
probemaker.design.MIN_5_PRIME_ARM_LENGTH
Minimum length of the 5' target-complementary sequence.
probemaker.design.MAX_5_PRIME_ARM_LENGTH
Maximum length of the 5' target-complementary sequence.
probemaker.design.MIN_3_PRIME_ARM_LENGTH
Minimum length of the 3' target-complementary sequence.
probemaker.design.MAX_3_PRIME_ARM_LENGTH
Maximum length of the 3' target-complementary sequence.

Setting the min and max values equal will specify that length to all sequences.

probemaker.targetType
Should be org.moltools.apps.probemaker.ext.target.SelectorTarget to create selector probes.
probemaker.targetInputFormat
Should be org.moltools.workbench.ext.form.PieceMakerFormat to read the PieceMaker output files.
probemaker.acceptor
Set to org.moltools.apps.probemaker.ext.acc.AllAcceptor
probemaker.selector
Set to org.moltools.apps.probemaker.ext.sel.NoSelector

Variables

As seen above, there are several places where the same value will go, for example minimum fragment length. To make changing the settings less cumbersome, variables can be used. Variables are defined in the settings file like this:

$variableName1=value1
$variableName2=value2

and can then be used like this:

key1=${variableName1}
key2=${variableName2}

Changing the value in one place thus effectively changes it in all places where it is used. This can help make the settings file simpler to use.