This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Is it possible to work with paired-end reads for assembly purposes using metaspades?

I was reading on the metaspades manual that metaspades only works with a single short-read library which has to be paired-end.

what does this exactly means? does anyone have worked before assemblyng paired-end reads using metaspades who can help me with this?

metaspades assembly paired-end reads

1 answer

Where exactly did you read that? It is certainly not true for the version I have (v3.14.0). The only major difference in --meta mode is that --careful is not supported. See the input options below.

Input data:
  --12 <filename>             file with interlaced forward and reverse paired-end reads
  -1 <filename>               file with forward paired-end reads
  -2 <filename>               file with reverse paired-end reads
  -s <filename>               file with unpaired reads
  --merged <filename>         file with merged forward and reverse paired-end reads
  --pe-12 <#> <filename>      file with interlaced reads for paired-end library number <#>.
                              Older deprecated syntax is -pe<#>-12 <filename>
  --pe-1 <#> <filename>       file with forward reads for paired-end library number <#>.
                              Older deprecated syntax is -pe<#>-1 <filename>
  --pe-2 <#> <filename>       file with reverse reads for paired-end library number <#>.
                              Older deprecated syntax is -pe<#>-2 <filename>
  --pe-s <#> <filename>       file with unpaired reads for paired-end library number <#>.
                              Older deprecated syntax is -pe<#>-s <filename>
  --pe-m <#> <filename>       file with merged reads for paired-end library number <#>.
                              Older deprecated syntax is -pe<#>-m <filename>
  --pe-or <#> <or>            orientation of reads for paired-end library number <#>
                              (<or> = fr, rf, ff).
                              Older deprecated syntax is -pe<#>-<or>
  --s <#> <filename>          file with unpaired reads for single reads library number <#>.
                              Older deprecated syntax is --s<#> <filename>
  --pacbio <filename>         file with PacBio reads
  --nanopore <filename>       file with Nanopore reads
  --tslr <filename>           file with TSLR-contigs

As v.berriosfarias stated bellow, the current (SPAdes 3.14.1) manual explicitly states for --meta, only one paired-end library can be used for assembly - that is, single-end libraries and / or multiple libraries are not supported:

--meta (same as metaspades.py)

This flag is recommended when assembling metagenomic data sets (runs metaSPAdes, see paper for more details). Currently metaSPAdes supports only a single short-read library which has to be paired-end (we hope to remove this restriction soon). In addition, you can provide long reads (e.g. using --pacbio or --nanopore options), but hybrid assembly for metagenomes remains an experimental pipeline and optimal performance is not guaranteed. It does not support careful mode (mismatch correction is not available). In addition, you cannot specify coverage cutoff for metaSPAdes. Note that metaSPAdes might be very sensitive to presence of the technical sequences remaining in the data (most notably adapter readthroughs), please run quality control and pre-process your data accordingly.

The manual may be outdated, but SPAdes developers are reasonably careful with the manual, updating it accordingly when features are added or modified.

I just started running this with v3.14.0, and I am sure to have done similar runs before:

spades.py --meta -o erase --12 2370.5.1902.TGACCA_paired_normalized_40x.fastq.gz -s 2370.5.1902.TGACCA_single_normalized_40x.fastq.gz -t 20 -m 100

I will report if there are any issues during the run - so far it has assembled K21 without any problems.

Log in to answer this question.