name        "stringtie merge - merge transcripts from all samples"
icon    "$BIRCH/dat/blreads/CCBlogo.png"
tip    "From GTF files, create a merged GTF file for a complete transcriptome"

var "in1"
    type        tempfile
    direction   in
    format      tsv
    save        false

var "GTFFILE"
    type        file
    label       "Reference transcriptome (.gtf)"
    default     ""

var "NAMEPREFIX"
    type        text
    label       "Name prefix for output transcripts (must not be blank!)"
    default     "MSTRG"

var "threads"
    type        number
    label       "Number of threads to use"
    min         1
    max         $BL_CORES_MAX
    default     $BL_CORES_DEFAULT

var "OUTFILE"
    type        text
    label       "Name for merged output (.gtf)"
    default     "merged.gtf"

var "email"
    type        chooser
    label       "Notify of completion by email"
    default     1
    choices
        "Yes" "bl_email.py --recipient %ADDRESS% --subject 'stringtie-merge completed' --message stringtie.log;"
        "No" ""

var "address"
    type        text
    label       "    email address"
    default     "$BL_EMAIL"

var "out1"
    type        tempfile
    direction   out
    format      tsv
    save        false
    overwrite   true
    content     canvas

panel
    var "Run"
        type        button
        label       "Run"
        shell       "echo 'Start: '`date` > stringtie.log; cat %in1% | grep -v '#' | tr -d '\042' | cut -f1 > %in1%.txt; nice stringtie --merge -p %THREADS% -G %GTFFILE% -l %NAMEPREFIX% -o %OUTFILE% %in1%.txt  2>> stringtie.log; echo 'Finish: '`date` >> stringtie.log; %EMAIL% bldirtab.py %out1% "
        close       true

    var "Manual"
        type        button
        label       "Manual"
        shell       "$BIRCH/script/chooseviewer.py $BIRCH/doc/ccb/stringtie.man"
        close       false

    var "Hints"
        type        button
        label       "Hints"
        shell       "$BIRCH/script/chooseviewer.py $BIRCH/doc/bioLegato/blreads/stringtie-merge.hints.html"
        close       false
