Skip to content

Commit 4e0347b

Browse files
authored
Merge pull request #15 from IARCbioinfo/dev
Dev
2 parents ab46078 + f18b0bc commit 4e0347b

12 files changed

+80
-70
lines changed

.circleci/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ jobs:
1616
- run: cd ; nextflow run ~/project/RNAseq.nf -with-docker iarcbioinfo/rnaseq-nf --input_folder ~/data_test/BAM/ --output_folder BAM_realigned_sjtrim --ref_folder ~/data_test/REF --gtf ~/data_test/REF/TP53_small.gtf --bed ~/data_test/BED/TP53_small.bed --cpu 2 --mem 4 --sjtrim --ref ~/data_test/REF/17_7572000-7591000.fasta -with-dag dag_STAR_sjtrim.html
1717
- run: cd ; nextflow run ~/project/RNAseq.nf -with-docker iarcbioinfo/rnaseq-nf --input_folder ~/data_test/BAM/ --output_folder BAM_realigned_sjtrim --ref_folder ~/data_test/REF --gtf ~/data_test/REF/TP53_small.gtf --bed ~/data_test/BED/TP53_small.bed --cpu 2 --mem 4 --sjtrim --recalibration --snp_vcf ~/data_test/REF/dbsnp_138.17_7572000-7591000.vcf.gz --indel_vcf ~/data_test/REF/1000G_phase1.indels.17_7572000-7591000.sites.vcf.gz --ref ~/data_test/REF/17_7572000-7591000.fasta -with-dag dag_STAR_sjtrim_bqsr.png
1818
- run: cd ; nextflow run ~/project/RNAseq.nf -with-docker iarcbioinfo/rnaseq-nf --input_folder ~/data_test/BAM/ --output_folder BAM_realigned_sjtrim --ref_folder ~/data_test/REF --gtf ~/data_test/REF/TP53_small.gtf --bed ~/data_test/BED/TP53_small.bed --cpu 2 --mem 4 --sjtrim --recalibration --snp_vcf ~/data_test/REF/dbsnp_138.17_7572000-7591000.vcf.gz --indel_vcf ~/data_test/REF/1000G_phase1.indels.17_7572000-7591000.sites.vcf.gz --ref ~/data_test/REF/17_7572000-7591000.fasta -with-dag dag_STAR_sjtrim_bqsr.html
19+
- run: cd ; echo -e 'SM\tRG\tpair1\tpair2\nNA06984\t\tdata_test/FASTQ/NA06984_T_1.fastq.gz\tdata_test/FASTQ/NA06984_T_2.fastq.gz\nNA06984_2RG\tRG1\tdata_test/FASTQ/NA06984_T_RG1_1.fastq.gz\tdata_test/FASTQ/NA06984_T_RG1_2.fastq.gz\nNA06984_2RG\tRG2\tdata_test/FASTQ/NA06984_T_RG2_1.fastq.gz\tdata_test/FASTQ/NA06984_T_RG2_2.fastq.gz' > input.txt ; nextflow run ~/project/RNAseq.nf -with-docker iarcbioinfo/rnaseq-nf --input_file input.txt --output_folder BAM_inputfile --ref_folder ~/data_test/REF --gtf ~/data_test/REF/TP53_small.gtf --bed ~/data_test/BED/TP53_small.bed --fastq_ext fastq.gz --cpu 2 --cpu_trim 2 --mem 4 --sjtrim --recalibration --cutadapt --snp_vcf ~/data_test/REF/dbsnp_138.17_7572000-7591000.vcf.gz --indel_vcf ~/data_test/REF/1000G_phase1.indels.17_7572000-7591000.sites.vcf.gz --ref ~/data_test/REF/17_7572000-7591000.fasta
1920
- run: cd ; cp ~/dag* ~/project/.
2021
- deploy:
2122
branch: [master, dev]

Dockerfile

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
################## BASE IMAGE #####################
2-
FROM nfcore/base
3-
2+
FROM continuumio/miniconda3:4.7.12
43

54
################## METADATA #######################
65

7-
LABEL base_image="nfcore/base"
8-
LABEL version="1.0"
6+
LABEL base_image="continuumio/miniconda3"
7+
LABEL version="4.7.12"
98
LABEL software="rnaseq-nf"
10-
LABEL software.version="2.2"
9+
LABEL software.version="2.3"
1110
LABEL about.summary="Container image containing all requirements for rnaseq-nf"
1211
LABEL about.home="http://github.com/IARCbioinfo/RNAseq-nf"
1312
LABEL about.documentation="http://github.com/IARCbioinfo/RNAseq-nf/README.md"
@@ -17,18 +16,8 @@ LABEL about.license="GNU-3.0"
1716
################## MAINTAINER ######################
1817
MAINTAINER **nalcala** <**alcalan@fellows.iarc.fr**>
1918

20-
21-
#RUN mkdir -p /var/cache/apt/archives/partial && \
22-
# touch /var/cache/apt/archives/lock && \
23-
# chmod 640 /var/cache/apt/archives/lock && \
24-
# apt-get update -y &&\
25-
# apt-get install -y gnupg2
26-
# RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F76221572C52609D && \
27-
# apt-get clean && \
28-
# apt-get update -y && \
29-
3019
################## INSTALLATION ######################
3120
COPY environment.yml /
21+
RUN apt-get update && apt-get install -y procps && apt-get clean -y
3222
RUN conda env create -n rnaseq-nf -f /environment.yml && conda clean -a
3323
ENV PATH /opt/conda/envs/rnaseq-nf/bin:$PATH
34-
#RUN echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc

README.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ Nextflow pipeline for RNA sequencing mapping, quality control, reads counting, a
2020
5. [*STAR*](https://github.com/alexdobin/STAR/blob/master/doc/STARmanual.pdf)
2121
6. [*htseq*](http://www-huber.embl.de/HTSeq/doc/install.html#install); the python script htseq-count must also be in the PATH
2222

23+
**A singularity container is available with all the tools needed to run the pipeline (see "Usage")**
24+
25+
### References
2326
A bundle with reference genome and corresponding annotations for STAR is available at https://data.broadinstitute.org/Trinity/CTAT_RESOURCE_LIB/.
2427

2528
Alternatively, STAR genome indices can be generated from a genome fasta file ref.fa and a splice junction annotation file ref.gtf using the following command:
@@ -66,7 +69,7 @@ In order to perform the optional base quality score recalibration, several files
6669
|--input_folder | a folder with fastq files or bam files |
6770
|--input_file | input tabulation-separated values file with columns SM (sample name), RG (read group), pair1 (first fastq pair file), and pair2 (second fastq pair file) |
6871

69-
Note that there are two input methods--folder and file. Although the input folder method is the easiest because it does not require to create an input file with the right format, the input file mode is recommended in cases when a single sample has multiple paired files (e.g., due to multiplexed sequencing); in that case, users should have one line per pair of file and put a same SM identifier so that the workflow can group them into the same output bam file.
72+
Note that there are two input methods: folder and file. Although the input folder method is the easiest because it does not require to create an input file with the right format, the input file mode is recommended in cases when a single sample has multiple paired files (e.g., due to multiplexed sequencing); in that case, users should have one line per pair of file and put a same SM identifier so that the workflow can group them into the same output bam file.
7073

7174

7275
## Parameters
@@ -95,9 +98,11 @@ In order to perform the optional base quality score recalibration, several files
9598
|--ref | ref.fa | reference genome fasta file for GATK |
9699
|--snp_vcf | dbsnp.vcf | VCF file with known variants for GATK BQSR |
97100
|--indel_vcf | Mills_100G_indels.vcf | VCF file with known indels for GATK BQSR |
101+
|--STAR_mapqUnique | 255 | STAR default mapping quality for unique mappers |
98102
|--RG | PL:ILLUMINA | string to be added to read group information in BAM file |
99103
|--stranded | no | Strand information for counting with htseq [no, yes, reverse] |
100104
|--hisat2_idx | genome_tran | index filename prefix for hisat2 |
105+
|--htseq_maxreads | 30000000 | Maximum number of reads taken into account by htseq-count |
101106
|--multiqc_config | null | config yaml file for multiqc |
102107

103108

@@ -115,8 +120,10 @@ In order to perform the optional base quality score recalibration, several files
115120
## Usage
116121
To run the pipeline on a series of paired-end fastq files (with suffixes *_1* and *_2*) in folder *fastq*, a reference genome with indexes in folder *ref_genome*, an annotation file ref.gtf, and a bed file ref.bed, one can type:
117122
```bash
118-
nextflow run iarcbioinfo/RNAseq-nf --input_folder fastq --ref_folder ref_genome --gtf ref.gtf --bed ref.bed
123+
nextflow run iarcbioinfo/RNAseq-nf -r v2.2 -profile singularity --input_folder fastq --ref_folder ref_genome --gtf ref.gtf --bed ref.bed
119124
```
125+
To run the pipeline without singularity just remove "-profile singularity"
126+
120127
### Use hisat2 for mapping
121128
To use hisat2 instead of STAR for the reads mapping, you must add the ***--hisat2* option**, specify the path to the folder containing the hisat2 index files (genome_tran.1.ht2 to genome_tran.8.ht2), as well as satisfy the requirements above mentionned. For example:
122129
```bash

RNAseq.nf

Lines changed: 33 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ params.help = null
4848

4949
log.info ""
5050
log.info "--------------------------------------------------------"
51-
log.info " RNAseq-nf 2.1.0: alignment, QC, and reads counting workflow for RNA sequencing "
51+
log.info " RNAseq-nf 2.3.0: alignment, QC, and reads counting workflow for RNA sequencing "
5252
log.info "--------------------------------------------------------"
5353
log.info "Copyright (C) IARC/WHO"
5454
log.info "This program comes with ABSOLUTELY NO WARRANTY; for details see LICENSE"
@@ -184,7 +184,7 @@ if(params.input_file){
184184
if (file(params.input_folder).listFiles().findAll { it.name ==~ /.*bam/ }.size() > 0){
185185
println "BAM files found, proceed with realignment"; mode ='bam'
186186
files = Channel.fromPath( params.input_folder+'/*.bam' )
187-
.map { path -> [ path.name.replace(".bam",""), path.name.replace(".bam","") , path ] }
187+
.map { path -> [ path.name.replace(".bam",""), "" , path ] }
188188
}else{
189189
println "ERROR: input folder contains no fastq nor BAM files"; System.exit(0)
190190
}
@@ -208,9 +208,7 @@ if(mode=='bam'){
208208

209209
'''
210210
set -o pipefail
211-
samtools collate -uOn 128 !{file_tag}.bam tmp_!{file_tag} | samtools fastq -1 !{file_tag}_1.fq -2 !{file_tag}_2.fq -
212-
gzip !{file_tag}_1.fq
213-
gzip !{file_tag}_2.fq
211+
samtools collate -uOn 128 !{file_tag}.bam tmp_!{file_tag} | samtools fastq -1 !{file_tag}!{params.suffix1}.!{params.fastq_ext} -2 !{file_tag}!{params.suffix2}.!{params.fastq_ext} -
214212
'''
215213
}
216214
readPairs0.into{ readPairs ; readPairs2}
@@ -224,6 +222,10 @@ if(mode=='fastq'){
224222
.collect { it.replace("${params.suffix2}.${params.fastq_ext}",'') }
225223
if ( !(keys1.containsAll(keys2)) || !(keys2.containsAll(keys1)) ) {println "\n ERROR : There is not at least one fastq without its mate, please check your fastq files."; System.exit(0)}
226224

225+
readPairs0 = Channel.fromFilePairs(params.input_folder +"/*{${params.suffix1},${params.suffix2}}" +'.'+ params.fastq_ext)
226+
.map { row -> [ row[0] , "" , row[1][0], row[1][1] ] }
227+
.subscribe{ row -> println "${row}" }
228+
227229
// Gather files ending with _1 suffix
228230
reads1 = Channel
229231
.fromPath( params.input_folder+'/*'+params.suffix1+'.'+params.fastq_ext )
@@ -237,13 +239,12 @@ if(mode=='fastq'){
237239
// Match the pairs on two channels having the same 'key' (name) and emit a new pair containing the expected files
238240
reads1
239241
.phase(reads2)
240-
.map { pair1, pair2 -> [ pair1[0] , pair1[0] , pair1[1], pair2[1] ] }
242+
.map { pair1, pair2 -> [ pair1[0] , "" , pair1[1], pair2[1] ] }
241243
.into{ readPairs ; readPairs2}
242244
}
243245
}
244246

245247

246-
247248
// pre-trimming QC
248249
process fastqc_pretrim {
249250
cpus params.cpu
@@ -259,39 +260,39 @@ process fastqc_pretrim {
259260
publishDir "${params.output_folder}/QC/fastq", mode: 'copy', pattern: '{*fastqc.zip}'
260261

261262
shell:
262-
//basename1=pair1.baseName.split("\\.")[0]
263-
//basename2=pair2.baseName.split("\\.")[0]
264-
'''
263+
basename1=pair1.name.replace(".${params.fastq_ext}","") //baseName.split("\\.")[0]
264+
basename2=pair2.name.replace(".${params.fastq_ext}","") //baseName.split("\\.")[0]
265+
'''
265266
fastqc -t !{task.cpus} !{pair1} !{pair2}
266-
mv !{file_tag}!{params.suffix1}_fastqc.zip !{file_tag}!{params.suffix1}_pretrim_fastqc.zip
267-
mv !{file_tag}!{params.suffix2}_fastqc.zip !{file_tag}!{params.suffix2}_pretrim_fastqc.zip
268-
'''
267+
mv !{basename1}_fastqc.zip !{file_tag}!{params.suffix1}!{rg}_pretrim_fastqc.zip
268+
mv !{basename2}_fastqc.zip !{file_tag}!{params.suffix2}!{rg}_pretrim_fastqc.zip
269+
'''
269270
}
270271

271272
// adapter sequence trimming and post trimming QC
272273
if(params.cutadapt!=null){
273274
process adapter_trimming {
274-
cpus params.cpu_trim
275-
memory params.mem_QC+'GB'
276-
tag { file_tag }
275+
cpus params.cpu_trim
276+
memory params.mem_QC+'GB'
277+
tag { file_tag +rg }
277278

278-
input:
279+
input:
279280
set val(file_tag), val(rg), file(pair1), file(pair2) from readPairs2
280281

281-
output:
282-
set val(file_tag), val(rg) , file("${file_tag}*val_1.fq.gz"), file("${file_tag}*val_2.fq.gz") into readPairs3
282+
output:
283+
set val(file_tag), val(rg) , file("${file_tag}${rg}*val_1.fq.gz"), file("${file_tag}${rg}*val_2.fq.gz") into readPairs3
283284
file("*_val_*_fastqc.zip") into fastqc_postpairs
284285
file("*trimming_report.txt") into trimming_reports
285286

286287
publishDir "${params.output_folder}/QC/adapter_trimming", mode: 'copy', pattern: '{*report.txt,*fastqc.zip}'
287288

288-
shell:
289+
shell:
289290
cpu_tg = params.cpu_trim -1
290291
cpu_tg2 = cpu_tg.div(3.5)
291292
cpu_tg3 = Math.round(Math.ceil(cpu_tg2))
292-
'''
293-
trim_galore --paired --fastqc --gzip --basename !{file_tag}_!{rg} -j !{cpu_tg3} !{pair1} !{pair2}
294-
'''
293+
'''
294+
trim_galore --paired --fastqc --gzip --basename !{file_tag}!{rg} -j !{cpu_tg3} !{pair1} !{pair2}
295+
'''
295296
}
296297
}else{
297298
readPairs3 = readPairs2
@@ -337,15 +338,18 @@ process alignment {
337338
sort_mem = params.mem.intdiv(4)
338339
input_f1="${pair1[0]}"
339340
input_f2="${pair2[0]}"
340-
rgline="ID:${file_tag}_${rg[0]} SM:${file_tag} ${params.RG}"
341+
rgtmp="${rg[0]}"
342+
if(rgtmp=="") rgtmp="${file_tag}"
343+
rgline="ID:${rgtmp} SM:${file_tag} ${params.RG}"
341344
for( p1tmp in pair1.drop(1) ){
342345
input_f1=input_f1+",${p1tmp}"
343346
}
344347
for( p2tmp in pair2.drop(1) ){
345348
input_f2=input_f2+",${p2tmp}"
346349
}
347350
for( rgtmp in rg.drop(1) ){
348-
rgline=rgline+" , ID:${file_tag}_${rgtmp} SM:${file_tag} ${params.RG}"
351+
if(rgtmp=="") rgtmp="${file_tag}"
352+
rgline=rgline+" , ID:${rgtmp} SM:${file_tag} ${params.RG}"
349353
}
350354
MQ=""
351355
'''
@@ -515,11 +519,10 @@ if( recal_bam_files4QCsplit4test.ifEmpty(0)==0 ){
515519

516520
//Quantification
517521
process quantification{
522+
cpus params.cpu
518523
if( (params.sjtrim)||(params.recalibration) ){
519-
cpus params.cpu
520524
memory params.mem+'GB'
521525
}else{
522-
cpus '1'
523526
memory params.mem_QC+'GB'
524527
}
525528

@@ -541,11 +544,11 @@ process quantification{
541544
'''
542545
mv !{file_tag}.bam !{file_tag}_coordinate_sorted.bam
543546
sambamba sort -n -t !{task.cpus} -m !{params.mem}G --tmpdir=!{file_tag}_tmp -o !{file_tag}.bam !{file_tag}_coordinate_sorted.bam
544-
htseq-count -r name -s !{params.stranded} -f bam !{file_tag}.bam !{gtf} !{buffer} --additional-attr=gene_name > !{file_tag}_count.txt
547+
htseq-count -n !{params.cpu} -r name -s !{params.stranded} -f bam !{file_tag}.bam !{gtf} !{buffer} --additional-attr=gene_name > !{file_tag}_count.txt
545548
'''
546549
}else{
547550
'''
548-
htseq-count -r pos -s !{params.stranded} -f bam !{file_tag}.bam !{gtf} !{buffer} --additional-attr=gene_name > !{file_tag}_count.txt
551+
htseq-count -n !{params.cpu} -r pos -s !{params.stranded} -f bam !{file_tag}.bam !{gtf} !{buffer} --additional-attr=gene_name > !{file_tag}_count.txt
549552
'''
550553
}
551554
}
@@ -607,7 +610,7 @@ process multiqc_posttrim {
607610
opt = "--config ${multiqc_config}"
608611
}
609612
'''
610-
for f in $(find *fastqc.zip -type l);do cp --remove-destination $(readlink $f) $f;done;
613+
if $(compgen -G "*fastq.zip" > /dev/null); then for f in $(find *fastqc.zip -type l);do cp --remove-destination $(readlink $f) $f;done; fi;
611614
multiqc . -n multiqc_posttrim_report.html -m fastqc -m cutadapt -m star -m rseqc -m htseq !{opt} --comment "RNA-seq Post-trimming QC report"
612615
'''
613616
}

Singularity/Singularity.v2.3

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
From:iarcbioinfo/rnaseq-nf:v2.3
2+
Bootstrap:docker
3+
4+
%labels
5+
MAINTAINER **alcalan** <**alcalan@fellows.iarc.fr**>
6+
DESCRIPTION Container image containing all requirements for pipeline RNAseq-nf
7+
VERSION 2.3
8+
9+

dag_STAR.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -187,8 +187,8 @@
187187
{ data: { source: 'p16', target: 'p17'} },
188188
{ data: { source: 'p17', target: 'p18', label: 'files' } },
189189
{ data: { source: 'p18', target: 'p19', label: 'readPairs0' } },
190-
{ data: { source: 'p19', target: 'p23', label: 'readPairs2' } },
191190
{ data: { source: 'p19', target: 'p20', label: 'readPairs' } },
191+
{ data: { source: 'p19', target: 'p23', label: 'readPairs2' } },
192192
{ data: { source: 'p20', target: 'p41', label: 'fastqc_pairs' } },
193193
{ data: { source: 'p21', target: 'p53', label: 'fastqc_postpairs' } },
194194
{ data: { source: 'p22', target: 'p51', label: 'trimming_reports' } },
@@ -199,15 +199,15 @@
199199
{ data: { source: 'p26', target: 'p46', label: 'align_out' } },
200200
{ data: { source: 'p26', target: 'p28', label: 'SJ_out' } },
201201
{ data: { source: 'p26', target: 'p27', label: 'SJ_out_others' } },
202-
{ data: { source: 'p29', target: 'p40', label: 'recal_bam_files4quant' } },
203202
{ data: { source: 'p29', target: 'p31', label: 'recal_bam_files4QC' } },
204203
{ data: { source: 'p29', target: 'p32', label: 'recal_bam4QCsplittmp' } },
204+
{ data: { source: 'p29', target: 'p40', label: 'recal_bam_files4quant' } },
205205
{ data: { source: 'p30', target: 'p31', label: 'bed' } },
206206
{ data: { source: 'p31', target: 'p49', label: 'rseqc_files' } },
207207
{ data: { source: 'p31', target: 'p48', label: 'rseqc_clip_files' } },
208208
{ data: { source: 'p31', target: 'p50', label: 'rseqc_jsat_files' } },
209-
{ data: { source: 'p32', target: 'p34', label: 'recal_bam_files4QCsplit0' } },
210209
{ data: { source: 'p32', target: 'p33', label: 'simple' } },
210+
{ data: { source: 'p32', target: 'p34', label: 'recal_bam_files4QCsplit0' } },
211211
{ data: { source: 'p34', target: 'p36', label: 'recal_bam_files4QCsplit' } },
212212
{ data: { source: 'p34', target: 'p37', label: 'recal_bam_files4QCsplit4test' } },
213213
{ data: { source: 'p35', target: 'p36', label: 'bed' } },

dag_STAR.png

-12.1 KB
Loading

dag_STAR_sjtrim.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -191,8 +191,8 @@
191191
{ data: { source: 'p16', target: 'p17'} },
192192
{ data: { source: 'p17', target: 'p18', label: 'files' } },
193193
{ data: { source: 'p18', target: 'p19', label: 'readPairs0' } },
194-
{ data: { source: 'p19', target: 'p20', label: 'readPairs' } },
195194
{ data: { source: 'p19', target: 'p23', label: 'readPairs2' } },
195+
{ data: { source: 'p19', target: 'p20', label: 'readPairs' } },
196196
{ data: { source: 'p20', target: 'p45', label: 'fastqc_pairs' } },
197197
{ data: { source: 'p21', target: 'p57', label: 'fastqc_postpairs' } },
198198
{ data: { source: 'p22', target: 'p55', label: 'trimming_reports' } },
@@ -207,17 +207,17 @@
207207
{ data: { source: 'p30', target: 'p32', label: 'fasta_ref_fai' } },
208208
{ data: { source: 'p31', target: 'p32', label: 'fasta_ref_dict' } },
209209
{ data: { source: 'p32', target: 'p33', label: 'bam_files2' } },
210-
{ data: { source: 'p33', target: 'p36', label: 'recal_bam4QCsplittmp' } },
211210
{ data: { source: 'p33', target: 'p35', label: 'recal_bam_files4QC' } },
212211
{ data: { source: 'p33', target: 'p44', label: 'recal_bam_files4quant' } },
212+
{ data: { source: 'p33', target: 'p36', label: 'recal_bam4QCsplittmp' } },
213213
{ data: { source: 'p34', target: 'p35', label: 'bed' } },
214214
{ data: { source: 'p35', target: 'p53', label: 'rseqc_files' } },
215215
{ data: { source: 'p35', target: 'p52', label: 'rseqc_clip_files' } },
216216
{ data: { source: 'p35', target: 'p54', label: 'rseqc_jsat_files' } },
217-
{ data: { source: 'p36', target: 'p37', label: 'simple' } },
218217
{ data: { source: 'p36', target: 'p38', label: 'recal_bam_files4QCsplit0' } },
219-
{ data: { source: 'p38', target: 'p41', label: 'recal_bam_files4QCsplit4test' } },
218+
{ data: { source: 'p36', target: 'p37', label: 'simple' } },
220219
{ data: { source: 'p38', target: 'p40', label: 'recal_bam_files4QCsplit' } },
220+
{ data: { source: 'p38', target: 'p41', label: 'recal_bam_files4QCsplit4test' } },
221221
{ data: { source: 'p39', target: 'p40', label: 'bed' } },
222222
{ data: { source: 'p40', target: 'p59', label: 'rseqc_files_split' } },
223223
{ data: { source: 'p41', target: 'p42'} },

dag_STAR_sjtrim.png

-11.6 KB
Loading

0 commit comments

Comments
 (0)