I'm noobie in bioinformatics. I use cal_dn_ds
from Bio.codonalign.codonseq
with method 'NG86'. Sometimes I get dS=-1. What does it mean? How can number of substitutions be negative? Does it mean that something is wrong with my data?
Upd.
1) Chris_Rands pointed to sources, I read them already, but the question remain. What is that ps
variable, and why if it's greater than 3/4, dS = -1?
2) Some more details.
cal_dn_ds
requires sequences from CodonAlignment
object, which is created by function Bio.codonalign.build
that requires (quote from docs) protein alignment and corresponding nucleotides
. I have nucleotide sequences from NCBI at the beginning. So I trim non-coding regions from nucleotide sequences, translate all trimmed sequences, write them to a file, perform multiple alignment of the protein sequences, and then pass the list of aligned protein sequences and the list of nucleotide sequences to the build
function.
I analize protein DKK1, and example sequences that get negatives are Empidonax traillii XM_027898752.1 and Physeter catodon XM_007110600.1. But I just want to understand general idea behind dS = -1, what can it mean it different cases.
3) Michael G. gave an interesting suggestion that it means zero, but it's strange because the function returns dN and dS separately, so Biopython might as well return zero, so the user would handle those cases himself. And for some sequences Biopython actually returns normal positive dS and dN = 0 at the same time. If it's an error, what are the possible causes? And why in those error cases Biopython can calculate dN, but dS is -1?
cal_dn_ds
? If you are using some sort of alignment, what species are involved? The more details you give us, the better your chances of getting a useful answer. $\endgroup$ – terdon May 13 '19 at 14:12