Seqanswers Leaderboard Ad

Collapse

Announcement

Collapse
No announcement yet.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

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

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

    • seqadmin
      Current Approaches to Protein Sequencing
      by seqadmin


      Proteins are often described as the workhorses of the cell, and identifying their sequences is key to understanding their role in biological processes and disease. Currently, the most common technique used to determine protein sequences is mass spectrometry. While still a valuable tool, mass spectrometry faces several limitations and requires a highly experienced scientist familiar with the equipment to operate it. Additionally, other proteomic methods, like affinity assays, are constrained...
      04-04-2024, 04:25 PM
    • seqadmin
      Strategies for Sequencing Challenging Samples
      by seqadmin


      Despite advancements in sequencing platforms and related sample preparation technologies, certain sample types continue to present significant challenges that can compromise sequencing results. Pedro Echave, Senior Manager of the Global Business Segment at Revvity, explained that the success of a sequencing experiment ultimately depends on the amount and integrity of the nucleic acid template (RNA or DNA) obtained from a sample. “The better the quality of the nucleic acid isolated...
      03-22-2024, 06:39 AM

    ad_right_rmr

    Collapse

    News

    Collapse

    Topics Statistics Last Post
    Started by seqadmin, 04-11-2024, 12:08 PM
    0 responses
    30 views
    0 likes
    Last Post seqadmin  
    Started by seqadmin, 04-10-2024, 10:19 PM
    0 responses
    32 views
    0 likes
    Last Post seqadmin  
    Started by seqadmin, 04-10-2024, 09:21 AM
    0 responses
    28 views
    0 likes
    Last Post seqadmin  
    Started by seqadmin, 04-04-2024, 09:00 AM
    0 responses
    52 views
    0 likes
    Last Post seqadmin  
    Working...
    X