Unconfigured Ad

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • Brian Bushnell
    Super Moderator
    • Jan 2014
    • 2709

    #16
    There are several parameters you can use to affect the table fullness, such as using the prefilter or reducing the number of bits per cell, or manually specifying the -Xmx parameter. Can you post the command line you used, and the standard error log? And, if possible, attach a kmer frequency histogram (from the full dataset). Even when the table gets really full, the accuracy is generally quite high.

    Also, quality-trimming and adapter-trimming the data before analyzing it can have a huge impact, because the vast majority of the kmers that get counted are error kmers rather than genomic kmers; so anything that reduces the number of errors and amount of non-genomic sequence will be beneficial.
    Last edited by Brian Bushnell; 02-06-2015, 01:24 PM.

    Comment

    • horvathdp
      Member
      • Dec 2011
      • 66

      #17
      the command was
      ./bbnorm.sh in=all_spurge_genomic_R1.fastq out=single_copy_R1.fastq target=80 min=5 passes=1 below is a link to a picture of the screenshot and the histogram of the combined R1 and R2 reads (I set the first two kmers to 0 since the numbers for these was very large). When I try this, with both R1 and R2 files I get a hash table that is 100% full.

      Comment

      • Brian Bushnell
        Super Moderator
        • Jan 2014
        • 2709

        #18
        OK, it looks like there are some good possibilities here:

        First, it does not look like BBNorm is using all available memory, for whatever reason, so that can be configured manually. Try this:

        ./bbnorm.sh -Xmx11g in=all_spurge_genomic_R1.fastq out=single_copy_R1.fastq target=80 min=5 passes=1 prefilter=t cbits=16 minprob=0.8

        -Xmx11g will force it to use 11GB of RAM; prefilter will put low-count kmers in a more efficient table; and cbits=16 will double the number of cells in the hashtable by capping the counts at 65k (rather than 2 billion).

        Secondly, BBNorm will keep read 1 and read 2 together if you use them both at the same time (with in1= and in2=), which is generally a good idea. Thirdly, you can further reduce the error rate (and thus kmer count), as I mentioned, by quality-trimming and adapter-trimming prior to this process. Also (or alternatively), you can ignore kmers that have a high chance of being incorrect, by adjusting the "minprob" flag upward from it's default 0.5 to, say, 0.8 (meaning, only count kmers with at least a 80% chance of being error-free according to the quality values).

        Normalization and other kmer-counting-based processes use a lot of memory when working with large genomes, and 12GB is not very much in the world of high-throughput sequencing.
        Last edited by Brian Bushnell; 02-06-2015, 04:01 PM.

        Comment

        • horvathdp
          Member
          • Dec 2011
          • 66

          #19
          Awesome! Thanks again- look me up at PAG next year and I'll buy the beer :-). Incidentally, I already quality trimmed and adapter trimmed the dataset (and checked the qc). It's the first thing I do with any new set of reads before attempting any other sort of analysis. However, I am sure some primers might make it through the trimming programs, so another pass sounds like a good idea so long as it does not add a lot of time. I'll have to wait until Monday to give it a go- unless I can get access to a hotter virtual machine from iPlant. Hopefully you won't hear from me again (until I ask you how you want to be cited :-).

          Comment

          • horvathdp
            Member
            • Dec 2011
            • 66

            #20
            Sadly, I am still having an issue (I think). The program has been running for three days now (but has not appeared to quit) and has the following error messages:
            Exception in thread "Thread-45" java.lang.RuntimeException: java.io.IOException: Protocol error at stream.ReadStreamByteWriter.run (ReadStreamByteWriter,java:31)
            caused by: ....a seried of java.io.IoExceptions, FileOutputStream, and ReadStreamByteWriter, and BufferedOutputStream.write

            Should I kill it or let it ruminate?

            Comment

            • GenoMax
              Senior Member
              • Feb 2008
              • 7142

              #21
              What size is your input file? Is the bbnorm process actively running (check using "top")?

              Comment

              • horvathdp
                Member
                • Dec 2011
                • 66

                #22
                I just ran top to see if it was still thinking, and it flashes between 0% memory to 97% use for java, so I am guessing it is still crunching output. The file size is about 68G, but I only have 12Gb RAM on my machine. The developer gave me a few tricks to allow it to run with minimal memory, so I will just be patient.

                Comment

                • GenoMax
                  Senior Member
                  • Feb 2008
                  • 7142

                  #23
                  Hopefully you have an adequate amount of swap space configured. With 12G of RAM swap must be in use. If it has become full (check to see if any partitions are at 100% though swap may be configured differently on your server) that may not be good.
                  Last edited by GenoMax; 02-10-2015, 07:33 AM.

                  Comment

                  • horvathdp
                    Member
                    • Dec 2011
                    • 66

                    #24
                    Not sure if I have what i need or not. Looking at Top output, I have 12g in KiB Mem, 11.9G used, 34M free, 7M buffer, KiB swap 52M total, 28M used 23M free, and 21M cached.

                    Comment

                    • GenoMax
                      Senior Member
                      • Feb 2008
                      • 7142

                      #25
                      That is a relatively small amount of swap for a machine with 12G of RAM. Let us see what Brian makes of that error message.

                      Comment

                      • Brian Bushnell
                        Super Moderator
                        • Jan 2014
                        • 2709

                        #26
                        BBNorm is pretty fast; I've never seen an input that made it take more than a few hours. If it throws an exception, that's fatal, so kill it.

                        The specific exception, though, is rather strange. It seems like for some reason it was unable to write a file - like, perhaps, the disk was full, or the path was invalid, or you did not have write permission, or something. Perhaps you could post the entire error message? And also, the output you get when you run "java -version", and the exact command line...

                        Comment

                        Latest Articles

                        Collapse

                        • GATTACAT
                          Reply to Nine Things a Sample Prep Scientist Thinks About Before Sequencing
                          by GATTACAT
                          Love this - good data definitely starts from good input, and poor input can only give relatively poor data. I particularly like the mention of Nanodrop/absorbance based methods for quantification. It's such a toss up if you'll get an accurate reading or what amounts to a randomly generated number, and a lot of library/sequencing related issues can be traced back to poor quant.
                          07-01-2026, 11:43 AM
                        • SEQadmin2
                          Nine Things a Sample Prep Scientist Thinks About Before Sequencing
                          by SEQadmin2


                          I’m not a sequencing expert. I’m a purification scientist who uses NGS to evaluate workflows my group develops. With this perspective, we think about the sample first and the NGS workflow second. The sequencer is an exceptionally honest reporter, but it can only report on what you give it, so whether you get clean, interpretable data from an NGS workflow is largely determined before you begin.

                          Here are nine questions we think about, in roughly the order they matter, before...
                          06-18-2026, 07:11 AM

                        ad_right_rmr

                        Collapse

                        News

                        Collapse

                        Topics Statistics Last Post
                        Started by SEQadmin2, 07-02-2026, 11:08 AM
                        0 responses
                        25 views
                        0 reactions
                        Last Post SEQadmin2  
                        Started by SEQadmin2, 06-30-2026, 05:37 AM
                        0 responses
                        23 views
                        0 reactions
                        Last Post SEQadmin2  
                        Started by SEQadmin2, 06-26-2026, 11:10 AM
                        0 responses
                        23 views
                        0 reactions
                        Last Post SEQadmin2  
                        Started by SEQadmin2, 06-17-2026, 06:09 AM
                        0 responses
                        55 views
                        0 reactions
                        Last Post SEQadmin2  
                        Working...