-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit f130af0
Showing
70 changed files
with
2,167,860 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
name: GitHub Actions CI | ||
|
||
on: | ||
push: | ||
branches: [ main, master, develop ] | ||
paths-ignore: | ||
- '**.md' | ||
workflow_dispatch: | ||
|
||
jobs: | ||
|
||
######################################################################################## | ||
make: | ||
name: Make | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
machine: [ubuntu-latest, macOS-12] | ||
compiler: [g++-11] | ||
runs-on: ['${{ matrix.machine }}'] | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: recursive | ||
|
||
- name: get tags | ||
run: | | ||
cd ./libs/igraph | ||
git fetch --tags origin | ||
- name: make | ||
run: | | ||
make -j32 CXX=${{matrix.compiler}} | ||
cp ./clusty ./clusty-${{matrix.compiler}} | ||
make clean | ||
- name: tar artifacts | ||
run: tar -cvf clusty.tar ./clusty-${{matrix.compiler}} ./test/cmp.py ./test/vir61.* | ||
|
||
- uses: actions/upload-artifact@v2 | ||
with: | ||
name: executable-artifact-${{ matrix.machine }} | ||
path: ./clusty.tar | ||
|
||
######################################################################################## | ||
vir61-linkage: | ||
name: Vir61 | ||
needs: make | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
machine: [ubuntu-latest, macOS-12] | ||
compiler: [g++-11] | ||
algo: [single, complete] | ||
threshold: [95, 70] | ||
|
||
runs-on: ['${{ matrix.machine }}'] | ||
|
||
steps: | ||
- uses: actions/download-artifact@v2 | ||
with: | ||
name: executable-artifact-${{ matrix.machine }} | ||
path: ./ | ||
|
||
- name: untar artifacts | ||
run: | | ||
tar -xf clusty.tar | ||
- name: ${{matrix.algo}}, ${{matrix.threshold}} (with representatives, reordered columns) | ||
run: | | ||
./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 | ||
python ./test/cmp.py vir61.${{matrix.algo}}.${{matrix.threshold}} ./test/vir61.${{matrix.algo}}.${{matrix.threshold}}.python.csv | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,202 @@ | ||
name: Self-hosted CI | ||
|
||
on: | ||
pull_request: | ||
branches: [main, master, develop] | ||
paths-ignore: | ||
- '**.md' | ||
workflow_dispatch: | ||
|
||
|
||
jobs: | ||
|
||
######################################################################################## | ||
checkout: | ||
name: Checkout | ||
strategy: | ||
matrix: | ||
machine: [xeon, mac-i7, mac-m1] | ||
runs-on: [self-hosted, clusty, '${{ matrix.machine }}'] | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: recursive | ||
- name: Get tags | ||
run: | | ||
cd ./libs/igraph | ||
git fetch --tags origin | ||
|
||
######################################################################################## | ||
make: | ||
name: Make | ||
needs: checkout | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
machine: [xeon, mac-i7, mac-m1] | ||
compiler: [g++-11] | ||
|
||
runs-on: [self-hosted, clusty, '${{ matrix.machine }}'] | ||
|
||
steps: | ||
- name: make | ||
run: | | ||
make -j32 CXX=${{matrix.compiler}} | ||
cp ./clusty ./clusty-${{matrix.compiler}} | ||
make clean | ||
######################################################################################## | ||
make-leiden: | ||
name: make (Leiden) | ||
|
||
needs: checkout | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
compiler: [g++-11] | ||
|
||
runs-on: [self-hosted, clusty] | ||
|
||
steps: | ||
- name: make | ||
run: | | ||
make -j32 CXX=${{matrix.compiler}} LEIDEN=true | ||
cp ./clusty ./clusty-leiden-${{matrix.compiler}} | ||
make clean | ||
######################################################################################## | ||
toy: | ||
name: Toy example | ||
needs: make | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
machine: [xeon, mac-i7, mac-m1] | ||
compiler: [g++-11] | ||
algo: [single] | ||
|
||
runs-on: [self-hosted, clusty, '${{ matrix.machine }}'] | ||
|
||
steps: | ||
- name: ${{matrix.algo}} (no representatives, numeric ids, singletons in object file) | ||
run: | | ||
./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 | ||
python3 ./test/cmp.py toy.${{matrix.algo}}.tsv ./test/toy.${{matrix.algo}}.tsv | ||
######################################################################################## | ||
|
||
vir61-linkage: | ||
name: Vir61 | ||
needs: make | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
machine: [xeon, mac-i7, mac-m1] | ||
compiler: [g++-11] | ||
algo: [single, complete] | ||
threshold: [95, 70] | ||
|
||
runs-on: [self-hosted, clusty, '${{ matrix.machine }}'] | ||
|
||
steps: | ||
- name: ${{matrix.algo}}, ${{matrix.threshold}} (with representatives, reordered columns) | ||
run: | | ||
./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 | ||
python3 ./test/cmp.py vir61.${{matrix.algo}}.${{matrix.threshold}} ./test/vir61.${{matrix.algo}}.${{matrix.threshold}}.python.csv | ||
######################################################################################## | ||
ictv-linkage: | ||
name: ICTV (single and complete versus python clusterings) | ||
needs: make | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
machine: [xeon, mac-i7, mac-m1] | ||
compiler: [g++-11] | ||
algo: [single, complete] | ||
threshold: [95, 70] | ||
|
||
runs-on: [self-hosted, clusty, '${{ matrix.machine }}'] | ||
|
||
steps: | ||
- name: ${{matrix.algo}}, ${{matrix.threshold}} (no representatives) | ||
run: | | ||
./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}} | ||
python3 ./test/cmp.py ictv.${{matrix.algo}}.${{matrix.threshold}} ./test/ictv.${{matrix.algo}}.${{matrix.threshold}}.python.csv | ||
- name: ${{matrix.algo}}, ${{matrix.threshold}} (with representatives) | ||
run: | | ||
./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 | ||
python3 ./test/cmp.py ictv.${{matrix.algo}}.${{matrix.threshold}}.reps ./test/ictv.${{matrix.algo}}.${{matrix.threshold}}.python.csv | ||
- name: ${{matrix.algo}}, ${{matrix.threshold}} (no representatives, numeric ids) | ||
run: | | ||
./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 | ||
python3 ./test/cmp.py ictv.${{matrix.algo}}.${{matrix.threshold}}.num ./test/ictv.${{matrix.algo}}.${{matrix.threshold}}.python.csv | ||
- name: ${{matrix.algo}}, ${{matrix.threshold}} (with representatives, numeric ids) | ||
run: | | ||
./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 | ||
python3 ./test/cmp.py ictv.${{matrix.algo}}.${{matrix.threshold}}.reps.num ./test/ictv.${{matrix.algo}}.${{matrix.threshold}}.python.csv | ||
######################################################################################## | ||
ictv-all: | ||
name: ICTV (all algos versus our clusterings) | ||
needs: make | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
machine: [xeon, mac-i7, mac-m1] | ||
compiler: [g++-11] | ||
algo: [single, complete, uclust, set-cover, cd-hit] | ||
threshold: [70] | ||
|
||
runs-on: [self-hosted, clusty, '${{ matrix.machine }}'] | ||
|
||
steps: | ||
- name: ${{matrix.algo}}, ${{matrix.threshold}} (no representatives) | ||
run: | | ||
./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}} | ||
cmp ictv.${{matrix.algo}}.${{matrix.threshold}} ./test/ictv.${{matrix.algo}}.${{matrix.threshold}}.csv | ||
- name: ${{matrix.algo}}, ${{matrix.threshold}} (with representatives) | ||
run: | | ||
./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 | ||
cmp ictv.${{matrix.algo}}.${{matrix.threshold}}.reps ./test/ictv.${{matrix.algo}}.${{matrix.threshold}}.reps.csv | ||
- name: ${{matrix.algo}}, ${{matrix.threshold}} (with representatives, numeric ids) | ||
run: | | ||
./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 | ||
cmp ictv.${{matrix.algo}}.${{matrix.threshold}}.reps.num ./test/ictv.${{matrix.algo}}.${{matrix.threshold}}.reps.csv | ||
######################################################################################## | ||
ictv-leiden: | ||
name: ICTV (leiden) | ||
needs: make-leiden | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
compiler: [g++-11] | ||
algo: [leiden] | ||
threshold: [70] | ||
|
||
runs-on: [self-hosted, clusty, '${{ matrix.machine }}'] | ||
|
||
steps: | ||
- name: ${{matrix.algo}}, ${{matrix.threshold}} (no representatives) | ||
run: | | ||
./clusty-leiden-${{matrix.compiler}} --algo ${{matrix.algo}} --objects-file ./test/ictv.list --similarity --min ani 0.${{matrix.threshold}} ./test/ictv.ani ictv.${{matrix.algo}}.${{matrix.threshold}} | ||
cmp ictv.${{matrix.algo}}.${{matrix.threshold}} ./test/ictv.${{matrix.algo}}.${{matrix.threshold}}.csv | ||
- name: ${{matrix.algo}}, ${{matrix.threshold}} (with representatives) | ||
run: | | ||
./clusty-leiden-${{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 | ||
cmp ictv.${{matrix.algo}}.${{matrix.threshold}}.reps ./test/ictv.${{matrix.algo}}.${{matrix.threshold}}.reps.csv | ||
- name: ${{matrix.algo}}, ${{matrix.threshold}} (with representatives, numeric ids) | ||
run: | | ||
./clusty-keiden-${{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 | ||
cmp ictv.${{matrix.algo}}.${{matrix.threshold}}.reps.num ./test/ictv.${{matrix.algo}}.${{matrix.threshold}}.reps.csv | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
/src/x64 | ||
/src/_release/ | ||
/src/_debug/ | ||
/src/.vs/rapid-cluster/v17 | ||
/src/.vs/rapid-cluster/FileContentIndex | ||
/src/.vs/clusty/v17 | ||
/src/.vs/clusty/FileContentIndex | ||
/libs/winflexbison | ||
/src/clusty/x64/Debug/clusty.tlog | ||
/src/clusty/x64/Debug | ||
/src |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
[submodule "libs/mimalloc"] | ||
path = libs/mimalloc | ||
url = https://github.com/refresh-bio-dependencies/mimalloc.git | ||
[submodule "libs/igraph"] | ||
path = libs/igraph | ||
url = https://github.com/refresh-bio-dependencies/igraph |
Oops, something went wrong.