Unconfigured Ad

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • robinweide
    Junior Member
    • Sep 2013
    • 9

    #1

    Filtering DELLY output

    I have an output of DELLY which looks like this:

    Code:
        HMR:ERR007538.3275891       83      1       9695    35       =       9437    -294    Library0
        HMR:ERR007571.842092        99      1       9444    32       =       9698    290     Library0
        HMR:ERR007571.842038        99      1       9423    32       =       9698    290     Library0
        ---------------------------------------------
        1       9480    9695    215     3       34       >Deletion_xxx_00000000<
        
        HMR:ERR111546.37851360      81      1       496657  0       =       39802   -456953 Library0
        HMR:ERR111543.25219252      81      1       496665  0       =       39814   -456950 Library0
        HMR:ERR111546.14313062      81      1       496681  0       =       39851   -456928 Library0
        ---------------------------------------------
    I would like to filter on the 5th (>3) and 6th (>20) column below the dashes and then get that complete block as output.

    So my output would look like this, when the filtering thresholds are met:

    Code:
        HMR:ERR007538.3275891       83      1       9695    35       =       9437    -294    Library0
        HMR:ERR007571.842092        99      1       9444    32       =       9698    290     Library0
        HMR:ERR007571.842038        99      1       9423    32       =       9698    290     Library0
        ---------------------------------------------
        1       9480    9695    215     3       34       >Deletion_xxx_00000000<
    I have tried multiple ways of getting this done, including awk and sed, which fail due to no way of defining which and how many lines above should be kept. My knowledge of perl/python is not good enough (it is improving though!), but I feel that can be done. I think a block should/could be evaluated on basis of the last (summary) line under the dash and then printed/saved if it matches these thresholds.

    Hopefully anyone can push me in the right direction,
    Cheers.
  • robinweide
    Junior Member
    • Sep 2013
    • 9

    #2
    I found help from one of our perl-wizards and, although quick 'n dirty, there is a solution. I hope someone else can benefit and/or learn from this. It prints out the summaryline and its reads, when the threshold is met.

    Code:
    #!/usr/bin/perl -w
    
    use strict;
    
    
    my @cache = ();
    
    my $file = $ARGV[0];
    
    
    open(FILE, "<".$file) or die "Couldn't open my fancy file $file\n";
    
    
    while(<FILE>){
        chomp;
        my $line = $_;
        next if $line =~m/^\-/;
        next if ! $line;
        if($line =~ m/<$/){
            my($coverage, $mq) = (split("\t", $line))[4,5];
    
            if($coverage >= 3 and $mq >= 20){
                print "SUMMARY\t".$line."\n";
                print join("\n", @cache)."\n";
                @cache=();
            }else{
                @cache=();
            }
            
        }else{
            push(@cache, $line);
        
        }
    
    
    }
    
    close FILE;

    Comment

    Latest Articles

    Collapse

    • SEQadmin2
      Multiomic Liquid Biopsy: What DNA/RNA Panels Reveal That DNA Alone Can’t
      by SEQadmin2



      Tumors contain complex mixtures of cell populations that evolve in response to treatment and host-specific factors. Tissue biopsies provide only static snapshots of a tumor’s state. But what if we could follow that evolution over time using a minimally invasive technique?

      Liquid biopsies can detect tumor-derived material circulating in the bloodstream, providing a way to study treatment response, detect emerging resistance, and discover new biomarkers. Circulating
      ...
      10-14-2026, 09:55 AM
    • SEQadmin2
      New Genomics Technologies Take Aim at Long-Standing Limits
      by SEQadmin2


      Researchers using sequencing and genomics tools often have to make trade-offs. They can choose between speed or scale, short reads or long-range information, or targeted panels or a view of the whole transcriptome. New technologies that have been released this year are built to address those tough choices.

      We asked six companies the same four questions to learn about their latest products. The new technologies bring a lot to the table, including rethinking sequencing
      ...
      09-28-2026, 10:25 AM

    ad_right_rmr

    Collapse

    News

    Collapse

    Topics Statistics Last Post
    Started by SEQadmin2, Yesterday, 11:13 AM
    0 responses
    16 views
    0 reactions
    Last Post SEQadmin2  
    Started by SEQadmin2, Yesterday, 10:48 AM
    0 responses
    17 views
    0 reactions
    Last Post SEQadmin2  
    Started by SEQadmin2, 10-15-2026, 10:52 AM
    0 responses
    35 views
    0 reactions
    Last Post SEQadmin2  
    Started by SEQadmin2, 10-14-2026, 05:39 AM
    0 responses
    42 views
    0 reactions
    Last Post SEQadmin2  
    Working...