<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>Thanks Zheng, I will look into the details of the implementation. <br>
</p>
<p><br>
</p>
<p>What I am in need is something like cal_n_s(ref_deq).  I will check if it makes any sense to make this a public function.<br>
</p>
<p><br>
</p>
<p><br>
</p>
<p>Best,</p>
<p>Pablo<br>
</p>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Zheng Ruan <zruan1991@gmail.com><br>
<b>Sent:</b> 30 September 2021 15:32:38<br>
<b>To:</b> Riesgo Ferreiro, Pablo<br>
<b>Cc:</b> biopython@biopython.org<br>
<b>Subject:</b> Re: [Biopython] Calculating NS and S over a given sequence</font>
<div> </div>
</div>
<div>
<div dir="ltr">Hi Pablo,
<div><br>
</div>
<div>You can simply use cal_dn_ds(ref_seq, sample_seq) to achieve this. If you have multiple sample_seqs, you may iterate all of them.</div>
<div><br>
</div>
<div>Internally, cal_dn_ds determines the N and S sites by averaging the N and S sites counted from both the ref_seq and sample seq. If you specify the NG86 method, it does the log transform as you show in the figure.</div>
<div><br>
</div>
<div>Best,</div>
<div>Zheng</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Thu, Sep 30, 2021 at 5:24 AM Riesgo Ferreiro, Pablo <<a href="mailto:Pablo.RiesgoFerreiro@tron-mainz.de">Pablo.RiesgoFerreiro@tron-mainz.de</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div lang="DE">
<div class="gmail-m_3704782559889788504WordSection1">
<p><span lang="EN-US" style="font-family:Calibri,sans-serif;color:black">Hi all,<u></u><u></u></span></p>
<p><span lang="EN-US" style="font-family:Calibri,sans-serif;color:black"><u></u> <u></u></span></p>
<p><span lang="EN-US" style="font-family:Calibri,sans-serif;color:black"><u></u> <u></u></span></p>
<p><span lang="EN-US" style="font-family:Calibri,sans-serif;color:black">I am new to this mailing list. First of all many thanks for your work, I have happily used Biopython in several projects before.<u></u><u></u></span></p>
<p><span lang="EN-US" style="font-family:Calibri,sans-serif;color:black"><u></u> <u></u></span></p>
<p><span lang="EN-US" style="font-family:Calibri,sans-serif;color:black">I have a need to compute the dN/dS ratio over a set of samples of the same species. I know this is not great 10.1371/journal.pgen.1000304, but still. I have found this feature in biopython
 calculating the dN/dS between sequences: </span><span style="font-family:Calibri,sans-serif;color:black"><a href="https://biopython.org/docs/1.76/api/Bio.codonalign.codonseq.html#Bio.codonalign.codonseq.cal_dn_ds" id="gmail-m_3704782559889788504LPlnk889923" target="_blank"><span lang="EN-US">https://biopython.org/docs/1.76/api/Bio.codonalign.codonseq.html#Bio.codonalign.codonseq.cal_dn_ds</span></a></span><span lang="EN-US" style="font-family:Calibri,sans-serif;color:black">,
 but this does not cover my needs. <u></u><u></u></span></p>
<p><span lang="EN-US" style="font-family:Calibri,sans-serif;color:black"><u></u> <u></u></span></p>
<p><span lang="EN-US" style="font-family:Calibri,sans-serif;color:black">What I need is to compute dN/dS based on the count of mutations over a set of samples as explained at
</span><span style="font-family:Calibri,sans-serif;color:black"><a href="https://bioinformatics.cvr.ac.uk/calculating-dnds-for-ngs-datasets/" id="gmail-m_3704782559889788504LPlnk772882" target="_blank"><span lang="EN-US">https://bioinformatics.cvr.ac.uk/calculating-dnds-for-ngs-datasets/</span></a></span><span lang="EN-US" style="font-family:Calibri,sans-serif;color:black"><u></u><u></u></span></p>
<p><span lang="EN-US" style="font-family:Calibri,sans-serif;color:black"><u></u> <u></u></span></p>
<p><span style="font-family:Calibri,sans-serif;color:black"><img border="0" width="713" height="563" style="width: 7.427in; height: 5.8645in;" id="gmail-m_3704782559889788504img795255" alt="cid:7c03806e-bbb0-47b1-9c49-3c53e33af83e" src="cid:17c36e3845e5036673a1"></span><span style="font-family:Calibri,sans-serif;color:black"><u></u><u></u></span></p>
<p><span style="font-family:Calibri,sans-serif;color:black"><u></u> <u></u></span></p>
<p><span lang="EN-US" style="font-family:Calibri,sans-serif;color:black">N and S is dependent on the reference sequence and independent on the samples. N and S can be calculated on different genomic regions (eg: coding region, transcript, exon, domain, etc.).
 The simplest input for this tool would be a given ORF sequence and you would think of more complete things as a GFF file.
<u></u><u></u></span></p>
<p><span lang="EN-US" style="font-family:Calibri,sans-serif;color:black"><u></u> <u></u></span></p>
<p><span lang="EN-US" style="font-family:Calibri,sans-serif;color:black">It is a small thing, but unless anyone knows of an existing implementation, I think it may be useful to others. Do you think this would be a valuable contribution to biopython?<u></u><u></u></span></p>
<p><span lang="EN-US" style="font-family:Calibri,sans-serif;color:black"><u></u> <u></u></span></p>
<p><span lang="EN-US" style="font-family:Calibri,sans-serif;color:black"><u></u> <u></u></span></p>
<p><span lang="EN-US" style="font-family:Calibri,sans-serif;color:black"><u></u> <u></u></span></p>
<p><span lang="EN-US" style="font-family:Calibri,sans-serif;color:black">Best wishes,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:Calibri,sans-serif;color:black"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:"Segoe UI",sans-serif;color:rgb(173,53,31)">Pablo Riesgo Ferreiro<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:9pt;font-family:"Segoe UI",sans-serif;color:rgb(16,61,114)">Computational Medicine</span><span style="font-size:10pt;font-family:"Segoe UI",sans-serif;color:rgb(31,73,125)"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Segoe UI",sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:9pt;font-family:"Segoe UI",sans-serif;color:rgb(31,73,125)">
<b>TRON</b></span><span style="font-size:10pt;font-family:"Segoe UI",sans-serif;color:rgb(31,73,125)"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:9pt;font-family:"Segoe UI",sans-serif;color:rgb(31,73,125)">Translationale Onkologie an der Universitätsmedizin der</span><span style="font-size:10pt;font-family:"Segoe UI",sans-serif;color:rgb(31,73,125)"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:9pt;font-family:"Segoe UI",sans-serif;color:rgb(31,73,125)">Johannes Gutenberg-Universität Mainz gemeinnützige GmbH
</span><span style="font-size:10pt;font-family:"Segoe UI",sans-serif;color:rgb(31,73,125)"><u></u><u></u></span></p>
</div>
</div>
_______________________________________________<br>
Biopython mailing list  -  <a href="mailto:Biopython@biopython.org" target="_blank">
Biopython@biopython.org</a><br>
<a href="https://mailman.open-bio.org/mailman/listinfo/biopython" rel="noreferrer" target="_blank">https://mailman.open-bio.org/mailman/listinfo/biopython</a><br>
</blockquote>
</div>
</div>
</body>
</html>