Gregg Rice, 2014 — gmr@unc.edu
SHAPE-directed RNA secondary structure prediction using windowed partition function and MFE folding.
- See ARCHITECTURE.md for code structure.
- Python 2.7
- RNAStructure
- matplotlib
- httplib2 (optional, for structure drawing)
Follow the instructions on the RNAStructure website for your platform.
For each module: download the source, extract, then install:
python setup.py install --userpython SuperFold.py RNA.mapAll flags are optional. See --help for details:
python SuperFold.py --helpGenerated automatically by the ShapeMapper pipeline. Columns: nucleotide #, SHAPE reactivity, error, sequence. T is converted to U automatically.
1 0.002512 0.053798 G
2 -0.034906 0.143529 T
3 -0.077852 0.257623 T
Columns: nucleotide #, differential SHAPE reactivity, std error, sequence, Z-factor.
1 -999.0 -999.0 G -999.0
2 -0.0124 0.2673 U -74.244
3 0.0951 0.0833 U -2.349
Create a .mapd file with:
python differenceByWindowSHAPEMAP.py nmia.map 1m6.map nmia-1m6.mapd 25Pass to SuperFold via --differentialFile.
One nucleotide index per line:
34
35
36
Paired nucleotide indices, one pair per line. Used to reassemble pseudoknotted positions in the final step:
34 78
35 77
36 76
If data was generated with --dms, run SuperFold with --DMS to use fold/partition commands compatible with DMS SM 2.2+ data.
SuperFold creates folders automatically and appends a cryptographic hash to folder/file names to avoid collisions. A log file is written to the results folder.
| Folder | Contents |
|---|---|
partition/ |
Intermediate partition function calculations |
fold/ |
Intermediate MFE fold calculations |
results/ |
Merged partition function and MFE structures (merged.*) |
regions/ |
Per-region structure files and plots |
Arc plot key (base pair probabilities from partition function):
| Color | Probability (%) |
|---|---|
| Green | > 80 |
| Blue | > 30 |
| Yellow | > 10 |
| Gray | > 3 |
The ShannonSHAPE PDF shows Shannon entropy and SHAPE analysis. Region cut sites are written to the log file.
If no base pairs appear in the output, try a smaller window size:
--partitionWindowSize 1000
--foldWindowSize 1000For window sizes under 1000, set --trimInterior 200 to include interior windows. Note that smaller window sizes bias toward shorter-range interactions.