changeset 5:8ba0c2edf3f3 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/semibin commit ee5d87e278238478c8ecab4a2f73723323f179a7
author iuc
date Sun, 10 Aug 2025 11:39:49 +0000
parents 40ffba87bbcf
children
files generate_sequence_features.xml macros.xml test-data/strobealign_1.txt test-data/strobealign_2.txt test-data/strobealign_3.txt test-data/strobealign_4.txt test-data/strobealign_5.txt
diffstat 7 files changed, 2288 insertions(+), 54 deletions(-) [+]
line wrap: on
line diff
--- a/generate_sequence_features.xml	Fri Aug 01 21:26:47 2025 +0000
+++ b/generate_sequence_features.xml	Sun Aug 10 11:39:49 2025 +0000
@@ -10,18 +10,29 @@
     <expand macro="version"/>
     <command detect_errors="exit_code"><![CDATA[
 #import re
-@BAM_FILES@
+#if $input_type_select.input_type == "bam":
+    @BAM_FILES@
+#else:
+    #for $e in $input_type_select.mode.abundance:
+        #set $identifier = re.sub('[^\s\w\-\\.]', '_', str($e.element_identifier))
+        ln -s '$e' '${identifier}.txt' &&
+    #end for
+#end if
 @FASTA_FILES@
 
 SemiBin2
-#if $mode.select == 'single' or $mode.select == 'co'
+#if $input_type_select.mode.select == 'single' or $input_type_select.mode.select == 'co'
     generate_sequence_features_single
 #else
     generate_sequence_features_multi
     --separator '$separator'
 #end if
     --input-fasta 'contigs.fasta'
+#if $input_type_select.input_type == "bam"
     --input-bam *.bam
+#else:
+    -a *.txt
+#end if
     --output 'output'
     --threads \${GALAXY_SLOTS:-1}
     @MIN_LEN@
@@ -30,7 +41,18 @@
 #end if
     ]]></command>
     <inputs>
-        <expand macro="mode_fasta_bam"/>
+        <conditional name="input_type_select">
+            <param name="input_type" type="select" label="Use BAM or strobealign abundance information?">
+                <option value="bam">BAM file</option>
+                <option value="txt">strobealign-aemb files</option>
+            </param>
+            <when value="bam">
+                <expand macro="mode_fasta_bam"/>
+            </when>
+            <when value="txt">
+                <expand macro="mode_fasta_strobealign"/>
+            </when>
+        </conditional>
         <expand macro="min_len"/>
         <expand macro="ml-threshold"/>
         <param name="extra_output" type="select" multiple="true" label="Extra outputs" help="In addition to the training data">
@@ -45,10 +67,13 @@
     </outputs>
     <tests>
         <test expect_num_outputs="4">
-            <conditional name="mode">
-                <param name="select" value="single"/>
-                <param name="input_fasta" ftype="fasta" value="input_single.fasta"/>
-                <param name="input_bam" ftype="bam" value="input_single.bam"/>
+            <conditional name="input_type_select">
+                <param name="input_type" value="bam"/>
+                <conditional name="mode">
+                    <param name="select" value="single"/>
+                    <param name="input_fasta" ftype="fasta" value="input_single.fasta"/>
+                    <param name="input_bam" ftype="bam" value="input_single.bam"/>
+                </conditional>
             </conditional>
             <conditional name="min_len">
                 <param name="method" value="automatic"/>
@@ -83,10 +108,13 @@
             </output>
         </test>
         <test expect_num_outputs="4">
-            <conditional name="mode">
-                <param name="select" value="co"/>
-                <param name="input_fasta" ftype="fasta" value="input_single.fasta"/>
-                <param name="input_bam" ftype="bam" value="input_coassembly_sorted1.bam,input_coassembly_sorted2.bam,input_coassembly_sorted3.bam,input_coassembly_sorted4.bam,input_coassembly_sorted5.bam"/>
+            <conditional name="input_type_select">
+                <param name="input_type" value="bam"/>
+                <conditional name="mode">
+                    <param name="select" value="co"/>
+                    <param name="input_fasta" ftype="fasta" value="input_single.fasta"/>
+                    <param name="input_bam" ftype="bam" value="input_coassembly_sorted1.bam,input_coassembly_sorted2.bam,input_coassembly_sorted3.bam,input_coassembly_sorted4.bam,input_coassembly_sorted5.bam"/>
+                </conditional>
             </conditional>
             <conditional name="min_len">
                 <param name="method" value="automatic"/>
@@ -138,13 +166,16 @@
             </output_collection>
         </test>
         <test expect_num_outputs="7">
-            <conditional name="mode">
-                <param name="select" value="multi"/>
-                <conditional name="multi_fasta">
-                    <param name="select" value="concatenated"/>
-                    <param name="input_fasta" ftype="fasta" value="input_multi.fasta.gz"/>
+            <conditional name="input_type_select">
+                <param name="input_type" value="bam"/>
+                <conditional name="mode">
+                    <param name="select" value="multi"/>
+                    <conditional name="multi_fasta">
+                        <param name="select" value="concatenated"/>
+                        <param name="input_fasta" ftype="fasta" value="input_multi.fasta.gz"/>
+                    </conditional>
+                    <param name="input_bam" ftype="bam" value="input_multi_sorted1.bam,input_multi_sorted2.bam,input_multi_sorted3.bam,input_multi_sorted4.bam,input_multi_sorted5.bam,input_multi_sorted6.bam,input_multi_sorted7.bam,input_multi_sorted8.bam,input_multi_sorted9.bam,input_multi_sorted10.bam"/>
                 </conditional>
-                <param name="input_bam" ftype="bam" value="input_multi_sorted1.bam,input_multi_sorted2.bam,input_multi_sorted3.bam,input_multi_sorted4.bam,input_multi_sorted5.bam,input_multi_sorted6.bam,input_multi_sorted7.bam,input_multi_sorted8.bam,input_multi_sorted9.bam,input_multi_sorted10.bam"/>
             </conditional>
             <conditional name="min_len">
                 <param name="method" value="automatic"/>
@@ -224,14 +255,87 @@
                 </element>
             </output_collection>
         </test>
+
+        <test expect_num_outputs="5">
+            <conditional name="input_type_select">
+                <param name="input_type" value="txt"/>
+                <conditional name="mode">
+                    <param name="select" value="multi"/>
+                    <conditional name="multi_fasta">
+                        <param name="select" value="concatenated"/>
+                        <param name="input_fasta" ftype="fasta" value="input_multi.fasta.gz"/>
+                    </conditional>
+                    <param name="abundance" ftype="txt" value="strobealign_1.txt,strobealign_2.txt,strobealign_3.txt,strobealign_4.txt,strobealign_5.txt"/>
+                </conditional>
+            </conditional>
+            <conditional name="min_len">
+                <param name="method" value="automatic"/>
+            </conditional>
+            <param name="ml_threshold" value="4000"/>
+            <param name="extra_output" value="coverage,contigs"/>
+            <output_collection name="multi_data" count="10">
+                <element name="S1" ftype="csv">
+                    <assert_contents>
+                        <has_n_lines n="21"/>
+                        <has_text text="g1k_0"/>
+                    </assert_contents>
+                </element>
+            </output_collection>
+            <output_collection name="multi_data_split" count="10">
+                <element name="S1" ftype="csv">
+                    <assert_contents>
+                        <has_n_lines n="41"/>
+                        <has_text text="g1k_0_1"/>
+                    </assert_contents>
+                </element>
+            </output_collection>
+            <output_collection name="multi_cov_sample" count="10">
+                <element name="S1" ftype="csv">
+                    <assert_contents>
+                        <has_n_lines n="21"/>
+                        <has_text text="g1k_0"/>
+                    </assert_contents>
+                </element>
+            </output_collection>
+            <output_collection name="multi_split_cov_txt" count="10">
+                <element name="S1" ftype="csv">
+                    <assert_contents>
+                        <has_n_lines n="41"/>
+                        <has_text text="g1k_5_1"/>
+                    </assert_contents>
+                </element>
+                <element name="S9" ftype="csv">
+                    <assert_contents>
+                        <has_n_lines n="41"/>
+                        <has_text text="g1k_5_1"/>
+                    </assert_contents>
+                </element>
+            </output_collection>
+            <output_collection name="multi_contigs" count="10">
+                <element name="S1" ftype="fasta">
+                    <assert_contents>
+                        <has_text text=">g1k_0"/>
+                    </assert_contents>
+                </element>
+                <element name="S9" ftype="fasta">
+                    <assert_contents>
+                        <has_text text=">g1k_0"/>
+                    </assert_contents>
+                </element>
+            </output_collection>
+        </test>
+
         <test expect_num_outputs="2">
-            <conditional name="mode">
-                <param name="select" value="multi"/>
-                <conditional name="multi_fasta">
+            <conditional name="input_type_select">
+                <param name="input_type" value="bam"/>
+                <conditional name="mode">
                     <param name="select" value="multi"/>
-                    <param name="input_fasta" ftype="fasta" value="S1.fasta,S2.fasta,S3.fasta,S4.fasta,S5.fasta,S6.fasta,S7.fasta,S8.fasta,S9.fasta,S10.fasta"/>
+                    <conditional name="multi_fasta">
+                        <param name="select" value="multi"/>
+                        <param name="input_fasta" ftype="fasta" value="S1.fasta,S2.fasta,S3.fasta,S4.fasta,S5.fasta,S6.fasta,S7.fasta,S8.fasta,S9.fasta,S10.fasta"/>
+                    </conditional>
+                    <param name="input_bam" ftype="bam" value="input_multi_sorted1.bam,input_multi_sorted2.bam,input_multi_sorted3.bam,input_multi_sorted4.bam,input_multi_sorted5.bam,input_multi_sorted6.bam,input_multi_sorted7.bam,input_multi_sorted8.bam,input_multi_sorted9.bam,input_multi_sorted10.bam"/>
                 </conditional>
-                <param name="input_bam" ftype="bam" value="input_multi_sorted1.bam,input_multi_sorted2.bam,input_multi_sorted3.bam,input_multi_sorted4.bam,input_multi_sorted5.bam,input_multi_sorted6.bam,input_multi_sorted7.bam,input_multi_sorted8.bam,input_multi_sorted9.bam,input_multi_sorted10.bam"/>
             </conditional>
             <conditional name="min_len">
                 <param name="method" value="automatic"/>
--- a/macros.xml	Fri Aug 01 21:26:47 2025 +0000
+++ b/macros.xml	Sun Aug 10 11:39:49 2025 +0000
@@ -1,8 +1,8 @@
 <?xml version="1.0"?>
 <macros>
-    <token name="@TOOL_VERSION@">2.0.2</token>
-    <token name="@VERSION_SUFFIX@">2</token>
-    <token name="@PROFILE@">24.0</token>
+    <token name="@TOOL_VERSION@">2.1.0</token>
+    <token name="@VERSION_SUFFIX@">0</token>
+    <token name="@PROFILE@">21.01</token>
     <xml name="biotools">
         <xrefs>
             <xref type="bio.tools">semibin</xref>
@@ -48,6 +48,23 @@
             </when>
         </conditional>
     </xml>
+    <xml name="mode_fasta_strobealign">
+        <conditional name="mode">
+            <expand macro="mode_select"/>
+            <when value="single">
+                <expand macro="input-fasta-single"/>
+                <expand macro="input-txt"/>
+            </when>
+            <when value="co">
+                <expand macro="input-fasta-single"/>
+                <expand macro="input-txt"/>
+            </when>
+            <when value="multi">
+                <expand macro="input-fasta-multi"/>
+                <expand macro="input-txt"/>
+            </when>
+        </conditional>
+    </xml>
     <xml name="mode_select">
         <param name="select" type="select" label="Binning mode">
             <option value="single" selected="true">Single sample binning (each sample is assembled and binned independently)</option>
@@ -55,6 +72,12 @@
             <option value="multi">Multi-sample binning (multiple samples are assembled and binned individually, but information from multiple samples is used together)</option>
         </param>
     </xml>
+    <xml name="bam_or_strobealign">
+        <param name="align_select" type="select" label="Use bam or strobealign abundance files?" help="Strobealign abundance files can only be used when samples used in binning above or equal 5">
+            <option value="bam">BAM</option>
+            <option value="txt">Strobealign-aemb file(s)</option>
+        </param>
+    </xml>
     <xml name="input-fasta-single">
         <param argument="--input-fasta" type="data" format="fasta,fasta.gz" label="Contig sequences"/>
     </xml>
@@ -129,17 +152,27 @@
     <xml name="input-bam-multi">
         <param argument="--input-bam" type="data" format="bam" multiple="true" label="Read mapping to the contigs" help="One file per sample, sorted BAM files"/>
     </xml>
+    <!-- Strobealign files -->
+    <xml name="input-txt">
+        <param argument="--abundance" type="data" format="txt" label="Read mapping to the contigs" multiple="true" help="Strobealign abundance files"/>
+    </xml>
     <token name="@BAM_FILES@"><![CDATA[
 #if $mode.select == 'single'
-#set $identifier = re.sub('[^\s\w\-\\.]', '_', str($input_bam.element_identifier))
-ln -s '$input_bam' '${identifier}.bam' &&
+#set $identifier = re.sub('[^\s\w\-\\.]', '_', str($mode.input_bam.element_identifier))
+ln -s '$mode.input_bam' '${identifier}.bam' &&
 #else
-    #for $e in $input_bam
+    #for $e in $mode.input_bam
         #set $identifier = re.sub('[^\s\w\-\\.]', '_', str($e.element_identifier))
 ln -s '$e' '${identifier}.bam' &&
     #end for
 #end if
     ]]></token>
+    <token name="@STROBEALIGN_FILES@"><![CDATA[
+#for $e in $mode.align_select.abundance
+    #set $identifier = re.sub('[^\s\w\-\\.]', '_', str($e.element_identifier))
+    ln -s '$e' '${identifier}.txt' &&
+#end for
+    ]]></token>
     <xml name="ref_select_cannot">
         <param name="select" type="select" label="Reference database">
             <option value="cached">Cached database</option>
@@ -257,7 +290,6 @@
         <param argument="--orf-finder" type="select" label="ORF finder used to estimate the number of bins">
             <option value="fast-naive" selected="true">Fast-Naive</option>
             <option value="prodigal">Prodigal</option>
-            <option value="fraggenescan">Fraggenescan</option>
         </param>
     </xml>
     <xml name="max-node">
@@ -293,58 +325,153 @@
     </xml>
     <xml name="data_output_single">
         <data name="single_data" format="csv" from_work_dir="output/data.csv" label="${tool.name} on ${on_string}: Training data">
-            <filter>mode["select"]=="single" or mode["select"]=="co"</filter>
+            <filter>input_type_select['mode']['select']=="single" or input_type_select['mode']['select']=="co"</filter>
         </data>
         <data name="single_data_split" format="csv" from_work_dir="output/data_split.csv" label="${tool.name} on ${on_string}: Split training data">
-            <filter>mode["select"]=="single" or mode["select"]=="co"</filter>
+            <filter>input_type_select['mode']['select']=="single" or input_type_select['mode']['select']=="co"</filter>
         </data>
     </xml>
-    <xml name="data_output_multi">
+    <xml name="data_output_multi"> 
         <collection name="multi_data" type="list" label="${tool.name} on ${on_string}: Training data per sample">
-            <filter>mode["select"]=="multi"</filter>
+            <filter>input_type_select['mode']['select']=="multi"</filter>
             <discover_datasets pattern="(?P&lt;designation&gt;.*)\/data.csv" format="csv" directory="output/samples/" recurse="true" match_relative_path="true"/>
         </collection>
         <collection name="multi_data_split" type="list" label="${tool.name} on ${on_string}: Split training data per sample">
-            <filter>mode["select"]=="multi"</filter>
+            <filter>input_type_select['mode']['select']=="multi"</filter>
             <discover_datasets pattern="(?P&lt;designation&gt;.*)\/data_split.csv" format="csv" directory="output/samples/" recurse="true" match_relative_path="true"/>
         </collection>
     </xml>
     <xml name="generate_sequence_features_extra_outputs">
         <data name="single_cov" format="csv" from_work_dir="output/*_data_cov.csv" label="${tool.name} on ${on_string}: Coverage">
-            <filter>mode["select"]=="single" and extra_output and "coverage" in extra_output</filter>
+            <filter>input_type_select['mode']['select']=="single" and extra_output and "coverage" in extra_output</filter>
+            <filter>input_type_select['input_type']=="bam"</filter>
         </data>
         <data name="single_split_cov" format="csv" from_work_dir="output/*_data_split_cov.csv" label="${tool.name} on ${on_string}: Coverage (split data)">
-            <filter>mode["select"]=="single" and extra_output and "coverage" in extra_output</filter>
+            <filter>input_type_select['mode']['select']=="single" and extra_output and "coverage" in extra_output</filter>
+            <filter>input_type_select['input_type']=="bam"</filter>
         </data>
         <collection name="co_cov" type="list" label="${tool.name} on ${on_string}: Coverage (co_cov)">
-            <filter>mode["select"]=="co" and extra_output and "coverage" in extra_output</filter>
+            <filter>input_type_select['mode']['select']=="co" and extra_output and "coverage" in extra_output</filter>
+            <filter>input_type_select['input_type']=="bam"</filter>
             <discover_datasets pattern=".*\.bam_(?P&lt;designation&gt;.*)_data_cov\.csv" format="csv" directory="output/" />
         </collection>
         <collection name="co_split_cov" type="list" label="${tool.name} on ${on_string}: Coverage (split data) per sample">
-            <filter>mode["select"]=="co" and extra_output and "coverage" in extra_output</filter>
+            <filter>input_type_select['mode']['select']=="co" and extra_output and "coverage" in extra_output</filter>
+            <filter>input_type_select['input_type']=="bam"</filter>
             <discover_datasets pattern=".*\.bam_(?P&lt;designation&gt;.*)_data_split_cov\.csv" format="csv" directory="output/" />
         </collection>
+        <data name="cov_txt" label="${tool.name} on ${on_string}: Coverage (split data) per sample (aemb)" from_work_dir="output/cov_split.csv" format="csv">
+            <filter>input_type_select['mode']['select']=="single" or input_type_select['mode']['select']=="co" and extra_output and "coverage" in extra_output</filter>
+            <filter>input_type_select['input_type']=="txt"</filter>
+        </data>
+        <data name="co_cov_txt" label="${tool.name} on ${on_string}: Coverage (aemb)" format="csv" from_work_dir="output/cov.csv">
+            <filter>input_type_select['mode']['select']=="single" or input_type_select['mode']['select']=="co" and extra_output and "coverage" in extra_output</filter>
+            <filter>input_type_select['input_type']=="txt"</filter>
+        </data>
+        <collection name="multi_split_cov_txt" type="list" label="${tool.name} on ${on_string}: Coverage (split data) per sample (multi_split_cov) (aemb)">
+            <filter>input_type_select['mode']['select']=="multi" and extra_output and "coverage" in extra_output</filter>
+            <filter>input_type_select['input_type']=="txt"</filter>
+            <discover_datasets pattern="(?P&lt;designation&gt;.*)\/data_split_cov.csv" format="csv" directory="output/samples/" recurse="true" match_relative_path="true"/>
+        </collection>
         <collection name="multi_cov" type="list" label="${tool.name} on ${on_string}: Coverage (multi_cov)">
-            <filter>mode["select"]=="multi" and extra_output and "coverage" in extra_output</filter>
-            <discover_datasets pattern=".*\.bam_(?P&lt;designation&gt;.*)_data_cov.csv" format="csv" directory="output/samples/" />
+            <filter>input_type_select['mode']['select']=="multi" and extra_output and "coverage" in extra_output</filter>
+            <filter>input_type_select['input_type']=="bam"</filter>
+            <discover_datasets pattern=".*\.bam_(?P&lt;designation&gt;.*)_data_cov.csv" format="csv" directory="output/samples/" recurse="true"/>
         </collection>
         <collection name="multi_cov_sample" type="list" label="${tool.name} on ${on_string}: Coverage per sample">
-            <filter>mode["select"]=="multi" and extra_output and "coverage" in extra_output</filter>
+            <filter>input_type_select['mode']['select']=="multi" and extra_output and "coverage" in extra_output</filter>
             <discover_datasets pattern="(?P&lt;designation&gt;.*)\/data_cov.csv" format="csv" directory="output/samples/" recurse="true" match_relative_path="true"/>
         </collection>
         <collection name="multi_split_cov" type="list" label="${tool.name} on ${on_string}: Coverage (split data) per sample (multi_split_cov)">
-            <filter>mode["select"]=="multi" and extra_output and "coverage" in extra_output</filter>
+            <filter>input_type_select['mode']['select']=="multi" and extra_output and "coverage" in extra_output</filter>
+            <filter>input_type_select['input_type']=="bam"</filter>
             <discover_datasets pattern=".*\.bam_(?P&lt;designation&gt;.*)_data_split_cov.csv" format="csv" directory="output/samples/" />
         </collection>
         <collection name="multi_split_cov_sample" type="list" label="${tool.name} on ${on_string}: Coverage (split data) per sample (multi_split_cov_sample)">
-            <filter>mode["select"]=="multi" and extra_output and "coverage" in extra_output</filter>
-            <discover_datasets pattern="(?P&lt;designation&gt;.*)\/data_split_cov.csv" format="csv" directory="output/samples/" recurse="true" match_relative_path="true"/>
+            <filter>input_type_select['mode']['select']=="multi" and extra_output and "coverage" in extra_output</filter>
+            <filter>input_type_select['input_type']=="bam"</filter>
+            <discover_datasets pattern="(?P&lt;designation&gt;.*)\/data_split_cov.csv" format="csv" directory="output/samples/" match_relative_path="true" recurse="true"/>
         </collection>
         <collection name="multi_contigs" type="list" label="${tool.name} on ${on_string}: Contigs">
-            <filter>mode["select"]=="multi" and extra_output and "contigs" in extra_output</filter>
+            <filter>input_type_select['mode']['select']=="multi" and extra_output and "contigs" in extra_output</filter>
             <discover_datasets pattern="(?P&lt;designation&gt;.*).fa" format="fasta" directory="output/samples/" />
         </collection>
-        
+    </xml>
+    <xml name="generate_sequence_features_extra_outputs_main">
+    <!-- Single -->
+        <data name="single_cov" format="csv" from_work_dir="output/*_data_cov.csv" label="${tool.name} on ${on_string}: Coverage">
+            <filter>mode['select']=="single" and extra_output and "coverage" in extra_output</filter>
+        </data>
+        <data name="single_split_cov" format="csv" from_work_dir="output/*_data_split_cov.csv" label="${tool.name} on ${on_string}: Coverage (split data)">
+            <filter>mode['select']=="single" and extra_output and "coverage" in extra_output</filter>
+        </data>
+    <!-- Bam co aligned -->
+        <collection name="co_cov_bam" type="list" label="${tool.name} on ${on_string}: Coverage (co_cov)">
+            <filter>mode['select']=="co" and extra_output and "coverage" in extra_output</filter>
+            <filter>mode['align_select']</filter>
+            <filter>mode['align_select']['align_select']=="bam"</filter>
+            <discover_datasets pattern=".*\.bam_(?P&lt;designation&gt;.*)_data_cov\.csv" format="csv" directory="output/" />
+        </collection>
+        <collection name="co_split_cov_bam" type="list" label="${tool.name} on ${on_string}: Coverage (split data) per sample">
+            <filter>mode['select']=="co" and extra_output and "coverage" in extra_output</filter>
+            <filter>mode['align_select']</filter>
+            <filter>mode['align_select']['align_select']=="bam"</filter>
+            <discover_datasets pattern=".*\.bam_(?P&lt;designation&gt;.*)_data_split_cov\.csv" format="csv" directory="output/" />
+        </collection>
+
+    <!-- Bam Multi aligned -->
+        <collection name="multi_cov_bam" type="list" label="${tool.name} on ${on_string}: Coverage (multi_cov)">
+            <filter>mode['select']=="multi" and extra_output and "coverage" in extra_output</filter>
+            <filter>mode['align_select']</filter>
+            <filter>mode['align_select']['align_select']=="bam"</filter>
+            <discover_datasets pattern=".*\.bam_(?P&lt;designation&gt;.*)_data_cov.csv" format="csv" directory="output/samples/" />
+        </collection>
+        <collection name="multi_cov_sample_bam" type="list" label="${tool.name} on ${on_string}: Coverage per sample">
+            <filter>mode['select']=="multi" and extra_output and "coverage" in extra_output</filter>
+            <filter>mode['align_select']</filter>
+            <filter>mode['align_select']['align_select']=="bam"</filter>
+            <discover_datasets pattern="(?P&lt;designation&gt;.*)\/data_cov.csv" format="csv" directory="output/samples/" recurse="true" match_relative_path="true"/>
+        </collection>
+        <collection name="multi_split_cov_bam" type="list" label="${tool.name} on ${on_string}: Coverage (split data) per sample (multi_split_cov)">
+            <filter>mode['select']=="multi" and extra_output and "coverage" in extra_output</filter>
+            <filter>mode['align_select']</filter>
+            <filter>mode['align_select']['align_select']=="bam"</filter>
+            <discover_datasets pattern=".*\.bam_(?P&lt;designation&gt;.*)_data_split_cov.csv" format="csv" directory="output/samples/" />
+        </collection>
+        <collection name="multi_split_cov_sample_bam" type="list" label="${tool.name} on ${on_string}: Coverage (split data) per sample (multi_split_cov_sample)">
+            <filter>mode['select']=="multi" and extra_output and "coverage" in extra_output</filter>
+            <filter>mode['align_select']</filter>
+            <filter>mode['align_select']['align_select']=="bam"</filter>
+            <discover_datasets pattern=".*\.bam_(?P&lt;designation&gt;.*)_data_split_cov.csv" format="csv" directory="output/samples/" />
+        </collection>
+        <collection name="multi_contigs" type="list" label="${tool.name} on ${on_string}: Contigs">
+            <filter>mode['select']=="multi" and extra_output and "contigs" in extra_output</filter>
+            <discover_datasets pattern="(?P&lt;designation&gt;.*).fa" format="fasta" directory="output/samples/" />
+        </collection>
+        <!-- Txt co aligned -->
+        <data name="co_split_cov_txt" label="${tool.name} on ${on_string}: Coverage (split data) per sample (aemb)" from_work_dir="output/cov_split.csv" format="csv">
+            <filter>mode['select']=="co" and extra_output and "coverage" in extra_output</filter>
+            <filter>mode['align_select']</filter>
+            <filter>mode['align_select']['align_select']=="txt"</filter>
+        </data>
+        <data name="co_cov_txt" label="${tool.name} on ${on_string}: Coverage (aemb)" format="csv" from_work_dir="output/cov.csv">
+            <filter>mode['select']=="co" and extra_output and "coverage" in extra_output</filter>
+            <filter>mode['align_select']</filter>
+            <filter>mode['align_select']['align_select']=="txt"</filter>
+        </data>
+        <!-- Txt multi aligned -->
+        <collection name="multi_cov_txt" type="list" label="${tool.name} on ${on_string}: Coverage per sample (aemb)">
+            <filter>mode['select']=="multi" and extra_output and "coverage" in extra_output</filter>
+            <filter>mode['align_select']</filter>
+            <filter>mode['align_select']['align_select'] =="txt"</filter>
+            <discover_datasets pattern="(?P&lt;designation&gt;.*)\/data_cov.csv" format="csv" directory="output/samples/" recurse="true" match_relative_path="true"/>
+        </collection>
+        <collection name="multi_split_cov_txt" type="list" label="${tool.name} on ${on_string}: Coverage (split data) per sample (multi_split_cov) (aemb)">
+            <filter>mode['select']=="multi" and extra_output and "coverage" in extra_output</filter>
+            <filter>mode['align_select']</filter>
+            <filter>mode['align_select']['align_select']=="txt"</filter>
+            <discover_datasets pattern="(?P&lt;designation&gt;.*)\/data_split_cov.csv" format="csv" directory="output/samples/" recurse="true" match_relative_path="true"/>
+        </collection>
     </xml>
     <xml name="train_output">
         <data name="model" format="h5" from_work_dir="output/model.h5" label="${tool.name} on ${on_string}: Semi-supervised deep learning model" />
@@ -353,31 +480,34 @@
         <data name="cannot" format="txt" from_work_dir="output/cannot/cannot.txt" label="${tool.name} on ${on_string}: Cannot-link constraints" />
     </xml>
     <token name="@HELP_HEADER@"><![CDATA[
+
 What it does
 ============
 
 SemiBin is a Semi-supervised siamese neural network for metagenomic binning
-
-]]></token>
+    ]]></token>
     <token name="@HELP_INPUT_FASTA@"><![CDATA[
 - Contigs in fasta for 1 or several samples from single or co-assembly
-]]></token>
+    ]]></token>
     <token name="@HELP_INPUT_BAM@"><![CDATA[
 - BAM with reads mapping to the contigs
-]]></token>
+    ]]></token>
+    <token name="@HELP_INPUT_STROBEALIGN@"><![CDATA[
+- TXT alignment files that are the output of strobealign-aemb
+    ]]></token>
     <token name="@HELP_CANNOT@"><![CDATA[
 - Cannot-link constraints
-]]></token>
+    ]]></token>
     <token name="@HELP_DATA@"><![CDATA[
 - Training data and split training data for the model
-]]></token>
+    ]]></token>
     <token name="@HELP_MODEL@"><![CDATA[
 - Semi-supervised deep learning model
-]]></token>
+    ]]></token>
     <token name="@HELP_BINS@"><![CDATA[
 - Reconstructed bins after reclustering
 - Reconstructed bins before reclustering
-]]></token>
+    ]]></token>
     <xml name="citations">
         <citations>
             <citation type="doi">10.1038/s41467-022-29843-y</citation>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/strobealign_1.txt	Sun Aug 10 11:39:49 2025 +0000
@@ -0,0 +1,400 @@
+S1:g1k_0_1	0.000000
+S1:g1k_0_2	0.000000
+S1:g1k_1_1	0.000000
+S1:g1k_1_2	0.000000
+S1:g1k_2_1	0.000000
+S1:g1k_2_2	0.000000
+S1:g1k_3_1	0.000000
+S1:g1k_3_2	0.000000
+S1:g1k_4_1	0.000000
+S1:g1k_4_2	0.000000
+S1:g1k_5_1	0.000000
+S1:g1k_5_2	0.000000
+S1:g1k_6_1	0.000000
+S1:g1k_6_2	0.000000
+S1:g1k_7_1	0.000000
+S1:g1k_7_2	0.000000
+S1:g1k_8_1	0.000000
+S1:g1k_8_2	0.000000
+S1:g1k_9_1	0.000000
+S1:g1k_9_2	0.000000
+S1:g2k_0_1	0.000000
+S1:g2k_0_2	0.000000
+S1:g2k_1_1	0.000000
+S1:g2k_1_2	0.000000
+S1:g2k_2_1	0.000000
+S1:g2k_2_2	0.000000
+S1:g2k_3_1	0.000000
+S1:g2k_3_2	0.000000
+S1:g2k_4_1	0.000000
+S1:g2k_4_2	0.000000
+S1:g2k_5_1	0.000000
+S1:g2k_5_2	0.000000
+S1:g2k_6_1	0.000000
+S1:g2k_6_2	0.000000
+S1:g2k_7_1	0.000000
+S1:g2k_7_2	0.000000
+S1:g2k_8_1	0.000000
+S1:g2k_8_2	0.000000
+S1:g2k_9_1	0.000000
+S1:g2k_9_2	0.000000
+S2:g1k_0_1	0.000000
+S2:g1k_0_2	0.000000
+S2:g1k_1_1	0.000000
+S2:g1k_1_2	0.000000
+S2:g1k_2_1	0.000000
+S2:g1k_2_2	0.000000
+S2:g1k_3_1	0.000000
+S2:g1k_3_2	0.000000
+S2:g1k_4_1	0.000000
+S2:g1k_4_2	0.000000
+S2:g1k_5_1	0.000000
+S2:g1k_5_2	0.000000
+S2:g1k_6_1	0.000000
+S2:g1k_6_2	0.000000
+S2:g1k_7_1	0.000000
+S2:g1k_7_2	0.000000
+S2:g1k_8_1	0.000000
+S2:g1k_8_2	0.000000
+S2:g1k_9_1	0.000000
+S2:g1k_9_2	0.000000
+S2:g2k_0_1	0.000000
+S2:g2k_0_2	0.000000
+S2:g2k_1_1	0.000000
+S2:g2k_1_2	0.000000
+S2:g2k_2_1	0.000000
+S2:g2k_2_2	0.000000
+S2:g2k_3_1	0.000000
+S2:g2k_3_2	0.000000
+S2:g2k_4_1	0.000000
+S2:g2k_4_2	0.000000
+S2:g2k_5_1	0.000000
+S2:g2k_5_2	0.000000
+S2:g2k_6_1	0.000000
+S2:g2k_6_2	0.000000
+S2:g2k_7_1	0.000000
+S2:g2k_7_2	0.000000
+S2:g2k_8_1	0.000000
+S2:g2k_8_2	0.000000
+S2:g2k_9_1	0.000000
+S2:g2k_9_2	0.000000
+S3:g1k_0_1	0.000000
+S3:g1k_0_2	0.000000
+S3:g1k_1_1	0.000000
+S3:g1k_1_2	0.000000
+S3:g1k_2_1	0.000000
+S3:g1k_2_2	0.000000
+S3:g1k_3_1	0.000000
+S3:g1k_3_2	0.000000
+S3:g1k_4_1	0.000000
+S3:g1k_4_2	0.000000
+S3:g1k_5_1	0.000000
+S3:g1k_5_2	0.000000
+S3:g1k_6_1	0.000000
+S3:g1k_6_2	0.000000
+S3:g1k_7_1	0.000000
+S3:g1k_7_2	0.000000
+S3:g1k_8_1	0.000000
+S3:g1k_8_2	0.000000
+S3:g1k_9_1	0.000000
+S3:g1k_9_2	0.000000
+S3:g2k_0_1	0.000000
+S3:g2k_0_2	0.000000
+S3:g2k_1_1	0.000000
+S3:g2k_1_2	0.000000
+S3:g2k_2_1	0.000000
+S3:g2k_2_2	0.000000
+S3:g2k_3_1	0.000000
+S3:g2k_3_2	0.000000
+S3:g2k_4_1	0.000000
+S3:g2k_4_2	0.000000
+S3:g2k_5_1	0.000000
+S3:g2k_5_2	0.000000
+S3:g2k_6_1	0.000000
+S3:g2k_6_2	0.000000
+S3:g2k_7_1	0.000000
+S3:g2k_7_2	0.000000
+S3:g2k_8_1	0.000000
+S3:g2k_8_2	0.000000
+S3:g2k_9_1	0.000000
+S3:g2k_9_2	0.000000
+S4:g1k_0_1	0.000000
+S4:g1k_0_2	0.000000
+S4:g1k_1_1	0.000000
+S4:g1k_1_2	0.000000
+S4:g1k_2_1	0.000000
+S4:g1k_2_2	0.000000
+S4:g1k_3_1	0.000000
+S4:g1k_3_2	0.000000
+S4:g1k_4_1	0.000000
+S4:g1k_4_2	0.000000
+S4:g1k_5_1	0.000000
+S4:g1k_5_2	0.000000
+S4:g1k_6_1	0.000000
+S4:g1k_6_2	0.000000
+S4:g1k_7_1	0.000000
+S4:g1k_7_2	0.000000
+S4:g1k_8_1	0.000000
+S4:g1k_8_2	0.000000
+S4:g1k_9_1	0.000000
+S4:g1k_9_2	0.000000
+S4:g2k_0_1	0.000000
+S4:g2k_0_2	0.000000
+S4:g2k_1_1	0.000000
+S4:g2k_1_2	0.000000
+S4:g2k_2_1	0.000000
+S4:g2k_2_2	0.000000
+S4:g2k_3_1	0.000000
+S4:g2k_3_2	0.000000
+S4:g2k_4_1	0.000000
+S4:g2k_4_2	0.000000
+S4:g2k_5_1	0.000000
+S4:g2k_5_2	0.000000
+S4:g2k_6_1	0.000000
+S4:g2k_6_2	0.000000
+S4:g2k_7_1	0.000000
+S4:g2k_7_2	0.000000
+S4:g2k_8_1	0.000000
+S4:g2k_8_2	0.000000
+S4:g2k_9_1	0.000000
+S4:g2k_9_2	0.000000
+S5:g1k_0_1	0.000000
+S5:g1k_0_2	0.000000
+S5:g1k_1_1	0.000000
+S5:g1k_1_2	0.000000
+S5:g1k_2_1	0.000000
+S5:g1k_2_2	0.000000
+S5:g1k_3_1	0.000000
+S5:g1k_3_2	0.000000
+S5:g1k_4_1	0.000000
+S5:g1k_4_2	0.000000
+S5:g1k_5_1	0.000000
+S5:g1k_5_2	0.000000
+S5:g1k_6_1	0.000000
+S5:g1k_6_2	0.000000
+S5:g1k_7_1	0.000000
+S5:g1k_7_2	0.000000
+S5:g1k_8_1	0.000000
+S5:g1k_8_2	0.000000
+S5:g1k_9_1	0.000000
+S5:g1k_9_2	0.000000
+S5:g2k_0_1	0.000000
+S5:g2k_0_2	0.000000
+S5:g2k_1_1	0.000000
+S5:g2k_1_2	0.000000
+S5:g2k_2_1	0.000000
+S5:g2k_2_2	0.000000
+S5:g2k_3_1	0.000000
+S5:g2k_3_2	0.000000
+S5:g2k_4_1	0.000000
+S5:g2k_4_2	0.000000
+S5:g2k_5_1	0.000000
+S5:g2k_5_2	0.000000
+S5:g2k_6_1	0.000000
+S5:g2k_6_2	0.000000
+S5:g2k_7_1	0.000000
+S5:g2k_7_2	0.000000
+S5:g2k_8_1	0.000000
+S5:g2k_8_2	0.000000
+S5:g2k_9_1	0.000000
+S5:g2k_9_2	0.000000
+S6:g1k_0_1	0.000000
+S6:g1k_0_2	0.000000
+S6:g1k_1_1	0.000000
+S6:g1k_1_2	0.000000
+S6:g1k_2_1	0.000000
+S6:g1k_2_2	0.000000
+S6:g1k_3_1	0.000000
+S6:g1k_3_2	0.000000
+S6:g1k_4_1	0.000000
+S6:g1k_4_2	0.000000
+S6:g1k_5_1	0.000000
+S6:g1k_5_2	0.000000
+S6:g1k_6_1	0.000000
+S6:g1k_6_2	0.000000
+S6:g1k_7_1	0.000000
+S6:g1k_7_2	0.000000
+S6:g1k_8_1	0.000000
+S6:g1k_8_2	0.000000
+S6:g1k_9_1	0.000000
+S6:g1k_9_2	0.000000
+S6:g2k_0_1	0.000000
+S6:g2k_0_2	0.000000
+S6:g2k_1_1	0.000000
+S6:g2k_1_2	0.000000
+S6:g2k_2_1	0.000000
+S6:g2k_2_2	0.000000
+S6:g2k_3_1	0.000000
+S6:g2k_3_2	0.000000
+S6:g2k_4_1	0.000000
+S6:g2k_4_2	0.000000
+S6:g2k_5_1	0.000000
+S6:g2k_5_2	0.000000
+S6:g2k_6_1	0.000000
+S6:g2k_6_2	0.000000
+S6:g2k_7_1	0.000000
+S6:g2k_7_2	0.000000
+S6:g2k_8_1	0.000000
+S6:g2k_8_2	0.000000
+S6:g2k_9_1	0.000000
+S6:g2k_9_2	0.000000
+S7:g1k_0_1	0.000000
+S7:g1k_0_2	0.000000
+S7:g1k_1_1	0.000000
+S7:g1k_1_2	0.000000
+S7:g1k_2_1	0.000000
+S7:g1k_2_2	0.000000
+S7:g1k_3_1	0.000000
+S7:g1k_3_2	0.000000
+S7:g1k_4_1	0.000000
+S7:g1k_4_2	0.000000
+S7:g1k_5_1	0.000000
+S7:g1k_5_2	0.000000
+S7:g1k_6_1	0.000000
+S7:g1k_6_2	0.000000
+S7:g1k_7_1	0.000000
+S7:g1k_7_2	0.000000
+S7:g1k_8_1	0.000000
+S7:g1k_8_2	0.000000
+S7:g1k_9_1	0.000000
+S7:g1k_9_2	0.000000
+S7:g2k_0_1	0.000000
+S7:g2k_0_2	0.000000
+S7:g2k_1_1	0.000000
+S7:g2k_1_2	0.000000
+S7:g2k_2_1	0.000000
+S7:g2k_2_2	0.000000
+S7:g2k_3_1	0.000000
+S7:g2k_3_2	0.000000
+S7:g2k_4_1	0.000000
+S7:g2k_4_2	0.000000
+S7:g2k_5_1	0.000000
+S7:g2k_5_2	0.000000
+S7:g2k_6_1	0.000000
+S7:g2k_6_2	0.000000
+S7:g2k_7_1	0.000000
+S7:g2k_7_2	0.000000
+S7:g2k_8_1	0.000000
+S7:g2k_8_2	0.000000
+S7:g2k_9_1	0.000000
+S7:g2k_9_2	0.000000
+S8:g1k_0_1	0.000000
+S8:g1k_0_2	0.000000
+S8:g1k_1_1	0.000000
+S8:g1k_1_2	0.000000
+S8:g1k_2_1	0.000000
+S8:g1k_2_2	0.000000
+S8:g1k_3_1	0.000000
+S8:g1k_3_2	0.000000
+S8:g1k_4_1	0.000000
+S8:g1k_4_2	0.000000
+S8:g1k_5_1	0.000000
+S8:g1k_5_2	0.000000
+S8:g1k_6_1	0.000000
+S8:g1k_6_2	0.000000
+S8:g1k_7_1	0.000000
+S8:g1k_7_2	0.000000
+S8:g1k_8_1	0.000000
+S8:g1k_8_2	0.000000
+S8:g1k_9_1	0.000000
+S8:g1k_9_2	0.000000
+S8:g2k_0_1	0.000000
+S8:g2k_0_2	0.000000
+S8:g2k_1_1	0.000000
+S8:g2k_1_2	0.000000
+S8:g2k_2_1	0.000000
+S8:g2k_2_2	0.000000
+S8:g2k_3_1	0.000000
+S8:g2k_3_2	0.000000
+S8:g2k_4_1	0.000000
+S8:g2k_4_2	0.000000
+S8:g2k_5_1	0.000000
+S8:g2k_5_2	0.000000
+S8:g2k_6_1	0.000000
+S8:g2k_6_2	0.000000
+S8:g2k_7_1	0.000000
+S8:g2k_7_2	0.000000
+S8:g2k_8_1	0.000000
+S8:g2k_8_2	0.000000
+S8:g2k_9_1	0.000000
+S8:g2k_9_2	0.000000
+S9:g1k_0_1	0.000000
+S9:g1k_0_2	0.000000
+S9:g1k_1_1	0.000000
+S9:g1k_1_2	0.000000
+S9:g1k_2_1	0.000000
+S9:g1k_2_2	0.000000
+S9:g1k_3_1	0.000000
+S9:g1k_3_2	0.000000
+S9:g1k_4_1	0.000000
+S9:g1k_4_2	0.000000
+S9:g1k_5_1	0.000000
+S9:g1k_5_2	0.000000
+S9:g1k_6_1	0.000000
+S9:g1k_6_2	0.000000
+S9:g1k_7_1	0.000000
+S9:g1k_7_2	0.000000
+S9:g1k_8_1	0.000000
+S9:g1k_8_2	0.000000
+S9:g1k_9_1	0.000000
+S9:g1k_9_2	0.000000
+S9:g2k_0_1	0.000000
+S9:g2k_0_2	0.000000
+S9:g2k_1_1	0.000000
+S9:g2k_1_2	0.000000
+S9:g2k_2_1	0.000000
+S9:g2k_2_2	0.000000
+S9:g2k_3_1	0.000000
+S9:g2k_3_2	0.000000
+S9:g2k_4_1	0.000000
+S9:g2k_4_2	0.000000
+S9:g2k_5_1	0.000000
+S9:g2k_5_2	0.000000
+S9:g2k_6_1	0.000000
+S9:g2k_6_2	0.000000
+S9:g2k_7_1	0.000000
+S9:g2k_7_2	0.000000
+S9:g2k_8_1	0.000000
+S9:g2k_8_2	0.000000
+S9:g2k_9_1	0.000000
+S9:g2k_9_2	0.000000
+S10:g1k_0_1	0.000000
+S10:g1k_0_2	0.000000
+S10:g1k_1_1	0.000000
+S10:g1k_1_2	0.000000
+S10:g1k_2_1	0.000000
+S10:g1k_2_2	0.000000
+S10:g1k_3_1	0.000000
+S10:g1k_3_2	0.000000
+S10:g1k_4_1	0.000000
+S10:g1k_4_2	0.000000
+S10:g1k_5_1	0.000000
+S10:g1k_5_2	0.000000
+S10:g1k_6_1	0.000000
+S10:g1k_6_2	0.000000
+S10:g1k_7_1	0.000000
+S10:g1k_7_2	0.000000
+S10:g1k_8_1	0.000000
+S10:g1k_8_2	0.000000
+S10:g1k_9_1	0.000000
+S10:g1k_9_2	0.000000
+S10:g2k_0_1	0.000000
+S10:g2k_0_2	0.000000
+S10:g2k_1_1	0.000000
+S10:g2k_1_2	0.000000
+S10:g2k_2_1	0.000000
+S10:g2k_2_2	0.000000
+S10:g2k_3_1	0.000000
+S10:g2k_3_2	0.000000
+S10:g2k_4_1	0.000000
+S10:g2k_4_2	0.000000
+S10:g2k_5_1	0.000000
+S10:g2k_5_2	0.000000
+S10:g2k_6_1	0.000000
+S10:g2k_6_2	0.000000
+S10:g2k_7_1	0.000000
+S10:g2k_7_2	0.000000
+S10:g2k_8_1	0.000000
+S10:g2k_8_2	0.000000
+S10:g2k_9_1	0.000000
+S10:g2k_9_2	0.000000
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/strobealign_2.txt	Sun Aug 10 11:39:49 2025 +0000
@@ -0,0 +1,400 @@
+S1:g1k_0_1	0.000000
+S1:g1k_0_2	0.000000
+S1:g1k_1_1	0.000000
+S1:g1k_1_2	0.000000
+S1:g1k_2_1	0.000000
+S1:g1k_2_2	0.000000
+S1:g1k_3_1	0.000000
+S1:g1k_3_2	0.000000
+S1:g1k_4_1	0.000000
+S1:g1k_4_2	0.000000
+S1:g1k_5_1	0.000000
+S1:g1k_5_2	0.000000
+S1:g1k_6_1	0.000000
+S1:g1k_6_2	0.000000
+S1:g1k_7_1	0.000000
+S1:g1k_7_2	0.000000
+S1:g1k_8_1	0.000000
+S1:g1k_8_2	0.000000
+S1:g1k_9_1	0.000000
+S1:g1k_9_2	0.000000
+S1:g2k_0_1	0.000000
+S1:g2k_0_2	0.000000
+S1:g2k_1_1	0.000000
+S1:g2k_1_2	0.000000
+S1:g2k_2_1	0.000000
+S1:g2k_2_2	0.000000
+S1:g2k_3_1	0.000000
+S1:g2k_3_2	0.000000
+S1:g2k_4_1	0.000000
+S1:g2k_4_2	0.000000
+S1:g2k_5_1	0.000000
+S1:g2k_5_2	0.000000
+S1:g2k_6_1	0.000000
+S1:g2k_6_2	0.000000
+S1:g2k_7_1	0.000000
+S1:g2k_7_2	0.000000
+S1:g2k_8_1	0.000000
+S1:g2k_8_2	0.000000
+S1:g2k_9_1	0.000000
+S1:g2k_9_2	0.000000
+S2:g1k_0_1	0.000000
+S2:g1k_0_2	0.000000
+S2:g1k_1_1	0.000000
+S2:g1k_1_2	0.000000
+S2:g1k_2_1	0.000000
+S2:g1k_2_2	0.000000
+S2:g1k_3_1	0.000000
+S2:g1k_3_2	0.000000
+S2:g1k_4_1	0.000000
+S2:g1k_4_2	0.000000
+S2:g1k_5_1	0.000000
+S2:g1k_5_2	0.000000
+S2:g1k_6_1	0.000000
+S2:g1k_6_2	0.000000
+S2:g1k_7_1	0.000000
+S2:g1k_7_2	0.000000
+S2:g1k_8_1	0.000000
+S2:g1k_8_2	0.000000
+S2:g1k_9_1	0.000000
+S2:g1k_9_2	0.000000
+S2:g2k_0_1	0.000000
+S2:g2k_0_2	0.000000
+S2:g2k_1_1	0.000000
+S2:g2k_1_2	0.000000
+S2:g2k_2_1	0.000000
+S2:g2k_2_2	0.000000
+S2:g2k_3_1	0.000000
+S2:g2k_3_2	0.000000
+S2:g2k_4_1	0.000000
+S2:g2k_4_2	0.000000
+S2:g2k_5_1	0.000000
+S2:g2k_5_2	0.000000
+S2:g2k_6_1	0.000000
+S2:g2k_6_2	0.000000
+S2:g2k_7_1	0.000000
+S2:g2k_7_2	0.000000
+S2:g2k_8_1	0.000000
+S2:g2k_8_2	0.000000
+S2:g2k_9_1	0.000000
+S2:g2k_9_2	0.000000
+S3:g1k_0_1	0.000000
+S3:g1k_0_2	0.000000
+S3:g1k_1_1	0.000000
+S3:g1k_1_2	0.000000
+S3:g1k_2_1	0.000000
+S3:g1k_2_2	0.000000
+S3:g1k_3_1	0.000000
+S3:g1k_3_2	0.000000
+S3:g1k_4_1	0.000000
+S3:g1k_4_2	0.000000
+S3:g1k_5_1	0.000000
+S3:g1k_5_2	0.000000
+S3:g1k_6_1	0.000000
+S3:g1k_6_2	0.000000
+S3:g1k_7_1	0.000000
+S3:g1k_7_2	0.000000
+S3:g1k_8_1	0.000000
+S3:g1k_8_2	0.000000
+S3:g1k_9_1	0.000000
+S3:g1k_9_2	0.000000
+S3:g2k_0_1	0.000000
+S3:g2k_0_2	0.000000
+S3:g2k_1_1	0.000000
+S3:g2k_1_2	0.000000
+S3:g2k_2_1	0.000000
+S3:g2k_2_2	0.000000
+S3:g2k_3_1	0.000000
+S3:g2k_3_2	0.000000
+S3:g2k_4_1	0.000000
+S3:g2k_4_2	0.000000
+S3:g2k_5_1	0.000000
+S3:g2k_5_2	0.000000
+S3:g2k_6_1	0.000000
+S3:g2k_6_2	0.000000
+S3:g2k_7_1	0.000000
+S3:g2k_7_2	0.000000
+S3:g2k_8_1	0.000000
+S3:g2k_8_2	0.000000
+S3:g2k_9_1	0.000000
+S3:g2k_9_2	0.000000
+S4:g1k_0_1	0.000000
+S4:g1k_0_2	0.000000
+S4:g1k_1_1	0.000000
+S4:g1k_1_2	0.000000
+S4:g1k_2_1	0.000000
+S4:g1k_2_2	0.000000
+S4:g1k_3_1	0.000000
+S4:g1k_3_2	0.000000
+S4:g1k_4_1	0.000000
+S4:g1k_4_2	0.000000
+S4:g1k_5_1	0.000000
+S4:g1k_5_2	0.000000
+S4:g1k_6_1	0.000000
+S4:g1k_6_2	0.000000
+S4:g1k_7_1	0.000000
+S4:g1k_7_2	0.000000
+S4:g1k_8_1	0.000000
+S4:g1k_8_2	0.000000
+S4:g1k_9_1	0.000000
+S4:g1k_9_2	0.000000
+S4:g2k_0_1	0.000000
+S4:g2k_0_2	0.000000
+S4:g2k_1_1	0.000000
+S4:g2k_1_2	0.000000
+S4:g2k_2_1	0.000000
+S4:g2k_2_2	0.000000
+S4:g2k_3_1	0.000000
+S4:g2k_3_2	0.000000
+S4:g2k_4_1	0.000000
+S4:g2k_4_2	0.000000
+S4:g2k_5_1	0.000000
+S4:g2k_5_2	0.000000
+S4:g2k_6_1	0.000000
+S4:g2k_6_2	0.000000
+S4:g2k_7_1	0.000000
+S4:g2k_7_2	0.000000
+S4:g2k_8_1	0.000000
+S4:g2k_8_2	0.000000
+S4:g2k_9_1	0.000000
+S4:g2k_9_2	0.000000
+S5:g1k_0_1	0.000000
+S5:g1k_0_2	0.000000
+S5:g1k_1_1	0.000000
+S5:g1k_1_2	0.000000
+S5:g1k_2_1	0.000000
+S5:g1k_2_2	0.000000
+S5:g1k_3_1	0.000000
+S5:g1k_3_2	0.000000
+S5:g1k_4_1	0.000000
+S5:g1k_4_2	0.000000
+S5:g1k_5_1	0.000000
+S5:g1k_5_2	0.000000
+S5:g1k_6_1	0.000000
+S5:g1k_6_2	0.000000
+S5:g1k_7_1	0.000000
+S5:g1k_7_2	0.000000
+S5:g1k_8_1	0.000000
+S5:g1k_8_2	0.000000
+S5:g1k_9_1	0.000000
+S5:g1k_9_2	0.000000
+S5:g2k_0_1	0.000000
+S5:g2k_0_2	0.000000
+S5:g2k_1_1	0.000000
+S5:g2k_1_2	0.000000
+S5:g2k_2_1	0.000000
+S5:g2k_2_2	0.000000
+S5:g2k_3_1	0.000000
+S5:g2k_3_2	0.000000
+S5:g2k_4_1	0.000000
+S5:g2k_4_2	0.000000
+S5:g2k_5_1	0.000000
+S5:g2k_5_2	0.000000
+S5:g2k_6_1	0.000000
+S5:g2k_6_2	0.000000
+S5:g2k_7_1	0.000000
+S5:g2k_7_2	0.000000
+S5:g2k_8_1	0.000000
+S5:g2k_8_2	0.000000
+S5:g2k_9_1	0.000000
+S5:g2k_9_2	0.000000
+S6:g1k_0_1	0.000000
+S6:g1k_0_2	0.000000
+S6:g1k_1_1	0.000000
+S6:g1k_1_2	0.000000
+S6:g1k_2_1	0.000000
+S6:g1k_2_2	0.000000
+S6:g1k_3_1	0.000000
+S6:g1k_3_2	0.000000
+S6:g1k_4_1	0.000000
+S6:g1k_4_2	0.000000
+S6:g1k_5_1	0.000000
+S6:g1k_5_2	0.000000
+S6:g1k_6_1	0.000000
+S6:g1k_6_2	0.000000
+S6:g1k_7_1	0.000000
+S6:g1k_7_2	0.000000
+S6:g1k_8_1	0.000000
+S6:g1k_8_2	0.000000
+S6:g1k_9_1	0.000000
+S6:g1k_9_2	0.000000
+S6:g2k_0_1	0.000000
+S6:g2k_0_2	0.000000
+S6:g2k_1_1	0.000000
+S6:g2k_1_2	0.000000
+S6:g2k_2_1	0.000000
+S6:g2k_2_2	0.000000
+S6:g2k_3_1	0.000000
+S6:g2k_3_2	0.000000
+S6:g2k_4_1	0.000000
+S6:g2k_4_2	0.000000
+S6:g2k_5_1	0.000000
+S6:g2k_5_2	0.000000
+S6:g2k_6_1	0.000000
+S6:g2k_6_2	0.000000
+S6:g2k_7_1	0.000000
+S6:g2k_7_2	0.000000
+S6:g2k_8_1	0.000000
+S6:g2k_8_2	0.000000
+S6:g2k_9_1	0.000000
+S6:g2k_9_2	0.000000
+S7:g1k_0_1	0.000000
+S7:g1k_0_2	0.000000
+S7:g1k_1_1	0.000000
+S7:g1k_1_2	0.000000
+S7:g1k_2_1	0.000000
+S7:g1k_2_2	0.000000
+S7:g1k_3_1	0.000000
+S7:g1k_3_2	0.000000
+S7:g1k_4_1	0.000000
+S7:g1k_4_2	0.000000
+S7:g1k_5_1	0.000000
+S7:g1k_5_2	0.000000
+S7:g1k_6_1	0.000000
+S7:g1k_6_2	0.000000
+S7:g1k_7_1	0.000000
+S7:g1k_7_2	0.000000
+S7:g1k_8_1	0.000000
+S7:g1k_8_2	0.000000
+S7:g1k_9_1	0.000000
+S7:g1k_9_2	0.000000
+S7:g2k_0_1	0.000000
+S7:g2k_0_2	0.000000
+S7:g2k_1_1	0.000000
+S7:g2k_1_2	0.000000
+S7:g2k_2_1	0.000000
+S7:g2k_2_2	0.000000
+S7:g2k_3_1	0.000000
+S7:g2k_3_2	0.000000
+S7:g2k_4_1	0.000000
+S7:g2k_4_2	0.000000
+S7:g2k_5_1	0.000000
+S7:g2k_5_2	0.000000
+S7:g2k_6_1	0.000000
+S7:g2k_6_2	0.000000
+S7:g2k_7_1	0.000000
+S7:g2k_7_2	0.000000
+S7:g2k_8_1	0.000000
+S7:g2k_8_2	0.000000
+S7:g2k_9_1	0.000000
+S7:g2k_9_2	0.000000
+S8:g1k_0_1	0.000000
+S8:g1k_0_2	0.000000
+S8:g1k_1_1	0.000000
+S8:g1k_1_2	0.000000
+S8:g1k_2_1	0.000000
+S8:g1k_2_2	0.000000
+S8:g1k_3_1	0.000000
+S8:g1k_3_2	0.000000
+S8:g1k_4_1	0.000000
+S8:g1k_4_2	0.000000
+S8:g1k_5_1	0.000000
+S8:g1k_5_2	0.000000
+S8:g1k_6_1	0.000000
+S8:g1k_6_2	0.000000
+S8:g1k_7_1	0.000000
+S8:g1k_7_2	0.000000
+S8:g1k_8_1	0.000000
+S8:g1k_8_2	0.000000
+S8:g1k_9_1	0.000000
+S8:g1k_9_2	0.000000
+S8:g2k_0_1	0.000000
+S8:g2k_0_2	0.000000
+S8:g2k_1_1	0.000000
+S8:g2k_1_2	0.000000
+S8:g2k_2_1	0.000000
+S8:g2k_2_2	0.000000
+S8:g2k_3_1	0.000000
+S8:g2k_3_2	0.000000
+S8:g2k_4_1	0.000000
+S8:g2k_4_2	0.000000
+S8:g2k_5_1	0.000000
+S8:g2k_5_2	0.000000
+S8:g2k_6_1	0.000000
+S8:g2k_6_2	0.000000
+S8:g2k_7_1	0.000000
+S8:g2k_7_2	0.000000
+S8:g2k_8_1	0.000000
+S8:g2k_8_2	0.000000
+S8:g2k_9_1	0.000000
+S8:g2k_9_2	0.000000
+S9:g1k_0_1	0.000000
+S9:g1k_0_2	0.000000
+S9:g1k_1_1	0.000000
+S9:g1k_1_2	0.000000
+S9:g1k_2_1	0.000000
+S9:g1k_2_2	0.000000
+S9:g1k_3_1	0.000000
+S9:g1k_3_2	0.000000
+S9:g1k_4_1	0.000000
+S9:g1k_4_2	0.000000
+S9:g1k_5_1	0.000000
+S9:g1k_5_2	0.000000
+S9:g1k_6_1	0.000000
+S9:g1k_6_2	0.000000
+S9:g1k_7_1	0.000000
+S9:g1k_7_2	0.000000
+S9:g1k_8_1	0.000000
+S9:g1k_8_2	0.000000
+S9:g1k_9_1	0.000000
+S9:g1k_9_2	0.000000
+S9:g2k_0_1	0.000000
+S9:g2k_0_2	0.000000
+S9:g2k_1_1	0.000000
+S9:g2k_1_2	0.000000
+S9:g2k_2_1	0.000000
+S9:g2k_2_2	0.000000
+S9:g2k_3_1	0.000000
+S9:g2k_3_2	0.000000
+S9:g2k_4_1	0.000000
+S9:g2k_4_2	0.000000
+S9:g2k_5_1	0.000000
+S9:g2k_5_2	0.000000
+S9:g2k_6_1	0.000000
+S9:g2k_6_2	0.000000
+S9:g2k_7_1	0.000000
+S9:g2k_7_2	0.000000
+S9:g2k_8_1	0.000000
+S9:g2k_8_2	0.000000
+S9:g2k_9_1	0.000000
+S9:g2k_9_2	0.000000
+S10:g1k_0_1	0.000000
+S10:g1k_0_2	0.000000
+S10:g1k_1_1	0.000000
+S10:g1k_1_2	0.000000
+S10:g1k_2_1	0.000000
+S10:g1k_2_2	0.000000
+S10:g1k_3_1	0.000000
+S10:g1k_3_2	0.000000
+S10:g1k_4_1	0.000000
+S10:g1k_4_2	0.000000
+S10:g1k_5_1	0.000000
+S10:g1k_5_2	0.000000
+S10:g1k_6_1	0.000000
+S10:g1k_6_2	0.000000
+S10:g1k_7_1	0.000000
+S10:g1k_7_2	0.000000
+S10:g1k_8_1	0.000000
+S10:g1k_8_2	0.000000
+S10:g1k_9_1	0.000000
+S10:g1k_9_2	0.000000
+S10:g2k_0_1	0.000000
+S10:g2k_0_2	0.000000
+S10:g2k_1_1	0.000000
+S10:g2k_1_2	0.000000
+S10:g2k_2_1	0.000000
+S10:g2k_2_2	0.000000
+S10:g2k_3_1	0.000000
+S10:g2k_3_2	0.000000
+S10:g2k_4_1	0.000000
+S10:g2k_4_2	0.000000
+S10:g2k_5_1	0.000000
+S10:g2k_5_2	0.000000
+S10:g2k_6_1	0.000000
+S10:g2k_6_2	0.000000
+S10:g2k_7_1	0.000000
+S10:g2k_7_2	0.000000
+S10:g2k_8_1	0.000000
+S10:g2k_8_2	0.000000
+S10:g2k_9_1	0.000000
+S10:g2k_9_2	0.000000
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/strobealign_3.txt	Sun Aug 10 11:39:49 2025 +0000
@@ -0,0 +1,400 @@
+S1:g1k_0_1	0.000000
+S1:g1k_0_2	0.000000
+S1:g1k_1_1	0.000000
+S1:g1k_1_2	0.000000
+S1:g1k_2_1	0.000000
+S1:g1k_2_2	0.000000
+S1:g1k_3_1	0.000000
+S1:g1k_3_2	0.000000
+S1:g1k_4_1	0.000000
+S1:g1k_4_2	0.000000
+S1:g1k_5_1	0.000000
+S1:g1k_5_2	0.000000
+S1:g1k_6_1	0.000000
+S1:g1k_6_2	0.000000
+S1:g1k_7_1	0.000000
+S1:g1k_7_2	0.000000
+S1:g1k_8_1	0.000000
+S1:g1k_8_2	0.000000
+S1:g1k_9_1	0.000000
+S1:g1k_9_2	0.000000
+S1:g2k_0_1	0.000000
+S1:g2k_0_2	0.000000
+S1:g2k_1_1	0.000000
+S1:g2k_1_2	0.000000
+S1:g2k_2_1	0.000000
+S1:g2k_2_2	0.000000
+S1:g2k_3_1	0.000000
+S1:g2k_3_2	0.000000
+S1:g2k_4_1	0.000000
+S1:g2k_4_2	0.000000
+S1:g2k_5_1	0.000000
+S1:g2k_5_2	0.000000
+S1:g2k_6_1	0.000000
+S1:g2k_6_2	0.000000
+S1:g2k_7_1	0.000000
+S1:g2k_7_2	0.000000
+S1:g2k_8_1	0.000000
+S1:g2k_8_2	0.000000
+S1:g2k_9_1	0.000000
+S1:g2k_9_2	0.000000
+S2:g1k_0_1	0.000000
+S2:g1k_0_2	0.000000
+S2:g1k_1_1	0.000000
+S2:g1k_1_2	0.000000
+S2:g1k_2_1	0.000000
+S2:g1k_2_2	0.000000
+S2:g1k_3_1	0.000000
+S2:g1k_3_2	0.000000
+S2:g1k_4_1	0.000000
+S2:g1k_4_2	0.000000
+S2:g1k_5_1	0.000000
+S2:g1k_5_2	0.000000
+S2:g1k_6_1	0.000000
+S2:g1k_6_2	0.000000
+S2:g1k_7_1	0.000000
+S2:g1k_7_2	0.000000
+S2:g1k_8_1	0.000000
+S2:g1k_8_2	0.000000
+S2:g1k_9_1	0.000000
+S2:g1k_9_2	0.000000
+S2:g2k_0_1	0.000000
+S2:g2k_0_2	0.000000
+S2:g2k_1_1	0.000000
+S2:g2k_1_2	0.000000
+S2:g2k_2_1	0.000000
+S2:g2k_2_2	0.000000
+S2:g2k_3_1	0.000000
+S2:g2k_3_2	0.000000
+S2:g2k_4_1	0.000000
+S2:g2k_4_2	0.000000
+S2:g2k_5_1	0.000000
+S2:g2k_5_2	0.000000
+S2:g2k_6_1	0.000000
+S2:g2k_6_2	0.000000
+S2:g2k_7_1	0.000000
+S2:g2k_7_2	0.000000
+S2:g2k_8_1	0.000000
+S2:g2k_8_2	0.000000
+S2:g2k_9_1	0.000000
+S2:g2k_9_2	0.000000
+S3:g1k_0_1	0.000000
+S3:g1k_0_2	0.000000
+S3:g1k_1_1	0.000000
+S3:g1k_1_2	0.000000
+S3:g1k_2_1	0.000000
+S3:g1k_2_2	0.000000
+S3:g1k_3_1	0.000000
+S3:g1k_3_2	0.000000
+S3:g1k_4_1	0.000000
+S3:g1k_4_2	0.000000
+S3:g1k_5_1	0.000000
+S3:g1k_5_2	0.000000
+S3:g1k_6_1	0.000000
+S3:g1k_6_2	0.000000
+S3:g1k_7_1	0.000000
+S3:g1k_7_2	0.000000
+S3:g1k_8_1	0.000000
+S3:g1k_8_2	0.000000
+S3:g1k_9_1	0.000000
+S3:g1k_9_2	0.000000
+S3:g2k_0_1	0.000000
+S3:g2k_0_2	0.000000
+S3:g2k_1_1	0.000000
+S3:g2k_1_2	0.000000
+S3:g2k_2_1	0.000000
+S3:g2k_2_2	0.000000
+S3:g2k_3_1	0.000000
+S3:g2k_3_2	0.000000
+S3:g2k_4_1	0.000000
+S3:g2k_4_2	0.000000
+S3:g2k_5_1	0.000000
+S3:g2k_5_2	0.000000
+S3:g2k_6_1	0.000000
+S3:g2k_6_2	0.000000
+S3:g2k_7_1	0.000000
+S3:g2k_7_2	0.000000
+S3:g2k_8_1	0.000000
+S3:g2k_8_2	0.000000
+S3:g2k_9_1	0.000000
+S3:g2k_9_2	0.000000
+S4:g1k_0_1	0.000000
+S4:g1k_0_2	0.000000
+S4:g1k_1_1	0.000000
+S4:g1k_1_2	0.000000
+S4:g1k_2_1	0.000000
+S4:g1k_2_2	0.000000
+S4:g1k_3_1	0.000000
+S4:g1k_3_2	0.000000
+S4:g1k_4_1	0.000000
+S4:g1k_4_2	0.000000
+S4:g1k_5_1	0.000000
+S4:g1k_5_2	0.000000
+S4:g1k_6_1	0.000000
+S4:g1k_6_2	0.000000
+S4:g1k_7_1	0.000000
+S4:g1k_7_2	0.000000
+S4:g1k_8_1	0.000000
+S4:g1k_8_2	0.000000
+S4:g1k_9_1	0.000000
+S4:g1k_9_2	0.000000
+S4:g2k_0_1	0.000000
+S4:g2k_0_2	0.000000
+S4:g2k_1_1	0.000000
+S4:g2k_1_2	0.000000
+S4:g2k_2_1	0.000000
+S4:g2k_2_2	0.000000
+S4:g2k_3_1	0.000000
+S4:g2k_3_2	0.000000
+S4:g2k_4_1	0.000000
+S4:g2k_4_2	0.000000
+S4:g2k_5_1	0.000000
+S4:g2k_5_2	0.000000
+S4:g2k_6_1	0.000000
+S4:g2k_6_2	0.000000
+S4:g2k_7_1	0.000000
+S4:g2k_7_2	0.000000
+S4:g2k_8_1	0.000000
+S4:g2k_8_2	0.000000
+S4:g2k_9_1	0.000000
+S4:g2k_9_2	0.000000
+S5:g1k_0_1	0.000000
+S5:g1k_0_2	0.000000
+S5:g1k_1_1	0.000000
+S5:g1k_1_2	0.000000
+S5:g1k_2_1	0.000000
+S5:g1k_2_2	0.000000
+S5:g1k_3_1	0.000000
+S5:g1k_3_2	0.000000
+S5:g1k_4_1	0.000000
+S5:g1k_4_2	0.000000
+S5:g1k_5_1	0.000000
+S5:g1k_5_2	0.000000
+S5:g1k_6_1	0.000000
+S5:g1k_6_2	0.000000
+S5:g1k_7_1	0.000000
+S5:g1k_7_2	0.000000
+S5:g1k_8_1	0.000000
+S5:g1k_8_2	0.000000
+S5:g1k_9_1	0.000000
+S5:g1k_9_2	0.000000
+S5:g2k_0_1	0.000000
+S5:g2k_0_2	0.000000
+S5:g2k_1_1	0.000000
+S5:g2k_1_2	0.000000
+S5:g2k_2_1	0.000000
+S5:g2k_2_2	0.000000
+S5:g2k_3_1	0.000000
+S5:g2k_3_2	0.000000
+S5:g2k_4_1	0.000000
+S5:g2k_4_2	0.000000
+S5:g2k_5_1	0.000000
+S5:g2k_5_2	0.000000
+S5:g2k_6_1	0.000000
+S5:g2k_6_2	0.000000
+S5:g2k_7_1	0.000000
+S5:g2k_7_2	0.000000
+S5:g2k_8_1	0.000000
+S5:g2k_8_2	0.000000
+S5:g2k_9_1	0.000000
+S5:g2k_9_2	0.000000
+S6:g1k_0_1	0.000000
+S6:g1k_0_2	0.000000
+S6:g1k_1_1	0.000000
+S6:g1k_1_2	0.000000
+S6:g1k_2_1	0.000000
+S6:g1k_2_2	0.000000
+S6:g1k_3_1	0.000000
+S6:g1k_3_2	0.000000
+S6:g1k_4_1	0.000000
+S6:g1k_4_2	0.000000
+S6:g1k_5_1	0.000000
+S6:g1k_5_2	0.000000
+S6:g1k_6_1	0.000000
+S6:g1k_6_2	0.000000
+S6:g1k_7_1	0.000000
+S6:g1k_7_2	0.000000
+S6:g1k_8_1	0.000000
+S6:g1k_8_2	0.000000
+S6:g1k_9_1	0.000000
+S6:g1k_9_2	0.000000
+S6:g2k_0_1	0.000000
+S6:g2k_0_2	0.000000
+S6:g2k_1_1	0.000000
+S6:g2k_1_2	0.000000
+S6:g2k_2_1	0.000000
+S6:g2k_2_2	0.000000
+S6:g2k_3_1	0.000000
+S6:g2k_3_2	0.000000
+S6:g2k_4_1	0.000000
+S6:g2k_4_2	0.000000
+S6:g2k_5_1	0.000000
+S6:g2k_5_2	0.000000
+S6:g2k_6_1	0.000000
+S6:g2k_6_2	0.000000
+S6:g2k_7_1	0.000000
+S6:g2k_7_2	0.000000
+S6:g2k_8_1	0.000000
+S6:g2k_8_2	0.000000
+S6:g2k_9_1	0.000000
+S6:g2k_9_2	0.000000
+S7:g1k_0_1	0.000000
+S7:g1k_0_2	0.000000
+S7:g1k_1_1	0.000000
+S7:g1k_1_2	0.000000
+S7:g1k_2_1	0.000000
+S7:g1k_2_2	0.000000
+S7:g1k_3_1	0.000000
+S7:g1k_3_2	0.000000
+S7:g1k_4_1	0.000000
+S7:g1k_4_2	0.000000
+S7:g1k_5_1	0.000000
+S7:g1k_5_2	0.000000
+S7:g1k_6_1	0.000000
+S7:g1k_6_2	0.000000
+S7:g1k_7_1	0.000000
+S7:g1k_7_2	0.000000
+S7:g1k_8_1	0.000000
+S7:g1k_8_2	0.000000
+S7:g1k_9_1	0.000000
+S7:g1k_9_2	0.000000
+S7:g2k_0_1	0.000000
+S7:g2k_0_2	0.000000
+S7:g2k_1_1	0.000000
+S7:g2k_1_2	0.000000
+S7:g2k_2_1	0.000000
+S7:g2k_2_2	0.000000
+S7:g2k_3_1	0.000000
+S7:g2k_3_2	0.000000
+S7:g2k_4_1	0.000000
+S7:g2k_4_2	0.000000
+S7:g2k_5_1	0.000000
+S7:g2k_5_2	0.000000
+S7:g2k_6_1	0.000000
+S7:g2k_6_2	0.000000
+S7:g2k_7_1	0.000000
+S7:g2k_7_2	0.000000
+S7:g2k_8_1	0.000000
+S7:g2k_8_2	0.000000
+S7:g2k_9_1	0.000000
+S7:g2k_9_2	0.000000
+S8:g1k_0_1	0.000000
+S8:g1k_0_2	0.000000
+S8:g1k_1_1	0.000000
+S8:g1k_1_2	0.000000
+S8:g1k_2_1	0.000000
+S8:g1k_2_2	0.000000
+S8:g1k_3_1	0.000000
+S8:g1k_3_2	0.000000
+S8:g1k_4_1	0.000000
+S8:g1k_4_2	0.000000
+S8:g1k_5_1	0.000000
+S8:g1k_5_2	0.000000
+S8:g1k_6_1	0.000000
+S8:g1k_6_2	0.000000
+S8:g1k_7_1	0.000000
+S8:g1k_7_2	0.000000
+S8:g1k_8_1	0.000000
+S8:g1k_8_2	0.000000
+S8:g1k_9_1	0.000000
+S8:g1k_9_2	0.000000
+S8:g2k_0_1	0.000000
+S8:g2k_0_2	0.000000
+S8:g2k_1_1	0.000000
+S8:g2k_1_2	0.000000
+S8:g2k_2_1	0.000000
+S8:g2k_2_2	0.000000
+S8:g2k_3_1	0.000000
+S8:g2k_3_2	0.000000
+S8:g2k_4_1	0.000000
+S8:g2k_4_2	0.000000
+S8:g2k_5_1	0.000000
+S8:g2k_5_2	0.000000
+S8:g2k_6_1	0.000000
+S8:g2k_6_2	0.000000
+S8:g2k_7_1	0.000000
+S8:g2k_7_2	0.000000
+S8:g2k_8_1	0.000000
+S8:g2k_8_2	0.000000
+S8:g2k_9_1	0.000000
+S8:g2k_9_2	0.000000
+S9:g1k_0_1	0.000000
+S9:g1k_0_2	0.000000
+S9:g1k_1_1	0.000000
+S9:g1k_1_2	0.000000
+S9:g1k_2_1	0.000000
+S9:g1k_2_2	0.000000
+S9:g1k_3_1	0.000000
+S9:g1k_3_2	0.000000
+S9:g1k_4_1	0.000000
+S9:g1k_4_2	0.000000
+S9:g1k_5_1	0.000000
+S9:g1k_5_2	0.000000
+S9:g1k_6_1	0.000000
+S9:g1k_6_2	0.000000
+S9:g1k_7_1	0.000000
+S9:g1k_7_2	0.000000
+S9:g1k_8_1	0.000000
+S9:g1k_8_2	0.000000
+S9:g1k_9_1	0.000000
+S9:g1k_9_2	0.000000
+S9:g2k_0_1	0.000000
+S9:g2k_0_2	0.000000
+S9:g2k_1_1	0.000000
+S9:g2k_1_2	0.000000
+S9:g2k_2_1	0.000000
+S9:g2k_2_2	0.000000
+S9:g2k_3_1	0.000000
+S9:g2k_3_2	0.000000
+S9:g2k_4_1	0.000000
+S9:g2k_4_2	0.000000
+S9:g2k_5_1	0.000000
+S9:g2k_5_2	0.000000
+S9:g2k_6_1	0.000000
+S9:g2k_6_2	0.000000
+S9:g2k_7_1	0.000000
+S9:g2k_7_2	0.000000
+S9:g2k_8_1	0.000000
+S9:g2k_8_2	0.000000
+S9:g2k_9_1	0.000000
+S9:g2k_9_2	0.000000
+S10:g1k_0_1	0.000000
+S10:g1k_0_2	0.000000
+S10:g1k_1_1	0.000000
+S10:g1k_1_2	0.000000
+S10:g1k_2_1	0.000000
+S10:g1k_2_2	0.000000
+S10:g1k_3_1	0.000000
+S10:g1k_3_2	0.000000
+S10:g1k_4_1	0.000000
+S10:g1k_4_2	0.000000
+S10:g1k_5_1	0.000000
+S10:g1k_5_2	0.000000
+S10:g1k_6_1	0.000000
+S10:g1k_6_2	0.000000
+S10:g1k_7_1	0.000000
+S10:g1k_7_2	0.000000
+S10:g1k_8_1	0.000000
+S10:g1k_8_2	0.000000
+S10:g1k_9_1	0.000000
+S10:g1k_9_2	0.000000
+S10:g2k_0_1	0.000000
+S10:g2k_0_2	0.000000
+S10:g2k_1_1	0.000000
+S10:g2k_1_2	0.000000
+S10:g2k_2_1	0.000000
+S10:g2k_2_2	0.000000
+S10:g2k_3_1	0.000000
+S10:g2k_3_2	0.000000
+S10:g2k_4_1	0.000000
+S10:g2k_4_2	0.000000
+S10:g2k_5_1	0.000000
+S10:g2k_5_2	0.000000
+S10:g2k_6_1	0.000000
+S10:g2k_6_2	0.000000
+S10:g2k_7_1	0.000000
+S10:g2k_7_2	0.000000
+S10:g2k_8_1	0.000000
+S10:g2k_8_2	0.000000
+S10:g2k_9_1	0.000000
+S10:g2k_9_2	0.000000
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/strobealign_4.txt	Sun Aug 10 11:39:49 2025 +0000
@@ -0,0 +1,400 @@
+S1:g1k_0_1	0.000000
+S1:g1k_0_2	0.000000
+S1:g1k_1_1	0.000000
+S1:g1k_1_2	0.000000
+S1:g1k_2_1	0.000000
+S1:g1k_2_2	0.000000
+S1:g1k_3_1	0.000000
+S1:g1k_3_2	0.000000
+S1:g1k_4_1	0.000000
+S1:g1k_4_2	0.000000
+S1:g1k_5_1	0.000000
+S1:g1k_5_2	0.000000
+S1:g1k_6_1	0.000000
+S1:g1k_6_2	0.000000
+S1:g1k_7_1	0.000000
+S1:g1k_7_2	0.000000
+S1:g1k_8_1	0.000000
+S1:g1k_8_2	0.000000
+S1:g1k_9_1	0.000000
+S1:g1k_9_2	0.000000
+S1:g2k_0_1	0.000000
+S1:g2k_0_2	0.000000
+S1:g2k_1_1	0.000000
+S1:g2k_1_2	0.000000
+S1:g2k_2_1	0.000000
+S1:g2k_2_2	0.000000
+S1:g2k_3_1	0.000000
+S1:g2k_3_2	0.000000
+S1:g2k_4_1	0.000000
+S1:g2k_4_2	0.000000
+S1:g2k_5_1	0.000000
+S1:g2k_5_2	0.000000
+S1:g2k_6_1	0.000000
+S1:g2k_6_2	0.000000
+S1:g2k_7_1	0.000000
+S1:g2k_7_2	0.000000
+S1:g2k_8_1	0.000000
+S1:g2k_8_2	0.000000
+S1:g2k_9_1	0.000000
+S1:g2k_9_2	0.000000
+S2:g1k_0_1	0.000000
+S2:g1k_0_2	0.000000
+S2:g1k_1_1	0.000000
+S2:g1k_1_2	0.000000
+S2:g1k_2_1	0.000000
+S2:g1k_2_2	0.000000
+S2:g1k_3_1	0.000000
+S2:g1k_3_2	0.000000
+S2:g1k_4_1	0.000000
+S2:g1k_4_2	0.000000
+S2:g1k_5_1	0.000000
+S2:g1k_5_2	0.000000
+S2:g1k_6_1	0.000000
+S2:g1k_6_2	0.000000
+S2:g1k_7_1	0.000000
+S2:g1k_7_2	0.000000
+S2:g1k_8_1	0.000000
+S2:g1k_8_2	0.000000
+S2:g1k_9_1	0.000000
+S2:g1k_9_2	0.000000
+S2:g2k_0_1	0.000000
+S2:g2k_0_2	0.000000
+S2:g2k_1_1	0.000000
+S2:g2k_1_2	0.000000
+S2:g2k_2_1	0.000000
+S2:g2k_2_2	0.000000
+S2:g2k_3_1	0.000000
+S2:g2k_3_2	0.000000
+S2:g2k_4_1	0.000000
+S2:g2k_4_2	0.000000
+S2:g2k_5_1	0.000000
+S2:g2k_5_2	0.000000
+S2:g2k_6_1	0.000000
+S2:g2k_6_2	0.000000
+S2:g2k_7_1	0.000000
+S2:g2k_7_2	0.000000
+S2:g2k_8_1	0.000000
+S2:g2k_8_2	0.000000
+S2:g2k_9_1	0.000000
+S2:g2k_9_2	0.000000
+S3:g1k_0_1	0.000000
+S3:g1k_0_2	0.000000
+S3:g1k_1_1	0.000000
+S3:g1k_1_2	0.000000
+S3:g1k_2_1	0.000000
+S3:g1k_2_2	0.000000
+S3:g1k_3_1	0.000000
+S3:g1k_3_2	0.000000
+S3:g1k_4_1	0.000000
+S3:g1k_4_2	0.000000
+S3:g1k_5_1	0.000000
+S3:g1k_5_2	0.000000
+S3:g1k_6_1	0.000000
+S3:g1k_6_2	0.000000
+S3:g1k_7_1	0.000000
+S3:g1k_7_2	0.000000
+S3:g1k_8_1	0.000000
+S3:g1k_8_2	0.000000
+S3:g1k_9_1	0.000000
+S3:g1k_9_2	0.000000
+S3:g2k_0_1	0.000000
+S3:g2k_0_2	0.000000
+S3:g2k_1_1	0.000000
+S3:g2k_1_2	0.000000
+S3:g2k_2_1	0.000000
+S3:g2k_2_2	0.000000
+S3:g2k_3_1	0.000000
+S3:g2k_3_2	0.000000
+S3:g2k_4_1	0.000000
+S3:g2k_4_2	0.000000
+S3:g2k_5_1	0.000000
+S3:g2k_5_2	0.000000
+S3:g2k_6_1	0.000000
+S3:g2k_6_2	0.000000
+S3:g2k_7_1	0.000000
+S3:g2k_7_2	0.000000
+S3:g2k_8_1	0.000000
+S3:g2k_8_2	0.000000
+S3:g2k_9_1	0.000000
+S3:g2k_9_2	0.000000
+S4:g1k_0_1	0.000000
+S4:g1k_0_2	0.000000
+S4:g1k_1_1	0.000000
+S4:g1k_1_2	0.000000
+S4:g1k_2_1	0.000000
+S4:g1k_2_2	0.000000
+S4:g1k_3_1	0.000000
+S4:g1k_3_2	0.000000
+S4:g1k_4_1	0.000000
+S4:g1k_4_2	0.000000
+S4:g1k_5_1	0.000000
+S4:g1k_5_2	0.000000
+S4:g1k_6_1	0.000000
+S4:g1k_6_2	0.000000
+S4:g1k_7_1	0.000000
+S4:g1k_7_2	0.000000
+S4:g1k_8_1	0.000000
+S4:g1k_8_2	0.000000
+S4:g1k_9_1	0.000000
+S4:g1k_9_2	0.000000
+S4:g2k_0_1	0.000000
+S4:g2k_0_2	0.000000
+S4:g2k_1_1	0.000000
+S4:g2k_1_2	0.000000
+S4:g2k_2_1	0.000000
+S4:g2k_2_2	0.000000
+S4:g2k_3_1	0.000000
+S4:g2k_3_2	0.000000
+S4:g2k_4_1	0.000000
+S4:g2k_4_2	0.000000
+S4:g2k_5_1	0.000000
+S4:g2k_5_2	0.000000
+S4:g2k_6_1	0.000000
+S4:g2k_6_2	0.000000
+S4:g2k_7_1	0.000000
+S4:g2k_7_2	0.000000
+S4:g2k_8_1	0.000000
+S4:g2k_8_2	0.000000
+S4:g2k_9_1	0.000000
+S4:g2k_9_2	0.000000
+S5:g1k_0_1	0.000000
+S5:g1k_0_2	0.000000
+S5:g1k_1_1	0.000000
+S5:g1k_1_2	0.000000
+S5:g1k_2_1	0.000000
+S5:g1k_2_2	0.000000
+S5:g1k_3_1	0.000000
+S5:g1k_3_2	0.000000
+S5:g1k_4_1	0.000000
+S5:g1k_4_2	0.000000
+S5:g1k_5_1	0.000000
+S5:g1k_5_2	0.000000
+S5:g1k_6_1	0.000000
+S5:g1k_6_2	0.000000
+S5:g1k_7_1	0.000000
+S5:g1k_7_2	0.000000
+S5:g1k_8_1	0.000000
+S5:g1k_8_2	0.000000
+S5:g1k_9_1	0.000000
+S5:g1k_9_2	0.000000
+S5:g2k_0_1	0.000000
+S5:g2k_0_2	0.000000
+S5:g2k_1_1	0.000000
+S5:g2k_1_2	0.000000
+S5:g2k_2_1	0.000000
+S5:g2k_2_2	0.000000
+S5:g2k_3_1	0.000000
+S5:g2k_3_2	0.000000
+S5:g2k_4_1	0.000000
+S5:g2k_4_2	0.000000
+S5:g2k_5_1	0.000000
+S5:g2k_5_2	0.000000
+S5:g2k_6_1	0.000000
+S5:g2k_6_2	0.000000
+S5:g2k_7_1	0.000000
+S5:g2k_7_2	0.000000
+S5:g2k_8_1	0.000000
+S5:g2k_8_2	0.000000
+S5:g2k_9_1	0.000000
+S5:g2k_9_2	0.000000
+S6:g1k_0_1	0.000000
+S6:g1k_0_2	0.000000
+S6:g1k_1_1	0.000000
+S6:g1k_1_2	0.000000
+S6:g1k_2_1	0.000000
+S6:g1k_2_2	0.000000
+S6:g1k_3_1	0.000000
+S6:g1k_3_2	0.000000
+S6:g1k_4_1	0.000000
+S6:g1k_4_2	0.000000
+S6:g1k_5_1	0.000000
+S6:g1k_5_2	0.000000
+S6:g1k_6_1	0.000000
+S6:g1k_6_2	0.000000
+S6:g1k_7_1	0.000000
+S6:g1k_7_2	0.000000
+S6:g1k_8_1	0.000000
+S6:g1k_8_2	0.000000
+S6:g1k_9_1	0.000000
+S6:g1k_9_2	0.000000
+S6:g2k_0_1	0.000000
+S6:g2k_0_2	0.000000
+S6:g2k_1_1	0.000000
+S6:g2k_1_2	0.000000
+S6:g2k_2_1	0.000000
+S6:g2k_2_2	0.000000
+S6:g2k_3_1	0.000000
+S6:g2k_3_2	0.000000
+S6:g2k_4_1	0.000000
+S6:g2k_4_2	0.000000
+S6:g2k_5_1	0.000000
+S6:g2k_5_2	0.000000
+S6:g2k_6_1	0.000000
+S6:g2k_6_2	0.000000
+S6:g2k_7_1	0.000000
+S6:g2k_7_2	0.000000
+S6:g2k_8_1	0.000000
+S6:g2k_8_2	0.000000
+S6:g2k_9_1	0.000000
+S6:g2k_9_2	0.000000
+S7:g1k_0_1	0.000000
+S7:g1k_0_2	0.000000
+S7:g1k_1_1	0.000000
+S7:g1k_1_2	0.000000
+S7:g1k_2_1	0.000000
+S7:g1k_2_2	0.000000
+S7:g1k_3_1	0.000000
+S7:g1k_3_2	0.000000
+S7:g1k_4_1	0.000000
+S7:g1k_4_2	0.000000
+S7:g1k_5_1	0.000000
+S7:g1k_5_2	0.000000
+S7:g1k_6_1	0.000000
+S7:g1k_6_2	0.000000
+S7:g1k_7_1	0.000000
+S7:g1k_7_2	0.000000
+S7:g1k_8_1	0.000000
+S7:g1k_8_2	0.000000
+S7:g1k_9_1	0.000000
+S7:g1k_9_2	0.000000
+S7:g2k_0_1	0.000000
+S7:g2k_0_2	0.000000
+S7:g2k_1_1	0.000000
+S7:g2k_1_2	0.000000
+S7:g2k_2_1	0.000000
+S7:g2k_2_2	0.000000
+S7:g2k_3_1	0.000000
+S7:g2k_3_2	0.000000
+S7:g2k_4_1	0.000000
+S7:g2k_4_2	0.000000
+S7:g2k_5_1	0.000000
+S7:g2k_5_2	0.000000
+S7:g2k_6_1	0.000000
+S7:g2k_6_2	0.000000
+S7:g2k_7_1	0.000000
+S7:g2k_7_2	0.000000
+S7:g2k_8_1	0.000000
+S7:g2k_8_2	0.000000
+S7:g2k_9_1	0.000000
+S7:g2k_9_2	0.000000
+S8:g1k_0_1	0.000000
+S8:g1k_0_2	0.000000
+S8:g1k_1_1	0.000000
+S8:g1k_1_2	0.000000
+S8:g1k_2_1	0.000000
+S8:g1k_2_2	0.000000
+S8:g1k_3_1	0.000000
+S8:g1k_3_2	0.000000
+S8:g1k_4_1	0.000000
+S8:g1k_4_2	0.000000
+S8:g1k_5_1	0.000000
+S8:g1k_5_2	0.000000
+S8:g1k_6_1	0.000000
+S8:g1k_6_2	0.000000
+S8:g1k_7_1	0.000000
+S8:g1k_7_2	0.000000
+S8:g1k_8_1	0.000000
+S8:g1k_8_2	0.000000
+S8:g1k_9_1	0.000000
+S8:g1k_9_2	0.000000
+S8:g2k_0_1	0.000000
+S8:g2k_0_2	0.000000
+S8:g2k_1_1	0.000000
+S8:g2k_1_2	0.000000
+S8:g2k_2_1	0.000000
+S8:g2k_2_2	0.000000
+S8:g2k_3_1	0.000000
+S8:g2k_3_2	0.000000
+S8:g2k_4_1	0.000000
+S8:g2k_4_2	0.000000
+S8:g2k_5_1	0.000000
+S8:g2k_5_2	0.000000
+S8:g2k_6_1	0.000000
+S8:g2k_6_2	0.000000
+S8:g2k_7_1	0.000000
+S8:g2k_7_2	0.000000
+S8:g2k_8_1	0.000000
+S8:g2k_8_2	0.000000
+S8:g2k_9_1	0.000000
+S8:g2k_9_2	0.000000
+S9:g1k_0_1	0.000000
+S9:g1k_0_2	0.000000
+S9:g1k_1_1	0.000000
+S9:g1k_1_2	0.000000
+S9:g1k_2_1	0.000000
+S9:g1k_2_2	0.000000
+S9:g1k_3_1	0.000000
+S9:g1k_3_2	0.000000
+S9:g1k_4_1	0.000000
+S9:g1k_4_2	0.000000
+S9:g1k_5_1	0.000000
+S9:g1k_5_2	0.000000
+S9:g1k_6_1	0.000000
+S9:g1k_6_2	0.000000
+S9:g1k_7_1	0.000000
+S9:g1k_7_2	0.000000
+S9:g1k_8_1	0.000000
+S9:g1k_8_2	0.000000
+S9:g1k_9_1	0.000000
+S9:g1k_9_2	0.000000
+S9:g2k_0_1	0.000000
+S9:g2k_0_2	0.000000
+S9:g2k_1_1	0.000000
+S9:g2k_1_2	0.000000
+S9:g2k_2_1	0.000000
+S9:g2k_2_2	0.000000
+S9:g2k_3_1	0.000000
+S9:g2k_3_2	0.000000
+S9:g2k_4_1	0.000000
+S9:g2k_4_2	0.000000
+S9:g2k_5_1	0.000000
+S9:g2k_5_2	0.000000
+S9:g2k_6_1	0.000000
+S9:g2k_6_2	0.000000
+S9:g2k_7_1	0.000000
+S9:g2k_7_2	0.000000
+S9:g2k_8_1	0.000000
+S9:g2k_8_2	0.000000
+S9:g2k_9_1	0.000000
+S9:g2k_9_2	0.000000
+S10:g1k_0_1	0.000000
+S10:g1k_0_2	0.000000
+S10:g1k_1_1	0.000000
+S10:g1k_1_2	0.000000
+S10:g1k_2_1	0.000000
+S10:g1k_2_2	0.000000
+S10:g1k_3_1	0.000000
+S10:g1k_3_2	0.000000
+S10:g1k_4_1	0.000000
+S10:g1k_4_2	0.000000
+S10:g1k_5_1	0.000000
+S10:g1k_5_2	0.000000
+S10:g1k_6_1	0.000000
+S10:g1k_6_2	0.000000
+S10:g1k_7_1	0.000000
+S10:g1k_7_2	0.000000
+S10:g1k_8_1	0.000000
+S10:g1k_8_2	0.000000
+S10:g1k_9_1	0.000000
+S10:g1k_9_2	0.000000
+S10:g2k_0_1	0.000000
+S10:g2k_0_2	0.000000
+S10:g2k_1_1	0.000000
+S10:g2k_1_2	0.000000
+S10:g2k_2_1	0.000000
+S10:g2k_2_2	0.000000
+S10:g2k_3_1	0.000000
+S10:g2k_3_2	0.000000
+S10:g2k_4_1	0.000000
+S10:g2k_4_2	0.000000
+S10:g2k_5_1	0.000000
+S10:g2k_5_2	0.000000
+S10:g2k_6_1	0.000000
+S10:g2k_6_2	0.000000
+S10:g2k_7_1	0.000000
+S10:g2k_7_2	0.000000
+S10:g2k_8_1	0.000000
+S10:g2k_8_2	0.000000
+S10:g2k_9_1	0.000000
+S10:g2k_9_2	0.000000
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/strobealign_5.txt	Sun Aug 10 11:39:49 2025 +0000
@@ -0,0 +1,400 @@
+S1:g1k_0_1	0.000000
+S1:g1k_0_2	0.000000
+S1:g1k_1_1	0.000000
+S1:g1k_1_2	0.000000
+S1:g1k_2_1	0.000000
+S1:g1k_2_2	0.000000
+S1:g1k_3_1	0.000000
+S1:g1k_3_2	0.000000
+S1:g1k_4_1	0.000000
+S1:g1k_4_2	0.000000
+S1:g1k_5_1	0.000000
+S1:g1k_5_2	0.000000
+S1:g1k_6_1	0.000000
+S1:g1k_6_2	0.000000
+S1:g1k_7_1	0.000000
+S1:g1k_7_2	0.000000
+S1:g1k_8_1	0.000000
+S1:g1k_8_2	0.000000
+S1:g1k_9_1	0.000000
+S1:g1k_9_2	0.000000
+S1:g2k_0_1	0.000000
+S1:g2k_0_2	0.000000
+S1:g2k_1_1	0.000000
+S1:g2k_1_2	0.000000
+S1:g2k_2_1	0.000000
+S1:g2k_2_2	0.000000
+S1:g2k_3_1	0.000000
+S1:g2k_3_2	0.000000
+S1:g2k_4_1	0.000000
+S1:g2k_4_2	0.000000
+S1:g2k_5_1	0.000000
+S1:g2k_5_2	0.000000
+S1:g2k_6_1	0.000000
+S1:g2k_6_2	0.000000
+S1:g2k_7_1	0.000000
+S1:g2k_7_2	0.000000
+S1:g2k_8_1	0.000000
+S1:g2k_8_2	0.000000
+S1:g2k_9_1	0.000000
+S1:g2k_9_2	0.000000
+S2:g1k_0_1	0.000000
+S2:g1k_0_2	0.000000
+S2:g1k_1_1	0.000000
+S2:g1k_1_2	0.000000
+S2:g1k_2_1	0.000000
+S2:g1k_2_2	0.000000
+S2:g1k_3_1	0.000000
+S2:g1k_3_2	0.000000
+S2:g1k_4_1	0.000000
+S2:g1k_4_2	0.000000
+S2:g1k_5_1	0.000000
+S2:g1k_5_2	0.000000
+S2:g1k_6_1	0.000000
+S2:g1k_6_2	0.000000
+S2:g1k_7_1	0.000000
+S2:g1k_7_2	0.000000
+S2:g1k_8_1	0.000000
+S2:g1k_8_2	0.000000
+S2:g1k_9_1	0.000000
+S2:g1k_9_2	0.000000
+S2:g2k_0_1	0.000000
+S2:g2k_0_2	0.000000
+S2:g2k_1_1	0.000000
+S2:g2k_1_2	0.000000
+S2:g2k_2_1	0.000000
+S2:g2k_2_2	0.000000
+S2:g2k_3_1	0.000000
+S2:g2k_3_2	0.000000
+S2:g2k_4_1	0.000000
+S2:g2k_4_2	0.000000
+S2:g2k_5_1	0.000000
+S2:g2k_5_2	0.000000
+S2:g2k_6_1	0.000000
+S2:g2k_6_2	0.000000
+S2:g2k_7_1	0.000000
+S2:g2k_7_2	0.000000
+S2:g2k_8_1	0.000000
+S2:g2k_8_2	0.000000
+S2:g2k_9_1	0.000000
+S2:g2k_9_2	0.000000
+S3:g1k_0_1	0.000000
+S3:g1k_0_2	0.000000
+S3:g1k_1_1	0.000000
+S3:g1k_1_2	0.000000
+S3:g1k_2_1	0.000000
+S3:g1k_2_2	0.000000
+S3:g1k_3_1	0.000000
+S3:g1k_3_2	0.000000
+S3:g1k_4_1	0.000000
+S3:g1k_4_2	0.000000
+S3:g1k_5_1	0.000000
+S3:g1k_5_2	0.000000
+S3:g1k_6_1	0.000000
+S3:g1k_6_2	0.000000
+S3:g1k_7_1	0.000000
+S3:g1k_7_2	0.000000
+S3:g1k_8_1	0.000000
+S3:g1k_8_2	0.000000
+S3:g1k_9_1	0.000000
+S3:g1k_9_2	0.000000
+S3:g2k_0_1	0.000000
+S3:g2k_0_2	0.000000
+S3:g2k_1_1	0.000000
+S3:g2k_1_2	0.000000
+S3:g2k_2_1	0.000000
+S3:g2k_2_2	0.000000
+S3:g2k_3_1	0.000000
+S3:g2k_3_2	0.000000
+S3:g2k_4_1	0.000000
+S3:g2k_4_2	0.000000
+S3:g2k_5_1	0.000000
+S3:g2k_5_2	0.000000
+S3:g2k_6_1	0.000000
+S3:g2k_6_2	0.000000
+S3:g2k_7_1	0.000000
+S3:g2k_7_2	0.000000
+S3:g2k_8_1	0.000000
+S3:g2k_8_2	0.000000
+S3:g2k_9_1	0.000000
+S3:g2k_9_2	0.000000
+S4:g1k_0_1	0.000000
+S4:g1k_0_2	0.000000
+S4:g1k_1_1	0.000000
+S4:g1k_1_2	0.000000
+S4:g1k_2_1	0.000000
+S4:g1k_2_2	0.000000
+S4:g1k_3_1	0.000000
+S4:g1k_3_2	0.000000
+S4:g1k_4_1	0.000000
+S4:g1k_4_2	0.000000
+S4:g1k_5_1	0.000000
+S4:g1k_5_2	0.000000
+S4:g1k_6_1	0.000000
+S4:g1k_6_2	0.000000
+S4:g1k_7_1	0.000000
+S4:g1k_7_2	0.000000
+S4:g1k_8_1	0.000000
+S4:g1k_8_2	0.000000
+S4:g1k_9_1	0.000000
+S4:g1k_9_2	0.000000
+S4:g2k_0_1	0.000000
+S4:g2k_0_2	0.000000
+S4:g2k_1_1	0.000000
+S4:g2k_1_2	0.000000
+S4:g2k_2_1	0.000000
+S4:g2k_2_2	0.000000
+S4:g2k_3_1	0.000000
+S4:g2k_3_2	0.000000
+S4:g2k_4_1	0.000000
+S4:g2k_4_2	0.000000
+S4:g2k_5_1	0.000000
+S4:g2k_5_2	0.000000
+S4:g2k_6_1	0.000000
+S4:g2k_6_2	0.000000
+S4:g2k_7_1	0.000000
+S4:g2k_7_2	0.000000
+S4:g2k_8_1	0.000000
+S4:g2k_8_2	0.000000
+S4:g2k_9_1	0.000000
+S4:g2k_9_2	0.000000
+S5:g1k_0_1	0.000000
+S5:g1k_0_2	0.000000
+S5:g1k_1_1	0.000000
+S5:g1k_1_2	0.000000
+S5:g1k_2_1	0.000000
+S5:g1k_2_2	0.000000
+S5:g1k_3_1	0.000000
+S5:g1k_3_2	0.000000
+S5:g1k_4_1	0.000000
+S5:g1k_4_2	0.000000
+S5:g1k_5_1	0.000000
+S5:g1k_5_2	0.000000
+S5:g1k_6_1	0.000000
+S5:g1k_6_2	0.000000
+S5:g1k_7_1	0.000000
+S5:g1k_7_2	0.000000
+S5:g1k_8_1	0.000000
+S5:g1k_8_2	0.000000
+S5:g1k_9_1	0.000000
+S5:g1k_9_2	0.000000
+S5:g2k_0_1	0.000000
+S5:g2k_0_2	0.000000
+S5:g2k_1_1	0.000000
+S5:g2k_1_2	0.000000
+S5:g2k_2_1	0.000000
+S5:g2k_2_2	0.000000
+S5:g2k_3_1	0.000000
+S5:g2k_3_2	0.000000
+S5:g2k_4_1	0.000000
+S5:g2k_4_2	0.000000
+S5:g2k_5_1	0.000000
+S5:g2k_5_2	0.000000
+S5:g2k_6_1	0.000000
+S5:g2k_6_2	0.000000
+S5:g2k_7_1	0.000000
+S5:g2k_7_2	0.000000
+S5:g2k_8_1	0.000000
+S5:g2k_8_2	0.000000
+S5:g2k_9_1	0.000000
+S5:g2k_9_2	0.000000
+S6:g1k_0_1	0.000000
+S6:g1k_0_2	0.000000
+S6:g1k_1_1	0.000000
+S6:g1k_1_2	0.000000
+S6:g1k_2_1	0.000000
+S6:g1k_2_2	0.000000
+S6:g1k_3_1	0.000000
+S6:g1k_3_2	0.000000
+S6:g1k_4_1	0.000000
+S6:g1k_4_2	0.000000
+S6:g1k_5_1	0.000000
+S6:g1k_5_2	0.000000
+S6:g1k_6_1	0.000000
+S6:g1k_6_2	0.000000
+S6:g1k_7_1	0.000000
+S6:g1k_7_2	0.000000
+S6:g1k_8_1	0.000000
+S6:g1k_8_2	0.000000
+S6:g1k_9_1	0.000000
+S6:g1k_9_2	0.000000
+S6:g2k_0_1	0.000000
+S6:g2k_0_2	0.000000
+S6:g2k_1_1	0.000000
+S6:g2k_1_2	0.000000
+S6:g2k_2_1	0.000000
+S6:g2k_2_2	0.000000
+S6:g2k_3_1	0.000000
+S6:g2k_3_2	0.000000
+S6:g2k_4_1	0.000000
+S6:g2k_4_2	0.000000
+S6:g2k_5_1	0.000000
+S6:g2k_5_2	0.000000
+S6:g2k_6_1	0.000000
+S6:g2k_6_2	0.000000
+S6:g2k_7_1	0.000000
+S6:g2k_7_2	0.000000
+S6:g2k_8_1	0.000000
+S6:g2k_8_2	0.000000
+S6:g2k_9_1	0.000000
+S6:g2k_9_2	0.000000
+S7:g1k_0_1	0.000000
+S7:g1k_0_2	0.000000
+S7:g1k_1_1	0.000000
+S7:g1k_1_2	0.000000
+S7:g1k_2_1	0.000000
+S7:g1k_2_2	0.000000
+S7:g1k_3_1	0.000000
+S7:g1k_3_2	0.000000
+S7:g1k_4_1	0.000000
+S7:g1k_4_2	0.000000
+S7:g1k_5_1	0.000000
+S7:g1k_5_2	0.000000
+S7:g1k_6_1	0.000000
+S7:g1k_6_2	0.000000
+S7:g1k_7_1	0.000000
+S7:g1k_7_2	0.000000
+S7:g1k_8_1	0.000000
+S7:g1k_8_2	0.000000
+S7:g1k_9_1	0.000000
+S7:g1k_9_2	0.000000
+S7:g2k_0_1	0.000000
+S7:g2k_0_2	0.000000
+S7:g2k_1_1	0.000000
+S7:g2k_1_2	0.000000
+S7:g2k_2_1	0.000000
+S7:g2k_2_2	0.000000
+S7:g2k_3_1	0.000000
+S7:g2k_3_2	0.000000
+S7:g2k_4_1	0.000000
+S7:g2k_4_2	0.000000
+S7:g2k_5_1	0.000000
+S7:g2k_5_2	0.000000
+S7:g2k_6_1	0.000000
+S7:g2k_6_2	0.000000
+S7:g2k_7_1	0.000000
+S7:g2k_7_2	0.000000
+S7:g2k_8_1	0.000000
+S7:g2k_8_2	0.000000
+S7:g2k_9_1	0.000000
+S7:g2k_9_2	0.000000
+S8:g1k_0_1	0.000000
+S8:g1k_0_2	0.000000
+S8:g1k_1_1	0.000000
+S8:g1k_1_2	0.000000
+S8:g1k_2_1	0.000000
+S8:g1k_2_2	0.000000
+S8:g1k_3_1	0.000000
+S8:g1k_3_2	0.000000
+S8:g1k_4_1	0.000000
+S8:g1k_4_2	0.000000
+S8:g1k_5_1	0.000000
+S8:g1k_5_2	0.000000
+S8:g1k_6_1	0.000000
+S8:g1k_6_2	0.000000
+S8:g1k_7_1	0.000000
+S8:g1k_7_2	0.000000
+S8:g1k_8_1	0.000000
+S8:g1k_8_2	0.000000
+S8:g1k_9_1	0.000000
+S8:g1k_9_2	0.000000
+S8:g2k_0_1	0.000000
+S8:g2k_0_2	0.000000
+S8:g2k_1_1	0.000000
+S8:g2k_1_2	0.000000
+S8:g2k_2_1	0.000000
+S8:g2k_2_2	0.000000
+S8:g2k_3_1	0.000000
+S8:g2k_3_2	0.000000
+S8:g2k_4_1	0.000000
+S8:g2k_4_2	0.000000
+S8:g2k_5_1	0.000000
+S8:g2k_5_2	0.000000
+S8:g2k_6_1	0.000000
+S8:g2k_6_2	0.000000
+S8:g2k_7_1	0.000000
+S8:g2k_7_2	0.000000
+S8:g2k_8_1	0.000000
+S8:g2k_8_2	0.000000
+S8:g2k_9_1	0.000000
+S8:g2k_9_2	0.000000
+S9:g1k_0_1	0.000000
+S9:g1k_0_2	0.000000
+S9:g1k_1_1	0.000000
+S9:g1k_1_2	0.000000
+S9:g1k_2_1	0.000000
+S9:g1k_2_2	0.000000
+S9:g1k_3_1	0.000000
+S9:g1k_3_2	0.000000
+S9:g1k_4_1	0.000000
+S9:g1k_4_2	0.000000
+S9:g1k_5_1	0.000000
+S9:g1k_5_2	0.000000
+S9:g1k_6_1	0.000000
+S9:g1k_6_2	0.000000
+S9:g1k_7_1	0.000000
+S9:g1k_7_2	0.000000
+S9:g1k_8_1	0.000000
+S9:g1k_8_2	0.000000
+S9:g1k_9_1	0.000000
+S9:g1k_9_2	0.000000
+S9:g2k_0_1	0.000000
+S9:g2k_0_2	0.000000
+S9:g2k_1_1	0.000000
+S9:g2k_1_2	0.000000
+S9:g2k_2_1	0.000000
+S9:g2k_2_2	0.000000
+S9:g2k_3_1	0.000000
+S9:g2k_3_2	0.000000
+S9:g2k_4_1	0.000000
+S9:g2k_4_2	0.000000
+S9:g2k_5_1	0.000000
+S9:g2k_5_2	0.000000
+S9:g2k_6_1	0.000000
+S9:g2k_6_2	0.000000
+S9:g2k_7_1	0.000000
+S9:g2k_7_2	0.000000
+S9:g2k_8_1	0.000000
+S9:g2k_8_2	0.000000
+S9:g2k_9_1	0.000000
+S9:g2k_9_2	0.000000
+S10:g1k_0_1	0.000000
+S10:g1k_0_2	0.000000
+S10:g1k_1_1	0.000000
+S10:g1k_1_2	0.000000
+S10:g1k_2_1	0.000000
+S10:g1k_2_2	0.000000
+S10:g1k_3_1	0.000000
+S10:g1k_3_2	0.000000
+S10:g1k_4_1	0.000000
+S10:g1k_4_2	0.000000
+S10:g1k_5_1	0.000000
+S10:g1k_5_2	0.000000
+S10:g1k_6_1	0.000000
+S10:g1k_6_2	0.000000
+S10:g1k_7_1	0.000000
+S10:g1k_7_2	0.000000
+S10:g1k_8_1	0.000000
+S10:g1k_8_2	0.000000
+S10:g1k_9_1	0.000000
+S10:g1k_9_2	0.000000
+S10:g2k_0_1	0.000000
+S10:g2k_0_2	0.000000
+S10:g2k_1_1	0.000000
+S10:g2k_1_2	0.000000
+S10:g2k_2_1	0.000000
+S10:g2k_2_2	0.000000
+S10:g2k_3_1	0.000000
+S10:g2k_3_2	0.000000
+S10:g2k_4_1	0.000000
+S10:g2k_4_2	0.000000
+S10:g2k_5_1	0.000000
+S10:g2k_5_2	0.000000
+S10:g2k_6_1	0.000000
+S10:g2k_6_2	0.000000
+S10:g2k_7_1	0.000000
+S10:g2k_7_2	0.000000
+S10:g2k_8_1	0.000000
+S10:g2k_8_2	0.000000
+S10:g2k_9_1	0.000000
+S10:g2k_9_2	0.000000