@@ -0,0 +1,59 @@ | |||
# 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. | |||
``` |
@@ -0,0 +1,7 @@ | |||
{ | |||
"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" | |||
} |
@@ -0,0 +1,10 @@ | |||
{ | |||
"{{ 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 }}" | |||
} |
@@ -0,0 +1,62 @@ | |||
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/*") | |||
} | |||
} |
@@ -0,0 +1,27 @@ | |||
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 | |||
} | |||
} |