@@ -53,23 +53,24 @@ jobs:
5353
5454    steps :
5555    - name : make 
56-       run : |  
57-         gmake -j32 CXX=g++-${{matrix.compiler}} CC=gcc-${{matrix.compiler}} PLATFORM=${{ matrix.platform }} LEIDEN=true STATIC_LINK=true 
58-         cp ./bin/clusty ./clusty-${{matrix.compiler}} 
59-         gmake clean 
56+       run : gmake -j32 CXX=g++-${{matrix.compiler}} CC=gcc-${{matrix.compiler}} PLATFORM=${{ matrix.platform }} LEIDEN=true STATIC_LINK=true 
57+     - name : copy executable     
58+       run : cp ./bin/clusty ./clusty-${{matrix.compiler}} 
59+     - name : clean   
60+       run : gmake clean 
61+ 
6062
6163  # #######################################################################################                 
62-   toy :
63-     name : Toy  example
64+   synth :
65+     name : Synthetic  example
6466    needs : make 
6567    strategy :
6668      fail-fast : false 
6769      matrix :
68-         algo : [single] 
6970        machine : [x64_linux, x64_mac, arm64_linux, arm64_mac] 
7071        compiler : [11, 12] 
7172        include :
72-         - {algo: single,  machine: x64_linux, compiler: 14} 
73+         - {machine: x64_linux, compiler: 14} 
7374
7475    runs-on : [self-hosted, clusty, '${{ matrix.machine }}']     
7576
@@ -78,16 +79,49 @@ jobs:
7879      run :  ./clusty-${{matrix.compiler}} 
7980    - name : version 
8081      run :  ./clusty-${{matrix.compiler}} --version 
81-     - name : ${{matrix.algo}} (no representatives, numeric ids, singletons in object file) 
82+ 
83+     
84+     - name : numeric, w/o representatives, w/o objects 
8285      run : | 
83-         ./clusty-${{matrix.compiler}} --objects-file ./test/toy.ids.tsv --algo ${{matrix.algo}} --id-cols idx1 idx2 --distance-col tani --similarity --numeric-ids --min tani 0.95 ./test/toy.ani.tsv toy.${{matrix.algo}}.tsv 
84-         python3 ./test/cmp.py toy.${{matrix.algo}}.tsv ./test/toy.${{matrix.algo}}.tsv 
85-          
86- # #######################################################################################        
87-          
86+         ./clusty-${{matrix.compiler}} --id-cols id1 id2 --distance-col ani --similarity --min ani 0.70 --numeric-ids ./test/synth/synth.ani numeric.clusty 
87+         cmp ./test/synth/numeric.clusty numeric.clusty  
88+ name : numeric, w/o representatives, w/ objects 
89+       run : | 
90+         ./clusty-${{matrix.compiler}} --id-cols id1 id2 --distance-col ani --similarity --min ani 0.70 --numeric-ids ./test/synth/synth.ani numeric.objs.clusty --objects-file ./test/synth/synth.ids  
91+         cmp ./test/synth/numeric.objs.clusty numeric.objs.clusty     
92+ name : numeric, w/ representatives, w/o objects 
93+       run : | 
94+         ./clusty-${{matrix.compiler}} --id-cols id1 id2 --distance-col ani --similarity --min ani 0.70 --numeric-ids ./test/synth/synth.ani numeric.reps.clusty  --out-representatives   
95+         cmp ./test/synth/numeric.reps.clusty numeric.reps.clusty    
96+ name : numeric, w/ representatives, w/ objects 
97+       run : | 
98+         ./clusty-${{matrix.compiler}} --id-cols id1 id2 --distance-col ani --similarity --min ani 0.70 --numeric-ids ./test/synth/synth.ani numeric.objs.reps.clusty  --objects-file ./test/synth/synth.ids --out-representatives   
99+         cmp ./test/synth/numeric.objs.reps.clusty numeric.objs.reps.clusty 
100+ 
101+              
102+ name : named, w/o representatives, w/o objects 
103+       run : | 
104+         ./clusty-${{matrix.compiler}} --id-cols name1 name2 --distance-col ani --similarity --min ani 0.70 ./test/synth/synth.ani named.clusty 
105+         cmp ./test/synth/named.clusty named.clusty     
106+ name : named, w/o representatives, w/ objects 
107+       run : | 
108+         ./clusty-${{matrix.compiler}} --id-cols name1 name2 --distance-col ani --similarity --min ani 0.70 ./test/synth/synth.ani named.objs.clusty --objects-file ./test/synth/synth.ids  
109+         cmp ./test/synth/named.objs.clusty named.objs.clusty       
110+ name : named, w/ representatives, w/o objects 
111+       run : | 
112+         ./clusty-${{matrix.compiler}} --id-cols name1 name2 --distance-col ani --similarity --min ani 0.70 ./test/synth/synth.ani named.reps.clusty  --out-representatives   
113+         cmp ./test/synth/named.reps.clusty named.reps.clusty 
114+ name : named, w/ representatives, w/ objects 
115+       run : | 
116+         ./clusty-${{matrix.compiler}} --id-cols name1 name2 --distance-col ani --similarity --min ani 0.70 ./test/synth/synth.ani named.objs.reps.clusty  --objects-file ./test/synth/synth.ids --out-representatives   
117+         cmp ./test/synth/named.objs.reps.clusty named.objs.reps.clusty 
118+ 
119+ 
120+   # #######################################################################################                 
121+      
88122  vir61-linkage :
89123    name : Vir61 
90-     needs : toy 
124+     needs : synth 
91125    strategy :
92126      fail-fast : false 
93127      matrix :
@@ -104,14 +138,19 @@ jobs:
104138    runs-on : [self-hosted, clusty, '${{ matrix.machine }}']     
105139
106140    steps :
107-     - name : ${{matrix.algo}}, ${{matrix.threshold}} (with representatives, reordered columns) 
141+     - name : ${{matrix.algo}}, ${{matrix.threshold}} (w/o representatives, reordered columns) 
142+       run : | 
143+         ./clusty-${{matrix.compiler}} --algo ${{matrix.algo}} --objects-file ./test/vir61/vir61.list --similarity --min ani 0.${{matrix.threshold}} --id-cols id2 id1 --distance-col ani ./test/vir61/vir61.ani vir61.${{matrix.algo}}.${{matrix.threshold}} 
144+         python3 ./test/cmp.py vir61.${{matrix.algo}}.${{matrix.threshold}} ./test/vir61/vir61.${{matrix.algo}}.${{matrix.threshold}}.python.csv 
145+ 
146+     - name : ${{matrix.algo}}, ${{matrix.threshold}} (w/ representatives, reordered columns) 
108147      run : | 
109-         ./clusty-${{matrix.compiler}} --algo ${{matrix.algo}} --objects-file ./test/vir61.list --similarity --min ani 0.${{matrix.threshold}} --id-cols id2 id1 --distance-col ani ./test/vir61.ani vir61.${{matrix.algo}}.${{matrix.threshold}} --out-representatives 
110-         python3 ./test/cmp.py vir61.${{matrix.algo}}.${{matrix.threshold}} ./test/vir61.${{matrix.algo}}.${{matrix.threshold}}.python.csv 
148+         ./clusty-${{matrix.compiler}} --algo ${{matrix.algo}} --objects-file ./test/vir61/vir61 .list --similarity --min ani 0.${{matrix.threshold}} --id-cols id2 id1 --distance-col ani ./test/vir61/vir61 .ani vir61.${{matrix.algo}}.${{matrix.threshold}}.reps  --out-representatives 
149+         python3 ./test/cmp.py vir61.${{matrix.algo}}.${{matrix.threshold}}.reps  ./test/vir61 /vir61.${{matrix.algo}}.${{matrix.threshold}}.python.csv 
111150
112151  # #######################################################################################   
113152  ictv-linkage :
114-     name : ICTV (single and complete versus  python clusterings)  
153+     name : ICTV python ref  
115154    needs : vir61-linkage 
116155    strategy :
117156      fail-fast : false 
@@ -129,35 +168,36 @@ jobs:
129168    runs-on : [self-hosted, clusty, '${{ matrix.machine }}']     
130169
131170    steps :
132-     - name : ${{matrix.algo}}, ${{matrix.threshold}} (no  representatives) 
171+     - name : ${{matrix.algo}}, ${{matrix.threshold}} (w/o  representatives) 
133172      run : | 
134-         ./clusty-${{matrix.compiler}} --algo ${{matrix.algo}} --objects-file ./test/ictv.list --similarity --min ani 0.${{matrix.threshold}} ./test/ictv.ani ictv.${{matrix.algo}}.${{matrix.threshold}} 
135-         python3 ./test/cmp.py ictv.${{matrix.algo}}.${{matrix.threshold}} ./test/ictv.${{matrix.algo}}.${{matrix.threshold}}.python.csv 
173+         ./clusty-${{matrix.compiler}} --algo ${{matrix.algo}} --objects-file ./test/ictv/ictv .list --similarity --min ani 0.${{matrix.threshold}} ./test/ictv /ictv.ani ictv.${{matrix.algo}}.${{matrix.threshold}} 
174+         python3 ./test/cmp.py ictv.${{matrix.algo}}.${{matrix.threshold}} ./test/ictv/ictv .${{matrix.algo}}.${{matrix.threshold}}.python.csv 
136175         
137- name : ${{matrix.algo}}, ${{matrix.threshold}} (with  representatives) 
176+ name : ${{matrix.algo}}, ${{matrix.threshold}} (w/  representatives) 
138177      run : | 
139-         ./clusty-${{matrix.compiler}} --algo ${{matrix.algo}} --objects-file ./test/ictv.list --similarity --min ani 0.${{matrix.threshold}} ./test/ictv.ani ictv.${{matrix.algo}}.${{matrix.threshold}}.reps --out-representatives 
140-         python3 ./test/cmp.py ictv.${{matrix.algo}}.${{matrix.threshold}}.reps ./test/ictv.${{matrix.algo}}.${{matrix.threshold}}.python.csv 
178+         ./clusty-${{matrix.compiler}} --algo ${{matrix.algo}} --objects-file ./test/ictv/ictv .list --similarity --min ani 0.${{matrix.threshold}} ./test/ictv /ictv.ani ictv.${{matrix.algo}}.${{matrix.threshold}}.reps --out-representatives 
179+         python3 ./test/cmp.py ictv.${{matrix.algo}}.${{matrix.threshold}}.reps ./test/ictv/ictv .${{matrix.algo}}.${{matrix.threshold}}.python.csv 
141180         
142- name : ${{matrix.algo}}, ${{matrix.threshold}} (no  representatives, numeric ids) 
181+ name : ${{matrix.algo}}, ${{matrix.threshold}} (w/o  representatives, numeric ids) 
143182      run : | 
144-         ./clusty-${{matrix.compiler}} --algo ${{matrix.algo}} --objects-file ./test/ictv.list --similarity --min ani 0.${{matrix.threshold}} ./test/ictv.num ictv.${{matrix.algo}}.${{matrix.threshold}}.num --numeric-ids 
145-         python3 ./test/cmp.py ictv.${{matrix.algo}}.${{matrix.threshold}}.num ./test/ictv.${{matrix.algo}}.${{matrix.threshold}}.python.csv 
183+         ./clusty-${{matrix.compiler}} --algo ${{matrix.algo}} --objects-file ./test/ictv/ictv .list --similarity --min ani 0.${{matrix.threshold}} ./test/ictv /ictv.num ictv.${{matrix.algo}}.${{matrix.threshold}}.num --numeric-ids 
184+         python3 ./test/cmp.py ictv.${{matrix.algo}}.${{matrix.threshold}}.num ./test/ictv/ictv .${{matrix.algo}}.${{matrix.threshold}}.python.csv 
146185         
147- name : ${{matrix.algo}}, ${{matrix.threshold}} (with  representatives, numeric ids) 
186+ name : ${{matrix.algo}}, ${{matrix.threshold}} (w/  representatives, numeric ids) 
148187      run : | 
149-         ./clusty-${{matrix.compiler}} --algo ${{matrix.algo}} --objects-file ./test/ictv.list --similarity --min ani 0.${{matrix.threshold}} ./test/ictv.num ictv.${{matrix.algo}}.${{matrix.threshold}}.reps.num --out-representatives --numeric-ids 
150-         python3 ./test/cmp.py ictv.${{matrix.algo}}.${{matrix.threshold}}.reps.num ./test/ictv.${{matrix.algo}}.${{matrix.threshold}}.python.csv 
188+         ./clusty-${{matrix.compiler}} --algo ${{matrix.algo}} --objects-file ./test/ictv/ictv .list --similarity --min ani 0.${{matrix.threshold}} ./test/ictv /ictv.num ictv.${{matrix.algo}}.${{matrix.threshold}}.reps.num --out-representatives --numeric-ids 
189+         python3 ./test/cmp.py ictv.${{matrix.algo}}.${{matrix.threshold}}.reps.num ./test/ictv/ictv .${{matrix.algo}}.${{matrix.threshold}}.python.csv 
151190
152191  # #######################################################################################   
153192  ictv-all :
154-     name : ICTV ( all algos versus our clusterings)  
193+     name : ICTV all algos 
155194    needs : ictv-linkage 
156195    strategy :
157196      fail-fast : false 
158197      matrix :
159198        algo : [single, complete, uclust, set-cover, cd-hit, leiden] 
160199        threshold : [70] 
200+         threads : [4, 8, 16] 
161201        machine : [x64_linux, x64_mac, arm64_linux, arm64_mac] 
162202        compiler : [12] 
163203        include :
@@ -171,17 +211,17 @@ jobs:
171211    runs-on : [self-hosted, clusty, '${{ matrix.machine }}']     
172212
173213    steps :
174-     - name : ${{matrix.algo}}, ${{matrix.threshold}} (no representatives) 
214+     - name : ${{matrix.algo}}, ${{matrix.threshold}}, ${{matrix.threads}} threads  (no representatives) 
175215      run : | 
176-         ./clusty-${{matrix.compiler}} -- algo ${{matrix.algo}} --objects-file ./test/ictv.list --similarity --min ani 0.${{matrix.threshold}} ./test/ictv.ani ictv.${{matrix.algo}}.${{matrix.threshold}} 
177-         cmp ictv.${{matrix.algo}}.${{matrix.threshold}} ./test/ictv.${{matrix.algo}}.${{matrix.threshold}}.csv 
216+         ./clusty-${{matrix.compiler}} -t ${{matrix.threads}} -- algo ${{matrix.algo}} --objects-file ./test/ictv/ictv .list --similarity --min ani 0.${{matrix.threshold}} ./test/ictv /ictv.ani ictv.${{matrix.algo}}.${{matrix.threshold}} 
217+         cmp ictv.${{matrix.algo}}.${{matrix.threshold}} ./test/ictv/ictv .${{matrix.algo}}.${{matrix.threshold}}.csv 
178218         
179- name : ${{matrix.algo}}, ${{matrix.threshold}} (with representatives) 
219+ name : ${{matrix.algo}}, ${{matrix.threshold}},  ${{matrix.threads}} threads  (with representatives) 
180220      run : | 
181-         ./clusty-${{matrix.compiler}} -- algo ${{matrix.algo}} --objects-file ./test/ictv.list --similarity --min ani 0.${{matrix.threshold}} ./test/ictv.ani ictv.${{matrix.algo}}.${{matrix.threshold}}.reps --out-representatives 
182-         cmp ictv.${{matrix.algo}}.${{matrix.threshold}}.reps ./test/ictv.${{matrix.algo}}.${{matrix.threshold}}.reps.csv 
221+         ./clusty-${{matrix.compiler}} -t ${{matrix.threads}} -- algo ${{matrix.algo}} --objects-file ./test/ictv/ictv .list --similarity --min ani 0.${{matrix.threshold}} ./test/ictv /ictv.ani ictv.${{matrix.algo}}.${{matrix.threshold}}.reps --out-representatives 
222+         cmp ictv.${{matrix.algo}}.${{matrix.threshold}}.reps ./test/ictv/ictv .${{matrix.algo}}.${{matrix.threshold}}.reps.csv 
183223         
184- name : ${{matrix.algo}}, ${{matrix.threshold}} (with representatives, numeric ids) 
224+ name : ${{matrix.algo}}, ${{matrix.threshold}},  ${{matrix.threads}} threads  (with representatives, numeric ids) 
185225      run : | 
186-         ./clusty-${{matrix.compiler}} -- algo ${{matrix.algo}} --objects-file ./test/ictv.list --similarity --min ani 0.${{matrix.threshold}} ./test/ictv.num ictv.${{matrix.algo}}.${{matrix.threshold}}.reps.num --out-representatives --numeric-ids 
187-         cmp ictv.${{matrix.algo}}.${{matrix.threshold}}.reps.num ./test/ictv.${{matrix.algo}}.${{matrix.threshold}}.reps.csv 
226+         ./clusty-${{matrix.compiler}} -t ${{matrix.threads}} -- algo ${{matrix.algo}} --objects-file ./test/ictv/ictv .list --similarity --min ani 0.${{matrix.threshold}} ./test/ictv /ictv.num ictv.${{matrix.algo}}.${{matrix.threshold}}.reps.num --out-representatives --numeric-ids 
227+         cmp ictv.${{matrix.algo}}.${{matrix.threshold}}.reps.num ./test/ictv/ictv .${{matrix.algo}}.${{matrix.threshold}}.reps.csv 
0 commit comments