Protein or nucleic acid (or even bigger complex) is dynamic, not a single steady structure existing in solution or inside the cell. NMR-based structures are calculated using extracted restraints from NMR experiments including distances (NOE, PRE), angles (coupling constants, chemical shifts, RDC) etc. Individual calculated structure is different from the others, in particular the disordered loops or the N/C-terminal tails. Therefore NMR-determined structure is an ensemble often composed of 10-20 structures with same sequences. These 20 structures are not simultaneously displayed in PyMOL. PyMOL by default displays the first one in the PDB file.
Say we have a 10-structure NMR ensemble. The 10 NMR structures in PDB format are saved as individual “models”. An example is shown below. 10 structures are saved in a single PDB file and each structure is defined by MODEL n, ENDMDL (n is 1, 2, 3, … 10) in the PDB file. Therefore 10 “MODEL / ENDMDL” are in one PDB file.
MODEL 1 ATOM 1 N MET 1 35.203 4.901 -12.204 1.00 0.00 N ATOM 2 CA MET 1 36.355 4.075 -11.746 1.00 0.00 C ATOM 3 C MET 1 36.661 4.396 -10.288 1.00 0.00 C ATOM 4 O MET 1 37.805 4.679 -9.931 1.00 0.00 O ..... ..... ..... ATOM 850 HN GLU 56 45.018 -5.055 9.304 1.00 0.00 H ATOM 851 HA GLU 56 47.690 -6.036 8.666 1.00 0.00 H ATOM 852 HB1 GLU 56 47.193 -4.773 11.291 1.00 0.00 H ATOM 853 HB2 GLU 56 46.845 -3.763 9.887 1.00 0.00 H ATOM 854 HG1 GLU 56 49.092 -3.319 10.049 1.00 0.00 H ATOM 855 HG2 GLU 56 49.206 -4.800 9.100 1.00 0.00 H TER ENDMDL MODEL 2 ATOM 1 N MET 1 37.489 4.936 -12.611 1.00 0.00 N ATOM 2 CA MET 1 36.616 4.090 -11.749 1.00 0.00 C ATOM 3 C MET 1 36.925 4.373 -10.283 1.00 0.00 C ATOM 4 O MET 1 38.082 4.562 -9.908 1.00 0.00 O ..... ..... .....
PyMOL screenshot below has 10 GB1 protein structures calculated using Xplor-NIH provided example restraints. They are very similar with each other and PyMOL shows separate colors for each one. By now, they are 10 separate objects and PyMOL can use a command called “join_states” to put all 10 objects (10 PDB files) into one object and save it as a single PDB file.

d
PyMOL>join_states ? Usage: join_states name [, selection [, mode [, zoom [, quiet ]]]] example: join_states ensemble, *, -1 (note: * means all objects in current PyMOL session)

Image above has one new object called “ensemble” generated by “join_states” (see example command above). Now PyMOL only displays the first model from the ensemble. This is same as what we download from RCSB-Protein Data Bank.
What if we want to see all 10 structures in one object?
We can use “all_states” in PyMOL to display all in one time.
PyMOL>set all_states, on on will display for all models off will only display the first model


The 10 models are now shown at the same time. In order to show the differences more strikingly, I turn on “stick” to show the sidechains. The backbone structures are well superimposed but the sidechains are not. An output using “ray” to render shadows is on the right side.
On the contrary to “join_states”, PyMOL has “split_states” to split the NMR ensembles into separate objects (then users save the desired one). The command is provided below.
PyMOL>split_states ?
Usage: split_states object [, first [, last [, prefix ]]]
Alternatively, “set all_states” and “split_states” can be executed in GUI
–> click “Action (A)” –> “state” –> freeze/all states/thaw/split.

All examples were tested using MacOS 10.14, PyMOL 2.3.5
references:
- PyMOL mailing list: Re: [PyMOL] Creation of single nmr-like structure from separate pdb’s
- PyMOLWiKi: join_states