SKILL.md
Version Compatibility
Reference examples tested with: matplotlib 3.8+, pandas 2.2+, pysam 0.22+
Before using code patterns, verify installed versions match. If versions differ:
- Python:
pip show <package>thenhelp(module.function)to check signatures - CLI:
<tool> --versionthen<tool> --helpto confirm flags
If code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.
Splicing Quality Control
Assess RNA-seq data quality specifically for alternative splicing analysis.
Junction Saturation Analysis
Goal: Determine whether sequencing depth is sufficient for comprehensive splicing detection.
Approach: Run RSeQC junction saturation on BAM files and check whether the junction discovery curve reaches a plateau.
"Assess RNA-seq quality for splicing analysis" -> Evaluate junction saturation, junction novelty rate, splice site strength, and read coverage.
- Python/CLI:
junction_saturation.py,junction_annotation.py(RSeQC) - Python: maxentpy for splice site scoring, pysam for junction read counting
# RSeQC junction saturation (check sequencing depth)
# Note: -s flag removed in RSeQC v3.0
junction_saturation.py \
-i sample.bam \
-r annotation.bed \
-o sample_junc_sat
import subprocess
import matplotlib.pyplot as plt
import pandas as pd
# Run junction saturation for multiple samples
samples = ['sample1.bam', 'sample2.bam', 'sample3.bam']
for sample in samples:
subprocess.run([
'junction_saturation.py',
'-i', sample,
'-r', 'annotation.bed',
'-o', sample.replace('.bam', '_junc_sat')
], check=True)
# Parse results and check for plateau
# Plateau indicates sufficient depth for splicing analysis
# If curves still rising, may need more sequencing depth
