jbudis / dante

Alignment-free method for genotyping and characterizing STR alleles
Apache License 2.0
4 stars 0 forks source link

Post-Stutter Filtering Question #6

Open michaeldonaldson opened 4 years ago

michaeldonaldson commented 4 years ago

Hello,

Thank you for this excellent tool! It is working very nicely on HiSeq/MiSeq data generated from amplicon sequencing of a non-model organism.

I wonder, after stutter filtering, is there an easy way to extract genotypes at loci with > 95% overall confidence and perhaps a full read threshold > 30 or > 50? I would like to apply some very conservative filtering for the retained profiles that are from di-nucleotide repeat motifs. I am working with > 250 samples and ~ 20 loci so this is quite a bit of work to do manually. Any help would be greatly appreciated.

Sincerely, Mike

marcelTBI commented 4 years ago

Hi,

thank you for using our tool. We are planning to expand the tool in following months, so every suggestion and/or issue report is more than welcome.

I am not entirely sure if I understand what exactly are you trying to do, but few output files that could help you are hidden (and undocumented - TODO) in the motif folder. For example, if you have motif called DMPK, in the final report directory you will have a folder called DMPK, where there are figures used in final report.html and files with counts and partial results (the number behind underscore is the index of the variable part - since Dante allows for complex motifs with multiple variable parts):

Unfortunately, currently there is no way of filtering of the motifs based on the criteria that you have noted, except of reading the mentioned files, parsing them, extracting the information and filter accordingly. I will keep this in mind and try to implement some motif filtering in the future, but this will take time..

I hope I answered your question, feel free to elaborate if not, I promise to answer more promptly.

Best, Marcel

michaeldonaldson commented 4 years ago

Hi Marcel,

Thank you for the comprehensive response. I'm working with a non-model organism and a mixture of sequence capture and amplicon sequencing data from HiSeq and MiSeq runs, respectively. Your tool works very well in extracting the microsatellites and calling the genotypes from these two different datasets!

We were hoping to generate genotypes to help inform population genetic structure so the end goal was to generate a STRUCTURE formatted file with the output from dante. However, I did want to filter the data in a conservative manner. To do so, I worked from the table.tsv files generated for each individual because it has all the information I needed; basically, I used grep to combine all the non-header lines from ~250 samples to get them into a single tsv file. Next, I was able to print the genotype from dante if the overall confidence for the locus was >95%, otherwise the genotype was changed to "-9". I also could have filtered for the full read threshold here but chose not to (but I suggest this is an important consideration as well). These new genotypes were used for STRUCTURE analysis.

I thought you'd like to know "how" your tool is being used because it's quite useful but there are some situations where users might want to further filter the data, or get it into a universal format for downstream analysis (STRUCTURE is pretty common). Oh, and it's worth noting that the resulting STRUCTURE plots using the dante genotypes are consistent with our predictions.

Sincerely, Mike

marcelTBI commented 4 years ago

Yeah, getting data into an universal format is quite important for researchers and it is not done at all in Dante (we were focusing on the overall html report for clinicians). I will leave this issue open and try to resolve it in future implementations in Dante.

Btw: thanks for informing about the uses of Dante and pointing out the STRUCTURE analysis tool and file format - I did not her about it before.