view bed_resize.xml @ 1:757f1fc216f7 default tip

author xuebing
date Sat, 31 Mar 2012 13:19:44 -0400
parents 9b9b4c24eb34
line wrap: on
line source

<tool id="bed_resize" name="bed_resize">
  <description>change interval size</description>
  <command interpreter="python"> $infile  $outfile $expr_start $expr_end $strand </command>
    <param name="infile" format="interval" type="data" label="Original file"/>
    <param name="expr_start" size="20" type="text" value="start-0" label="start=" help="e.g. start+10, start-10, end-100"/>
    <param name="expr_end" size="20" type="text" value="end+0" label="end=" help="e.g. end-100, start+10"/>
    <param name="strand" label="Enforce strandness" type="boolean" truevalue="strand" falsevalue="ignore" checked="False"/>  
    <data format="input" name="outfile" />

**What it does**

This tool changes start and end of each row in an interval file. When strandness is enforced, chromosome start and end are treated as the 5' and 3' end for intervals on the '+' strand, and the opposite for intervals on the '-' strand. In the expression such as 'start=start-1000', 'start' and 'end' are interpreted as the 5' and 3' end, respectively, and the operator '+' and '-' means moving downsteam and upsteam, respectively. For example, when enforcing strandness,

**start=start-1000**: extend 1000 bp on the 5' end (moving start upstream)

**start=start+1000**: trancate 1000 bp on the 5' end (moving start downsteam)

**end=end+1000**: extend 1000 bp on the 3' end (moving end downsteam)

**end=start+1000**: moving the end to 1000 bp downsteam of the start (return the first 1000 bp on the 5' end)

**end=start+1**: taking the 5' end of the interval

**start=end-1**: taking the 3' end of the interval