marbl / metAMOS

A metagenomic and isolate assembly and analysis pipeline built with AMOS
http://marbl.github.io/metAMOS
Other
93 stars 45 forks source link

Can metAMOS annotate reads instead of contigs? #219

Closed nalandaatmi closed 8 years ago

nalandaatmi commented 9 years ago

Dear Sergey,

I tried skipping the assemble step in metAMOS pipeline. Program executed without any errors. I got output in functional annotation which is based on orfs. But I didn' t get any annotation for the reads as well as the classify tab is empty (shows as 0). I understand that classification is based on contigs. So I got 0 in that tab (because I skipped assemble step).

1) Just based on reads, can metAMOS annotate them? 2) Can we change the trim settings in metAMOS? if not 3) Can we provide trimmed reads as an input?

Query regarding functional annotation output: The percentage associated with each function below is not reflecting number of reads that belongs to a particular function. When I clicked on the count, I could see many uniprot IDs. 1) Is there any option for us to have the output reflecting reads or ORFs associated to a function? functional annotation output

nalandaatmi commented 9 years ago

Dear Sergey,

Have you got a chance to look in to this issue?

skoren commented 9 years ago
  1. When you say annotate do you mean functional annotation/ORF prediction or classification to a source organism using something like Kraken? If it's the latter, yes it can classify unassembled reads using the -u option. It currently cannot identify ORFs within unassembled reads.
  2. You can trim using defaults or eautils. You can also specify no trimming but this may cause issues when your names do not match that expected by downstream tools. I'd recommend leaving the default filtering on even for trimmed reads.

There is no option to output the reads per contig/orf for the functional annotation plots. However, there is a list of reads mapping to contigs in the Postprocess/out/proba.contig.reads which tells you reads mapping to a particular contig. You can then find the reads mapping to a contig with an identified functional annotation in your plot.

nalandaatmi commented 9 years ago

Dear Sergey,

As you mentioned, I tried giving -u. Still under the annotation tab, I am getting no hits. ../initPipeline -q -1 /metAMOS-1.5rc3/JSNsamples/S002994_r1.fastq -2 /metAMOS-1.5rc3/JSNsamples/S002994_r1.fastq -d S002994_kraken_No_Assembly_Version1_7 -i 25:150 ../runPipeline -q -v -c kraken -u -p 15 -d S002994_kraken_No_Assembly_Version1_7 -f Annotate, -n Scaffold,FunctionalAnnotation,Assemble,MapReads,Classify,FindORFS,Propagate,Validate

The following files in S002994_kraken_No_Assembly_Version1_7/Annotate/out are empty.

[biocomp-0-10 S002994]$ du -hsc S002994_kraken_No_Assembly_Version1_7/Annotate/out/* 1.5K S002994_kraken_No_Assembly_Version1_7/Annotate/out/proba.annots 1.5K S002994_kraken_No_Assembly_Version1_7/Annotate/out/proba.hits 1.5K S002994_kraken_No_Assembly_Version1_7/Annotate/out/proba.intermediate.ctg.hits 1.5K S002994_No_kraken_No_Assembly_Version1_7/Annotate/out/proba.intermediate.lib1.hits 1.5K S002994_No_kraken_No_Assembly_Version1_7/Annotate/out/proba.reads.annots 26K S002994_No_kraken_No_Assembly_Version1_7/Annotate/out/report.krona.html 147M S002994_kraken_No_Assembly_Version1_7/Annotate/out/report.krona.html.files

But, even after skipping the assembly step, how come the contigs are there in Postprocess/out/proba.ctg.fa

skoren commented 9 years ago

Currently, the assembly step cannot be skipped so even if you specify -n Assemble it will still generate assembled contigs.

It sounds like Kraken cannot find high-confidence classification for the reads/contigs in the assembly. By default, there is a filter on the confidence of hits output. You can modify the default to turn off filtering in Utilities/config/kraken.spec. You can change the 0.05 filter to 0.00 to avoid all filtering. However, this will increase the false-positive rate of your classifications.

skoren commented 8 years ago

Closed, inactivity.