A tool to visualise and compare multiple SHAPE experiment data

ShapeCompare is a free software for GNU/linux, Mac OS and Windows made to visualise and compare results of high-throughput Selective 2′-Hydroxyl Acylation analysed Primer Extension (hSHAPE) experiments.

Get Shapecompare


Sequence-aligned comparison

sequences python sequences data_coreset/

Align and display multiple hSHAPE experiments. The color of each base is related to its flexibility. (Blue = low reactivity, Red = high reactivity, Grey : No data)

Reactivity variation

barplot python histo data/experiment1.shape data/experiment2.shape

Plot reactivity of each base in sequence order. Errorbar are standard deviations.

scatter python scatter data/experiment.shape data/experiment2.shape

Plot reactivity of each base in decreasing order. Errorbar are standard deviations.

Secondary structure

2d python twod data/experiment1.shape --model wassarman

Plot reactivity over a secondary structure model. Paired bases are in bold.

Format file for model consist in two csv files begining with the same name.

Usage sequences <folders>... [-v | -o <path>] (histo|scatter) <folders>... [--rna <seq_name> | -v | -o <path>] twod <folders>... --model <model_name> [--rna <seq_name> | -v | -o <path>] (-i|--interactive) <folders>... [-v] (-h | --help) --version --license

sequence <folders>... Align on a sequence multiple experiments.
histo <folders>... Bar-plot of reactivity (sequence order).
scatter <folders>... Scatter plot of mean reactivity (sorted).
twod <folders>... Mean reactivity on a secondary structure template.

Nb. <folders>... can either be ".shape" folder(s) or folder(s) containing them.
(In the last case all .shape sub-folders will be evaluated.)

-v --verbose Execute in verbose mode.
-i --interactive Execute in interactive mode. (Not implemented yet).
-o --output-file <path> Save the plot in a file instead of displaying it.
--rna <seq_name> RNA sequence to show (must be in the fasta file).
--model <model_name> Model of secondary structure to use.
-h --help Show this screen.
--version Show version.
--license Show license information.


ShapeCompare is written in python 2.7 and needs the following library :

How to

How to get ShapeCompare to play nice with your data ? Follow this steps :

  1. Get the the code
  2. Construct the files corresponding to your favorite RNA : you will need a fasta file with the sequences, and an other with the alignment. (Inspire you from the one I've made for 7SK to get started)
  3. Modify the file accordingly.
  4. Your data should be in aligned ShapeFinder format (*.shape folder with "procTrace.aln" inside). If the sequence is different from the first of the fasta file (e.g. mutant) put a "seq.txt" file inside containing the sequence name to match.
  5. Enjoy ! (Don't forget the --help option).
If it doesn't work, don't hesitate to report the issue.


Associated work

About the Author

This program has been written by Guilhem Doulcier, originally during a two week internship in the Institut de Biologie de l' École normale supérieure in november 2012.


Copyright (C) 2012, 2013 Guilhem DOULCIER.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.