Editing Illumina recipes/run files

Hi everyone,
Is this thread still active? I stumbled upon this impressive work and was hoping to find someone who is capable of understanding and editing Illumina recipes/run files. You probably can’t change the way flowcells are imaged after each cycle without hacking the machine completely, can you? Any help is much appreciated.

Best, Jan

Illumina recipes are xml files. Attached is an example for their sequencing by synthesis loop (HS2K SBS Chemistry v4).

<?xml version="1.0" encoding="UTF-8"?>

-<SbsChemistry isDefault="1" Version="1" Name="HiSeq SBS Kit v4">


-<ReagentDefinitions>


-<ReagentDefinition Name="SbsReagents">

<Reagent Name="IRM" ViciPosition="1" Description="Incorporation Mix Reagent"/>

<Reagent Name="PW1" ViciPosition="2" Description="250mL bottle with laboratory grade water"/>

<Reagent Name="USM" ViciPosition="3" Description="Universal Scanning Mix"/>

<Reagent Name="SB1" ViciPosition="4" Description="High Salt Buffer"/>

<Reagent Name="SB2" ViciPosition="5" Description="Incorporation Buffer"/>

<Reagent Name="SB2" ViciPosition="6" Description="Incorporation Buffer"/>

<Reagent Name="CRM" ViciPosition="7" Description="Cleavage Reagent Mix"/>

<Reagent Name="SB3" ViciPosition="8" Description="Cleavage Buffer"/>

</ReagentDefinition>

</ReagentDefinitions>


-<ChemistryDefinitions>


-<ChemistryDefinition Name="CompleteCycle">


-<ChemistryStep Description="Deblock" Repeat="1">

<PumpToFlowcell Duration="0" Volume="95" DispenseRate="2500" AspirationRate="250" ReagentName="SB3" Solution="0"/>

<Temp Duration="0" Temperature="55"/>

<PumpToFlowcell Duration="0" Volume="62" DispenseRate="2500" AspirationRate="250" ReagentName="CRM" Solution="0"/>

<Wait Duration="10000"/>

</ChemistryStep>


-<ChemistryStep Description="Buffer Wash" Repeat="1">

<PumpToFlowcell Duration="0" Volume="80" DispenseRate="2500" AspirationRate="250" ReagentName="SB1" Solution="0"/>

<PumpToFlowcell Duration="0" Volume="40" DispenseRate="2500" AspirationRate="250" ReagentName="SB2" Solution="0"/>

</ChemistryStep>


-<ChemistryStep Description="Incorporation" Repeat="1">

<Temp Duration="0" Temperature="65"/>

<PumpToFlowcell Duration="0" Volume="50" DispenseRate="2500" AspirationRate="250" ReagentName="IRM" Solution="0"/>

<Wait Duration="30000"/>

<PumpToFlowcell Duration="0" Volume="12" DispenseRate="2500" AspirationRate="250" ReagentName="IRM" Solution="0"/>

<Wait Duration="30000"/>

<Temp Duration="0" Temperature="20"/>

<PumpToFlowcell Duration="0" Volume="60" DispenseRate="2500" AspirationRate="250" ReagentName="SB2" Solution="0"/>

</ChemistryStep>

</ChemistryDefinition>


-<ChemistryDefinition Name="FirstBase">


-<ChemistryStep Description="Incorporation" Repeat="1">

<PumpToFlowcell Duration="0" Volume="75" DispenseRate="2500" AspirationRate="250" ReagentName="SB2" Solution="0"/>

<Temp Duration="0" Temperature="65"/>

<PumpToFlowcell Duration="0" Volume="50" DispenseRate="2500" AspirationRate="250" ReagentName="IRM" Solution="0"/>

<Wait Duration="30000"/>

<PumpToFlowcell Duration="0" Volume="12" DispenseRate="2500" AspirationRate="250" ReagentName="IRM" Solution="0"/>

<Wait Duration="30000"/>

<Temp Duration="0" Temperature="20"/>

<PumpToFlowcell Duration="0" Volume="60" DispenseRate="2500" AspirationRate="250" ReagentName="SB2" Solution="0"/>

</ChemistryStep>

</ChemistryDefinition>


-<ChemistryDefinition Name="End">


-<ChemistryStep Description="Safe State" Repeat="1">

<PumpToFlowcell Duration="0" Volume="500" DispenseRate="2500" AspirationRate="125" ReagentName="SB2" Solution="0"/>

</ChemistryStep>

</ChemistryDefinition>


-<ChemistryDefinition Name="EndDeblock">


-<ChemistryStep Description="Deblock" Repeat="1">

<PumpToFlowcell Duration="0" Volume="95" DispenseRate="2500" AspirationRate="250" ReagentName="SB3" Solution="0"/>

<Temp Duration="0" Temperature="55"/>

<PumpToFlowcell Duration="0" Volume="62" DispenseRate="2500" AspirationRate="250" ReagentName="CRM" Solution="0"/>

<Wait Duration="10000"/>

</ChemistryStep>


-<ChemistryStep Description="Buffer Wash" Repeat="1">

<PumpToFlowcell Duration="0" Volume="80" DispenseRate="2500" AspirationRate="250" ReagentName="SB1" Solution="0"/>

<PumpToFlowcell Duration="0" Volume="40" DispenseRate="2500" AspirationRate="250" ReagentName="SB2" Solution="0"/>

<TempOff/>

</ChemistryStep>

</ChemistryDefinition>


-<ChemistryDefinition Name="ResumeChemistry">


-<ChemistryStep Description="Prepare for scanning" Repeat="1">

<PumpToFlowcell Duration="0" Volume="70" DispenseRate="2000" AspirationRate="125" ReagentName="USM" Solution="0"/>

<Temp Duration="0" Temperature="20"/>

</ChemistryStep>

</ChemistryDefinition>


-<ChemistryDefinition Name="PauseChemistry">


-<ChemistryStep Description="Pause flowcell" Repeat="1">

<PumpToFlowcell Duration="0" Volume="100" DispenseRate="2000" AspirationRate="250" ReagentName="SB2" Solution="0"/>

<Temp Duration="0" Temperature="20"/>

</ChemistryStep>

</ChemistryDefinition>


-<ChemistryDefinition Name="CompleteCycle_Low">


-<ChemistryStep Description="Deblock" Repeat="1">

<PumpToFlowcell Volume="95" DispenseRate="2500" AspirationRate="250" ReagentName="SB3" Solution="0"/>

<Temp Temperature="55"/>

<PumpToFlowcell Volume="62" DispenseRate="2500" AspirationRate="250" ReagentName="CRM" Solution="0"/>

</ChemistryStep>


-<ChemistryStep Description="Buffer Wash" Repeat="1">

<PumpToFlowcell Volume="80" DispenseRate="2500" AspirationRate="250" ReagentName="SB1" Solution="0"/>

<PumpToFlowcell Volume="40" DispenseRate="2500" AspirationRate="250" ReagentName="SB2" Solution="0"/>

</ChemistryStep>


-<ChemistryStep Description="Incorporation" Repeat="1">

<Temp Temperature="65"/>

<PumpToFlowcell Volume="50" DispenseRate="2500" AspirationRate="250" ReagentName="IRM" Solution="0"/>

<Wait Duration="25000"/>

<PumpToFlowcell Volume="12" DispenseRate="2500" AspirationRate="250" ReagentName="IRM" Solution="0"/>

<Wait Duration="25000"/>

<Temp Temperature="20"/>

<PumpToFlowcell Volume="60" DispenseRate="2500" AspirationRate="250" ReagentName="SB2" Solution="0"/>

</ChemistryStep>

</ChemistryDefinition>


-<ChemistryDefinition Name="FirstBase_Low">


-<ChemistryStep Description="Incorporation" Repeat="1">

<PumpToFlowcell Volume="75" DispenseRate="2500" AspirationRate="250" ReagentName="SB2" Solution="0"/>

<Temp Temperature="65"/>

<PumpToFlowcell Volume="50" DispenseRate="2500" AspirationRate="250" ReagentName="IRM" Solution="0"/>

<Wait Duration="25000"/>

<PumpToFlowcell Volume="12" DispenseRate="2500" AspirationRate="250" ReagentName="IRM" Solution="0"/>

<Wait Duration="25000"/>

<Temp Temperature="20"/>

<PumpToFlowcell Volume="60" DispenseRate="2500" AspirationRate="250" ReagentName="SB2" Solution="0"/>

</ChemistryStep>

</ChemistryDefinition>


-<ChemistryDefinition Name="EndDeblock_Low">


-<ChemistryStep Description="Deblock" Repeat="1">

<PumpToFlowcell Volume="95" DispenseRate="2500" AspirationRate="250" ReagentName="SB3" Solution="0"/>

<Temp Temperature="55"/>

<PumpToFlowcell Volume="62" DispenseRate="2500" AspirationRate="250" ReagentName="CRM" Solution="0"/>

</ChemistryStep>


-<ChemistryStep Description="Buffer Wash" Repeat="1">

<PumpToFlowcell Volume="80" DispenseRate="2500" AspirationRate="250" ReagentName="SB1" Solution="0"/>

<PumpToFlowcell Volume="40" DispenseRate="2500" AspirationRate="250" ReagentName="SB2" Solution="0"/>

<TempOff/>

</ChemistryStep>

</ChemistryDefinition>


-<ChemistryDefinition Name="PostRun">


-<ChemistryStep Description="Post-Run Flush" Repeat="1">

<Temp Duration="0" Temperature="20"/>

<PumpToFlowcell Duration="0" Volume="2250" DispenseRate="2000" AspirationRate="250" ReagentName="PW1" Solution="0"/>

</ChemistryStep>

</ChemistryDefinition>

</ChemistryDefinitions>


-<PumpDefinitions>


-<PumpDefinition Name="Default">


-<BeforeImagingEachLane Enabled="false">

<Lane Duration="0" Volume="19" DispenseRate="2500" AspirationRate="120" Solution="3" Surface="Bottom" Num="1"/>

<Lane Duration="0" Volume="19" DispenseRate="2500" AspirationRate="120" Solution="3" Num="5"/>

</BeforeImagingEachLane>

</PumpDefinition>

</PumpDefinitions>


-<PrimeDefinitions>


-<PrimeDefinition Name="SbsPrime">

<Prime Solution="1"/>

<Prime Solution="4"/>

<Prime Solution="8"/>

<Prime Solution="7"/>

<Prime Solution="5"/>

<Prime Solution="3"/>

<Prime Solution="3"/>

<Prime Solution="5"/>

<Prime Solution="8"/>

<Prime Solution="7"/>

<Prime Solution="4"/>

<Prime Solution="1"/>

<Prime Solution="6"/>

<Prime Solution="6"/>

</PrimeDefinition>

</PrimeDefinitions>


-<SupportedSdfs>

<Sdf>HiSeq Flow Cell v4</Sdf>

</SupportedSdfs>


-<SupportedModes>

<Mode>RapidHighOutput</Mode>

</SupportedModes>

</SbsChemistry>

You can also install GitHub - nygctech/PySeq2500: Control an Illumina HiSeq 2500 System for complete control of the instrument and customize recipes and imaging.

No hardware modifications are required if you’re just running Illumina flowcells and reagents.

Also I believe you can contact Illumina reps to help design and run custom sequencing experiments.

Yeah, taking a closer look at those files, i realized that this is only about liquid handling.
The thing is. Me and my colleagues just realized, that the “cheaper” Novaseq flowcells S1 and SP are only imaged partially, even though they cluster everywhere. One whole column (1/3 of the width) is completely left out, losing about 400 million reads.

Best, Jan

i will take a closer look at Pyseq. Thank you!

LOL on miseq flowcells, Illumina literally prints a black box on a portion of the cheaper flowcells

pyseq was written for HiSeq2500s. There’s no way it’s going to work out of the box on a Novaseq.

yes, this i know. We just realized this today and we are looking for ways on how to tackle this problem

Pretty greedy if you ask me.