# README.md | |||||
> Author: Qingwang Chen | |||||
> | |||||
> Email: [qwch20@fudan.edu.cn](mailto:qwch20@fudan.edu.cn) | |||||
> | |||||
> Last Updates: 26/08/2021 | |||||
#### Brief Introduction | |||||
The the joint graph is fully quantified and we can move on to use it for downstream analyses, for instance to extract different AS events: | |||||
--event-types exon_skip,intron_retention,alt_3prime,alt_5prime,mutex_exons,mult_exon_skip (Pick one at a time for analysis) | |||||
#### Requirements | |||||
- choppy | |||||
- Ali-Cloud | |||||
- Linux | |||||
``` | |||||
# 激活choppy环境 | |||||
$ source activate choppy (open-choppy-env) | |||||
# 第一次安装 | |||||
$ choppy install chenqingwang/SplAdder-EC | |||||
# 非第一次安装 | |||||
$ choppy install chenqingwang/SplAdder-EC -f | |||||
# 查询已安装APP | |||||
$ choppy apps | |||||
``` | |||||
#### Quick Start | |||||
``` | |||||
# 准备 samples.csv 文件 | |||||
$ choppy samples chenqingwang/SplAdder-EC-latest > samples.csv | |||||
# 准备无默认参数的samples.csv 文件 | |||||
$ choppy samples --no-default chenqingwang/SplAdder-EC-latest > samples.csv | |||||
# 提交任务 | |||||
$ choppy batch chenqingwang/SplAdder-EC-latest samples.csv -p Your_project_name -l Your_label | |||||
# 查询任务运行状况 | |||||
$ choppy query -L Your_label | grep "status" | |||||
# 查询失败任务 | |||||
$ choppy search -s Failed -p Your_project_name -u chenqingwang --short-format | |||||
# 结果文件地址 | |||||
$ oss://choppy-cromwell-result/test-choppy/Your_project_name/ | |||||
``` | |||||
#### Description | |||||
``` | |||||
# samples: The file names to be analyzed should be written line by line in this file, and the file should be uploaded to AliCloud. | |||||
``` |
{ | |||||
"reference_gtf_file":"oss://pgx-reference-data/reference/spladder/SplAdder/data/reference/Homo_sapiens.GRCh38.103.gtf", | |||||
"bam":"oss://pgx-source-data/CBCGA2020/RNA-seq/intermediate-results-temp/Alternative_Splicing/spladder/tmp_bam/", | |||||
"spladder_docker":"registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/spladder:v2.4.2", | |||||
"spladder_cluster":"OnDemand bcs.a2.xlarge img-ubuntu-vpc", | |||||
"disk_size":"200" | |||||
} |
{ | |||||
"{{ project_name }}.sample_id": "{{ sample_id }}", | |||||
"{{ project_name }}.bam": "{{ bam }}", | |||||
"{{ project_name }}.spladder": "{{ spladder }}", | |||||
"{{ project_name }}.reference_gtf_file": "{{ reference_gtf_file }}", | |||||
"{{ project_name }}.event_types": "{{ event_types }}", | |||||
"{{ project_name }}.spladder_docker": "{{ spladder_docker }}", | |||||
"{{ project_name }}.spladder_cluster": "{{ spladder_cluster }}", | |||||
"{{ project_name }}.disk_size": "{{ disk_size }}" | |||||
} |
task spladder_EC { | |||||
String sample_id | |||||
File bam | |||||
File reference_gtf_file | |||||
File spladder | |||||
String event_types | |||||
String spladder_docker | |||||
String spladder_cluster | |||||
String disk_size | |||||
command <<< | |||||
set -o pipefail | |||||
set -e | |||||
mkdir -p ${sample_id}/spladder_out/spladder | |||||
ln -s ${bam}/*.bam ./ | |||||
cat ${samples} | while read a; do ls ./ | grep bam$ | grep $a; done > alignment.txt | |||||
ln -s ${bam}/*.bai ./ | |||||
cat ${samples} | while read a; do ls ./ | grep bai$ | grep $a; done > alignment_bai.txt | |||||
cp -r ${spladder}/* ${sample_id}/spladder_out/spladder/ | |||||
ls ${sample_id}/spladder_out/spladder/ > spladder.txt | |||||
nt=$(nproc) | |||||
spladder build -o ${sample_id}/spladder_out \ | |||||
--annotation ${reference_gtf_file} \ | |||||
--bams alignment.txt \ | |||||
--parallel $nt \ | |||||
--confidence 2 \ | |||||
--readlen 150 \ | |||||
--event-types ${event_types} | |||||
find . -depth > fileList.txt | |||||
>>> | |||||
runtime { | |||||
docker: spladder_docker | |||||
cluster: spladder_cluster | |||||
systemDisk: "cloud_ssd 50" | |||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||||
timeout: 129600 | |||||
} | |||||
output { | |||||
File fileList = "fileList.txt" | |||||
File alignment = "alignment.txt" | |||||
File alignment_bai = "alignment_bai.txt" | |||||
File spladder_txt = "spladder.txt" | |||||
Array[File] AS_gff = glob("${sample_id}/spladder_out/*.gff3") | |||||
Array[File] AS_gz = glob("${sample_id}/spladder_out/*.gz") | |||||
Array[File] spladder_out = glob("${sample_id}/spladder_out/*") | |||||
Array[File] spladder = glob("${sample_id}/spladder_out/spladder/*") | |||||
} | |||||
} |
import "./tasks/spladder_EC.wdl" as spladder_EC | |||||
workflow {{ project_name }} { | |||||
String sample_id | |||||
File bam | |||||
File reference_gtf_file | |||||
File spladder | |||||
String event_types | |||||
String spladder_docker | |||||
String spladder_cluster | |||||
String disk_size | |||||
call spladder_EC.spladder_EC as spladder_EC { | |||||
input: | |||||
reference_gtf_file=reference_gtf_file, | |||||
sample_id=sample_id, | |||||
bam=bam, | |||||
spladder=spladder, | |||||
event_types=event_types, | |||||
spladder_docker=spladder_docker, | |||||
spladder_cluster=spladder_cluster, | |||||
disk_size=disk_size | |||||
} | |||||
} |