[Biopython] Biopython Digest, Vol 152, Issue 2

Carlos Pena mycalesis at gmail.com
Sun Aug 2 12:24:01 UTC 2015


Thanks Jeremy, Jared,


I will take a better look at your script. I had already come up with a
Python package to do the trick: https://github.com/carlosp420/degenerate-dna

I tried to make it easy to use:

>>> from degenerate_dna import Degenera
>>> dna = 'AGTTCT'
>>> res = Degenera(dna=dna, table=1, method='S')
>>> res.degenerate()
>>> res.degenerated
'AGYAGY'


But so far I have implemented the degenerated sequences for the Standard
Code and the Invertebrate Mitochondrial. In our lab, we don't urgently
need the other translation codes yet.

> "YTN" would also match both of Phe's codons ("TTT" and "TTC")
I just run the original Perl Degen_v1.4.pl script and both TTT and TTC
get degenerated to "TTY" using both translation tables 1 and 5.


cheers,


carlos


On 02.08.2015 15:00, biopython-request at mailman.open-bio.org wrote:
> Send Biopython mailing list submissions to
> 	biopython at mailman.open-bio.org
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 	http://mailman.open-bio.org/mailman/listinfo/biopython
> or, via email, send a message with subject or body 'help' to
> 	biopython-request at mailman.open-bio.org
> 
> You can reach the person managing the list at
> 	biopython-owner at mailman.open-bio.org
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Biopython digest..."
> 
> 
> Today's Topics:
> 
>    1. Re: Is there any Biopython tool to degenerate a nucleotide
>       sequence (Jeremy)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Sat, 1 Aug 2015 23:23:23 +0000 (UTC)
> From: Jeremy <Jeremy.molbio at gmail.com>
> To: biopython at biopython.org
> Subject: Re: [Biopython] Is there any Biopython tool to degenerate a
> 	nucleotide	sequence
> Message-ID: <loom.20150802T011012-309 at post.gmane.org>
> Content-Type: text/plain; charset=utf-8
> 
> Sampson, Jared <Jared.Sampson <at> nyumc.org> writes:
> 
>>
>>
>> Hi Jeremy -?
>>
>> Nice work, thanks for sharing.
>>
>>
>> However (and someone please correct me if I'm wrong here!), it looks like 
> the current Leucine substitution, "YTN" would also match both of Phe's 
> codons ("TTT" and "TTC"), and the current Arginine ("MGN") also matches two 
> of Serine's codons ("AGT" and "AGC").
>>  ?FWIW, the?PhyloTools script?also produces the same erroneous degenerate 
> codons. ?I've sent the contact address on that site a bug report.
>>
>> I've updated a?fork?of your original gist to implement fixes for these 
> residues, along with a couple stylistic changes (hope you don't mind). 
> ?Please feel free to incorporate them
>>  into your original. ?If you want to double check the rest of the 
> degen_dict, there's a?nice table on Wikipedia.
>>
>> Also, if you're looking to make other improvements, it might be nice to 
> add a "frame=1" argument to degenerate_sequence() to optionally accommodate 
> the other two reading frames rather than chopping leftover bases.
>>
>> Cheers,
>> Jared
>>
>>
>>
>>
>> --?
>> Jared Sampson
>> Xiangpeng Kong Lab
>> NYU Langone Medical Centerhttp://kong.med.nyu.edu/
>>
>>
>>
>> On Jul 31, 2015, at 1:39 AM, Jeremy <Jeremy.molbio <at> gmail.com> wrote:
>>
>>
>> Carlos Pena <mycalesis <at>?gmail.com> writes:
>>
>> Dear Biopython members,
>> I want to take a nucleotide string and degenerate those bases that can
>> undergo synonymous change.
>> For example, a string of just one codon.
>> * Input: ?AAC
>> * Output: ?AAY
>> Since both AAC and AAT are translated to Asparagine (N) we can
>> degenerate this codon to AAY (because the third position could produce a
>> synonymous change).
>> This is already solved in the Perl library 
> Degenhttp://www.phylotools.com/ptdegendocumentation.htm
>> I could use some glue to execute this Perl code from Python but
>> I cannot include this library in my project because they are using the
>> GPL license while I use BSD.
>> So I thought asking around before writing a Python script to do this for?
>>
>> me.
>>
>> thanks for any pointers,
>> carlos
>>
>>
>> Hi Carlos,
>> I hacked up something that should return the same output as the Degen 
> 1.4?
>> Perlweb tool. ?
>> The gist can be found here: 
> ?https://gist.github.com/biojerm/6242381eb4ad3ef18ac6
>> I am pretty new to both Python and Biopython, so the please let me know 
> if?
>> you have any feedback on both form, styling, and/or function.?
>> I know the method is currently quite fragile. Below are a few thoughts 
> on?
>> the method's weaknesses
>> 1)The method does not handle sequences that are not evenly divisible by 
> 3.
>> 2)I think the method would be a lot more useful if you could call it on 
> a?
>> single or set of FASTA files or a GB files. ?But, I have not learned 
> ?how?
>> to program that yet. ?
>> 3) I probably should return the degenerate sequences as Seq files, but 
> at?
>> the moment they are simple strings.
>> 4)Tests...need to figure those out too. ?
>> Please let me know if you find this useful or and if there are any must?
>> have features for your purposes.
>> Thanks,
>> Jeremy
>> _______________________________________________
>> Biopython mailing list ?- ?Biopython <at> mailman.open-
> bio.orghttp://mailman.open-bio.org/mailman/listinfo/biopython
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> ------------------------------------------------------------
>> This email message, including any attachments, is for the sole use of the 
> intended recipient(s) and may contain information that is proprietary, 
> confidential, and exempt from disclosure under applicable law. Any 
> unauthorized review, use, disclosure, or distribution is prohibited. If you 
> have received this email in error please notify the sender by return email 
> and delete the original message. Please note, the recipient should check 
> this email and any attachments for the presence of viruses. The 
> organization accepts no liability for any damage caused by any virus 
> transmitted by this email.
>> =================================
>>
>>
>> _______________________________________________
>> Biopython mailing list  -  Biopython <at> mailman.open-bio.org
>> http://mailman.open-bio.org/mailman/listinfo/biopython
> 
> 
> Hi Jared,
> Thanks for editing the code.  Your improvements in both style and function 
> are greatly appreciated.  I originally  was trying to mimic the output of 
> the bioPerl function.  However, I think your improvements help to maintain 
> accuracy of the original sequence.  I will incorporate your method into the 
> final function.  I will also try and introduce different frames and 
> possibly different codon tables.  
> 
> 
> 
> ------------------------------
> 
> _______________________________________________
> Biopython mailing list  -  Biopython at mailman.open-bio.org
> http://mailman.open-bio.org/mailman/listinfo/biopython
> 
> End of Biopython Digest, Vol 152, Issue 2
> *****************************************
> 

-- 
Dr. Carlos Peña
Laboratory of Genetics
Department of Biology
University of Turku
20014 Turku
FINLAND

* Associated Editor, Revista Peruana de Biología
http://revistasinvestigacion.unmsm.edu.pe/index.php/rpb
* The Nymphalidae Systematics Group
http://nymphalidae.net


More information about the Biopython mailing list