Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
a252576
fix interval_bin_search crash on empty interval list
andrewprzh Jun 14, 2026
5179f3b
Use predicted polyA/TSS positions for intron graph terminal vertices
andrewprzh Jun 14, 2026
eafc2aa
keep clustering as terminal vertex source, detector only refines posi…
andrewprzh Jun 15, 2026
2981864
predict polyA/TSS per gene instead of per chromosome
andrewprzh Jun 15, 2026
7be66ae
reuse per-gene polyA/TSS predictions to refine intron graph terminal …
andrewprzh Jun 16, 2026
e229b87
score transcript discovery at 3 terminal deltas via gffcompare fork
andrewprzh Jun 16, 2026
0f9e39e
Add alt-end discovery workflows + simulation reduced-db prep script
andrewprzh Jun 16, 2026
e0a8c8b
fix gffcompare fork shadowing by prepending CI bin in sim workflows
andrewprzh Jun 17, 2026
c5d8f83
Add --refine_transcript_ends for alternative polyA/TSS NIC discovery
andrewprzh Jun 19, 2026
dbe8af6
Add post-construction per-transcript alt-end NIC refinement (--novel_…
andrewprzh Jun 21, 2026
b52e9f4
Gate alt-end peaks by relative support + use polyA-confirmed read his…
andrewprzh Jun 22, 2026
9c1eadc
Make alternative-end refinement default with --genedb; drop --refine_…
andrewprzh Jun 22, 2026
6180eb7
Enable de-novo end polishing + novel alt-end generation (no --genedb)…
andrewprzh Jun 23, 2026
3ac1d42
Add Human.ONT polyA_2 no_gtf de-novo discovery test
andrewprzh Jun 25, 2026
1543213
Remove gffcompare --terminal-delta patch (upstreamed to andrewprzh/gf…
andrewprzh Jun 25, 2026
cfeef44
fix 3' read-end refinement to use polyA not TSS predictions and add t…
andrewprzh Jun 29, 2026
d9a1876
remove dead end-correction path and add type hints
andrewprzh Jun 29, 2026
3f18077
fix per-gene flush splitting terminal predictions across gene blocks
andrewprzh Jun 29, 2026
2aa7851
add type hints to counter flush and interval search
andrewprzh Jun 29, 2026
bc4781f
add unit tests for alt-end discovery, end refinement, and per-gene flush
andrewprzh Jun 29, 2026
b36233e
move option
andrewprzh Jun 30, 2026
afe6ed3
Gate model re-assignment and route model counts through add_read_info
andrewprzh Jul 2, 2026
606d36f
remove orphaned add_read_info_raw stubs from exon counters
andrewprzh Jul 7, 2026
48dbd44
consistent intron chain keys
andrewprzh Jul 7, 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