GSE44591 Processing Pipeline
RNA-Seq
code_examples
1 step
Publication
Genome-wide analysis reveals SR protein cooperation and competition in regulated splicing.Molecular cell (2013) — PMID 23562324
Dataset
GSE44591Genome-wide Analysis Reveals SR Protein Cooperation and Competition in Regulated Splicing
Warning: Pipeline descriptions and code snippets may be inferred or AI-generated. Use them only as a starting point to guide analysis, and validate before use.
Processing Steps
Generate Jupyter Notebook-
1
Density files on two different strands were generated by using bedItemOverlapCount and wigToBigWig programs from UCSC kent source package.
$ Bash example
# This script assumes the input 'aligned_reads.bed' is a BED6+ file (e.g., from `bedtools bamtobed` on a BAM file), where the 6th column contains strand information ('+' or '-'). # It also assumes a reference genome (e.g., hg38) and its corresponding .chrom.sizes file. # The generation of 'genomic_bins_100bp.bed' is shown as an example, but typically this file would be pre-generated. # --- Configuration Variables --- GENOME_ASSEMBLY="hg38" # Placeholder: Replace with your actual genome assembly (e.g., hg19, mm10) INPUT_BED="aligned_reads.bed" # Placeholder: Replace with your input BED file of aligned reads BIN_SIZE=100 # Placeholder: Define the size of genomic bins for density calculation # --- Installation (if not already installed) --- # UCSC tools are typically downloaded as binaries or compiled from source. # They are often available via bioconda: # conda install -c bioconda ucsc-beditemoverlapcount ucsc-wigToBigWig ucsc-fetchchromsizes # conda install -c bioconda bedtools # For bedtools makewindows # --- Step 1: Fetch chromosome sizes for the genome assembly --- # This file is required by wigToBigWig and bedtools makewindows fetchChromSizes "${GENOME_ASSEMBLY}" > "${GENOME_ASSEMBLY}.chrom.sizes" # --- Step 2: Generate fixed-size genomic bins --- # This step uses bedtools, which is not part of UCSC tools, but is commonly used for this purpose. # If you have a pre-existing bins file, you can skip this. # The 'otherFile' for bedItemOverlapCount needs to be a BED file of regions to count overlaps against. bedtools makewindows -g "${GENOME_ASSEMBLY}.chrom.sizes" -w "${BIN_SIZE}" > genomic_bins_${BIN_SIZE}bp.bed # --- Step 3: Separate aligned reads by strand --- awk -v OFS='\t' '$6 == "+"' "${INPUT_BED}" > "${INPUT_BED%.bed}_plus.bed" awk -v OFS='\t' '$6 == "-"' "${INPUT_BED}" > "${INPUT_BED%.bed}_minus.bed" # --- Step 4: Use bedItemOverlapCount to count reads in each genomic bin --- # bedItemOverlapCount outputs a BED file with an additional score column (the count). # Output format: chrom start end name score strand count # We are interested in the 'count' column (7th column) as the density score. bedItemOverlapCount "${GENOME_ASSEMBLY}" "${INPUT_BED%.bed}_plus.bed" genomic_bins_${BIN_SIZE}bp.bed "${INPUT_BED%.bed}_plus_counts.bed" bedItemOverlapCount "${GENOME_ASSEMBLY}" "${INPUT_BED%.bed}_minus.bed" genomic_bins_${BIN_SIZE}bp.bed "${INPUT_BED%.bed}_minus_counts.bed" # --- Step 5: Convert the BED file with counts to WIG format --- # This is an inferred step, as bedItemOverlapCount does not directly output WIG, and no direct UCSC tool converts BED+score to WIG. # We extract chrom, start, end, and the count (7th column) and format it as a fixedStep WIG file. # WIG 'start' is 1-based, so we use $2+1 from 0-based BED start. # WIG 'step' and 'span' are the bin size. # For positive strand echo "track type=wiggle_0 name=\"${INPUT_BED%.bed}_plus_density\" description=\"Plus strand read density (bin size: ${BIN_SIZE}bp)\"" > "${INPUT_BED%.bed}_plus.wig" awk -v OFS='\t' -v BIN_SIZE="${BIN_SIZE}" 'BEGIN {prev_chrom = ""} { if ($1 != prev_chrom) { print "fixedStep chrom="$1" start="($2+1)" step="BIN_SIZE" span="BIN_SIZE; prev_chrom = $1; } print $7 }' "${INPUT_BED%.bed}_plus_counts.bed" >> "${INPUT_BED%.bed}_plus.wig" # For negative strand echo "track type=wiggle_0 name=\"${INPUT_BED%.bed}_minus_density\" description=\"Minus strand read density (bin size: ${BIN_SIZE}bp)\"" > "${INPUT_BED%.bed}_minus.wig" awk -v OFS='\t' -v BIN_SIZE="${BIN_SIZE}" 'BEGIN {prev_chrom = ""} { if ($1 != prev_chrom) { print "fixedStep chrom="$1" start="($2+1)" step="BIN_SIZE" span="BIN_SIZE; prev_chrom = $1; } print $7 }' "${INPUT_BED%.bed}_minus_counts.bed" >> "${INPUT_BED%.bed}_minus.wig" # --- Step 6: Convert WIG files to BigWig format --- wigToBigWig "${INPUT_BED%.bed}_plus.wig" "${GENOME_ASSEMBLY}.chrom.sizes" "${INPUT_BED%.bed}_plus.bw" wigToBigWig "${INPUT_BED%.bed}_minus.wig" "${GENOME_ASSEMBLY}.chrom.sizes" "${INPUT_BED%.bed}_minus.bw" # --- Cleanup (optional) --- # rm "${INPUT_BED%.bed}_plus.bed" "${INPUT_BED%.bed}_minus.bed" # rm "${INPUT_BED%.bed}_plus_counts.bed" "${INPUT_BED%.bed}_minus_counts.bed" # rm "${INPUT_BED%.bed}_plus.wig" "${INPUT_BED%.bed}_minus.wig" # rm genomic_bins_${BIN_SIZE}bp.bed # rm "${GENOME_ASSEMBLY}.chrom.sizes"
Tools Used
Raw Source Text
Density files on two different strands were generated by using bedItemOverlapCount and wigToBigWig programs from UCSC kent source package. genome build: mm9