[buster-discuss] defining different NCS relations for Buster
BUSTER Developers
buster-develop at globalphasing.com
Tue Sep 30 14:45:51 CEST 2025
Dear Robert,
Maybe the easiest is to run aB_autorefine with all defaults and see
what NCS-related commands are being used throughout the various BUSTER
refinement stages. In general, we recommend the use of regular LSSR
based NCS-restraints without any manual adjustment: this should take
care of any significant differences between chains.
However, if you really want to do this manually see below.
On Thu, Sep 25, 2025 at 06:01:32PM +0000, Robert Oeffner via buster-discuss wrote:
> Hi,
>
> I am trying to learn how to define explicit NCS relations for a model that I want to refine with buster. I am testing this on a model with 3 chains (pdb id: 2X8K). So I defined a gelly input file with contents like:
>
> NOTE BUSTER_SET MyNCSRef = { A|9 - A|122 A|124 - A|210 A|213 - A|214 A|217 - A|217 A|219 - A|222 A|227 - A|253 }
>
> NOTE BUSTER_SET MyNCSEq1 = { B|9 - B|122 B|124 - B|210 B|213 - B|214 B|217 - B|217 B|219 - B|222 B|225 - B|253 }
> NOTE BUSTER_SET MyNCSEq2 = { C|9 - C|122 C|126 - C|210 C|213 - C|214 C|218 - C|220 C|230 - C|251 }
>
> NOTE BUSTER_SET allNCSEq = MyNCSEq1 + MyNCSEq2
> NOTE BUSTER_SIM_DEFINE MyNCSdef MyNCSRef allNCSEq
>
> The idea is that I would like to define NCS relations between chain A and B but slightly different relations between chain A and C which is why the set MyNCSEq2 spans fewer residues than MyNCSEq1. When then I run buster with the command line
>
> refine -m ../2X8K.mtz -p ../2X8K.pdb -d NCSoutput ColumnName_FreeR_flag_allowed=' I FreeR| I FREE| I R-free-flags' -Gelly ../gelly2.ncs
>
> it exits with an error telling me that I am doing something wrong. The bottom of gelly_sanity_test.log contains the following:
>
> Have found 1 'NOTE BUSTER_SIM_DEFINE' cards
> Maximum number of chains involved in any SIM group (excluding the template)= 1
>
>
> ########## Interpreting card: NOTE BUSTER_SIM_DEFINE MyNCSdef MyNCSRef allNCSEq
> Number of atoms in template set= 1821
> Number of related chains (other than template) in SIM set= 1
> List of chains to be restrained (excluding template)= allN
> *** ERROR in ncs setup cannot find any atoms from chain allN
> *** ERROR found in finding matching atoms for NCS set up
>
> If anyone has a suggestion on what the correct syntax would for defining different NCS relation between a reference chain and two other chains I'd be grateful to know.
The syntax for the NOTE BUSTER_SIM_DEFINE is defined at [1] as
NOTE BUSTER_SIM_DEFINE <Group_name> <Set_specifier> <Related_chain_list> ...
i.e. the the third argument is a list of chain names. Note how the
error message mentions chain "allN" i.e. BUSTER interprets the first
four characters of the third argument as a chain.
To achive what you want you could specify different references e.g.
Write a file, gelly3.ncs, containing the following lines
NOTE BUSTER_SET MyNCSRefAB = { A|9 - A|122 A|124 - A|210 A|213 - A|214 A|217 - A|217 A|219 - A|222 A|225 - A|253 }
NOTE BUSTER_SET MyNCSRefAC = { A|9 - A|122 A|126 - A|210 A|213 - A|214 A|218 - A|220 A|230 - A|251 }
NOTE BUSTER_SIM_DEFINE MyAB MyNCSRefAB B
NOTE BUSTER_SIM_DEFINE MyAC MyNCSRefAC C
NOTE BUSTER_SIM_RESTRAIN_LSSR MyAB
NOTE BUSTER_SIM_RESTRAIN_LSSR MyAC
Then run BUSTER with
refine -m 2x8k.mtz -p 2x8k.pdb -Gelly gelly3.ncs -d B-02 >& B-02.txt &
Does this make sense for what you're trying to do? Does it make a
difference to the default method described above?
Best regards,
ClAuS & Clemens (for BUSTER Developers)
[1] https://www.globalphasing.com/buster/manual/gelly/manual/gelly4.html#DEFINE
More information about the buster-discuss
mailing list