Re: [PyMOL] Consistent coloring between sticks of sidechains and cartoon backbones in spectrum coloring

2020-05-21 Thread Mooers, Blaine H.M. (HSC)
Hi Charles,

This pml script does want you want, 

# Color the carvons atoms of the sidechain the same as the color of the CA atom
col=[]
#  edit resi here
iterate resi 10+20+30 and name ca, 
col.append((chain,resi,name,cmd.get_color_tuple(color)))
# Define the colors ca10, ca20, and ca40
[cmd.set_color('ca'+co[1],list(co[3]) ) for co in col]
# >>Edit color names here
colorList =['ca10','ca20','ca30']
# Check this list
[print(cmd.get_color_tuple(co)) for co in colorList]
#make a list of residues
resList = [co[1] for co in col]
# Check the list
print(resList)
# Now zip the list of colors and the list of residues
pairs = list(zip(colorList,resList))
# Check the list of lists
print(pairs)
# Check the atom selection syntax
[print('resi ' + str(pairs[i][1]) + ' and (sidechain and name c*)') for i in 
range(0,len(pairs))]
# Apply the pairs after defining the indices
[cmd.color(pairs[i][0], 'resi ' + str(pairs[i][1]) + ' and (sidechain and name 
c*)') for i in range(0,len(pairs))]

The print statements are sanity checks. 
You can delete them and the comments if you want a more concise script.

You can also copy and paste this compound command onto the command line to get 
the get effect. 
You the up arrow key to get back the command and edit the list of residues and 
the colorList.

col=[];iterate resi 10+20+30 and name ca, 
col.append((chain,resi,name,cmd.get_color_tuple(color)));colorList 
=['ca10','ca20','ca30'];resList = [co[1] for co in col];pairs = 
list(zip(colorList,resList));[cmd.color(pairs[i][0], 'resi ' + str(pairs[i][1]) 
+ ' and (sidechain and name c*)') for i in range(0,len(pairs))]

When you enter help color, you will see that the first argument of color is the 
color, which is a string. 
That string is a name or number. The number is an integer that is internally 
mapped to a color name.
You can see these by entering the following: print(cmd.get_color_indices()).  

Your col object is a list of tuples.
This is not of the data type that the color command expects.
The third line of your code returns an error because col is a list of tuples 
and not a string.
That number is not the same as your color tuple. 
You want to apply your color tuple. 
I am not sure how to do apply the color tuple because PyMOL will take the RGB 
values as list of integers, not as a tuple. 
The returned  tuple is for use in an external program.
The above script converts the tuple into a list of integers that PyMOL can work 
with.
Best regards,

Blaine

Blaine Mooers, Ph.D.
Associate Professor
Department of Biochemistry and Molecular Biology
College of Medicine
University of Oklahoma Health Sciences Center
S.L. Young Biomedical Research Center (BRC) Rm. 466
975 NE 10th Street, BRC 466
Oklahoma City, OK 73104-5419


From: Chen, Qiang [q...@pitt.edu]
Sent: Wednesday, May 20, 2020 7:50 PM
To: pymol-users@lists.sourceforge.net
Subject: [EXTERNAL] [PyMOL] Consistent coloring between sticks of sidechains 
and cartoon backbones in spectrum coloring

Hi, Pymol-users

I have my protein shown as cartoon and colored with spectrum. Now I would like 
to show several residues at different places with sticks representation. when I 
tried, I can not get the color consistent between the backbone CA and the 
carbons on the sidechain.

I searched the archives, and tried something like this.

col=[]
iterate resi 10+20+30 and name ca, 
col.append((chain,resi,name,cmd.get_color_tuple(color)))
cmd.color(col,"all")
util.cnc("all")

The first two lines will get me a color_tuple of the selected residues (CA)
The third line will color all atoms as the same color of CA.
The fourth line will color all none carbon atoms with the default colors.

However, this does not work as I thought.

Would anyone point out what mistakes I made here? Or any other solution to get 
the consistence between CA and the sidechain?

Your help is high appreciated!

Thanks!

Charles


___
PyMOL-users mailing list
Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net
Unsubscribe: 
https://sourceforge.net/projects/pymol/lists/pymol-users/unsubscribe


Re: [PyMOL] Consistent coloring between sticks of sidechains and cartoon backbones in spectrum coloring

2020-05-21 Thread Chen, Qiang
Thanks, Prof. Mooers.

I tried your script. It did not report any error. but the selected residues are 
colored as the default, green for carbon.

Then I figured out I made things complicated.

I created a new object (cnsp) for the cartoon representation colored with 
spectrum.

Then I selected residues with chain A and resi 10+20+30, and showed them as 
sticks. I guess, the color info of CAs from the spectrum is missing at this 
step.

If I selected the residues with cnsp and chain A and resi 10+20+30, then showed 
them with sticks, the color of sidechain is matching with CA color in the 
spectrum.

All I need is just util.cnc.

The working script is like the following

select cnsp, chain A
spectrum count, magenta_cyan, cnsp, byres=1
select sre, cnsp and resi 10+20+30
show sticks, sre,
util.cnc sre

Charles

From: Mooers, Blaine H.M. (HSC) 
Sent: Thursday, May 21, 2020 9:19 AM
To: Chen, Qiang ; pymol-users@lists.sourceforge.net 

Subject: RE: Consistent coloring between sticks of sidechains and cartoon 
backbones in spectrum coloring

Hi Charles,

This pml script does want you want,

# Color the carvons atoms of the sidechain the same as the color of the CA atom
col=[]
#  edit resi here
iterate resi 10+20+30 and name ca, 
col.append((chain,resi,name,cmd.get_color_tuple(color)))
# Define the colors ca10, ca20, and ca40
[cmd.set_color('ca'+co[1],list(co[3]) ) for co in col]
# >>Edit color names here
colorList =['ca10','ca20','ca30']
# Check this list
[print(cmd.get_color_tuple(co)) for co in colorList]
#make a list of residues
resList = [co[1] for co in col]
# Check the list
print(resList)
# Now zip the list of colors and the list of residues
pairs = list(zip(colorList,resList))
# Check the list of lists
print(pairs)
# Check the atom selection syntax
[print('resi ' + str(pairs[i][1]) + ' and (sidechain and name c*)') for i in 
range(0,len(pairs))]
# Apply the pairs after defining the indices
[cmd.color(pairs[i][0], 'resi ' + str(pairs[i][1]) + ' and (sidechain and name 
c*)') for i in range(0,len(pairs))]

The print statements are sanity checks.
You can delete them and the comments if you want a more concise script.

You can also copy and paste this compound command onto the command line to get 
the get effect.
You the up arrow key to get back the command and edit the list of residues and 
the colorList.

col=[];iterate resi 10+20+30 and name ca, 
col.append((chain,resi,name,cmd.get_color_tuple(color)));colorList 
=['ca10','ca20','ca30'];resList = [co[1] for co in col];pairs = 
list(zip(colorList,resList));[cmd.color(pairs[i][0], 'resi ' + str(pairs[i][1]) 
+ ' and (sidechain and name c*)') for i in range(0,len(pairs))]

When you enter help color, you will see that the first argument of color is the 
color, which is a string.
That string is a name or number. The number is an integer that is internally 
mapped to a color name.
You can see these by entering the following: print(cmd.get_color_indices()).

Your col object is a list of tuples.
This is not of the data type that the color command expects.
The third line of your code returns an error because col is a list of tuples 
and not a string.
That number is not the same as your color tuple.
You want to apply your color tuple.
I am not sure how to do apply the color tuple because PyMOL will take the RGB 
values as list of integers, not as a tuple.
The returned  tuple is for use in an external program.
The above script converts the tuple into a list of integers that PyMOL can work 
with.
Best regards,

Blaine

Blaine Mooers, Ph.D.
Associate Professor
Department of Biochemistry and Molecular Biology
College of Medicine
University of Oklahoma Health Sciences Center
S.L. Young Biomedical Research Center (BRC) Rm. 466
975 NE 10th Street, BRC 466
Oklahoma City, OK 73104-5419


From: Chen, Qiang [q...@pitt.edu]
Sent: Wednesday, May 20, 2020 7:50 PM
To: pymol-users@lists.sourceforge.net
Subject: [EXTERNAL] [PyMOL] Consistent coloring between sticks of sidechains 
and cartoon backbones in spectrum coloring

Hi, Pymol-users

I have my protein shown as cartoon and colored with spectrum. Now I would like 
to show several residues at different places with sticks representation. when I 
tried, I can not get the color consistent between the backbone CA and the 
carbons on the sidechain.

I searched the archives, and tried something like this.

col=[]
iterate resi 10+20+30 and name ca, 
col.append((chain,resi,name,cmd.get_color_tuple(color)))
cmd.color(col,"all")
util.cnc("all")

The first two lines will get me a color_tuple of the selected residues (CA)
The third line will color all atoms as the same color of CA.
The fourth line will color all none carbon atoms with the default colors.

However, this does not work as I thought.

Would anyone point out what mistakes I made here? Or any other solution to get 
the consistence between CA and the sidechain?

Your help is high appreciated!

Thanks!


[PyMOL] tertiary structure/protein folding

2020-05-21 Thread Grace Ciabattoni
Hello,
I am trying to model my protein of interest using the builder function in
version 2.3. Is there a way to induce protein folding to properly mimic
tertiary structure, or is secondary structure the highest manipulatable
level of protein order in PyMol?
Thank you,
Grace
___
PyMOL-users mailing list
Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net
Unsubscribe: 
https://sourceforge.net/projects/pymol/lists/pymol-users/unsubscribe

Re: [PyMOL] Consistent coloring between sticks of sidechains and cartoon backbones in spectrum coloring

2020-05-21 Thread Chen, Qiang
I tried that.
that is actually how I found this is a way to color them according the CA color 
assigned in the spectrum.

Charles


From: Olson, Linda 
Sent: Thursday, May 21, 2020 12:24 PM
To: Chen, Qiang 
Subject: Re: Consistent coloring between sticks of sidechains and cartoon 
backbones in spectrum coloring

Have you tried going to the first option under the color by menu which colors c 
alpha by whatever they are asigned?

Linda Olson, PhD
Assistant Professor/
x-Ray Facility Manager
Dept. Biochemistry
Medical College of Wisconsin
8701 Watertown Plank Rd
Milwaukee, WI 53226

phone 414-955-8545
fax  414-456-6510

From: Chen, Qiang 
Sent: Thursday, May 21, 2020 10:20:11 AM
To: Mooers, Blaine H.M. (HSC) ; 
pymol-users@lists.sourceforge.net 
Subject: Re: [PyMOL] Consistent coloring between sticks of sidechains and 
cartoon backbones in spectrum coloring

ATTENTION: This email originated from a sender outside of MCW. Use caution when 
clicking on links or opening attachments.

Thanks, Prof. Mooers.

I tried your script. It did not report any error. but the selected residues are 
colored as the default, green for carbon.

Then I figured out I made things complicated.

I created a new object (cnsp) for the cartoon representation colored with 
spectrum.

Then I selected residues with chain A and resi 10+20+30, and showed them as 
sticks. I guess, the color info of CAs from the spectrum is missing at this 
step.

If I selected the residues with cnsp and chain A and resi 10+20+30, then showed 
them with sticks, the color of sidechain is matching with CA color in the 
spectrum.

All I need is just util.cnc.

The working script is like the following

select cnsp, chain A
spectrum count, magenta_cyan, cnsp, byres=1
select sre, cnsp and resi 10+20+30
show sticks, sre,
util.cnc sre

Charles

From: Mooers, Blaine H.M. (HSC) 
Sent: Thursday, May 21, 2020 9:19 AM
To: Chen, Qiang ; pymol-users@lists.sourceforge.net 

Subject: RE: Consistent coloring between sticks of sidechains and cartoon 
backbones in spectrum coloring

Hi Charles,

This pml script does want you want,

# Color the carvons atoms of the sidechain the same as the color of the CA atom
col=[]
#  edit resi here
iterate resi 10+20+30 and name ca, 
col.append((chain,resi,name,cmd.get_color_tuple(color)))
# Define the colors ca10, ca20, and ca40
[cmd.set_color('ca'+co[1],list(co[3]) ) for co in col]
# >>Edit color names here
colorList =['ca10','ca20','ca30']
# Check this list
[print(cmd.get_color_tuple(co)) for co in colorList]
#make a list of residues
resList = [co[1] for co in col]
# Check the list
print(resList)
# Now zip the list of colors and the list of residues
pairs = list(zip(colorList,resList))
# Check the list of lists
print(pairs)
# Check the atom selection syntax
[print('resi ' + str(pairs[i][1]) + ' and (sidechain and name c*)') for i in 
range(0,len(pairs))]
# Apply the pairs after defining the indices
[cmd.color(pairs[i][0], 'resi ' + str(pairs[i][1]) + ' and (sidechain and name 
c*)') for i in range(0,len(pairs))]

The print statements are sanity checks.
You can delete them and the comments if you want a more concise script.

You can also copy and paste this compound command onto the command line to get 
the get effect.
You the up arrow key to get back the command and edit the list of residues and 
the colorList.

col=[];iterate resi 10+20+30 and name ca, 
col.append((chain,resi,name,cmd.get_color_tuple(color)));colorList 
=['ca10','ca20','ca30'];resList = [co[1] for co in col];pairs = 
list(zip(colorList,resList));[cmd.color(pairs[i][0], 'resi ' + str(pairs[i][1]) 
+ ' and (sidechain and name c*)') for i in range(0,len(pairs))]

When you enter help color, you will see that the first argument of color is the 
color, which is a string.
That string is a name or number. The number is an integer that is internally 
mapped to a color name.
You can see these by entering the following: print(cmd.get_color_indices()).

Your col object is a list of tuples.
This is not of the data type that the color command expects.
The third line of your code returns an error because col is a list of tuples 
and not a string.
That number is not the same as your color tuple.
You want to apply your color tuple.
I am not sure how to do apply the color tuple because PyMOL will take the RGB 
values as list of integers, not as a tuple.
The returned  tuple is for use in an external program.
The above script converts the tuple into a list of integers that PyMOL can work 
with.
Best regards,

Blaine

Blaine Mooers, Ph.D.
Associate Professor
Department of Biochemistry and Molecular Biology
College of Medicine
University of Oklahoma Health Sciences Center
S.L. Young Biomedical Research Center (BRC) Rm. 466
975 NE 10th Street, BRC 466
Oklahoma City, OK 73104-5419


From: Chen, Qiang [q...@pitt.edu]
Sent:

Re: [PyMOL] [EXTERNAL] How to compute the interface surface between ligand and protein?

2020-05-21 Thread Thomas Holder
Hi Thomas and Blaine,

SASA is probably the correct feature to evaluate here, not molecular surface. 
Of course it may depend the actual goal of this exercise, but typically when 
talking about interface surface, you're putting that into context with binding 
energy or solvation effects, and only SASA is meaningful for that as far as I 
know.

The difference between SASA and molecular surface is a matter of size and 
shape. For a very uneven shape (lots of small pockets or protuberances), going 
from molecular surface to SASA will flatten the surface, which can result in a 
smaller area, even though the volume is increased.

You may be interested to check out PISA for this task, it's the tool the PDB 
uses to determine biological assemblies: https://www.ebi.ac.uk/pdbe/pisa/

PyMOL's and PISA's results should be similar, but PyMOL is probably easier to 
handle :-)

Cheers,
  Thomas


> On May 21, 2020, at 4:37 AM, Mooers, Blaine H.M. (HSC) 
>  wrote:
> 
> Hi Thomas,
> 
> If you display the SASA of the protein in PyMOL's viewport, 
> you will see that it and that of the ligand have huge overlaps
> How do you define the interface in such a situation and how 
> do you interpret it? 
> 
> The interface of the molecular surfaces seems easier to interpret. 
> 
> Best regards,
> 
> Blaine
> 
> Blaine Mooers, Ph.D.
> Associate Professor
> Department of Biochemistry and Molecular Biology
> College of Medicine
> University of Oklahoma Health Sciences Center
> S.L. Young Biomedical Research Center (BRC) Rm. 466
> 975 NE 10th Street, BRC 466
> Oklahoma City, OK 73104-5419
> 
> 
> From: Thomas Evangelidis [teva...@gmail.com]
> Sent: Wednesday, May 20, 2020 9:14 AM
> To: pymol mailinglist
> Subject: [EXTERNAL] [PyMOL] How to compute the interface surface between 
> ligand and protein?
> 
> Greetings,
> 
> I want to compute the interface surface between the ligand and the protein in 
> batch mode for hundreds of thousands of PDBs, like the attached one 
> (sample.pdb). I am interested in the interface surface of both of them. First 
> I create two new molecules, the protein, and the ligand, and I work with them 
> because the results I get when working with the original molecule (which 
> contains both protein and ligand) are different.
> 
> load sample.pdb
> create protein, polymer
> create ligand, resn LIG
> delete sample
> 
> select prot_interface, protein within 3.5 of ligand;
> set dot_solvent, 0;
> get_area prot_interface;
> set dot_solvent, 1;
> get_area prot_interface;
> 
> select lig_interface, ligand within 3.5 of protein;
> set dot_solvent, 0;
> get_area lig_interface;
> set dot_solvent, 1;
> get_area lig_interface;
> 
> protein interface molecular surface = 1216.239 Angstroms^2
> protein interface SASA = 763.095 Angstroms^2
> ligand interface molecular surface = 748.867 Angstroms^2
> ligand interface SASA = 977.608 Angstroms^2
> 
> I still don't understand why the interface molecular surface of the ligand is 
> smaller than the interface SASA, while the opposite happens with the protein. 
> Could someone please explain this to me and verify that I am computing the 
> interface surfaces correctly?
> 
> I thank you in advance.
> Thomas
> 
> 
> 
> --
> 
> ==
> 
> Dr. Thomas Evangelidis
> 
> Research Scientist

--
Thomas Holder
PyMOL Principal Developer
Schrödinger, Inc.



___
PyMOL-users mailing list
Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net
Unsubscribe: 
https://sourceforge.net/projects/pymol/lists/pymol-users/unsubscribe

Re: [PyMOL] tertiary structure/protein folding

2020-05-21 Thread Tamas Hegedus

Hi,

Predicting tertiary structure with high accuracy is the holy grail...
I can suggest to perform homology modeling. See Modeller.
If your target is small, you can use molecular dynamics (w replica 
exchange).


Tamas

On 2020. 05. 21. 18:49, Grace Ciabattoni wrote:

Hello,
I am trying to model my protein of interest using the builder function 
in version 2.3. Is there a way to induce protein folding to properly 
mimic tertiary structure, or is secondary structure the highest 
manipulatable level of protein order in PyMol?

Thank you,
Grace


___
PyMOL-users mailing list
Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net
Unsubscribe: 
https://sourceforge.net/projects/pymol/lists/pymol-users/unsubscribe



--
This email has been checked for viruses by AVG.
https://www.avg.com
___
PyMOL-users mailing list
Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net
Unsubscribe: 
https://sourceforge.net/projects/pymol/lists/pymol-users/unsubscribe

Re: [PyMOL] tertiary structure/protein folding

2020-05-21 Thread KurtYilmaz, Nese
Hi Grace,
You may want to use a protein homology modeling software for more advanced 
structure building, such as Modeller.
https://salilab.org/modeller/

Nese


From: Grace Ciabattoni 
Sent: Thursday, May 21, 2020 12:49 PM
To: pymol-users@lists.sourceforge.net 
Subject: [PyMOL] tertiary structure/protein folding

Hello,
I am trying to model my protein of interest using the builder function in 
version 2.3. Is there a way to induce protein folding to properly mimic 
tertiary structure, or is secondary structure the highest manipulatable level 
of protein order in PyMol?
Thank you,
Grace
___
PyMOL-users mailing list
Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net
Unsubscribe: 
https://sourceforge.net/projects/pymol/lists/pymol-users/unsubscribe

Re: [PyMOL] [EXTERNAL] How to compute the interface surface between ligand and protein?

2020-05-21 Thread Thomas Evangelidis
So, Thomas, you don't see anything wrong in the way I compute the surfaces?
The numbers should be like that, right?

The reason I need both the molecular surface and the SASA in not directly
related to a physical quantity. I do SQM scoring of compounds bound to
proteins, but the bulkier molecules, which are usually non-binders, tend to
yield lower interaction free energies. Thus, I thought to try these two
surface types of both the protein and the ligand as descriptors in a
machine learning-based attempt to balance these differences and improve
the scoring. It remains to be seen in practice which of these two types
(molecular surface or SASA) are more useful for my purpose. I also use
other molecular descriptors, but I don't want to elaborate on this because
it's out of topic.

Best,
Thomas


On Thu, 21 May 2020 at 21:57, Thomas Holder 
wrote:

> Hi Thomas and Blaine,
>
> SASA is probably the correct feature to evaluate here, not molecular
> surface. Of course it may depend the actual goal of this exercise, but
> typically when talking about interface surface, you're putting that into
> context with binding energy or solvation effects, and only SASA is
> meaningful for that as far as I know.
>
> The difference between SASA and molecular surface is a matter of size and
> shape. For a very uneven shape (lots of small pockets or protuberances),
> going from molecular surface to SASA will flatten the surface, which can
> result in a smaller area, even though the volume is increased.
>
> You may be interested to check out PISA for this task, it's the tool the
> PDB uses to determine biological assemblies:
> https://www.ebi.ac.uk/pdbe/pisa/
>
> PyMOL's and PISA's results should be similar, but PyMOL is probably easier
> to handle :-)
>
> Cheers,
>   Thomas
>
>
> > On May 21, 2020, at 4:37 AM, Mooers, Blaine H.M. (HSC) <
> blaine-moo...@ouhsc.edu> wrote:
> >
> > Hi Thomas,
> >
> > If you display the SASA of the protein in PyMOL's viewport,
> > you will see that it and that of the ligand have huge overlaps
> > How do you define the interface in such a situation and how
> > do you interpret it?
> >
> > The interface of the molecular surfaces seems easier to interpret.
> >
> > Best regards,
> >
> > Blaine
> >
> > Blaine Mooers, Ph.D.
> > Associate Professor
> > Department of Biochemistry and Molecular Biology
> > College of Medicine
> > University of Oklahoma Health Sciences Center
> > S.L. Young Biomedical Research Center (BRC) Rm. 466
> > 975 NE 10th Street, BRC 466
> > Oklahoma City, OK 73104-5419
> >
> > 
> > From: Thomas Evangelidis [teva...@gmail.com]
> > Sent: Wednesday, May 20, 2020 9:14 AM
> > To: pymol mailinglist
> > Subject: [EXTERNAL] [PyMOL] How to compute the interface surface between
> ligand and protein?
> >
> > Greetings,
> >
> > I want to compute the interface surface between the ligand and the
> protein in batch mode for hundreds of thousands of PDBs, like the attached
> one (sample.pdb). I am interested in the interface surface of both of them.
> First I create two new molecules, the protein, and the ligand, and I work
> with them because the results I get when working with the original molecule
> (which contains both protein and ligand) are different.
> >
> > load sample.pdb
> > create protein, polymer
> > create ligand, resn LIG
> > delete sample
> >
> > select prot_interface, protein within 3.5 of ligand;
> > set dot_solvent, 0;
> > get_area prot_interface;
> > set dot_solvent, 1;
> > get_area prot_interface;
> >
> > select lig_interface, ligand within 3.5 of protein;
> > set dot_solvent, 0;
> > get_area lig_interface;
> > set dot_solvent, 1;
> > get_area lig_interface;
> >
> > protein interface molecular surface = 1216.239 Angstroms^2
> > protein interface SASA = 763.095 Angstroms^2
> > ligand interface molecular surface = 748.867 Angstroms^2
> > ligand interface SASA = 977.608 Angstroms^2
> >
> > I still don't understand why the interface molecular surface of the
> ligand is smaller than the interface SASA, while the opposite happens with
> the protein. Could someone please explain this to me and verify that I am
> computing the interface surfaces correctly?
> >
> > I thank you in advance.
> > Thomas
> >
> >
> >
> > --
> >
> > ==
> >
> > Dr. Thomas Evangelidis
> >
> > Research Scientist
>
> --
> Thomas Holder
> PyMOL Principal Developer
> Schrödinger, Inc.
>
>

-- 

==

Dr. Thomas Evangelidis

Research Scientist

IOCB - Institute of Organic Chemistry and Biochemistry of the Czech Academy
of Sciences , Prague,
Czech Republic
  &
CEITEC - Central European Institute of Technology
, Brno,
Czech Republic

email: teva...@gmail.com, Twitter: tevangelidis
, LinkedIn: Thomas Evangelidis


Re: [PyMOL] [EXTERNAL] How to compute the interface surface between ligand and protein?

2020-05-21 Thread Thomas Holder
Yes correct, the numbers should be like that. I don't see anything wrong with 
your approach.

Thanks for the background info. Maybe you can give us an update once the study 
is over, sounds interesting!

Cheers,
  Thomas



> On May 22, 2020, at 12:41 AM, Thomas Evangelidis  wrote:
> 
> So, Thomas, you don't see anything wrong in the way I compute the surfaces? 
> The numbers should be like that, right?
> 
> The reason I need both the molecular surface and the SASA in not directly 
> related to a physical quantity. I do SQM scoring of compounds bound to 
> proteins, but the bulkier molecules, which are usually non-binders, tend to 
> yield lower interaction free energies. Thus, I thought to try these two 
> surface types of both the protein and the ligand as descriptors in a machine 
> learning-based attempt to balance these differences and improve the scoring. 
> It remains to be seen in practice which of these two types (molecular surface 
> or SASA) are more useful for my purpose. I also use other molecular 
> descriptors, but I don't want to elaborate on this because it's out of topic.
> 
> Best,
> Thomas
> 
> 
> On Thu, 21 May 2020 at 21:57, Thomas Holder  
> wrote:
> Hi Thomas and Blaine,
> 
> SASA is probably the correct feature to evaluate here, not molecular surface. 
> Of course it may depend the actual goal of this exercise, but typically when 
> talking about interface surface, you're putting that into context with 
> binding energy or solvation effects, and only SASA is meaningful for that as 
> far as I know.
> 
> The difference between SASA and molecular surface is a matter of size and 
> shape. For a very uneven shape (lots of small pockets or protuberances), 
> going from molecular surface to SASA will flatten the surface, which can 
> result in a smaller area, even though the volume is increased.
> 
> You may be interested to check out PISA for this task, it's the tool the PDB 
> uses to determine biological assemblies: https://www.ebi.ac.uk/pdbe/pisa/
> 
> PyMOL's and PISA's results should be similar, but PyMOL is probably easier to 
> handle :-)
> 
> Cheers,
>   Thomas
> 
> 
> > On May 21, 2020, at 4:37 AM, Mooers, Blaine H.M. (HSC) 
> >  wrote:
> > 
> > Hi Thomas,
> > 
> > If you display the SASA of the protein in PyMOL's viewport, 
> > you will see that it and that of the ligand have huge overlaps
> > How do you define the interface in such a situation and how 
> > do you interpret it? 
> > 
> > The interface of the molecular surfaces seems easier to interpret. 
> > 
> > Best regards,
> > 
> > Blaine
> > 
> > Blaine Mooers, Ph.D.
> > Associate Professor
> > Department of Biochemistry and Molecular Biology
> > College of Medicine
> > University of Oklahoma Health Sciences Center
> > S.L. Young Biomedical Research Center (BRC) Rm. 466
> > 975 NE 10th Street, BRC 466
> > Oklahoma City, OK 73104-5419
> > 
> > 
> > From: Thomas Evangelidis [teva...@gmail.com]
> > Sent: Wednesday, May 20, 2020 9:14 AM
> > To: pymol mailinglist
> > Subject: [EXTERNAL] [PyMOL] How to compute the interface surface between 
> > ligand and protein?
> > 
> > Greetings,
> > 
> > I want to compute the interface surface between the ligand and the protein 
> > in batch mode for hundreds of thousands of PDBs, like the attached one 
> > (sample.pdb). I am interested in the interface surface of both of them. 
> > First I create two new molecules, the protein, and the ligand, and I work 
> > with them because the results I get when working with the original molecule 
> > (which contains both protein and ligand) are different.
> > 
> > load sample.pdb
> > create protein, polymer
> > create ligand, resn LIG
> > delete sample
> > 
> > select prot_interface, protein within 3.5 of ligand;
> > set dot_solvent, 0;
> > get_area prot_interface;
> > set dot_solvent, 1;
> > get_area prot_interface;
> > 
> > select lig_interface, ligand within 3.5 of protein;
> > set dot_solvent, 0;
> > get_area lig_interface;
> > set dot_solvent, 1;
> > get_area lig_interface;
> > 
> > protein interface molecular surface = 1216.239 Angstroms^2
> > protein interface SASA = 763.095 Angstroms^2
> > ligand interface molecular surface = 748.867 Angstroms^2
> > ligand interface SASA = 977.608 Angstroms^2
> > 
> > I still don't understand why the interface molecular surface of the ligand 
> > is smaller than the interface SASA, while the opposite happens with the 
> > protein. Could someone please explain this to me and verify that I am 
> > computing the interface surfaces correctly?
> > 
> > I thank you in advance.
> > Thomas
> > 
> > 
> > 
> > --
> > 
> > ==
> > 
> > Dr. Thomas Evangelidis
> > 
> > Research Scientist
> 
> --
> Thomas Holder
> PyMOL Principal Developer
> Schrödinger, Inc.
> 
> 
> 
> -- 
> ==
> Dr. Thomas Evangelidis
> Research Scientist
> IOCB - Institute of Orga