[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