/mnt/smb/notebooktian/RNASeq/260429AGING
### References * MAJIQ [RNA splicing analysis using heterogeneous and large RNA-seq datasets - nature communications](https://www.nature.com/articles/s41467-023-36585-y) * MAJIQ → cryptic 3'splice site
* A3SS 图B, 有拖尾感的sashimi [Cancer-Associated SF3B1 Hotspot Mutations Induce Cryptic 3′ Splice Site Selection through Use of a Different Branch Point](https://www.cell.com/cell-reports/fulltext/S2211-1247(15)01078-5)
### MAJIQ
https://bitbucket.org/biociphers/majiq_academic/src/main/
https://biociphers.bitbucket.io/majiq-docs/
```dockerfile FROM python:3.12-slim-bookworm
ENV DEBIAN_FRONTEND=noninteractive
# 1. 安装系统依赖(已增加 libzstd-dev) RUN apt-get update && apt-get install -y –no-install-recommends \
build-essential \ git \ libhts-dev \ libbz2-dev \ zlib1g-dev \ liblzma-dev \ libzstd-dev \ && rm -rf /var/lib/apt/lists/*
ENV HTSLIB_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu ENV HTSLIB_INCLUDE_DIR=/usr/include
# 2. 拆分指令以利用缓存 (存档点:下载源码) WORKDIR /tmp RUN git clone https://bitbucket.org/biociphers/majiq_academic.git
# 3. 存档点:安装 Voila WORKDIR /tmp/majiq_academic RUN pip install –no-cache-dir ./moccasin RUN pip install –no-cache-dir ./voila
# 4. 存档点:安装 MAJIQ RUN pip install –no-cache-dir ./majiq
WORKDIR / RUN rm -rf /tmp/majiq_academic
RUN majiq –help && voila –version
CMD [“/bin/bash”] ```
#### License * 放入 ~/majiq_license_academic_official.lic ```majiq_license_academic_official.lic gAAAAABlW6-jYooOgeYvzqoEZ9Z6jMLcFAfydEzRxJWwJ7bl9z71xmQCS343USkuLpu88lpTwTOGiGqpJ0uMZV36nto1SCRmdP_LWSugZyS7-E1wDVOzyV8kQcUHzNtPQVMVaLUQXmpYGfXGHEVo-XUPVG3v3waurw== ```
### Steps v3 ```bash alias majiq='docker run –rm -e MAJIQ_LICENSE_FILE=/data/majiq_license_academic_official.lic -v “$(pwd)/datamj:/data” -w /data majiq_image majiq' alias voila='docker run –rm -e MAJIQ_LICENSE_FILE=/data/majiq_license_academic_official.lic -v “$(pwd)/datamj:/data” -p 5000:5000 -w /data majiq_image voila' alias majiq3='docker run –rm -e MAJIQ_LICENSE_FILE=/data/majiq_license_academic_official.lic -v “$(pwd)/datamj:/data” -w /data majiq_image majiq-v3'
PATH_GFF3=“/data/mm39_115.gff3” PATH_BAMS=“/data/bams” PATH_ANNO_SG=“/data/mj/anno_sg.zarr” PATH_SJ=“/data/mj/sjs” PATH_SG_ZAAR=“/data/mj/sg.zarr” PATH_PSICOV=“/data/mj/psi” PATH_SGC=“/data/mj/sgc” PATH_VOILA=“/data/mj/voila”
majiq3 gff3 $PATH_GFF3 $PATH_ANNO_SG majiq3 sj $PATH_BAMS/OLDSED_1.bam $PATH_ANNO_SG $PATH_SJ/OLDSED_1.sj majiq3 sj $PATH_BAMS/OLDSED_2.bam $PATH_ANNO_SG $PATH_SJ/OLDSED_2.sj majiq3 sj $PATH_BAMS/OLDSED_3.bam $PATH_ANNO_SG $PATH_SJ/OLDSED_3.sj majiq3 sj $PATH_BAMS/YNGSED_1.bam $PATH_ANNO_SG $PATH_SJ/YNGSED_1.sj majiq3 sj $PATH_BAMS/YNGSED_2.bam $PATH_ANNO_SG $PATH_SJ/YNGSED_2.sj majiq3 sj $PATH_BAMS/YNGSED_3.bam $PATH_ANNO_SG $PATH_SJ/YNGSED_3.sj
majiq3 build $PATH_ANNO_SG $PATH_SG_ZAAR –sjs $PATH_SJ/OLDSED_1.sj $PATH_SJ/OLDSED_2.sj $PATH_SJ/OLDSED_3.sj –sjs $PATH_SJ/YNGSED_1.sj $PATH_SJ/YNGSED_2.sj $PATH_SJ/YNGSED_3.sj
majiq3 psi-coverage $PATH_SG_ZAAR $PATH_PSICOV/OLDSED.psicov $PATH_SJ/OLDSED_1.sj $PATH_SJ/OLDSED_2.sj $PATH_SJ/OLDSED_3.sj majiq3 psi-coverage $PATH_SG_ZAAR $PATH_PSICOV/YNGSED.psicov $PATH_SJ/YNGSED_1.sj $PATH_SJ/YNGSED_2.sj $PATH_SJ/YNGSED_3.sj
majiq3 sg-coverage $PATH_SG_ZAAR $PATH_SGC/OLDSED.sgc $PATH_SJ/OLDSED_1.sj $PATH_SJ/OLDSED_2.sj $PATH_SJ/OLDSED_3.sj majiq3 sg-coverage $PATH_SG_ZAAR $PATH_SGC/YNGSED.sgc $PATH_SJ/YNGSED_1.sj $PATH_SJ/YNGSED_2.sj $PATH_SJ/YNGSED_3.sj
majiq3 deltapsi –splicegraph $PATH_SG_ZAAR –output-voila $PATH_PSICOV/OLDSED_v_YNGSED.psicov –output-tsv $PATH_PSICOV/OLDSED_v_YNGSED.tsv -psi1 $PATH_PSICOV/OLDSED.psicov -psi2 $PATH_PSICOV/YNGSED.psicov
majiq3 quantify $PATH_PSICOV/OLDSED.psicov –min-experiments 0.01 –splicegraph $PATH_SG_ZAAR –output-tsv $PATH_PSICOV/OLDSED.tsv –overwrite majiq3 quantify $PATH_PSICOV/YNGSED.psicov –min-experiments 0.01 –splicegraph $PATH_SG_ZAAR –output-tsv $PATH_PSICOV/YNGSED.tsv –overwrite
majiq3 heterogen –stats infoscore mannwhitneyu ttest tnom –splicegraph $PATH_SG_ZAAR –output-voila $PATH_VOILA/OLDSED_v_YNGSED.voila –output-tsv $PATH_PSICOV/OLDSED_v_YNGSED.tsv -psi1 $PATH_PSICOV/OLDSED.psicov -psi2 $PATH_PSICOV/YNGSED.psicov
voila view –host 0.0.0.0 –port 5000 –enable-type-indexing –psicov-grouping-file /data/majiq.tsv $PATH_SG_ZAAR $PATH_VOILA/OLDSED_v_YNGSED.voila $PATH_SGC/
```
### Steps v2 ```bash majiq build /data/mm39_115.gff3 -c /data/majiq.config -o /data/build_output majiq psi-coverage \
/data/build_output/splicegraph.zarr \ /data/psi_coverage_output \ /data/build_output/YNGSED_1.sj /data/build_output/YNGSED_2.sj /data/build_output/YNGSED_3.sj \ /data/build_output/OLDSED_1.sj /data/build_output/OLDSED_2.sj /data/build_output/OLDSED_3.sj \ --nthreads 8
majiq deltapsi \
majiq sg-coverage /data/build_output/splicegraph.zarr /sgc/YNGSED.sgc /data/build_output/YNGSED_1.sj /data/build_output/YNGSED_2.sj /data/build_output/YNGSED_3.sj
voila view /data/build_output/ –host 0.0.0.0 –port 5000 –enable-type-indexing –psicov-grouping-file /data/majiq.tsv
```