START: a system for flexible analysis of hundreds of genomic signal tracks in few lines of SQL-like queries.
Xinjie Zhu, Qiang Zhang, Eric Dun Ho, Ken Hung-On Yu, Chris Liu, Tim H Huang, Alfred Sze-Lok Cheng, Ben Kao, Eric Lo, Kevin Y Yip
Author Information
Xinjie Zhu: Department of Computer Science, The University of Hong Kong, Pokfulam Road, Hong Kong, Hong Kong.
Qiang Zhang: School of Computing, Hong Kong Polytechnic University, Hung Hom, Kowloon, Hong Kong.
Eric Dun Ho: Department of Computer Science and Engineering, The Chinese University of Hong Kong, Shatin, New Territories, Hong Kong.
Ken Hung-On Yu: Department of Computer Science and Engineering, The Chinese University of Hong Kong, Shatin, New Territories, Hong Kong.
Chris Liu: Department of Computer Science and Engineering, The Chinese University of Hong Kong, Shatin, New Territories, Hong Kong.
Tim H Huang: Department of Molecular Medicine, University of Texas Health Science Center at San Antonio, San Antonio, Texas, USA.
Alfred Sze-Lok Cheng: School of Biomedical Sciences, The Chinese University of Hong Kong, Shatin, New Territories, Hong Kong.
Ben Kao: Department of Computer Science, The University of Hong Kong, Pokfulam Road, Hong Kong, Hong Kong. kao@cs.hku.hk.
Eric Lo: Department of Computer Science and Engineering, The Chinese University of Hong Kong, Shatin, New Territories, Hong Kong. ericlo@cse.cuhk.edu.hk.
Kevin Y Yip: Department of Computer Science and Engineering, The Chinese University of Hong Kong, Shatin, New Territories, Hong Kong. kevinyip@cse.cuhk.edu.hk.
BACKGROUND: A genomic signal track is a set of genomic intervals associated with values of various types, such as measurements from high-throughput experiments. Analysis of signal tracks requires complex computational methods, which often make the analysts focus too much on the detailed computational steps rather than on their biological questions. RESULTS: Here we propose Signal Track Query Language (STQL) for simple analysis of signal tracks. It is a Structured Query Language (SQL)-like declarative language, which means one only specifies what computations need to be done but not how these computations are to be carried out. STQL provides a rich set of constructs for manipulating genomic intervals and their values. To run STQL queries, we have developed the Signal Track Analytical Research Tool (START, http://yiplab.cse.cuhk.edu.hk/start/ ), a system that includes a Web-based user interface and a back-end execution system. The user interface helps users select data from our database of around 10,000 commonly-used public signal tracks, manage their own tracks, and construct, store and share STQL queries. The back-end system automatically translates STQL queries into optimized low-level programs and runs them on a computer cluster in parallel. We use STQL to perform 14 representative analytical tasks. By repeating these analyses using bedtools, Galaxy and custom Python scripts, we show that the STQL solution is usually the simplest, and the parallel execution achieves significant speed-up with large data files. Finally, we describe how a biologist with minimal formal training in computer programming self-learned STQL to analyze DNA methylation data we produced from 60 pairs of hepatocellular carcinoma (HCC) samples. CONCLUSIONS: Overall, STQL and START provide a generic way for analyzing a large number of genomic signal tracks in parallel easily.