CUBY logo
back to Tutorials

Fragmentation tutorial

We'll use script geometry_fragmentation to setup fragmented calculation of tetrapeptide.

Firstly, let's see what the script can do:

geometry_fragmentation -h

Get list of C-C bonds in peptide backbone to break (works only on PDB files with proper naming of atoms). The PDB file used in this example can be downloaded here

geometry_fragmentation -p ile-cys-his-phe.pdb
=>
"5-20, 24-31, 35-48"

Make fragmentation input by breaking these bonds:

geometry_fragmentation -b "5-20, 24-31, 35-48" ile-cys-his-phe.pdb
=>
fragments:
  - 1-19
  - 20-30
  - 31-47
  - 48-70
fragment_charges:
  - 1
  - 0
  - 0
  - -1

The list of charges of the fragments should be checked now, it is only a guess based on the structure, and will fail in most cases but peptides read from PDB files.

Now, we'll use these lists to build the input for the actual calculation (using SCC-DFTB-D method), creating file 'fragmented.yaml' containing:

interface: fragmented
fragment_calculation:
  interface: dftb
fragments:
  - 1-19
  - 20-30
  - 31-47
  - 48-70
fragment_charges:
  - 1
  - 0
  - 0
  - -1

We can now check geometries of the fragments (up to third order, it means monomers, dimers and trimers), using

geometry_fragmentation -g -o 3 fragmented.yaml ile-cys-his-phe.pdb

to create them as .xyz files.

If the geometries are OK, we can run first calculation:

cuby_energy fragmented.yaml ile-cys-his-phe.pdb

Adding point charge representation of the whole system

In following steps, we'll modify the calculation by using point-charge representation of the rest of the system in calculation of each fragment.

This works only with interfaces that support botch atomic charge calculation and interaction of the system with external point charges. The improvement of accuracy brought by this approach is system-dependent and might cause problems in some cases.

To prepare atomic charges for the whole system, we can used fragment-based method (the input must contain instruction how to calculate atomic charges, what is easy in DFTB, because there is no extra setup):

geometry_fragmentation -a fragmented.yaml ile-cys-his-phe.pdb > charges.txt

Now, we update the input file fragmented.yaml, adding keywords for polarized fragmented calculation:

interface: fragmented
polarized: yes
atomic_charges_read: charges.txt
...

and run the final calculation:

cuby_energy fragmented.yaml ile-cys-his-phe.pdb