Public Types | Public Member Functions | Private Attributes | List of all members
protocols::design_opt::Supercharge Class Reference

Adds charged residues to a protein surface. More...

#include <Supercharge.hh>

Inheritance diagram for protocols::design_opt::Supercharge:
Inheritance graph

Public Types

using SizeSet = std::set< core::Size >
- Public Types inherited from protocols::moves::Mover
typedef utility::tag::TagCOP TagCOP
typedef core::pose::Pose Pose
typedef core::pose::PoseCOP PoseCOP
typedef std::list< std::string > Strings

Public Member Functions

 Supercharge ()=default
 ~Supercharge () override=default
void AvNAPSA_positive (bool s)
void AvNAPSA_negative (bool s)
void target_net_charge_active (bool s)
void target_net_charge (int s)
void surface_atom_cutoff (core::Size s)
void surface_residue_cutoff (core::Size s)
void include_arg (bool s)
void include_lys (bool s)
void include_asp (bool s)
void include_glu (bool s)
void refweight_arg (core::Real s)
void refweight_lys (core::Real s)
void refweight_asp (core::Real s)
void refweight_glu (core::Real s)
void dont_mutate_glyprocys (bool s)
void dont_mutate_correct_charge (bool s)
void dont_mutate_hbonded_sidechains (bool s)
void pre_packminpack (bool s)
void local_nstruct (core::Size s)
void compare_residue_energies_all (bool s)
void compare_residue_energies_mut (bool s)
void apply (Pose &pose) override
 Main Method. More...
virtual void AvNAPSA_values (Pose const &pose)
 average number of neighboring atoms per sidechain atom More...
virtual void set_resfile_AvNAPSA (Pose const &pose)
virtual void design_supercharge_AvNAPSA (Pose const &starting_pose, Pose &pose)
virtual void prepack_input_structure (Pose &pose)
void set_surface (Pose const &pose)
void set_resfile (Pose const &pose)
utility::vector1< core::Realset_reference_energies ()
void design_supercharge (Pose const &starting_pose, Pose &pose)
void print_netcharge_and_mutations (Pose const &starting_pose, Pose const &pose)
int get_net_charge (Pose const &pose)
void energy_comparison (Pose &native, Pose &pose)
std::string get_name () const override
 Each derived class must specify its name. The class name. More...
- Public Member Functions inherited from protocols::moves::Mover
 Mover ()
virtual MoverOP create ()
MoverCOP get_self_ptr () const
MoverOP get_self_ptr ()
MoverCAP get_self_weak_ptr () const
MoverAP get_self_weak_ptr ()
 Mover (std::string const &type_name)
 sets the type for a mover; name_ has been removed (2010/05/14) More...
virtual void test_move (Pose &pose)
 : Unit test support function. Apply one move to a given pose. Allows extra test specific functions to be called before applying More...
virtual MoverOP clone () const
 Return a clone of the Mover object. More...
virtual bool reinitialize_for_each_job () const
 Inform the Job Distributor (August '08 vintage) whether this object needs to be freshly regenerated on each use. More...
virtual bool reinitialize_for_new_input () const
 Inform the Job Distributor (August '08 vintage) whether this object needs to be regenerated when the input pose is about to change, (for example, if the Mover has special code on the first apply() that is only valid for that one input pose). More...
virtual MoverOP fresh_instance () const
 Generates a new Mover object freshly created with the default ctor. More...
MoverStatus get_last_move_status () const
 end parser interface, start Job Distributor interface///////////// More...
void reset_status ()
 resets status to SUCCESS, meant to be used before an apply(). The job distributor (august 08 vintage) uses this to ensure non-accumulation of status across apply()s. More...
virtual core::pose::PoseOP get_additional_output ()
 Mechanism by which a mover may return multiple output poses from a single input pose. More...
void set_type (std::string const &setting)
 Set the 'type' string. More...
std::string get_type () const
void type (const std::string &type_in)
 Set the 'type' string. More...
std::string const & type () const
 Get the set 'type' string. More...
virtual void set_input_pose (PoseCOP pose)
 setter for poses contained for rms More...
virtual void set_native_pose (PoseCOP pose)
 setter for native poses contained for rms -— we should get rid of this method? it is widely used, but a bit unsafe More...
PoseCOP get_input_pose () const
PoseCOP get_native_pose () const
virtual void parse_my_tag (TagCOP tag, basic::datacache::DataMap &data)
 Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing. More...
void set_current_job (protocols::jobdist::BasicJobCOP job)
jobdist::BasicJobCOP get_current_job () const
virtual void set_current_tag (std::string const &new_tag)
std::string get_current_tag () const
 A tag is a unique identifier used to identify structures produced by this Mover. get_current_tag() returns the tag, and set_current_tag( std::string tag ) sets the tag. This functionality is not intended for use with the 2008 job distributor. More...
virtual void show (std::ostream &output=std::cout) const
 Outputs details about the Mover, including current settings. More...
virtual core::Real last_proposal_density_ratio ()
virtual void clear_info ()
 Strings container can be used to return miscellaneous info (as std::string) from a mover, such as notes about the results of apply(). The job distributor (Apr 09 vintage) will check this function to see if your protocol wants to add string info to the Job that ran this mover. One way this can be useful is that later, a JobOutputter may include/append this info to an output file. More...
virtual Stringsinfo ()
 non-const accessor More...
virtual Strings const & info () const
 const accessor More...
virtual void provide_citation_info (basic::citation_manager::CitationCollectionList &) const
 Provide citations to the passed CitationCollectionList Subclasses should add the info for themselves and any other classes they use. More...

Private Attributes

bool AvNAPSA_positive_ = false
bool AvNAPSA_negative_ = false
bool target_net_charge_active_ = false
int target_net_charge_ = 0
core::Size surface_atom_cutoff_ = 120
bool surface_atom_cutoff_set_ = false
core::Size surface_residue_cutoff_ = 16
bool include_arg_ = false
bool include_lys_ = false
bool include_asp_ = false
bool include_glu_ = false
core::Real refweight_arg_ = -0.14916
core::Real refweight_lys_ = -0.287374
core::Real refweight_asp_ = -1.28682
core::Real refweight_glu_ = -1.55374
bool dont_mutate_glyprocys_ = true
bool dont_mutate_correct_charge_ = true
bool dont_mutate_hbonded_sidechains_ = true
bool pre_packminpack_ = false
core::Size local_nstruct_ = 1
bool compare_residue_energies_all_ = false
bool compare_residue_energies_mut_ = true
SizeSet surface_res_
std::string outputname_
std::string out_path_
utility::vector1< core::RealAvNAPSA_values_
core::Size largest_mutated_AvNAPSA_
core::scoring::ScoreFunctionOP scorefxn_

Additional Inherited Members

- Static Public Member Functions inherited from protocols::moves::Mover
static std::string name ()
static void register_options ()
 Overload this static method if you access options within the mover. More...
- Protected Member Functions inherited from protocols::moves::Mover
void set_last_move_status (MoverStatus status)
 nonvirtual setter for MoverStatus last_status_. Protected means that only the mover itself will be able to change its own status. The job distributor (august 08 vintage) is aware of status set with this function and will do what the MoverStatus says. More...

Detailed Description

Adds charged residues to a protein surface.

There are two modes for supercharging. The first is called AvNAPSA developed by the David Liu lab at Harvard. In this approach, surface residues are defined by the Average # Neighbor Atoms Per Sidechain Atom (AvNAPSA value), with a cutoff of 150. I think 100 is a safer cutoff. Arg, Lys, Asp, Glu, Asn, Gln are the only residues allowed to mutated. Lys is always chosen for positive, Glu is always chosen for negative, unless the native is Asn, then Asp is chosen. Thus, the sequence is deterministic. If one desires a particular net charge, the residues would be sorted from low to high AvNAPSA value and mutated one at a time until the target charge is achieved - this ignores the ceiling of 150 or 100. The second approach uses the Rosetta score function to guide the surface mutagenesis. The user must specifiy if Arg, Lys, or Asp, Glu are desired, and what the reference weights are. Alternatively, the user can specify a target net charge, and the reference weights of the charged residues will be incremented/decremented until the net charge is reached.

AvNAPSA-mode, target charge

  1. Define surface. sort NQ and RK/DE residues by AvNAPSA value (low to high)
  2. Next residue in sorted list: Positive: mutate DENQ-->K, Negative: mutate RKQ-->E and N-->D
  3. If net charge = target net charge, output pdb

AvNAPSA-mode, no target charge

  1. Define surface by AvNAPSA value (<100 default)
  2. For each NQ and DE/RK residue in the surface: Positive: mutate DENQ-->K, Negative: mutate RKQ-->E and N-->D
  3. Output pdb

Rosetta-mode, target charge

  1. Define surface. Neighbor by distance calculator (CB dist.), <16 neighbors default or Define surface by AvNAPSA value (<100 default)
  2. Set design task read user resfile, if provided dont_mutate gly, pro, cys dont_mutate h-bonded sidechains dont_mutate correct charge residues
  3. Set reference energies for RK/DE, starting at user input values
  4. pack rotamers mover
  5. check net charge, increment/decrement reference energies (back to step 3.)
  6. Once a pack rotamers run results in the correct net charge, output pdb

Rosetta-mode, no target charge

  1. Define surface. Neighbor by distance calculator (CB dist.), <16 neighbors default or Define surface by AvNAPSA value (<100 default)
  2. Set design task read user resfile, if provided dont_mutate gly, pro, cys dont_mutate h-bonded sidechains dont_mutate correct charge residues
  3. Set reference energies for RK/DE, using the user input values
  4. pack rotamers mover
  5. Output pdb

Note: either mode will read a user input resfile, but be sure to use ALLAA as the default, because NATAA default will make the surface residues undesignable. Either mode will make a second resfile with NATAA as default.

CAUTION: Supercharge does it's own output.

Member Typedef Documentation

◆ SizeSet

Constructor & Destructor Documentation

◆ Supercharge()

protocols::design_opt::Supercharge::Supercharge ( )

◆ ~Supercharge()

protocols::design_opt::Supercharge::~Supercharge ( )

Member Function Documentation

◆ apply()

void protocols::design_opt::Supercharge::apply ( Pose )

◆ AvNAPSA_negative()

void protocols::design_opt::Supercharge::AvNAPSA_negative ( bool  s)

References AvNAPSA_negative_.

◆ AvNAPSA_positive()

void protocols::design_opt::Supercharge::AvNAPSA_positive ( bool  s)

References AvNAPSA_positive_.

◆ AvNAPSA_values()

void protocols::design_opt::Supercharge::AvNAPSA_values ( Pose const &  pose)

◆ compare_residue_energies_all()

void protocols::design_opt::Supercharge::compare_residue_energies_all ( bool  s)

◆ compare_residue_energies_mut()

void protocols::design_opt::Supercharge::compare_residue_energies_mut ( bool  s)

◆ design_supercharge()

void protocols::design_opt::Supercharge::design_supercharge ( Pose const &  starting_pose,
Pose pose 

◆ design_supercharge_AvNAPSA()

void protocols::design_opt::Supercharge::design_supercharge_AvNAPSA ( Pose const &  starting_pose,
Pose pose 

◆ dont_mutate_correct_charge()

void protocols::design_opt::Supercharge::dont_mutate_correct_charge ( bool  s)

◆ dont_mutate_glyprocys()

void protocols::design_opt::Supercharge::dont_mutate_glyprocys ( bool  s)

◆ dont_mutate_hbonded_sidechains()

void protocols::design_opt::Supercharge::dont_mutate_hbonded_sidechains ( bool  s)

◆ energy_comparison()

void protocols::design_opt::Supercharge::energy_comparison ( Pose native,
Pose pose 

◆ get_name()

std::string protocols::design_opt::Supercharge::get_name ( ) const

Each derived class must specify its name. The class name.

Implements protocols::moves::Mover.

◆ get_net_charge()

int protocols::design_opt::Supercharge::get_net_charge ( Pose const &  pose)

◆ include_arg()

void protocols::design_opt::Supercharge::include_arg ( bool  s)

References include_arg_.

◆ include_asp()

void protocols::design_opt::Supercharge::include_asp ( bool  s)

References include_asp_.

◆ include_glu()

void protocols::design_opt::Supercharge::include_glu ( bool  s)

References include_glu_.

◆ include_lys()

void protocols::design_opt::Supercharge::include_lys ( bool  s)

References include_lys_.

◆ local_nstruct()

void protocols::design_opt::Supercharge::local_nstruct ( core::Size  s)

References local_nstruct_.

◆ pre_packminpack()

void protocols::design_opt::Supercharge::pre_packminpack ( bool  s)

References pre_packminpack_.

◆ prepack_input_structure()

void protocols::design_opt::Supercharge::prepack_input_structure ( Pose pose)

◆ print_netcharge_and_mutations()

void protocols::design_opt::Supercharge::print_netcharge_and_mutations ( Pose const &  starting_pose,
Pose const &  pose 

◆ refweight_arg()

void protocols::design_opt::Supercharge::refweight_arg ( core::Real  s)

References refweight_arg_.

◆ refweight_asp()

void protocols::design_opt::Supercharge::refweight_asp ( core::Real  s)

References refweight_asp_.

◆ refweight_glu()

void protocols::design_opt::Supercharge::refweight_glu ( core::Real  s)

References refweight_glu_.

◆ refweight_lys()

void protocols::design_opt::Supercharge::refweight_lys ( core::Real  s)

References refweight_lys_.

◆ set_reference_energies()

utility::vector1< Real > protocols::design_opt::Supercharge::set_reference_energies ( )

◆ set_resfile()

void protocols::design_opt::Supercharge::set_resfile ( Pose const &  pose)

◆ set_resfile_AvNAPSA()

void protocols::design_opt::Supercharge::set_resfile_AvNAPSA ( Pose const &  pose)

◆ set_surface()

void protocols::design_opt::Supercharge::set_surface ( Pose const &  pose)

◆ surface_atom_cutoff()

void protocols::design_opt::Supercharge::surface_atom_cutoff ( core::Size  s)

if target_net_charge is specified, the AvNAPSA cutoff is ignored

References surface_atom_cutoff_, and surface_atom_cutoff_set_.

◆ surface_residue_cutoff()

void protocols::design_opt::Supercharge::surface_residue_cutoff ( core::Size  s)

◆ target_net_charge()

void protocols::design_opt::Supercharge::target_net_charge ( int  s)

References target_net_charge_.

◆ target_net_charge_active()

void protocols::design_opt::Supercharge::target_net_charge_active ( bool  s)

Member Data Documentation

◆ AvNAPSA_negative_

bool protocols::design_opt::Supercharge::AvNAPSA_negative_ = false

Referenced by AvNAPSA_negative().

◆ AvNAPSA_positive_

bool protocols::design_opt::Supercharge::AvNAPSA_positive_ = false

Referenced by AvNAPSA_positive().

◆ AvNAPSA_values_

utility::vector1< core::Real > protocols::design_opt::Supercharge::AvNAPSA_values_

◆ compare_residue_energies_all_

bool protocols::design_opt::Supercharge::compare_residue_energies_all_ = false

◆ compare_residue_energies_mut_

bool protocols::design_opt::Supercharge::compare_residue_energies_mut_ = true

◆ dont_mutate_correct_charge_

bool protocols::design_opt::Supercharge::dont_mutate_correct_charge_ = true

◆ dont_mutate_glyprocys_

bool protocols::design_opt::Supercharge::dont_mutate_glyprocys_ = true

Referenced by dont_mutate_glyprocys().

◆ dont_mutate_hbonded_sidechains_

bool protocols::design_opt::Supercharge::dont_mutate_hbonded_sidechains_ = true

◆ include_arg_

bool protocols::design_opt::Supercharge::include_arg_ = false

Referenced by include_arg().

◆ include_asp_

bool protocols::design_opt::Supercharge::include_asp_ = false

Referenced by include_asp().

◆ include_glu_

bool protocols::design_opt::Supercharge::include_glu_ = false

Referenced by include_glu().

◆ include_lys_

bool protocols::design_opt::Supercharge::include_lys_ = false

Referenced by include_lys().

◆ largest_mutated_AvNAPSA_

core::Size protocols::design_opt::Supercharge::largest_mutated_AvNAPSA_

◆ local_nstruct_

core::Size protocols::design_opt::Supercharge::local_nstruct_ = 1

Referenced by local_nstruct().

◆ out_path_

std::string protocols::design_opt::Supercharge::out_path_

◆ outputname_

std::string protocols::design_opt::Supercharge::outputname_

◆ pre_packminpack_

bool protocols::design_opt::Supercharge::pre_packminpack_ = false

Referenced by pre_packminpack().

◆ refweight_arg_

core::Real protocols::design_opt::Supercharge::refweight_arg_ = -0.14916

Referenced by refweight_arg().

◆ refweight_asp_

core::Real protocols::design_opt::Supercharge::refweight_asp_ = -1.28682

Referenced by refweight_asp().

◆ refweight_glu_

core::Real protocols::design_opt::Supercharge::refweight_glu_ = -1.55374

Referenced by refweight_glu().

◆ refweight_lys_

core::Real protocols::design_opt::Supercharge::refweight_lys_ = -0.287374

Referenced by refweight_lys().

◆ scorefxn_

core::scoring::ScoreFunctionOP protocols::design_opt::Supercharge::scorefxn_

◆ surface_atom_cutoff_

core::Size protocols::design_opt::Supercharge::surface_atom_cutoff_ = 120

Referenced by surface_atom_cutoff().

◆ surface_atom_cutoff_set_

bool protocols::design_opt::Supercharge::surface_atom_cutoff_set_ = false

Referenced by surface_atom_cutoff().

◆ surface_res_

SizeSet protocols::design_opt::Supercharge::surface_res_

◆ surface_residue_cutoff_

core::Size protocols::design_opt::Supercharge::surface_residue_cutoff_ = 16

Referenced by surface_residue_cutoff().

◆ target_net_charge_

int protocols::design_opt::Supercharge::target_net_charge_ = 0

Referenced by target_net_charge().

◆ target_net_charge_active_

bool protocols::design_opt::Supercharge::target_net_charge_active_ = false

The documentation for this class was generated from the following files: