BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
BALL::NMRStarFile Class Reference

This class provides methods for reading and assigning chemical shifts. More...

#include <BALL/FORMAT/NMRStarFile.h>

Inheritance diagram for BALL::NMRStarFile:
BALL::CIFFile BALL::File

Classes

class  BALLToBMRBMapper
 
class  EntryInformation
 
class  MolecularSystem
 
class  MonomericPolymer
 
class  NMRAtomData
 
class  NMRAtomDataSet
 
class  NMRSpectrometer
 
class  Sample
 
class  SampleCondition
 
class  ShiftReferenceElement
 
class  ShiftReferenceSet
 

Public Member Functions

Constructors and Destructors
 NMRStarFile ()
 
 NMRStarFile (const String &file_name, File::OpenMode open_mode=std::ios::in)
 
 ~NMRStarFile ()
 Destructor. More...
 
Access methods
bool read ()
 
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
 
const std::vector
< NMRAtomDataSet > & 
getNMRData () const
 
const EntryInformationgetEntryInformation () const
 
const MolecularSystemgetMolecularInformation () const
 
MolecularSystemgetMolecularInformation ()
 
const
MolecularSystem::ChemicalUnit
getChemicalUnitByLabel (String const &label) const
 
MolecularSystem::ChemicalUnitgetChemicalUnitByLabel (String const &label)
 
bool hasSampleCondition (String name)
 
bool hasSampleCondition (String name) const
 
SampleConditiongetSampleConditionByName (String name)
 
const SampleConditiongetSampleConditionByName (String name) const
 
SampleConditiongetSampleCondition (Position i)
 Get the i-th SampleCondition. More...
 
const SampleConditiongetSampleCondition (Position i) const
 Get the i-th SampleCondition. More...
 
Size getNumberOfSampleConditions () const
 Get the number of sample conditions. More...
 
const std::vector
< SampleCondition > & 
getSampleConditions () const
 Get the sample conditions. More...
 
std::vector< SampleCondition > & getSampleConditions ()
 Get the sample conditions. More...
 
std::vector< SamplegetSamples () const
 Get the samples. More...
 
Size getNumberOfSamples () const
 Get the number of samples. More...
 
bool hasSample (String label) const
 Return true if the file contains a sample named label, false otherwise. More...
 
Sample getSample (Position i) const
 
Sample getSample (String label) const
 
std::vector< ShiftReferenceSet > & getShiftReferenceSets ()
 Get the shift reference sets. More...
 
const std::vector
< ShiftReferenceSet > & 
getShiftReferenceSets () const
 Get the shift reference sets. More...
 
Size getNumberOfShiftReferenceSets () const
 Get the number of shift reference sets. More...
 
bool hasShiftReferenceSet (String name)
 Check if there is a ShiftReferenceSet named name. More...
 
ShiftReferenceSetgetShiftReferenceSet (Position i)
 Get the i-th shift reference set. More...
 
const ShiftReferenceSetgetShiftReferenceSet (Position i) const
 Get the i-th shift reference set. More...
 
const ShiftReferenceSetgetShiftReferenceSetByName (String name) const
 Get a ShiftReferenceSet by its SaveFrame name. More...
 
ShiftReferenceSetgetShiftReferenceSetByName (String name)
 Get a ShiftReferenceSet by its SaveFrame name. More...
 
std::vector< NMRSpectrometer > & getNMRSpectrometers ()
 Get the spectrometers. More...
 
const std::vector
< NMRSpectrometer > & 
getNMRSpectrometers () const
 Get the spectrometers. More...
 
Size getNumberOfNMRSpectrometers () const
 Get the number of nmr spectrometers. More...
 
NMRSpectrometergetNMRSpectrometer (Position i)
 Get the i-th spectrometer. More...
 
const NMRSpectrometergetNMRSpectrometer (Position i) const
 Get the i-th spectrometer. More...
 
NMRSpectrometergetNMRSpectrometerByName (String name)
 Get the spectrometer by its SaveFrame name. More...
 
const NMRSpectrometergetNMRSpectrometerByName (String name) const
 Get the spectrometer by its SaveFrame name. More...
 
String getNMRSpectrometerManufacturer (Position i) const
 Get the spectrometer manufacturer. More...
 
float getNMRSpectrometerFieldStrength (Position i) const
 Get the spectrometer field strength. More...
 
NMRStarFile::MonomericPolymergetMonomericPolymer (Position i)
 
const
NMRStarFile::MonomericPolymer
getMonomericPolymer (Position i) const
 
NMRStarFile::MonomericPolymergetMonomericPolymer (const String &name)
 
const
NMRStarFile::MonomericPolymer
getMonomericPolymer (const String &name) const
 
Size getNumberOfMonomericPolymers () const
 Get the number of monomeric polymers in the file. More...
 
vector< MonomericPolymergetMonomericPolymers () const
 Get all Monomeric Polymers. More...
 
bool hasMonomericPolymer (String name) const
 Check if polymer name is already stored is a monomeric polymer. More...
 
bool isMonomericPolymer (String chemical_unit_label)
 
void addMonomericPolymer (MonomericPolymer mp)
 
String getResidueSequence (Position i=0) const
 
bool hasHshifts () const
 Check, whether this NMRFile provides hydrogen shifts. More...
 
bool hasCshifts () const
 Check, whether this NMRFile provides carbon shifts. More...
 
bool hasNshifts () const
 Check, whether this NMRFile provides nitrogen shifts. More...
 
Equality
bool operator== (const NMRStarFile &f)
 
bool operator!= (const NMRStarFile &f)
 
void clear ()
 
- Public Member Functions inherited from BALL::CIFFile
 CIFFile ()
 
 CIFFile (const String &filename, File::OpenMode open_mode=std::ios::in)
 
virtual ~CIFFile ()
 
virtual bool write ()
 
void inSafeframe (const char *name)
 
void inItem (const char *name)
 
void inDatablock (const char *name)
 
void insertDatablock (const Datablock &datablock)
 
const DatablockgetDatablock (const String &name) const
 
DatablockgetDatablock (const String &name)
 
bool hasDatablock (const String &name) const
 
void setMolecule (Molecule *molecule)
 
void clearParameters ()
 
- Public Member Functions inherited from BALL::File
 File ()
 
 File (const String &name, OpenMode open_mode=std::ios::in)
 
virtual ~File ()
 
bool isValid () const
 
bool open (const String &name, File::OpenMode open_mode=std::ios::in)
 
bool reopen ()
 
bool reopen (File::OpenMode open_mode)
 
void close ()
 
const StringgetName () const
 
void setName (const String &name)
 
const StringgetOriginalName () const
 
Size getSize ()
 
File::OpenMode getOpenMode () const
 
Type getType (bool trace_link) const
 
bool copyTo (const String &destination_name, Size buffer_size=4096)
 
bool moveTo (const String &destination_name)
 
bool remove ()
 
bool renameTo (const String &new_path)
 
bool truncate (Size size=0)
 
std::fstream & getFileStream ()
 
TransformationManagergetTransformationManager ()
 
const TransformationManagergetTransformationManager () const
 
bool operator== (const File &file) const
 
bool operator!= (const File &file) const
 
bool isOpen () const
 
bool isClosed () const
 
bool isAccessible () const
 
bool isCanonized () const
 
bool isReadable () const
 
bool isWritable () const
 
bool isExecutable () const
 

Static Public Attributes

static const float FLOAT_VALUE_NA
 
static const int INT_VALUE_NA
 
static const Position POSITION_VALUE_NA
 
- Static Public Attributes inherited from BALL::CIFFile
static State state
 
- Static Public Attributes inherited from BALL::File
static const OpenMode MODE_IN
 Open for input (default) More...
 
static const OpenMode MODE_OUT
 Open for output. More...
 
static const OpenMode MODE_APP
 Append. Seek to end before each write operation. More...
 
static const OpenMode MODE_BINARY
 Binary mode. More...
 
static const OpenMode MODE_ATE
 Seek to end directly after opening. More...
 
static const OpenMode MODE_TRUNC
 Truncate an existing file. More...
 
static const String TRANSFORMATION_EXEC_PREFIX
 Prefix for filenames that are created through the execution of commands "exec:". More...
 
static const String TRANSFORMATION_FILE_PREFIX
 Prefix for files (to mimick URL-like behavior) "file:". More...
 
static const String TRANSFORMATION_FTP_PREFIX
 Prefix for FTP-transfers "ftp://". More...
 
static const String TRANSFORMATION_HTTP_PREFIX
 Prefix for HTTP-transfer "http://". More...
 

Private Member Functions

void readEntryInformation_ ()
 reads the number of chemical shifts More...
 
void readMolSystem_ ()
 reads the molecular system name More...
 
void readMonomericPolymers_ ()
 read the MonomericPolymers More...
 
void readSampleConditions_ ()
 reads the sample conditions More...
 
void readShiftReferences_ ()
 reads the shift references More...
 
void readShifts_ ()
 reads the shift datas More...
 
void readSamples_ ()
 read the samples More...
 
void readNMRSpectrometer_ ()
 reads the NMR spectrometer data More...
 
void findDependiencies_ ()
 find dependencies for the ChemicalUnits More...
 
void setSpecialCharacters_ (String characters)
 set the characters denoting single non-available values More...
 
bool isValidSingleValue_ (String value)
 check whether the given String denotes a non-available value More...
 
float valueToFloat_ (String value)
 returns the value as float, if it is a valid one, or FLOAT_VALUE_NA More...
 
int valueToInt_ (String value)
 returns the value as int, if it is a valid one, or INT_VALUE_NA More...
 
bool assignShifts_ (BALLToBMRBMapper &pdb_to_bmrb_mapping)
 

Private Attributes

bool valid_
 
Size number_of_shift_sets_
 the number of shift data sets More...
 
Size number_of_assigned_shifts_
 the number of assigned shifts during the last call of assignShifts() More...
 
EntryInformation entry_information_
 the general entry data More...
 
MolecularSystem molecular_system_
 the system information More...
 
std::vector< NMRAtomDataSetatom_data_sets_
 the data for the atoms is stored here More...
 
std::vector< SampleConditionsample_conditions_
 the data for different sample sets More...
 
std::vector< Samplesamples_
 the samples More...
 
std::vector< ShiftReferenceSetshift_references_
 the data for shift references More...
 
std::vector< NMRSpectrometernmr_spectrometers_
 the data of nmr spectrometers More...
 
vector< MonomericPolymermonomeric_polymers_
 Monomeric Polymer information. More...
 
bool has_H_shifts_
 stores, which shifts are given in the file More...
 
bool has_C_shifts_
 
bool has_N_shifts_
 
SaveFrame dummy_saveframe_
 
SampleCondition dummy_sample_condition_
 
Sample dummy_sample_
 
ShiftReferenceSet dummy_shift_reference_set_
 
NMRSpectrometer dummy_NMR_spectrometer_
 
MonomericPolymer dummy_monomeric_polymer_
 
String special_characters_
 characters, that denote non-available values More...
 

Additional Inherited Members

- Public Types inherited from BALL::File
typedef std::ios::openmode OpenMode
 
enum  Transformation { TRANSFORMATION__EXEC = 1, TRANSFORMATION__FILTER = 2, TRANSFORMATION__URL = 3 }
 
enum  Type {
  TYPE__UNKNOWN = 0, TYPE__DIRECTORY = 1, TYPE__CHAR_SPECIAL_FILE = 2, TYPE__BLOCK_SPECIAL_FILE = 3,
  TYPE__REGULAR_FILE = 4, TYPE__SYMBOLIC_LINK = 5, TYPE__SOCKET = 6, TYPE__FIFO_SPECIAL_FILE = 7
}
 
- Static Public Member Functions inherited from BALL::File
static Size getSize (String name)
 
static Type getType (String name, bool trace_link)
 
static bool copy (String source_name, String destination_name, Size buffer_size=4096)
 
static bool move (const String &source_name, const String &destination_name)
 
static bool remove (String name)
 
static bool rename (String old_path, String new_path)
 
static bool truncate (String path, Size size=0)
 
static bool createTemporaryFilename (String &temporary, const String &suffix=".TMP")
 
static void enableTransformation (Transformation transformation)
 
static void disableTransformation (Transformation transformation)
 
static bool isTransformationEnabled (Transformation transformation)
 
static void registerTransformation (const String &pattern, const String &exec)
 
static void unregisterTransformation (const String &pattern)
 
static bool isAccessible (String name)
 
static bool isReadable (String name)
 
static bool isWritable (String name)
 
static bool isExecutable (String name)
 
- Protected Member Functions inherited from BALL::CIFFile
virtual void initRead_ ()
 
- Protected Attributes inherited from BALL::CIFFile
Moleculemolecule_
 
String current_datablock_
 
String current_saveframe_
 
String current_item_
 
StringHashMap< Indexdatablocks_hash_
 
vector< Datablockdatablocks_
 
- Static Protected Attributes inherited from BALL::File
static HashSet< Stringcreated_temp_filenames_
 
static TransformationManager transformation_manager_
 
static Size transformation_methods_
 

Detailed Description

This class provides methods for reading and assigning chemical shifts.

NMRStarFile class.

This class provides methods for reading and assigning experimental chemical shifts from NMRStar files to peptides. The nested class BALLToBMRBMapper creates a mapping between NMRStar file atoms and atoms of a chain either based on a trivial mapping

See Also
createTrivialMapping() or based on a given alignment
createMapping(). Access to information other than the shifts is provided as well.


Example code:

System system;
pdb_file >> system;
Chain& chain = *(system.beginChain());
NMRStarFile nmr_file("NMRStarFile_test.bmr");
cout << "File contains " << nmr_file.getNumberOfAtoms() << " chemical shifts" << endl;
cout << "Number of samples: " << nmr_file.getNumberOfSamples() << endl;
NMRStarFile::MolecularSystem nmr_mol_sys = nmr_file.getMolecularInformation();
cout << "Molecular systems name: " << nmr_mol_sys.system_name << endl;
cout << "Number of possible chemical units: " << nmr_mol_sys.getNumberOfChemicalUnits() << endl;
// the chemical units of this file
for (Size k=0; k < nmr_mol_sys.getNumberOfChemicalUnits(); k++)
{
NMRStarFile::MolecularSystem::ChemicalUnit cu = nmr_mol_sys.getChemicalUnit(k);
cout << " " << k << " : " << cu.component_name
<< " " << cu.label << endl;
}
// get the shift data
// NOTE: nmr_file.atom_data_sets_ equals nmr_data !
std::vector<NMRStarFile::NMRAtomDataSet> const& nmr_data = nmr_file.getNMRData();
cout << "Number of shift sets: " << nmr_data.size() << endl;
for (Size k=0; k < nmr_data.size(); k++)
{
cout << " " << k << " shift set name: " << nmr_data[k].name << " -- condition name: " << nmr_data[k].condition << endl;
}
// decide for a chemical unit
NMRStarFile::MolecularSystem::ChemicalUnit cu = nmr_mol_sys.getChemicalUnit(0);
String chemical_unit_label = cu.label;
cout << Peptides::GetSequence(chain) << endl;
cout << nmr_file.getResidueSequence() << endl;
// create a mapping based on an alignment
cout << "Create a mapping... " ;
NMRStarFile::BALLToBMRBMapper mapper(chain, nmr_file, chemical_unit_label);
mapper.createMapping("MKSTGIVRKVDELGR-VVIPIELRRTLGIAEKDALEIYVDDEKIILKKYKPNMT",
"MKSTGIVRKVDELGRVV-IPIELRRTLGIAEKDALEIYVDDEKIILKKYKPNMT");
cout << "Number of mismatches: " << mapper.getNumberOfMismatches() << endl;
cout << "Number of gaps: " << mapper.getNumberOfGaps() << endl;
// assign the shifts
nmr_file.assignShifts(mapper);
cout << "Assigned " << nmr_file.getNumberOfShiftsAssigned()
<< " shifts given " << nmr_file.getNumberOfAtoms() << " chemical shifts." << endl << endl;
...
cout << atom->getProperty(ShiftModule::PROPERTY__EXPERIMENTAL__SHIFT).getFloat() << endl;
...
// get the ChemicalUnit by label
NMRStarFile::MolecularSystem::ChemicalUnit chemical_unit = getChemicalUnitByLabel(chemical_unit_label);
// find the corresponding SampleCondition
if (chemical_unit.shifts && nmr_file.hasSampleCondition(chemical_unit.shifts->condition))
{
NMRStarFile::SampleCondition& condition = nmr_file.getSampleConditionByName(chemical_unit.shifts->condition);
if (condition.hasType("pH"))
pH = condition.values["pH"];
if (condition.hasType("pH*"))
pH = condition.values["pH*"];
if (condition.hasType("temperature"))
temperature = condition.values["temperature"];
if (condition.hasType("pressure"))
pressure = condition.values["pressure"];
cout << "NMR conditions: " << pH << ", " << temperature << ", " << pressure << endl;
}

Definition at line 113 of file NMRStarFile.h.

Constructor & Destructor Documentation

BALL::NMRStarFile::NMRStarFile ( )

Standard constructor

BALL::NMRStarFile::NMRStarFile ( const String file_name,
File::OpenMode  open_mode = std::ios::in 
)

Detailed constuctor. Opens the given file and extracts all usefull data (Calls read ).

Exceptions
Exception::FileNotFoundif the file could not be opened
BALL::NMRStarFile::~NMRStarFile ( )

Destructor.

Member Function Documentation

void BALL::NMRStarFile::addMonomericPolymer ( MonomericPolymer  mp)

Add a Monomeric Polymer NOTE: if a poymer with the same name already exists, it will be overwritten!

bool BALL::NMRStarFile::assignShifts ( BALLToBMRBMapper ball_to_bmrb_mapping)

Assign the shifts to the given AtomContainer as denoted in the given {BALLToBMRBMapper}.

Returns
bool - true if reading the file was successful
See Also
NMRStarFile::BALLToBMRBMapper
bool BALL::NMRStarFile::assignShifts ( AtomContainer ac,
const String chemical_unit,
const String aligned_ball_sequence,
const String aligned_nmrstar_sequence 
)

Assign the shifts to the given AtomContainer as pointed out in the alignment. The alignmed sequences should be given in OneLetterCode, where '-' denotes a gap.

Parameters
acAtomContainer to which the NMRStarfile's shift should be assigned.
chemical_unitthe name of the molecular system (chemical unit) storing the atom shifts
aligned_ball_sequencethe aligned AtomContainers aminoacid sequence
aligned_nmrstar_sequencethe aligned aminoacid sequence of the NMRStar file atoms
Returns
bool - true if reading the file was successful
bool BALL::NMRStarFile::assignShifts_ ( BALLToBMRBMapper pdb_to_bmrb_mapping)
private

Apply the shifts read into the AtomContainer as denoted in the mapping. We assume, that the file was already read! The shifts are stored as a property under the key {BALL::ShiftModule::PROPERTY__EXPERIMENTAL__SHIFT}

void BALL::NMRStarFile::clear ( )
virtual

Clear the object.

Reimplemented from BALL::File.

void BALL::NMRStarFile::findDependiencies_ ( )
private

find dependencies for the ChemicalUnits

const MolecularSystem::ChemicalUnit& BALL::NMRStarFile::getChemicalUnitByLabel ( String const &  label) const

Get a chemical unit by name

MolecularSystem::ChemicalUnit& BALL::NMRStarFile::getChemicalUnitByLabel ( String const &  label)

Get a chemical unit by name

const EntryInformation& BALL::NMRStarFile::getEntryInformation ( ) const
inline

Get the entry information

Definition at line 678 of file NMRStarFile.h.

const MolecularSystem& BALL::NMRStarFile::getMolecularInformation ( ) const
inline

Get the molecular information

Definition at line 682 of file NMRStarFile.h.

MolecularSystem& BALL::NMRStarFile::getMolecularInformation ( )
inline

Get the molecular information

Definition at line 686 of file NMRStarFile.h.

NMRStarFile::MonomericPolymer& BALL::NMRStarFile::getMonomericPolymer ( Position  i)

Get a mutable reference to the MonomericPolymer-information by index

Exceptions
Exception::OutOfRangeif a polymer with this index could not be found
const NMRStarFile::MonomericPolymer& BALL::NMRStarFile::getMonomericPolymer ( Position  i) const

Get the MonomericPolymer-information by index

Exceptions
Exception::OutOfRangeif a polymer with this index could not be found
NMRStarFile::MonomericPolymer& BALL::NMRStarFile::getMonomericPolymer ( const String name)

Get a mutable reference to the MonomericPolymer-information by name

Exceptions
Exception::OutOfRangeif a polymer with this name could not be found
const NMRStarFile::MonomericPolymer& BALL::NMRStarFile::getMonomericPolymer ( const String name) const

Get the MonomericPolymer-information by name

Exceptions
Exception::OutOfRangeif a polymer with this name could not be found
vector<MonomericPolymer> BALL::NMRStarFile::getMonomericPolymers ( ) const
inline

Get all Monomeric Polymers.

Definition at line 822 of file NMRStarFile.h.

const std::vector<NMRAtomDataSet>& BALL::NMRStarFile::getNMRData ( ) const

Get the extracted data for the atoms

NMRSpectrometer& BALL::NMRStarFile::getNMRSpectrometer ( Position  i)

Get the i-th spectrometer.

const NMRSpectrometer& BALL::NMRStarFile::getNMRSpectrometer ( Position  i) const

Get the i-th spectrometer.

NMRSpectrometer& BALL::NMRStarFile::getNMRSpectrometerByName ( String  name)

Get the spectrometer by its SaveFrame name.

const NMRSpectrometer& BALL::NMRStarFile::getNMRSpectrometerByName ( String  name) const

Get the spectrometer by its SaveFrame name.

float BALL::NMRStarFile::getNMRSpectrometerFieldStrength ( Position  i) const

Get the spectrometer field strength.

String BALL::NMRStarFile::getNMRSpectrometerManufacturer ( Position  i) const

Get the spectrometer manufacturer.

std::vector<NMRSpectrometer>& BALL::NMRStarFile::getNMRSpectrometers ( )
inline

Get the spectrometers.

Definition at line 774 of file NMRStarFile.h.

const std::vector<NMRSpectrometer>& BALL::NMRStarFile::getNMRSpectrometers ( ) const
inline

Get the spectrometers.

Definition at line 776 of file NMRStarFile.h.

Size BALL::NMRStarFile::getNumberOfAtoms ( ) const

Return the maximum number of atoms in all shift sets

Size BALL::NMRStarFile::getNumberOfMonomericPolymers ( ) const
inline

Get the number of monomeric polymers in the file.

Definition at line 819 of file NMRStarFile.h.

Size BALL::NMRStarFile::getNumberOfNMRSpectrometers ( ) const
inline

Get the number of nmr spectrometers.

Definition at line 779 of file NMRStarFile.h.

Size BALL::NMRStarFile::getNumberOfSampleConditions ( ) const
inline

Get the number of sample conditions.

Definition at line 721 of file NMRStarFile.h.

Size BALL::NMRStarFile::getNumberOfSamples ( ) const
inline

Get the number of samples.

Definition at line 736 of file NMRStarFile.h.

Size BALL::NMRStarFile::getNumberOfShiftReferenceSets ( ) const
inline

Get the number of shift reference sets.

Definition at line 757 of file NMRStarFile.h.

Size BALL::NMRStarFile::getNumberOfShiftsAssigned ( ) const
inline

Return the number of atoms assigned a chemical shift

Definition at line 670 of file NMRStarFile.h.

String BALL::NMRStarFile::getResidueSequence ( Position  i = 0) const

Get the sequence of residues of the i-th monomeric polymer in the file.

This method automatically compares the i-th monomeric_polymers' residue sequence with the actual stored NMR shift data. If there is a mismatch, a warning is given! If there is a mismatch or there is no monomeric_polymers residue sequence an empty.

Returns
String amino acid sequence
Sample BALL::NMRStarFile::getSample ( Position  i) const

Get the i-th sample. If i is out of size a dummy sample is returned.

Sample BALL::NMRStarFile::getSample ( String  label) const

Get the sample with name label. If no sample with name label exist a dummy sample is returned.

SampleCondition& BALL::NMRStarFile::getSampleCondition ( Position  i)
inline

Get the i-th SampleCondition.

Definition at line 715 of file NMRStarFile.h.

const SampleCondition& BALL::NMRStarFile::getSampleCondition ( Position  i) const
inline

Get the i-th SampleCondition.

Definition at line 718 of file NMRStarFile.h.

SampleCondition& BALL::NMRStarFile::getSampleConditionByName ( String  name)

Get a SampleCondition by its SaveFrame name

const SampleCondition& BALL::NMRStarFile::getSampleConditionByName ( String  name) const

Get a SampleCondition by its SaveFrame name

const std::vector<SampleCondition>& BALL::NMRStarFile::getSampleConditions ( ) const
inline

Get the sample conditions.

Definition at line 724 of file NMRStarFile.h.

std::vector<SampleCondition>& BALL::NMRStarFile::getSampleConditions ( )
inline

Get the sample conditions.

Definition at line 727 of file NMRStarFile.h.

std::vector<Sample> BALL::NMRStarFile::getSamples ( ) const
inline

Get the samples.

Definition at line 732 of file NMRStarFile.h.

ShiftReferenceSet& BALL::NMRStarFile::getShiftReferenceSet ( Position  i)
inline

Get the i-th shift reference set.

Definition at line 763 of file NMRStarFile.h.

const ShiftReferenceSet& BALL::NMRStarFile::getShiftReferenceSet ( Position  i) const
inline

Get the i-th shift reference set.

Definition at line 765 of file NMRStarFile.h.

const ShiftReferenceSet& BALL::NMRStarFile::getShiftReferenceSetByName ( String  name) const

Get a ShiftReferenceSet by its SaveFrame name.

ShiftReferenceSet& BALL::NMRStarFile::getShiftReferenceSetByName ( String  name)

Get a ShiftReferenceSet by its SaveFrame name.

std::vector<ShiftReferenceSet>& BALL::NMRStarFile::getShiftReferenceSets ( )
inline

Get the shift reference sets.

Definition at line 752 of file NMRStarFile.h.

const std::vector<ShiftReferenceSet>& BALL::NMRStarFile::getShiftReferenceSets ( ) const
inline

Get the shift reference sets.

Definition at line 754 of file NMRStarFile.h.

bool BALL::NMRStarFile::hasCshifts ( ) const
inline

Check, whether this NMRFile provides carbon shifts.

Definition at line 855 of file NMRStarFile.h.

bool BALL::NMRStarFile::hasHshifts ( ) const
inline

Check, whether this NMRFile provides hydrogen shifts.

Definition at line 852 of file NMRStarFile.h.

bool BALL::NMRStarFile::hasMonomericPolymer ( String  name) const

Check if polymer name is already stored is a monomeric polymer.

bool BALL::NMRStarFile::hasNshifts ( ) const
inline

Check, whether this NMRFile provides nitrogen shifts.

Definition at line 858 of file NMRStarFile.h.

bool BALL::NMRStarFile::hasSample ( String  label) const

Return true if the file contains a sample named label, false otherwise.

bool BALL::NMRStarFile::hasSampleCondition ( String  name)

Return true if the file contains a SampleCondition named name, false otherwise

bool BALL::NMRStarFile::hasSampleCondition ( String  name) const

Return true if the file contains a SampleCondition named name, false otherwise

bool BALL::NMRStarFile::hasShiftReferenceSet ( String  name)

Check if there is a ShiftReferenceSet named name.

bool BALL::NMRStarFile::isMonomericPolymer ( String  chemical_unit_label)

Check if label is a monomeric polymer.

Returns true if a monomer with name chemical_unit_label exists, false otherwise.

bool BALL::NMRStarFile::isValidSingleValue_ ( String  value)
private

check whether the given String denotes a non-available value

bool BALL::NMRStarFile::operator!= ( const NMRStarFile f)

Inequality operator Test if both instances point to different files.

bool BALL::NMRStarFile::operator== ( const NMRStarFile f)

Equality operator. Test if both instances point to the same file.

bool BALL::NMRStarFile::read ( )
virtual

Read an NMRStarFile.

Exceptions
Exception::ParseErrorif a syntax error was encountered

Reimplemented from BALL::CIFFile.

bool BALL::NMRStarFile::read ( AtomContainer ac)
void BALL::NMRStarFile::readEntryInformation_ ( )
private

reads the number of chemical shifts

void BALL::NMRStarFile::readMolSystem_ ( )
private

reads the molecular system name

void BALL::NMRStarFile::readMonomericPolymers_ ( )
private

read the MonomericPolymers

void BALL::NMRStarFile::readNMRSpectrometer_ ( )
private

reads the NMR spectrometer data

void BALL::NMRStarFile::readSampleConditions_ ( )
private

reads the sample conditions

void BALL::NMRStarFile::readSamples_ ( )
private

read the samples

void BALL::NMRStarFile::readShiftReferences_ ( )
private

reads the shift references

void BALL::NMRStarFile::readShifts_ ( )
private

reads the shift datas

void BALL::NMRStarFile::setSpecialCharacters_ ( String  characters)
private

set the characters denoting single non-available values

float BALL::NMRStarFile::valueToFloat_ ( String  value)
private

returns the value as float, if it is a valid one, or FLOAT_VALUE_NA

int BALL::NMRStarFile::valueToInt_ ( String  value)
private

returns the value as int, if it is a valid one, or INT_VALUE_NA

Member Data Documentation

std::vector<NMRAtomDataSet> BALL::NMRStarFile::atom_data_sets_
private

the data for the atoms is stored here

Definition at line 957 of file NMRStarFile.h.

MonomericPolymer BALL::NMRStarFile::dummy_monomeric_polymer_
private

Definition at line 995 of file NMRStarFile.h.

NMRSpectrometer BALL::NMRStarFile::dummy_NMR_spectrometer_
private

Definition at line 992 of file NMRStarFile.h.

Sample BALL::NMRStarFile::dummy_sample_
private

Definition at line 986 of file NMRStarFile.h.

SampleCondition BALL::NMRStarFile::dummy_sample_condition_
private

Definition at line 983 of file NMRStarFile.h.

SaveFrame BALL::NMRStarFile::dummy_saveframe_
private

Definition at line 980 of file NMRStarFile.h.

ShiftReferenceSet BALL::NMRStarFile::dummy_shift_reference_set_
private

Definition at line 989 of file NMRStarFile.h.

EntryInformation BALL::NMRStarFile::entry_information_
private

the general entry data

Definition at line 951 of file NMRStarFile.h.

const float BALL::NMRStarFile::FLOAT_VALUE_NA
static

Definition at line 119 of file NMRStarFile.h.

bool BALL::NMRStarFile::has_C_shifts_
private

Definition at line 976 of file NMRStarFile.h.

bool BALL::NMRStarFile::has_H_shifts_
private

stores, which shifts are given in the file

Definition at line 975 of file NMRStarFile.h.

bool BALL::NMRStarFile::has_N_shifts_
private

Definition at line 977 of file NMRStarFile.h.

const int BALL::NMRStarFile::INT_VALUE_NA
static

Definition at line 120 of file NMRStarFile.h.

MolecularSystem BALL::NMRStarFile::molecular_system_
private

the system information

Definition at line 954 of file NMRStarFile.h.

vector<MonomericPolymer> BALL::NMRStarFile::monomeric_polymers_
private

Monomeric Polymer information.

Definition at line 972 of file NMRStarFile.h.

std::vector<NMRSpectrometer> BALL::NMRStarFile::nmr_spectrometers_
private

the data of nmr spectrometers

Definition at line 969 of file NMRStarFile.h.

Size BALL::NMRStarFile::number_of_assigned_shifts_
private

the number of assigned shifts during the last call of assignShifts()

Definition at line 948 of file NMRStarFile.h.

Size BALL::NMRStarFile::number_of_shift_sets_
private

the number of shift data sets

Definition at line 945 of file NMRStarFile.h.

const Position BALL::NMRStarFile::POSITION_VALUE_NA
static

Definition at line 122 of file NMRStarFile.h.

std::vector<SampleCondition> BALL::NMRStarFile::sample_conditions_
private

the data for different sample sets

Definition at line 960 of file NMRStarFile.h.

std::vector<Sample> BALL::NMRStarFile::samples_
private

the samples

Definition at line 963 of file NMRStarFile.h.

std::vector<ShiftReferenceSet> BALL::NMRStarFile::shift_references_
private

the data for shift references

Definition at line 966 of file NMRStarFile.h.

String BALL::NMRStarFile::special_characters_
private

characters, that denote non-available values

Definition at line 998 of file NMRStarFile.h.

bool BALL::NMRStarFile::valid_
private

Definition at line 942 of file NMRStarFile.h.