hp2FEM  0.1
Functions
src/metis-5.0/GKlib/gk_proto.h File Reference

This file contains function prototypes. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

FILE * gk_fopen (char *, char *, const char *)
void gk_fclose (FILE *)
gk_idx_t gk_getline (char **lineptr, size_t *n, FILE *stream)
char ** gk_readfile (char *fname, gk_idx_t *r_nlines)
int32_t * gk_i32readfile (char *fname, gk_idx_t *r_nlines)
int64_t * gk_i64readfile (char *fname, gk_idx_t *r_nlines)
int gk_fexists (char *)
int gk_dexists (char *)
intmax_t gk_getfsize (char *)
 Returns the size of the file in bytes.
void gk_getfilestats (char *fname, size_t *r_nlines, size_t *r_ntokens, size_t *r_max_nlntokens, size_t *r_nbytes)
char * gk_getbasename (char *path)
char * gk_getextname (char *path)
char * gk_getfilename (char *path)
char * gk_getpathname (char *path)
int gk_mkpath (char *)
int gk_rmpath (char *)
void gk_AllocMatrix (void ***, size_t, size_t, size_t)
void gk_FreeMatrix (void ***, size_t, size_t)
int gk_malloc_init ()
void gk_malloc_cleanup (int showstats)
void * gk_malloc (size_t nbytes, char *msg)
void * gk_realloc (void *oldptr, size_t nbytes, char *msg)
void gk_free (void **ptr1,...)
size_t gk_GetCurMemoryUsed ()
size_t gk_GetMaxMemoryUsed ()
gk_seq_tgk_seq_ReadGKMODPSSM (char *file_name)
 This function reads a pssm in the format of gkmod pssm.
gk_i2cc2i_tgk_i2cc2i_create_common (char *alphabet)
 This function creates the localizations for the various sequences.
void gk_seq_init (gk_seq_t *seq)
char gk_threetoone (char *res)
 Converts three-letter amino acid codes to one-leter codes.
void gk_freepdbf (pdbf *p)
 Frees the memory of a pdbf structure.
pdbfgk_readpdbfile (char *fname)
 Reads a pdb file into a pdbf structure.
void gk_writefullatom (pdbf *p, char *fname)
 Writes all atoms in p in pdb-format to file fname.
void gk_writebackbone (pdbf *p, char *fname)
 Writes out all the backbone atoms of a structure in pdb format.
void gk_writealphacarbons (pdbf *p, char *fname)
 Writes out all the alpha carbon atoms of a structure.
void gk_showcorruption (pdbf *p)
 Decodes the corruption bitswitch and prints any problems.
void gk_set_exit_on_error (int value)
void errexit (char *,...)
void gk_errexit (int signum, char *,...)
int gk_sigtrap ()
int gk_siguntrap ()
void gk_sigthrow (int signum)
void gk_SetSignalHandlers ()
void gk_UnsetSignalHandlers ()
void gk_NonLocalExit_Handler (int signum)
char * gk_strerror (int errnum)
 Thread-safe implementation of strerror()
void PrintBackTrace ()
void gk_RandomPermute (size_t, int *, int)
void gk_array2csr (size_t n, size_t range, int *array, int *ptr, int *ind)
 Converts an element-based set membership into a CSR-format set-based membership.
int gk_log2 (int)
int gk_ispow2 (int)
float gk_flog2 (float)
gk_wclock_t gk_WClockSeconds (void)
double gk_CPUSeconds (void)
char * gk_strchr_replace (char *str, char *fromlist, char *tolist)
 Replaces certain characters in a string.
int gk_strstr_replace (char *str, char *pattern, char *replacement, char *options, char **new_str)
 Regex-based search-and-replace function.
char * gk_strtprune (char *, char *)
 Prunes characters from the end of the string.
char * gk_strhprune (char *, char *)
 Prunes characters from the beginning of the string.
char * gk_strtoupper (char *)
 Converts a string to upper case.
char * gk_strtolower (char *)
 Converts a string to lower case.
char * gk_strdup (char *orgstr)
 Duplicates a string.
int gk_strcasecmp (char *s1, char *s2)
 Case insensitive string comparison.
int gk_strrcmp (char *s1, char *s2)
 Compare two strings in revere order.
char * gk_time2str (time_t time)
 Converts a time_t time into a string.
time_t gk_str2time (char *str)
 Converts a date/time string into its equivalent time_t value.
int gk_GetStringID (gk_StringMap_t *strmap, char *key)
void gk_csorti (size_t, char *)
void gk_csortd (size_t, char *)
void gk_isorti (size_t, int *)
void gk_isortd (size_t, int *)
void gk_fsorti (size_t, float *)
void gk_fsortd (size_t, float *)
void gk_dsorti (size_t, double *)
void gk_dsortd (size_t, double *)
void gk_idxsorti (size_t, gk_idx_t *)
void gk_idxsortd (size_t, gk_idx_t *)
void gk_ckvsorti (size_t, gk_ckv_t *)
void gk_ckvsortd (size_t, gk_ckv_t *)
void gk_ikvsorti (size_t, gk_ikv_t *)
void gk_ikvsortd (size_t, gk_ikv_t *)
void gk_i32kvsorti (size_t, gk_i32kv_t *)
void gk_i32kvsortd (size_t, gk_i32kv_t *)
void gk_i64kvsorti (size_t, gk_i64kv_t *)
void gk_i64kvsortd (size_t, gk_i64kv_t *)
void gk_fkvsorti (size_t, gk_fkv_t *)
void gk_fkvsortd (size_t, gk_fkv_t *)
void gk_dkvsorti (size_t, gk_dkv_t *)
void gk_dkvsortd (size_t, gk_dkv_t *)
void gk_skvsorti (size_t, gk_skv_t *)
void gk_skvsortd (size_t, gk_skv_t *)
void gk_idxkvsorti (size_t, gk_idxkv_t *)
void gk_idxkvsortd (size_t, gk_idxkv_t *)
int gk_dfkvkselect (size_t, int, gk_fkv_t *)
int gk_ifkvkselect (size_t, int, gk_fkv_t *)
gk_HTable_tHTable_Create (int nelements)
void HTable_Reset (gk_HTable_t *htable)
void HTable_Resize (gk_HTable_t *htable, int nelements)
void HTable_Insert (gk_HTable_t *htable, int key, int val)
void HTable_Delete (gk_HTable_t *htable, int key)
int HTable_Search (gk_HTable_t *htable, int key)
int HTable_GetNext (gk_HTable_t *htable, int key, int *val, int type)
int HTable_SearchAndDelete (gk_HTable_t *htable, int key)
void HTable_Destroy (gk_HTable_t *htable)
int HTable_HFunction (int nelements, int key)
void gk_strtokenize (char *line, char *delim, gk_Tokens_t *tokens)
void gk_freetokenslist (gk_Tokens_t *tokens)
void encodeblock (unsigned char *in, unsigned char *out)
void decodeblock (unsigned char *in, unsigned char *out)
void GKEncodeBase64 (int nbytes, unsigned char *inbuffer, unsigned char *outbuffer)
void GKDecodeBase64 (int nbytes, unsigned char *inbuffer, unsigned char *outbuffer)
void gk_randinit (uint64_t)
uint64_t gk_randint64 (void)
uint32_t gk_randint32 (void)
void omp_set_num_threads (int num_threads)
int omp_get_num_threads (void)
int omp_get_max_threads (void)
int omp_get_thread_num (void)
int omp_get_num_procs (void)
int omp_in_parallel (void)
void omp_set_dynamic (int num_threads)
int omp_get_dynamic (void)
void omp_set_nested (int nested)
int omp_get_nested (void)
gk_csr_tgk_csr_Create ()
void gk_csr_Init (gk_csr_t *mat)
void gk_csr_Free (gk_csr_t **mat)
void gk_csr_FreeContents (gk_csr_t *mat)
gk_csr_tgk_csr_Dup (gk_csr_t *mat)
gk_csr_tgk_csr_ExtractSubmatrix (gk_csr_t *mat, int rstart, int nrows)
gk_csr_tgk_csr_ExtractRows (gk_csr_t *mat, int nrows, int *rind)
gk_csr_tgk_csr_ExtractPartition (gk_csr_t *mat, int *part, int pid)
gk_csr_t ** gk_csr_Split (gk_csr_t *mat, int *color)
gk_csr_tgk_csr_Read (char *filename, int format, int readvals, int numbering)
void gk_csr_Write (gk_csr_t *mat, char *filename, int format, int writevals, int numbering)
gk_csr_tgk_csr_Prune (gk_csr_t *mat, int what, int minf, int maxf)
gk_csr_tgk_csr_LowFilter (gk_csr_t *mat, int what, int norm, float fraction)
gk_csr_tgk_csr_TopKPlusFilter (gk_csr_t *mat, int what, int topk, float keepval)
gk_csr_tgk_csr_ZScoreFilter (gk_csr_t *mat, int what, float zscore)
void gk_csr_CompactColumns (gk_csr_t *mat)
void gk_csr_SortIndices (gk_csr_t *mat, int what)
void gk_csr_CreateIndex (gk_csr_t *mat, int what)
void gk_csr_Normalize (gk_csr_t *mat, int what, int norm)
void gk_csr_Scale (gk_csr_t *mat, int type)
void gk_csr_ComputeSums (gk_csr_t *mat, int what)
void gk_csr_ComputeSquaredNorms (gk_csr_t *mat, int what)
float gk_csr_ComputeSimilarity (gk_csr_t *mat, int i1, int i2, int what, int simtype)
int gk_csr_GetSimilarRows (gk_csr_t *mat, int nqterms, int *qind, float *qval, int simtype, int nsim, float minsim, gk_fkv_t *hits, int *_imarker, gk_fkv_t *i_cand)
void gk_find_frequent_itemsets (int ntrans, int *tranptr, int *tranind, int minfreq, int maxfreq, int minlen, int maxlen, void(*process_itemset)(void *stateptr, int nitems, int *itemind, int ntrans, int *tranind), void *stateptr)
float ComputeAccuracy (int n, gk_fkv_t *list)
float ComputeROCn (int n, int maxN, gk_fkv_t *list)
float ComputeMedianRFP (int n, gk_fkv_t *list)
float ComputeMean (int n, float *values)
float ComputeStdDev (int n, float *values)
gk_mcore_tgk_mcoreCreate (size_t coresize)
gk_mcore_tgk_gkmcoreCreate ()
void gk_mcoreDestroy (gk_mcore_t **r_mcore, int showstats)
void gk_gkmcoreDestroy (gk_mcore_t **r_mcore, int showstats)
void * gk_mcoreMalloc (gk_mcore_t *mcore, size_t nbytes)
void gk_mcorePush (gk_mcore_t *mcore)
void gk_gkmcorePush (gk_mcore_t *mcore)
void gk_mcorePop (gk_mcore_t *mcore)
void gk_gkmcorePop (gk_mcore_t *mcore)
void gk_mcoreAdd (gk_mcore_t *mcore, int type, size_t nbytes, void *ptr)
void gk_gkmcoreAdd (gk_mcore_t *mcore, int type, size_t nbytes, void *ptr)
void gk_mcoreDel (gk_mcore_t *mcore, void *ptr)
void gk_gkmcoreDel (gk_mcore_t *mcore, void *ptr)

Detailed Description

This file contains function prototypes.

Date:
Started 3/27/2007
Author:
George
Version:
$Id: gk_proto.h 10522 2011-07-08 21:05:23Z benjamin $ 

Function Documentation

void errexit ( char *  f_str,
  ... 
)

This function prints an error message and exits

void gk_AllocMatrix ( void ***  r_matrix,
size_t  elmlen,
size_t  ndim1,
size_t  ndim2 
)

Define the set of memory allocation routines for each data type

This function allocates a two-dimensional matrix.

void gk_array2csr ( size_t  n,
size_t  range,
int *  array,
int *  ptr,
int *  ind 
)

Converts an element-based set membership into a CSR-format set-based membership.

For example, it takes an array such as part[] that stores where each element belongs to and returns a pair of arrays (pptr[], pind[]) that store in CSF format the list of elements belonging in each partition.

Parameters:
nthe number of elements in the array (e.g., # of vertices)
rangethe cardinality of the set (e.g., # of partitions)
arraythe array that stores the per-element set membership
ptrthe array that will store the starting indices in ind for the elements of each set. This is filled by the routine and its size should be at least range+1.
indthe array that stores consecutively which elements belong to each set. The size of this array should be n.
void gk_ckvsortd ( size_t  n,
gk_ckv_t *  base 
)

Sorts an array of gk_ckv_t in decreasing order

void gk_ckvsorti ( size_t  n,
gk_ckv_t *  base 
)

Sorts an array of gk_ckv_t in increasing order

void gk_csortd ( size_t  n,
char *  base 
)

Sorts an array of chars in decreasing order

void gk_csorti ( size_t  n,
char *  base 
)

Sorts an array of chars in increasing order

Compacts the column-space of the matrix by removing empty columns. As a result of the compaction, the column numbers are renumbered. The compaction operation is done in place and only affects the row-based representation of the matrix.

Parameters:
matthe matrix whose empty columns will be removed.
float gk_csr_ComputeSimilarity ( gk_csr_t mat,
int  i1,
int  i2,
int  what,
int  simtype 
)

Computes the similarity between two rows/columns

Parameters:
matthe matrix itself. The routine assumes that the indices are sorted in increasing order.
i1is the first row/column,
i2is the second row/column,
whatis either GK_CSR_ROW or GK_CSR_COL indicating the type of objects between the similarity will be computed,
simtypeis the type of similarity and is one of GK_CSR_COS, GK_CSR_JAC, GK_CSR_MIN
Returns:
the similarity between the two rows/columns.
void gk_csr_ComputeSquaredNorms ( gk_csr_t mat,
int  what 
)

Computes the squared of the norms of the rows/columns

Parameters:
matthe matrix itself,
whatis either GK_CSR_ROW or GK_CSR_COL indicating which squared norms to compute.
void gk_csr_ComputeSums ( gk_csr_t mat,
int  what 
)

Computes the sums of the rows/columns

Parameters:
matthe matrix itself,
whatis either GK_CSR_ROW or GK_CSR_COL indicating which sums to compute.

Allocate memory for a CSR matrix and initializes it

Returns:
the allocated matrix. The various fields are set to NULL.
void gk_csr_CreateIndex ( gk_csr_t mat,
int  what 
)

Creates a row/column index from the column/row data.

Parameters:
matthe matrix itself,
whatis either GK_CSR_ROW or GK_CSR_COL indicating which index will be created.

Returns a copy of a matrix.

Parameters:
matis the matrix to be duplicated.
Returns:
the newly created copy of the matrix.
gk_csr_t* gk_csr_ExtractPartition ( gk_csr_t mat,
int *  part,
int  pid 
)

Returns a submatrix corresponding to a specified partitioning of rows.

Parameters:
matis the original matrix.
partis the partitioning vector of the rows.
pidis the partition ID that will be extracted.
Returns:
the row structure of the newly created submatrix.
gk_csr_t* gk_csr_ExtractRows ( gk_csr_t mat,
int  nrows,
int *  rind 
)

Returns a submatrix containing a certain set of rows.

Parameters:
matis the original matrix.
nrowsis the number of rows to extract.
rindis the set of row numbers to extract.
Returns:
the row structure of the newly created submatrix.
gk_csr_t* gk_csr_ExtractSubmatrix ( gk_csr_t mat,
int  rstart,
int  nrows 
)

Returns a submatrix containint a set of consecutive rows.

Parameters:
matis the original matrix.
rstartis the starting row.
nrowsis the number of rows from rstart to extract.
Returns:
the row structure of the newly created submatrix.
void gk_csr_Free ( gk_csr_t **  mat)

Frees all the memory allocated for matrix.

Parameters:
matis the matrix to be freed.
void gk_csr_FreeContents ( gk_csr_t mat)

Frees only the memory allocated for the matrix's different fields and sets them to NULL.

Parameters:
matis the matrix whose contents will be freed.
int gk_csr_GetSimilarRows ( gk_csr_t mat,
int  nqterms,
int *  qind,
float *  qval,
int  simtype,
int  nsim,
float  minsim,
gk_fkv_t *  hits,
int *  i_marker,
gk_fkv_t *  i_cand 
)

Finds the n most similar rows (neighbors) to the query using cosine similarity.

Parameters:
matthe matrix itself
nqtermsis the number of columns in the query
qindis the list of query columns
qvalis the list of correspodning query weights
simtypeis the type of similarity and is one of GK_CSR_COS, GK_CSR_JAC, GK_CSR_MIN
nsimis the maximum number of requested most similar rows. If -1 is provided, then everything is returned unsorted.
minsimis the minimum similarity of the requested most similar rows
hitsis the result set. This array should be at least of length nsim.
i_markeris an array of size equal to the number of rows whose values are initialized to -1. If NULL is provided then this array is allocated and freed internally.
i_candis an array of size equal to the number of rows. If NULL is provided then this array is allocated and freed internally.
Returns:
the number of identified most similar rows, which can be smaller than the requested number of nnbrs in those cases in which there are no sufficiently many neighbors.
void gk_csr_Init ( gk_csr_t mat)

Initializes the matrix

Parameters:
matis the matrix to be initialized.
gk_csr_t* gk_csr_LowFilter ( gk_csr_t mat,
int  what,
int  norm,
float  fraction 
)

Eliminates certain entries from the rows/columns of the matrix. The filtering takes place by keeping only the highest weight entries whose sum accounts for a certain fraction of the overall weight of the row/column.

Parameters:
matthe matrix to be prunned,
whatindicates if the rows (GK_CSR_ROW) or the columns (GK_CSR_COL) of the matrix will be prunned,
normindicates the norm that will be used to aggregate the weights and possible values are 1 or 2,
fractionis the fraction of the overall norm that will be retained by the kept entries.
Returns:
the filtered matrix consisting only of its row-based structure. The input matrix is not modified.
void gk_csr_Normalize ( gk_csr_t mat,
int  what,
int  norm 
)

Normalizes the rows/columns of the matrix to be unit length.

Parameters:
matthe matrix itself,
whatindicates what will be normalized and is obtained by specifying GK_CSR_ROW, GK_CSR_COL, GK_CSR_ROW|GK_CSR_COL.
normindicates what norm is to normalize to, 1: 1-norm, 2: 2-norm
gk_csr_t* gk_csr_Prune ( gk_csr_t mat,
int  what,
int  minf,
int  maxf 
)

Prunes certain rows/columns of the matrix. The prunning takes place by analyzing the row structure of the matrix. The prunning takes place by removing rows/columns but it does not affect the numbering of the remaining rows/columns.

Parameters:
matthe matrix to be prunned,
whatindicates if the rows (GK_CSR_ROW) or the columns (GK_CSR_COL) of the matrix will be prunned,
minfis the minimum number of rows (columns) that a column (row) must be present in order to be kept,
maxfis the maximum number of rows (columns) that a column (row) must be present at in order to be kept.
Returns:
the prunned matrix consisting only of its row-based structure. The input matrix is not modified.
gk_csr_t* gk_csr_Read ( char *  filename,
int  format,
int  readvals,
int  numbering 
)

Reads a CSR matrix from the supplied file and stores it the matrix's forward structure.

Parameters:
filenameis the file that stores the data.
formatis either GK_CSR_FMT_CLUTO or GK_CSR_FMT_CSR specifying the type of the input format. The difference between the two formats is that GK_CSR_FMT_CLUTO requires the header line, whereas GK_CSR_FMT_CSR does not.
readvalsis either 1 or 0, indicating if the CSR file contains values or it does not. It only applies when GK_CSR_FMT_CSR is used.
numberingis either 1 or 0, indicating if the numbering of the indices start from 1 or 0, respectively. If they start from 1, they are automatically decreamented during input so that they will start from 0. It only applies when GK_CSR_FMT_CSR is used.
Returns:
the matrix that was read.
void gk_csr_Scale ( gk_csr_t mat,
int  type 
)

Applies different row scaling methods.

Parameters:
matthe matrix itself,
typeindicates the type of row scaling. Possible values are: GK_CSR_MAXTF, GK_CSR_SQRT, GK_CSR_LOG, GK_CSR_IDF.
void gk_csr_SortIndices ( gk_csr_t mat,
int  what 
)

Sorts the indices in increasing order

Parameters:
matthe matrix itself,
whatis either GK_CSR_ROW or GK_CSR_COL indicating which set of indices to sort.
gk_csr_t** gk_csr_Split ( gk_csr_t mat,
int *  color 
)

Splits the matrix into multiple sub-matrices based on the provided color array.

Parameters:
matis the original matrix.
coloris an array of size equal to the number of non-zeros in the matrix (row-wise structure). The matrix is split into as many parts as the number of colors. For meaningfull results, the colors should be numbered consecutively starting from 0.
Returns:
an array of matrices for each supplied color number.
gk_csr_t* gk_csr_TopKPlusFilter ( gk_csr_t mat,
int  what,
int  topk,
float  keepval 
)

Eliminates certain entries from the rows/columns of the matrix. The filtering takes place by keeping only the highest weight top-K entries along each row/column and those entries whose weight is greater than a specified value.

Parameters:
matthe matrix to be prunned,
whatindicates if the rows (GK_CSR_ROW) or the columns (GK_CSR_COL) of the matrix will be prunned,
topkis the number of the highest weight entries to keep.
keepvalis the weight of a term above which will be kept. This is used to select additional terms past the first topk.
Returns:
the filtered matrix consisting only of its row-based structure. The input matrix is not modified.
void gk_csr_Write ( gk_csr_t mat,
char *  filename,
int  format,
int  writevals,
int  numbering 
)

Writes the row-based structure of a matrix into a file.

Parameters:
matis the matrix to be written,
filenameis the name of the output file.
formatis one of GK_CSR_FMT_CLUTO or GK_CSR_FMT_CSR specifying the format of the output file.
writevalsis either 1 or 0 indicating if the values will be written or not. This is only applicable when GK_CSR_FMT_CSR is used.
numberingis either 1 or 0 indicating if the internal 0-based numbering will be shifted by one or not during output. This is only applicable when GK_CSR_FMT_CSR is used.
gk_csr_t* gk_csr_ZScoreFilter ( gk_csr_t mat,
int  what,
float  zscore 
)

Eliminates certain entries from the rows/columns of the matrix. The filtering takes place by keeping only the terms whose contribution to the total length of the document is greater than a user-splied multiple over the average.

This routine assumes that the vectors are normalized to be unit length.

Parameters:
matthe matrix to be prunned,
whatindicates if the rows (GK_CSR_ROW) or the columns (GK_CSR_COL) of the matrix will be prunned,
zscoreis the multiplicative factor over the average contribution to the length of the document.
Returns:
the filtered matrix consisting only of its row-based structure. The input matrix is not modified.
int gk_dfkvkselect ( size_t  n,
int  topk,
gk_fkv_t *  cand 
)

This function puts the 'topk' largest values in the beginning of the array

void gk_dkvsortd ( size_t  n,
gk_dkv_t *  base 
)

Sorts an array of gk_fkv_t in decreasing order

void gk_dkvsorti ( size_t  n,
gk_dkv_t *  base 
)

Sorts an array of gk_dkv_t in increasing order

void gk_dsortd ( size_t  n,
double *  base 
)

Sorts an array of doubles in decreasing order

void gk_dsorti ( size_t  n,
double *  base 
)

Sorts an array of doubles in increasing order

void gk_errexit ( int  signum,
char *  f_str,
  ... 
)

This function prints an error message and raises a signum signal

void gk_fkvsortd ( size_t  n,
gk_fkv_t *  base 
)

Sorts an array of gk_fkv_t in decreasing order

void gk_fkvsorti ( size_t  n,
gk_fkv_t *  base 
)

Sorts an array of gk_fkv_t in increasing order

void gk_FreeMatrix ( void ***  r_matrix,
size_t  ndim1,
size_t  ndim2 
)

This function frees a two-dimensional matrix.

void gk_freepdbf ( pdbf p)

Frees the memory of a pdbf structure.

This function takes a pdbf pointer and frees all the memory below it.

Parameters:
pis the pdbf structure to be freed.
void gk_fsortd ( size_t  n,
float *  base 
)

Sorts an array of floats in decreasing order

void gk_fsorti ( size_t  n,
float *  base 
)

Sorts an array of floats in increasing order

void gk_getfilestats ( char *  fname,
size_t *  r_nlines,
size_t *  r_ntokens,
size_t *  r_max_nlntokens,
size_t *  r_nbytes 
)

This function gets some basic statistics about the file.

Parameters:
fnameis the name of the file
r_nlinesis the number of lines in the file. If it is NULL, this information is not returned.
r_ntokensis the number of tokens in the file. If it is NULL, this information is not returned.
r_max_nlntokensis the maximum number of tokens in any line in the file. If it is NULL this information is not returned.
r_nbytesis the number of bytes in the file. If it is NULL, this information is not returned.
intmax_t gk_getfsize ( char *  filename)

Returns the size of the file in bytes.

This function returns the size of a file as a 64 bit integer. If there were any errors in stat'ing the file, -1 is returned.

Note:
That due to the -1 return code, the maximum file size is limited to 63 bits (which I guess is okay for now).
gk_idx_t gk_getline ( char **  lineptr,
size_t *  n,
FILE *  stream 
)

This function is the GKlib implementation of glibc's getline() function.

Returns:
-1 if the EOF has been reached, otherwise it returns the number of bytes read.
void gk_gkmcoreAdd ( gk_mcore_t mcore,
int  type,
size_t  nbytes,
void *  ptr 
)

Adds a memory allocation at the end of the list. This is the gkmcore version.

This function creates an mcore. This version is used for gkmcore.

void gk_gkmcoreDel ( gk_mcore_t mcore,
void *  ptr 
)

This function deletes the mop associated with the supplied pointer. The mop has to be a heap allocation, otherwise it fails violently. This is the gkmcore version.

void gk_gkmcoreDestroy ( gk_mcore_t **  r_mcore,
int  showstats 
)

This function destroys an mcore. This version is for gkmcore.

void gk_gkmcorePop ( gk_mcore_t mcore)

This function frees all mops since the last push. This version is for poping the gkmcore and it uses free instead of gk_free.

void gk_gkmcorePush ( gk_mcore_t mcore)

This function sets a marker in the stack of malloc ops to be used subsequently for freeing purposes. This is the gkmcore version.

gk_i2cc2i_t* gk_i2cc2i_create_common ( char *  alphabet)

This function creates the localizations for the various sequences.

Parameters:
stringi.e amino acids, nucleotides, sequences
Returns:
gk_i2cc2i_t variable
void gk_i32kvsortd ( size_t  n,
gk_i32kv_t *  base 
)

Sorts an array of gk_i32kv_t in decreasing order

void gk_i32kvsorti ( size_t  n,
gk_i32kv_t *  base 
)

Sorts an array of gk_i32kv_t in increasing order

int32_t* gk_i32readfile ( char *  fname,
gk_idx_t *  r_nlines 
)

This function reads the contents of a file and returns it in the form of an array of int32_t.

Parameters:
fnameis the name of the file
r_nlinesis the number of lines in the file. If it is NULL, this information is not returned.
void gk_i64kvsortd ( size_t  n,
gk_i64kv_t *  base 
)

Sorts an array of gk_i64kv_t in decreasing order

void gk_i64kvsorti ( size_t  n,
gk_i64kv_t *  base 
)

Sorts an array of gk_i64kv_t in increasing order

int64_t* gk_i64readfile ( char *  fname,
gk_idx_t *  r_nlines 
)

This function reads the contents of a file and returns it in the form of an array of int64_t.

Parameters:
fnameis the name of the file
r_nlinesis the number of lines in the file. If it is NULL, this information is not returned.
void gk_idxkvsortd ( size_t  n,
gk_idxkv_t *  base 
)

Sorts an array of gk_idxkv_t in decreasing order

void gk_idxkvsorti ( size_t  n,
gk_idxkv_t *  base 
)

Sorts an array of gk_idxkv_t in increasing order

void gk_idxsortd ( size_t  n,
gk_idx_t *  base 
)

Sorts an array of gk_idx_t in decreasing order

void gk_idxsorti ( size_t  n,
gk_idx_t *  base 
)

Sorts an array of gk_idx_t in increasing order

int gk_ifkvkselect ( size_t  n,
int  topk,
gk_fkv_t *  cand 
)

This function puts the 'topk' smallest values in the beginning of the array

void gk_ikvsortd ( size_t  n,
gk_ikv_t *  base 
)

Sorts an array of gk_ikv_t in decreasing order

void gk_ikvsorti ( size_t  n,
gk_ikv_t *  base 
)

Sorts an array of gk_ikv_t in increasing order

void gk_isortd ( size_t  n,
int *  base 
)

Sorts an array of integers in decreasing order

void gk_isorti ( size_t  n,
int *  base 
)

Sorts an array of integers in increasing order

void* gk_malloc ( size_t  nbytes,
char *  msg 
)

This function is my wrapper around malloc that provides the following enhancements over malloc: It always allocates one byte of memory, even if 0 bytes are requested. This is to ensure that checks of returned values do not lead to NULL due to 0 bytes requested. It zeros-out the memory that is allocated. This is for a quick init of the underlying datastructures.

void gk_malloc_cleanup ( int  showstats)

This function frees the memory that has been allocated since the last call to gk_malloc_init().

int gk_malloc_init ( )

This function initializes tracking of heap allocations.

void gk_mcoreAdd ( gk_mcore_t mcore,
int  type,
size_t  nbytes,
void *  ptr 
)

Adds a memory allocation at the end of the list.

gk_mcore_t* gk_mcoreCreate ( size_t  coresize)

This function creates an mcore

void gk_mcoreDel ( gk_mcore_t mcore,
void *  ptr 
)

This function deletes the mop associated with the supplied pointer. The mop has to be a heap allocation, otherwise it fails violently.

void gk_mcoreDestroy ( gk_mcore_t **  r_mcore,
int  showstats 
)

This function destroys an mcore.

void* gk_mcoreMalloc ( gk_mcore_t mcore,
size_t  nbytes 
)

This function allocate space from the core/heap

void gk_mcorePop ( gk_mcore_t mcore)

This function frees all mops since the last push

void gk_mcorePush ( gk_mcore_t mcore)

This function sets a marker in the stack of malloc ops to be used subsequently for freeing purposes

void gk_randinit ( uint64_t  seed)

Create the various random number functions

GKlib's built in random number generator for portability across different architectures

char** gk_readfile ( char *  fname,
gk_idx_t *  r_nlines 
)

This function reads the contents of a text file and returns it in the form of an array of strings.

Parameters:
fnameis the name of the file
r_nlinesis the number of lines in the file. If it is NULL, this information is not returned.
pdbf* gk_readpdbfile ( char *  fname)

Reads a pdb file into a pdbf structure.

This function allocates a pdbf structure and reads the file fname into that structure.

Parameters:
fnameis the file name to be read
Returns:
A filled pdbf structure.
gk_seq_t* gk_seq_ReadGKMODPSSM ( char *  filename)

This function reads a pssm in the format of gkmod pssm.

Parameters:
file_nameis the name of the pssm file
Returns:
gk_seq_t
void gk_set_exit_on_error ( int  value)

This function sets the gk_exit_on_error variable

void gk_showcorruption ( pdbf p)

Decodes the corruption bitswitch and prints any problems.

Due to the totally unreliable nature of the pdb format, reading a pdb file stores a corruption bitswitch, and this function decodes that switch and prints the result on stdout.

Parameters:
pis the pdb structure to write out.
fnameis the file name to be written.
void gk_sigthrow ( int  signum)

This function is the custome signal handler, which all it does is to perform a longjump to the most recent saved environment

int gk_sigtrap ( )

This function sets a number of signal handlers and sets the return point of a longjmp

int gk_siguntrap ( )

This function sets the handlers for the signals to their default handlers

void gk_skvsortd ( size_t  n,
gk_skv_t *  base 
)

Sorts an array of gk_skv_t in decreasing order

void gk_skvsorti ( size_t  n,
gk_skv_t *  base 
)

Sorts an array of gk_skv_t in increasing order

time_t gk_str2time ( char *  str)

Converts a date/time string into its equivalent time_t value.

This function takes date and/or time specification and converts it in the equivalent time_t representation. The conversion is done using the strptime() function. The format that gk_str2time() understands is mm/dd/yyyy hh:mm:ss, in which the hours are in military time.

Parameters:
stris the date/time string to be converted.
Returns:
If the conversion was successful it returns the time, otherwise it returns -1.
int gk_strcasecmp ( char *  s1,
char *  s2 
)

Case insensitive string comparison.

This function compares two strings for equality by ignoring the case of the strings.

Warning:
This function is not equivalent to a case-insensitive strcmp() function, as it does not return ordering information.
Todo:
Remove the above warning.
Parameters:
s1is the first string to be compared.
s2is the second string to be compared.
Return values:
1if the strings are identical,
0otherwise.
char* gk_strchr_replace ( char *  str,
char *  fromlist,
char *  tolist 
)

Replaces certain characters in a string.

This function takes a string and replaces all the characters in the fromlist with the corresponding characters from the tolist. That is, each occurence of fromlist[i] is replaced by tolist[i]. If the tolist is shorter than fromlist, then the corresponding characters are deleted. The modifications on str are done in place. It tries to provide a functionality similar to Perl's tr// function.

Parameters:
stris the string whose characters will be replaced.
fromlistis the set of characters to be replaced.
tolistis the set of replacement characters .
Returns:
A pointer to str itself.
char* gk_strdup ( char *  orgstr)

Duplicates a string.

This function is a replacement for C's standard strdup() function. The key differences between the two are that gk_strdup():

  • uses the dynamic memory allocation routines of GKlib.
  • it correctly handles NULL input strings.

The string that is returned must be freed by gk_free().

Parameters:
orgstris the string that will be duplicated.
Returns:
A pointer to the newly created string.
See also:
gk_free()
char* gk_strhprune ( char *  str,
char *  rmlist 
)

Prunes characters from the beginning of the string.

This function removes any starting characters that are included in the rmlist. The trimming stops at the first character that is not in rmlist. This function can be used to removed leading spaces, tabs, etc. This is a distructive operation as it modifies the string.

Parameters:
stris the string that will be trimmed.
rmlistcontains the set of characters that will be removed.
Returns:
A pointer to str itself.
See also:
gk_strtprune()
int gk_strrcmp ( char *  s1,
char *  s2 
)

Compare two strings in revere order.

This function is similar to strcmp but it performs the comparison as if the two strings were reversed.

Parameters:
s1is the first string to be compared.
s2is the second string to be compared.
Return values:
-1,0,1,ifthe s1 < s2, s1 == s2, or s1 > s2.
int gk_strstr_replace ( char *  str,
char *  pattern,
char *  replacement,
char *  options,
char **  new_str 
)

Regex-based search-and-replace function.

This function is a C implementation of Perl's s// regular-expression based substitution function.

Parameters:
stris the input string on which the operation will be performed.
patternis the regular expression for the pattern to be matched for substitution.
replacementis the replacement string, in which the possible captured pattern substrings are referred to as $1, $2, ..., $9. The entire matched pattern is refered to as $0.
optionsis a string specified options for the substitution operation. Currently the "i" (case insensitive) and "g" (global substitution) are supported.
new_stris a reference to a pointer that will store a pointer to the newly created string that results from the substitutions. This string is allocated via gk_malloc() and needs to be freed using gk_free(). The string is returned even if no substitutions were performed.
Returns:
If successful, it returns 1 + the number of substitutions that were performed. Thus, if no substitutions were performed, the returned value will be 1. Otherwise it returns 0. In case of error, a meaningful error message is returned in newstr, which also needs to be freed afterwards.
char* gk_strtolower ( char *  str)

Converts a string to lower case.

This function converts a string to lower case. This operation modifies the string itself.

Parameters:
stris the string whose case will be changed.
Returns:
A pointer to str itself.
See also:
gk_strtoupper()
char* gk_strtoupper ( char *  str)

Converts a string to upper case.

This function converts a string to upper case. This operation modifies the string itself.

Parameters:
stris the string whose case will be changed.
Returns:
A pointer to str itself.
See also:
gk_strtolower()
char* gk_strtprune ( char *  str,
char *  rmlist 
)

Prunes characters from the end of the string.

This function removes any trailing characters that are included in the rmlist. The trimming stops at the last character (i.e., first character from the end) that is not in rmlist. This function can be used to removed trailing spaces, newlines, etc. This is a distructive operation as it modifies the string.

Parameters:
stris the string that will be trimmed.
rmlistcontains the set of characters that will be removed.
Returns:
A pointer to str itself.
See also:
gk_strhprune()
char gk_threetoone ( char *  res)

Converts three-letter amino acid codes to one-leter codes.

This function takes a three letter * and converts it to a single

Parameters:
resis the three-letter code to be converted.
Returns:
A representing the amino acid.
char* gk_time2str ( time_t  time)

Converts a time_t time into a string.

This function takes a time_t-specified time and returns a string-formated representation of the corresponding time. The format of the string is mm/dd/yyyy hh:mm:ss, in which the hours are in military time.

Parameters:
timeis the time to be converted.
Returns:
It returns a pointer to a statically allocated string that is over-written in successive calls of this function. If the conversion failed, it returns NULL.
void gk_writealphacarbons ( pdbf p,
char *  fname 
)

Writes out all the alpha carbon atoms of a structure.

This function takes a pdbf structure p and writes only the alpha carbon atoms to a filename fname.

Parameters:
pis the pdb structure to write out.
fnameis the file name to be written.
void gk_writebackbone ( pdbf p,
char *  fname 
)

Writes out all the backbone atoms of a structure in pdb format.

This function takes a pdbf structure p and writes only the backbone atoms to a filename fname.

Parameters:
pis the pdb structure to write out.
fnameis the file name to be written.
void gk_writefullatom ( pdbf p,
char *  fname 
)

Writes all atoms in p in pdb-format to file fname.

This function takes a pdbf structure and writes out all the atom information to file fname.

Parameters:
pis the pdbf structure to write out
fnameis the file name to be written
 All Classes Files Functions Variables Typedefs Friends Defines