Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
c5d9f28
transferred universal barcode detector, in progress
andrewprzh Jan 22, 2026
7874433
unify barcode calling result classes
andrewprzh Jan 28, 2026
ae8767f
minor refactoring
andrewprzh Jan 28, 2026
c55113c
add sequence correction
andrewprzh Jan 28, 2026
54e2fe2
add BarcodeResult protocol and standard output format for ExtractionR…
andrewprzh Jan 28, 2026
b5373b8
universal barcode calling tests
andrewprzh Jan 29, 2026
8b5f4eb
factor out element knowledge to MoleculeStructure
andrewprzh Jan 29, 2026
d88e22a
fix parallel version
andrewprzh Jan 29, 2026
01939e1
fix headers
andrewprzh Jan 29, 2026
bf34ea5
fix const element detection
andrewprzh Jan 29, 2026
39695c1
remove obsolete test
andrewprzh Jan 29, 2026
ebd1823
do not allow exact positions to go out of bounds
andrewprzh Jan 29, 2026
0ac4e11
factor out element correction
andrewprzh Jan 29, 2026
71de959
add log errors for non-variable concat and dupl elements
andrewprzh Jan 30, 2026
bfef97a
implement collection of duplicated and concatenated elements, make co…
andrewprzh Jan 30, 2026
a6cbef5
additional checks on linked elements
andrewprzh Jan 30, 2026
47ed147
implement concatenated elements
andrewprzh Jan 30, 2026
f1eb72c
implement duplicarted elements
andrewprzh Jan 30, 2026
84160b7
--molecule to isoquant.py
andrewprzh Feb 1, 2026
f246d28
single-cell documentation base
andrewprzh Feb 2, 2026
15ac8e3
fix header function
andrewprzh Feb 2, 2026
8a501fc
fix attr
andrewprzh Feb 2, 2026
b2b85dd
man cosmetics, rename detect_barcodes.py
andrewprzh Feb 3, 2026
70c16de
remove min_score, add params for speeding up barcode callers for larg…
andrewprzh Feb 3, 2026
cc732d8
proper indexing params for universal barcode calling algorithm
andrewprzh Feb 3, 2026
563239c
fix parser error handling
andrewprzh Feb 3, 2026
a2dea06
report only all barcodes, fix tests
andrewprzh Feb 3, 2026
cf8366f
add umi filtering for custom sc
andrewprzh Feb 3, 2026
d764e26
log barcode index
andrewprzh Feb 4, 2026
c8721e8
create tmp dir inside output folder if tmp is not set
andrewprzh Feb 4, 2026
99059ea
fix seq_len and remove default values
andrewprzh Feb 4, 2026
aaa55bb
fix seq len in str_to_bit conversion
andrewprzh Feb 4, 2026
cc415f3
account for variable length barcode
andrewprzh Feb 4, 2026
f113442
add molecule to barcdoe detection test config
andrewprzh Feb 4, 2026
3b1f5eb
custom sc barocode callign tests
andrewprzh Feb 4, 2026
5f8ff2a
fix var len min score
andrewprzh Feb 4, 2026
2cbce95
visium custom testing
andrewprzh Feb 4, 2026
079d8a6
test data
andrewprzh Feb 4, 2026
af396c7
fix flake test but changing numpy import
andrewprzh Feb 4, 2026
da5a6ab
fix empty barcodes
andrewprzh Feb 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions .github/workflows/Barcode.Custom.10x.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: Barcode Custom SC 10x

on:
workflow_dispatch:
schedule:
- cron: '0 4 * * 1'

env:
LAUNCHER: ${{github.workspace}}/tests/github/run_barcode_test.py
CFG_DIR: /abga/work/andreyp/ci_isoquant/data/barcodes
BIN_PATH: /abga/work/andreyp/ci_isoquant/bin/
OUTPUT_BASE: /abga/work/andreyp/ci_isoquant/output/${{github.ref_name}}/barcodes/

concurrency:
group: ${{github.workflow}}
cancel-in-progress: false

jobs:
check-changes:
runs-on:
labels: [isoquant]
name: 'Check for recent changes'
outputs:
has_changes: ${{steps.check.outputs.has_changes}}
steps:
- name: 'Checkout'
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: 'Check for commits in last 7 days'
id: check
run: |
# Always run on manual trigger
if [ "${{github.event_name}}" = "workflow_dispatch" ]; then
echo "has_changes=true" >> $GITHUB_OUTPUT
exit 0
fi
# Check for commits in last 7 days
COMMITS=$(git log --oneline --since="7 days ago" | wc -l)
if [ "$COMMITS" -gt 0 ]; then
echo "Found $COMMITS commits in last 7 days"
echo "has_changes=true" >> $GITHUB_OUTPUT
else
echo "No commits in last 7 days, skipping"
echo "has_changes=false" >> $GITHUB_OUTPUT
fi

launch-runner:
needs: check-changes
if: needs.check-changes.outputs.has_changes == 'true'
runs-on:
labels: [isoquant]
name: 'Running custom_sc 10x barcode detection QC'

steps:
- name: 'Cleanup'
run: >
set -e &&
shopt -s dotglob &&
rm -rf *

- name: 'Checkout'
uses: actions/checkout@v3
with:
fetch-depth: 1

- name: 'Custom SC 10x small (ArrayKmerIndexer)'
shell: bash
env:
STEP_NAME: Mouse.10x.custom_sc.small
run: |
export PATH=$PATH:${{env.BIN_PATH}}
python3 ${{env.LAUNCHER}} ${{env.CFG_DIR}}/${{env.STEP_NAME}}.cfg -o ${{env.OUTPUT_BASE}}

- name: 'Custom SC 10x large (Array2BitKmerIndexer)'
shell: bash
env:
STEP_NAME: Mouse.10x.custom_sc.large
run: |
export PATH=$PATH:${{env.BIN_PATH}}
python3 ${{env.LAUNCHER}} ${{env.CFG_DIR}}/${{env.STEP_NAME}}.cfg -o ${{env.OUTPUT_BASE}}
82 changes: 82 additions & 0 deletions .github/workflows/Barcode.Custom.Curio.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: Barcode Custom SC Curio

on:
workflow_dispatch:
schedule:
- cron: '0 3 * * 3'

env:
LAUNCHER: ${{github.workspace}}/tests/github/run_barcode_test.py
CFG_DIR: /abga/work/andreyp/ci_isoquant/data/barcodes
BIN_PATH: /abga/work/andreyp/ci_isoquant/bin/
OUTPUT_BASE: /abga/work/andreyp/ci_isoquant/output/${{github.ref_name}}/barcodes/

concurrency:
group: ${{github.workflow}}
cancel-in-progress: false

jobs:
check-changes:
runs-on:
labels: [isoquant]
name: 'Check for recent changes'
outputs:
has_changes: ${{steps.check.outputs.has_changes}}
steps:
- name: 'Checkout'
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: 'Check for commits in last 7 days'
id: check
run: |
# Always run on manual trigger
if [ "${{github.event_name}}" = "workflow_dispatch" ]; then
echo "has_changes=true" >> $GITHUB_OUTPUT
exit 0
fi
# Check for commits in last 7 days
COMMITS=$(git log --oneline --since="7 days ago" | wc -l)
if [ "$COMMITS" -gt 0 ]; then
echo "Found $COMMITS commits in last 7 days"
echo "has_changes=true" >> $GITHUB_OUTPUT
else
echo "No commits in last 7 days, skipping"
echo "has_changes=false" >> $GITHUB_OUTPUT
fi

launch-runner:
needs: check-changes
if: needs.check-changes.outputs.has_changes == 'true'
runs-on:
labels: [isoquant]
name: 'Running custom_sc Curio barcode detection QC'

steps:
- name: 'Cleanup'
run: >
set -e &&
shopt -s dotglob &&
rm -rf *

- name: 'Checkout'
uses: actions/checkout@v3
with:
fetch-depth: 1

- name: 'Custom SC Curio small (ArrayKmerIndexer)'
shell: bash
env:
STEP_NAME: Human.Curio.custom_sc.small
run: |
export PATH=$PATH:${{env.BIN_PATH}}
python3 ${{env.LAUNCHER}} ${{env.CFG_DIR}}/${{env.STEP_NAME}}.cfg -o ${{env.OUTPUT_BASE}}

- name: 'Custom SC Curio large (Array2BitKmerIndexer)'
shell: bash
env:
STEP_NAME: Human.Curio.custom_sc.large
run: |
export PATH=$PATH:${{env.BIN_PATH}}
python3 ${{env.LAUNCHER}} ${{env.CFG_DIR}}/${{env.STEP_NAME}}.cfg -o ${{env.OUTPUT_BASE}}
82 changes: 82 additions & 0 deletions .github/workflows/Barcode.Custom.StereoSeq.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: Barcode Custom SC StereoSeq

on:
workflow_dispatch:
schedule:
- cron: '0 1 * * 5'

env:
LAUNCHER: ${{github.workspace}}/tests/github/run_barcode_test.py
CFG_DIR: /abga/work/andreyp/ci_isoquant/data/barcodes
BIN_PATH: /abga/work/andreyp/ci_isoquant/bin/
OUTPUT_BASE: /abga/work/andreyp/ci_isoquant/output/${{github.ref_name}}/barcodes/

concurrency:
group: ${{github.workflow}}
cancel-in-progress: false

jobs:
check-changes:
runs-on:
labels: [isoquant]
name: 'Check for recent changes'
outputs:
has_changes: ${{steps.check.outputs.has_changes}}
steps:
- name: 'Checkout'
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: 'Check for commits in last 7 days'
id: check
run: |
# Always run on manual trigger
if [ "${{github.event_name}}" = "workflow_dispatch" ]; then
echo "has_changes=true" >> $GITHUB_OUTPUT
exit 0
fi
# Check for commits in last 7 days
COMMITS=$(git log --oneline --since="7 days ago" | wc -l)
if [ "$COMMITS" -gt 0 ]; then
echo "Found $COMMITS commits in last 7 days"
echo "has_changes=true" >> $GITHUB_OUTPUT
else
echo "No commits in last 7 days, skipping"
echo "has_changes=false" >> $GITHUB_OUTPUT
fi

launch-runner:
needs: check-changes
if: needs.check-changes.outputs.has_changes == 'true'
runs-on:
labels: [isoquant]
name: 'Running custom_sc StereoSeq barcode detection QC'

steps:
- name: 'Cleanup'
run: >
set -e &&
shopt -s dotglob &&
rm -rf *

- name: 'Checkout'
uses: actions/checkout@v3
with:
fetch-depth: 1

- name: 'Custom SC StereoSeq small (KmerIndexer)'
shell: bash
env:
STEP_NAME: Mouse.StereoSeq.custom_sc.small
run: |
export PATH=$PATH:${{env.BIN_PATH}}
python3 ${{env.LAUNCHER}} ${{env.CFG_DIR}}/${{env.STEP_NAME}}.cfg -o ${{env.OUTPUT_BASE}}

- name: 'Custom SC StereoSeq large (Dict2BitKmerIndexer)'
shell: bash
env:
STEP_NAME: Mouse.StereoSeq.custom_sc.large
run: |
export PATH=$PATH:${{env.BIN_PATH}}
python3 ${{env.LAUNCHER}} ${{env.CFG_DIR}}/${{env.STEP_NAME}}.cfg -o ${{env.OUTPUT_BASE}}
82 changes: 82 additions & 0 deletions .github/workflows/Barcode.Custom.VisiumHD.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: Barcode Custom SC Visium HD

on:
workflow_dispatch:
schedule:
- cron: '0 2 * * 4'

env:
LAUNCHER: ${{github.workspace}}/tests/github/run_barcode_test.py
CFG_DIR: /abga/work/andreyp/ci_isoquant/data/barcodes
BIN_PATH: /abga/work/andreyp/ci_isoquant/bin/
OUTPUT_BASE: /abga/work/andreyp/ci_isoquant/output/${{github.ref_name}}/barcodes/

concurrency:
group: ${{github.workflow}}
cancel-in-progress: false

jobs:
check-changes:
runs-on:
labels: [isoquant]
name: 'Check for recent changes'
outputs:
has_changes: ${{steps.check.outputs.has_changes}}
steps:
- name: 'Checkout'
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: 'Check for commits in last 7 days'
id: check
run: |
# Always run on manual trigger
if [ "${{github.event_name}}" = "workflow_dispatch" ]; then
echo "has_changes=true" >> $GITHUB_OUTPUT
exit 0
fi
# Check for commits in last 7 days
COMMITS=$(git log --oneline --since="7 days ago" | wc -l)
if [ "$COMMITS" -gt 0 ]; then
echo "Found $COMMITS commits in last 7 days"
echo "has_changes=true" >> $GITHUB_OUTPUT
else
echo "No commits in last 7 days, skipping"
echo "has_changes=false" >> $GITHUB_OUTPUT
fi

launch-runner:
needs: check-changes
if: needs.check-changes.outputs.has_changes == 'true'
runs-on:
labels: [isoquant]
name: 'Running custom_sc Visium HD barcode detection QC'

steps:
- name: 'Cleanup'
run: >
set -e &&
shopt -s dotglob &&
rm -rf *

- name: 'Checkout'
uses: actions/checkout@v3
with:
fetch-depth: 1

- name: 'Custom SC Visium HD small (ArrayKmerIndexer)'
shell: bash
env:
STEP_NAME: Mouse.VisiumHD.custom_sc.small
run: |
export PATH=$PATH:${{env.BIN_PATH}}
python3 ${{env.LAUNCHER}} ${{env.CFG_DIR}}/${{env.STEP_NAME}}.cfg -o ${{env.OUTPUT_BASE}}

- name: 'Custom SC Visium HD large (Array2BitKmerIndexer)'
shell: bash
env:
STEP_NAME: Mouse.VisiumHD.custom_sc.large
run: |
export PATH=$PATH:${{env.BIN_PATH}}
python3 ${{env.LAUNCHER}} ${{env.CFG_DIR}}/${{env.STEP_NAME}}.cfg -o ${{env.OUTPUT_BASE}}
Loading