Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chain ID in parseMMCIF is corresponding to asym_id or auth_asym_id #1985

Open
hnguyentt opened this issue Nov 4, 2024 · 1 comment
Open

Comments

@hnguyentt
Copy link

Hello,

What chain ID does the function parseMMCIF use: asym_id (a unique and sequential identifier of each molecule (starting from letter A) in the model) or auth_asym_id (author provided (or PDB assigned) Chain ID)?

When I observed 1mj1, it seems that this function used asym_id rather than auth_asym_id:

Sequence in fasta file:

>1MJ1_7|Chain H[auth L]|L11 ribosomal protein|Escherichia coli (562)
MAKKVAAQIKLQLPAGKATPAPPVGPALGQHGVNIMEFCKRFNAETADKAGMILPVVITVYEDKSFTFIIKTPPASFLLKKAAGIEKGSSEPKRKIVGKVTRKQIEEIAKTKMPDLNANSLEAAMKIIEGTAKSMGIEVVD
from prody import parseMMCIF

struct = parseMMCIF("1mj1")

struct.select("chain H")
> <Selection: 'chain H' from 1mj1 (133 atoms)>

struct.select("chain L")
> None

However, I'm not sure about it. Could you please confirm?

@jamesmkrieger
Copy link
Contributor

Yes, currently we have chain ID coming from label_asym_id and we are using segment ID/name for the auth_asym_id

    chID = line.split()[fields['label_asym_id']]
    segID = line.split()[fields['auth_asym_id']]

There is also an key word argument unite_chains option to change this behaviour

:arg unite_chains: unite chains with the same segment name (auth_asym_id), making chain ids be 
    auth_asym_id instead of label_asym_id. This can be helpful in some cases e.g. alignments, but can 
    cause some problems too. For example, using :meth:`.buildBiomolecules` afterwards requires original 
    chain id (label_asym_id). Using biomol=True, inside parseMMCIF is fine.
    Default is *False*
:type unite_chains: bool

For some reason, this help was only added to parseMMCIFStream and not parseMMCIF so I'll change that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants