R (Version 4.3.1)
To install required libraries, the load_libraries.r script can be invoked as follows:
RScript load_libraries.r
Code for 3'UTR annotations and quantifications can be found at: 3utr_annot and 3utr_quant
Code for fluorescence microscopy processing can be found at: ALS_MN_image_analysis
The codebase is organized according to source dataset:
- MN_Diff (motor neuron differentiation time course)
- Astrocytes
- siRNA knockdown: targeting SFPQ, FUS, TDP-43
- VCP knock-in model with ML240 treatment
- Microscopy images of motor neurons (Stressed_MN)
and perform the following analysis:
| Analysis | Script | Description | Figure(s) |
|---|---|---|---|
| RNA Compartmentalization | 1_GetRNAMass.r | Analyzes cytoplasmic and nuclear RNA mass at each stage of MN differentiation. | Fig 2A |
| 2_Plot_PUD_GE_Nuc_Cyto_Cor.r | Analyzes correlation between nuclear and cytoplasmic gene expression or 3'UTR usage profiles. | Fig 2C | |
| 3_GetGenomicFeaturesDistribution.r | Analyzes fraction of mapped reads to genomic features (Introns, Exons, 3'UTRs, 5'UTRs). | Fig 2D | |
| Protein Compartmentalization | 1_PlotProtExp.r | Plots protein relative abundance (fold-change compared to iPSC stage) for NEFL. | Fig 2B |
| 2_Plot_Prot_Nuc_Cyto_Cor.r | Analyzes correlation between nuclear and cytoplasmic protein abundance profiles. | Fig 2C | |
| 3'UTR Analysis | 1_Identify3UTRShifts.r | Identifies significant shifts in relative expression of 3'UTR isoforms across conditions using Fisher's test. | - |
| 2_Process3UTRShifts.r | Processes results from the Fisher's test. | - | |
| 3_Plot3UTRShifts.r | Generates volcano and barplots of 3'UTR isoform shifts; performs GO enrichment and pathway comparison. | Fig 2E, 2F, S2–S5 | |
| 4_PlotPUDBarplots.r | Bar plots for specific genes illustrating 3'UTR isoform expression across conditions. | Fig 2G, 2H, S1B | |
| 5_PlotUTRLength.r | Generates barplots for overall 3'UTR lengths across conditions. | Fig S1A | |
| 6_qPCR.r | Analyzes qPCR results for ENAH 3'UTR isoforms. | Fig 2I | |
| RBP (CLIP-Seq) and m6A Analysis | 1_CLIPGlobalRegWelchTtest.r | Identifies global RBP regulators of 3'UTR usage using Welch’s t-test; generates heatmaps and lineplots. | Fig 4A, 4B |
| 2_CLIPEnrichmentFisher.r | Identifies enrichment of RBP binding comparing shifted vs non-shifted 3'UTRs; heatmaps of enrichment/depletion. | Fig S7 | |
| 3_FindRBPBindingSites.r | Plots density of RBP binding in specified 3'UTRs. | Fig 4D | |
| 4_FindRNAModSites.r | Plots density of m6A modification in specified 3'UTRs. | Fig 4E | |
| 5_Compare3UTR.r | Compares RNA modification in shifting vs stable 3'UTRs. | Fig S7C | |
| 6_FindTDP43-m6aOverlap.r | Finds overlap between m6A and TDP-43 binding by mutual information calculation. | Fig 4F | |
| 7_PlotM6aActivity.r | Plots m6A activity in iPSC and MN cell lines. | Fig 4G | |
| Microscopy Analysis | 1_Radius.r | Generates plot for radius of proximal or distal neurites in VCP and WT samples. | Fig 3D |
| 2_RBPLoc.r | Generates plot for relative intensity of TDP-43 in cytoplasm, proximal, or distal neurites in VCP and WT samples. | Fig 4H |
The config file config.yml is used to specify location of input data and input/output directories.
Each script can then be invoked, for example, as follows:
RScript ./scripts/MN_Diff/3UTR_Analysis/1_Identify3UTRShifts.r config.yml