Create a Custom Index Adapter Kit
Run Planning provides a list of Illumina index adapter kits used for sequencing. If your index adapter kit is not available, please follow the following instructions to create a custom one.
Creating a custom index adapter kit can be done from within Run Planning (when creating a Configuration) or from the Resources page (select Index Adapter Kit tab).
A custom Index kit can be configured in yaml or tsv.
Configuring in yaml
The following are basic rules to follow when configuring in yaml
3 dashes indicates the start of the definition
Begin a comment line with '#' character
Each line is typically in the format of
SettingName: SettingValue
. Setting which value is a string has to be enclosed in double quotes. Other types like numeric or boolean do not require double quotes.When a setting contains more complex information, it is usually defined in multiple lines. Ensure the right indentation to maintain the structure. Use two space characters instead of a tab character.
Three yaml templates are provided.
Non-fixed Layout: for non-fixed layout kit where any index can be selected for any sample.
Fixed Layout - Single Plate: for fixed layout kit with single plate, where each well has a defined index combination.
Fixed Layout - Multi Plate: for fixed layout kit with multi-plate, where each well has a defined index combination.
Setting Details
Name
Name of the kit. It is an internal name, which has to be unique within a domain.
DisplayName
Display name of the kit. It is used for the index kit display label in the Run Planning.
Organization
Organization name. It is informational and not used in planned run creation.
AdapterSequenceRead1
Adapter sequence for Read 1. Remove the line if it is not applicable.
AdapterSequenceRead2
Adapter sequence for Read 2. Remove the line if it is not applicable.
Settings
DefaultIndexStrategy
The default index strategy. It should be one of the strategy defined in the AllowedIndexStrategies.
Settings
Multiplate
Settings
FixedIndexPositions
A section containing mappings of well position to index names. It is only applicable for a fixed-layout kit. See Settings - FixedIndexPositions.
Settings
AllowVariableLengthIndexSequences
Indicates if the kit can have index sequences with different lengths. See Settings - AllowVariableLengthIndexSequences
Settings
EnableCustomIndexCycles
Indicates if the kit uses a custom Override Cycles. See OverrideCycles.
Settings
CustomBclConvertSettings
A section of custom BCL Convert settings. See Settings - CustomBclConvertSettings.
AllowedIndexStrategies
The supported values are "Dual"
, "Single"
, and "NoIndex"
. Create a list below this setting. Each list item should be preceded with a dash (-) character and enclosed in double quotes. Use two spaces for indentation. See Example 1.
Example 1: Defining AllowedIndexStrategies for a kit that support single-index and dual-index, with dual-index as the default.
AllowedIndexStrategies:
- "Dual"
- "Single"
Settings:
DefaultIndexStrategy: "Dual"
IndexSequences
i7Index1
Create a list of Index1 sequences below this setting. Each index should be in the format ofIndexName: "IndexSequence"
. See example 2.i5Index2
Create a list of Index2 sequences below this setting. Each index should be in the format ofIndexName: "IndexSequence"
. See example 2.
Example 2: Defining Index1 and Index2 sequences.
IndexSequences: #Enter index sequences for both Index1 and Index2
i7Index1: #Index1
D701: "ATTACTCG" #<IndexName>: <IndexSequence>
D702: "TCCGGAGA"
D703: "CGCTCATT"
i5Index2: #Index2
D501: "TATAGCCT" #<IndexName>: <IndexSequence>
D502: "ATAGAGGC"
D503: "CCTATCCT"
Example 3: Settings for non-fixed-layout kit (FixedIndexPositions is not defined).
IndexSequences: #Enter index sequences for both Index1 and Index2
i7Index1: #Index1
D701: "ATTACTCG" #<IndexName>: <IndexSequence>
D702: "TCCGGAGA"
D703: "CGCTCATT"
i5Index2: #Index2
D501: "TATAGCCT" #<IndexName>: <IndexSequence>
D502: "ATAGAGGC"
D503: "CCTATCCT"
# Settings for non-fixed-layout kit with dual-index
Settings:
FixedLayout: false
Multiplate: false
Settings - FixedIndexPositions
The mapping should be defined in the format of "WellPosition/Index1Name-Index2Name"
or "Plate-WellPosition/Index1Name-Index2Name"
. The allowed well positions are A01 - H12. If the kit requires well positions defined in different format, define FixedLayoutPositionKeyByIndexId: true
. See example 4, example 5, example 6.
Example 4: Settings for single-plate fixed-layout kit (Note that WellPositions are in the A01 - H12 range).
# Settings for fixed-layout kit with single plate
Settings:
FixedLayout: true
Multiplate: false
FixedIndexPositions: #Format: '- "WellPosition/Index1Name-Index2Name"'
- "A01/D701-D501"
- "B01/D702-D502"
- "H01/D703-D503"
- "H12/D704-D504"
Example 5: Settings for single-plate fixed-layout kit (Note that FixedLayoutPositionKeyByIndexId is true because WellPositions do not follow A01 - H12 format).
# Settings for single-plate fixed-layout kit, where well positions do not follow A01 - H12 format.
Settings:
FixedLayout: true
Multiplate: false
FixedLayoutPositionKeyByIndexId: true
FixedIndexPositions: #Format: '- "WellPosition/Index1Name-Index2Name"'
- "UDP0001/UDP0001-UDP0001"
- "UDP0002/UDP0002-UDP0002"
Example 6: Settings for multi-plate fixed-layout kit.
# Settings for multi-plate fixed-layout kit
Settings:
FixedLayout: true
Multiplate: true
FixedIndexPositions: #Format: '- "Plate-WellPosition/Index1Name-Index2Name"'
- "A-A01/D701-D501"
- "C-B01/D703-D502"
Settings - AllowVariableLengthIndexSequences
The value is true
or false
. However, the usage is currently restricted to Instrument Platforms which allow multi-configuration. As each configuration only allows one Override Cycles, when setting up a run, samples with different index lengths should be separated into different configurations.
Override Cycles
EnableCustomIndexCycles
The value is
true
orfalse
. If the setting is set tofalse
or if the setting is not defined, the Override Cycles used isY;I;I;Y
pattern.
NumCyclesIndex1Override
The value should be a numeric value. If this setting is not defined, the number of Index1 cycles follows the number of bases in the Index1 sequences.NumCyclesIndex2Override
The value should be a numeric value. If this setting is not defined, the number of Index2 cycles follows the number of bases in the Index2 sequences. See example 7.OverrideCycles
The value should be defined in this format:
"Y{{Read1Length}};I{{Index1Length}};I{{Index2Length}};Y{{Read2Length}}?"
, where:{{Read1Length}}
is the number of cycles for Read1,{{Read2Length}}
is the number of cycles for Read2,{{Index1Length}}
is the number of cycles for Index1, and{{Index2Length}}
is the number of cycles for Index2.
If UMI is used, update the pattern accordingly.
E.g. if Read1 and Read2 cycles include 7 UMI cycles and 1 skipped-cycle:
U7N1Y{{Read1Length-8}};I{{Index1Length}};I{{Index2Length}};U7N1Y{{Read2Length-8}}?"
E.g. if the kit is a single index kit, with UMI cycles instead of Index2:
"Y50N{{Read1Length-50}};I8N{{Index1Length-8}};N{{Index2Length-16}}U16;Y50N{{Read2Length-50}}?"
. See example 7.
Settings - CustomBclConvertSettings
This section contains custom BCL Convert settings. The settings will be included in the sample sheet generated by Run Planning.
TrimUMI
Indicates if the UMI should be excluded from fastq files. The value is"0"
or"1"
. Set to "0" if BCL Convert should still output UMI cycles to fastq files. See example 8.CreateFastqForIndexReads
Indicates if the UMI in Index cycles should be trimmed or not. The value is"0"
or"1"
. Set to "1" if BCL Convert should still output UMI cycles in Index to fastq files. Note that TrimUMI should also be set to "0".
Example 7: Settings to override Index2 cycles and custom override cycles.
# Settings for non fixed-layout kit using single-index, with UMI in-place of Index2 :
# - NumCyclesIndex2Override is set to 16
# - Custom OverrideCycles is defined
# - CustomBclConvertSettings is defined so that fastq will be output for index reads.
IndexSequences:
i7Index1:
SI_NA_A1_1: "AAACGGCG"
SI_NA_A1_2: "CCTACCAT"
SI_NA_A1_3: "GGCGTTTC"
Settings:
FixedLayout: false
Multiplate: false
EnableCustomIndexCycles: true
NumCyclesIndex2Override: "16"
OverrideCycles: "Y50N{{Read1Length-50}};I8N{{Index1Length-8}};N{{Index2Length-16}}U16;Y50N{{Read2Length-50}}?"
CustomBclConvertSettings:
TrimUMI: "0"
CreateFastqForIndexReads: "1"
Example 8: Settings to disable TrimUMI, i.e. BCL Convert should output fastq files for UMI cycles.
# Settings for single-plate fixed-layout kit using dual-index, with UMI in Read1 :
# - Custom OverrideCycles is defined
# - CustomBclConvertSettings is defined so that fastq will be output for reads.
IndexSequences:
i7Index1:
SI_NT_A1: "ATTTACCGCA"
SI_NT_A2: "TTGTCGTAGA"
SI_NT_A3: "AGTCCTGCGG"
i5Index2:
SI_NT_A1: "GACAATAAAG"
SI_NT_A2: "CAATGTAGCA"
SI_NT_A3: "TGACACAAGT"
Settings:
FixedLayout: true
Multiplate: false
FixedIndexPositions:
- "A01/SI_NT_A1-SI_NT_A1"
- "A02/SI_NT_A2-SI_NT_A2"
- "A03/SI_NT_A3-SI_NT_A3"
OverrideCycles: "U28N{{Read1Length-28}};I10N{{Index1Length-10}};N{{Index2Length-10}}I10;Y90N{{Read2Length-90}}?"
CustomBclConvertSettings:
TrimUMI: "0"
Configuring in tsv
Similar to yaml, three tsv templates are provided. Please note that currently .tsv file supports fewer custom kit settings (as compared to .yaml file).
Non-fixed Layout: for non-fixed layout kit where any index can be selected for any sample.
Fixed Layout - Single Plate: for fixed layout kit with single plate, where each well has a defined index combination.
Fixed Layout - Multi Plate: for fixed layout kit with multi-plate, where each well has a defined index combination.
A tsv file contains of three sections, namely [IndexKit], [Resources], [Indices], where each section contains rows of tab-separated values.
IndexKit Section
1
Name
Name of the kit. It is an internal name, which has to be unique within a domain.
2
DisplayName
Display name of the kit. It is used for the index kit display label in the Run Planning.
3
Description
Description of the kit. It is displayed below the index kit field when the kit is selected in the Run Planning.
4
IndexStrategy
The index strategies supported by the kit. See 4.1 - 4.7 for the supported values.
4.1
NoIndex
: only allow No Index
4.2
SingleOnly
: only allow Single Index
4.3
DualOnly
: only allow Dual Indexes
4.4
NoAndSingle
: allow No Index and Single Index; defaut is No Index
4.5
NoAndDual
: allow No Index and Dual Indexes; default is No Index
4.6
SingleAndDual
: allow Single Index and Dual Indexes; default is Single Index
4.7
All
: allow No Index, Single Index and Dual Indexes; default is No Index
Resources Section
Each row in the Resources section consists of four columns: Name, Type, Format, and Value. It is used to define Adapter Read settings and the type of index kit (whether a fixed layout with single- or multi- plate or non fixed layout). In addition, the mappings of well positions and index names (only for a fixed layout kit) should be included in this section (see No 5 in the table below).
1
Adapter
Adapter
string
The Adapter sequence for Read 1.
2
AdapterRead2
AdapterRead2
string
The Adapter sequence for Read 2. Include this line only when applicable.
3
FixedLayout
FixedLayout
bool
Indicates if it is a fixed layout kit. Value is true
or false
.
4
Multiplate
Multiplate
bool
Indicates if it is a fixed layout kit with multi- or single- plate. Value is true
or false
.
5
{Well position name}
FixedIndexPosition
string
Index1 and Index2 names separated by a dash, e.g. D701-D501.
[Resources]
Name Type Format Value
Adapter Adapter string ACCTCCCCGTGA
AdapterRead2 AdapterRead2 string ACCTCCCCGTGA
FixedLayout FixedLayout bool true
Multiplate Multiplate bool false
A01 FixedIndexPosition string D701-D501
B01 FixedIndexPosition string D702-D502
Indices Section
Index1 and Index2 sequences should be defined in this section. Each row consists of three columns: Name, Sequence, IndexReadNumber.
{Index name}
{Index sequence}
Value is 1
(for Index1) or 2
(for Index2)
[Indices]
Name Sequence IndexReadNumber
D701 ATTACTCG 1
D702 TCCGGAGA 1
D501 TATAGCCT 2
D502 ATAGAGGC 2
Last updated
Was this helpful?