[Biopython] is_aa() returning true on nonstandard amino acids

Ahmad Abdelzaher underoath006 at gmail.com
Fri Apr 21 20:09:48 UTC 2017


As always, thanks a lot João. You're the man!!! :D

On Fri, Apr 21, 2017 at 10:05 PM, João Rodrigues
<j.p.g.l.m.rodrigues at gmail.com> wrote:
> Hi Ahmad,
>
>
>> I was really happy that I found out about is_aa, however, I just found out
>> that it returns false positives on a lot of modified residues like
>> S-NITROSO-CYSTEINE (SCN) and a few others.
>>
>> Is it supposed to do that? Is there another method for standard amino
>> acids only?
>
>
>
> It is supposed to do that yes, but you can use is_aa(residue, standard=True)
> to check only for the 20 canonical amino acids. The default behaviour
> (standard=False) checks against a list of residues from SCOP that include
> modifications.
>
>
>>
>> Also sorry to hijack my own thread, but I was trying to sample some random
>> structures with certain constraints using the PDB's advanced search. I
>> specifically chose no ligands or modified residues, yet  I still get those
>> in my structures, any idea why?
>
>
>
> If this is related to the RCSB PDB Advanced Search, you should ask them :)
> But check their definition of ligand and/or modified amino acids:
>
>> Searches for structures that have chemical components which are not part
>> of a polymeric entity (ligands)
>> Ligands represent small molecules, carbohydrates, ions, solvents, etc.
>> that are not part of a polymer
>
>
>> Searches for structures that have modified residues.
>> Modified residues are non-standard polymeric components (i.e. non-standard
>> amino-acids in a protein or non-standard nucleotides in a nucleic acid)
>
>
>
>>
>> Finally, noob question, is_aa doesn't work unless I do "from
>> Bio.PDB.Polypeptide import is_aa" or "from Bio.PDB.Polypeptide import *",
>> but doesn't work if I do "from Bio.PDB import Polypeptide", doesn't the
>> class come with all its methods?
>
>
> What is confusing you is that the Polypeptide *module* has a Polypeptide
> *class*. The is_aa method is not part of any class actually, just of the
> module. However, it does work for me if I do 'from Bio.PDB import
> Polypeptide', I just have to do Polypeptide.is_aa afterwards (instead of
> directly is_aa).
>



More information about the Biopython mailing list