How to colour multiple residues in Pymol? We can use

color yellow, resi 3
color yellow, resi 3-8


to colour one residue or a range of residues. But what if I want to colour residue 3-8 and 10-20, how to write it?

Also, my protein has two chains, light chain (L) with 100 residues and heavy chain (H) with 100 residues. How to colour the residue 10-20, 30-40 of light chain, and the residue 5-10, 20-30 of heavy chain in one go?
Note: as I don't have any working version of pymol at the moment,
I am not able to test the solution properly.
However, an easy way is to first create a selection, and then to color it:

select toBecolored, resi 3-8
color yellow, toBecolored


Regarding the L/H chain part, if they are effectively annotated as L and H, something like the following should work:

select toBeColored, ((i. 10-20 or i. 30-40) and c. L ) or ((i. 5-10+20-30) and c. H)
color yellow, toBeColored


Combining both commands is probably possible as:

color yellow, ((i. 10-20 or i. 30-40) and c. L ) or ((i. 5-10+20-30) and c. H)


Pymol allows synonyms (eg. resi and i.  or chain and c.).

The following pages may be also helpful:


Pymol wiki: help on Selection
SourceForge


And the two following links, if you want to get a bit deeper in proper programming with python for pymol (as they can provide you with inspiration):


Pymol wiki: plugins
Pymol scripts