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;
504 bool setNMRAtomDataSetByName(
String const& chemical_unit_name);
541 bool isMapped(
Atom const* atom)
const;
544 BMRBIndex operator () (
const Atom* atom);
552 bool createTrivialMapping();
563 bool createMapping(
const String& aligned_ball_sequence,
564 const String& aligned_nmrstar_sequence);
660 const String& chemical_unit,
661 const String& aligned_ball_sequence,
662 const String& aligned_nmrstar_sequence);
666 Size getNumberOfAtoms()
const;
674 const std::vector<NMRAtomDataSet>& getNMRData()
const;
691 const MolecularSystem::ChemicalUnit& getChemicalUnitByLabel(
String const& label)
const;
695 MolecularSystem::ChemicalUnit& getChemicalUnitByLabel(
String const& label);
700 bool hasSampleCondition(
String name);
704 bool hasSampleCondition(
String name)
const;
708 SampleCondition& getSampleConditionByName(
String name);
712 const SampleCondition& getSampleConditionByName(
String name)
const;
739 bool hasSample(
String label)
const;
749 Sample getSample(
String label)
const;
760 bool hasShiftReferenceSet(
String name);
768 const ShiftReferenceSet& getShiftReferenceSetByName(
String name)
const;
770 ShiftReferenceSet& getShiftReferenceSetByName(
String name);
782 NMRSpectrometer& getNMRSpectrometer(
Position i);
784 const NMRSpectrometer& getNMRSpectrometer(
Position i)
const;
787 NMRSpectrometer& getNMRSpectrometerByName(
String name);
789 const NMRSpectrometer& getNMRSpectrometerByName(
String name)
const;
795 float getNMRSpectrometerFieldStrength(
Position i)
const;
825 bool hasMonomericPolymer(
String name)
const;
832 bool isMonomericPolymer(
String chemical_unit_label);
838 void addMonomericPolymer(MonomericPolymer mp);
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);
932 bool assignShifts_(BALLToBMRBMapper& pdb_to_bmrb_mapping);
945 Size number_of_shift_sets_;
948 Size number_of_assigned_shifts_;
951 EntryInformation entry_information_;
954 MolecularSystem molecular_system_;
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_;
983 SampleCondition dummy_sample_condition_;
986 Sample dummy_sample_;
989 ShiftReferenceSet dummy_shift_reference_set_;
992 NMRSpectrometer dummy_NMR_spectrometer_;
995 MonomericPolymer dummy_monomeric_polymer_;
998 String special_characters_;
1005 #endif // BALL_FORMAT_NMRSTARFILE_H
const NMRAtomDataSet * nmr_atom_data_set_
void setChain(Chain const &chain)
Set the chain.
float seq_to_submitted_percentage
static const int INT_VALUE_NA
StringHashMap< float > errors
SampleCondition & getSampleCondition(Position i)
Get the i-th SampleCondition.
Position residue_seq_code
float concentration_value
Peptides::NameConverter name_converter_
std::map< Atom const *, BMRBIndex > BALLToBMRBMapping
StringHashMap< String > residues_by_index
std::vector< ShiftReferenceElement > elements
BMRBToBALLMapping bmrb_to_ball_map_
map NMR atom data to BALL atoms
int getNumberOfGaps()
Return the number of mismatches in the current mapping.
bool hasCshifts() const
Check, whether this NMRFile provides carbon shifts.
BMRBToBALLMapping & getBMRBToBALLMapping()
Return the mapping.
const NMRStarFile * nmr_data_
String abbreviation_common
Size getNumberOfShiftReferenceSets() const
Get the number of shift reference sets.
Position nmr_atom_data_set_index_
ShiftReferenceSet & getShiftReferenceSet(Position i)
Get the i-th shift reference set.
Size getNumberOfChemicalUnits() const
const std::vector< SampleCondition > & getSampleConditions() const
Get the sample conditions.
vector< RelatedDB > related_database_entries
std::vector< NMRSpectrometer > & getNMRSpectrometers()
Get the spectrometers.
const NMRAtomDataSet * getNMRAtomDataSet() const
std::istream & operator>>(std::istream &is, TRegularData1D< ValueType > &grid)
Input operator.
BALLToBMRBMapping ball_to_bmrb_map_
map BALL atoms to NMR atom data
void setNMRAtomDataSet(NMRAtomDataSet const &nmr_atom_data_set)
Set the NMRAtomDataSet.
bool hasType(String type)
std::vector< SampleCondition > & getSampleConditions()
Get the sample conditions.
std::vector< ShiftReferenceSet > & getShiftReferenceSets()
Get the shift reference sets.
vector< Component > components
Size getNumberOfSampleConditions() const
Get the number of sample conditions.
String system_physical_state
static const float FLOAT_VALUE_NA
String system_thiol_state
Size getNumberOfSamples() const
Get the number of samples.
String system_paramagnetic
bool hasNshifts() const
Check, whether this NMRFile provides nitrogen shifts.
int getNumberOfMismatches()
Return the number of mismatches in the current mapping.
const BALLToBMRBMapping & getBALLToBMRBMapping() const
Return the mapping.
vector< HomologDB > homolog_database_entries
std::ios::openmode OpenMode
ChemicalUnit const & getChemicalUnit(Position i) const
std::map< const NMRAtomData *, Atom const * > BMRBToBALLMapping
String experimental_method
BALLToBMRBMapping & getBALLToBMRBMapping()
Return the mapping.
vector< MonomericPolymer > getMonomericPolymers() const
Get all Monomeric Polymers.
Size getNumberOfShiftsAssigned() const
vector< ChemicalUnit > chemical_units
const std::vector< ShiftReferenceSet > & getShiftReferenceSets() const
Get the shift reference sets.
BALL_EXPORT bool operator!=(const String &s1, const String &s2)
ChemicalUnit & getChemicalUnit(Position i)
This class provides methods for reading and assigning chemical shifts.
StringHashMap< String > units
This class provides conversion of atom names between naming schemata.
String system_oligomer_state
std::vector< String > samples
MonomericPolymer * monomeric_polymer
std::pair< Position, Position > BMRBIndex
std::vector< NMRAtomData > atom_data
const BMRBToBALLMapping & getBMRBToBALLMapping() const
Return the mapping.
BALL_EXPORT bool operator==(const String &s1, const String &s2)
void setNMRStarFile(NMRStarFile const &nmrfile)
Set the NMRStar file.
const Chain * getChain() const
Get the chain.
const EntryInformation & getEntryInformation() const
std::vector< Sample > getSamples() const
Get the samples.
float homology_expectation_value
String BMRB_accession_code
Size getNumberOfMonomericPolymers() const
Get the number of monomeric polymers in the file.
StringHashMap< float > values
Database with homolog entries.
float system_molecular_weight
The systems molecular weigth in dalton.
const NMRStarFile * getNMRStarFile() const
Get the NMRStar file.
virtual ~BALLToBMRBMapper()
Destructor.
bool hasHshifts() const
Check, whether this NMRFile provides hydrogen shifts.
const std::vector< NMRSpectrometer > & getNMRSpectrometers() const
Get the spectrometers.
float indirect_shift_ratio
const SampleCondition & getSampleCondition(Position i) const
Get the i-th SampleCondition.
static const Position POSITION_VALUE_NA
const ShiftReferenceSet & getShiftReferenceSet(Position i) const
Get the i-th shift reference set.
const MolecularSystem & getMolecularInformation() const
Size getNumberOfNMRSpectrometers() const
Get the number of nmr spectrometers.
MolecularSystem & getMolecularInformation()