awesome work - congrats!
@jlsteenwyk
UC-Berkeley Postdocπ», Evomics Workshop Codirector𧬠prev Vanderbilt PhD, FutureHouse/Edison Scientific, Latch, MantleBio (acquired) π² https://linktr.ee/jlsteenwyk π https://jlsteenwyk.com/
awesome work - congrats!
Great - happy to hear it worked! Please let me know if anything else comes up!
Can you email me your issue and I can try and help you resolve it?
PhyKIT dev will be moving fast over the coming weeks so newer releases will be coming
Thank you for your interest in these tools!
Bioconda usually has a temporal lag. Can you link to the conda version you are looking at?
Conda aside, the fastest solution would be to use βpip install phykitβ to get the latest release, which, of course, can be done in a conda env
What if Claude got to pick the origin story of their name?
In brief, Claude would pick Claude Shannon - the father of information theory, a unicycle rider through Bell Labs, and proof that deep rigor and playful curiosity aren't opposites.
Precision meets delight
That's the vibe
Grateful to have been able to help someone by adding a new function to PhyKIT.
In v2.1.20, users can specify an occupancy threshold when creating a concatenation matrix.
jlsteenwyk.com/PhyKIT/usage...
bsky.app/profile/lati...
Thank you for your request, @latincassia.bsky.social. The create_concat function now has a thresholding argument as of version 2.1.20
Docs: jlsteenwyk.com/PhyKIT/usage...
pypi release: pypi.org/project/phyk...
Okay, this should be fairly straightforward. I created a GitHub issue so that I don't forget.
github.com/JLSteenwyk/P...
This can be done. I have to ask a clarifying question, though.
Are you asking whether the user can skip a specific taxon (or taxa) when creating a concatenation matrix by specifying its name? Or, are you asking that an occupancy threshold be applied when creating a concatenation matrix?
Watching agents work on their own for hours at a time is so wild
What would you like to see next?
bsky.app/profile/did:...
Related note: I am considering reorganizing the docs to revolve around what the user is doing - ie, function categories like alignment properties (length, GC content, etc), tree manipulation (root tree, prune tree, etc) - not by input type
Very open to user feedback on this
bsky.app/profile/jlst...
PhyKIT v2.1.8 now supports phylogenetic signal testing - Blomberg's K and Pagel's lambda for continuous traits
Method was inspired and validated against phytools across 95 simulated datasets (r = 1.0 for K, r > 0.999 for lambda)
Docs: jlsteenwyk.com/PhyKIT/usage...
Attached image
Grateful to see the uptick in SubStack subscribers.
Currently posting weekly listicles on advances in bio-x-ai and biotech business happenings.
Will be adding more deep dives soon, especially around benchmarks and evaluations on AI performance.
Subscribe for free :) https://genomely.substack.com/
That is an incredibly kind statement -- and I agree with 2/3rd of it, the field would look very different without Stamatakis and Mirarab!
I'm very happy to hear that PhyKIT is meeting your needs. If there are functions you would find useful, I'm all ears!
will be rerunning some soon
https://github.com/JLSteenwyk/ClipKIT (2/2)
ClipKIT will be expanding its trimming options and tuneability.
Users can expect growing flexibility and choice in how they run ClipKIT.
For those less interested in parameter exploration, the default will remain the best method based on the most recent benchmarks.
Speaking of benchmarks, I (1/2)
One of my favorite features is running multiple study foregrounds at once and automatically obtaining a semantic similarity network from that analysis
bsky.app/profile/did:...
Recommendations and suggestions welcome
Docs: https://jlsteenwyk.com/gokit/
GitHub: https://github.com/JLSteenwyk/gokit (2/2)
Attached image
Attached image
Attached image
GOKIT is a new tool for a mainstay analysis:
gokit conducts GO enrichment analysis w/ one clean CLI, native batch mode and network comparison, built-in plots, and deterministic outputs with run manifests
Just `gokit enrich` and you're done.
Simple. Easy. Agent ready. (1/2)
Low-level piRNAs are generated from any abundant transcript, seeding recognition before ping-pong amplification kicks inβshown across silkworms, flies, and mice.
How does the piRNA system first recognize a new transposon or virus as foreign?
https://www.biorxiv.org/content/10.1101/2024.01.24.577019
Having a blast casting multiple agents at once. Itβs speeding up the planning phase and boosting agent capacity significantly
ggpubfigs: https://github.com/JLSteenwyk/ggpubfigs
pypubfigs: https://github.com/JLSteenwyk/pypubfigs
ggpubfigs and pypubfigs now include four new colorblind-friendly palettes.
These tools make it simple to create figures that everyone can visually access, helping you share your insights with a wider audience.
observed in 57% replicates.
Single-tree ortholog assignments give you a clean answer but hide uncertainty. This bootstrap consensus approach makes that uncertainty visible and quantifiable. (3/3)
phylogeny, I generated 1000 ufboot trees and found that 3 snap-ogs were present in 99-100% of ufboot replicates, indicating they were high-confidence subgroups. 2 snap-ogs were recovered in 89% and 85% replicates, suggesting moderate support. In contrast, one snap-og was fragile and was only (2/3)
Attached image
One of my favorite functions in the latest version of OrthoSNAP is running it across bootstrap trees and getting a frequency score for every subgroup. Now you can see which snap-ogs (single-copy subgroups) are rock-solid and which ones fall apart under phylogenetic uncertainty
For the imaged (1/3)
Watch today be my last commit lol