Announcement

Collapse
No announcement yet.

Coverage (Velvet)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Coverage (Velvet)

    Hello, all

    Does anyone know what the coverage means in velvet ?

    According to the manual of velvet, the relation between k-mer coverage Ck and standard (nucleotide-wise) coverage C is Ck = C*(L-k+1)/L.

    Is C calculated as follows ?

    Read length: 36bp
    Number of reads: 50,000,000 X 2 (paired-end)
    Size of reference sequence: 5M

    C = 36bp X 50,000,000 X 2 / 5M = 720

    I'd be happy if anyone answer the question !

    yasutake

  • #2
    Looks right to me ... there are 720 bases in reads for every 1 base in your reference.

    For Ck, the "length" in kmers of your reference is practically the same as length in bases ... (actually, 5M - 36 + 1, which is ~5M for the purposes of the equations below), so if you calculate the number of kmers in every read, it's 36-k+1. If you were to calculate the kmer coverage directly, you'd be asking how many read kmers you have per every reference kmer, so that's:
    (36-k+1)*50M*2 / 5M

    so if you already have base coverage calculated, you multiply by (36-k+1)/36 ... or (L-k+1)/L ... to get from base coverage to kmer coverage.
    Last edited by jnfass; 08-05-2011, 11:33 AM. Reason: clarity

    Comment


    • #3
      I'd be happy if anyone answer the question !
      You should consider joining the Velvet mailing list and asking Daniel Zerbino directly:
      http://listserver.ebi.ac.uk/mailman/...o/velvet-users

      Comment


      • #4
        jnfass and Torst,

        Thank you very much for your help !

        yasutake

        Comment


        • #5
          Originally posted by jnfass View Post
          so if you already have base coverage calculated, you multiply by (36-k+1)/36 ... or (L-k+1)/L ... to get from base coverage to kmer coverage.
          So Velvet is using k-mer coverage values instead of base coverage in its parameters, right?

          In the above example, if my k-mer size is 21 and I want to eliminate all regions with coverage of 2x or below I shouldn't use '-cov_cutoff 2'. Instead I should use '-cov_cutoff 0.9'... Am I right?

          And what about the '-exp_cov' parameter? Should I use k-mer coverage values for this parameter, too?

          Comment


          • #6
            Originally posted by panos_ed View Post
            So Velvet is using k-mer coverage values instead of base coverage in its parameters, right?

            In the above example, if my k-mer size is 21 and I want to eliminate all regions with coverage of 2x or below I shouldn't use '-cov_cutoff 2'. Instead I should use '-cov_cutoff 0.9'... Am I right?

            And what about the '-exp_cov' parameter? Should I use k-mer coverage values for this parameter, too?
            Yes, on both counts.

            By the way, the -exp_cov value is used to determine which parts of the graph are likely due to repeat sequence ... some multiple (maybe 1.5?? I forget...) of the -exp_cov value serves as the cutoff, and nodes with higher coverage are deemed repeats. Given the wild variation in coverage from the nextGen sequencing technologies, which can be an order of magnitude or more from what I've seen, with Illumina, SOLiD, and 454, you might want to consider increasing -exp_cov above the auto estimate. YMMV, of course.

            ~Joe

            Comment


            • #7
              Joe

              Originally posted by jnfass View Post
              Given the wild variation in coverage from the nextGen sequencing technologies, which can be an order of magnitude or more from what I've seen, with Illumina, SOLiD, and 454, you might want to consider increasing -exp_cov above the auto estimate. YMMV, of course.
              Can you clarify what you mean by the above statement in italics?

              ie. are you saying you get 10-fold difference in coverage of NON-repeated elements??

              Comment

              Working...
              X