目录
Cole Lyman

Sam/css refresh (#161) (#634)

  • initialize list outside of not args.suppress_plots block. (#159)

  • initialize list outside of not args.suppress_plots block.

move amino acid plot into not args.suppress_plots block.

  • Remove nesting of if block for plotting amino acid plots

  • Fix type in suppress_plots


  • Add tool name for report generation in CRISPRessoPooledWGSCompare

  • Fix issue 612, coding_seq filename too long (#152)

  • Add discovery of Python packages (#151)

  • Fix Docker entrypoint

  • Attempt to fix Circle CI pip install

  • Run each CRISPResso command in the conda environment

  • Update --base_editor_output parameter name for Circle CI

  • Update tests Makefile and batch expected output

  • Fix QWC inference across amplicons (#137)

  • Mckay/be plot improvements (#136)

  • trying to get the figure to fit nicely, increased element size to 100

  • custom figsize to display without cutting off

increased figsize in report template

  • Allow messages to be served in CLI reports (#134) (#583)

  • Fix deletion at second position (#131)

  • Fix bug when there is a deletion starting at the second position

This bug only happens when a deletion starts are the second position, before the fix, it would report that the deletion started at the first position. It is fixed now, so deletions at the second position are reported correctly.

  • Update CRISPRessoCOREResources.c due to change in .pyx

  • Add tests for find_indels_substitutions for deletions at the end

  • Fix 1bp deletions at the end, and off by one error

This ensures that when a deletion occurs at the end of a read, the entire deletion is accounted for.

  • Update CRISPRessoCOREResources.c to reflect fixes for deletions at the end of alignments

  • Add extra asserts to deletion checks

  • Point to new test branch

  • Reafctor deletion_coordinates to go past the end of the string for deletions at the end of the sequence

  • Point tests to master

  • Allow messages to be served in CLI reports

  • Point to cole/messages test branch

  • Point tests back to master

  • point to tests branch

  • typo

  • testing github actions

  • remove test

  • point tests to master


  • Update inferred QWC tests to reflect correct intended behavior

  • Fix inferring QWC to match intended behavior

  • Add more test cases and fix bug discovered in single bp QWC

  • Add even more test cases testing indels outside the QWC

  • Point tests to cole/fix-qwc-deletion

  • update plotly.js (#138)

  • Change order of amplicon inference alignment so that 1st amplicon is the reference

This makes a difference because it changes the values of s1inds, and therefore the value of the inferred quantification window coordinates.

  • Point integration tests back to master

  • Update CHANGELOG.md


  • Update setup.py and pyproject.toml to find all modules and packages

  • Convert pyproject.toml to Unix file endings


  • added func: get_short_seq_id, that truncates long sequence, and adds unique identifier.

  • point to tests branch

  • mmm

  • Sam/pixi integration tests (#156)

  • Guardrail dropdowns (#155)

  • Add discovery of Python packages (#151)

  • Fix Docker entrypoint

  • Attempt to fix Circle CI pip install

  • Run each CRISPResso command in the conda environment

  • Update --base_editor_output parameter name for Circle CI

  • Update tests Makefile and batch expected output

  • Fix QWC inference across amplicons (#137)

  • Mckay/be plot improvements (#136)

  • trying to get the figure to fit nicely, increased element size to 100

  • custom figsize to display without cutting off

increased figsize in report template

  • Allow messages to be served in CLI reports (#134) (#583)

  • Fix deletion at second position (#131)

  • Fix bug when there is a deletion starting at the second position

This bug only happens when a deletion starts are the second position, before the fix, it would report that the deletion started at the first position. It is fixed now, so deletions at the second position are reported correctly.

  • Update CRISPRessoCOREResources.c due to change in .pyx

  • Add tests for find_indels_substitutions for deletions at the end

  • Fix 1bp deletions at the end, and off by one error

This ensures that when a deletion occurs at the end of a read, the entire deletion is accounted for.

  • Update CRISPRessoCOREResources.c to reflect fixes for deletions at the end of alignments

  • Add extra asserts to deletion checks

  • Point to new test branch

  • Reafctor deletion_coordinates to go past the end of the string for deletions at the end of the sequence

  • Point tests to master

  • Allow messages to be served in CLI reports

  • Point to cole/messages test branch

  • Point tests back to master

  • point to tests branch

  • typo

  • testing github actions

  • remove test

  • point tests to master


  • Update inferred QWC tests to reflect correct intended behavior

  • Fix inferring QWC to match intended behavior

  • Add more test cases and fix bug discovered in single bp QWC

  • Add even more test cases testing indels outside the QWC

  • Point tests to cole/fix-qwc-deletion

  • update plotly.js (#138)

  • Change order of amplicon inference alignment so that 1st amplicon is the reference

This makes a difference because it changes the values of s1inds, and therefore the value of the inferred quantification window coordinates.

  • Point integration tests back to master

  • Update CHANGELOG.md


  • Update setup.py and pyproject.toml to find all modules and packages

  • Convert pyproject.toml to Unix file endings


  • Guardrail dropdowns

  • Revert changes to .c files

  • Closed guardrail warning by default

  • .c fix

  • Revert .c files to match master

  • Revert .c files back to master

  • Update CHANGELOG.md

  • Update CHANGELOG.md


  • Run integration tests

  • Fix pixi env

  • Remove pro from pixi.toml

  • Pull branches

  • Adding Pro token

  • Add pip install kaleido for pro tests

  • Pro compare

  • Pin plotly

  • Pin kaleido

  • Fix kaleido pin

  • Fix pixi plotly pin

  • Ruff fix

  • Update integration_tests.yml

Remove branch ref for Pro

  • Run the diffs and print the results in integration tests

  • Point tests to master


  • lint

  • Mckay/upsetplot port (#154)

  • new arg

  • Diff plots (#158)

  • Run diffs on the plots in integration tests

  • Correct diff-plots now

  • Pin matplotlib in test dependencies and update running integration tests

  • Fix cross-pollution of integration tests

  • Install MS core fonts in CI for consistent plot rendering

CRISPResso2 requests Arial as the primary font via matplotlib’s font.sans-serif setting. Without MS core fonts installed, the CI runner falls back to a different font, causing upset plots (and potentially others) to exceed the RMSE image comparison threshold.

This matches the Dockerfile which already installs ttf-mscorefonts-installer. Also clears matplotlib’s font cache so it discovers the newly installed fonts.

  • Remove matplotlib pin in tests and don’t run diff-plots with Pro

  • Reorder base edit plots and update caption in Compare

  • Rebuild pixi fontconfig cache after MS font installation in CI

The pixi/conda environment has its own fontconfig with a separate font cache (.pixi/envs/test/var/cache/fontconfig/). When the pixi environment is restored from actions/cache, this fontconfig cache is stale and doesn’t know about the MS core fonts installed via apt-get. Running the system fc-cache only updates the system fontconfig, not the pixi one.

Fix: run ‘pixi run -e test – fc-cache -f’ to rebuild the pixi fontconfig cache so that matplotlib’s findSystemFonts() discovers Arial via the pixi fc-list.

  • Update base editing caption in compare

  • Sort Compare allele plots by aligned sequence as well

  • Attempt to fix sorting of compare allele plots

  • Sort the df being passed into the plot in compare!

  • Sort the bottom compare plots too!

  • Make the tiebreaking logic in compare enrichment consistent

  • Cache MS fonts in pixi

  • Point integration tests back to master and revert pixi.toml

  • Fix mutating args directly in compare

  • Make the parameter names consistent across the code

  • Point tests to master


  • Add CRISPRessoPro advertisement banner to top and bottom

  • Replace cup with svg

  • Bug Fix: cut_point not in exon_positions (#150)

  • VCF Output (#128)

  • vcf file writing initial concept

  • splitting vcf into testable functions, adding tests

  • adding unit tests, adding nullcontext to vcf writing file

  • fixed first insertion bug

  • Mckay/base edit plot (#119)

  • Cole/plot fixes (#121)

  • fix setting of 99%ile in negative direction (deletions)

  • need another break

  • When reading CRISPRessoPooled amplicon file, only skip lines if they start with the comment character(#)

  • Implement new overwrite_crispresso_options in CRISPRessoPooled to only add non-default commands when propagating

  • In CRISPRessoPooled implement multiplexing for sub-runs and create a run_name that is filename-safe and separate from a display name.

  • Add arg for display_name

  • Change display name name to Display Name

  • CRISPRessoWGS fix unpickleable partial error

  • Move complete message to after crispresso cup to allow for json parsing of status.json

  • Update CRISPRessoWGS to allow for run names

  • Messages to users about counting reads in input (sometimes this takes a while for large samples)

  • Cast guardrail values as ints because division casts them as floats

  • Remove invalid escape of _ when writing to JSON status file

  • Fix documentatio for CRISPRessoShared.check_if_failed and remove extraneous whitespace

  • Point to updated test branch

  • Fix Cython bug

  • Read version from toml file

  • Fix import error

  • update version

  • Update integration_tests.yml

Remove Native Merge test temporarily

  • Pin fastp version

  • Run native merge test and point tests to master


  • Additional plot fixes (#122)

  • fix setting of 99%ile in negative direction (deletions)

  • need another break

  • When reading CRISPRessoPooled amplicon file, only skip lines if they start with the comment character(#)

  • Implement new overwrite_crispresso_options in CRISPRessoPooled to only add non-default commands when propagating

  • In CRISPRessoPooled implement multiplexing for sub-runs and create a run_name that is filename-safe and separate from a display name.

  • Add arg for display_name

  • Change display name name to Display Name

  • CRISPRessoWGS fix unpickleable partial error

  • Move complete message to after crispresso cup to allow for json parsing of status.json

  • Update CRISPRessoWGS to allow for run names

  • Messages to users about counting reads in input (sometimes this takes a while for large samples)

  • Cast guardrail values as ints because division casts them as floats

  • Remove invalid escape of _ when writing to JSON status file

  • Fix documentatio for CRISPRessoShared.check_if_failed and remove extraneous whitespace

  • Point to updated test branch

  • Fix Cython bug

  • Read version from toml file

  • Move printing header info to after console log level setting in main function

  • Add import for importlib.metadata to CRISPRessoShared.py

  • Standardize intermediate file names for CRISPRessoPooled info and fastq files

  • CRISPRessoPooled avoid gzipping nonexistant files

  • Remove warning if no config file

  • Allow none for custom_colors in CRISPRessoPlot

  • read version from toml file

  • Make fig_filename_root default to None, in which case the figure is shown interactively - e.g. in a jupyter notebook

  • Print tool description after logging level has been set

  • update testRelease.sh script

  • Don’t rerun if the ‘verbosity’ value has changed.

  • CRISPResso core will not rerun if there are changes in the ‘debug’, ‘n_processes’, and ‘verbosity’ arguments

  • Verbosity levels <=1 are set to 1, >= 4 are set to 4.

  • update for future pd.read_json deprecation

  • Fix import error

  • update version

  • Update integration_tests.yml

Remove Native Merge test temporarily

  • Pin fastp version

  • Run native merge test and point tests to master

  • Point tests to cole/plot_fixes branch

  • Point tests back to master


    • added Kendall’s code
  • added args
  • added fig 10i to report
  • added tests for data prep
  • added upsetplot to Dockerfile

  • added save_png to plot args

  • removed unused args

  • remove unused variable

  • cole’s comments

  • removed unused function

  • comments

  • comments

  • updated test_be_df with UNMODIFIED row

  • remove comment

  • removed extra args fixed name

  • Update help string for --base_editor_consider_changes_outside_qw

  • Point tests back to master


  • further vcf tweaks/work

  • vcf dynamic alt map and vcf line generation with unit testing

  • updating tests

  • Add test case for second element deletion

  • Remove unnecessary imports and add whitspace

  • Add mini integration tests for alt_map and vcf_line

  • Update unit tests to account for bug in find_indels_substitutions

  • Add failing test case for insertion and deletion occurring at the same position

The alt map incorrectly separate the deletion and insertion to different positions.

  • Cast dict_keys to be a list

  • Fix test case to reflect correct position of deletion

  • Add checks to the VCF file

  • Add upsetplot as a dependency in setup.py (#130)

  • Fix position of deletion in test case

  • Fix off by one error for deletions, update tests and fix deletion at start

It turns out that when there is a deletion at the start of the sequence, the correct way to handle it is to provide the last base after the deletion. Source: https://bioinformatics.stackexchange.com/questions/2476/how-to-represent-a-deletion-at-position-1-in-a-vcf-file

  • Update tests to convince myself that insertion and deletion handling is working

  • Remove duplicate writing of allele frequency table

  • Refactor get_allele_row and make vcf_output not dependent on write_detailed_allele_table

  • Extract out construction of df_alleles in unit tests

  • Write test to illustrate bug when you have an insertion then a deletion

  • Refactor unit tests to use create_df_alleles

  • Fix test_build_alt_map_mixed test

  • Refactor create_df_alleles to support number of reads

This fixes test_build_alt_map_substitutions

  • Fix test_build_alt_map_insertions test

  • Allow amplicon name to be passed to create_df_alleles

  • Fix test_upsert_edit_del_and_ins

  • Fix deletion at start of amplicon

  • Fix bug when there is a deletion starting at the second position

This bug only happens when a deletion starts are the second position, before the fix, it would report that the deletion started at the first position. It is fixed now, so deletions at the second position are reported correctly.

  • Fix test to reflect full deletion

  • Add tests for find_indels_substitutions for deletions at the end

  • Fix 1bp deletions at the end, and off by one error

This ensures that when a deletion occurs at the end of a read, the entire deletion is accounted for.

  • Fix for representing deletions at the end of a sequence

  • Fix bug where deletions that extend to the end of a sequence fail

  • Remove qwc_indexes

  • Properly implement handling of deletions that start at the beginning of a sequence

  • Properly account for multiple delete_start events

  • Update test to reflect proper ref_positions and other attributes

  • Fix QWC inference across amplicons (#137)

  • Mckay/be plot improvements (#136)

  • trying to get the figure to fit nicely, increased element size to 100

  • custom figsize to display without cutting off

increased figsize in report template

  • Allow messages to be served in CLI reports (#134) (#583)

  • Fix deletion at second position (#131)

  • Fix bug when there is a deletion starting at the second position

This bug only happens when a deletion starts are the second position, before the fix, it would report that the deletion started at the first position. It is fixed now, so deletions at the second position are reported correctly.

  • Update CRISPRessoCOREResources.c due to change in .pyx

  • Add tests for find_indels_substitutions for deletions at the end

  • Fix 1bp deletions at the end, and off by one error

This ensures that when a deletion occurs at the end of a read, the entire deletion is accounted for.

  • Update CRISPRessoCOREResources.c to reflect fixes for deletions at the end of alignments

  • Add extra asserts to deletion checks

  • Point to new test branch

  • Reafctor deletion_coordinates to go past the end of the string for deletions at the end of the sequence

  • Point tests to master

  • Allow messages to be served in CLI reports

  • Point to cole/messages test branch

  • Point tests back to master

  • point to tests branch

  • typo

  • testing github actions

  • remove test

  • point tests to master


  • Update inferred QWC tests to reflect correct intended behavior

  • Fix inferring QWC to match intended behavior

  • Add more test cases and fix bug discovered in single bp QWC

  • Add even more test cases testing indels outside the QWC

  • Point tests to cole/fix-qwc-deletion

  • update plotly.js (#138)

  • Change order of amplicon inference alignment so that 1st amplicon is the reference

This makes a difference because it changes the values of s1inds, and therefore the value of the inferred quantification window coordinates.

  • Point integration tests back to master

  • Update CHANGELOG.md


  • Fix a bug for --bam_output when there are unaligned reads (#144)

  • Fix BAM output when there are unaligned reads

  • Point tests to cole/unaligned-reads

  • Update CHANGELOG.md

  • Fix typo in tests branch name

  • Point tests back to master

  • Add VCF testing and verification design document

Documents the strategy for integration testing the –vcf_output feature using golden file comparison with syn-gen synthetic data.

  • Change name of output VCF file

  • Point tests to vcf-parameters

  • Add writers module refactor design document

Documents plan to move VCF output code from CRISPRessoUtilities.py to a new writers/ module structure.

  • Refactor VCF code into writers/ module

Move CRISPRessoUtilities.py to writers/vcf.py to establish a pattern for organizing output writers. Update imports in CRISPRessoCORE.py and relocate tests to test_writers/test_vcf/.

  • Remove the FORMAT column from VCF and add the contig length to VCF headers

  • Initial VCF simplication writing each edit on its own line

  • Further simplification of VCF output code

  • Left align deletions for VCF output

  • Left-normalize insertions for VCF output

  • Update CLAUDE.md with design_docs

  • Update Github Actions with Pooled Prime Editing and VCF basic and VCF Prime Edit Basic

  • Update integration tests to run in parallel

  • Add VCF path to crispresso2_info

  • Point the tests back to cole/vcf-parameters

  • Always save the conda env cache in Github Actions

  • Debug: add set +e and per-target error reporting in integration tests

setup-miniconda@v3 injects ‘set -eo pipefail’ into ~/.profile, which is sourced by bash -l. This causes make commands to fail silently. Adding set +e at script start and explicit per-target error annotations.

  • Attempt to fix conda cache in GitHub Actions

  • Update CHANGELOG.md and parameter descriptions

  • Remove unused nullcontext import

  • Remove extra blank lines after amplicon_coordinates validation

  • Document that –vcf_output implies –write_detailed_allele_table

  • Use max amplicon length for VCF contig headers and warn on collision

When multiple amplicons map to the same chromosome, the contig header now uses the max amplicon length instead of silently overwriting with the last one seen. A warning is logged when this occurs.

  • Fix VCF POS off-by-one for start-of-amplicon deletions when pos > 1

For deletions starting at position 0 of the amplicon, the VCF POS was computed as pos-1 instead of pos. The max(1,…) clamp accidentally masked this when pos=1 (all existing tests). With pos>1, VCF POS pointed one base before the amplicon.

Fix: when start==0, set left_index=pos directly instead of pos+start-1.

  • Fix multi-insertion bug: use alignment index to extract inserted bases

_edits_from_insertions treated the second element of insertion_coordinates as an alignment index, but it is actually a reference position. These coincide for single-insertion reads but diverge when prior insertions shift alignment indices.

Fix: convert right_anchor_ref_pos to an alignment index via ref_positions.index(), then extract the size characters before it.

Also:

  • Rename misleading variables (right_anchor_ref_pos was actually left anchor, aligned_start was actually right anchor ref pos)
  • Add comment on defensive ref_len branch explaining it is currently unreachable
  • Update LEFT_NORMALIZATION.md to correctly describe the insertion_coordinates format
  • Add clarifying example to help text of –amplicon_coordinates

  • Remove planning documents

  • Point tests back to master

  • Update PR number in CHANGELOG.md

  • Cache the conda environment for pytest as well


  • clamp cut point within exon region if not in list, set to 0

  • point tests to new branch

  • fix cut_point calculation

  • Cole’s changes

  • Add discovery of Python packages (#151)

  • Fix Docker entrypoint

  • Attempt to fix Circle CI pip install

  • Run each CRISPResso command in the conda environment

  • Update --base_editor_output parameter name for Circle CI

  • Update tests Makefile and batch expected output

  • Fix QWC inference across amplicons (#137)

  • Mckay/be plot improvements (#136)

  • trying to get the figure to fit nicely, increased element size to 100

  • custom figsize to display without cutting off

increased figsize in report template

  • Allow messages to be served in CLI reports (#134) (#583)

  • Fix deletion at second position (#131)

  • Fix bug when there is a deletion starting at the second position

This bug only happens when a deletion starts are the second position, before the fix, it would report that the deletion started at the first position. It is fixed now, so deletions at the second position are reported correctly.

  • Update CRISPRessoCOREResources.c due to change in .pyx

  • Add tests for find_indels_substitutions for deletions at the end

  • Fix 1bp deletions at the end, and off by one error

This ensures that when a deletion occurs at the end of a read, the entire deletion is accounted for.

  • Update CRISPRessoCOREResources.c to reflect fixes for deletions at the end of alignments

  • Add extra asserts to deletion checks

  • Point to new test branch

  • Reafctor deletion_coordinates to go past the end of the string for deletions at the end of the sequence

  • Point tests to master

  • Allow messages to be served in CLI reports

  • Point to cole/messages test branch

  • Point tests back to master

  • point to tests branch

  • typo

  • testing github actions

  • remove test

  • point tests to master


  • Update inferred QWC tests to reflect correct intended behavior

  • Fix inferring QWC to match intended behavior

  • Add more test cases and fix bug discovered in single bp QWC

  • Add even more test cases testing indels outside the QWC

  • Point tests to cole/fix-qwc-deletion

  • update plotly.js (#138)

  • Change order of amplicon inference alignment so that 1st amplicon is the reference

This makes a difference because it changes the values of s1inds, and therefore the value of the inferred quantification window coordinates.

  • Point integration tests back to master

  • Update CHANGELOG.md


  • Update setup.py and pyproject.toml to find all modules and packages

  • Convert pyproject.toml to Unix file endings


  • Update CHANGELOG.md

  • Fix ruff linting

  • Diff plots (#158)

  • Run diffs on the plots in integration tests

  • Correct diff-plots now

  • Pin matplotlib in test dependencies and update running integration tests

  • Fix cross-pollution of integration tests

  • Install MS core fonts in CI for consistent plot rendering

CRISPResso2 requests Arial as the primary font via matplotlib’s font.sans-serif setting. Without MS core fonts installed, the CI runner falls back to a different font, causing upset plots (and potentially others) to exceed the RMSE image comparison threshold.

This matches the Dockerfile which already installs ttf-mscorefonts-installer. Also clears matplotlib’s font cache so it discovers the newly installed fonts.

  • Remove matplotlib pin in tests and don’t run diff-plots with Pro

  • Reorder base edit plots and update caption in Compare

  • Rebuild pixi fontconfig cache after MS font installation in CI

The pixi/conda environment has its own fontconfig with a separate font cache (.pixi/envs/test/var/cache/fontconfig/). When the pixi environment is restored from actions/cache, this fontconfig cache is stale and doesn’t know about the MS core fonts installed via apt-get. Running the system fc-cache only updates the system fontconfig, not the pixi one.

Fix: run ‘pixi run -e test – fc-cache -f’ to rebuild the pixi fontconfig cache so that matplotlib’s findSystemFonts() discovers Arial via the pixi fc-list.

  • Update base editing caption in compare

  • Sort Compare allele plots by aligned sequence as well

  • Attempt to fix sorting of compare allele plots

  • Sort the df being passed into the plot in compare!

  • Sort the bottom compare plots too!

  • Make the tiebreaking logic in compare enrichment consistent

  • Cache MS fonts in pixi

  • Point integration tests back to master and revert pixi.toml

  • Fix mutating args directly in compare

  • Fix issue 612, coding_seq filename too long (#152)

  • Add discovery of Python packages (#151)

  • Fix Docker entrypoint

  • Attempt to fix Circle CI pip install

  • Run each CRISPResso command in the conda environment

  • Update --base_editor_output parameter name for Circle CI

  • Update tests Makefile and batch expected output

  • Fix QWC inference across amplicons (#137)

  • Mckay/be plot improvements (#136)

  • trying to get the figure to fit nicely, increased element size to 100

  • custom figsize to display without cutting off

increased figsize in report template

  • Allow messages to be served in CLI reports (#134) (#583)

  • Fix deletion at second position (#131)

  • Fix bug when there is a deletion starting at the second position

This bug only happens when a deletion starts are the second position, before the fix, it would report that the deletion started at the first position. It is fixed now, so deletions at the second position are reported correctly.

  • Update CRISPRessoCOREResources.c due to change in .pyx

  • Add tests for find_indels_substitutions for deletions at the end

  • Fix 1bp deletions at the end, and off by one error

This ensures that when a deletion occurs at the end of a read, the entire deletion is accounted for.

  • Update CRISPRessoCOREResources.c to reflect fixes for deletions at the end of alignments

  • Add extra asserts to deletion checks

  • Point to new test branch

  • Reafctor deletion_coordinates to go past the end of the string for deletions at the end of the sequence

  • Point tests to master

  • Allow messages to be served in CLI reports

  • Point to cole/messages test branch

  • Point tests back to master

  • point to tests branch

  • typo

  • testing github actions

  • remove test

  • point tests to master


  • Update inferred QWC tests to reflect correct intended behavior

  • Fix inferring QWC to match intended behavior

  • Add more test cases and fix bug discovered in single bp QWC

  • Add even more test cases testing indels outside the QWC

  • Point tests to cole/fix-qwc-deletion

  • update plotly.js (#138)

  • Change order of amplicon inference alignment so that 1st amplicon is the reference

This makes a difference because it changes the values of s1inds, and therefore the value of the inferred quantification window coordinates.

  • Point integration tests back to master

  • Update CHANGELOG.md


  • Update setup.py and pyproject.toml to find all modules and packages

  • Convert pyproject.toml to Unix file endings


  • added func: get_short_seq_id, that truncates long sequence, and adds unique identifier.

  • point to tests branch

  • mmm

  • Sam/pixi integration tests (#156)

  • Guardrail dropdowns (#155)

  • Add discovery of Python packages (#151)

  • Fix Docker entrypoint

  • Attempt to fix Circle CI pip install

  • Run each CRISPResso command in the conda environment

  • Update --base_editor_output parameter name for Circle CI

  • Update tests Makefile and batch expected output

  • Fix QWC inference across amplicons (#137)

  • Mckay/be plot improvements (#136)

  • trying to get the figure to fit nicely, increased element size to 100

  • custom figsize to display without cutting off

increased figsize in report template

  • Allow messages to be served in CLI reports (#134) (#583)

  • Fix deletion at second position (#131)

  • Fix bug when there is a deletion starting at the second position

This bug only happens when a deletion starts are the second position, before the fix, it would report that the deletion started at the first position. It is fixed now, so deletions at the second position are reported correctly.

  • Update CRISPRessoCOREResources.c due to change in .pyx

  • Add tests for find_indels_substitutions for deletions at the end

  • Fix 1bp deletions at the end, and off by one error

This ensures that when a deletion occurs at the end of a read, the entire deletion is accounted for.

  • Update CRISPRessoCOREResources.c to reflect fixes for deletions at the end of alignments

  • Add extra asserts to deletion checks

  • Point to new test branch

  • Reafctor deletion_coordinates to go past the end of the string for deletions at the end of the sequence

  • Point tests to master

  • Allow messages to be served in CLI reports

  • Point to cole/messages test branch

  • Point tests back to master

  • point to tests branch

  • typo

  • testing github actions

  • remove test

  • point tests to master


  • Update inferred QWC tests to reflect correct intended behavior

  • Fix inferring QWC to match intended behavior

  • Add more test cases and fix bug discovered in single bp QWC

  • Add even more test cases testing indels outside the QWC

  • Point tests to cole/fix-qwc-deletion

  • update plotly.js (#138)

  • Change order of amplicon inference alignment so that 1st amplicon is the reference

This makes a difference because it changes the values of s1inds, and therefore the value of the inferred quantification window coordinates.

  • Point integration tests back to master

  • Update CHANGELOG.md


  • Update setup.py and pyproject.toml to find all modules and packages

  • Convert pyproject.toml to Unix file endings


  • Guardrail dropdowns

  • Revert changes to .c files

  • Closed guardrail warning by default

  • .c fix

  • Revert .c files to match master

  • Revert .c files back to master

  • Update CHANGELOG.md

  • Update CHANGELOG.md


  • Run integration tests

  • Fix pixi env

  • Remove pro from pixi.toml

  • Pull branches

  • Adding Pro token

  • Add pip install kaleido for pro tests

  • Pro compare

  • Pin plotly

  • Pin kaleido

  • Fix kaleido pin

  • Fix pixi plotly pin

  • Ruff fix

  • Update integration_tests.yml

Remove branch ref for Pro

  • Run the diffs and print the results in integration tests

  • Point tests to master


  • lint

  • Mckay/upsetplot port (#154)

  • new arg

  • Diff plots (#158)

  • Run diffs on the plots in integration tests

  • Correct diff-plots now

  • Pin matplotlib in test dependencies and update running integration tests

  • Fix cross-pollution of integration tests

  • Install MS core fonts in CI for consistent plot rendering

CRISPResso2 requests Arial as the primary font via matplotlib’s font.sans-serif setting. Without MS core fonts installed, the CI runner falls back to a different font, causing upset plots (and potentially others) to exceed the RMSE image comparison threshold.

This matches the Dockerfile which already installs ttf-mscorefonts-installer. Also clears matplotlib’s font cache so it discovers the newly installed fonts.

  • Remove matplotlib pin in tests and don’t run diff-plots with Pro

  • Reorder base edit plots and update caption in Compare

  • Rebuild pixi fontconfig cache after MS font installation in CI

The pixi/conda environment has its own fontconfig with a separate font cache (.pixi/envs/test/var/cache/fontconfig/). When the pixi environment is restored from actions/cache, this fontconfig cache is stale and doesn’t know about the MS core fonts installed via apt-get. Running the system fc-cache only updates the system fontconfig, not the pixi one.

Fix: run ‘pixi run -e test – fc-cache -f’ to rebuild the pixi fontconfig cache so that matplotlib’s findSystemFonts() discovers Arial via the pixi fc-list.

  • Update base editing caption in compare

  • Sort Compare allele plots by aligned sequence as well

  • Attempt to fix sorting of compare allele plots

  • Sort the df being passed into the plot in compare!

  • Sort the bottom compare plots too!

  • Make the tiebreaking logic in compare enrichment consistent

  • Cache MS fonts in pixi

  • Point integration tests back to master and revert pixi.toml

  • Fix mutating args directly in compare

  • Make the parameter names consistent across the code

  • Point tests to master


  • Remove sgRNA parameters from plot_amino_acid_heatmap

  • Update CHANGELOG.md

  • Point tests to master


  • Styles update

  • Final reports fixes

  • cut_idx = None (#162)

  • cut_idx = None

  • cut point fix

  • remove comments

  • docstring, remove unused var

  • ruff

  • space

  • space

  • remove error handling. the starting index is guaranteed to be preset in ref_positions.

  • Point tests to master


  • Invalidate stale pixi cache (v2) to fix libcblas.so.3 ImportError

The cached .pixi directory became corrupted/stale, causing numpy 2.4.3 to fail with ‘libcblas.so.3: cannot open shared object file’. Bumping the cache key version forces a fresh environment install.

  • Center header

Co-authored-by: Samuel Nichols Snic9004@gmail.com Co-authored-by: mbowcut2 55161542+mbowcut2@users.noreply.github.com Co-authored-by: Claude Opus 4.6 noreply@anthropic.com Co-authored-by: Trevor Martin trevormartinj7@gmail.com Co-authored-by: kclem k.clement.dev@gmail.com

15天前558次提交

Docker Image Version (tag) CircleCI branch install with bioconda Documentation

CRISPResso2

CRISPResso2 is a software pipeline designed to enable rapid and intuitive interpretation of genome editing experiments. A limited web implementation is available at: https://crispresso2.pinellolab.org/.

Briefly, CRISPResso2:

  • aligns sequencing reads to a reference sequence
  • quantifies insertions, mutations and deletions to determine whether a read is modified or unmodified by genome editing
  • summarizes editing results in intuitive plots and datasets

Access the full documentation at https://docs.crispresso.com.

In addition, CRISPResso can be run as part of a larger tool suite:

  • CRISPRessoBatch - for analyzing and comparing multiple experimental conditions at the same site
  • CRISPRessoPooled - for analyzing multiple amplicons from a pooled amplicon sequencing experiment
  • CRISPRessoWGS - for analyzing specific sites in whole-genome sequencing samples
  • CRISPRessoCompare - for comparing editing between two samples (e.g., treated vs control)
  • CRISPRessoAggregate - for aggregating results from previously-run CRISPResso analyses

CRISPResso2 Schematic

Installation

CRISPResso2 can be installed in the following ways:

Examples

Troubleshooting

If you run into any issues, check out the Troubleshooting page or submit a new discussion.

关于

CRISPR/Cas9基因编辑实验数据分析与质量评估工具

29.6 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802032778号