Skip to content

Releases: IGS/FADU

v1.9.1

01 Aug 18:21
Compare
Choose a tag to compare

Full Changelog: v1.9.0...v1.9.1

Basic version updates

v1.9.0

13 Feb 16:19
Compare
Choose a tag to compare

Full Changelog: v1.8.3...v1.9.0

  • FEATURE - Adding --no_output_header option to not print the header line in output. Useful for when you want to pipe this output to another tool.
  • FEATURE - Adding --exclude_regions option to exclude any regions found in a passed-in BED file.
  • FEATURE - Adding --log_file and --log_level options to display or hide log messages of varying severity. Note that currently --log_level=DEBUG will print the line number, as I haven't figured out how to disable that for debug-level messages yet.
  • Optimized some pieces of code for speed (thanks Github Copilot). This should increase the speed where a GFF feature has 100,000s of overlaps with the BAM alignments
  • Updating package versions and Julia version

v1.8.3

20 Jun 02:34
Compare
Choose a tag to compare
  • BUGFIX - Changed thrown FileNotFoundException to SystemError as the former does not exist in Julia
  • BUGFIX - Correcting refindex check (see commit BioJulia/XAM.jl@8b7a2ec). This addresses issue #4.
  • Added descriptors to the project.toml file

v1.8.2

15 Apr 13:42
Compare
Choose a tag to compare

CHANGELOG

  • BUGFIX - Fixed edge case where the alignment overlap iterator would attempt to read a stream block past the end of the BAM.Reader file
  • BUGFIX - converting vectorized operation to array comprehension to fix a potential broadcasting "dimension mismatch" error

v1.8

26 Jul 01:57
Compare
Choose a tag to compare
  • Update packages and code to be compatible with Julia v1.4.2

v1.7

30 Mar 19:37
Compare
Choose a tag to compare

Changes for v1.7

  • Changed the Set of nonoverlapping coords to a BitSet, which significantly sped up execution
  • Rewrote some of the EM algorithm to use a dictionary of StructArrays, which speeds up execution
  • Other various performance tweaks

v1.6.1

16 Mar 17:50
Compare
Choose a tag to compare

Changelog for version 1.6.1

  • BUGFIX - Fixing issue with generating uniq coordinates dictionary using unstranded data if the "+" strand key for a sequence ID is not already present.
  • Added a try/catch block for improperly-formatted GFF3 files. If the file is improper formatting (such as non-URL-escaped '=' in a attribute tag key), the GFF3 Reader from BioJulia will throw an error, which is something out of the control of FADU.jl

v1.6

31 Oct 14:46
Compare
Choose a tag to compare

CHANGELOG for the v1.6 release

  • FEATURE - Added "--em_iterations" option to use the Expectation-Maximization algorithm to re-add and allocate multimapped alignment records based on the proportion of the feature counts derived from singly-mapped reads.
  • FEATURE - I recently learned that the BioAlignments package takes advantage of multithreading with respect to reading the BAM file. So therefore, FADU supports multithreading. This can be achieved by running "export JULIA_NUM_THREADS=#" before running FADU where # is the number of threads you want to use.
  • DELETION - Due to the rewriting, the "--chunk_size" option has been removed.
  • Changed nested dictionary information for each feature (num_alignments, feat_counts, coords_set) into a mutable struct, which shaved off some slight runtime
  • Rewriting how FADU processes overlaps. Instead of reading by chunks of BAM alignments and processing all overlaps of those alignments to all features, FADU will process overlaps of all BAM alignment records for a feature-by-feature basis. This results in faster performance speed.
  • Created new "include" file alignment_overlap.jl, which implements a custom version of the "eachoverlaps" function to handle both fragments and reads accordingly.
  • Created new "include" file bam_record.jl, which houses some functions that work on Record types.
  • Renamed some variables and functions to adhere to Julia styling conventions
  • Rewrote step to get nonoverlapping coordinates for each reference sequence in the GFF, which should speed up that step, particularly with larger annotation files

v1.5

26 Jul 13:34
Compare
Choose a tag to compare
  • FEATURE - If the --remove_multimapped option is not enabled, multimapped reads/fragments will be added to feature quantification using the Expectation-Maximization algorithm
  • DELETION - Removing --min_mapping_quality argument. All multimapped reads will be 0 or 1, so this argument seemed unnecessary.
  • Small optimization in creating the GenomicFeatures IntervalCollection, by parsing out just the feature types wanted from the get go instead of later on.
  • Removed "uniq_coords" argument from the "process_overlaps" function since it was unused.
  • Removed "feature" argument from the "compute_align_feat_set" function since it was unused.
  • Renamed 'feat_depth' keys to 'feat_counts' and 'counter' keys to 'num_alignments' to better align to proper terminology

v1.4

13 Dec 19:43
Compare
Choose a tag to compare

v1.4

  • BUGFIX - Corrected TPM counts
  • BUGFIX - Corrected overcounting of the individual alignment-feature overlap counts*
  • FEATURE - Added --min_mapping_quality argument to only keep reads that surpass this min quality score
  • More tweaks for speed (about 30% faster than v1.3)
  • Renamed a bunch of "fragment" variables to "alignment" since many of these variables also represented reads