No announcement yet.

250bp reads in idba_ud

  • Filter
  • Time
  • Show
Clear All
new posts

  • 250bp reads in idba_ud

    Has anyone experimented with using idba_ud on 2x250bp MiSeq data? I'm getting the following error when I tried to run it using -r and -l

    terminate called after throwing an instance of 'std::logic_error'
    what(): SequenceReader::SequenceReader() istream is invalid
    Aborted (core dumped)
    The assembler works fine when the dataset is trimmed back to 150bp. Is there some configuration that I'm missing?

  • #2
    I think 250-bp is too long to assemble at least with -r option.
    In default settings, the max is set to be 128 bp.

    To change the max value, you have to re-compile IDBA from the source as follows:

    1. change the vaue 0f 128 to 250 (or more) in /src/sequence/short_sequence.h

    static const uint32_t kMaxShortSequence = 128;
    static const uint32_t kMaxShortSequence = 250;

    2. overwrite the short_sequence.h

    3. configure & make!

    In my case, it works well with 2x250bp miseq-paired-end reads by setting 512
    Last edited by [email protected]; 04-09-2013, 02:19 AM.


    • #3
      Thanks for the info, re-compiling IDBA with that change worked. It's strange that it doesn't work when I use the -l parameter though, isn't that the whole point of the option?


      • #4
        I checked it under my environments.
        It seemed to be running without any errors.
        I've not changed any other points......


        • #5
          Are you folks wokring from idba-1.1.0 or 1.0.9? I made the change above and it is altering only the max read length accepted, but not changing the maxK! When I try running it doesn't run saying my maxK is too large:

          $ idba_ud -r MiSeq_260bp.fa -o test --maxk 250

          Would either of you mind posting your full short_sequence.h files?


          • #6
            I have been trying to run IDBA for sometimes now. I have illumina paired end reads which I merged together for testing into one file and they are 151 bases in length. I have had the same error as Kcchan and I increased the static const uint32_t kMaxShortSequence = 1600 and recompiled. It now runs till it hits k=50 and then it exits with the following error:

            kmer 50
            kmers 9815948 9845052
            merge bubble 519
            contigs: 7985 n50: 4122 max: 71069 mean: 920 total length: 7348632 n80: 919
            reads 9449880
            aligned 8473710 reads
            distance mean 229.862 sd 12592.2
            invalid insert distance
            ./ line 4: 14229 Segmentation fault /share/apps/idba-1.1.1/bin/i
            dba -r test.fa -o test_idba_out