Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1633 commits
Select commit Hold shift + click to select a range
a552896
add another log
AroneyS May 13, 2025
8d5a976
sort queries groupby
AroneyS May 13, 2025
3b5659e
move sorting to _appraise_streaming
AroneyS May 13, 2025
3e7ece0
remove bad log
AroneyS May 14, 2025
16d3869
clear variables when starting next iteration
AroneyS May 14, 2025
a2d7d3c
docker: Adjust for apptainer entrypoint issue, release 0.19.0 image.
wwood May 14, 2025
1367871
fix default double specification
AroneyS May 14, 2025
238a28d
switch to iterable chunks from bird_tool_utils
AroneyS May 14, 2025
8b9425f
add chunk # log
AroneyS May 15, 2025
c22b45b
Merge pull request #221 from AroneyS/appraise-streaming
AroneyS May 19, 2025
8614a83
Merge remote-tracking branch 'upstream/main' into nanopore
thepatientwait Jun 9, 2025
3362aaa
fix bug cause by sync with origin (duplicated line in lyrebird.py)
thepatientwait Jun 9, 2025
209525e
docs: Specify conda-forge first, ignore other channels.
wwood Jun 12, 2025
fae4fc0
lyrebird_metapackage_creation: Initial commit.
rzhao-2 Jun 18, 2025
420e49a
lyrebird_metapackage_creation: Fix memory bloat.
rzhao-2 Jun 18, 2025
d6156d2
lyrebird_metapackage_creation: Code cleanup.
rzhao-2 Jun 18, 2025
2294e8b
lyrebird_metapackage_creation: Fix more memory leaks.
rzhao-2 Jun 19, 2025
1abcc83
lyrebird_metapackage_creation: Fast background deletion of pre-existi…
rzhao-2 Jun 19, 2025
b53fcf2
lyrebird_metapackage_creation: Keep all off-target seqs.
rzhao-2 Jun 19, 2025
0cc1a69
lyrebird_metapackage_creation: More fixes.
rzhao-2 Jun 19, 2025
7ed6ecb
lyrebird_metapackage_creation: Small tweaks.
rzhao-2 Jun 23, 2025
b52e518
lyrebird_metapackage_creation: Major improvements to F1 scoring.
rzhao-2 Jun 23, 2025
75b63da
lyrebird_metapackage_creation: give script .py extension.
rzhao-2 Jun 23, 2025
f553fe3
lyrebird_metapackage_creation: Increase runtime for chainsaw.
rzhao-2 Jun 24, 2025
ad5c750
lyrebird_metapackage_creation: Regenerate now properly accounts for m…
rzhao-2 Jun 24, 2025
40e81d8
Merge remote-tracking branch 'upstream/main' into nanopore
thepatientwait Jun 26, 2025
851173c
lyrebird_metapackage_creation: Adjust regenerate memory usage.
rzhao-2 Jun 26, 2025
c3f9f73
lyrebird_metapackage_creation: Adjust transcripts runtime.
rzhao-2 Jun 27, 2025
b6a0b28
lyrebird_metapackage_creation: Enable --group-components.
rzhao-2 Jun 27, 2025
122924b
metapackage: Fix lyrebird acquire error message.
wwood Jul 3, 2025
6abbb86
test-singlem: Use pixi --frozen when appropriate.
wwood Jul 3, 2025
1ccc02b
metapackage: Update Lyrebird metapackage version.
rzhao-2 Jul 2, 2025
a6c2114
admin: update lyrebird db path.
wwood Jul 4, 2025
53c1262
Remove deprecated extras scripts
wwood Jul 14, 2025
c70b554
pixi: Add test task which runs in dev.
wwood Jul 15, 2025
d972131
Remove unused Dereplicator class and test
wwood Jul 15, 2025
1d395bf
Fix NotImplementedException
wwood Jul 15, 2025
191001a
Fix procedure typo in installation docs
wwood Jul 15, 2025
7c32541
Clusters: Remove dead/buggy each_otu().
wwood Jul 15, 2025
e733443
doc: Minor fixes.
wwood Jul 15, 2025
67b98b9
doc: Update singlem citations.
wwood Jul 17, 2025
5354d63
doc: Update singlem citations2.
wwood Jul 17, 2025
47c925f
Merge branch 'wwood:main' into nanopore
thepatientwait Jul 21, 2025
675c75d
Clean up comments
thepatientwait Jul 21, 2025
39eabe0
removed unnecessary 'supplement' arg from pipe, expanded comment in d…
thepatientwait Jul 21, 2025
3095070
pipe: Fix example.
wwood Jul 23, 2025
7ab149f
Merge remote-tracking branch 'josh/nanopore'
wwood Jul 23, 2025
9e55741
doc: pipe: add clarifications. Closes #235.
wwood Jul 23, 2025
67bc241
lyrebird_metapackage_creation: Roundrobin logs avg genes per species
rzhao-2 Jul 25, 2025
01f1d60
lyrebird_metapackage_creation: Rework off-target provirus masking.
rzhao-2 Jul 25, 2025
ab116b6
lyrebird_metapackage_creation: assign_viral_taxonomy now uses polars …
rzhao-2 Jul 25, 2025
303a047
lyrebird_metapackage_creation: Better rule grouping.
rzhao-2 Jul 25, 2025
3577c87
lyrebird_metapackage_creation: Lyrebird_transcripts cluster submission.
rzhao-2 Jul 25, 2025
14a8381
lyrebird_metapackage_creation: Start cleaning and clarifying document…
rzhao-2 Jul 25, 2025
4b993dd
metapackage: Update default Lyrebird metapackage version.
rzhao-2 Jul 25, 2025
bab1bf0
doc: Glossary: Improve it.
wwood Jul 25, 2025
5bb4acd
Merge remote-tracking branch 'rzhao-2/lyrebird_data'
wwood Jul 25, 2025
9140e5d
doc: summarise: Improve it.
wwood Jul 28, 2025
b26e1a5
doc: Fix and update non-preludes.
wwood Jul 28, 2025
ad79996
Partially address https://github.com/BioContainers/containers/issues/602
wwood Aug 1, 2025
db62b07
lyrebird_metapackage_creation: use lists as input instead of director…
rzhao-2 Aug 7, 2025
296966e
lyrebird_metapackage_creation: Rule clarification, add cleanup step.
rzhao-2 Aug 7, 2025
a2d6c24
lyrebird_metapackage_creation: Update README.md
rzhao-2 Aug 7, 2025
4920b44
lyrebird metapackage: Minor fixes.
wwood Aug 10, 2025
c90604a
Merge pull request #3 from wwood/ben_lyrebird_metapackage_fixes
rzhao-2 Aug 12, 2025
1c75542
lyrebird_metapackage_creation: Define args before logging config.
rzhao-2 Aug 12, 2025
80727fb
Move setup script to admin and add AGENTS instructions
wwood Aug 14, 2025
7787583
Revert "Move setup script to admin and add AGENTS instructions"
wwood Aug 14, 2025
b925fbb
feat: add flexible genome input options
wwood Aug 14, 2025
c126fb2
lyrebird: new metapackage: Add config 0.4.0.
wwood Aug 15, 2025
cfc8462
lyrebird_metapackage_creation: Remove example inputs.
rzhao-2 Aug 15, 2025
19b801c
summarise: Fail when --krona used with taxonomic profile input (#242)
wwood Aug 16, 2025
c6756cf
lyrebird_metapackage_creation: Remove off_target_concat rule grouping
rzhao-2 Aug 19, 2025
5919ddf
Make GTDB-Tk optional.
wwood Aug 20, 2025
6959b5d
actions: Pytest with -v.
wwood Aug 22, 2025
b10c4d4
Rename microbial_fraction to prokaryotic_fraction
wwood Sep 4, 2025
7a8ce3d
Docs update for 0.20.0 release (#248)
thepatientwait Sep 4, 2025
e15938c
Merge remote-tracking branch 'origin/codex/rename-microbial_fraction-…
wwood Sep 4, 2025
cdeaf73
documentation updates for 0.20.0.
wwood Sep 5, 2025
2771ca3
singlem: Fix regression, improve help.
wwood Sep 5, 2025
bacd0db
docs: Adjust for 0.20.0.
wwood Sep 8, 2025
168f2ed
actions: Only deploy on main branch.
wwood Sep 8, 2025
8bdf588
actions: Only deploy on main branch.
wwood Sep 8, 2025
e5b1dac
README: Do not show PyPI download counter.
wwood Sep 8, 2025
d4152f6
docs: Add regenerate.
wwood Sep 17, 2025
32081b3
regenerate: Improve help messages. (#256)
rzhao-2 Sep 19, 2025
b1ce3c8
Merge branch 'main' into dev
wwood Nov 2, 2025
6cb6eed
supplement: Raise when ~ or = detected.
wwood Nov 2, 2025
5e4efc5
changed internal delimiter for multi-hit reads to '••' to prevent cla…
thepatientwait Nov 3, 2025
7d1f2b2
added test for read name parsing, tests all ASCII characters that do …
thepatientwait Nov 3, 2025
bf5e413
Merge remote-tracking branch 'josh/bug-fix' into dev
wwood Nov 3, 2025
1c39daa
supplement: Use ‡ to separator.
wwood Nov 3, 2025
6821f43
fix rare case of read pairs having different assignment methods (#259)
AroneyS Nov 3, 2025
5c0e5b9
build(deps): bump pip from 25.0.1 to 25.2 in /admin (#257)
dependabot[bot] Nov 3, 2025
2a61e95
dependencies: Update them.
wwood Nov 3, 2025
ab64a7a
pixi: Add singlem 0.19.0.
wwood Nov 4, 2025
cd9863c
tests: Add one, fix another.
wwood Nov 4, 2025
9cd8533
docs: Update.
wwood Nov 4, 2025
678d1da
CHANGELOG: Update for 0.20.0.
wwood Nov 4, 2025
9101a70
release: bugfix.
wwood Nov 4, 2025
5b27989
release: bugfix.
wwood Nov 4, 2025
ccc6e8a
v0.20.0
wwood Nov 4, 2025
782f1d4
0.20.1: Prepare for it.
wwood Nov 5, 2025
5b3025f
v0.20.1
wwood Nov 5, 2025
6bc792f
v0.20.2: Prepare for it.
wwood Nov 5, 2025
456e1dc
v0.20.2
wwood Nov 5, 2025
2b664e4
summarise: write_taxonomic_profile_with_extras: Default 2 num_decimals.
wwood Nov 18, 2025
052928f
pipe: Revert #259, fix #265.
wwood Nov 19, 2025
6b3db0e
summariser: Fix regression. Update diamond in pixi
wwood Nov 19, 2025
ff77175
argparse: Fix regression.
wwood Nov 19, 2025
cb9008c
summariser: Fix regression.
wwood Nov 19, 2025
880d5ff
v0.20.3: Prepare for it.
wwood Nov 19, 2025
0847db1
v0.20.3
wwood Nov 19, 2025
d416d39
docs: Fix and detail GlobDB. Fixes #267
wwood Nov 20, 2025
190d67a
Merge pull request #226 from rzhao-2/master
wwood Dec 1, 2025
fbe318d
lyrebird_metapackage_creation: Add workflow for viral genome collection.
rzhao-2 Dec 3, 2025
676fa01
lyrebird_metapackage_creation: Add vcontact3 step.
rzhao-2 Dec 4, 2025
ef9c389
lyrebird_metapackage_creation: Add vcontact3.yml.
rzhao-2 Dec 4, 2025
de1c6d3
lyrebird_metapackage_creation: Add dependency for cluster job submiss…
rzhao-2 Dec 5, 2025
9bd8dc9
lyrebird_metapackage_creation: Add genome lengths to output metadata …
rzhao-2 Dec 5, 2025
90d6923
AGENTS.md: New file.
wwood Dec 8, 2025
ad9eaf9
condense: Add debug.
wwood Dec 8, 2025
d442b02
Deduplicate paired read queries
wwood Dec 9, 2025
38f268d
pipe: Add debug code.
wwood Dec 9, 2025
3b5c44a
lyrebird_metapackage_creation: Add taxonomy processing script.
rzhao-2 Dec 9, 2025
9544940
lyrebird_metapackage_creation: refactor
rzhao-2 Dec 9, 2025
dd72d4e
pipe: use --frameshift when assigning diamond taxonomy.
wwood Dec 11, 2025
1ff04d7
pipe: Add comments.
wwood Dec 11, 2025
a3e4141
test_pipe: Adjust for changed diamond parameters.
wwood Dec 11, 2025
d53d93f
bug-fix: stop codons not registered when parsing alignments for metap…
thepatientwait Dec 12, 2025
9ea58ce
removed old TODO comment
thepatientwait Dec 12, 2025
043724b
pipe: Analyse qseq subsections (attempt #1).
wwood Dec 12, 2025
be23a3d
pipe: fix regressions for qseq subsections.
wwood Dec 12, 2025
722bea8
pipe: Print full qseqs when --no-assign-taxonomy.
wwood Dec 13, 2025
eaef554
AGENTS.md: Improve it.
wwood Dec 16, 2025
75f0ec7
pipe: Add --context-window.
wwood Dec 16, 2025
1a61a1f
renew: Fix regressions.
wwood Dec 16, 2025
03ace94
pipe: Fix context-window and test.
wwood Dec 16, 2025
a216c4e
pipe/prokaryotic_fraction: Add zstd support.
wwood Dec 16, 2025
72c67fa
pipe: Extend support for --read-chunk-size/num to zstd input.
wwood Dec 16, 2025
757f62d
pipe: Add tests, fix context-window coords.
wwood Dec 16, 2025
3e5b884
update_metapackage: Partially move conda->pixi.
wwood Dec 22, 2025
0cdb820
Generate zipped gzip archive OTU table fixtures
wwood Dec 23, 2025
1131a0f
Merge remote-tracking branch 'origin/codex/add-input-option-for-renew…
wwood Dec 23, 2025
231d885
pipe: Fix doc and tests for read-chunk.
wwood Jan 8, 2026
2ce62ca
Add supplement output for matched proteins
wwood Jan 7, 2026
febad72
Add test for matched protein output
wwood Jan 8, 2026
103e71e
Add progress bar for hmmsearch results
wwood Jan 8, 2026
9472d6d
Update hmmsearch progress tracking
wwood Jan 8, 2026
9dbf9df
supplement: output-matched-faa: Include marker name in sequence_id.
wwood Jan 8, 2026
3aea28f
Strengthen supplement matched protein test
wwood Jan 11, 2026
d292937
dependencies: Better document.
wwood Jan 28, 2026
b7ffba2
Log DIAMOND version before prefilter
wwood Jan 28, 2026
4d238de
Use polars for collapsing paired OTU tables
wwood Jan 28, 2026
5a5a0cc
Merge remote-tracking branch 'upstream/main'
thepatientwait Feb 13, 2026
f4214c2
parallelised diamond taxonomic assignment
thepatientwait Feb 16, 2026
98fcbaf
moved technical details to debug
thepatientwait Feb 17, 2026
4edb776
working progress bar for DIAMOND taxonomic assignment step
thepatientwait Feb 17, 2026
38f8a7f
minor fixes to pipe_sequence_extractor progress bar
thepatientwait Feb 17, 2026
52d7e7a
SKILL.md: First attempt.
wwood Feb 23, 2026
9632ce7
docs: Fix and point to SKILL.md in docs.
wwood Feb 23, 2026
3ddaee3
docs: Add Exception so SKILL gets fixed later.
wwood Feb 23, 2026
cf22e1c
pipe: Fix --sra-files regression.
wwood Feb 25, 2026
bb44f6c
pipe: Fix --sra-files regression 2.
wwood Feb 25, 2026
14b54b0
pipe: --sra-files: Fix regressions, better diamond logging.
wwood Feb 25, 2026
fc1b6ea
test: Add SRA pipe test for SRR8653040
wwood Feb 26, 2026
a831e96
refactor: Consolidate KingfisherSra into single split_sra_reads call
wwood Feb 26, 2026
1add6fc
test: kingfisher: Adjust and fix some tests.
wwood Feb 26, 2026
02b88cb
utils: strip .sra suffix from sample names
wwood Feb 26, 2026
6c547cb
test_outside_ci: test_sra_pipe_standard: Fix.
wwood Feb 26, 2026
dfe047a
pipe: sra: Attempted fix of chunking.
wwood Feb 26, 2026
232a0d7
Merge pull request #270 from rzhao-2/master
wwood Mar 13, 2026
70e1f29
README and SKILL: Improve them.
wwood Mar 16, 2026
3e1461b
pipe: Fix fastq chunking bugs.
wwood Mar 17, 2026
cacd9c1
fix zstd regression
wwood Mar 17, 2026
b6da26e
pipe: chunking: use awk not tail|head
wwood Mar 17, 2026
f9392ac
renew: Fix for lyrebird.
wwood Mar 17, 2026
ac50b9e
pipe: chunking: kill background processes on DIAMOND failure
wwood Mar 17, 2026
fd6b88e
update_metapackage: complete pixi migration, remove conda directives
wwood Mar 17, 2026
50e310e
test: Fix lyrebird testing bug.
wwood Mar 18, 2026
50b71b7
update paths for R232
AroneyS Mar 19, 2026
884647b
pipe: chunking: use awk not tail|head
wwood Mar 17, 2026
5818f26
renew: Fix for lyrebird.
wwood Mar 17, 2026
d76ad67
pipe: chunking: kill background processes on DIAMOND failure
wwood Mar 17, 2026
c959db8
test: Fix lyrebird renew test by setting avg_num_genes_per_species to 1
wwood Mar 18, 2026
4fe1b6d
ci: reduce timeout to 1h, avoid duplicate runs on PRs, log test start
wwood Mar 18, 2026
898e974
SKILL: Add frontmatter.
wwood Mar 19, 2026
070a843
singlem: Remove pandas in favour of polars.
wwood Mar 19, 2026
08f5a06
Add full-file Polars schema inference for GTDB metadata
wwood Mar 19, 2026
5bd2796
Merge pull request #292 from wwood/main
AroneyS Mar 23, 2026
600ce42
update r232 metadata path
AroneyS Mar 23, 2026
6939dd4
change pandas to polars in update_metapackage
AroneyS Mar 23, 2026
ccc1200
fix taxonomy in metadata csv to match taxonomy csv
AroneyS Mar 25, 2026
22dab20
Added spinning progress indicator during prefilter
thepatientwait Apr 1, 2026
72b1548
Merge remote-tracking branch 'upstream/main' into logging_update
thepatientwait Apr 1, 2026
c9c77a0
fixed merge conflict
thepatientwait Apr 1, 2026
251a903
fix temp file reading bug
thepatientwait Apr 2, 2026
951a5b1
added modified pixi.lock
thepatientwait Apr 2, 2026
40efa37
data: Report DOI when download or acquire fails.
wwood Apr 6, 2026
86b5e4a
pixi: Require orfm >= 2.1.1.
wwood Apr 7, 2026
3f90217
pipe: Restore v0.19.0 orfm+mux way of analysing genomes, restoring pe…
wwood Apr 8, 2026
469f4c6
update for final taxonomy run
AroneyS Apr 9, 2026
e84b6cf
Revise citation for SingleM prokaryotic_fraction
wwood Apr 10, 2026
9162895
revert dict creation change
AroneyS Apr 16, 2026
b2d94c3
Merge remote-tracking branch 'josh/logging_update'
wwood May 6, 2026
7e95198
pipe: Improve logging with progress bars.
wwood May 6, 2026
018cad5
pipe: Further logging improvements.
wwood May 6, 2026
e07a886
pipe: Better logging when stderr is not a tty.
wwood May 11, 2026
fb2d6b0
pipe: Report num reads after extraction.
wwood May 11, 2026
64f28da
pipe: genome: Improve logging.
wwood May 11, 2026
e5e0a35
pipe/renew: Bugfix for missing sequences, lyrebird renew.
wwood May 13, 2026
1e77918
metapackage: Default to 6.5.0-R232.
wwood May 13, 2026
6398733
lyrebird: Add metapackage creation example datasets, apply.
wwood May 14, 2026
befe1f0
test: Add two-step lyrebird pipe (no-assign-taxonomy) then renew tests
claude May 13, 2026
8a76524
test: Use lambda phage genome as input for lyrebird two-step pipe tests
claude May 14, 2026
7309e5c
lyrebird: Fix pipe to pass genome_fasta_files to SearchPipe
claude May 14, 2026
49fcb20
test: Refine lyrebird pipe+renew tests
claude May 14, 2026
b073a3a
pixi: Pin sra-tools to 3.2.1
wwood May 15, 2026
31efd89
pipe: Detect kingfisher failures during chunked SRA extraction
wwood May 15, 2026
ec66f78
test_outside_ci: Update test.
wwood May 15, 2026
ddfeab5
test_outside_cli: Update for R232.
wwood May 15, 2026
b1c8b01
CHANGELOG.md: Update for 0.21.0
wwood May 15, 2026
0cec7be
docs: Expand SKILL.md to cover all SingleM/Lyrebird subcommands (#299)
wwood May 15, 2026
dce5d35
docs: Update SKILL.md.in and build_docs etc.
wwood May 15, 2026
3a27996
Merge remote-tracking branch 'origin/main'
wwood May 15, 2026
66f188d
SKILL.md.in: Fix.
wwood May 15, 2026
f392cef
docs: Update for 0.21.0
wwood May 15, 2026
7074f40
v0.21.0
wwood May 15, 2026
3af31e5
admin: Fix deps regression causing bad pypi package.
wwood May 17, 2026
8388e56
v0.21.1
wwood May 17, 2026
ccb6b42
v0.21.1
wwood May 17, 2026
5768ac9
admin: Fix missing pypi dependency.
wwood May 18, 2026
636b173
docs: Update.
wwood May 18, 2026
00dcc1f
v0.21.2
wwood May 18, 2026
9574f78
admin: Generate requirements.txt in CI, track only a stub.
wwood May 18, 2026
c1f1c79
v0.21.3
wwood May 18, 2026
7985007
v0.21.3
wwood May 18, 2026
ebd009c
fix(pipe): correct DIAMOND fallback OTU count and percentage in log
wwood Jun 3, 2026
915ffc1
Merge pull request #290 from wwood/update_metapackage_pixi
wwood Jun 6, 2026
fb258db
feat(condense): add sylph Regime 3 sylph-only species injection
wwood Jun 8, 2026
1eb95e2
feat(condense): add --joint NNLS deconvolution of SingleM + sylph
wwood Jun 8, 2026
725da1b
feat(metapackage,pipe,renew): bundle sylph DB and run sylph automatic…
wwood Jun 9, 2026
3f3b40b
feat(metapackage,sylph): support multiple bundled sylph databases
wwood Jun 9, 2026
fd7bfc6
feat(metapackage): store the read-name taxonomy DB as DuckDB in v7
wwood Jun 9, 2026
ccaac9c
feat(condense): graded sylph-absence weight and full-reconciliation mode
claude Jun 11, 2026
188c559
docs: brainstorm strain-level integration with reference-free compres…
claude Jun 11, 2026
c1a41a5
docs: cite real end-to-end four-way benchmark in reconciliation methods
claude Jun 11, 2026
321e8fa
fix(condense): waive joint marker-count padding for sylph-detected sp…
claude Jun 11, 2026
7c03edc
fix(lyrebird): do not offer non-viral sylph flags
claude Jun 11, 2026
bee7b80
docs: add Word methods section for the sylph-integration algorithms
claude Jun 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
18 changes: 2 additions & 16 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,16 +1,2 @@
db/4.07.ribosomal_protein_L2_rplB.gpkg.spkg/4.07.ribosomal_protein_L2_rplB/singlem_package_creatorDMgneQ.dmnd filter=lfs diff=lfs merge=lfs -text
db/4.08.ribosomal_protein_L3_rplC.gpkg.spkg/4.08.ribosomal_protein_L3_rplC/singlem_package_creatorzY212C.dmnd filter=lfs diff=lfs merge=lfs -text
db/4.09.ribosomal_protein_L5_rplE.gpkg.spkg/4.09.ribosomal_protein_L5_rplE/singlem_package_creatorIO_9V7.dmnd filter=lfs diff=lfs merge=lfs -text
db/4.10.ribosomal_protein_L6_rplF.gpkg.spkg/4.10.ribosomal_protein_L6_rplF/singlem_package_creatoraYgaFe.dmnd filter=lfs diff=lfs merge=lfs -text
db/4.11.ribosomal_protein_L10.gpkg.spkg/4.11.ribosomal_protein_L10/singlem_package_creatorbKHG6Z.dmnd filter=lfs diff=lfs merge=lfs -text
db/4.12.ribosomal_protein_L11_rplK.gpkg.spkg/4.12.ribosomal_protein_L11_rplK/singlem_package_creatornLOQNK.dmnd filter=lfs diff=lfs merge=lfs -text
db/4.13.ribosomal_protein_L14b_L23e_rplN.gpkg.spkg/4.13.ribosomal_protein_L14b_L23e_rplN/singlem_package_creatorvcVSZr.dmnd filter=lfs diff=lfs merge=lfs -text
db/4.14.ribosomal_protein_L16_L10E_rplP.gpkg.spkg/4.14.ribosomal_protein_L16_L10E_rplP/singlem_package_creatorFBCD7u.dmnd filter=lfs diff=lfs merge=lfs -text
db/4.15.ribosomal_protein_S2_rpsB.gpkg.spkg/4.15.ribosomal_protein_S2_rpsB/singlem_package_creatorK2almT.dmnd filter=lfs diff=lfs merge=lfs -text
db/4.16.ribosomal_protein_S5.gpkg.spkg/4.16.ribosomal_protein_S5/singlem_package_creatorVrfWE1.dmnd filter=lfs diff=lfs merge=lfs -text
db/4.17.ribosomal_protein_S7.gpkg.spkg/4.17.ribosomal_protein_S7/singlem_package_creatorm0oqmF.dmnd filter=lfs diff=lfs merge=lfs -text
db/4.18.ribosomal_protein_S10_rpsJ.gpkg.spkg/4.18.ribosomal_protein_S10_rpsJ/singlem_package_creatorrSEuCX.dmnd filter=lfs diff=lfs merge=lfs -text
db/4.19.ribosomal_protein_S12_S23.gpkg.spkg/4.19.ribosomal_protein_S12_S23/singlem_package_creatorTAU52H.dmnd filter=lfs diff=lfs merge=lfs -text
db/4.20.ribosomal_protein_S15P_S13e.gpkg.spkg/4.20.ribosomal_protein_S15P_S13e/singlem_package_creatord8MMo3.dmnd filter=lfs diff=lfs merge=lfs -text
db/4.21.ribosomal_protein_S19_rpsS.gpkg.spkg/4.21.ribosomal_protein_S19_rpsS/singlem_package_creatorEa_akI.dmnd filter=lfs diff=lfs merge=lfs -text
*.dmnd filter=lfs diff=lfs merge=lfs -text
# SCM syntax highlighting & preventing 3-way merges
pixi.lock merge=binary linguist-language=YAML linguist-generated=true
29 changes: 29 additions & 0 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Build manual pages and deploy documentation

on:
push:
branches:
- main
paths:
- 'docs/**'
- 'doctave.yml'
- '.github/workflows/deploy-docs.yml'

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: 'Checkout cargo and install doctave'
uses: actions-rs/toolchain@v1.0.6
with:
toolchain: stable
- run: cargo install --git https://github.com/Doctave/doctave --tag 0.4.2
- name: 'Build doctave site'
run: doctave build --release
- name: 'GitHub Pages'
uses: crazy-max/ghaction-github-pages@v3.0.0
with:
build_dir: site/
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
26 changes: 26 additions & 0 deletions .github/workflows/publish-to-pypi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Publish to PyPI
on:
push:
# Pattern matched against refs/tags
tags:
- '*' # Push events to every tag not containing /
jobs:
Publish-to-PyPI:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
# admin/requirements.txt is tracked only as a stub; the real pinned
# contents are generated here from pixi.toml/pixi.lock so setuptools
# picks them up when building the wheel.
- uses: prefix-dev/setup-pixi@v0.8.1
with:
cache: true
- run: pixi run admin/build_dep_defs_from_pixi.py
- uses: casperdcl/deploy-pypi@v2
with:
password: ${{ secrets.PYPI_API_TOKEN }}
# pip: wheel -w dist/ --no-deps .
build: true
# only upload if a tag is pushed (otherwise just build & check)
upload: ${{ github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') }}
64 changes: 64 additions & 0 deletions .github/workflows/test-singlem.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Current Build
on:
push:
branches:
- main
pull_request:

jobs:
pixi_test_dependencies_locked:
name: Pixi test_dependencies_locked ${{ matrix.os }}
runs-on: ${{ matrix.os }}
timeout-minutes: 60
strategy:
matrix:
os: ["ubuntu-latest"]
steps:
- uses: actions/checkout@v3

- name: Install Pixi
run: |
curl -fsSL https://pixi.sh/install.sh | bash
echo "$HOME/.pixi/bin" >> $GITHUB_PATH

- name: Show environment info
run: |
pixi run -e dev --frozen pixi info
pixi run -e dev --frozen pixi list

- name: Run tests with Pixi
run: |
pixi run -e dev --frozen pytest test -v

# Run after removing lock file so dependences are unlocked
pixi_test_dependencies_optimistic:
name: Pixi test_dependencies_optimistic ${{ matrix.os }}
runs-on: ${{ matrix.os }}
timeout-minutes: 60
strategy:
matrix:
os: ["ubuntu-latest"]
steps:
- uses: actions/checkout@v3

- name: Install Pixi
run: |
curl -fsSL https://pixi.sh/install.sh | bash
echo "$HOME/.pixi/bin" >> $GITHUB_PATH

- name: Remove lock file
run: |
rm -fv pixi.lock admin/requirements.txt admin/environment.yml
touch admin/requirements.txt

- name: Create dev environment
run: |
pixi run -e dev pixi info

- name: Show environment info
run: |
pixi run -e dev pixi list

- name: Run tests with Pixi
run: |
pixi run -e dev pytest test -v
23 changes: 23 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
guix*
real_data
db
__pycache__/
.snakemake/
singlem.egg-info
docker/singlem.yml
docker/Dockerfile
site
extras/update_metapackage/env_master
untracked
build
extras/new_package_creation/singlem_new_metapackage_working_directory/

# pixi environments
.pixi
*.egg-info

# Generated by admin/build_dep_defs_from_pixi.py. environment.yml is purely
# a convenience artifact, so it's not tracked. admin/requirements.txt is
# tracked as a stub (pyproject.toml needs it to exist) and overwritten by
# the script locally and in CI.
admin/environment.yml
2 changes: 2 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
1. When making changes, run tests using `pixi run -e dev pytest test`. This command can take 500 seconds to complete.
2. Do not modify markdown files in `docs/tools/` or `docs/advanced/` directories - these are auto-generated.
177 changes: 177 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
## v0.21.3

* Fix PyPI dependency list by generating `admin/requirements.txt` in CI before the wheel build; previous releases shipped without dependencies because the generated file was never committed to release tags.

## v0.21.2

* Fix PyPI dependency list structurally, and include bird_tool_utils.

## v0.21.1

* Fix PyPI dependency list

## v0.21.0

* Default metapackage updated to GTDB R232 (S6.5.0-R232)
* `pipe`: Substantially improved logging, including progress bars for prefilter, hmmsearch and DIAMOND assignment steps. Thanks @thepatientwait.
* `pipe`: Parallelised DIAMOND taxonomic assignment for faster runs. Thanks @thepatientwait.
* `pipe`: Add optional `--context-window` if the entire query sequence is too large for output size.
* `pipe`: Add zstd input support in places, including with `--read-chunk-size`/`--read-chunk-num` and `prokaryotic_fraction`
* `pipe`: Restore v0.19.0 orfm+mux pipeline for genome input, restoring performance lost in v0.20
* `pipe`: Use DIAMOND `--frameshift` when assigning taxonomy
* `pipe`: `--sra-files`: Numerous fixes and refinements to chunked SRA extraction, including detection of `kingfisher` failures and stripping of `.sra` suffix from sample names
* `pipe`/`renew`: Bugfix for missing sequences with Lyrebird
* `supplement`: Add `--output-matched-faa` to output matched protein sequences, with marker name included in sequence IDs
* `renew`: Accept zipped gzip archive OTU tables as input
* `lyrebird`: Add `extras/lyrebird_metapackage_creation` snakemake workflow for building Lyrebird metapackages from scratch
* `data`: Report DOI when database download or acquisition fails
* Switch internal data handling from pandas to polars
* Updated citation for `prokaryotic_fraction`
* docs: Improved GlobDB documentation (#267)
* Add `AGENTS.md` and `SKILL.md` to assist agentic coding tools
* Assorted bug fixes, test improvements, and documentation updates

Thanks @thepatientwait, @rzhao-2, @AroneyS, @EisenRa and others for contributions and testing, and thanks to @MCeciC (#269) and @magicprotoss (#267) for raising issues.

## v0.20.3

Minor bugfix release. Rare sequences tripped a bug in `pipe` mode.

Thanks to @asuq for reporting #265.

## v0.20.0 / 0.20.1 / 0.20.2

Major new function - Long-read input support (Nanopore >= R10.4.1 or PacBio HiFi recommended), thanks to @thepatientwait.

* Lyrebird database updated to v0.3.1, improving exclusion of off-target (non-phage) sequences
* `microbial_fraction` subcommand renamed to `prokaryotic_fraction` (old name retained as synonym)
* More flexible options for specifying genome input in `pipe` mode
* `appriase` mode: Add `--stream-inputs`
* [GlobDB R226 metapackage](https://fileshare.lisc.univie.ac.at/globdb/globdb_r226/taxonomic_profiling/globdb_r226_SingleM_metapackage.tar.gz) released

Thanks to @AroneyS, @rzhao-2, @EisenRa, @thepatientwait, @dspeth, @Anna-MarieSeelen, @luigallucci, @ilnamkang and others for contributions and testing.

## v0.19.0
Major new function - profiling of Caudoviricetes (aka "Caudovirales") phage communities (Lyrebird), thanks to @rzhao-2.

![Lyrebird](https://raw.githubusercontent.com/wwood/singlem/refs/tags/v0.19.0/docs/_include/lyrebird_resized.png?raw=1)

Other changes:
* Update default metapackage to GTDB R226
* admin: Use pixi instead of conda
* Use of diamond v2.1.10 specifically, to avoid segfault issues with diamond v2.1.11
* Clarify non-standard metapackage usage (#220)
* doc: Improve summarise --cluster (#210)

Thanks @rzhao-2 @AroneyS @ilnamkang Phil Hugenholtz @pchaumeil @zackhenny @thepatientwait

## v0.18.3
A small patch release

* `summarise`: Fix a regression
* docs: Minor fixes

## v0.18.1
A small patch release.

* Updates to singlem `supplement` and other modes for polars >1.0
* Pin dependencies to help future proof singlem

## v0.18.0
Combined changelog for v0.17.0 and 0.18.0

* Use of GTDB R220 reference metapackage by default
* `pipe`/`condense`: Improve algorithm by delaying some filtering steps, leading to more accurate taxonomic profiles
* `pipe`: update to [smafa](https://github.com/wwood/smafa) v0.8.0 for substantial speed improvement
* `microbial_fraction`: Remove `%` from column data and add average genome size estimation
* `supplement`: Change command line options in backwards incompatible way, clarifying their meaning
* `summarise`: Add `--output-taxonomic-profile-with-extras` output to add relative abundance etc. to taxonomic profiles
* `summarise`: Add `--output-species-by-site-relative-abundance-prefix` to create taxon-level specific relative abundances from taxonomic profiles
* `summarise`: Add `--output-taxonomic-level-coverage` to show how much coverage and number of taxa assigned to each level
* `pipe`: Faster processing when many genome fasta files are input
* `seqs`: Prioritise high-info HMM positions.
* dist: Fix singularity container
* assorted bug and documentation fixes

Thanks @AroneyS @EisenRa @jakobnissen @rzhao-2 @rrohwer @shaze @ellyyuyang @VadimDu @adityabandla @luispedro, and anonymous reviewers, among others.

The `microbial_fraction` mode now has its own citation - https://www.biorxiv.org/content/10.1101/2024.05.16.594470v1

## v0.16.0
This version tweaks the method which assign taxonomy to OTUs (increasing the species-level threshold) and the method which summarises the OTUs to create a final taxonomic profile (very low abundance lineages are given lower taxonomic resolution, rather than ignored completely). This improves the rate over "overclassification" i.e. when novel species are classified wrongly to the species level, and improves the `read_fraction` (now called `microbial_fraction`) estimates in complex / shallowly sequenced metagenomes.

We suggest recomputing community profiles using `renew` or `pipe` modes.

* pipe/renew: Change default species-level assignment from 3bp or closer, to 2bp or closer.
* pipe/renew/condense: Assign sub-min-taxon-coverage higher.
* read_fraction mode renamed to microbial_fraction

Thanks to Yu Yang, Caitlin Singleton, @MadsAlbertsen @EisenRa @BigDataBiology

## v0.15.1
Mostly minor bugfixes

* pipe: extract: Apply --evalue to hmmsearch thresholding.
* Fix for appraise --plot
* pipe: Dedup hmmsearch results during diamond package assignment.
* pipe/renew/condense: Prevent no_assign_taxonomy and taxonomic profile output.

Thanks @kalonji08 @AroneyS @harmonydouwes

## v0.15.0
* Genomes that encode proteins with translation table 4 are now supported. This
works by assuming all genomes have translation table 4, since regular sequence
similarity search excludes inappropriately translated sequences from genomes
which use table 11 (the standard bacterial table). Thanks to Dr. Andy Leu for
useful test cases. NOTE: The `renew` mode is not sufficient for detecting
these lineages, `pipe` must be run again from scratch.
* new_package_creation (beta): A snakemake pipeline included in the `extras`
directory used to create new SingleM metapackages from scratch. In
development. Thanks for @harmonydouwes @tvtv195 @JemmaSun for testing.
* Version S3.2.1 of the default metapackage released, which includes updated
genome sizes for GTDB genomes (for use with `read_fraction`), now corrected
based on CheckM v2 estimates of completeness and contamination. Thanks to
@EisenRa for collaboration.
* `seqs`: Output the best window position to STDOUT.
* Other assorted bug fixes and documentation updates.

## v0.14.0
This release is a huge step forward for the SingleM software, comprising >750 git commits and several years work (particularly from @AroneyS and @EisenRa and @rzhao-2) since v0.13.2.

There are so many changes that generating a CHANGELOG would take too long.

This release is equivalent to 1.0.0beta8, and is intended as a pre-release for version 1.0.0, but using a standard version number allows for a more streamlined release process.

## v0.10.0 to v0.13.2
(undocumented)

## v0.9.0
* Appraise can now generate 'appraisal plots'
* Use of smafa / SQLite rather than BLAST+ / VSEARCH for 'query' and clustering. SingleM
databases (.sdb) will need to be regenerated.
* SingleM databases can now be queried via taxonomy or sample name
* Overhaul of command line help messages
* Appraise can now appraise assemblies as well as genomes
* Various bug fixes and enhancements

## v0.8.2
* Fix for installation through PyPI.

## v0.8.1
* Fix bug in singlem query where some results were omitted.
* Detect when max_target_seqs has been reached in singlem query.

## v0.8.0
* Overhauled makedb/query. Database creation is now faster and querying more accurate, especially for OTUs with gaps. Old databases should be re-generated.
* summarise: Added BIOM and wide format outputs - props to Steve Robbins and Louis Monaghan for the suggestions.
* appraise: Default to genus-level similarity cutoff.

## v0.7.1
* Now installable via pip / PyPI.

## v0.7.0
* Speed improvements for singlem query
* Memory improvements for singlem makedb
* db: Use and require the new diamond version / database format
* summarise: Only output to a single html for --krona where possible

27 changes: 27 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: Woodcroft
given-names: Ben J.
orcid: https://orcid.org/0000-0003-0670-7480
- family-names: Aroney
given-names: Samuel T. N.
orcid: https://orcid.org/0000-0001-9806-5846
- family-names: Zhao
given-names: Rossen
orcid: http://orcid.org/0000-0002-7003-2791
- family-names: Cunningham
given-names: Mitchell
- family-names: Mitchell
given-names: Joshua A. M.
orcid: http://orcid.org/0009-0006-9066-6683
- family-names: Blackall
given-names: Linda
orcid: http://orcid.org/0000-0002-8848-7698
- family-names: Tyson
given-names: Gene W.
orcid: https://orcid.org/0000-0001-8559-9427
title: "SingleM and Sandpiper: Robust microbial taxonomic profiles from metagenomic data"
version: 0.16.0
doi: 10.1101/2024.01.30.578060
date-released: 2024-01-31
Loading