Loading...
Searching...
No Matches
NMRStarFile.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
#ifndef BALL_FORMAT_NMRSTARFILE_H
#define BALL_FORMAT_NMRSTARFILE_H
#ifndef BALL_FORMAT_CIFFILE_H
# include <BALL/FORMAT/CIFFile.h>
#endif
#ifndef BALL_KERNEL_PROTEIN_H
# include <BALL/KERNEL/protein.h>
#endif
#ifndef BALL_STRUCTURE_PEPTIDES_H
# include <BALL/STRUCTURE/peptides.h>
#endif
#include <vector>
namespace BALL
{
class BALL_EXPORT NMRStarFile
: public CIFFile
{
public:
// constant variables to denote unknown values
static const float FLOAT_VALUE_NA;
static const int INT_VALUE_NA;
static const Position POSITION_VALUE_NA;
class BALL_EXPORT SampleCondition
{
public:
SampleCondition();
// saveframe name -- referenced in the sample_condition_label
// of the saveframe "assigned_chemical_shifts"
String name;
// Accoring to the NMRStarFile 2.1 documentation
// the first entry MUST BE "_Variable_type".
// This is why we are allowed to map per type :-)
vector<String> types;
StringHashMap<float> values;
StringHashMap<float> errors;
StringHashMap<String> units;
bool hasType(String type) {return values.has(type);}
std::ostream& operator >> (std::ostream& s);
};
class BALL_EXPORT Sample
{
public:
class BALL_EXPORT Component
{
public:
Component();
void clear();
String label;
float concentration_value;
String value_unit;
float concentration_min;
float concentration_max;
String isotopic_labeling;
std::ostream& operator >> (std::ostream& s);
};
Sample();
void clear();
String label;
String type;
String details;
vector <Component> components;
std::ostream& operator >> (std::ostream& s);
};
class BALL_EXPORT ShiftReferenceElement
{
public:
ShiftReferenceElement();
String mol_common_name;
String atom_type;
Position isotope_number;
String atom_group;
String shift_units;
float shift_value;
String reference_method;
String reference_type;
float indirect_shift_ratio;
std::ostream& operator >> (std::ostream& s);
};
class BALL_EXPORT ShiftReferenceSet
{
public:
ShiftReferenceSet();
// The saveframe's name = set name
// can be referenced in the saveframe "assigned_chemical_shifts"
String name;
std::vector<ShiftReferenceElement> elements;
std::ostream& operator >> (std::ostream& s);
};
class BALL_EXPORT NMRAtomData
{
public:
NMRAtomData();
Position atom_ID;
Position residue_seq_code;
String residue_label;
String atom_name;
char atom_type;
float shift_value;
float error_value;
Position ambiguity_code;
bool operator == (const NMRAtomData& atom) const;
std::ostream& operator >> (std::ostream& s);
};
class BALL_EXPORT NMRAtomDataSet // _Saveframe_category assigned_chemical_shifts
{
public:
NMRAtomDataSet(NMRStarFile* parent);
String name;
String label;
std::vector<NMRAtomData> atom_data;
String condition;
String reference;
std::vector<String> samples;
std::ostream& operator >> (std::ostream& s);
protected:
NMRStarFile* parent_;
};
class BALL_EXPORT EntryInformation
{
public:
EntryInformation();
~EntryInformation();
std::ostream& operator >> (std::ostream& s);
void clear();
String entry_type;
String BMRB_accession_code;
String NMR_STAR_version;
String experimental_method;
String submission_date;
};
class BALL_EXPORT MonomericPolymer
{
public:
class BALL_EXPORT HomologDB
{
public:
HomologDB();
std::ostream& operator >> (std::ostream& s);
void clear();
String name;
String accession_code;
String entry_mol_name;
float seq_to_submitted_percentage;
float subject_length;
float seq_identity;
float seq_positive;
float homology_expectation_value;
};
MonomericPolymer();
String label_name;
String type;
String polymer_class;
String common_name;
String name_variant;
float molecular_mass;
String details;
// polymer residue sequence information
int number_of_residues;
String residue_sequence;
// we want to allow things like resid 137A, so we cannot use Index
// key: index -- value: aminoacidname
StringHashMap<String> residues_by_index;
vector<HomologDB> homolog_database_entries;
std::ostream& operator >> (std::ostream& s);
void clear();
};
class BALL_EXPORT MolecularSystem
{
// System related information
public:
class BALL_EXPORT RelatedDB
{
public:
RelatedDB();
std::ostream& operator >> (std::ostream& s);
void clear();
String name;
String accession_code;
String entry_mol_name;
String relation_type;
String details;
};
// Central class for convenience
class BALL_EXPORT ChemicalUnit
{
public:
ChemicalUnit();
std::ostream& operator >> (std::ostream& s);
void clear();
String component_name;
String label;
MonomericPolymer* monomeric_polymer;
NMRAtomDataSet* shifts;
};
MolecularSystem();
~MolecularSystem();
ChemicalUnit const& getChemicalUnit(Position i) const { return chemical_units[i]; }
ChemicalUnit& getChemicalUnit(Position i) { return chemical_units[i]; }
Size getNumberOfChemicalUnits() const {return chemical_units.size(); }
// Name of the molecular system
String system_name;
String abbreviation_common;
vector<ChemicalUnit> chemical_units;
String system_physical_state;
String system_oligomer_state;
String system_paramagnetic;
String system_thiol_state;
float system_molecular_weight;
// related entries in various DB's
vector<RelatedDB> related_database_entries;
std::ostream& operator >> (std::ostream& s);
void clear();
};
class BALL_EXPORT NMRSpectrometer
{
public:
String name;
String manufacturer;
String model;
float field_strength;
std::ostream& operator >> (std::ostream& s);
};
class BALL_EXPORT BALLToBMRBMapper
{
public:
//<saveframe_id, atom_id_in_nmr_atom_data_set>
typedef std::pair<Position, Position> BMRBIndex;
typedef std::map<Atom const* , BMRBIndex> BALLToBMRBMapping;
typedef std::map<const NMRAtomData*, Atom const*> BMRBToBALLMapping;
//TODO: Dont use pointer but something more sophisticated!
BALLToBMRBMapper();
BALLToBMRBMapper(Chain const& chain, const NMRStarFile& nmr_data, const String& chemical_unit);
virtual ~BALLToBMRBMapper() {}
const Chain* getChain() const {return chain_;}
void setChain(Chain const& chain) { chain_ = &chain;
num_mismatches_ = -1;
num_gaps_ = -1;}
void setNMRStarFile(NMRStarFile const& nmrfile) {nmr_data_ = &nmrfile;
num_mismatches_ = -1;
num_gaps_ = -1;}
const NMRStarFile* getNMRStarFile() const {return nmr_data_;}
void setNMRAtomDataSet(NMRAtomDataSet const& nmr_atom_data_set){nmr_atom_data_set_= &nmr_atom_data_set;}
bool setNMRAtomDataSetByName(String const& chemical_unit_name);
// Get the NMRAtomDataSet
const NMRAtomDataSet* getNMRAtomDataSet() const{return nmr_atom_data_set_;}
BALLToBMRBMapping& getBALLToBMRBMapping() {return ball_to_bmrb_map_;}
const BALLToBMRBMapping& getBALLToBMRBMapping() const {return ball_to_bmrb_map_;}
BMRBToBALLMapping& getBMRBToBALLMapping() {return bmrb_to_ball_map_;}
const BMRBToBALLMapping& getBMRBToBALLMapping() const {return bmrb_to_ball_map_;}
int getNumberOfMismatches(){return num_mismatches_;}
int getNumberOfGaps(){return num_gaps_;}
bool isMapped(const NMRAtomData& nmr_atom) const;
const Atom* getBALLAtom(const NMRAtomData& nmr_atom) const;
bool isMapped(Atom const* atom) const;
BMRBIndex operator () (const Atom* atom);
bool createTrivialMapping();
bool createMapping(const String& aligned_ball_sequence,
const String& aligned_nmrstar_sequence);
void clear();
protected:
Peptides::NameConverter name_converter_;
BALLToBMRBMapping ball_to_bmrb_map_;
BMRBToBALLMapping bmrb_to_ball_map_;
// NOTE: do *not* attempt to delete these pointers!
const Chain* chain_;
const NMRStarFile* nmr_data_;
const NMRAtomDataSet* nmr_atom_data_set_;
Position nmr_atom_data_set_index_;
int num_mismatches_;
int num_gaps_;
bool valid_;
private:
const Atom* findNMRAtom_(const NMRAtomData& atom) const;
};
NMRStarFile();
NMRStarFile(const String& file_name, File::OpenMode open_mode = std::ios::in);
~NMRStarFile();
bool read();
/* Read an NMRStarFile and assign the shifts to the
given AtomContainer using a trivial standard mapping.
If the AtomContainer is a system, the first chain in chosen.
@param ac AtomContainer to which the NMRStarfile's shift should be assigned.
@return bool - <tt>true</tt> if reading the file was successful
*/
//TODO to be able to use this function, further functions getMapping() and assign() are needed.
bool read(AtomContainer& ac);
bool assignShifts(BALLToBMRBMapper& ball_to_bmrb_mapping);
bool assignShifts(AtomContainer& ac,
const String& chemical_unit,
const String& aligned_ball_sequence,
const String& aligned_nmrstar_sequence);
Size getNumberOfAtoms() const;
Size getNumberOfShiftsAssigned() const {return number_of_assigned_shifts_;};
const std::vector<NMRAtomDataSet>& getNMRData() const;
const EntryInformation& getEntryInformation() const {return entry_information_;};
const MolecularSystem& getMolecularInformation() const {return molecular_system_;};
MolecularSystem& getMolecularInformation() {return molecular_system_;};
const MolecularSystem::ChemicalUnit& getChemicalUnitByLabel(String const& label) const;
MolecularSystem::ChemicalUnit& getChemicalUnitByLabel(String const& label);
bool hasSampleCondition(String name);
bool hasSampleCondition(String name) const;
SampleCondition& getSampleConditionByName(String name);
const SampleCondition& getSampleConditionByName(String name) const;
SampleCondition& getSampleCondition(Position i) {return sample_conditions_[i];};
const SampleCondition& getSampleCondition(Position i) const {return sample_conditions_[i];};
Size getNumberOfSampleConditions() const {return sample_conditions_.size();};
const std::vector<SampleCondition>& getSampleConditions() const {return sample_conditions_;};
std::vector<SampleCondition>& getSampleConditions() {return sample_conditions_;};
// addSampleCondition TODO!!
std::vector<Sample> getSamples() const {return samples_;};
//const std::vector<Sample>& getSamples() const {return samples_;};
Size getNumberOfSamples() const {return samples_.size();};
bool hasSample(String label) const;
Sample getSample(Position i) const;
Sample getSample(String label) const;
std::vector<ShiftReferenceSet>& getShiftReferenceSets() {return shift_references_;};
const std::vector<ShiftReferenceSet>& getShiftReferenceSets() const {return shift_references_;};
Size getNumberOfShiftReferenceSets() const {return shift_references_.size();};
bool hasShiftReferenceSet(String name);
ShiftReferenceSet& getShiftReferenceSet(Position i) {return shift_references_[i];};
const ShiftReferenceSet& getShiftReferenceSet(Position i) const {return shift_references_[i];};
const ShiftReferenceSet& getShiftReferenceSetByName(String name) const;
ShiftReferenceSet& getShiftReferenceSetByName(String name);
std::vector<NMRSpectrometer>& getNMRSpectrometers() {return nmr_spectrometers_;};
const std::vector<NMRSpectrometer>& getNMRSpectrometers() const {return nmr_spectrometers_;};
Size getNumberOfNMRSpectrometers() const {return nmr_spectrometers_.size();};
NMRSpectrometer& getNMRSpectrometer(Position i);
const NMRSpectrometer& getNMRSpectrometer(Position i) const;
NMRSpectrometer& getNMRSpectrometerByName(String name);
const NMRSpectrometer& getNMRSpectrometerByName(String name) const;
String getNMRSpectrometerManufacturer(Position i) const;
float getNMRSpectrometerFieldStrength(Position i) const;
NMRStarFile::MonomericPolymer& getMonomericPolymer(Position i);
const NMRStarFile::MonomericPolymer& getMonomericPolymer(Position i) const;
NMRStarFile::MonomericPolymer& getMonomericPolymer(const String& name);
const NMRStarFile::MonomericPolymer& getMonomericPolymer(const String& name) const;
Size getNumberOfMonomericPolymers() const {return monomeric_polymers_.size();};
vector<MonomericPolymer> getMonomericPolymers() const {return monomeric_polymers_;};
bool hasMonomericPolymer(String name) const;
bool isMonomericPolymer(String chemical_unit_label);
//TODO: Store changes/additions as Saveframes also in CIFFile
void addMonomericPolymer(MonomericPolymer mp);
String getResidueSequence(Position i=0) const;
bool hasHshifts() const {return has_H_shifts_;};
bool hasCshifts() const {return has_C_shifts_;};
bool hasNshifts() const {return has_N_shifts_;};
bool operator == (const NMRStarFile& f) const;
bool operator != (const NMRStarFile& f) const;
void clear();
private:
/*_ @name NMRStar file specific Help-Methods
*/
//_@{
void readEntryInformation_();
void readMolSystem_();
void readMonomericPolymers_();
void readSampleConditions_();
void readShiftReferences_();
void readShifts_();
void readSamples_();
void readNMRSpectrometer_();
void findDependiencies_();
void setSpecialCharacters_(String characters);
bool isValidSingleValue_(String value);
float valueToFloat_(String value);
int valueToInt_(String value);
bool assignShifts_(BALLToBMRBMapper& pdb_to_bmrb_mapping);
//_@}
/*_ @name NMRStar file specific attributes
*/
//_@{
/*_ A flag indicating validity of this instance. A sole NMRStarFile
instance cannot be valid, because it does not have any information.
*/
bool valid_;
Size number_of_shift_sets_;
Size number_of_assigned_shifts_;
EntryInformation entry_information_;
MolecularSystem molecular_system_;
std::vector<NMRAtomDataSet> atom_data_sets_;
std::vector<SampleCondition> sample_conditions_;
std::vector<Sample> samples_;
std::vector<ShiftReferenceSet> shift_references_;
std::vector<NMRSpectrometer> nmr_spectrometers_;
vector<MonomericPolymer> monomeric_polymers_;
bool has_H_shifts_;
bool has_C_shifts_;
bool has_N_shifts_;
// a dummy saveframe
SaveFrame dummy_saveframe_;
// a dummy sample condition
SampleCondition dummy_sample_condition_;
// a dummy sample
Sample dummy_sample_;
// a dummy shift reference set
ShiftReferenceSet dummy_shift_reference_set_;
// a dummy nmr spectrometer
NMRSpectrometer dummy_NMR_spectrometer_;
// a dummy nmr spectrometer
MonomericPolymer dummy_monomeric_polymer_;
String special_characters_;
//_@}
};
} // Namespace BALL
#endif // BALL_FORMAT_NMRSTARFILE_H
CIFFile.h
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
BALL::AtomContainer
Definition atomContainer.h:32
BALL::Atom
Definition atom.h:90
BALL::CIFFile::SaveFrame
Definition CIFFile.h:77
BALL::CIFFile::CIFFile
CIFFile()
BALL::Chain
Definition chain.h:32
BALL::File::OpenMode
std::ios::openmode OpenMode
Definition file.h:165
BALL::NMRStarFile::BALLToBMRBMapper
Definition NMRStarFile.h:446
BALL::NMRStarFile::BALLToBMRBMapper::setChain
void setChain(Chain const &chain)
Set the chain.
Definition NMRStarFile.h:488
BALL::NMRStarFile::BALLToBMRBMapper::name_converter_
Peptides::NameConverter name_converter_
Definition NMRStarFile.h:574
BALL::NMRStarFile::BALLToBMRBMapper::getBALLAtom
const Atom * getBALLAtom(const NMRAtomData &nmr_atom) const
BALL::NMRStarFile::BALLToBMRBMapper::getChain
const Chain * getChain() const
Get the chain.
Definition NMRStarFile.h:485
BALL::NMRStarFile::BALLToBMRBMapper::chain_
const Chain * chain_
Definition NMRStarFile.h:587
BALL::NMRStarFile::BALLToBMRBMapper::getNMRStarFile
const NMRStarFile * getNMRStarFile() const
Get the NMRStar file.
Definition NMRStarFile.h:498
BALL::NMRStarFile::BALLToBMRBMapper::BALLToBMRBMapper
BALLToBMRBMapper(Chain const &chain, const NMRStarFile &nmr_data, const String &chemical_unit)
BALL::NMRStarFile::BALLToBMRBMapper::num_gaps_
int num_gaps_
Definition NMRStarFile.h:592
BALL::NMRStarFile::BALLToBMRBMapper::getBMRBToBALLMapping
BMRBToBALLMapping & getBMRBToBALLMapping()
Return the mapping.
Definition NMRStarFile.h:516
BALL::NMRStarFile::BALLToBMRBMapper::getBALLToBMRBMapping
BALLToBMRBMapping & getBALLToBMRBMapping()
Return the mapping.
Definition NMRStarFile.h:510
BALL::NMRStarFile::BALLToBMRBMapper::isMapped
bool isMapped(Atom const *atom) const
BALL::NMRStarFile::BALLToBMRBMapper::getNumberOfGaps
int getNumberOfGaps()
Return the number of mismatches in the current mapping.
Definition NMRStarFile.h:525
BALL::NMRStarFile::BALLToBMRBMapper::BALLToBMRBMapper
BALLToBMRBMapper()
BALL::NMRStarFile::BALLToBMRBMapper::getNMRAtomDataSet
const NMRAtomDataSet * getNMRAtomDataSet() const
Definition NMRStarFile.h:507
BALL::NMRStarFile::BALLToBMRBMapper::getNumberOfMismatches
int getNumberOfMismatches()
Return the number of mismatches in the current mapping.
Definition NMRStarFile.h:522
BALL::NMRStarFile::BALLToBMRBMapper::num_mismatches_
int num_mismatches_
Definition NMRStarFile.h:591
BALL::NMRStarFile::BALLToBMRBMapper::isMapped
bool isMapped(const NMRAtomData &nmr_atom) const
Test whether the given nmr atom data is mapped to a structure atom.
BALL::NMRStarFile::BALLToBMRBMapper::clear
void clear()
BALL::NMRStarFile::BALLToBMRBMapper::~BALLToBMRBMapper
virtual ~BALLToBMRBMapper()
Destructor.
Definition NMRStarFile.h:477
BALL::NMRStarFile::BALLToBMRBMapper::setNMRStarFile
void setNMRStarFile(NMRStarFile const &nmrfile)
Set the NMRStar file.
Definition NMRStarFile.h:493
BALL::NMRStarFile::BALLToBMRBMapper::getBALLToBMRBMapping
const BALLToBMRBMapping & getBALLToBMRBMapping() const
Return the mapping.
Definition NMRStarFile.h:513
BALL::NMRStarFile::BALLToBMRBMapper::setNMRAtomDataSet
void setNMRAtomDataSet(NMRAtomDataSet const &nmr_atom_data_set)
Set the NMRAtomDataSet.
Definition NMRStarFile.h:501
BALL::NMRStarFile::BALLToBMRBMapper::ball_to_bmrb_map_
BALLToBMRBMapping ball_to_bmrb_map_
map BALL atoms to NMR atom data
Definition NMRStarFile.h:581
BALL::NMRStarFile::BALLToBMRBMapper::BMRBToBALLMapping
std::map< const NMRAtomData *, Atom const * > BMRBToBALLMapping
Definition NMRStarFile.h:458
BALL::NMRStarFile::BALLToBMRBMapper::BALLToBMRBMapping
std::map< Atom const *, BMRBIndex > BALLToBMRBMapping
Definition NMRStarFile.h:457
BALL::NMRStarFile::BALLToBMRBMapper::nmr_atom_data_set_
const NMRAtomDataSet * nmr_atom_data_set_
Definition NMRStarFile.h:589
BALL::NMRStarFile::BALLToBMRBMapper::BMRBIndex
std::pair< Position, Position > BMRBIndex
Definition NMRStarFile.h:456
BALL::NMRStarFile::BALLToBMRBMapper::valid_
bool valid_
Definition NMRStarFile.h:593
BALL::NMRStarFile::BALLToBMRBMapper::setNMRAtomDataSetByName
bool setNMRAtomDataSetByName(String const &chemical_unit_name)
Set the NMRAtomDataSet by chemical unit name.
BALL::NMRStarFile::BALLToBMRBMapper::getBMRBToBALLMapping
const BMRBToBALLMapping & getBMRBToBALLMapping() const
Return the mapping.
Definition NMRStarFile.h:519
BALL::NMRStarFile::BALLToBMRBMapper::nmr_atom_data_set_index_
Position nmr_atom_data_set_index_
Definition NMRStarFile.h:590
BALL::NMRStarFile::BALLToBMRBMapper::bmrb_to_ball_map_
BMRBToBALLMapping bmrb_to_ball_map_
map NMR atom data to BALL atoms
Definition NMRStarFile.h:584
BALL::NMRStarFile::BALLToBMRBMapper::createTrivialMapping
bool createTrivialMapping()
BALL::NMRStarFile::BALLToBMRBMapper::nmr_data_
const NMRStarFile * nmr_data_
Definition NMRStarFile.h:588
BALL::NMRStarFile::BALLToBMRBMapper::createMapping
bool createMapping(const String &aligned_ball_sequence, const String &aligned_nmrstar_sequence)
BALL::NMRStarFile::EntryInformation
Definition NMRStarFile.h:292
BALL::NMRStarFile::EntryInformation::clear
void clear()
BALL::NMRStarFile::EntryInformation::~EntryInformation
~EntryInformation()
BALL::NMRStarFile::EntryInformation::submission_date
String submission_date
Definition NMRStarFile.h:304
BALL::NMRStarFile::EntryInformation::EntryInformation
EntryInformation()
BALL::NMRStarFile::EntryInformation::entry_type
String entry_type
Definition NMRStarFile.h:300
BALL::NMRStarFile::EntryInformation::BMRB_accession_code
String BMRB_accession_code
Definition NMRStarFile.h:301
BALL::NMRStarFile::EntryInformation::experimental_method
String experimental_method
Definition NMRStarFile.h:303
BALL::NMRStarFile::EntryInformation::NMR_STAR_version
String NMR_STAR_version
Definition NMRStarFile.h:302
BALL::NMRStarFile::MolecularSystem::ChemicalUnit
Definition NMRStarFile.h:383
BALL::NMRStarFile::MolecularSystem::ChemicalUnit::monomeric_polymer
MonomericPolymer * monomeric_polymer
Definition NMRStarFile.h:391
BALL::NMRStarFile::MolecularSystem::ChemicalUnit::shifts
NMRAtomDataSet * shifts
Definition NMRStarFile.h:392
BALL::NMRStarFile::MolecularSystem::ChemicalUnit::component_name
String component_name
Definition NMRStarFile.h:389
BALL::NMRStarFile::MolecularSystem::ChemicalUnit::label
String label
Definition NMRStarFile.h:390
BALL::NMRStarFile::MolecularSystem::ChemicalUnit::clear
void clear()
BALL::NMRStarFile::MolecularSystem::ChemicalUnit::ChemicalUnit
ChemicalUnit()
BALL::NMRStarFile::MolecularSystem::RelatedDB::name
String name
Definition NMRStarFile.h:373
BALL::NMRStarFile::MolecularSystem::RelatedDB::details
String details
Definition NMRStarFile.h:377
BALL::NMRStarFile::MolecularSystem::RelatedDB::clear
void clear()
BALL::NMRStarFile::MolecularSystem::RelatedDB::RelatedDB
RelatedDB()
BALL::NMRStarFile::MolecularSystem::RelatedDB::entry_mol_name
String entry_mol_name
Definition NMRStarFile.h:375
BALL::NMRStarFile::MolecularSystem::RelatedDB::relation_type
String relation_type
Definition NMRStarFile.h:376
BALL::NMRStarFile::MolecularSystem::RelatedDB::accession_code
String accession_code
Definition NMRStarFile.h:374
BALL::NMRStarFile::MolecularSystem
Definition NMRStarFile.h:362
BALL::NMRStarFile::MolecularSystem::MolecularSystem
MolecularSystem()
BALL::NMRStarFile::MolecularSystem::getChemicalUnit
ChemicalUnit const & getChemicalUnit(Position i) const
Definition NMRStarFile.h:399
BALL::NMRStarFile::MolecularSystem::system_oligomer_state
String system_oligomer_state
Definition NMRStarFile.h:409
BALL::NMRStarFile::MolecularSystem::clear
void clear()
BALL::NMRStarFile::MolecularSystem::system_thiol_state
String system_thiol_state
Definition NMRStarFile.h:411
BALL::NMRStarFile::MolecularSystem::~MolecularSystem
~MolecularSystem()
BALL::NMRStarFile::MolecularSystem::abbreviation_common
String abbreviation_common
Definition NMRStarFile.h:406
BALL::NMRStarFile::MolecularSystem::getNumberOfChemicalUnits
Size getNumberOfChemicalUnits() const
Definition NMRStarFile.h:402
BALL::NMRStarFile::MolecularSystem::system_physical_state
String system_physical_state
Definition NMRStarFile.h:408
BALL::NMRStarFile::MolecularSystem::chemical_units
vector< ChemicalUnit > chemical_units
Definition NMRStarFile.h:407
BALL::NMRStarFile::MolecularSystem::system_name
String system_name
Definition NMRStarFile.h:405
BALL::NMRStarFile::MolecularSystem::system_paramagnetic
String system_paramagnetic
Definition NMRStarFile.h:410
BALL::NMRStarFile::MolecularSystem::system_molecular_weight
float system_molecular_weight
The systems molecular weigth in dalton.
Definition NMRStarFile.h:413
BALL::NMRStarFile::MolecularSystem::related_database_entries
vector< RelatedDB > related_database_entries
Definition NMRStarFile.h:415
BALL::NMRStarFile::MolecularSystem::getChemicalUnit
ChemicalUnit & getChemicalUnit(Position i)
Definition NMRStarFile.h:400
BALL::NMRStarFile::MonomericPolymer::HomologDB::subject_length
float subject_length
Definition NMRStarFile.h:328
BALL::NMRStarFile::MonomericPolymer::HomologDB::name
String name
Definition NMRStarFile.h:324
BALL::NMRStarFile::MonomericPolymer::HomologDB::seq_to_submitted_percentage
float seq_to_submitted_percentage
Definition NMRStarFile.h:327
BALL::NMRStarFile::MonomericPolymer::HomologDB::seq_identity
float seq_identity
Definition NMRStarFile.h:329
BALL::NMRStarFile::MonomericPolymer::HomologDB::entry_mol_name
String entry_mol_name
Definition NMRStarFile.h:326
BALL::NMRStarFile::MonomericPolymer::HomologDB::homology_expectation_value
float homology_expectation_value
Definition NMRStarFile.h:331
BALL::NMRStarFile::MonomericPolymer::HomologDB::clear
void clear()
BALL::NMRStarFile::MonomericPolymer::HomologDB::accession_code
String accession_code
Definition NMRStarFile.h:325
BALL::NMRStarFile::MonomericPolymer::HomologDB::seq_positive
float seq_positive
Definition NMRStarFile.h:330
BALL::NMRStarFile::MonomericPolymer::HomologDB::HomologDB
HomologDB()
BALL::NMRStarFile::MonomericPolymer
Definition NMRStarFile.h:313
BALL::NMRStarFile::MonomericPolymer::number_of_residues
int number_of_residues
Definition NMRStarFile.h:345
BALL::NMRStarFile::MonomericPolymer::residue_sequence
String residue_sequence
Definition NMRStarFile.h:346
BALL::NMRStarFile::MonomericPolymer::residues_by_index
StringHashMap< String > residues_by_index
Definition NMRStarFile.h:349
BALL::NMRStarFile::MonomericPolymer::molecular_mass
float molecular_mass
Definition NMRStarFile.h:342
BALL::NMRStarFile::MonomericPolymer::common_name
String common_name
Definition NMRStarFile.h:340
BALL::NMRStarFile::MonomericPolymer::clear
void clear()
BALL::NMRStarFile::MonomericPolymer::polymer_class
String polymer_class
Definition NMRStarFile.h:339
BALL::NMRStarFile::MonomericPolymer::details
String details
Definition NMRStarFile.h:343
BALL::NMRStarFile::MonomericPolymer::name_variant
String name_variant
Definition NMRStarFile.h:341
BALL::NMRStarFile::MonomericPolymer::label_name
String label_name
Definition NMRStarFile.h:337
BALL::NMRStarFile::MonomericPolymer::MonomericPolymer
MonomericPolymer()
BALL::NMRStarFile::MonomericPolymer::homolog_database_entries
vector< HomologDB > homolog_database_entries
Definition NMRStarFile.h:350
BALL::NMRStarFile::MonomericPolymer::type
String type
Definition NMRStarFile.h:338
BALL::NMRStarFile::NMRAtomDataSet
Definition NMRStarFile.h:269
BALL::NMRStarFile::NMRAtomDataSet::atom_data
std::vector< NMRAtomData > atom_data
Definition NMRStarFile.h:275
BALL::NMRStarFile::NMRAtomDataSet::name
String name
Definition NMRStarFile.h:273
BALL::NMRStarFile::NMRAtomDataSet::samples
std::vector< String > samples
Definition NMRStarFile.h:278
BALL::NMRStarFile::NMRAtomDataSet::parent_
NMRStarFile * parent_
Definition NMRStarFile.h:283
BALL::NMRStarFile::NMRAtomDataSet::label
String label
Definition NMRStarFile.h:274
BALL::NMRStarFile::NMRAtomDataSet::condition
String condition
Definition NMRStarFile.h:276
BALL::NMRStarFile::NMRAtomDataSet::NMRAtomDataSet
NMRAtomDataSet(NMRStarFile *parent)
BALL::NMRStarFile::NMRAtomDataSet::reference
String reference
Definition NMRStarFile.h:277
BALL::NMRStarFile::NMRAtomData
Definition NMRStarFile.h:240
BALL::NMRStarFile::NMRAtomData::shift_value
float shift_value
Definition NMRStarFile.h:249
BALL::NMRStarFile::NMRAtomData::NMRAtomData
NMRAtomData()
BALL::NMRStarFile::NMRAtomData::ambiguity_code
Position ambiguity_code
Definition NMRStarFile.h:251
BALL::NMRStarFile::NMRAtomData::atom_name
String atom_name
Definition NMRStarFile.h:247
BALL::NMRStarFile::NMRAtomData::residue_seq_code
Position residue_seq_code
Definition NMRStarFile.h:245
BALL::NMRStarFile::NMRAtomData::atom_type
char atom_type
Definition NMRStarFile.h:248
BALL::NMRStarFile::NMRAtomData::atom_ID
Position atom_ID
Definition NMRStarFile.h:244
BALL::NMRStarFile::NMRAtomData::error_value
float error_value
Definition NMRStarFile.h:250
BALL::NMRStarFile::NMRAtomData::residue_label
String residue_label
Definition NMRStarFile.h:246
BALL::NMRStarFile::NMRSpectrometer
Definition NMRStarFile.h:429
BALL::NMRStarFile::NMRSpectrometer::model
String model
Definition NMRStarFile.h:433
BALL::NMRStarFile::NMRSpectrometer::name
String name
Definition NMRStarFile.h:431
BALL::NMRStarFile::NMRSpectrometer::field_strength
float field_strength
Definition NMRStarFile.h:434
BALL::NMRStarFile::NMRSpectrometer::manufacturer
String manufacturer
Definition NMRStarFile.h:432
BALL::NMRStarFile::SampleCondition
Definition NMRStarFile.h:136
BALL::NMRStarFile::SampleCondition::units
StringHashMap< String > units
Definition NMRStarFile.h:149
BALL::NMRStarFile::SampleCondition::name
String name
Definition NMRStarFile.h:142
BALL::NMRStarFile::SampleCondition::SampleCondition
SampleCondition()
BALL::NMRStarFile::SampleCondition::errors
StringHashMap< float > errors
Definition NMRStarFile.h:148
BALL::NMRStarFile::SampleCondition::hasType
bool hasType(String type)
Definition NMRStarFile.h:151
BALL::NMRStarFile::SampleCondition::types
vector< String > types
Definition NMRStarFile.h:146
BALL::NMRStarFile::SampleCondition::values
StringHashMap< float > values
Definition NMRStarFile.h:147
BALL::NMRStarFile::Sample::Component::value_unit
String value_unit
Definition NMRStarFile.h:174
BALL::NMRStarFile::Sample::Component::isotopic_labeling
String isotopic_labeling
Definition NMRStarFile.h:177
BALL::NMRStarFile::Sample::Component::concentration_value
float concentration_value
Definition NMRStarFile.h:173
BALL::NMRStarFile::Sample::Component::Component
Component()
BALL::NMRStarFile::Sample::Component::concentration_min
float concentration_min
Definition NMRStarFile.h:175
BALL::NMRStarFile::Sample::Component::clear
void clear()
BALL::NMRStarFile::Sample::Component::label
String label
Definition NMRStarFile.h:172
BALL::NMRStarFile::Sample::Component::concentration_max
float concentration_max
Definition NMRStarFile.h:176
BALL::NMRStarFile::Sample
Definition NMRStarFile.h:159
BALL::NMRStarFile::Sample::type
String type
Definition NMRStarFile.h:186
BALL::NMRStarFile::Sample::details
String details
Definition NMRStarFile.h:187
BALL::NMRStarFile::Sample::components
vector< Component > components
Definition NMRStarFile.h:188
BALL::NMRStarFile::Sample::label
String label
Definition NMRStarFile.h:185
BALL::NMRStarFile::Sample::Sample
Sample()
BALL::NMRStarFile::Sample::clear
void clear()
BALL::NMRStarFile::ShiftReferenceElement::isotope_number
Position isotope_number
Definition NMRStarFile.h:205
BALL::NMRStarFile::ShiftReferenceElement::reference_type
String reference_type
Definition NMRStarFile.h:210
BALL::NMRStarFile::ShiftReferenceElement::ShiftReferenceElement
ShiftReferenceElement()
BALL::NMRStarFile::ShiftReferenceElement::indirect_shift_ratio
float indirect_shift_ratio
Definition NMRStarFile.h:211
BALL::NMRStarFile::ShiftReferenceElement::atom_type
String atom_type
Definition NMRStarFile.h:204
BALL::NMRStarFile::ShiftReferenceElement::shift_units
String shift_units
Definition NMRStarFile.h:207
BALL::NMRStarFile::ShiftReferenceElement::mol_common_name
String mol_common_name
Definition NMRStarFile.h:203
BALL::NMRStarFile::ShiftReferenceElement::atom_group
String atom_group
Definition NMRStarFile.h:206
BALL::NMRStarFile::ShiftReferenceElement::reference_method
String reference_method
Definition NMRStarFile.h:209
BALL::NMRStarFile::ShiftReferenceElement::shift_value
float shift_value
Definition NMRStarFile.h:208
BALL::NMRStarFile::ShiftReferenceSet
Definition NMRStarFile.h:222
BALL::NMRStarFile::ShiftReferenceSet::ShiftReferenceSet
ShiftReferenceSet()
BALL::NMRStarFile::ShiftReferenceSet::elements
std::vector< ShiftReferenceElement > elements
Definition NMRStarFile.h:229
BALL::NMRStarFile::ShiftReferenceSet::name
String name
Definition NMRStarFile.h:228
BALL::NMRStarFile::clear
void clear()
BALL::NMRStarFile::addMonomericPolymer
void addMonomericPolymer(MonomericPolymer mp)
BALL::NMRStarFile::getNMRSpectrometerByName
NMRSpectrometer & getNMRSpectrometerByName(String name)
Get the spectrometer by its SaveFrame name.
BALL::NMRStarFile::hasSampleCondition
bool hasSampleCondition(String name)
BALL::NMRStarFile::getSampleConditionByName
SampleCondition & getSampleConditionByName(String name)
BALL::NMRStarFile::NMRStarFile
NMRStarFile()
BALL::NMRStarFile::getMolecularInformation
MolecularSystem & getMolecularInformation()
Definition NMRStarFile.h:686
BALL::NMRStarFile::getShiftReferenceSet
ShiftReferenceSet & getShiftReferenceSet(Position i)
Get the i-th shift reference set.
Definition NMRStarFile.h:763
BALL::NMRStarFile::getSampleCondition
SampleCondition & getSampleCondition(Position i)
Get the i-th SampleCondition.
Definition NMRStarFile.h:715
BALL::NMRStarFile::getNMRSpectrometers
const std::vector< NMRSpectrometer > & getNMRSpectrometers() const
Get the spectrometers.
Definition NMRStarFile.h:776
BALL::NMRStarFile::getNumberOfNMRSpectrometers
Size getNumberOfNMRSpectrometers() const
Get the number of nmr spectrometers.
Definition NMRStarFile.h:779
BALL::NMRStarFile::getNumberOfShiftsAssigned
Size getNumberOfShiftsAssigned() const
Definition NMRStarFile.h:670
BALL::NMRStarFile::getNumberOfMonomericPolymers
Size getNumberOfMonomericPolymers() const
Get the number of monomeric polymers in the file.
Definition NMRStarFile.h:819
BALL::NMRStarFile::getShiftReferenceSet
const ShiftReferenceSet & getShiftReferenceSet(Position i) const
Get the i-th shift reference set.
Definition NMRStarFile.h:765
BALL::NMRStarFile::getMonomericPolymer
const NMRStarFile::MonomericPolymer & getMonomericPolymer(const String &name) const
BALL::NMRStarFile::getResidueSequence
String getResidueSequence(Position i=0) const
BALL::NMRStarFile::getNMRSpectrometerManufacturer
String getNMRSpectrometerManufacturer(Position i) const
Get the spectrometer manufacturer.
BALL::NMRStarFile::getSampleConditions
const std::vector< SampleCondition > & getSampleConditions() const
Get the sample conditions.
Definition NMRStarFile.h:724
BALL::NMRStarFile::hasCshifts
bool hasCshifts() const
Check, whether this NMRFile provides carbon shifts.
Definition NMRStarFile.h:855
BALL::NMRStarFile::getSample
Sample getSample(String label) const
BALL::NMRStarFile::FLOAT_VALUE_NA
static const float FLOAT_VALUE_NA
Definition NMRStarFile.h:119
BALL::NMRStarFile::getChemicalUnitByLabel
MolecularSystem::ChemicalUnit & getChemicalUnitByLabel(String const &label)
BALL::NMRStarFile::hasNshifts
bool hasNshifts() const
Check, whether this NMRFile provides nitrogen shifts.
Definition NMRStarFile.h:858
BALL::NMRStarFile::getMonomericPolymer
NMRStarFile::MonomericPolymer & getMonomericPolymer(Position i)
BALL::NMRStarFile::hasSampleCondition
bool hasSampleCondition(String name) const
BALL::NMRStarFile::getSampleConditionByName
const SampleCondition & getSampleConditionByName(String name) const
BALL::NMRStarFile::getNMRData
const std::vector< NMRAtomDataSet > & getNMRData() const
BALL::NMRStarFile::getNMRSpectrometer
const NMRSpectrometer & getNMRSpectrometer(Position i) const
Get the i-th spectrometer.
BALL::NMRStarFile::read
bool read()
BALL::NMRStarFile::getChemicalUnitByLabel
const MolecularSystem::ChemicalUnit & getChemicalUnitByLabel(String const &label) const
BALL::NMRStarFile::hasShiftReferenceSet
bool hasShiftReferenceSet(String name)
Check if there is a ShiftReferenceSet named name.
BALL::NMRStarFile::assignShifts
bool assignShifts(BALLToBMRBMapper &ball_to_bmrb_mapping)
BALL::NMRStarFile::hasMonomericPolymer
bool hasMonomericPolymer(String name) const
Check if polymer name is already stored is a monomeric polymer.
BALL::NMRStarFile::getNumberOfAtoms
Size getNumberOfAtoms() const
BALL::NMRStarFile::getNMRSpectrometerByName
const NMRSpectrometer & getNMRSpectrometerByName(String name) const
Get the spectrometer by its SaveFrame name.
BALL::NMRStarFile::hasSample
bool hasSample(String label) const
Return true if the file contains a sample named label, false otherwise.
BALL::NMRStarFile::isMonomericPolymer
bool isMonomericPolymer(String chemical_unit_label)
BALL::NMRStarFile::getMonomericPolymers
vector< MonomericPolymer > getMonomericPolymers() const
Get all Monomeric Polymers.
Definition NMRStarFile.h:822
BALL::NMRStarFile::NMRStarFile
NMRStarFile(const String &file_name, File::OpenMode open_mode=std::ios::in)
BALL::NMRStarFile::assignShifts
bool assignShifts(AtomContainer &ac, const String &chemical_unit, const String &aligned_ball_sequence, const String &aligned_nmrstar_sequence)
BALL::NMRStarFile::getShiftReferenceSets
std::vector< ShiftReferenceSet > & getShiftReferenceSets()
Get the shift reference sets.
Definition NMRStarFile.h:752
BALL::NMRStarFile::POSITION_VALUE_NA
static const Position POSITION_VALUE_NA
Definition NMRStarFile.h:122
BALL::NMRStarFile::getMonomericPolymer
NMRStarFile::MonomericPolymer & getMonomericPolymer(const String &name)
BALL::NMRStarFile::getSampleConditions
std::vector< SampleCondition > & getSampleConditions()
Get the sample conditions.
Definition NMRStarFile.h:727
BALL::NMRStarFile::getNMRSpectrometers
std::vector< NMRSpectrometer > & getNMRSpectrometers()
Get the spectrometers.
Definition NMRStarFile.h:774
BALL::NMRStarFile::getNumberOfSampleConditions
Size getNumberOfSampleConditions() const
Get the number of sample conditions.
Definition NMRStarFile.h:721
BALL::NMRStarFile::getSampleCondition
const SampleCondition & getSampleCondition(Position i) const
Get the i-th SampleCondition.
Definition NMRStarFile.h:718
BALL::NMRStarFile::getNMRSpectrometer
NMRSpectrometer & getNMRSpectrometer(Position i)
Get the i-th spectrometer.
BALL::NMRStarFile::INT_VALUE_NA
static const int INT_VALUE_NA
Definition NMRStarFile.h:120
BALL::NMRStarFile::getSample
Sample getSample(Position i) const
BALL::NMRStarFile::hasHshifts
bool hasHshifts() const
Check, whether this NMRFile provides hydrogen shifts.
Definition NMRStarFile.h:852
BALL::NMRStarFile::getNMRSpectrometerFieldStrength
float getNMRSpectrometerFieldStrength(Position i) const
Get the spectrometer field strength.
BALL::NMRStarFile::getNumberOfShiftReferenceSets
Size getNumberOfShiftReferenceSets() const
Get the number of shift reference sets.
Definition NMRStarFile.h:757
BALL::NMRStarFile::read
bool read(AtomContainer &ac)
BALL::NMRStarFile::getShiftReferenceSetByName
ShiftReferenceSet & getShiftReferenceSetByName(String name)
Get a ShiftReferenceSet by its SaveFrame name.
BALL::NMRStarFile::getMonomericPolymer
const NMRStarFile::MonomericPolymer & getMonomericPolymer(Position i) const
BALL::NMRStarFile::getSamples
std::vector< Sample > getSamples() const
Get the samples.
Definition NMRStarFile.h:732
BALL::NMRStarFile::getNumberOfSamples
Size getNumberOfSamples() const
Get the number of samples.
Definition NMRStarFile.h:736
BALL::NMRStarFile::getShiftReferenceSetByName
const ShiftReferenceSet & getShiftReferenceSetByName(String name) const
Get a ShiftReferenceSet by its SaveFrame name.
BALL::NMRStarFile::~NMRStarFile
~NMRStarFile()
Destructor.
BALL::NMRStarFile::getMolecularInformation
const MolecularSystem & getMolecularInformation() const
Definition NMRStarFile.h:682
BALL::NMRStarFile::getEntryInformation
const EntryInformation & getEntryInformation() const
Definition NMRStarFile.h:678
BALL::NMRStarFile::getShiftReferenceSets
const std::vector< ShiftReferenceSet > & getShiftReferenceSets() const
Get the shift reference sets.
Definition NMRStarFile.h:754
BALL::Peptides::NameConverter
This class provides conversion of atom names between naming schemata.
Definition peptides.h:152
BALL::StringHashMap
Definition stringHashMap.h:42
BALL::String
Definition string.h:57
BALL
Definition constants.h:13
BALL::Size
BALL_SIZE_TYPE Size
Definition COMMON/global.h:114
BALL::Position
BALL_SIZE_TYPE Position
Definition COMMON/global.h:140
peptides.h
protein.h