Skip to content

Commit 21e435d

Browse files
authored
Merge branch 'main' into documentation
2 parents bc1092e + 540d078 commit 21e435d

File tree

6 files changed

+18
-7
lines changed

6 files changed

+18
-7
lines changed

doc/source/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ RFdiffusion2 addresses these limitations by:
1212

1313
To learn how to run RFdiffusion2 using an [Apptainer](https://apptainer.org/) image, see the [READEME](readme_link.html).
1414

15-
> **NOTE:** The current rendition of RFdiffusion2 makes it particularly useful for enzyme scaffolding, but for many other applications RFdiffusion (the original) will be easier to use and may provide comparable or better results.
15+
> **NOTE:** The current rendition of RFdiffusion2 makes it particularly useful for enzyme scaffolding, but for many other applications RFdiffusion (the original) will be easier to use and may provide comparable or better results.

rf_diffusion/dev/analyze.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
REPO_DIR = os.path.dirname(PKG_DIR)
2222

2323
from rf_diffusion.dev.pymol import cmd
24+
from rf_diffusion.dev.pymol import mass_paper_rainbow_sel
2425

2526
import rf_diffusion.estimate_likelihood as el
2627
from rf_diffusion.inference import utils
@@ -1189,7 +1190,7 @@ def show_paper_pocket(row, des=True, ligand=False):
11891190
#cmd.align(des.name, af2_scaffold.name)
11901191
cmd.align(f'{des.motif_sele()} and name ca', f'{native.motif_sele()} and name ca')
11911192
cmd.show('cartoon', f'{des.name}')
1192-
cmd.do(f'mass_paper_rainbow_sel {des.name}')
1193+
mass_paper_rainbow_sel(des.name)
11931194

11941195
# AF2 sidechains
11951196
cmd.show('licorice', f'({af2.motif_sele()}) and not (name o)')
@@ -1268,7 +1269,7 @@ def show_paper_pocket_af2(row, b=None, des=True, ligand=False, traj_types=None,
12681269
if has_motif:
12691270
cmd.align(f'{des.motif_sele()} and name ca', f'{native.motif_sele()} and name ca')
12701271
cmd.show('cartoon', f'{des.name}')
1271-
cmd.do(f'mass_paper_rainbow_sel {des.name}')
1272+
mass_paper_rainbow_sel(des.name)
12721273

12731274
if show_af2 and has_motif:
12741275
# AF2 sidechains

rf_diffusion/dev/paper_vis.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from rf_diffusion.dev import show_bench
1010
from rf_diffusion.dev import analyze
1111
from rf_diffusion.dev import pymol_atom_colors
12+
from rf_diffusion.dev.pymol import mass_paper_rainbow_sel
1213

1314
cmd = analyze.cmd
1415

@@ -80,7 +81,7 @@ def make_transparent_rainbow(
8081
diffused_transparency = 0.45):
8182
cmd.set('cartoon_transparency', diffused_transparency)
8283
cmd.set('stick_transparency', diffused_transparency, e['sidechains_diffused'])
83-
cmd.do(f'mass_paper_rainbow {e["protein"]}')
84+
mass_paper_rainbow_sel(f'{e["protein"]}')
8485

8586
def show_backbone_cartoon(e):
8687
cmd.show_as('cartoon', f"({e['protein']}) and not (({e['sidechains_motif']}) or ({e['sidechains_diffused']}))")

rf_diffusion/dev/pymol.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def __call__(self, *args, **kw):
2424
raise Exception(f"cmd.{self.name}('{','.join(all_args)})'") from e
2525

2626
def get_cmd(pymol_url='http://localhost:9123'):
27-
cmd = xmlrpclib.ServerProxy(pymol_url)
27+
cmd = xmlrpclib.ServerProxy(pymol_url, allow_none=True)
2828
if not ('ipd' in pymol_url or 'localhost' in pymol_url):
2929
make_network_cmd(cmd)
3030
return cmd
@@ -41,7 +41,14 @@ def init(pymol_url='http://localhost:9123', init_colors=False):
4141

4242
if init_colors:
4343
set_colors()
44+
cmd.set('sphere_scale', 0.3)
4445

46+
def mass_paper_rainbow_sel(name):
47+
"""
48+
Colors the given selection with a pastel gradient according to residue index.
49+
"""
50+
cmd.spectrum("count", "paper_navaho paper_melon paper_pink paper_purple paper_lightblue paper_blue paper_darkblue", name, None, None, 0, 1)
51+
4552
def set_colors():
4653
"""
4754
Creates extra colors in pymol

rf_diffusion/dev/show_bench.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
from rf_diffusion.dev import show_tip_pa
1818
from rf_diffusion.dev import analyze
1919
from rf_diffusion.parsers import parse_pdb_lines_target
20+
from rf_diffusion.dev.pymol import mass_paper_rainbow_sel
2021

2122
logger = logging.getLogger(__name__)
2223

@@ -458,7 +459,7 @@ def format_ppi(all_entities):
458459
continue
459460
e.selectors['target'] = "chain B and not hetatm"
460461
cmd.color('paper_teal', e['target'])
461-
cmd.do(f"mass_paper_rainbow_sel ({e.NOT('target')} and not hetatm)")
462+
mass_paper_rainbow_sel(f"({e.NOT('target')} and not hetatm)")
462463

463464
def pseudoatom(
464465
cmd,

rf_diffusion/dev/show_tip_row.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import functools
66

77
from rf_diffusion.dev import analyze
8+
from rf_diffusion.dev.pymol import mass_paper_rainbow_sel
89
cmd = analyze.cmd
910

1011
class PymolPalette:
@@ -176,7 +177,7 @@ def color_selectors(selectors, carbon=True, verbose=False, des_color=None, hetat
176177
print(f'{color} --> {sel}')
177178
if des_color and j==0:
178179
if des_color == 'rainbow':
179-
cmd.do(f'mass_paper_rainbow_sel {sel}')
180+
mass_paper_rainbow_sel(sel)
180181
else:
181182
cmd.color(des_color, sel)
182183
else:

0 commit comments

Comments
 (0)