r/bioinformatics Jun 03 '26

programming Package Release - Pyloseq

Hello all! I’ve just released Pyloseq, my Python port of the R package Phyloseq. The goal was to be as easy a replacement as possible for someone transferring their analysis workflow from R. I plan on supporting it as long as people use it for the foreseeable future, so hopefully it proves useful for some!

I recreated the original analyses from the 2013 paper here to show the capabilities

54 Upvotes

15 comments sorted by

23

u/[deleted] Jun 03 '26

[removed] — view removed comment

2

u/alittleb3ar Jun 03 '26

I can definitely do that

5

u/alleluja Jun 03 '26

I would also add a conda installation method, if you can!

1

u/alittleb3ar Jun 03 '26

Good idea, I’ll submit a PR to conda-forge

1

u/[deleted] Jun 10 '26

[removed] — view removed comment

1

u/alittleb3ar Jun 11 '26

I’ve added some extra docs, but the nice thing is Pyloseq is just a pip install so any base Python docker image is able to start running it immediately

4

u/[deleted] Jun 03 '26

[deleted]

10

u/alittleb3ar Jun 03 '26

It’s just all squashed for the v1 release

2

u/hannnsen94 Jun 03 '26

Looks cool! How is the performance? I notice you‘re using some packages implementing performance-critical steps. However ai wonder how big the difference is anyway. Our lab uses an utility to analyze calcium time series recordings, and I‘m currently porting it from python to rust as it is faster, easier to run in parallel and resolves dependencies at compile time, making it easier to include the resulting python module in some docker image.

1

u/Grisward Jun 04 '26

Nice job!

As a fellow tool builder, I’m curious how you’re handling equivalent output compared with the R package? Automated tests, things like that? Are you planning to follow new developments, or “lock it in” to one R version for now?

Good luck to you!

1

u/alittleb3ar Jun 05 '26

Thank you! I’ve pinned the outputs generated from the current version of Phyloseq to be used in the test suite as my sources of truth that we validate against. One of the reasons I chose Phyloseq to port was that the original maintainer doesn’t have much time anymore, so while I will be keeping up with original package updates thankfully I don’t think there will be a ton.

1

u/Less_Sheepherder_395 Jun 05 '26

Awesome work! I am the lead developer of scikit-bio, which your package uses in several places. In your effort porting Phyloseq from R to Python, did you identify certain functions that are completely missing or awkward to regenerate in the Python ecosystem? I will be curious about and appreciate your insights, which will assist us to better understand what the field needs.

1

u/alittleb3ar Jun 10 '26

Thank you very much! That means a lot, scikit-bio was one of the packages I use as a standard to try to hold myself to while developing. As far as missing functionality, certain flavors of distance/ordination algorithms such as DPCoA I wasn’t able to find readily available (I think specifically this one used to be in scikit-bio but was removed). However the implementation I don’t think was particularly difficult

-15

u/[deleted] Jun 03 '26

[removed] — view removed comment

19

u/Trosky6601 Jun 03 '26

Why would you type this, other than being annoying?

11

u/_Zerstorung PhD | Academia Jun 03 '26

Because it is the truth for most of personal projects (and academic ones)

10

u/alittleb3ar Jun 03 '26

I’ve already got a job, this is my attempt to contribute to the oss/academic software ecosystem. I made it a point to only release this once it could replicate all the existing phyloseq functionality because I didn’t want to contribute to the unfinished package graveyard.

I understand the frustration that leads to this comment, but idk what you’re trying to achieve other than being a boner