⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 squid.h.in

📁 hmmer源程序
💻 IN
📖 第 1 页 / 共 2 页
字号:
  MSA      *msa;  MSAFILE  *afp;};typedef struct ReadSeqVars SQFILE;/**************************************************** * Cluster analysis and phylogenetic tree support ****************************************************/ /* struct phylo_s - a phylogenetic tree *                      * For N sequences, there will generally be an array of 0..N-2 * phylo_s structures representing the nodes of a tree. * [0] is the root. The indexes of left and * right children are somewhat confusing so be careful. The * indexes can have values of 0..2N-2. If they are 0..N-1, they  * represent pointers to individual sequences. If they are * >= N, they represent pointers to a phylo_s structure * at (index - N). */struct phylo_s {  int    parent;                /* index of parent, N..2N-2, or -1 for root */  int    left;			/* index of one of the branches, 0..2N-2 */  int    right;			/* index of other branch, 0..2N-2        */  float  diff;			/* difference score between seqs         */  float  lblen;      		/* left branch length                    */  float  rblen;                 /* right branch length                   */  char  *is_in;                 /* 0..N-1 flag array, 1 if seq included  */  int    incnum;                /* number of seqs included at this node  */};/* Strategies for cluster analysis; cluster by mean distance, * minimum distance, or maximum distance. */enum clust_strategy { CLUSTER_MEAN, CLUSTER_MAX, CLUSTER_MIN };/**************************************************** * Generic data structure support ****************************************************//* a struct intstack_s implements a pushdown stack for storing * single integers. */struct intstack_s {  int                data;  struct intstack_s *nxt;};/**************************************************** * Binary nucleotide alphabet support ****************************************************//* Binary encoding of the IUPAC code for nucleotides *  *    four-bit "word", permitting rapid degenerate matching *         A  C  G  T/U *         0  0  1  0 */#define NTA 8#define NTC 4#define NTG 2#define NTT 1#define NTU 1#define NTN 15			/* A|C|G|T */#define NTR 10			/* A|G */#define NTY 5			/* C|T */#define NTM 12			/* A|C */#define NTK 3			/* G|T */#define NTS 6			/* C|G */#define NTW 9			/* A|T */#define NTH 13			/* A|C|T */#define NTB 7			/* C|G|T */#define NTV 14			/* A|C|G */#define NTD 11			/* A|G|T */#define NTGAP 16		/* GAP */#define NTEND 0			/* null string terminator *//* ntmatch(): bitwise comparison of two nuc's  * note that it's sensitive to the order; * probe may be degenerate but target should not be  */#define ntmatch(probe, target)  ((probe & target) == target)/**************************************************** * Support for a portable, flexible Getopt() ****************************************************//* Structure: opt_s *  * Structure for declaring options to a main(). */struct opt_s {  char *name;			/* name of option, e.g. "--option1" or "-o" */  int   single;			/* TRUE if a single letter option           */  int   argtype;		/* for typechecking, e.g. sqdARG_INT        */};				/* acceptable argtype's...           */#define sqdARG_NONE   0		/* no argument                       */#define sqdARG_INT    1		/* something that atoi() can grok    */#define sqdARG_FLOAT  2		/* something that atof() can grok    */#define sqdARG_CHAR   3		/* require single character or digit */#define sqdARG_STRING 4		/* anything goes                     *//**************************************************** * Support for convenient Perl-y regexp matching * See hsregexp.c for copyright notice: this code is derived * from Henry Spencer's freely distributed regexp library. ****************************************************/#define NSUBEXP  10typedef struct sqd_regexp {	char *startp[NSUBEXP];	char *endp[NSUBEXP];	char regstart;		/* Internal use only. */	char reganch;		/* Internal use only. */	char *regmust;		/* Internal use only. */	int regmlen;		/* Internal use only. */	char program[1];	/* Unwarranted chumminess with compiler. */} sqd_regexp;/* Strparse() defines and manages these.  * sqd_parse[0] contains the substring that matched the pattern. * sqd_parse[1-9] contain substrings matched with ()'s. */extern char *sqd_parse[10];/**************************************************** * Portable detection of multiprocessor # of CPUs. *      #include <unistd.h> *      long foo = SQD_NPROC; *      returns the number of available processors. *      if foo == -1, we failed. ****************************************************//* Our problem here is that POSIX apparently doesn't specify * a standard for how to get sysconf() to report the number of * processors on-line. _SC_NPROCESSORS_ONLN is specified * by SVR4.0MP. Thanks to W. Gish for help here. */#undef SQD_NPROC#ifdef  _SC_NPROCESSORS_ONLN    /* Sun Solaris, Digital UNIX */#define SQD_NPROC  sysconf(_SC_NPROCESSORS_ONLN)#else#ifdef _SC_NPROC_ONLN		/* Silicon Graphics IRIX */#define SQD_NPROC  sysconf(_SC_NPROC_ONLN)#else   /* FreeBSD, Linux don't support getting ncpu via sysconf() */#define SQD_NPROC  -1#endif#endif/**************************************************** * Three levels of debugging printf's and assert's *      level 1: little impact on verbosity or performance *      level 2: moderate impact *      level 3: high impact * Example: *    SQD_DPRINTF3(("Matrix row %d col %d = %f\n", i, j, val)); * Note the double parentheses; these are important. ****************************************************/#ifndef DEBUGLEVEL#define DEBUGLEVEL 0#endif#if (DEBUGLEVEL >= 1)#define SQD_DPRINTF1(x)  printf x#define SQD_DASSERT1(x)  assert x#else#define SQD_DPRINTF1(x)  #define SQD_DASSERT1(x)#endif#if (DEBUGLEVEL >= 2)#define SQD_DPRINTF2(x)  printf x#define SQD_DASSERT2(x)  assert x#else#define SQD_DPRINTF2(x)  #define SQD_DASSERT2(x)#endif#if (DEBUGLEVEL >= 3)#define SQD_DPRINTF3(x)  printf x#define SQD_DASSERT3(x)  assert x#else#define SQD_DPRINTF3(x)  #define SQD_DASSERT3(x)#endif/* PANIC is called for failures of Std C/POSIX functions, * instead of my own functions. Panic() calls perror() and exits * abnormally. */#define PANIC   Panic(__FILE__, __LINE__)/* Malloc/realloc calls are wrapped */#define MallocOrDie(x)     sre_malloc(__FILE__, __LINE__, (x))#define ReallocOrDie(x,y)  sre_realloc(__FILE__, __LINE__, (x), (y))/**************************************************** * Miscellaneous macros and defines ****************************************************/#define CHOOSE(a)     ((int) (sre_random() * (a)))				/* must declare swapfoo to use SWAP() */#define SWAP(a,b) {swapfoo = b; b = a; a = swapfoo;}#define ScalarsEqual(a,b) (fabs((a)-(b)) < 1e-7)#ifndef MIN#define MIN(a,b)         (((a)<(b))?(a):(b))#endif#ifndef MAX#define MAX(a,b)         (((a)>(b))?(a):(b))#endif/* For convenience and (one hopes) clarity in boolean tests: */#ifndef TRUE#define TRUE 1#endif#ifndef FALSE #define FALSE 0#endif/* Somewhere, there is a universe in which Unix vendors comply * with the ANSI C standard. Unfortunately, it is not ours: */#ifndef EXIT_SUCCESS#define EXIT_SUCCESS 0#endif#ifndef EXIT_FAILURE#define EXIT_FAILURE 1#endif#include "sqfuncs.h"		/* squid function declarations */#endif /* SQUIDH_INCLUDED */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -