Ver código fonte

first commit

master
chenqingwang 3 anos atrás
commit
0c94f6025f
5 arquivos alterados com 165 adições e 0 exclusões
  1. +59
    -0
      README.md
  2. +7
    -0
      defaults
  3. +10
    -0
      inputs
  4. +62
    -0
      tasks/spladder_EC.wdl
  5. +27
    -0
      workflow.wdl

+ 59
- 0
README.md Ver arquivo

# 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.

```

+ 7
- 0
defaults Ver arquivo

{
"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"
}

+ 10
- 0
inputs Ver arquivo

{
"{{ 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 }}"
}

+ 62
- 0
tasks/spladder_EC.wdl Ver arquivo

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/*")
}
}

+ 27
- 0
workflow.wdl Ver arquivo

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
}
}

Carregando…
Cancelar
Salvar