Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
2b44eca
fix interval_bin_search crash on empty interval list
andrewprzh Jun 14, 2026
d1e2a2b
Use predicted polyA/TSS positions for intron graph terminal vertices
andrewprzh Jun 14, 2026
a0e4bef
keep clustering as terminal vertex source, detector only refines posi…
andrewprzh Jun 15, 2026
29ac1f2
predict polyA/TSS per gene instead of per chromosome
andrewprzh Jun 15, 2026
07a8708
reuse per-gene polyA/TSS predictions to refine intron graph terminal …
andrewprzh Jun 16, 2026
f3c20a7
score transcript discovery at 3 terminal deltas via gffcompare fork
andrewprzh Jun 16, 2026
1e93fe7
Add alt-end discovery workflows + simulation reduced-db prep script
andrewprzh Jun 16, 2026
f0a2d60
fix gffcompare fork shadowing by prepending CI bin in sim workflows
andrewprzh Jun 17, 2026
66f0b3d
Add --refine_transcript_ends for alternative polyA/TSS NIC discovery
andrewprzh Jun 19, 2026
1eda1aa
Add post-construction per-transcript alt-end NIC refinement (--novel_…
andrewprzh Jun 21, 2026
6f6e4d2
Gate alt-end peaks by relative support + use polyA-confirmed read his…
andrewprzh Jun 22, 2026
518ae62
Make alternative-end refinement default with --genedb; drop --refine_…
andrewprzh Jun 22, 2026
c595043
Enable de-novo end polishing + novel alt-end generation (no --genedb)…
andrewprzh Jun 23, 2026
c28ffa7
Add Human.ONT polyA_2 no_gtf de-novo discovery test
andrewprzh Jun 25, 2026
f19f7ca
Remove gffcompare --terminal-delta patch (upstreamed to andrewprzh/gf…
andrewprzh Jun 25, 2026
15c44a8
fix 3' read-end refinement to use polyA not TSS predictions and add t…
andrewprzh Jun 29, 2026
1e84be4
remove dead end-correction path and add type hints
andrewprzh Jun 29, 2026
f09f246
fix per-gene flush splitting terminal predictions across gene blocks
andrewprzh Jun 29, 2026
95accbf
add type hints to counter flush and interval search
andrewprzh Jun 29, 2026
fef5103
add unit tests for alt-end discovery, end refinement, and per-gene flush
andrewprzh Jun 29, 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
76 changes: 76 additions & 0 deletions .github/workflows/Human.ONT_simulated.TSS.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: Human ONT R10 simulated TSS (discovery + prediction)

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

env:
RUN_NAME: Human.ONT_simulated.TSS
LAUNCHER: ${{github.workspace}}/isoquant_tests/github/run_pipeline.py
CFG_DIR: /abga/work/andreyp/ci_isoquant/data
BIN_PATH: /abga/work/andreyp/ci_isoquant/bin/
OUTPUT_BASE: /abga/work/andreyp/ci_isoquant/output/${{github.ref_name}}/

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 IsoQuant and QC'

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

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

- name: 'IsoQuant discovery + TSS'
if: always()
shell: bash
env:
STEP_NAME: Human.ONT_simulated.TSS
run: |
export PATH=${{env.BIN_PATH}}:$PATH
python3 ${{env.LAUNCHER}} ${{env.CFG_DIR}}/${{env.STEP_NAME}}.yaml -o ${{env.OUTPUT_BASE}}
76 changes: 76 additions & 0 deletions .github/workflows/Human.ONT_simulated.polyA_1.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: Human ONT R10 simulated polyA 1 (discovery + prediction)

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

env:
RUN_NAME: Human.ONT_simulated.polyA_1
LAUNCHER: ${{github.workspace}}/isoquant_tests/github/run_pipeline.py
CFG_DIR: /abga/work/andreyp/ci_isoquant/data
BIN_PATH: /abga/work/andreyp/ci_isoquant/bin/
OUTPUT_BASE: /abga/work/andreyp/ci_isoquant/output/${{github.ref_name}}/

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 IsoQuant and QC'

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

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

- name: 'IsoQuant discovery + polyA'
if: always()
shell: bash
env:
STEP_NAME: Human.ONT_simulated.polyA_1
run: |
export PATH=${{env.BIN_PATH}}:$PATH
python3 ${{env.LAUNCHER}} ${{env.CFG_DIR}}/${{env.STEP_NAME}}.yaml -o ${{env.OUTPUT_BASE}}
76 changes: 76 additions & 0 deletions .github/workflows/Human.ONT_simulated.polyA_2.no_gtf.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: Human ONT simulated polyA 2 no annotation

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

env:
RUN_NAME: Human.ONT_simulated.polyA_2.no_gtf
LAUNCHER: ${{github.workspace}}/isoquant_tests/github/run_pipeline.py
CFG_DIR: /abga/work/andreyp/ci_isoquant/data
BIN_PATH: /abga/work/andreyp/ci_isoquant/bin/
OUTPUT_BASE: /abga/work/andreyp/ci_isoquant/output/${{github.ref_name}}/

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 IsoQuant and QC'

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

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

- name: 'IsoQuant de-novo discovery (no annotation)'
if: always()
shell: bash
env:
STEP_NAME: Human.ONT_simulated.polyA_2.no_gtf
run: |
export PATH=${{env.BIN_PATH}}:$PATH
python3 ${{env.LAUNCHER}} ${{env.CFG_DIR}}/${{env.STEP_NAME}}.yaml -o ${{env.OUTPUT_BASE}}
76 changes: 76 additions & 0 deletions .github/workflows/Human.ONT_simulated.polyA_2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: Human ONT R10 simulated polyA 2 (discovery + prediction)

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

env:
RUN_NAME: Human.ONT_simulated.polyA_2
LAUNCHER: ${{github.workspace}}/isoquant_tests/github/run_pipeline.py
CFG_DIR: /abga/work/andreyp/ci_isoquant/data
BIN_PATH: /abga/work/andreyp/ci_isoquant/bin/
OUTPUT_BASE: /abga/work/andreyp/ci_isoquant/output/${{github.ref_name}}/

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 IsoQuant and QC'

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

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

- name: 'IsoQuant discovery + polyA'
if: always()
shell: bash
env:
STEP_NAME: Human.ONT_simulated.polyA_2
run: |
export PATH=${{env.BIN_PATH}}:$PATH
python3 ${{env.LAUNCHER}} ${{env.CFG_DIR}}/${{env.STEP_NAME}}.yaml -o ${{env.OUTPUT_BASE}}
76 changes: 76 additions & 0 deletions .github/workflows/Mouse.ONT_simulated.TSS.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: Mouse ONT R10 simulated TSS (discovery + prediction)

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

env:
RUN_NAME: Mouse.ONT_simulated.TSS
LAUNCHER: ${{github.workspace}}/isoquant_tests/github/run_pipeline.py
CFG_DIR: /abga/work/andreyp/ci_isoquant/data
BIN_PATH: /abga/work/andreyp/ci_isoquant/bin/
OUTPUT_BASE: /abga/work/andreyp/ci_isoquant/output/${{github.ref_name}}/

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 IsoQuant and QC'

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

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

- name: 'IsoQuant discovery + TSS'
if: always()
shell: bash
env:
STEP_NAME: Mouse.ONT_simulated.TSS
run: |
export PATH=${{env.BIN_PATH}}:$PATH
python3 ${{env.LAUNCHER}} ${{env.CFG_DIR}}/${{env.STEP_NAME}}.yaml -o ${{env.OUTPUT_BASE}}
Loading
Loading