Reference navigation
On this page
SetOpacity
Animate transparency on a whole protein or a selected region.
from proteinmotion import SetOpacityConstructor
SetOpacity(target, opacity, *, scope=None, **kwargs)Parameters
| Parameter | Default | Description |
|---|---|---|
target | Required | Protein or Region to style. |
opacity | Required | Opacity in [0, 1], from transparent to opaque. |
scopekeyword only | None | Opacity scope: object for a Protein by default, residues for a Region; explicit residues affects all per-atom opacities of a Protein. |
**kwargs | — | Additional keyword options described below or in the linked constructor. |
Additional keyword arguments
| Parameter | Default | Description |
|---|---|---|
residue_delaykeyword only | 0 | Delay in seconds between successive residue starts. |
delay_secondskeyword only | None | Delay between successive residue, chain, or glyph starts, in seconds. Choose one delay option. |
staggerkeyword only | None | Total fraction of the clip reserved for residue starts, in [0, 1). |
reversekeyword only | False | Reverse residue or glyph order. |
easingkeyword only | 'smooth' | Named easing (smooth, linear, ease_in_out_sine, there_and_back) or callable mapping [0, 1] to [0, 1]. Per-item easing preserves stagger timing. |
Notes
Protein targets change global opacity, matching Protein.set_opacity(). Region targets change per-atom opacity. Use scope=residues for legacy whole-protein per-atom styling and staggered opacity.
Example and output
This excerpt runs inside a scene’s construct() method. The full example file includes imports, structure loading, and camera setup. Run it from a repository checkout.
p = ubiquitin().ball_and_stick()
helix = p.select(residues=(23, 34))
helix.set_color("#50e0d0")
frame(self, p)
self.wait(0.5)
self.play(
SetOpacity(helix, 0.1, residue_delay=0.06),
run_time=2,
)
self.wait(0.7)
self.play(SetOpacity(helix, 1), run_time=1.5)
self.wait(0.5)The selected helix fades and returns.
Methods and properties
| Name | Description |
|---|---|
| bind()method | Capture starting values when the scene schedules the animation. |
| apply()method | Evaluate the animation at eased progress alpha. Called by the timeline. |
| during()method · inherited from Animation | Set this animation duration and start delay in seconds. |
| targetsproperty · inherited from Animation | Objects whose state this animation changes. |
SetOpacity.bind()Capture starting values when the scene schedules the animation.
Returns: None
Called by ProteinScene.play(). An animation instance can be bound once.
SetOpacity.apply(alpha)Evaluate the animation at eased progress alpha. Called by the timeline.
| Parameter | Default | Description |
|---|---|---|
alpha | Required | Eased animation progress in [0, 1]. |
Returns: None
Inherited from animation.Animation.
SetOpacity.during(seconds, *, delay=0)Set this animation duration and start delay in seconds.
| Parameter | Default | Description |
|---|---|---|
seconds | Required | Positive animation duration in seconds. |
delaykeyword only | 0 | Nonnegative animation start delay in seconds. |
Inherited from animation.Animation.
SetOpacity.targetsObjects whose state this animation changes.