From cb81ad82358569d8e652105703543b0bba229b7f Mon Sep 17 00:00:00 2001 From: gbouras13 Date: Fri, 26 Sep 2025 09:38:50 +0930 Subject: [PATCH 1/3] Fix #73 Add --keep_fastqs for plassembler long --- src/plassembler/__init__.py | 18 ++++++++++++++---- src/plassembler/utils/cleanup.py | 1 + tests/test_end_to_end.py | 9 +++++++++ 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/plassembler/__init__.py b/src/plassembler/__init__.py index cdcac8b..bdb6f2c 100644 --- a/src/plassembler/__init__.py +++ b/src/plassembler/__init__.py @@ -72,6 +72,10 @@ def begin_plassembler(outdir, force): # get start time start_time = time.time() + + # ensure sys exit if error + logger.add(lambda _: sys.exit(1), level="ERROR") + # instantiate the outdir # remove outdir on force if force is True: @@ -94,8 +98,7 @@ def begin_plassembler(outdir, force): log_file = os.path.join(outdir, f"plassembler_{start_time}.log") # adds log file logger.add(log_file) - # ensure sys exit if error - logger.add(lambda _: sys.exit(1), level="ERROR") + logger.info(f"You are using Plassembler version {get_version()}") logger.info("Repository homepage is https://github.com/gbouras13/plassembler") @@ -1276,6 +1279,11 @@ def long_options(func): help="Use --nano-raw for Flye. \nDesigned for Guppy fast configuration reads. \nBy default, Flye will assume SUP or HAC reads and use --nano-hq.", is_flag=True, ), + click.option( + "--keep_fastqs", + help="Whether you want to keep FASTQ files containing putative plasmid reads \nand long reads that map to multiple contigs (plasmid and chromosome).", + is_flag=True, + ), click.option( "--keep_chromosome", help="If you want to keep the chromosome assembly.", @@ -1341,6 +1349,7 @@ def long( pacbio_model, skip_qc, raw_flag, + keep_fastqs, keep_chromosome, flye_directory, flye_assembly, @@ -1371,6 +1380,7 @@ def long( logger.info(f"--force is {force}") logger.info(f"--skip_qc is {skip_qc}") logger.info(f"--raw_flag is {raw_flag}") + logger.info(f"--keep_fastqs is {keep_fastqs}") logger.info(f"--pacbio_model is {pacbio_model}") logger.info(f"--keep_chromosome is {keep_chromosome}") logger.info(f"--flye_directory is {flye_directory}") @@ -1518,7 +1528,7 @@ def long( outdir, prefix, False, # unicycler success - False, # keep fastqs + False, # keep fastqs will be false here as no chromosome False, # assembled mode True, # long only False, # raven false @@ -1730,7 +1740,7 @@ def long( outdir, prefix, unicycler_success, # unicycler success - False, # keep fastqs + keep_fastqs, # keep fastqs False, # assembled mode True, # long only False, # no raven diff --git a/src/plassembler/utils/cleanup.py b/src/plassembler/utils/cleanup.py index 2bb4fd4..82ac743 100644 --- a/src/plassembler/utils/cleanup.py +++ b/src/plassembler/utils/cleanup.py @@ -81,6 +81,7 @@ def move_and_copy_files( :param out_dir: Output Directory :param prefix: prefix :param unicycler_success_flag: whether or not unicycler worked + :param keep_fastqs: whether to keep FASTQs :param assembled_mode: whether or not unicycler worked :param long_only: whether or not unicycler worked :param use_raven: whether or not unicycler worked diff --git a/tests/test_end_to_end.py b/tests/test_end_to_end.py index 4d88550..f85e73a 100644 --- a/tests/test_end_to_end.py +++ b/tests/test_end_to_end.py @@ -287,6 +287,15 @@ def test_plassembler_long(self): exec_command(cmd) remove_directory(outdir) + def test_plassembler_long_keep_fastqs(self): + """test plassembler long""" + longreads: Path = f"{end_to_end}/input_fastq.gz" + chromosome = 50000 + outdir: Path = f"{end_to_end}/test_out_keep_fastqs" + cmd = f"plassembler long -l {longreads} -c {chromosome} -d {plassembler_db_dir} -o {outdir} -t 8 -f --keep_fastqs" + exec_command(cmd) + remove_directory(outdir) + def test_plassembler_long_skipmash(self): """test plassembler long --skip_mash - no need for -d""" longreads: Path = f"{end_to_end}/input_fastq.gz" From 61985e5676625177b414f459ed2261f6503b4998 Mon Sep 17 00:00:00 2001 From: gbouras13 Date: Sat, 27 Sep 2025 10:00:38 +0930 Subject: [PATCH 2/3] Fix #74 --- src/plassembler/__init__.py | 2 -- src/plassembler/utils/no_assembly.py | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/plassembler/__init__.py b/src/plassembler/__init__.py index bdb6f2c..74decf9 100644 --- a/src/plassembler/__init__.py +++ b/src/plassembler/__init__.py @@ -72,7 +72,6 @@ def begin_plassembler(outdir, force): # get start time start_time = time.time() - # ensure sys exit if error logger.add(lambda _: sys.exit(1), level="ERROR") @@ -99,7 +98,6 @@ def begin_plassembler(outdir, force): # adds log file logger.add(log_file) - logger.info(f"You are using Plassembler version {get_version()}") logger.info("Repository homepage is https://github.com/gbouras13/plassembler") logger.info("Written by George Bouras: george.bouras@adelaide.edu.au") diff --git a/src/plassembler/utils/no_assembly.py b/src/plassembler/utils/no_assembly.py index 4c6e4bc..09a0280 100644 --- a/src/plassembler/utils/no_assembly.py +++ b/src/plassembler/utils/no_assembly.py @@ -39,4 +39,4 @@ def create_fake_flye_chromosome_info(assembly_info_file: Path) -> None: } flye_info_df = pd.DataFrame(data) - flye_info_df.to_csv(assembly_info_file, index=False) + flye_info_df.to_csv(assembly_info_file, sep="\t", index=False) From 2fd8531fc335e38e42b4aedca8f6bf2d793b8683 Mon Sep 17 00:00:00 2001 From: gbouras13 Date: Sat, 27 Sep 2025 10:03:09 +0930 Subject: [PATCH 3/3] bump vesion --- HISTORY.md | 21 +++++++++++++++++++++ pyproject.toml | 2 +- src/plassembler/utils/VERSION | 2 +- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 46c57cb..a9ba7d0 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,26 @@ # History +1.8.1 (2025-09-27) +------------------ + +* Fixes minor issues with `--skip_qc` (#73) and `--no_chromosome` (#74) + +1.8.0 (2025-06-12) +------------------ + +* Fixes issues with `--skip_qc` when using non gzipped FASTQ reads (#60) +* Fixes issue with fastp versions #64 +* Add skip_mash to run Plassembler without the database mash search #61 + +1.8.0 (2025-06-23) +------------------ + +* Relaxes Python version dependency to >=3.8,<3.14 from >=3.8,<3.10 +* Minor change to log file error behaviour #69 +* Thanks @rrwick for both changes + +* Bug fix with `--force` for `plassembler download`, which will only remove the output directory if `--force` is specified (#49). + 1.6.2 (2024-03-08) ------------------ diff --git a/pyproject.toml b/pyproject.toml index 79e163d..5f9153b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "plassembler" -version = "1.8.0" # change VERSION too +version = "1.8.1" # change VERSION too description = "Quickly and accurately assemble plasmids in hybrid sequenced bacterial isolates" authors = ["George Bouras "] license = "MIT" diff --git a/src/plassembler/utils/VERSION b/src/plassembler/utils/VERSION index 27f9cd3..a8fdfda 100644 --- a/src/plassembler/utils/VERSION +++ b/src/plassembler/utils/VERSION @@ -1 +1 @@ -1.8.0 +1.8.1