Repository navigation
Package conversion - #17
Merged
Merged
Conversation
- Move code into module FADU under src/, with Project.toml and Manifest.toml at the repository root; fadu.jl is now a thin launcher so `julia fadu.jl <options>` keeps working - main() takes the argument list and returns an exit code; it is marked with @main for `julia -m FADU` and Pkg apps on Julia 1.11+ - Precompile FADU using the tiny test dataset as a PrecompileTools workload (about 3x faster startup) - Rename the internal BAM overlap iterator to eachalignmentoverlap so it no longer overwrites XAM's GenomicFeatures.eachoverlap method, which precompilation does not allow - Add test/runtests.jl for Pkg.test(), move the tiny dataset to test/data, and add GitHub Actions CI on Julia 1.10 and 1.12 - Add an experimental `fadu` Pkg app entry - Docker image now precompiles FADU and uses /data as working directory - Update README, docs, NOTES and CHANGELOG Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The unstranded branch of remove_excluded_regions! used the String "+" as a
key in a Dict{Char, BitSet}, so any run without --stranded yes/reverse
failed with a MethodError. Use the Char '+' to match the keys built by
create_uniq_coords_dict, and add regression tests covering stranded and
unstranded exclusion.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request delivers a major update (v1.10.0) that transitions FADU into a proper Julia package, improves installation, testing, and usage workflows, and enhances documentation and Docker support. The changes streamline user experience by enabling precompilation for faster startup, introducing GitHub Actions CI, and providing new installation and command-line options. The Docker image and documentation have been updated to reflect these improvements and simplify usage.
Release and packaging improvements:
module FADU), with code insrc/, and root-levelProject.tomlandManifest.toml. Precompilation is enabled using PrecompileTools and the test dataset, resulting in significantly faster startup times. Experimental support for installingfaduas a command-line app viaPkg.Apps.add(Julia v1.12+) is also added. [1] [2] [3]Continuous integration and testing:
.github/workflows/CI.yml) to run tests on Julia v1.10 and v1.12 across Ubuntu and macOS. The test suite is now run viaPkg.test()and uses a relocated regression dataset intest/data. [1] [2] [3]Docker improvements:
/data(matching the host's current directory), simplifying file mounting and usage. [1] [2] [3]Documentation updates:
fadu_pkgsandtest_data/tinyare replaced. Package requirements are clarified, and new notes for maintainers are added inNOTES.md. [1] [2] [3] [4] [5]Bugfixes and internal changes:
--exclude_regions_filecould crash in unstranded mode. Renamed the internal BAM overlap iterator toeachalignmentoverlapto avoid method conflicts in precompiled packages.These changes collectively modernize FADU's development and user workflows, making it easier to install, test, and run in various environments.