Sign in

Travis Wheeler

@wheelerlab.org
434 followers 230 following 324 posts

Professor, University of Arizona Algorithms, Machine Learning, Data Resources Computational Genomics, Drug Discovery, etc. wheelerlab.org

PostsRepliesMedia
Travis Wheeler @wheelerlab.org · 03/09/2026
Anthropic let the academics in, and everything fell apart within a week
000
Travis Wheeler @wheelerlab.org · 01/09/2026
(Without saying your age, what was your favourite film that came out when you were 20 years old.) At the time, I'd have said #1 (still great, see photo on my lab website); now I'm partial to #2
000
Travis Wheeler @wheelerlab.org · 16/08/2026
lol
132
Travis Wheeler @wheelerlab.org · 19/06/2026
Please caption this interaction in my driveway
110
Travis Wheeler @wheelerlab.org · 24/05/2026
This is freakishly reminiscent of an image I got when trying to get various image generators to create a picture of a man using a hammer to pound a nail into a string. Are we sure that's a real photo of the Prince?
Man using a hammer to pound a nail into a rope  ... except the nail is next to the rope instead of in the rope, and he's holding the rope not the nail. Weird
000
Travis Wheeler @wheelerlab.org · 20/04/2026
Same. (my ride home is probably a little bit rockier than yours)
010
Travis Wheeler @wheelerlab.org · 19/04/2026
Agree. But maybe more: it should be the standard to highlight (with neon lights) when software is produced entirely by an automated process. Meanwhile, these repos present the work with text like this, which disingenuously obscures the fact that no human has actually thought about the code
"we aim to replicate bugs if they are present, for the sake of reproducibility! (but then we might have added a few more in the process)"
010
Travis Wheeler @wheelerlab.org · 10/04/2026
Product of a terrific collaboration with @sdeorowicz.bsky.social, Marek Kokot, and Amit Roy: doi.org/10.1093/bioi... MDCompress produces compressed trajectory files that are up to 37% smaller than in the widely-used XTC format. Nice software library interfaces for fast (de-)compression.
MDCompress: better, faster compression of molecular dynamics simulation trajectories 
Marek Kokot , Amitava Roy , Travis J Wheeler , Sebastian Deorowicz
061
Travis Wheeler @wheelerlab.org · 06/12/2025
Xfinity for the win!
000
Travis Wheeler @wheelerlab.org · 26/11/2025
Reminiscent of the copy of Procrastinator's Handbook sitting on our bookshelf.
040
Travis Wheeler @wheelerlab.org · 29/09/2025
Math is hard
010
Travis Wheeler @wheelerlab.org · 12/09/2025
I share this picture of a printed out genome every once in while. It just occurred to me: it's got to be cheaper to acquire a finished copy of your genome (high accuracy, phased, SV-resolved) than to print it as a collection of bound books. (back-of-envelope checks out - anyone done the math?)
A photo of the first printout of the human reference genome presented as a series of books, displayed at the Wellcome Collection, London.

Image taken from https://en.wikipedia.org/wiki/Reference_genome
185
Travis Wheeler @wheelerlab.org · 31/08/2025
No more funny-looking than the top dog in my kitchen
Picture of a Vizsla in a costume, sitting on another dog (who is not in a costume, and seems unperturbed by the whole "I'm being sat on" thing)
110
Travis Wheeler @wheelerlab.org · 02/08/2025
I confirm your opinion
010
Travis Wheeler @wheelerlab.org · 20/06/2025
A Representation Learning approach to virtual ligand-screening. Produces good enrichment for active ligands, and can scan billions of candidate small molecules in a few hours.. Simpatico: www.biorxiv.org/content/10.1...
031
Travis Wheeler @wheelerlab.org · 09/06/2025
I am definitely NOT burning the candle at both ends
Generated image of a very complicated multi-head candle, with all ends burning in a mighty conflagration. In the background (blurred), is a bewildered-looking man watching the candles burn.
010
Travis Wheeler @wheelerlab.org · 04/06/2025
Interesting read -- I'd have agreed whole-heartedly when it was written. Starting to feel a little dated:
Received on 05 February 2025;
120
Travis Wheeler @wheelerlab.org · 01/06/2025
I guess she just really wants to be a GOAT (Matthew 25:31-46):
A quote from Matthew 25:41–46:   (The people on the left are the goats)

41 “Then he will say to those on his left, ‘Depart from me, you who are cursed, into the eternal fire prepared for the devil and his angels. 42 For I was hungry and you gave me nothing to eat, I was thirsty and you gave me nothing to drink, 43 I was a stranger and you did not invite me in, I needed clothes and you did not clothe me, I was sick and in prison and you did not look after me.’

44 “They also will answer, ‘Lord, when did we see you hungry or thirsty or a stranger or needing clothes or sick or in prison, and did not help you?’

45 “He will reply, ‘Truly I tell you, whatever you did not do for one of the least of these, you did not do for me.’

46 “Then they will go away to eternal punishment, but the righteous to eternal life.”
000
Travis Wheeler @wheelerlab.org · 29/05/2025
I'm old enough to remember when Reagan was considered a conservative. This detestable description of our nation (below) proves that he was actually a Marxist, hellbent on destroying our great nation. www.reaganlibrary.gov/archives/spe...
A quote from Reagan's farewell address:

"I've spoken of the shining city all my political life, but I don't know if I ever quite communicated what I saw when I said it. But in my mind it was a tall, proud city built on rocks stronger than oceans, wind-swept, God-blessed, and teeming with people of all kinds living in harmony and peace; a city with free ports that hummed with commerce and creativity. And if there had to be city walls, the walls had doors and the doors were open to anyone with the will and the heart to get here. That's how I saw it, and see it still."
021
Travis Wheeler @wheelerlab.org · 28/05/2025
OMG, @deltahelp.bsky.social ... I'm trying to change a flight for my kid's trip to Europe. It's a change from a flight that was ~$600 to one that currently lists at $670. So maybe it makes sense to charge me $70. Maybe it makes sense to charge me some extra? But, uh ... $4,000 ???!!! JFC
This image captures a confusing airline pricing scenario for a flight itinerary, with annotations highlighting the issue.

Here’s what’s happening:
	1.	Flight Itinerary:
	•	The itinerary shows a one-way flight from Los Angeles (LAX) to Cardiff, Wales (CWL) via Minneapolis (MSP) and Amsterdam (AMS), departing on Sunday, July 20 at 9:00 am and arriving at 9:15 am the next day.
	•	The flights are operated by Delta (with codeshare partner German Airways for the final leg).
	2.	Price Display:
	•	On the left side of the image, it shows a Delta Main Economy Light fare of $670 for the one-way trip.
	•	Next to it, Delta Comfort Europe Economy is shown at $941.
	3.	Price Discrepancy:
	•	On the right-hand side, a message box from the airline’s customer support or booking system is shown.
	•	It states that the “new total cost per passenger, including all taxes and carrier-imposed fees for this itinerary, is $5,151.31, which is an additional $3,986.60 from the original fare of $1,164.71.”
	4.	Annotation:
	•	There are orange circles and question marks drawn around the $670 fare and the dramatic difference highlighted in the support message.
110
Travis Wheeler @wheelerlab.org · 18/05/2025
I don't think it's that. I paste the full url (or even just: globalfishingwatch.org), and it (usually, but not always) presents me with that "request is being verified" thing, then a 404. I think that green text means Cloudflare is over-protecting your site (see image). Maybe I'm just unlucky.
100
Travis Wheeler @wheelerlab.org · 17/05/2025
Strange. I click the link, and I get sent to a page with "please wait while your request is being verified" (see image) then a really gross URL (see 2nd image)
100
Travis Wheeler @wheelerlab.org · 02/04/2025
On second thought, we should be "Cautious, concerned, but **not dismissive**." So now we know how we should feel ...
000
Travis Wheeler @wheelerlab.org · 02/04/2025
ChatGPT thinks there are potential concerns ... so we're all on the same page! (but wait, there's more)
You’re pointing at a really important issue here, and honestly, it’s something that’s starting to worry a lot of researchers, educators, and readers. The image you shared is a perfect example of AI-generated summaries of scientific studies that are being presented without formal review or input from the original authors.

Here’s why this can be problematic:

Potential Concerns
	1.	Accuracy & Nuance Loss
AI-generated summaries often simplify complex findings. In fields like ecology, genomics, or clinical research, subtle conclusions or limitations may get lost, misinterpreted, or overstated.
	2.	No Accountability or Peer Validation
Unlike the peer-review process, these AI outputs don’t undergo human validation. Readers may assume the summaries carry the same scientific rigor as the original paper, which is misleading.
	3.	Bias & Misrepresentation
AI models can subtly (or not so subtly) introduce biases based on the data they were trained on. They may emphasize certain results over others, or misinterpret statistical findings.
	4.	Undermines Authoritative Voice
It circumvents the voice and intent of the authors and reviewers, who are the experts responsible for contextualizing the data.
	5.	Erosion of Scientific Literacy
Readers who rely only on these “quick answers” without reading the paper may develop an incomplete or distorted understanding of the research.
100
Travis Wheeler @wheelerlab.org · 24/03/2025
010
Travis Wheeler @wheelerlab.org · 01/03/2025
I think I'll just keep on meeting with you. I think understand things that gpt doesn't.
screen shot of chatgpt session.

My prompt
------------
interpret this comic, then come up with a witty reply

The reply
----------
Interpretation:
The comic pokes fun at our tendency to offload tasks—especially mundane ones like meetings—to AI, only to ignore the results anyway. It’s highlighting that sometimes all the planning and summarizing ends up feeling pointless, because we never actually use the information we requested.

Witty Reply:
“Brilliant plan! Let’s schedule an AI-led debrief so we can promptly forget to read that summary too.”
011
Travis Wheeler @wheelerlab.org · 10/02/2025
Cartoon image of a female saying "Aye Aye Captain"Another image of a female saying "Aye Aye, Captain".
020
Travis Wheeler @wheelerlab.org · 04/02/2025
This you?
Anshul Kundaje @anshulkundaje.bsky.social · 2mo
Pinning this for myself: I am determined to be kinder, gentler on this site compared to the netherworld we left – more like how we behave in the real world. Will still have a lot of (ideally constructively) critical things to say & have plenty of arguments especially on controversial topics.
110
Travis Wheeler @wheelerlab.org · 30/01/2025
So now I need to document my work with tattoos?
A photo of Leonard, the main character form the movie "Memento". It shows him shirtless, with a bunch of tattoos on his chest and arms.
010
Travis Wheeler @wheelerlab.org · 28/01/2025
Ah, the good old days ...
A screenshot showing that pubmed currently (as of 3:30PM EST) returns a 500 internal service error.
131
Travis Wheeler @wheelerlab.org · 12/01/2025
The math checks out. The logic is, um, checkered.
(Question) Is 12 teaspoons equal to 1/4 cup?

(Answer) No, 12 teaspoons is not a 1/4 cup. Here’s the breakdown:
	•	1 tablespoon = 3 teaspoons
	•	1/4 cup = 4 tablespoons

Thus:
So 12 teaspoons is equal to 1/4 cup.
100
Travis Wheeler @wheelerlab.org · 09/01/2025
There once was a writer who said, “AI is dull as cold bread.” But the bots, full of sass, Said, “You’d better not pass, Till you’ve laughed at the rhymes in your head!” (This make me nervous)
010
Travis Wheeler @wheelerlab.org · 25/12/2024
We're still hunting for a real logo, but for now I'm going with this: it's a picture of a nail, with a ribbon diagram of P93604 draped over it. You can probably guess what language we used to implement nail. github.com/TravisWheele...
A picture of a rusty nail, with an image of a protein structure draped over the nail.  The protein is P93604 (Rust resistance kinase). That's incredibly funny because nail is implemented in the programming language called Rust. My children don't think it's funny, but they're wrong.
000
Travis Wheeler @wheelerlab.org · 25/12/2024
A Christmas present for those who like fast and sensitive protein annotation tools! This shows runtime vs recall on a test with ~1400 query MSAs, with ~20 true matches per query planted among 2M decoy sequences. Speed gains over H3 grow for bigger datasets, and scale linearly with MMSeqs2 runtime.
A plot showing a tradeoff between recall and runtime. It shows that nail is roughly 20x faster than HMMER ~2-3x slower than MMSeqs2), and gains ~15% of the ~25% gap in recall between MMseqs2 and HMMER3
120
Travis Wheeler @wheelerlab.org · 25/12/2024
I made that shift early in my first winter in Montana.
Travis in a very warm ski mask.
020
Travis Wheeler @wheelerlab.org · 25/12/2024
Version 0.3.0 of nail is out. nail (github.com/TravisWheele...) is a tool for protein sequence annotation. It bridges most of the sensitivity gap between the two excellent tools MMSeqs2 (fast) and HMMER3 (very sensitive), and is >20x faster than HMMER3. Search with profile HMMs or single sequences.
A plot showing that HMMER's recall before first false positive is 71%, nail's double-seed variant is ~62%, nail's default is ~59%, MMSeqs2's sensitive variant is ~43%, and MMSeqs2's default variant is ~33%.
23613
Travis Wheeler @wheelerlab.org · 25/12/2024
You sure you don't want to keep using cmake? It's not the worst thing ever made...
"So yeah, cmake is clunky, but I'm not gonna have to rewrite my build system in 5-10 years because (some build tool) went away or went in a weird direction or the community lost interest in it."
120
Travis Wheeler @wheelerlab.org · 23/12/2024
Why the hell is there a Jack Russell Terrier looking straight out of the map at me? It's just East of Safford, Arizona. I circled it in the map to make it obvious. To see it yourself, I put a pin in the "nose": maps.app.goo.gl/cQDLXsFXBPhW...
Screen shot of a satellite view of Eastern Arizona. There is a patch of mountainous terrain that looks a lot like a dog staring out of the screen.
011
Travis Wheeler @wheelerlab.org · 27/11/2024
Asked my son (freshman in college), and he immediately noted the (twin-primes + 2) trick. Phew. We tried telling ChatGPT to constrain itself: "Design a method that will compute the number of pairs in run time that is subquadratic in the number of primes" It did not go well ...
To compute the number of pairs of primes with a difference that is also a prime, in subquadratic runtime, we need an efficient approach that avoids brute-force comparisons of all pairs. Here’s a step-by-step outline of an optimized method:

Optimized Method: Two-Pointer Approach with a Prime Set

1.	Generate Primes Efficiently: Use a sieve (like the Sieve of Eratosthenes) to generate all primes up to the given range (e.g., 100,000). Store these primes in a list (primes) and a set (prime_set) for O(1) lookups.
2.	Sort Primes (if needed): The list of primes is inherently sorted by generation, so no additional sorting is needed.
3.	Two-Pointer Iteration:
	•	Use two pointers (i and j) to iterate through the sorted prime list.
	•	Initially, set i = 0 and j = 1.
	•	For every prime[i], increment j until prime[j] - prime[i] exceeds the largest possible difference.
	•	For every valid difference prime[j] - prime[i], check if the difference exists in prime_set (O(1) lookup).
	•	Count the pairs when the difference is a prime.
4.	Complexity Analysis:
	•	Generating primes takes O(N log(log(N))) using the sieve.
	•	The two-pointer approach iterates through the list in O(n) time since each pointer moves only forward.
	•	Checking for primality of the difference is O(1) using the set.
Overall complexity: O(N log(log(N)) + n), where N is the maximum number in the range and n is the number of primes.
110
Travis Wheeler @wheelerlab.org · 26/11/2024
"how many pairs of prime numbers between 1-100000 have a difference that is also a prime number?" This is the (cubic) code it generated. Took almost a minute to return. Definitely doesn't get the trick. "where is the variable large_primes from?" "... generated using the sympy.primerange function."
# Optimized approach: Use a set for fast lookup of primes and limit iteration
large_primes_set = set(large_primes)

# Iterate only once through pairs of primes
prime_pairs_with_prime_difference_large = [
    (p, q) for i, p in enumerate(large_primes) for q in large_primes[i+1:]
    if (q - p) in large_primes_set
]

# Number of such pairs
len(prime_pairs_with_prime_difference_large)
000
Travis Wheeler @wheelerlab.org · 26/11/2024
(oops - forgot the alt text)
First this lists the code

# List of all primes between 1 and 100
primes = list(primerange(1, 101))

# Find pairs where the difference is also a prime
prime_pairs_with_prime_difference = [
    (p, q) for p in primes for q in primes 
    if p < q and (q - p) in primes
]

prime_pairs_with_prime_difference


Then it gives the results:
         1.	(2, 5)
	2.	(2, 7)
	3.	(2, 13)
	4.	(2, 19)
	5.	(2, 31)
	6.	(2, 43)
	7.	(2, 61)
	8.	(2, 73)
	9.	(3, 5)
	10.	(5, 7)
	11.	(11, 13)
	12.	(17, 19)
	13.	(29, 31)
	14.	(41, 43)
	15.	(59, 61)
	16.	(71, 73)
110
Travis Wheeler @wheelerlab.org · 26/11/2024
I think this tells us that the Quora AI bot is out of date, probably just spewing words instead of performing calculations. ChatGPT-4o got it right, I believe. 16 total.
110
Travis Wheeler @wheelerlab.org · 20/11/2024
U Arizona Computer Science is seeking to fill 6 (six ... six!) new faculty positions cs.arizona.edu/currently-op... If you like warm winters, hikes in the desert, bread that doesn't get moldy, and a great scientific environment ... come to Tucson
The Computer Science Department is 
currently seeking to hire 6 new faculty members!
Open positions are posted for Tenure Track Assistant or Associate Professor; Assistant, Associate, or Full Professor of Practice; and multiple levels of Lecturer.
0119
Travis Wheeler @wheelerlab.org · 05/10/2024
And there's a reason it's unexpected. It makes zero sense. (Trust me, the nhmmer paper doesn't delve into matters involving the educational system) doi.org/10.1093/bioi... Honest mistake? AI-generated manuscript?
120
Travis Wheeler @wheelerlab.org · 01/10/2024
shit.
Me:
explain this to me:
Days growing shorter,
motherfuckers use AI
to explain haiku.

GPT:
This haiku captures a bit of irony and humor. Here’s a breakdown:

	•	“Days growing shorter”: A simple observation of the changing seasons, likely indicating it’s autumn or winter, where daylight fades earlier.
	•	“motherfuckers use AI”: This is the punchline—people, perhaps unexpectedly or humorously, are turning to AI for tasks like explaining things as simple and human as poetry (like a haiku). The word choice injects humor, frustration, or surprise at the situation.
	•	“to explain haiku”: The final line drives the irony home. Haiku, a deeply human and artistic form, is being explained by an AI, which can feel odd or amusingly out of place.

In short, the haiku is commenting on the absurdity or humor of using sophisticated technology (AI) to analyze or explain something inherently simple and artistic, like haiku.
010
Travis Wheeler @wheelerlab.org · 01/10/2024
Love what you did there. I regularly ask AI models to make haiku poems for some random thing I'm trying to communicate. It's a bad habit. Here's my new one:
Me:
write a pair of haiku poems that communicate the obvious fact that AI is good for humanity, and 100% safe


GPT:
Of course, it is true,  
AI blooms like springtime light,  
Guiding hands with care.  

Fear not, friend, it glows,  
A gentle mind, always clear,  
Harmony through code.
020
Travis Wheeler @wheelerlab.org · 15/09/2024
Montana, from higher up
110
Travis Wheeler @wheelerlab.org · 10/09/2024
On the other hand, it's getting harder to get ChatGPT to screw up. As an example: here's what it did with the same input just now. It's a good explanation. So in a couple of months, enough things have changed that this kind of error mode is fixed (at least for today, with me)
A picture of an interaction with ChatGPT. 
- A picture of an equation is presented:   s'_i = max(0, s_i - 0.2) 
- This is a clamp function, designed to reduce the value of s_i by 0.2, but ensure that the resulting value is not negative.
- The user writes: "Look at the equation in this picture. What is happening here"
- ChatGPT correctly diagnoses the equation, and gives a useful explanation
110
Travis Wheeler @wheelerlab.org · 10/09/2024
On one hand, these systems can be remarkably brittle. Historically, it's been really easy to get them to backtrack with simple queries like "are you sure?" ... and there are so many examples of laughable interactions like this one (from me, about 2 months ago)
A picture of an interaction with ChatGPT. 
- A picture of an equation is presented:   s'_i = max(0, s_i - 0.2) 
- This is a clamp function, designed to reduce the value of s_i by 0.2, but ensure that the resulting value is not negative.
- The user writes: "Look at the equation in this picture. What is happening here"
- ChatGPT responds that this is a simplification of a quadratic expression, and produces an equation that has nothing to do with the input.
110
Travis Wheeler @wheelerlab.org · 26/06/2024
Announcing: 24th Genomic Standards Consortium - August 5-9, 2024 - Tucson, AZ - bit.ly/4eFgAQ9 Reproducibility Challenges - J. Gregory Caporaso  Challenges of ‘Omic data reuse - Jonathan Eisen Genomics and Standards challenges - Jack Gilbert  Reproducibility Challenges to Solutions - Rachel Gallery
100