#include "ccp4_utils.h"
#include "mtzdata.h"
Go to the source code of this file.
Functions | |
MTZ * | MtzGet (const char *logname, int read_refs) |
MTZ * | MtzGetUserCellTolerance (const char *logname, int read_refs, const double cell_tolerance) |
int | MtzRrefl (CCP4File *filein, int ncol, float *refldata) |
int | MtzPut (MTZ *mtz, const char *logname) |
CCP4File * | MtzOpenForWrite (const char *logname) |
int | MtzWhdrLine (CCP4File *fileout, int nitems, char buffer[]) |
int | MtzWrefl (CCP4File *fileout, int ncol, float *refldata) |
int | MtzDeleteRefl (MTZ *mtz, int iref) |
MTZ * | MtzMalloc (int nxtal, int nset[]) |
int | MtzFree (MTZ *mtz) |
MTZCOL * | MtzMallocCol (MTZ *mtz, int nref) |
int | MtzFreeCol (MTZCOL *col) |
MTZBAT * | MtzMallocBatch (void) |
int | MtzFreeBatch (MTZBAT *batch) |
char * | MtzCallocHist (int nhist) |
int | MtzFreeHist (char *hist) |
void | MtzMemTidy (void) |
int | MtzNbat (const MTZ *mtz) |
int | MtzNref (const MTZ *mtz) |
int | MtzSpacegroupNumber (const MTZ *mtz) |
int | MtzResLimits (const MTZ *mtz, float *minres, float *maxres) |
int | MtzNxtal (const MTZ *mtz) |
int | MtzNumActiveXtal (const MTZ *mtz) |
MTZXTAL ** | MtzXtals (MTZ *mtz) |
MTZXTAL * | MtzIxtal (const MTZ *mtz, const int ixtal) |
char * | MtzXtalPath (const MTZXTAL *xtal) |
MTZXTAL * | MtzXtalLookup (const MTZ *mtz, const char *label) |
MTZXTAL * | MtzAddXtal (MTZ *mtz, const char *xname, const char *pname, const float cell[6]) |
int | MtzNsetsInXtal (const MTZXTAL *xtal) |
int | MtzNumActiveSetsInXtal (const MTZ *mtz, const MTZXTAL *xtal) |
MTZSET ** | MtzSetsInXtal (MTZXTAL *xtal) |
MTZSET * | MtzIsetInXtal (const MTZXTAL *xtal, const int iset) |
int | MtzNset (const MTZ *mtz) |
int | MtzNumActiveSet (const MTZ *mtz) |
MTZXTAL * | MtzSetXtal (const MTZ *mtz, const MTZSET *set) |
char * | MtzSetPath (const MTZ *mtz, const MTZSET *set) |
MTZSET * | MtzSetLookup (const MTZ *mtz, const char *label) |
MTZSET * | MtzAddDataset (MTZ *mtz, MTZXTAL *xtl, const char *dname, const float wavelength) |
int | MtzNcolsInSet (const MTZSET *set) |
int | MtzNumActiveColsInSet (const MTZSET *set) |
int | MtzNumSourceColsInSet (const MTZSET *set) |
int | MtzNbatchesInSet (const MTZ *mtz, const MTZSET *set) |
MTZCOL ** | MtzColsInSet (MTZSET *set) |
MTZCOL * | MtzIcolInSet (const MTZSET *set, const int icol) |
MTZCOL * | MtzAddColumn (MTZ *mtz, MTZSET *set, const char *label, const char *type) |
int | MtzAssignHKLtoBase (MTZ *mtz) |
int | MtzAssignColumn (MTZ *mtz, MTZCOL *col, const char crystal_name[], const char dataset_name[]) |
int | MtzToggleColumn (MTZCOL *col) |
MTZSET * | MtzColSet (const MTZ *mtz, const MTZCOL *col) |
int | MtzNcol (const MTZ *mtz) |
int | MtzNumActiveCol (const MTZ *mtz) |
int | MtzNumSourceCol (const MTZ *mtz) |
char * | MtzColPath (const MTZ *mtz, const MTZCOL *col) |
int | MtzRJustPath (char *path, const char *partial, const int njust) |
int | MtzPathMatch (const char *path1, const char *path2) |
MTZCOL * | MtzColLookup (const MTZ *mtz, const char *label) |
char * | MtzColType (MTZCOL *col) |
void | MtzDebugHierarchy (const MTZ *mtz) |
int | MtzListColumn (const MTZ *mtz, char clabs[][31], char ctyps[][3], int csetid[]) |
int | MtzListInputColumn (const MTZ *mtz, char clabs[][31], char ctyps[][3], int csetid[]) |
int | MtzFindInd (const MTZ *mtz, int *ind_xtal, int *ind_set, int ind_col[3]) |
float | MtzInd2reso (const int in[3], const double coefhkl[6]) |
int | MtzHklcoeffs (const float cell[6], double coefhkl[6]) |
int | MtzArrayToBatch (const int *intbuf, const float *fltbuf, MTZBAT *batch) |
int | MtzBatchToArray (MTZBAT *batch, int *intbuf, float *fltbuf) |
MTZBAT * | sort_batches (MTZBAT *batch, int numbat) |
int | ccp4_lrtitl (const MTZ *mtz, char *title) |
int | ccp4_lrhist (const MTZ *mtz, char history[][MTZRECORDLENGTH], int nlines) |
int | ccp4_lrsort (const MTZ *mtz, int isort[5]) |
int | ccp4_lrbats (const MTZ *mtz, int *nbatx, int batchx[]) |
int | ccp4_lrcell (const MTZXTAL *xtl, float cell[]) |
int | ccp4_lrsymi (const MTZ *mtz, int *nsympx, char *ltypex, int *nspgrx, char *spgrnx, char *pgnamx) |
int | ccp4_lrsymm (const MTZ *mtz, int *nsymx, float rsymx[192][4][4]) |
int | MtzParseLabin (char *labin_line, const char prog_labels[][31], const int nlprgi, char user_labels[][2][31]) |
MTZCOL ** | ccp4_lrassn (const MTZ *mtz, const char labels[][31], const int nlabels, char types[][3]) |
int | ccp4_lridx (const MTZ *mtz, const MTZSET *set, char crystal_name[64], char dataset_name[64], char project_name[64], int *isets, float datcell[6], float *datwave) |
int | ccp4_lrrefl (const MTZ *mtz, float *resol, float adata[], int logmss[], int iref) |
int | ccp4_lrreff (const MTZ *mtz, float *resol, float adata[], int logmss[], const MTZCOL *lookup[], const int ncols, const int iref) |
int | ccp4_ismnf (const MTZ *mtz, const float datum) |
int | ccp4_lhprt (const MTZ *mtz, int iprint) |
int | ccp4_lhprt_adv (const MTZ *mtz, int iprint) |
int | ccp4_lrbat (MTZBAT *batch, float *buf, char *charbuf, int iprint) |
int | MtzPrintBatchHeader (const MTZBAT *batch) |
int | ccp4_lwtitl (MTZ *mtz, const char *ftitle, int flag) |
int | MtzSetSortOrder (MTZ *mtz, MTZCOL *colsort[5]) |
int | MtzAddHistory (MTZ *mtz, const char history[][MTZRECORDLENGTH], const int nlines) |
int | ccp4_lwsymm (MTZ *mtz, int nsymx, int nsympx, float rsymx[192][4][4], char ltypex[], int nspgrx, char spgrnx[], char pgnamx[]) |
MTZCOL ** | ccp4_lwassn (MTZ *mtz, const char labels[][31], const int nlabels, const char types[][3], const int iappnd) |
int | ccp4_lwidx (MTZ *mtz, const char crystal_name[], const char dataset_name[], const char project_name[], const float datcell[6], const float *datwave) |
int | ccp4_lwrefl (MTZ *mtz, const float adata[], MTZCOL *lookup[], const int ncol, const int iref) |
int | ccp4_lwbat (MTZ *mtz, MTZBAT *batch, const int batno, const float *buf, const char *charbuf) |
int | ccp4_lwbsetid (MTZ *mtz, MTZBAT *batch, const char xname[], const char dname[]) |
Functions defining the C-level API for accessing MTZ files. MtzGet and MtzPut read and write MTZ files to/from a data structure defined in mtzdata.h Other functions allow one to access data structure members, and to manipulate the structure and the values of structure members. Functions with names beginning ccp4_lr
or ccp4_lw
are primarily to support the Fortran API.
|
Checks whether a particular reflection value represents missing data.
|
|
Function to print header information in traditional format.
|
|
Function to print header information in format appropriate to data structure hierarchy.
|
|
Finds columns in an MTZ struct according to column labels. Column types are checked for agreement between requested type (in argument 'types') and file type. If requested type is blank, file type is returned in argument 'types'. Note, this function is different from Fortranic LRASSN, in that any conversion from program labels to user labels should have been done previously.
|
|
Function to return batch header data for a specified batch.
|
|
Get batch numbers from MTZ structure.
|
|
Get cell dimensions for a particular crystal.
|
|
Get history lines from MTZ structure.
|
|
Report information on a particular dataset. This represents the collection of data held in one series of dataset records in the MTZ header. It is mainly useful for supporting old Fortran calls.
|
|
Returns iref'th reflection from file held in MTZ struct mtz. Returns data for certain columns held in input file, as specified by the column pointers held in lookup. In "in-memory" mode, reflection data is taken from arrays held in memory. In the traditional file-based mode, a reflection record is read from the input file.
|
|
Returns iref'th reflection from file held in MTZ struct mtz. Returns data for all columns held in input file, in the order that they are held in the source file. The value of col->source can be used to find particular columns. In "in-memory" mode, reflection data is taken from arrays held in memory. In the traditional file-based mode, a reflection record is read from the input file.
|
|
Get sort order from MTZ structure.
|
|
Get spacegroup information as held in MTZ header.
|
|
Get symmetry matrices from MTZ structure. Note: ordering of matrices in rsymx was changed in April 2004.
|
|
Returns title of MTZ structure 'mtz'
|
|
Write new batch information to 'batch' or if 'batch' is NULL create new batch header with batch number 'batno'. If you try to create more than one new batch header with the same batch number, the function will complain and return. It is OK to create a new batch with the same number as one read from file - this is the mechanism for changing batch headers.
|
|
Function to output reflection values for iref'th reflection. The reflection values are provided in an array "adata". The value in adata[i] will be assigned to the MTZ column pointed to by lookup[i]. Typically, lookup[i] is a pointer returned from an earlier call to MtzAddColumn(). In "in-memory" mode, values are added/updated to column data held in memory. In the traditional file-based mode, a reflection record is written to file. This function will also update the column ranges and the crystal/file resolution limits.
|
|
Write or update symmetry information for MTZ header. This provides support for the Fortran API, and is not particularly convenient for C programs. Note: ordering of matrices in rsymx was changed in November 2003.
|
|
Write header title for later output to file.
|
|
Add a column to dataset set and create + fill with NAN
|
|
Add a dataset to crystal xtl
|
|
Adds history lines to the MTZ header in front of existing history lines.
|
|
Add a crystal to header mtz.
|
|
Reads batch arrays into data structure.
|
|
Assigns a column to a dataset identified by crystal_name and dataset_name. First, the function checks whether the column already belongs to this dataset, in which case it does nothing. Then it checks if the requested dataset exists. If not, it is created, though it is better to explicitly create it beforehand. Finally, the column is assigned to the dataset.
|
|
Assigns HKL columns to the base dataset.
|
|
Writes data structure to batch arrays.
|
|
Allocates memory for the mtz history with 'nhist' lines.
|
|
Returns a pointer to the column of mtz with the given `label`, or NULL
|
|
Return the full path name of a column as "/xname/dname/label" Memory for the path name is assigned with malloc, and can be free'd by the calling function.
|
|
Get the dataset associated with a column.
|
|
For a given dataset, return array of pointers to columns in that dataset.
|
|
Get the MTZ column type of a particular column.
|
|
Print summary of current crystal/dataset/column hierarchy. This is designed for debugging purposes rather than for the user.
|
|
Delete a reflection from the data structure. Beware, there is no going back!
|
|
Find where indices h, k, l are in MTZ structure. Usually, they will be first 3 columns of 1st dataset, but safest not to assume this.
|
|
Frees the memory reserved for the MTZ header struct.
|
|
Frees the memory reserved for 'batch'.
|
|
Frees the memory reserved for 'col'
|
|
Frees the memory reserved for 'hist'.
|
|
Reads the contents of the MTZ file into an MTZ structure.
|
|
Reads the contents of the MTZ file into an MTZ structure. As for function MtzGet except for extra argument cell_tolerance.
|
|
Generate coefhkl coefficients from given cell parameters.
|
|
For a given dataset, return pointer to the icol'th column in that dataset.
|
|
Calculate resolution from indices and coefhkl. coefhkl is obtained from MtzHklcoeffs.
|
|
For a given crystal, return pointer to the iset'th dataset in that crystal.
|
|
Return pointer to the ixtal'th crystal.
|
|
List of column information: label, type, dataset.
|
|
List of column information from input file: label, type, dataset.
|
|
Allocates memory for an MTZ header structure. The structure can contain 0, 1 or more crystals, and for each crystal 0, 1 or more datasets. Crystals have a name based on the time "NULL_xnameHHMMSS" to ensure uniqueness (compared to crystals defined elsewhere - all new crystals created here will (probably) have the same name). Crystals have the project name "NULL_pname", and datasets have the name "NULL_dname".
|
|
Allocates memory for a single batch header.
|
|
Allocates memory for an MTZ column. Space is allocated for the reflection data if and only if mtz->refs_in_memory is set.
|
|
Free all memory malloc'd from static pointers. To be called before program exit. The function can be registered with atexit.
|
|
Get the number of batches in the mtz.
|
|
For a given dataset, return number of batches in that dataset.
|
|
Get the number of columns in the MTZ data structure.
|
|
For a given dataset, return number of columns in that dataset. This is simply set->ncol and so includes all columns irrespective of col->active
|
|
Get the number of reflections in the mtz.
|
|
Get the number of datasets in the MTZ structure
|
|
For a given crystal, return number of datasets in that crystal.
|
|
Get the number of active columns in the MTZ data structure.
|
|
For a given dataset, return number of active columns in that dataset.
|
|
Get the number of active datasets in the MTZ structure
|
|
For a given crystal, return number of active datasets in that crystal.
|
|
Get the number of active crystals in the MTZ structure
|
|
Get the number of columns in the MTZ data structure which have a source in an input file (i.e. non-zero source attribute).
|
|
For a given dataset, return number of columns in that dataset which have a source in an input file (i.e. non-zero source attribute).
|
|
Get the total number of crystals in the MTZ structure
|
|
Opens a new MTZ file for writing. The output file can be specified either with a true filename, or more likely as a logical name corresponding to an environment variable or a CCP4 command line argument such as HKLOUT.
|
|
Uses LABIN or LABOUT line to convert program labels to user labels. This is a helper function, but does not access reflection structure at all.
|
|
Test for match between two paths, including wildcards
|
|
Function to print batch header data for a specified batch to stdout.
|
|
Writes an MTZ data structure to disk. If file is already open, MtzPut uses file pointer in mtz struct, else uses logical name of file.
|
|
Return the overall resolution limits of the MTZ structure. These are the widest limits over all crystals present.
|
|
Complete a right-justified path by prefixing with wildcards
|
|
Reads reflection data from MTZ file.
|
|
Returns a pointer to the dataset of MTZ with the given label.
|
|
Return the full path name of a dataset as "/xname/dname" The pointer to MTZ is required to do reverse lookup of xname. Memory for the path name is assigned with malloc, and can be free'd by the calling function.
|
|
For a given crystal, return array of pointers to datasets in that crystal.
|
|
Sets the sort order in the MTZ header. The sort order is a list of columns to be used for sorting, to be applied in the order they appear in the list, i.e. sort first on colsort[0], then on colsort[1], etc. If there are less than 5 columns to be used for sorting, some of colsort[] may be NULL.
|
|
Get the crystal associated with a dataset The pointer to MTZ is required to do reverse lookup of xname.
|
|
Get the spacegroup number (likely CCP4 convention).
|
|
Toggle active flag of column. A value of 0 means inactive and will not be written out, whereas a value of 1 means active and will be written out.
|
|
Write header record to fileout. Record is filled from buffer and padded by blanks to a total length of MTZRECORDLENGTH.
|
|
Write ncol column entries to fileout from refldata.
|
|
Returns a pointer to the crystal of mtz with the given `label`, or NULL.
|
|
Return the full path name of a crystal as "/xname" Memory for the path name is assigned with malloc, and can be free'd by the calling function.
|
|
Return array of pointers to crystals.
|
|
Sort a linked list of batches on batch number. The function first checks whether batches are already in order, as they will usually be.
|