Closed pslacerda closed 1 year ago
I think it would be like this to select the residue:
select single_res, chain B and resi 1
and like this to select the whole chain:
select chain_B, bychain chain B and resi 1
or
select chain_B, chain B
It would be, but we need something that also works for other 700 structures.
Some peptides are assigned the same chain as the protein, so it wouldn't work.
Em ter., 31 de jan. de 2023 17:20, Mario Sergio Valdés Tresanco < @.***> escreveu:
I think it would be like this to select the residue: select single_res, chain B and resi 1 and like this to select the whole chain: select chain_B, bychain chain B and resi 1
— Reply to this email directly, view it on GitHub https://github.com/schrodinger/pymol-open-source/issues/275#issuecomment-1411011086, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABEO3UTND6HFDHGEK6LQ43WVFXZZANCNFSM6AAAAAAUM3CWSU . You are receiving this because you authored the thread.Message ID: @.***>
I don't think there is a command that allows selecting a peptide in the same chain as the protein through entity expansion. An option could be an iteration from the selected residue:
from pymol import cmd
# create the selection with at least one residue
cmd.select("bbb", "resi 301")
# Exapand the selection
for x in range(cmd.count_atoms()):
cmd.select("bbb", "byres bound_to bbb")
if cmd.count_atoms() == cmd.count_atoms("bbb"):
break
This will allow you to select the peptide only. However, in some cases, it may fail, for example in the posted PDB. For some reason, PyMOL interprets that the residue A/CYS145
is bound to B/HSV6
(distance B/HSV6/C
and A/CYS145/SG
= 2.2 A).
HTH!
There is, bymolecule works just fine for most cases.
Em ter., 31 de jan. de 2023 20:21, Mario Sergio Valdés Tresanco < @.***> escreveu:
I don't think there is a command that allows selecting a peptide in the same chain as the protein through entity expansion. An option could be an iteration from the selected residue:
from pymol import cmd
create the selection with at least one residuecmd.select("bbb", "resi 301")
Exapand the selectionfor x in range(cmd.count_atoms()):
cmd.select("bbb", "byres bound_to bbb") if cmd.count_atoms() == cmd.count_atoms("bbb"): break
This will allow you to select the peptide only. However, in some cases, it may fail, for example in the posted PDB. For some reason, PyMOL interprets that the residue A/CYS145 is bound to B/HSV6 (distance B/HSV6/C and A/CYS145/SG = 2.2 A). HTH!
— Reply to this email directly, view it on GitHub https://github.com/schrodinger/pymol-open-source/issues/275#issuecomment-1411209347, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABEO3SY6UUQYBKGVG7HN43WVGNBDANCNFSM6AAAAAAUM3CWSU . You are receiving this because you authored the thread.Message ID: @.***>
I'll check the distances and let you know. Anyway, any idea how the www.pdb.org interpret them as different molecules?
Em ter., 31 de jan. de 2023 21:23, Pedro Lacerda @.***> escreveu:
There is, bymolecule works just fine for most cases.
Em ter., 31 de jan. de 2023 20:21, Mario Sergio Valdés Tresanco < @.***> escreveu:
I don't think there is a command that allows selecting a peptide in the same chain as the protein through entity expansion. An option could be an iteration from the selected residue:
from pymol import cmd
create the selection with at least one residuecmd.select("bbb", "resi 301")
Exapand the selectionfor x in range(cmd.count_atoms()):
cmd.select("bbb", "byres bound_to bbb") if cmd.count_atoms() == cmd.count_atoms("bbb"): break
This will allow you to select the peptide only. However, in some cases, it may fail, for example in the posted PDB. For some reason, PyMOL interprets that the residue A/CYS145 is bound to B/HSV6 (distance B/HSV6/C and A/CYS145/SG = 2.2 A). HTH!
— Reply to this email directly, view it on GitHub https://github.com/schrodinger/pymol-open-source/issues/275#issuecomment-1411209347, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABEO3SY6UUQYBKGVG7HN43WVGNBDANCNFSM6AAAAAAUM3CWSU . You are receiving this because you authored the thread.Message ID: @.***>
I didn't understand your code and also don't know what bbb means.
Reviewing the documentation, I believe the code is a rudimentary version of bymolecule. "bbb" is a random name for the selection. I think the problem here is that pymol is interpreting the atoms I mentioned above as bonded.
Yes, C and S seems to bond in the 1.81~2.55 Å range. This render bymolecule identification harderas you observed 2.2 Å between B/HSV6/C and A/CYS145/SG.
As we here identified this single case so far (3AVZ) from 700, we'll do it manually.
Em ter., 31 de jan. de 2023 22:19, Mario Sergio Valdés Tresanco < @.***> escreveu:
Reviewing the documentation, I believe the code is a rudimentary version of bymolecule. "bbb" is a random name for the selection. I think the problem here is that pymol is interpreting the atoms I mentioned above as bonded.
— Reply to this email directly, view it on GitHub https://github.com/schrodinger/pymol-open-source/issues/275#issuecomment-1411308482, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABEO3SETBLNYDNHDMFIGQ3WVG23PANCNFSM6AAAAAAUM3CWSU . You are receiving this because you authored the thread.Message ID: @.***>
There are two ways to avoid the distance-based bonding:
1) Use set connect_mode, 4
https://pymolwiki.org/index.php/connect_mode
2) Load mmtf instead of cif files, e.g. fetch 3AVZ, type=mmtf
I tried all connect_mode
s (including 1, that was supposedto respect the CONNECT
records on the PDB file) but only load mmtf worked.
Dear Pymol developers, the 3AVZ structure contains a peptide which we cannot select. We tried "bymolecule chain B and resi 1" however it keeps expanding for the hole protein plus peptide. It is a non standard one with ATOMs and HEATMs. What can we do to select only the peptide?