soedinglab / plass

sensitive and precise assembly of short sequencing reads
https://plass.mmseqs.com
GNU General Public License v3.0
148 stars 14 forks source link

Intuitions regarding possible output and previous steps #12

Open adriaaula opened 5 years ago

adriaaula commented 5 years ago

First of all, thanks for the tools you developed, the extensive tutorials and the fast response. You people rock.

This is not a bug example but rather some doubts regarding the tool.

In our institute we processed 35 metagenomic samples from coastal marine water. I processed the dataset with a typical pipeline (Megahit assembly of the samples + gene prediction with both prodigal and metagenemarks, clustering 95% identity, 90% cov, -cov-mode 2) to create a gene catalog.

Separately I performed similar processes using Plass, performing a coassembly of 8/9 samples each and then clustered the dataset with linclust (95% identity, 90% cov, -cov-mode 2). Comparing the results, I obtained 30M in the first case and 529M in the second.

To avoid confounding effects of random sequencing error in the analysis and increase specificity at the cost of sensitivity, we focused only on high-abundance data: we truncated all reads in the query neighborhoods at any k-mer that appears fewer than five times, and ran Plass on these abundance-trimmed reads from each neighborhood

Which tradeoff could be less stringent but useful?

Thanks for everything!

martin-steinegger commented 5 years ago

@adriaaula thank you for trying out Plass and your comments. :)

I agree at 20X increase seems to be too high. We used --cov-mode 1 to cluster the proteins in the Plass paper and we only consider assembled proteins(fragments) with length > 100. This mode should merge small fragments. The mode you picked --cov-mode 2 clusters only sequences that can cover the center sequence by 90%. Therefor you end up with many protein fragments. See https://github.com/soedinglab/MMseqs2/wiki#how-to-set-the-right-alignment-coverage-to-cluster

We did not perform quality trimming for the publication but we downloaded quality filtered data from the JGI site. The filtering was preformed by RQCFilter https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/data-preprocessing/

In general quality filtering of metagenomic data is tricky. I have tested Plass in combination with bloocoo (https://github.com/GATB/bloocoo) to correct errors and I could see an slight increase in precision and sensitivity of the assembly. So I can recommend using it. Trimming could improve the recovery of some low abundant proteins if the error affect the most left or right amino acid. For highly abundant species (o proteins) trimming will not have too much of an effect, since Plass will pick the best extension by considering sequence identity and thus bogus fragments will be discarded by the lack of homology.