CAGEscan
Introduction
CAGEscan is a technology where paired-ends of random-primed 5'-capped molecules are sequenced, thus associating TSS to collections of downstream exonic sequences scanning the transcript. For a more complete description of CAGEscan and its potential application, please refer to:
Linking promoters to functional transcripts in small samples with nanoCAGE and CAGEscan. Nat Methods. 2010 Jul;7(7):528-34. Plessy C, Bertin N, Takahashi H, Simone R, Salimullah M, Lassmann T, Vitezic M, Severin J, Olivarius S, Lazarevic D, Hornig N, Orlando V, Bell I, Gao H, Dumais J, Kapranov P, Wang H, Davis CA, Gingeras TR, Kawai J, Daub CO, Hayashizaki Y, Gustincich S, Carninci P. (PDF)
FANTOM5 CAGEscan libraries were be produced from biological samples selected for the diversity of transcripts they produced.
The primary purpose of those libraries is to associate HelicosCAGE derived TSS (in particular orphan DPI clusters) to annotations such as known transcripts, and in last ressort to provide a partial reconstitution of the intron/exon structure of the TSS product.
Protocols
- CAGEscan library construction protocol: OP-SOLEXA-nanoCAGE-Direct-v1.4
- CAGEscan mapping protocol: CAGEscan_mapping_protocol
- CAGEscan-driven HelicosCAGE TSS annotation: CAGEscan_driven_annotation_protocol
- CAGEscan clustering protocol: CAGEscan_clustering_protocol
Datasets and links
- RAW data and aligned reads: the subdirectories marked CAGEscan in https://fantom5-collaboration.gsc.riken.jp/files/data/shared/UPDATE_023/f5pipeline/
- LS-archive IDs: (search for "FANTOM5 CAGEScan") 841 (pilot) 861~866 (runs), 961~966 (re-sequenced lanes).
- Library IDs: NCig10013-NCig10068, NCig10126-NCig10131
ls /analysisdata/mirrors/F5_file_current/UPDATE_024/f5pipeline/*/*NCig*.5prime.fq.gz | grep -o NCig..... | sort -u
- DDBJ Sequence Read Archive, DRA005606 (2017).
First version of the alignments (until UPDATE_025 incl.)
Not used in the Data Descriptor.
- Original CAGEscan_mapping_protocol (`pairedBamToBed12`, `CAGEscan-Clustering.pl`).
- Reads and alignments: https://fantom5-collaboration.gsc.riken.jp/files/data/shared/UPDATE_026/f5pipeline/.
- CAGEscan clusters seeded with FANTOM5 DPI clusters: https://fantom5-collaboration.gsc.riken.jp/webdav/home/nbertin/CAGEscan-FREEZE_Phase1_2_1pls2-Cluster/.
(old links follow)
- File:CAGEscan production schedule February 2011.xls (Delayed by earthquake).
- File:CAGEscan production schedule April04 2012.xls
- Biological sample / library list and direct relation to HelicosCAGE libraries CAGEscan-Data-UPDATE_July11 libraries listing
- Available in Zenbu since July 7th, 2011. Use CAGEscan as a keyword to find all libraries.
- ZENBU configurations
- BED12 formatted CAGEscan cluster2: https://fantom5-collaboration.gsc.riken.jp/webdav/home/nbertin/CAGEscan-Data-UPDATE_July11/
Re-aligned version for the data descriptor
- Data was realigned with OP-WORKFLOW-CAGEscan-FANTOM5-v1.0, a derivative of the 2014 pipeline, with hardcoded information to ease processing of the FANTOM5 libraries with Grid Engine. [[1]]. Main reasons for realigning were a) G-correction and b) reproducible research.
- Reads and alignments: [[2]].
Meta CAGEscan assembly
The score indicates the number of libraries contributing to the cluster.
time cat */CAGEscan_clusters/*.bed | /home/plessy/src/CAGEscan-Clustering/CAGEscan-Clustering.pl \ --cluster_file /osc-fs_home/scratch/moirai/plessy/input/hg19.cage_peak_phase1and2combined_anncoord.bed \ --bin_intersectbed $(which intersectBed) \ --format bed > CAGEscan_metaclusters.bed
real 5m27.640s user 6m23.873s sys 0m2.293s
zenbu_upload -url http://fantom.gsc.riken.jp/zenbu -file CAGEscan_metaclusters.bed -assembly hg19 -name "CAGEscan metaclusters" -desc "FANTOM5 CAGEscan metaclusters"
Zenbu upload of individual libraries
Downloaded all the BED12 files from UPDATE_026 in a single directory.
URL decoding, modified from: http://stackoverflow.com/a/10660730/5309786
# Returns a string in which the sequences with percent (%) signs followed by
# two hex digits have been replaced with literal characters.
rawurldecode() {
# This is perhaps a risky gambit, but since all escape characters must be
# encoded, we can replace %NN with \xNN and pass the lot to printf -b, which
# will decode hex for us
printf -v REPLY '%b' "${1//%/\\x}"
printf "${REPLY}"
}
for file in *pairs.bed.gz
do
printf "%s\t%s\t%s\n" \
$file \
$(echo $file | grep -o NCig10...) \
"$(rawurldecode ${file%%.hg19.GCTATA.pairs.bed.gz} | sed 's/\./ /g') upload2016-12-26"
done > CAGEscan_pairs.txt
CAGEscan_clust
for file in *clusters.bed.gz
do
printf "%s\t%s\t%s\n" \
$file \
$(echo $file | grep -o NCig10...) \
"$(rawurldecode ${file%%.hg19.GCTATA.pairs.bed.gz} | sed 's/\./ /g') upload2016-12-26"
done > CAGEscan_clusters.txt
zenbu_upload -url http://fantom.gsc.riken.jp/zenbu -assembly hg19 -filelist CAGEscan_pairs.txt -singletag_exp zenbu_upload -url http://fantom.gsc.riken.jp/zenbu -assembly hg19 -filelist CAGEscan_clusters.txt
Available as tracks in view http://fantom.gsc.riken.jp/zenbu/gLyphs/#config=ZkJi4RdBAFhnsudxePrZxD (public collaboration "FANTOM5 CAGEscan").
Potential loci of interest
cat CAGEscan_metaclusters.bed |
awk '{OFS="\t"} $6 == "+" {print $1, $2, $8, $4, $5, $6}' |
bedtools subtract -s -a - -b /osc-fs_home/scratch/gmtu/annotation/homo_sapiens/gencode-18/gencode.v18.annotation.genes.bed |
sort -k5,5n |
grep p@chr
Pipelines and qsub scripts
for lib in $(ls /analysisdata/mirrors/F5_file_current/UPDATE_024/f5pipeline/*/*NCig*.5prime.fq.gz | grep -o NCig..... | sort -u ) do mkdir -p $lib pushd $lib sed "s/\[library_id]/$lib/g" ../../CAGEscan_short-reads.xml > $lib.xml printf 'MOIRAI_HOME=/home/scratch/moirai/bin\n' > $lib.sh printf 'DATA_HOME=/home/plessy/pipelines/%s\n' $lib >> $lib.sh printf '$MOIRAI_HOME/MoiraiExecute.pl $DATA_HOME/%s.xml\n' $lib >> $lib.sh printf '$MOIRAI_HOME/java -classpath $MOIRAI_HOME/Moirai.jar MoiraiUtility log $DATA_HOME/%s.xml\n' $lib >> $lib.sh printf '$MOIRAI_HOME/java -classpath $MOIRAI_HOME/Moirai.jar MoiraiUtility html $DATA_HOME/%s.xml\n' $lib >> $lib.sh popd done