Go to the documentation of this file.
5 #ifndef BALL_FORMAT_NMRSTARFILE_H
6 #define BALL_FORMAT_NMRSTARFILE_H
8 #ifndef BALL_FORMAT_CIFFILE_H
12 #ifndef BALL_KERNEL_PROTEIN_H
16 #ifndef BALL_STRUCTURE_PEPTIDES_H
489 num_mismatches_ = -1;
494 num_mismatches_ = -1;
564 const String& aligned_nmrstar_sequence);
660 const String& chemical_unit,
661 const String& aligned_ball_sequence,
662 const String& aligned_nmrstar_sequence);
890 void readEntryInformation_();
893 void readMolSystem_();
896 void readMonomericPolymers_();
899 void readSampleConditions_();
902 void readShiftReferences_();
911 void readNMRSpectrometer_();
914 void findDependiencies_();
917 void setSpecialCharacters_(
String characters);
920 bool isValidSingleValue_(
String value);
923 float valueToFloat_(
String value);
926 int valueToInt_(
String value);
945 Size number_of_shift_sets_;
948 Size number_of_assigned_shifts_;
957 std::vector<NMRAtomDataSet> atom_data_sets_;
960 std::vector<SampleCondition> sample_conditions_;
963 std::vector<Sample> samples_;
966 std::vector<ShiftReferenceSet> shift_references_;
969 std::vector<NMRSpectrometer> nmr_spectrometers_;
972 vector<MonomericPolymer> monomeric_polymers_;
980 SaveFrame dummy_saveframe_;
998 String special_characters_;
1005 #endif // BALL_FORMAT_NMRSTARFILE_H
bool createTrivialMapping()
Size getNumberOfAtoms() const
NMRAtomDataSet(NMRStarFile *parent)
bool hasSample(String label) const
Return true if the file contains a sample named label, false otherwise.
ChemicalUnit & getChemicalUnit(Position i)
bool createMapping(const String &aligned_ball_sequence, const String &aligned_nmrstar_sequence)
StringHashMap< float > values
bool assignShifts(AtomContainer &ac, const String &chemical_unit, const String &aligned_ball_sequence, const String &aligned_nmrstar_sequence)
bool hasHshifts() const
Check, whether this NMRFile provides hydrogen shifts.
Size getNumberOfShiftReferenceSets() const
Get the number of shift reference sets.
String experimental_method
const std::vector< NMRSpectrometer > & getNMRSpectrometers() const
Get the spectrometers.
const NMRStarFile * getNMRStarFile() const
Get the NMRStar file.
void setNMRStarFile(NMRStarFile const &nmrfile)
Set the NMRStar file.
int getNumberOfMismatches()
Return the number of mismatches in the current mapping.
Peptides::NameConverter name_converter_
bool read(AtomContainer &ac)
const BMRBToBALLMapping & getBMRBToBALLMapping() const
Return the mapping
BALL_EXPORT bool operator!=(const String &s1, const String &s2)
vector< MonomericPolymer > getMonomericPolymers() const
Get all Monomeric Polymers.
const NMRStarFile::MonomericPolymer & getMonomericPolymer(Position i) const
vector< HomologDB > homolog_database_entries
Position nmr_atom_data_set_index_
BMRBToBALLMapping bmrb_to_ball_map_
map NMR atom data to BALL atoms
BALLToBMRBMapper(Chain const &chain, const NMRStarFile &nmr_data, const String &chemical_unit)
Size getNumberOfChemicalUnits() const
static const Position POSITION_VALUE_NA
const MolecularSystem & getMolecularInformation() const
static const int INT_VALUE_NA
SampleCondition & getSampleCondition(Position i)
Get the i-th SampleCondition.
Database with homolog entries.
Size getNumberOfNMRSpectrometers() const
Get the number of nmr spectrometers.
float seq_to_submitted_percentage
String BMRB_accession_code
std::vector< NMRSpectrometer > & getNMRSpectrometers()
Get the spectrometers.
String system_oligomer_state
const NMRAtomDataSet * nmr_atom_data_set_
std::vector< ShiftReferenceElement > elements
NMRSpectrometer & getNMRSpectrometer(Position i)
Get the i-th spectrometer.
SampleCondition & getSampleConditionByName(String name)
std::vector< NMRAtomData > atom_data
float concentration_value
ShiftReferenceSet & getShiftReferenceSet(Position i)
Get the i-th shift reference set.
This class provides conversion of atom names between naming schemata.
String system_paramagnetic
MolecularSystem::ChemicalUnit & getChemicalUnitByLabel(String const &label)
const NMRAtomDataSet * getNMRAtomDataSet() const
bool hasCshifts() const
Check, whether this NMRFile provides carbon shifts.
NMRStarFile(const String &file_name, File::OpenMode open_mode=std::ios::in)
const SampleCondition & getSampleCondition(Position i) const
Get the i-th SampleCondition.
vector< ChemicalUnit > chemical_units
const NMRSpectrometer & getNMRSpectrometer(Position i) const
Get the i-th spectrometer.
MolecularSystem & getMolecularInformation()
int getNumberOfGaps()
Return the number of mismatches in the current mapping.
bool assignShifts(BALLToBMRBMapper &ball_to_bmrb_mapping)
vector< RelatedDB > related_database_entries
std::map< Atom const *, BMRBIndex > BALLToBMRBMapping
std::vector< ShiftReferenceSet > & getShiftReferenceSets()
Get the shift reference sets.
float homology_expectation_value
~NMRStarFile()
Destructor.
const EntryInformation & getEntryInformation() const
String getNMRSpectrometerManufacturer(Position i) const
Get the spectrometer manufacturer.
const ShiftReferenceSet & getShiftReferenceSetByName(String name) const
Get a ShiftReferenceSet by its SaveFrame name.
bool setNMRAtomDataSetByName(String const &chemical_unit_name)
Set the NMRAtomDataSet by chemical unit name.
ChemicalUnit const & getChemicalUnit(Position i) const
bool isMapped(Atom const *atom) const
const NMRStarFile::MonomericPolymer & getMonomericPolymer(const String &name) const
void addMonomericPolymer(MonomericPolymer mp)
const MolecularSystem::ChemicalUnit & getChemicalUnitByLabel(String const &label) const
std::ios::openmode OpenMode
BALLToBMRBMapping ball_to_bmrb_map_
map BALL atoms to NMR atom data
vector< Component > components
StringHashMap< float > errors
void setChain(Chain const &chain)
Set the chain.
float system_molecular_weight
The systems molecular weigth in dalton.
Size getNumberOfMonomericPolymers() const
Get the number of monomeric polymers in the file.
StringHashMap< String > residues_by_index
std::vector< Sample > getSamples() const
Get the samples.
String system_thiol_state
ShiftReferenceSet & getShiftReferenceSetByName(String name)
Get a ShiftReferenceSet by its SaveFrame name.
std::vector< SampleCondition > & getSampleConditions()
Get the sample conditions.
const std::vector< SampleCondition > & getSampleConditions() const
Get the sample conditions.
const Chain * getChain() const
Get the chain.
bool has(const String &key) const
bool hasType(String type)
Position residue_seq_code
Sample getSample(Position i) const
String system_physical_state
String getResidueSequence(Position i=0) const
const NMRSpectrometer & getNMRSpectrometerByName(String name) const
Get the spectrometer by its SaveFrame name.
void setNMRAtomDataSet(NMRAtomDataSet const &nmr_atom_data_set)
Set the NMRAtomDataSet.
BALLToBMRBMapping & getBALLToBMRBMapping()
Return the mapping
This class provides methods for reading and assigning chemical shifts.
float indirect_shift_ratio
NMRSpectrometer & getNMRSpectrometerByName(String name)
Get the spectrometer by its SaveFrame name.
bool hasNshifts() const
Check, whether this NMRFile provides nitrogen shifts.
BALL_EXPORT bool operator==(const String &s1, const String &s2)
Size getNumberOfSampleConditions() const
Get the number of sample conditions.
bool hasShiftReferenceSet(String name)
Check if there is a ShiftReferenceSet named name.
MonomericPolymer * monomeric_polymer
bool hasSampleCondition(String name) const
const ShiftReferenceSet & getShiftReferenceSet(Position i) const
Get the i-th shift reference set.
std::map< const NMRAtomData *, Atom const * > BMRBToBALLMapping
std::pair< Position, Position > BMRBIndex
const std::vector< NMRAtomDataSet > & getNMRData() const
Size getNumberOfShiftsAssigned() const
const NMRStarFile * nmr_data_
std::istream & operator>>(std::istream &is, TRegularData1D< ValueType > &grid)
Input operator.
bool hasMonomericPolymer(String name) const
Check if polymer name is already stored is a monomeric polymer.
const Atom * getBALLAtom(const NMRAtomData &nmr_atom) const
const BALLToBMRBMapping & getBALLToBMRBMapping() const
Return the mapping
std::vector< String > samples
BMRBToBALLMapping & getBMRBToBALLMapping()
Return the mapping
Size getNumberOfSamples() const
Get the number of samples.
const std::vector< ShiftReferenceSet > & getShiftReferenceSets() const
Get the shift reference sets.
const SampleCondition & getSampleConditionByName(String name) const
String abbreviation_common
static const float FLOAT_VALUE_NA
bool hasSampleCondition(String name)
Sample getSample(String label) const
virtual ~BALLToBMRBMapper()
Destructor.
bool isMonomericPolymer(String chemical_unit_label)
NMRStarFile::MonomericPolymer & getMonomericPolymer(Position i)
StringHashMap< String > units
NMRStarFile::MonomericPolymer & getMonomericPolymer(const String &name)
bool isMapped(const NMRAtomData &nmr_atom) const
Test whether the given nmr atom data is mapped to a structure atom.
float getNMRSpectrometerFieldStrength(Position i) const
Get the spectrometer field strength.