Unconfigured Ad

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • lukas1848
    Member
    • Jun 2011
    • 54

    #1

    Removing :Y: flagged reads

    Hi,
    what is the best (i.e. quickest) tool to remove :Y: flagged reads from illumina data?

    So far I used a perl script which is not very memory effective and I'd like to speed up this step.
  • Rocketknight
    Member
    • Sep 2011
    • 86

    #2
    You could do it in Python (code at the bottom). It takes one argument, the path to the fastq file to process.

    Since python only stores one line in memory at once with this implementation, it should be pretty efficient. You can save time by piping the output of this file directly to the downstream program, using a line like this:
    Code:
    readmapper <(/path/to/removebadreads.py /path/to/reads.fastq)
    This will call program 'readmapper' and pass it the output from the python script below as it runs, so you don't need to waste time and disc space making a huge output file. Modify as required for whatever program you want to run yourself.

    Also, this program won't work with gzipped fastq files, but you can use the same piping concept to call gunzip and pass unzipped output straight to the script:
    Code:
    ./removebadreads.py <(gunzip -c /path/to/reads.fastq.gz)
    You can even pipe the gunzip output to removebadreads.py and then pipe the output from that to your read mapper, all at once with no temporary files or delays! Linux is fun!
    Code:
    readmapper <(/path/to/removebadreads.py <(gunzip -c /path/to/reads.fastq.gz))
    Python code:
    Code:
    #!/usr/bin/python
    import sys
    
    try:
    	f = open(sys.argv[1])
    except:
    	exit('Supply an input file!')
    
    linecounter = 0
    goodread = False
    for line in f:
    	linecounter = 1 if linecounter == 4 else linecounter+1
    	if linecounter == 1:
    		if ':N:' in line:
    			goodread = True
    			print line,
    		else:
    			goodread = False
    	elif goodread:
    		print line,

    Comment

    • swbarnes2
      Senior Member
      • May 2008
      • 910

      #3
      I always used zgrep. It did put '--' between the entries, but you can get rid of that, and it didn't seem to interfere with most programs anyway.

      Comment

      • HESmith
        Senior Member
        • Oct 2009
        • 512

        #4
        Here's a Perl script that's quick and efficient (courtesy of James Platt):

        Code:
        #!/usr/bin perl
        
        use warnings;
        
        # usage: perl Illumina_fastq_filter-JP.pl filename > outname
        my $n = 0; #line counter
        
        open (FILENAME, "$ARGV[0]") or die "Can't find $ARGV[0]\n";
        
        while (<FILENAME>) {
        	chomp;
        
        	if ($_ =~ /^@\S+\s\d\:N/) {
        		$n = 4;
        	}
        
        	if ($n > 0) {
        		print "$_\n";
        		$n--;
        	}
        }
        
        close FILENAME;

        Comment

        Latest Articles

        Collapse

        • kinpict.com
          Reply to 16S/ITS Profiling vs. Shotgun Metagenomics: What Changes in Your Workflow?
          by kinpict.com
          The part about this topic feels surprisingly grounded, and the details on the page is the bit that made me slow down. I’d keep <a href="https://kinpict.com/">ai family photo generator</a> bookmarked for later.
          Today, 06:37 PM
        • SEQadmin2
          16S/ITS Profiling vs. Shotgun Metagenomics: What Changes in Your Workflow?
          by SEQadmin2





          NGS has revolutionized clinical microbiology by offering new ways to identify and surveil pathogens without prior knowledge of the target. One popular approach is 16S rRNA and ITS amplicon sequencing, which targets specific microbial markers. But studies are increasingly incorporating shotgun metagenomics, a technique that sequences all DNA from a sample without targeting specific microbial markers. This approach allows more detailed taxonomic classification,...
          10-30-2026, 06:46 AM

        ad_right_rmr

        Collapse

        News

        Collapse

        Topics Statistics Last Post
        Started by SEQadmin2, 11-12-2026, 07:59 AM
        0 responses
        27 views
        0 reactions
        Last Post SEQadmin2  
        Started by SEQadmin2, 11-05-2026, 09:25 AM
        0 responses
        35 views
        0 reactions
        Last Post SEQadmin2  
        Started by SEQadmin2, 11-03-2026, 11:54 AM
        2 responses
        56 views
        0 reactions
        Last Post kinpict.com  
        Started by SEQadmin2, 10-28-2026, 09:57 AM
        0 responses
        175 views
        0 reactions
        Last Post SEQadmin2  
        Working...