/* sgdClone.h was originally generated by the autoSql program, which also 
 * generated sgdClone.c and sgdClone.sql.  This header links the database and
 * the RAM representation of objects. */

/* Copyright (C) 2004 The Regents of the University of California 
 * See kent/LICENSE or http://genome.ucsc.edu/license/ for licensing information. */

#ifndef SGDCLONE_H
#define SGDCLONE_H

#define SGDCLONE_NUM_COLS 5

struct sgdClone
/* Clone info from yeast genome database */
    {
    struct sgdClone *next;  /* Next in singly linked list. */
    char *chrom;	/* Chromosome in chrN format */
    unsigned chromStart;	/* Start position in chromosome */
    unsigned chromEnd;	/* End position in chromosome */
    char *name;	/* Washington University Name */
    char *atccName;	/* ATCC clone name (optional) */
    };

void sgdCloneStaticLoad(char **row, struct sgdClone *ret);
/* Load a row from sgdClone table into ret.  The contents of ret will
 * be replaced at the next call to this function. */

struct sgdClone *sgdCloneLoad(char **row);
/* Load a sgdClone from row fetched with select * from sgdClone
 * from database.  Dispose of this with sgdCloneFree(). */

struct sgdClone *sgdCloneLoadAll(char *fileName);
/* Load all sgdClone from whitespace-separated file.
 * Dispose of this with sgdCloneFreeList(). */

struct sgdClone *sgdCloneLoadAllByChar(char *fileName, char chopper);
/* Load all sgdClone from chopper separated file.
 * Dispose of this with sgdCloneFreeList(). */

#define sgdCloneLoadAllByTab(a) sgdCloneLoadAllByChar(a, '\t');
/* Load all sgdClone from tab separated file.
 * Dispose of this with sgdCloneFreeList(). */

struct sgdClone *sgdCloneCommaIn(char **pS, struct sgdClone *ret);
/* Create a sgdClone out of a comma separated string. 
 * This will fill in ret if non-null, otherwise will
 * return a new sgdClone */

void sgdCloneFree(struct sgdClone **pEl);
/* Free a single dynamically allocated sgdClone such as created
 * with sgdCloneLoad(). */

void sgdCloneFreeList(struct sgdClone **pList);
/* Free a list of dynamically allocated sgdClone's */

void sgdCloneOutput(struct sgdClone *el, FILE *f, char sep, char lastSep);
/* Print out sgdClone.  Separate fields with sep. Follow last field with lastSep. */

#define sgdCloneTabOut(el,f) sgdCloneOutput(el,f,'\t','\n');
/* Print out sgdClone as a line in a tab-separated file. */

#define sgdCloneCommaOut(el,f) sgdCloneOutput(el,f,',',',');
/* Print out sgdClone as a comma separated list including final comma. */

/* -------------------------------- End autoSql Generated Code -------------------------------- */

#endif /* SGDCLONE_H */

