Example 3: BPTI with a Mutated-out Disulfide Bond

Building on Example 2, here we show how to introduce point mutations and how to undo disulfides. Both of these actions are specified in the psfgen task under the mods subdirective:

# Author: Cameron F. Abrams, <cfa22@drexel.edu>
#
# pestifer input script
# 
# Simple build of solvated BPTI 
#
# Notes:
#   - The phospate ion is excluded
#   - All crystal waters are retained
#   - Some selected mutations are performed, showcasing two 
#     shortcode formats
#   - A disulfide is reduced
#   - A five-phase NPT equilibration is used to settle the density
#   - A production tarball is generated: prod_6pti.tgz
#
title: BPTI, no phosphate, some random mutations plus deletion of one disulfide
tasks:
  - fetch:
      sourceID: 6pti
  - psfgen:
      source:
        exclude:
          - resname == 'PO4'
      mods:
        mutations: # showcasing the two shortcode formats
          - A:T11A # threonine to alanine at position 11
          - A:PRO,13,ALA # proline to alanine at position 13
          - A:K15R
          - A:MET,52,LEU
        ssbondsdelete:
          - A_5-A_55
  - validate:
      tests:
        - attribute_test:
            name: point mutation
            selection: protein and chain A and resid 11 and name CA
            attribute: resname
            value: ALA
        - attribute_test:
            name: reduced disulfide
            selection: protein and chain A and resid 5 55
            attribute: name
            value: HG1 # name of proton on sulfur in a cysteine
            value_count: 2 # both cysteines should be reduced
        - connection_test:
            name: reduced disulfide
            selection: protein and chain A and resid 5 55
            connection_type: interresidue
            connection_count: 0
        - residue_test:
            name: phosphate ion excluded
            selection: resname PO4
            measure: residue_count
            value: 0
  - md:
      ensemble: minimize
  - solvate:
  - md:
      ensemble: minimize
  - md:
      ensemble: NVT
  - md:
      ensemble: NPT
      nsteps: 200
  - md:
      ensemble: NPT
      nsteps: 400
  - md:
      ensemble: NPT
      nsteps: 800
  - md:
      ensemble: NPT
      nsteps: 1600
  - md:
      ensemble: NPT
      nsteps: 13200
  - mdplot:
      timeseries:
        - density
        - - a_x
          - b_y
          - c_z
      basename: solvated
      grid: True
  - terminate:
      basename: my_6pti
      artifacts: artifacts
      package:
        basename: prod_6pti
        namd:
          ensemble: NPT
Pipeline task summary

Step

Task

Details

1

fetch

PDB 6PTI

2

psfgen

exclusions, mutations, delete disulfides

3

validate

4 test(s)

4

md

minimize

5

solvate

water box

6

md

minimize → NVT (2,000 steps) → NPT (16,200 steps, 5 phases)

7

mdplot

equilibration time-series plots → mdplots/

8

terminate

basename: my_6pti; package: prod_6pti

First, note the mutations list. Each element specifies one particular point mutation using a shortcode. There are two allowable shortcodes for a point mutation:

  1. CHAIN:OLRCRESIDOLRC

  2. CHAIN:TLRC,RESID,TLRC

CHAIN is the chain ID, OLRC is a one-letter residue code, and RESID is the residue sequence number; TLRC is a three-letter residue code. Note that both formats are showcased here.

Second, note the ssbondsdelete list. Again, a shortcode is used to identify a disulfide to reduce; I think you can see that we are reducing the disulfide between residues 5 and 55.

../../_images/yes_disu.png

BPTI with the 5-55 disulfide intact, showing sidechains for residues T11, P13, K15, and M52.

../../_images/no_disu.png

BPTI with the 5-55 disulfide reduced, and point mutations T11A, P13A, K15R, and M52L.