This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Best way to create syntetic metagenomic reads

Hello everyone,

I'm trying to test the performances of different read correctors on metagenomic data. My analysis step are as followed: 1 - Create a metagenomic dataset without sequencing errors using my own genome set (I want to control the divergence between species in the sample). 2 - Insert errors into the reads 3 - Execute multiple read correctors on this dataset. 4 - Compare their results with the reads from step 1.

Everything is working except the step 1. I tried to use CAMISIM. But the light documentation is a huge problem (I talking a lot with the creator to understand the details). Then, I tried to use InSilicoSeq that is easy to execute. But this is impossible (for now) to have perfect reads at the end of step 1.

So, do you have suggestions for this step ?

metagenomic simulation sequencing

2 answers

could samtools wgsim help you?

wgsim -h

Program: wgsim (short read simulator)
Version: 1.8 
Contact: Heng Li <lh3@sanger.ac.uk>

Usage:   wgsim [options] <in.ref.fa> <out.read1.fq> <out.read2.fq>

Options: -e FLOAT      base error rate [0.020]
         -d INT        outer distance between the two ends [500]
         -s INT        standard deviation [50]
         -N INT        number of read pairs [1000000]
         -1 INT        length of the first read [70]
         -2 INT        length of the second read [70]
         -r FLOAT      rate of mutations [0.0010]
         -R FLOAT      fraction of indels [0.15]
         -X FLOAT      probability an indel is extended [0.30]
         -S INT        seed for random generator [0, use the current time]
         -A FLOAT      discard if the fraction of ambiguous bases higher than FLOAT [0.05]
         -h            haplotype mode

No because it's not generating metagenomic samples. It's only for 1 genome sequencing simulation.

I'm currently writing a script to pull some species using a lognorm distribution. Maybe I will use wgsim for generating reads from the pulled genomes.

Sure, implicitly I thought this is what you needed.

No because it's not generating metagenomic samples. It's only for 1 genome sequencing simulation.

Well, I cannot accept that as an answer ;-) I produced for a dozen or so genomes reads at different coverage, and shuffled them up. That gave me a very well defined metagenome.

pull some species using a lognorm distribution

Why do you need to apply a lognorm distribution for pulling (downloading?) genomes?

randomreads.sh from BBMap suite has a metagenome mode. Check it out.

Log in to answer this question.