Thomas did a PhD in Computer Science at the University of Melbourne in the mid 1990s. His doctoral work was in the area of logic programming and compiler design. He then spent 7 years working in the area of text search and information retrieval for a small company spun off from RMIT University. After a short break he moved into bioinformatics, applying insights from his previous experience.