Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
core::sequence::SequenceProfile Class Reference

#include <SequenceProfile.hh>

Inheritance diagram for core::sequence::SequenceProfile:
Inheritance graph
[legend]

Public Member Functions

 SequenceProfile ()
 ctors More...
 
 SequenceProfile (FileName const &fn)
 
 SequenceProfile (utility::vector1< utility::vector1< core::Real > > prof, std::string const &sequence, std::string const &id, Size start=1, bool negative_better=false)
 
SequenceOP clone () const override
 Returns an owning pointer to a new SequenceProfile object, with data that is a deep copy of the information in this object. More...
 
void read_from_file (FileName const &fn) override
 Read an profile matrix from the given filename using the NCBI PSSM format for a position-specific scoring matrix. More...
 
virtual void generate_from_sequence (Sequence const &seq, std::string matrix="BLOSUM62")
 Generate the profile matrix from a sequence and a given substitution matrix. More...
 
void rescale (core::Real factor=1)
 Multiply all profile weights by factor. More...
 
void convert_profile_to_probs (core::Real temp=1.0)
 Use boltzman scaling on a per-residue basis to convert the current profile values to probabilities ( range 0.0-1.0 ) More...
 
void global_auto_rescale ()
 Use linear rescaling (with a fixed zero) to fit the values within the range -1.0 to 1.0. More...
 
void read_from_checkpoint (FileName const &fn, bool negative_better=true)
 Read profile matrix from the given filename using the NNMAKE .checkpoint format. For compatability, negative_better defaults to true. Set manually if necessary. More...
 
void read_from_binary_chk (FileName const &fn)
 Read profile matrix from the given filename in the legacy BLAST binary format. More...
 
utility::vector1
< utility::vector1< Real >
> const & 
profile () const
 Returns the 2D vector1 of Real values representing this profile. More...
 
utility::vector1
< utility::vector1< Real >
> const & 
occurrence_data () const
 Returns the 2D vector1 of Real values of the probabilties of each aa. More...
 
void profile (utility::vector1< utility::vector1< Real > > const &new_profile)
 Sets the 2D vector1 of Real values representing this profile. More...
 
void occurrence_data (utility::vector1< utility::vector1< Real > > const &new_occurrence_data)
 Sets the 2D vector1 of Real values of the probabilties of each aa. More...
 
void insert_char (core::Size pos, char new_char) override
 Inserts a character at the given position. More...
 
void delete_position (core::Size pos) override
 Deletes the given position from the Sequence and shifts everything else back by one. More...
 
std::string type () const override
 
Size width () const
 Returns the number of distinct values at each position in this profile. More...
 
utility::vector1< Real > const & prof_row (Size pos) const
 Returns the vector1 of values at this position. More...
 
utility::vector1< Real > const & probability_row (Size pos) const
 Returns the vector1 of values at this position. More...
 
void prof_row (utility::vector1< Real > const &new_prof_row, core::Size pos)
 Sets the 1D vector1 of Real values representing this profile at pos X. More...
 
void probabilty_row (utility::vector1< Real > const &new_prob_row, core::Size pos)
 
Size size () const
 
bool negative_better () const
 Returns true if negative values are better identities. More...
 
void negative_better (bool negbet)
 Set whether negative identities are better. More...
 
core::Real temp () const
 returns the temperature used in computing profile probabilities More...
 
utility::vector1< std::string > alphabet () const
 Return the alphabet used by this sequence profile. This is an N-dimensional vector1 where N is the width of the profile, and the ith entry of any row in the profile represents the probability of ith character at that row in the sequence. More...
 
void alphabet (utility::vector1< std::string > new_alphabet)
 
bool operator== (SequenceProfile const &other) const
 
- Public Member Functions inherited from core::sequence::Sequence
 Sequence ()
 ctor More...
 
 Sequence (std::string const &seq, std::string const &id, core::Size start=1)
 
 Sequence (core::pose::Pose const &pose)
 
 Sequence (Sequence const &src)
 copy constructor. More...
 
 ~Sequence () override
 dtor More...
 
virtual core::Size length () const
 Returns the number of characters in this object. More...
 
virtual void replace_char (core::Size pos, char new_char)
 
virtual std::string to_string () const
 
void sequence (std::string sequence)
 sets sequence to the given value. More...
 
void id (std::string new_id)
 sets id to the given value. More...
 
void start (core::Size new_start)
 sets starting index to the given value. More...
 
void gap_char (char gap_char)
 sets gap_char to the given value. More...
 
void spacer_positions (utility::vector1< Size > const &spacer_positions)
 sets spacer_positions to the given value. More...
 
core::Size ungapped_length () const
 Returns the number of characters in this object, ignoring gaps. More...
 
core::Size start () const
 Returns the start of this object. More...
 
std::string id () const
 Returns the id of this object. More...
 
char gap_char () const
 Returns the character used to represent a gap for this object. More...
 
utility::vector1< Sizespacer_positions () const
 Returns the spacer positions (chain breaks, e.g., from spaces or commas in original sequence text) More...
 
std::string ungapped_sequence () const
 Returns the string representing this sequence without gaps. More...
 
std::string sequence () const
 Returns the full sequence, which may include gaps. More...
 
Sequenceoperator= (Sequence const &rhs)
 assignment operator. More...
 
bool operator< (const Sequence &s) const
 Returns true if this Sequence object's id is lexicographically less than the given Sequence object's id, returns false otherwise. Uses C++ string < operator to compare this Sequence object's id() to the given Sequence object's id(). More...
 
bool operator== (const Sequence &s) const
 Returns true if the given Sequence object is equal to this Sequence object. Tests for string equality of id(), start(), and sequence(), and returns false if any of these are not equal. More...
 
char operator[] (core::Size pos) const
 Returns the character at the given sequence position. More...
 
char at (core::Size pos) const
 
void insert_gap (core::Size pos)
 Inserts a gap at the given position, where insert_gap( 0 ) inserts the character at the beginning of the sequence, and insert_gap( length() ) inserts the character at the end of the sequence. More...
 
void append_char (char new_char)
 Append a character. More...
 
void append_gap ()
 Append a gap. More...
 
bool is_gap (core::Size pos) const
 Returns true if this position in the sequence represents a gap, returns false otherwise. More...
 
void read_data (std::istream &in)
 Initializes the information in this sequence from the given std::istream. The istream should yield three pieces of information in the following order: More...
 
core::Size resnum (core::Size idx) const
 Returns the index of the given sequence position, which is the position in the sequence minus any gaps that occur earlier in the sequence. For example, if the sequence is —AT, resnum(5) will return 2. Returns 0 for unaligned positions. More...
 

Private Types

typedef std::string string
 
typedef utility::file::FileName FileName
 

Private Member Functions

void scores_to_probs_ (utility::vector1< core::Real > &scores, core::Real kT, bool negative_better=false) const
 converts a vector1 of arbitrary scores to values using Bolztmann averaging at a given kT. Scores should follow the convention that more positive -> better score. If not, set negative_better to true. More...
 
bool check_internals_ () const
 Internal consistency check. Returns true if passed, causes a runtime_assertion failure if not. More...
 

Private Attributes

utility::vector1< std::string > alphabet_
 
utility::vector1
< utility::vector1< Real > > 
profile_
 
utility::vector1
< utility::vector1< Real > > 
occurrence_data_
 
core::Real temp_
 temp used to convert arbitrary scores to/from probabilities More...
 
bool negative_better_
 The orientation of the values. Are negative values better than zero/positive ones? More...
 

Friends

std::ostream & operator<< (std::ostream &out, const SequenceProfile &p)
 Print this SequenceProfile object to the given std::ostream. More...
 

Member Typedef Documentation

typedef utility::file::FileName core::sequence::SequenceProfile::FileName
private
typedef std::string core::sequence::SequenceProfile::string
private

Constructor & Destructor Documentation

core::sequence::SequenceProfile::SequenceProfile ( )
inline

ctors

Referenced by clone().

core::sequence::SequenceProfile::SequenceProfile ( FileName const &  fn)
inline

References read_from_file().

core::sequence::SequenceProfile::SequenceProfile ( utility::vector1< utility::vector1< core::Real > >  prof,
std::string const &  sequence,
std::string const &  id,
Size  start = 1,
bool  negative_better = false 
)
inline

Member Function Documentation

utility::vector1< std::string > core::sequence::SequenceProfile::alphabet ( ) const
inline

Return the alphabet used by this sequence profile. This is an N-dimensional vector1 where N is the width of the profile, and the ith entry of any row in the profile represents the probability of ith character at that row in the sequence.

References alphabet_.

Referenced by protocols::indexed_structure_store::movers::SegmentSequenceProfileMover::to_sequence_profile(), and protocols::indexed_structure_store::movers::SegmentSequenceProfileMover::write_profile().

void core::sequence::SequenceProfile::alphabet ( utility::vector1< std::string >  new_alphabet)
inline

References alphabet_.

bool core::sequence::SequenceProfile::check_internals_ ( ) const
private

Internal consistency check. Returns true if passed, causes a runtime_assertion failure if not.

References alphabet_, core::sequence::Sequence::length(), profile_, and size().

Referenced by width().

SequenceOP core::sequence::SequenceProfile::clone ( ) const
inlineoverridevirtual

Returns an owning pointer to a new SequenceProfile object, with data that is a deep copy of the information in this object.

Reimplemented from core::sequence::Sequence.

References SequenceProfile().

void core::sequence::SequenceProfile::convert_profile_to_probs ( core::Real  temp = 1.0)

Use boltzman scaling on a per-residue basis to convert the current profile values to probabilities ( range 0.0-1.0 )

References negative_better_, prof_row(), profile(), scores_to_probs_(), temp(), and temp_.

void core::sequence::SequenceProfile::delete_position ( core::Size  pos)
overridevirtual

Deletes the given position from the Sequence and shifts everything else back by one.

Reimplemented from core::sequence::Sequence.

References core::sequence::Sequence::delete_position(), core::sequence::Sequence::length(), profile(), and core::sequence::Sequence::start().

Referenced by core::sequence::SequenceCoupling::delete_position().

void core::sequence::SequenceProfile::generate_from_sequence ( Sequence const &  seq,
std::string  matrix = "BLOSUM62" 
)
virtual
void core::sequence::SequenceProfile::global_auto_rescale ( )

Use linear rescaling (with a fixed zero) to fit the values within the range -1.0 to 1.0.

References profile_, and rescale().

void core::sequence::SequenceProfile::insert_char ( core::Size  pos,
char  new_char 
)
overridevirtual
bool core::sequence::SequenceProfile::negative_better ( ) const
inline

Returns true if negative values are better identities.

The "default" use case is for storing log likelihood values where positive is better. If you're using this class to store energy-like values, set negative_better to true.

References negative_better_.

Referenced by read_from_checkpoint().

void core::sequence::SequenceProfile::negative_better ( bool  negbet)
inline

Set whether negative identities are better.

References negative_better_.

utility::vector1< utility::vector1< Real > > const & core::sequence::SequenceProfile::occurrence_data ( ) const

Returns the 2D vector1 of Real values of the probabilties of each aa.

References occurrence_data_.

void core::sequence::SequenceProfile::occurrence_data ( utility::vector1< utility::vector1< Real > > const &  new_occurrence_data)

Sets the 2D vector1 of Real values of the probabilties of each aa.

bool core::sequence::SequenceProfile::operator== ( SequenceProfile const &  other) const
utility::vector1< Real > const & core::sequence::SequenceProfile::probability_row ( Size  pos) const

Returns the vector1 of values at this position.

References occurrence_data_.

Referenced by read_from_file().

void core::sequence::SequenceProfile::probabilty_row ( utility::vector1< Real > const &  new_prob_row,
core::Size  pos 
)

References occurrence_data_.

utility::vector1< Real > const & core::sequence::SequenceProfile::prof_row ( Size  pos) const
void core::sequence::SequenceProfile::prof_row ( utility::vector1< Real > const &  new_prof_row,
core::Size  pos 
)

Sets the 1D vector1 of Real values representing this profile at pos X.

References profile_.

utility::vector1< utility::vector1< Real > > const & core::sequence::SequenceProfile::profile ( ) const
void core::sequence::SequenceProfile::profile ( utility::vector1< utility::vector1< Real > > const &  new_profile)

Sets the 2D vector1 of Real values representing this profile.

void core::sequence::SequenceProfile::read_from_binary_chk ( FileName const &  fn)

Read profile matrix from the given filename in the legacy BLAST binary format.

References core::chemical::aa_from_oneletter_code(), core::conformation::membrane::in, protocols::forge::methods::order(), prof_row(), profile_, and core::sequence::tr().

void core::sequence::SequenceProfile::read_from_checkpoint ( FileName const &  fn,
bool  negative_better = true 
)

Read profile matrix from the given filename using the NNMAKE .checkpoint format. For compatability, negative_better defaults to true. Set manually if necessary.

References protocols::cluster::calibur::aa, core::chemical::aa_from_oneletter_code(), alphabet_, negative_better(), negative_better_, core::chemical::oneletter_code_from_aa(), protocols::forge::methods::order(), prof_row(), profile(), core::sequence::Sequence::sequence(), size(), core::id::to_string(), and core::sequence::tr().

void core::sequence::SequenceProfile::read_from_file ( FileName const &  fn)
overridevirtual
void core::sequence::SequenceProfile::rescale ( core::Real  factor = 1)

Multiply all profile weights by factor.

References negative_better_, profile(), profile_, and core::sequence::tr().

Referenced by global_auto_rescale().

void core::sequence::SequenceProfile::scores_to_probs_ ( utility::vector1< core::Real > &  scores,
core::Real  kT,
bool  negative_better = false 
) const
private

converts a vector1 of arbitrary scores to values using Bolztmann averaging at a given kT. Scores should follow the convention that more positive -> better score. If not, set negative_better to true.

References protocols::hybridization::score.

Referenced by convert_profile_to_probs().

Size core::sequence::SequenceProfile::size ( ) const
inline
core::Real core::sequence::SequenceProfile::temp ( ) const
inline

returns the temperature used in computing profile probabilities

References temp_.

Referenced by convert_profile_to_probs().

std::string core::sequence::SequenceProfile::type ( ) const
inlineoverridevirtual

Reimplemented from core::sequence::Sequence.

Size core::sequence::SequenceProfile::width ( ) const

Returns the number of distinct values at each position in this profile.

References check_internals_(), and profile_.

Referenced by insert_char(), core::sequence::operator<<(), and protocols::indexed_structure_store::movers::SegmentSequenceProfileMover::write_profile().

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out,
const SequenceProfile p 
)
friend

Print this SequenceProfile object to the given std::ostream.

Member Data Documentation

utility::vector1< std::string > core::sequence::SequenceProfile::alphabet_
private
bool core::sequence::SequenceProfile::negative_better_
private

The orientation of the values. Are negative values better than zero/positive ones?

Referenced by convert_profile_to_probs(), generate_from_sequence(), negative_better(), operator==(), read_from_checkpoint(), read_from_file(), and rescale().

utility::vector1< utility::vector1< Real > > core::sequence::SequenceProfile::occurrence_data_
private
utility::vector1< utility::vector1< Real > > core::sequence::SequenceProfile::profile_
private
core::Real core::sequence::SequenceProfile::temp_
private

temp used to convert arbitrary scores to/from probabilities

Referenced by convert_profile_to_probs(), and temp().


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