Fig 1.
Overview of the method and tools provided by Lir.
A: Documented executable code, placeholders for the display items, and discussion of the displayed results are maintained as a text file: the Lir source. Dependencies between the input data (data objects) and the executable code (data transformations) are an integral part of the source. The executable code and instructions for running it are extracted from the source file by lir-tangle. The code is evaluated by lir-make to obtain results and display items. A human-readable, cross-linked document that faithfully represents the literate source text file and integrates all display items is compiled by lir-weave. B: An overview of the work flow using this method. All steps that are performed by a computer are automated, including resolving dependencies between data objects and data transformations. This facilitates exploratory data analysis with short iteration cycles between formulating a question, evaluating its answer, and refining or extending the analysis.
Fig 2.
Using Lir to correlate genes of interest.
A: Four of the display items generated by the analysis outlined in (A). In the scatter plots, red indicates a sample in which both genes were amplified, blue indicates a sample in which both genes are at basal levels, and green indicates a sample with differential amplification status of the two genes. The interpretation of the results of each display item shown here is added to the source file: the interpretation becomes an integral part of the analysis. B: Diagram demonstrating the data flow for an analysis. The input data (a large data matrix in a text file) is sanitized and saved as a native R object. Meta-data of the genes and the samples is saved to a relational database to facilitate querying the data. The relevant data is extracted, analyzed, and visualized, producing several display items. In this diagram, data objects are colored in green, data transformations are colored in red, and arrows represent the dependencies declared in the source file and used by Lir to generate the intermediate data objects and the display items.
Fig 3.
Using Lir to determine the effects of upregulation of the genes of interest on patient survival.
A: Three of the display items generated by the analysis outlined in (A). As in Fig 2, the interpretations of the results shown below each display item appear verbatim in the literate source. B: Diagram demonstrating the data flow for further analysis based on the results shown in Fig 2. Importantly, data objects generated in the previous analysis are reused. In this diagram, data objects are colored in green, data transformations are colored in red, and arrows represent the dependencies declared in the literate source file and used by Lir to generate the intermediate data objects and the display items.
Fig 4.
Using Lir to integrate two independent data sets and visualize the results.
A: The display items generated by the analysis outlined in (B). The result of each step, represented by the corresponding display item, is taken into consideration when formulating the next question and designing the analysis. B: Diagram demonstrating the data flow for an analysis that incorporates a new data set. The new data set associates genes with a measure of the certainty that they are targeted by the same micro-RNA as a gene of interest. The existing relational database object was updated (not re-generated) to include the additional data. The analysis was done in three consecutive steps: First, a reasonable cut-off for the prediction certainty of the micro-RNA targets was determined (Step 1); then the genes associated to the gene of interest were found (Step 2); then, the mRNA levels of the most interesting of the associated genes was plotted against the mRNA levels of the gene of interest (Step 3). The visualization from Fig 2B was reused in the last step. Data objects are colored in green, data transformations are colored in red, and arrows represent the dependencies.