Changelog¶
All notable changes to this project will be documented in this file.
2.0.0-beta16 - 2025-09-17¶
Features¶
Add nf-test (6f801af)
Add nf-test to check DRAM2 vs DRAM1 output as well as a way to snapshot test DRAM2 changes for major changes in the future. First tests include annotation.tsv checks and fixes.
Bug¶
Fix TRNA_COLLECT and COMBINE_ANNOTATIONS for large # inputs (319ba9b)
rewrite TRNA_COLLECT to use pandas vectorized functions instead of embedded for loops to significantly streamline creation of collected_trnas.tsv with large # of inputs. Now instead of taking hours or days, it will run in seconds or minutes.
rewrite COMBINTE_ANNOTATIONS to take directories of inputs instead of a cli list of files so that when you have thousands and thousands of mags or assemblies you don’t run into your system’s ARG_MAX.
2.0.0-beta15 - 2025-08-27¶
What’s Changed¶
Bugfixes with passing in already called genes by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/439
Bugfixes with passing in rrna sheets and trna sheets
Bugfixees for namespace errors for starting from called genes that caused runs to crash
Add in non hit genes back into raw annotations like they were in DRAM1 by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/439
Allow job limits (cpu, mem, time) be controlled by config by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/440
Add adjectives CAZy parsing and ability to pass in custom rules sheet by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/441
2.0.0-beta13 - 2025-07-29¶
Bug Fixes¶
Fix bug with combine annotations nf getting files not as paths (and not getting staged properly) (06b5294)
What’s Changed¶
Fix issues with combine annotations and distill sheets binding issues, by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/436
Package/update nf core template by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/437
2.0.0-beta12 - 2025-07-08¶
What’s Changed¶
Fix bug where merops annotation didn’t extract family and distill didn’t have family to use by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/433
2.0.0-beta11 - 2025-06-11¶
What’s Changed¶
Add slurm_node config option (nodelist) by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/429
2.0.0-beta10 - 2025-06-07¶
What’s Changed¶
Feature/adjectives MVP - Add in adjectives minimum viable product by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/423
Add a contributing docs page by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/424
Bugfix/merops in distill not correct - Merops wasn’t showing up in Distill, revert distill implementation to DRAM1 code by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/428
Bug discovered with Pfam annotations and distill in DRAM2, Pfam has been disabled for the time being and will be reenabled in the next release or two.
2.0.0-beta9 - 2025-05-22¶
Bugfix¶
In the last version of DRAM2, due to column renames not making it to dram_vix, cazy (dbcan), merops, and pfam all were not being process correctly from DRAM2’s annotation file. This led to them just not showing up in the resulting product. Now they should show up, but still have support for the older format that is outputted in DRAM1.
Update dram_viz to 0.1.7 because of product bugfix about column names. See dram_viz release 0.1.7
2.0.0-beta7 - 2025-05-12¶
What’s Changed¶
Prodigal mode update and quast L50 output by @madeline-scyphers in 0a82b03ea577debd5d83d0e355c61a53697f69ad
Add camper distill option by @madeline-scyphers in 9d0f087362a6371686015451c6c6da779df16fe0
Add check for kegg,ko,dbcan, or merops when running distill by @madeline-scyphers in 8bfbe3146dd8d00a445d70303e757ef186171253
Update distill sheets by @jmikayla1991 in f2b5d74e7cf82251575ed99e87174247d68127e5 and e6c82c48f5a03abb1f6b9c9248b037c4dc4ec264 and 2e860f5b5a07b8a5afe4d0287ba9dd90a0c82d7f
Docs/add sphinx by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/414
Update sphinx theme by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/415
Update config for nf-schema and readthedocs by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/418
2.0.0-beta6 - 2025-04-03¶
What’s Changed¶
Replace sample with input_fasta for output by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/404
Changing rename to run all fasta at once instead of 1 at a time by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/406
Package/refactor for older nextflow by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/407
Docs/update docs for new refactor by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/409
Package/restructure to nf core style by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/410
BREAKING¶
Old DRAM2 config no longer works, please replace with new DRAM2 config
Summary¶
Move to nf-core style nextflow structure. Allowing more flexibility, easier user deployment on different HPC environments and easier user customization (such as customizing memory and time per job easier). Other benefits include a community of support, developed Nextflow tools and plugins that we can and are now tapping to. Easier testing. Already written instition HPC configs, and more.
Replace sample with input_fasta for output in DRAM 1, output (like raw-annotations) like had the column fasta in DRAM 2 it was renamed to sample, which is incorrect since it isn’t the sample, it is the fasta. Reverting it to fasta like in DRAM 1 is a bit more logistically difficult because a large number of nf processes (nf functions), and some python files use fasta for the fastas file paths. So replacing sample with fasta would cause collisions, and therefore we would need to first replace all fasta keyworks with something like fasta_path and then all sample with fasta. This route was easier and probably less likely to introduce bugs.
Changing rename to run all fasta at once instead of 1 at a time rename currently runs 1 fasta at a time which means for things like slurm it submits 1 job per fasta. rename takes in the realm of seconds. It is much more efficient to batch them together.
downgrade nf-schema to 2.0.1 so nextflow can be down to 23 or even 22… … something so known users stuck on 23.something can use DRAM 2
Update modules code to include wave seqera container using wave-cli, with cmd for every module in modules/local, then adding the outputted url to container outputer.url for the modules nextflow script, under the conda line. This allows users to not just use conda, but also containers, and we don’t have to build them Ideally this would be added to a CI, but I haven’t see where nf-core is doing that with a CI yet.
Add processes to modules.conf Add processes to modules.conf to add publishDir information so they output their contents where I want them to. Also added process labels to processes so that NF knows cpus, memory, and time limits to give different processes.
2.0.0-beta5 - 2024-11-05¶
Fix typo causing bug in main script
2.0.0-beta4 - 2024-11-05¶
What’s Changed¶
Give default to ch_distill_sql_script since it is used always in annotations by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/383
Bugfix/path creation bug by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/385
Feature/kegg pep directory by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM/pull/387
2.0.0-beta3 - 2024-10-15¶
What’s Changed¶
DRAM v2 is wrapped in Nextflow due to its innate scalability on HPCs and containerization, ensuring rigorous reproducibility and version control, thus making it ideally suited for high-performance computing environments. It was also containerized to give users the option to use with Docker, Singularity or other container runtimes, or still with Conda. Databases have also now been largely preformatted for users. All of this is part of the goal making DRAM easier to install and use, as well as easier to scale.
Pre Beta¶
Nextflow initial wrapping
DRAM package restructuring for Nextflow
Database preformatting changes
Containerization
Previous Betas from old repo¶
Beta 1¶
Removed hard-coded slurm node and slurm_queue in nextflow.config by @BioRRW in https://github.com/WrightonLabCSU/DRAM2/pull/1
Dev by @BioRRW in #2 - https://github.com/WrightonLabCSU/DRAM2/pull/13
Visualizations/make product by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM2/pull/12
Dev by @BioRRW in https://github.com/WrightonLabCSU/DRAM2/pull/14
Visualizations/docstrings by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM2/pull/15
Add README to visualization package by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM2/pull/16
Viz/move viz to installable package by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM2/pull/20
Feature/kegg db formatting by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM2/pull/23
Package/add docker file by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM2/pull/24
Kegg formating, docker, visualization package, dev notes by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM2/pull/19
Beta2¶
Replace many ./ paths with using NF’s projectDir variable by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM2/pull/25
Config/split config by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM2/pull/26
Update docs with new install instructions by @madeline-scyphers in https://github.com/WrightonLabCSU/DRAM2/pull/27
Beta 3¶
Move from DRAM2 name back to DRAM
Moving DRAM Nextflow Configuration to split better between internal and user