I'm the researcher mentioned in the article. We used Racket in part because before we transitioned into academic medicine, Will Byrd and I were in academic computer science with a focus on programming languages. Will was building up miniKanren to do lots of cool stuff in program synthesis and program analysis. When we jumped over, it felt natural to bring the power of relational reasoning to knowledge graphs over biomedical knowledge, and so mediKanren was born.
Im a big fan of your work, Mr Might! I'm just an MD with a hobby interest in logic programming, but FWIW I think that you guys have really captured how to use current medical information, a thing that the statistical approach still cannot achieve.
Knowing nothing about miniKanren, I'm curious if you feel its essence much better expressed in a LISP than an Algol-like language like Python? And will relational reasoning increasingly require people to return to LISP as an AI language?
Another question - would it be possible to visualize the exact chain of reasoning used by mediKanren to link ketamine to this disease? It would be wonderful to see exactly what the tool brought to the table that human researchers missed.
miniKanren definitely exploits a lot of the syntactic dexterity of Scheme/Racket/Lisp to do some really cool things -- or at least to express them more succinctly.
Yes, it is always possible, in fact, since logical arguments can always be rendered as proof trees.
I am also a big fan of yours Prof Might!
I am very passionate about genomics and rare diseases and your contributions (code, writings, setting up the PMI, and all the others too numerous to list them all here) in this oft neglected area have been very motivating and inspiring to me .
Wish more software folks were aware of and work on these important problems at the intersection of biology and software
Bertrand's father here. I'm humbled to see his page show up on HN.
HN was one of the sites that first picked up Bertrand's story years ago and it played a big role is several of the events that followed, such as when he was confirmed to be the first and (then) only patient in the world with his ultra-rare genetic disorder.
The subsequent explosion on social media led to the discovery of other patients; to an acceleration of the science; to the development of treatments; to my pivot from academic computer science to precision medicine; to working at The White House to launch President Obama's Precision Medicine Initiative.
When Bertrand passed away unexpectedly in October, I've thought long and hard about how to ensure he leaves behind an active legacy.
Toward that end, bringing more computer science and computer scientists into medicine is one of my goals, and as a first step toward that I published a lengthy (living) draft on his site that explains the step by step process that Bertrand taught me for doing precision medicine:
My wife and I were surprised and sorry when we heard Bertrand's passing last fall. It was a privilege getting to know your family first as neighbors and then as friends back in SLC. I was always humbled at seeing the effort that you and Christina put into moving heaven and earth out of your love for Bertrand.
Not everyone can say they've made a lasting positive impact on the world, but you and your family certainly have.
Thank you for the very kind words and friendship. I certainly hope Bertrand's legacy of science in the service of patients continues to grow with time.
I've interacted with you on twitter before, but I wanted to thank you again for your work, it has impacted me greatly.
One of the first mathematics papers I ever read was your paper on Gödel hashes. Coming from a patchwork self-taught software background it opened my eyes to just how much more there was to CS than "writing code". So, so much more. I still have a copy in my desk! I had dropped out of the U of U's CS program, and this was the first thing that really made me question my decision.
I've also admired your work in with Bertrand and I'm hopeful at the legacy it will leave, and at the future of precision medicine.
Thank you for the kind words -- and also for reminding me about the Godel hashing work!! That was one of the last things I did before the hard pivot into academic medicine.
> Toward that end, bringing more computer science and computer scientists into medicine is one of my goals
Besides donating to the appropriate organizations, do you have suggestions for if/how software engineers can contribute to this cause? Are there open source projects in need of contributors or notable organizations that one could work for? Perhaps even a way for technical folks with biology backgrounds to get in touch with and help non-technical families navigate all the jargon?
It's an open source logical reasoning engine (read: 1960's AI) for drug repurposing that we deploy routinely to help patients.
There is always a need for better relationalization of biological data sets that feed such tools too.
For example, SemMedDB is really showing its age for NLP of the scientific literature and yet it is still astonishingly useful for helping patients even as is.
> Besides donating to the appropriate organizations, do you have suggestions for if/how software engineers can contribute to this cause?
There's a massive amount of stuff that CS people can do. For example, many protein features (signal peptides, GPI anchors, transmembrane domains, glycosylation sites, phosphorylation sites, E/R retention signals, etc.) can be modeled as formal languages or as probabilistic formal languages. Literally, that's what they are, amino acid codes.
In order to help people with rare diseases, it is very important to identify which variant is knocking off one of those features. In most cases, that's the cause. For example, haemophilia (which is the archetypal rare disease) arises due to a mutation that abolishes a signal peptide in either Factor VIII or Factor IX. Furthermore, it has to be done as quickly and as automatically as possible. Otherwise, it doesn't scale.
Most research funding agencies are sadly quite uninterested in rare diseases.
Ahhh, I’m so, so sorry for your loss. I could never imagine the true pain of losing a child. But, as a father, it must be a hell that you would never wish upon even your worst enemy. My deepest condolences and regrets.
I remember reading Bertrand’s story a few years ago. His struggle reached the UK, along with his many achievements and progress. Not many children of his age have such a global reach, especially for such a profound cause.
I’m sorry to read of Bertrand’s passing. I’ve been following your writing for a while, including your son’s story, and I find nothing short of admirable the lengths that you and your family have gone to ensure that he was loved and cared for.
I had a look at your draft and, as someone working in a related field, I’m really impressed by its exhaustiveness. Thank you for sharing your expertise.
I missed his passing, because I was taking an extended Twitter break. I've always felt a connection to your son, since I translated your article, even though we never met.
I often think back to your Quora answer when I feel like a failure, and I try to remember that we can focus and we can re-direct our lives.
Olin (my advisor) deserved tenure on his strength as a teacher alone. (If tenure were awarded on such things anyway.)
He also founded the entire field of static analysis for higher-order languages (like Scheme, Python and Haskell). His long-term research impact has been extremely significant.
It's hard to figure out any surface reasoning on which to deny him tenure, except that he refuses to thin-slice his work into many tiny papers.
He operates on the model of "one paper = one major idea."
Denying Olin tenure (after an overwhelming faculty vote in favor of tenure) seemed to me to be the tipping point that led ultimately to the ouster of the Dean.
That is claptrap. If it were a family story you'd have a family blog, and a separate family member would write about how they all pitched in to help you get tenure.
All of us know that the main takeawy of the story is about you. Your desperate disclaimers don't do anything.
Would you consider (after killing what you've been working towards for the last n·10 years) founding and running a 501(c)(3) non-profit like http://NGLY1.org/ a career for you?
Also, I've put much of what I've learned online:
https://bertrand.might.net/articles/algorithm-for-precision-...