[med-svn] [psortb] 02/08: New upstream version 3.0.4+dfsg
Andreas Tille
tille at debian.org
Tue Apr 18 20:55:53 UTC 2017
This is an automated email from the git hooks/post-receive script.
tille pushed a commit to branch master
in repository psortb.
commit 65617d058a1a71778f2329bd817d42f00b3e7879
Author: Andreas Tille <tille at debian.org>
Date: Wed Apr 12 14:49:03 2017 +0200
New upstream version 3.0.4+dfsg
---
algorithm-hmm/src/include/config.h | 52 ----
algorithm-hmm/src/include/funcs.h | 350 ----------------------
algorithm-hmm/src/include/globals.h | 28 --
algorithm-hmm/src/include/gsi.h | 85 ------
algorithm-hmm/src/include/gsi64.h | 101 -------
algorithm-hmm/src/include/postprob.h | 55 ----
algorithm-hmm/src/include/structs.h | 565 -----------------------------------
7 files changed, 1236 deletions(-)
diff --git a/algorithm-hmm/src/include/config.h b/algorithm-hmm/src/include/config.h
deleted file mode 100644
index fb89df2..0000000
--- a/algorithm-hmm/src/include/config.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/************************************************************
- * HMMER - Biological sequence analysis with profile HMMs
- * Copyright (C) 1992-1999 Washington University School of Medicine
- * All Rights Reserved
- *
- * This source code is distributed under the terms of the
- * GNU General Public License. See the files COPYING and LICENSE
- * for details.
- ************************************************************/
-
-/* config.h
- *
- * Configurable compile-time parameters in HMMER.
- */
-
-#ifndef CONFIGH_INCLUDED
-#define CONFIGH_INCLUDED
-
-/* RAMLIMIT determines the point at which we switch from fast,
- * full dynamic programming to slow, linear-memory divide and conquer
- * dynamic programming algorithms. It is the minimum amount of available
- * RAM on the systems the package will run on. It can be overridden
- * from the Makefile.
- * By default, we assume we have 32 Mb RAM available (per thread).
- */
-#ifndef RAMLIMIT
-#define RAMLIMIT 32
-#endif
-
-/* HMMER_NCPU determines the number of threads/processors that
- * a threads version will parallelize across. This can be overridden
- * by -DHMMER_NCPU=x in the Makefile, and by a setenv HMMER_NCPU x
- * in the environment, and usually by a command line option.
- * Usually we detect the number of processors dynamically, but
- * on some systems (FreeBSD and Linux, notably), we can't. On
- * these systems we assume 2 processors by default. That assumption
- * can be overridden here if HMMER_NCPU is uncommented.
- */
-/* #define HMMER_NCPU 4 */
-
-#define INTSCALE 1000.0 /* scaling constant for floats to integer scores */
-#define MAXABET 20 /* maximum size of alphabet (4 or 20) */
-#define MAXCODE 23 /* maximum degenerate alphabet size (17 or 23) */
-#define MAXDCHLET 200 /* maximum # Dirichlet components in mixture prior */
-#define NINPUTS 4 /* number of inputs into structural prior */
-#define INFTY 987654321 /* infinity for purposes of integer DP cells */
-#define NXRAY 4 /* number of structural inputs */
-#define LOGSUM_TBL 20000 /* controls precision of ILogsum() */
-#define ALILENGTH 50 /* length of displayed alignment lines */
-
-#endif /*CONFIGH_INCLUDED*/
-
diff --git a/algorithm-hmm/src/include/funcs.h b/algorithm-hmm/src/include/funcs.h
deleted file mode 100644
index a813d9f..0000000
--- a/algorithm-hmm/src/include/funcs.h
+++ /dev/null
@@ -1,350 +0,0 @@
-/************************************************************
- * HMMER - Biological sequence analysis with profile HMMs
- * Copyright (C) 1992-1999 Washington University School of Medicine
- * All Rights Reserved
- *
- * This source code is distributed under the terms of the
- * GNU General Public License. See the files COPYING and LICENSE
- * for details.
- ************************************************************/
-
-/* funcs.h
- * RCS $Id: funcs.h,v 1.1.1.1 2003/07/20 20:30:07 cspencer Exp $
- *
- * Declarations of external functions in HMMER.
- */
-
-#ifndef FUNCSH_INCLUDED
-#define FUNCSH_INCLUDED
-
-#include "config.h"
-#include "structs.h"
-#include "squid.h"
-#include "msa.h"
-
-/* alphabet.c
- * Configuration of global alphabet information
- */
-extern void DetermineAlphabet(char **rseqs, int nseq);
-extern void SetAlphabet(int type);
-extern int SymbolIndex(char sym);
-extern char *DigitizeSequence(char *seq, int L);
-extern char *DedigitizeSequence(char *dsq, int L);
-extern void DigitizeAlignment(MSA *msa, char ***ret_dsqs);
-extern void P7CountSymbol(float *counters, char sym, float wt);
-extern void DefaultGeneticCode(int *aacode);
-extern void DefaultCodonBias(float *codebias);
-
-/* from core_algorithms.c
- * Clean research/demonstration versions of basic algorithms.
- */
-extern struct dpmatrix_s *AllocPlan7Matrix(int rows, int M, int ***xmx,
- int ***mmx, int ***imx, int ***dmx);
-extern struct dpshadow_s *AllocShadowMatrix(int rows, int M, char ***xtb,
- char ***mtb, char ***itb, char ***dtb);
-extern void FreePlan7Matrix(struct dpmatrix_s *mx);
-extern void FreeShadowMatrix(struct dpshadow_s *tb);
-extern int P7ViterbiSize(int L, int M);
-extern int P7SmallViterbiSize(int L, int M);
-extern int P7WeeViterbiSize(int L, int M);
-extern float P7Forward(char *dsq, int L, struct plan7_s *hmm,
- struct dpmatrix_s **ret_mx);
-extern float P7Viterbi(char *dsq, int L, struct plan7_s *hmm,
- struct p7trace_s **ret_tr);
-extern void P7ViterbiTrace(struct plan7_s *hmm, char *dsq, int L,
- struct dpmatrix_s *mx, struct p7trace_s **ret_tr);
-extern float P7SmallViterbi(char *dsq, int L, struct plan7_s *hmm, struct p7trace_s **ret_tr);
-extern float P7ParsingViterbi(char *dsq, int L, struct plan7_s *hmm,
- struct p7trace_s **ret_tr);
-extern float P7WeeViterbi(char *dsq, int L, struct plan7_s *hmm,
- struct p7trace_s **ret_tr);
-extern float Plan7ESTViterbi(char *dsq, int L, struct plan7_s *hmm,
- struct dpmatrix_s **ret_mx);
-extern struct p7trace_s *P7ViterbiAlignAlignment(MSA *msa, struct plan7_s *hmm);
-extern struct p7trace_s *ShadowTrace(struct dpshadow_s *tb, struct plan7_s *hmm, int L);
-extern void PostprocessSignificantHit(struct tophit_s *ghit, struct tophit_s *dhit, struct p7trace_s *tr, struct plan7_s *hmm, char *dsq, int L, char *seqname, char *seqacc, char *seqdesc, int do_forward, float sc_override, int do_null2, struct threshold_s *thresh, int hmmpfam_mode);
-
-
-/* from debug.c
- * Debugging output of various sorts.
- */
-extern char *Statetype(char st);
-extern char *AlphabetType2String(int type);
-extern void P7PrintTrace(FILE *fp, struct p7trace_s *tr,
- struct plan7_s *hmm, char *dsq);
-extern void P7PrintPrior(FILE *fp, struct p7prior_s *pri);
-extern int TraceCompare(struct p7trace_s *t1, struct p7trace_s *t2);
-extern int TraceVerify(struct p7trace_s *tr, int M, int N);
-
-/*
- * from display.c
- * Ian Holmes' functions for displaying HMMER2 data structures, especially
- * for posterior probabilities in alignments.
- */
-extern void DisplayPlan7Matrix(char *dsq, int L, struct plan7_s *hmm,
- struct dpmatrix_s *mx);
-extern void DisplayPlan7Posteriors(int L, struct plan7_s *hmm,
- struct dpmatrix_s *forward, struct dpmatrix_s *backward,
- struct p7trace_s *viterbi, struct p7trace_s *optacc);
-extern void DisplayPlan7PostAlign(int L, struct plan7_s *hmm,
- struct dpmatrix_s *forward, struct dpmatrix_s *backward,
- struct p7trace_s **alignment, int A);
-
-
-/* from emit.c
- * Generation of sequences/traces from an HMM
- */
-extern void EmitSequence(struct plan7_s *hmm, char **ret_dsq, int *ret_L, struct p7trace_s **ret_tr);
-extern void EmitConsensusSequence(struct plan7_s *hmm, char **ret_seq, char **ret_dsq, int *ret_L, struct p7trace_s **ret_tr);
-extern void StateOccupancy(struct plan7_s *hmm, float **ret_mp, float **ret_ip, float **ret_dp);
-
-
-/* from emulation.c
- * Interfaces between HMMER and other software packages
- */
-extern void WriteProfile(FILE *fp, struct plan7_s *hmm, int do_xsw);
-
-
-/* from histogram.c
- * accumulation of scores
- */
-extern struct histogram_s *AllocHistogram(int min, int max, int lumpsize);
-extern void FreeHistogram(struct histogram_s *h);
-extern void UnfitHistogram(struct histogram_s *h);
-extern void AddToHistogram(struct histogram_s *h, float sc);
-extern void PrintASCIIHistogram(FILE *fp, struct histogram_s *h);
-extern void PrintXMGRHistogram(FILE *fp, struct histogram_s *h);
-extern void PrintXMGRDistribution(FILE *fp, struct histogram_s *h);
-extern void PrintXMGRRegressionLine(FILE *fp, struct histogram_s *h);
-extern void EVDBasicFit(struct histogram_s *h);
-extern int ExtremeValueFitHistogram(struct histogram_s *h, int censor,
- float high_hint);
-extern void ExtremeValueSetHistogram(struct histogram_s *h, float mu, float lambda,
- float low, float high, int ndegrees);
-extern int GaussianFitHistogram(struct histogram_s *h, float high_hint);
-extern void GaussianSetHistogram(struct histogram_s *h, float mean, float sd);
-extern double EVDDensity(float x, float mu, float lambda);
-extern double EVDDistribution(float x, float mu, float lambda);
-extern double ExtremeValueP (float x, float mu, float lambda);
-extern double ExtremeValueP2(float x, float mu, float lambda, int N);
-extern double ExtremeValueE (float x, float mu, float lambda, int N);
-extern float EVDrandom(float mu, float lambda);
-extern int EVDMaxLikelyFit(float *x, int *y, int n,
- float *ret_mu, float *ret_lambda);
-extern int EVDCensoredFit(float *x, int *y, int n, int z, float c,
- float *ret_mu, float *ret_lambda);
-extern void Lawless416(float *x, int *y, int n, float lambda,
- float *ret_f, float *ret_df);
-extern void Lawless422(float *x, int *y, int n, int z, float c,
- float lambda, float *ret_f, float *ret_df);
-
-/* from hmmio.c
- * Input/output (saving/reading) of models
- */
-extern HMMFILE *HMMFileOpen(char *hmmfile, char *env);
-extern int HMMFileRead(HMMFILE *hmmfp, struct plan7_s **ret_hmm);
-extern void HMMFileClose(HMMFILE *hmmfp);
-extern int HMMFileFormat(HMMFILE *hmmfp);
-extern void HMMFileRewind(HMMFILE *hmmfp);
-extern int HMMFilePositionByName(HMMFILE *hmmfp, char *name);
-extern int HMMFilePositionByIndex(HMMFILE *hmmfp, int idx);
-extern void WriteAscHMM(FILE *fp, struct plan7_s *hmm);
-extern void WriteBinHMM(FILE *fp, struct plan7_s *hmm);
-
-/* masks.c
- * Repetitive sequence masking.
- */
-extern int XNU(char *dsq, int len);
-extern float TraceScoreCorrection(struct plan7_s *hmm, struct p7trace_s *tr, char *dsq);
-
-/* mathsupport.c
- * Much of this code deals with Dirichlet prior mathematics.
- */
-extern int Prob2Score(float p, float null);
-extern float Score2Prob(int sc, float null);
-extern float Scorify(int sc);
-extern double PValue(struct plan7_s *hmm, float sc);
-extern float LogSum(float p1, float p2);
-extern int ILogsum(int p1, int p2);
-extern void LogNorm(float *vec, int n);
-extern float Logp_cvec(float *cvec, int n, float *alpha);
-extern void SampleDirichlet(float *alpha, int n, float *p);
-extern float SampleGamma(float alpha);
-extern void SampleCountvector(float *p, int n, int c, float *cvec);
-extern float P_PvecGivenDirichlet(float *p, int n, float *alpha);
-
-/* from misc.c
- * Miscellaneous functions with no home
- */
-extern char *Getword(FILE *fp, int type);
-extern char *Getline(char *s, int n, FILE *fp);
-extern int SetAutocuts(struct threshold_s *thresh, struct plan7_s *hmm);
-
-/* from modelmakers.c
- * Model construction algorithms
- */
-extern void P7Handmodelmaker(MSA *msa, char **dsq, struct plan7_s **ret_hmm,
- struct p7trace_s ***ret_tr);
-extern void P7Fastmodelmaker(MSA *msa, char **dsq,
- float maxgap, struct plan7_s **ret_hmm,
- struct p7trace_s ***ret_tr);
-extern void P7Maxmodelmaker(MSA *msa, char **dsq,
- float maxgap, struct p7prior_s *prior,
- float *null, float null_p1, float mpri,
- struct plan7_s **ret_hmm,
- struct p7trace_s ***ret_tr);
-
-/* from plan7.c
- * Plan7 HMM structure support
- */
-extern struct plan7_s *AllocPlan7(int M);
-extern struct plan7_s *AllocPlan7Shell(void);
-extern void AllocPlan7Body(struct plan7_s *hmm, int M);
-extern void FreePlan7(struct plan7_s *hmm);
-extern void ZeroPlan7(struct plan7_s *hmm);
-extern void Plan7SetName(struct plan7_s *hmm, char *name);
-extern void Plan7SetAccession(struct plan7_s *hmm, char *acc);
-extern void Plan7SetDescription(struct plan7_s *hmm, char *desc);
-extern void Plan7ComlogAppend(struct plan7_s *hmm, int argc, char **argv);
-extern void Plan7SetCtime(struct plan7_s *hmm);
-extern void Plan7SetNullModel(struct plan7_s *hmm, float null[MAXABET], float p1);
-extern void P7Logoddsify(struct plan7_s *hmm, int viterbi_mode);
-extern void Plan7Renormalize(struct plan7_s *hmm);
-extern void Plan7RenormalizeExits(struct plan7_s *hmm);
-extern void Plan7NakedConfig(struct plan7_s *hmm);
-extern void Plan7GlobalConfig(struct plan7_s *hmm);
-extern void Plan7LSConfig(struct plan7_s *hmm);
-extern void Plan7SWConfig(struct plan7_s *hmm, float pentry, float pexit);
-extern void Plan7FSConfig(struct plan7_s *hmm, float pentry, float pexit);
-extern void PrintPlan7Stats(FILE *fp, struct plan7_s *hmm, char **dsq,
- int nseq, struct p7trace_s **tr);
-extern int DegenerateSymbolScore(float *p, float *null, int ambig);
-extern void Plan9toPlan7(struct plan9_s *hmm, struct plan7_s **ret_plan7);
-
-/*
- * from plan9.c
- * Backwards compatibility for the Plan 9 data structures of HMMER 1.x
- */
-extern struct plan9_s *P9AllocHMM(int M);
-extern void P9ZeroHMM(struct plan9_s *hmm);
-extern int P9FreeHMM(struct plan9_s *hmm);
-extern void P9Renormalize(struct plan9_s *hmm);
-extern void P9DefaultNullModel(float *null);
-
-/*
- * from postprob.c
- * Functions for working with posterior probabilities within alignments
- */
-extern float P7OptimalAccuracy(char *dsq, int L, struct plan7_s *hmm, struct p7trace_s **ret_tr);
-extern float P7Backward(char *dsq, int L, struct plan7_s *hmm, struct dpmatrix_s **ret_mx);
-extern void P7EmitterPosterior(int L, struct plan7_s *hmm, struct dpmatrix_s *forward,
- struct dpmatrix_s *backward, struct dpmatrix_s *mx);
-extern float P7FillOptimalAccuracy(int L, int M, struct dpmatrix_s *posterior,
- struct dpmatrix_s *mx, struct p7trace_s **ret_tr);
-extern void P7OptimalAccuracyTrace(int L, int M, struct dpmatrix_s *posterior,
- struct dpmatrix_s *mx, struct p7trace_s **ret_tr);
-extern char *PostalCode(int L, struct dpmatrix_s *mx, struct p7trace_s *tr);
-
-/* from prior.c
- * Dirichlet priors
- */
-extern struct p7prior_s *P7AllocPrior(void);
-extern struct p7prior_s *P7LaplacePrior(void);
-extern struct p7prior_s *P7DefaultPrior(void);
-extern struct p7prior_s *P7ReadPrior(char *prifile);
-extern void P7FreePrior(struct p7prior_s *pri);
-extern void PAMPrior(char *pamfile, struct p7prior_s *pri, float pamwgt);
-extern void P7DefaultNullModel(float *null, float *ret_p1);
-extern void P7ReadNullModel(char *rndfile, float *null, float *ret_p1);
-extern void P7PriorifyHMM(struct plan7_s *hmm, struct p7prior_s *pri);
-extern void P7PriorifyTransitionVector(float *t, struct p7prior_s *prior,
- float tq[MAXDCHLET]);
-extern void P7PriorifyEmissionVector(float *vec, struct p7prior_s *pri,
- int num, float eq[MAXDCHLET],
- float e[MAXDCHLET][MAXABET],
- float *ret_mix);
-
-
-#ifdef HMMER_PVM
-/* from pvm.c
- * PVM Parallel Virtual Machine implementation
- */
-extern void PVMSpawnSlaves(char *slave, int **ret_tid, int *ret_nslaves);
-extern void PVMConfirmSlaves(int *slave_tid, int nslaves);
-extern void PVMCheckSlaves(int *slave_tid, int nslaves);
-extern void PVMKillSlaves(int *slave_tid, int nslaves);
-extern int PVMPackString(char *s);
-extern char * PVMUnpackString(void);
-extern int PVMPackTrace(struct p7trace_s *tr);
-extern struct p7trace_s *PVMUnpackTrace(void);
-extern int PVMPackHMM(struct plan7_s *hmm);
-extern struct plan7_s * PVMUnpackHMM(void);
-#endif /*HMMER_PVM*/
-
-#ifdef HMMER_THREADS
-/* from threads.c
- * POSIX threads implementation
- */
-extern int ThreadNumber(void);
-#endif /*HMMER_THREADS*/
-
-
-/* from tophits.c
- * Support for keeping/sorting top scoring hit/alignment lists
- */
-extern struct tophit_s *AllocTophits(int lumpsize);
-extern void GrowTophits(struct tophit_s *h);
-extern void FreeTophits(struct tophit_s *h);
-extern struct fancyali_s *AllocFancyAli(void);
-extern void FreeFancyAli(struct fancyali_s *ali);
-extern void RegisterHit(struct tophit_s *h, double sortkey,
- double pvalue, float score,
- double motherp, float mothersc,
- char *name, char *acc, char *desc,
- int sqfrom, int sqto, int sqlen,
- int hmmfrom, int hmmto, int hmmlen,
- int domidx, int ndom,
- struct fancyali_s *ali);
-extern void GetRankedHit(struct tophit_s *h, int rank,
- double *r_pvalue, float *r_score,
- double *r_motherp, float *r_mothersc,
- char **r_name, char **r_acc, char **r_desc,
- int *r_sqfrom, int *r_sqto, int *r_sqlen,
- int *r_hmmfrom, int *r_hmmto, int *r_hmmlen,
- int *r_domidx, int *r_ndom,
- struct fancyali_s **r_ali);
-extern int TophitsMaxName(struct tophit_s *h);
-extern void FullSortTophits(struct tophit_s *h);
-extern void TophitsReport(struct tophit_s *h, double E, int nseq);
-
-/* from trace.c
- * Support for traceback (state path) structure
- */
-extern void P7AllocTrace(int tlen, struct p7trace_s **ret_tr);
-extern void P7ReallocTrace(struct p7trace_s *tr, int tlen);
-extern void P7FreeTrace(struct p7trace_s *tr);
-extern void TraceSet(struct p7trace_s *tr, int tpos, char type, int idx, int pos);
-extern struct p7trace_s **MergeTraceArrays(struct p7trace_s **t1, int n1, struct p7trace_s **t2, int n2);
-extern void P7ReverseTrace(struct p7trace_s *tr);
-extern void P7TraceCount(struct plan7_s *hmm, char *dsq, float wt,
- struct p7trace_s *tr);
-extern float P7TraceScore(struct plan7_s *hmm, char *dsq, struct p7trace_s *tr);
-extern MSA *P7Traces2Alignment(char **dsq, SQINFO *sqinfo, float *wgt,
- int nseq, int M,
- struct p7trace_s **tr, int matchonly);
-extern int TransitionScoreLookup(struct plan7_s *hmm, char st1,
- int k1, char st2, int k2);
-extern struct fancyali_s *CreateFancyAli(struct p7trace_s *tr, struct plan7_s *hmm,
- char *dsq, char *name);
-extern void PrintFancyAli(FILE *fp, struct fancyali_s *ali);
-extern void TraceDecompose(struct p7trace_s *otr, struct p7trace_s ***ret_tr,
- int *ret_ntr);
-extern int TraceDomainNumber(struct p7trace_s *tr);
-extern void TraceSimpleBounds(struct p7trace_s *tr, int *ret_i1, int *ret_i2,
- int *ret_k1, int *ret_k2);
-extern struct p7trace_s *MasterTraceFromMap(int *map, int M, int alen);
-extern void ImposeMasterTrace(char **aseq, int nseq, struct p7trace_s *mtr,
- struct p7trace_s ***ret_tr);
-
-
-#endif /*FUNCSH_INCLUDED*/
diff --git a/algorithm-hmm/src/include/globals.h b/algorithm-hmm/src/include/globals.h
deleted file mode 100644
index c9b028e..0000000
--- a/algorithm-hmm/src/include/globals.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/************************************************************
- * HMMER - Biological sequence analysis with profile HMMs
- * Copyright (C) 1992-1999 Washington University School of Medicine
- * All Rights Reserved
- *
- * This source code is distributed under the terms of the
- * GNU General Public License. See the files COPYING and LICENSE
- * for details.
- ************************************************************/
-
-/* globals.h
- * Mon Nov 18 13:05:03 1996
- *
- * Global variable definitions.
- * This file may only be included in a main() .c file.
- */
-
-#ifndef __GLOBALS_H__
-#define __GLOBALS_H__
-
-char Alphabet[MAXCODE]; /* ACGT, for instance */
-int Alphabet_type; /* hmmNUCLEIC or hmmAMINO */
-int Alphabet_size; /* uniq alphabet size: 4 or 20 */
-int Alphabet_iupac; /* total size of alphabet + IUPAC degen. */
-char Degenerate[MAXCODE][MAXABET];
-int DegenCount[MAXCODE];
-
-#endif
diff --git a/algorithm-hmm/src/include/gsi.h b/algorithm-hmm/src/include/gsi.h
deleted file mode 100644
index 2f2a91c..0000000
--- a/algorithm-hmm/src/include/gsi.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*****************************************************************
- * HMMER - Biological sequence analysis with profile HMMs
- * Copyright (C) 1992-1999 Washington University School of Medicine
- * All Rights Reserved
- *
- * This source code is distributed under the terms of the
- * GNU General Public License. See the files COPYING and LICENSE
- * for details.
- *****************************************************************/
-
-#ifndef GSIH_INCLUDED
-#define GSIH_INCLUDED
-
-/* gsi.h
- * Database indexing (GSI format support)
- * RCS $Id: gsi.h,v 1.1.1.1 2003/07/20 20:30:07 cspencer Exp $
- *
- * A GSI (generic sequence index) file is composed of
- * recnum + nfiles + 1 records. Each record contains
- * three fields; key, file number, and disk offset.
- * Record 0 contains:
- * [ "GSI" ] [ nfiles ] [ recnum ]
- * Records 1..nfiles map file names to file numbers, and contain:
- * [ filename ] [ file number, 1..nfiles ] [ 0 (unused) ]
- * Records nfiles+1 to recnum+nfiles+1 provide disk offset
- * and file number indices for every key:
- * [ key ] [ file number ] [ offset]
- *
- * Because the file is binary, we take some (but not
- * complete) care to improve portability amongst platforms.
- * This means using network order integers (see ntohl())
- * and defining types for 16 and 32 bit integers.
- *
- * Because we use 32-bit offsets, ftell(), and fseek(),
- * there is an implicit 2 Gb file size maximum.
- * AFAIK neither ANSI C nor POSIX provide a portable solution
- * to this problem. fsetpos(), fgetpos() use an
- * opaque fpos_t datatype that we can't write portably
- * to a disk file. Suggestions welcomed.
- */
-#define GSI_KEYSIZE 32 /* keys are 32 bytes long */
-#define GSI_RECSIZE 38 /* 32 + 2 + 4 bytes */
-#define SQD_UINT16_MAX 65535 /* 2^16-1 */
-#define SQD_UINT32_MAX 4294967295U/* 2^32-1 */
-
-struct gsi_s {
- FILE *gsifp; /* open GSI index file */
- sqd_uint16 nfiles; /* number of files = 16 bit int */
- sqd_uint32 recnum; /* number of records = 32 bit int */
-};
-typedef struct gsi_s GSIFILE;
-
-struct gsikey_s {
- char key[GSI_KEYSIZE];
- sqd_uint16 filenum;
- sqd_uint32 offset;
-};
-struct gsiindex_s {
- char **filenames;
- int *fmt;
- sqd_uint16 nfiles;
-
- struct gsikey_s *elems;
- int nkeys;
-};
-
-
-/* from gsi.c
- */
-extern GSIFILE *GSIOpen(char *gsifile);
-extern int GSIGetRecord(GSIFILE *gsi, char *f1, sqd_uint16 *f2, sqd_uint32 *f3);
-extern int GSIGetOffset(GSIFILE *gsi, char *key, char *sqfile,
- int *fmt, long *ret_offset);
-extern void GSIClose(GSIFILE *gsi);
-extern struct gsiindex_s *GSIAllocIndex(void);
-extern void GSIFreeIndex(struct gsiindex_s *g);
-extern void GSIAddFileToIndex(struct gsiindex_s *g, char *filename, int fmt);
-extern void GSIAddKeyToIndex(struct gsiindex_s *g, char *key, int filenum, long offset);
-extern void GSISortIndex(struct gsiindex_s *g);
-extern void GSIWriteIndex(FILE *fp, struct gsiindex_s *g);
-extern void GSIWriteHeader(FILE *fp, int nfiles, long nkeys);
-extern int GSIWriteFileRecord(FILE *fp, char *fname, int idx, int fmt);
-extern int GSIWriteKeyRecord(FILE *fp, char *key, int fileidx, long offset);
-
-#endif /*GSIH_INCLUDED*/
diff --git a/algorithm-hmm/src/include/gsi64.h b/algorithm-hmm/src/include/gsi64.h
deleted file mode 100644
index 6ccc172..0000000
--- a/algorithm-hmm/src/include/gsi64.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*****************************************************************
- * HMMER - Biological sequence analysis with profile HMMs
- * Copyright (C) 1992-1999 Washington University School of Medicine
- * All Rights Reserved
- *
- * This source code is distributed under the terms of the
- * GNU General Public License. See the files COPYING and LICENSE
- * for details.
- *****************************************************************/
-
-#ifndef GSI64H_INCLUDED
-#define GSI64H_INCLUDED
-#ifdef USE_GSI64
-
-/* gsi64.h
- * Database indexing (GSI64 format support)
- * CVS $Id: gsi64.h,v 1.1.1.1 2003/07/20 20:30:07 cspencer Exp $
- *
- * A GSI64 (generic sequence index, 64 bit hack) file is composed of
- * recnum + nfiles + 1 records. Each record contains
- * three fields; key, file number, and disk offset.
- * Record 0 contains:
- * [ "GSI64" ] [ nfiles ] [ recnum ]
- * Records 1..nfiles map file names to file numbers, and contain:
- * [ filename ] [ file number, 1..nfiles ] [ 0 (unused) ]
- * Records nfiles+1 to recnum+nfiles+1 provide disk offset
- * and file number indices for every key:
- * [ key ] [ file number ] [ offset]
- *
- * Because the file is binary, we take some (but not
- * complete) care to improve portability amongst platforms.
- * This means using network order integers (see ntohl())
- * and defining types for 16 and 64 bit integers.
- *
- * A short test program that verifies the sizes of these
- * data types would be a good idea...
- *
- * Because we use 64-bit offsets, ftell64(), and fseek64(),
- * we rely on the OS actually providing these. This is
- * a temporary hack for human genome analysis.
- */
-typedef unsigned long long sqd_uint64; /* 64 bit integer. */
-
-#define GSI64_KEYSIZE 32 /* keys are 32 bytes long */
-#define GSI64_RECSIZE 42 /* 32 + 2 + 8 bytes */
-#define SQD_UINT16_MAX 65535 /* 2^16-1 */
-#define SQD_UINT64_MAX 18446744073709551615LU /* 2^64-1 */
-
-struct gsi64_s {
- FILE *gsifp; /* open GSI index file */
- sqd_uint16 nfiles; /* number of files = 16 bit int */
- sqd_uint64 recnum; /* number of records = 64 bit int */
-};
-typedef struct gsi64_s GSI64FILE;
-
-struct gsi64key_s {
- char key[GSI64_KEYSIZE];
- sqd_uint16 filenum;
- sqd_uint64 offset;
-};
-struct gsi64index_s {
- char **filenames;
- int *fmt;
- sqd_uint16 nfiles;
-
- struct gsi64key_s *elems;
- sqd_uint64 nkeys;
-};
-
-
-
-/* if ntohl() and friends are not available, you
- * can slip replacements in by providing sre_ntohl()
- * functions. (i.e., there is a possible portability problem here.)
- */
-#if 0
-#define sre_ntohl(x) ntohl(x);
-#define sre_ntohs(x) ntohs(x);
-#define sre_htonl(x) htonl(x);
-#define sre_htons(x) htons(x);
-#endif
-
-/* from gsi64.c
- */
-extern GSI64FILE *GSI64Open(char *gsifile);
-extern int GSI64GetRecord(GSI64FILE *gsi, char *f1, sqd_uint16 *f2, sqd_uint64 *f3);
-extern int GSI64GetOffset(GSI64FILE *gsi, char *key, char *sqfile,
- int *fmt, long long *ret_offset);
-extern void GSI64Close(GSI64FILE *gsi);
-extern struct gsi64index_s *GSI64AllocIndex(void);
-extern void GSI64FreeIndex(struct gsi64index_s *g);
-extern void GSI64AddFileToIndex(struct gsi64index_s *g, char *filename, int fmt);
-extern void GSI64AddKeyToIndex(struct gsi64index_s *g, char *key, int filenum, long long offset);
-extern void GSI64SortIndex(struct gsi64index_s *g);
-extern void GSI64WriteIndex(FILE *fp, struct gsi64index_s *g);
-extern void GSI64WriteHeader(FILE *fp, int nfiles, long long nkeys);
-extern int GSI64WriteFileRecord(FILE *fp, char *fname, int idx, int fmt);
-extern int GSI64WriteKeyRecord(FILE *fp, char *key, int fileidx, long long offset);
-
-#endif /* USE_GSI64 */
-#endif /*GSIH_INCLUDED*/
diff --git a/algorithm-hmm/src/include/postprob.h b/algorithm-hmm/src/include/postprob.h
deleted file mode 100644
index b09c036..0000000
--- a/algorithm-hmm/src/include/postprob.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/************************************************************
- * Copyright (C) 1998 Ian Holmes (ihh at sanger.ac.uk)
- * HMMER - Biological sequence analysis with profile HMMs
- * Copyright (C) 1992-1999 Washington University School of Medicine
- * All Rights Reserved
- *
- * This source code is distributed under the terms of the
- * GNU General Public License. See the files COPYING and LICENSE
- * for details.
- ************************************************************/
-
-/* postprob.h
- * Author: Ian Holmes (ihh at sanger.ac.uk, Jun 5 1998)
- * Derived from core_algorithms.c (SRE, Nov 11 1996)
- * Incorporated SRE, Sat Nov 6 09:07:02 1999
- *
- * Functions for working with posterior probabilities,
- * including unfussed "backwards" and "optimal accuracy"
- * implementations.
- */
-
-#ifndef POSTPROB_INCLUDED
-#define POSTPROB_INCLUDED
-
-#include "structs.h"
-#include "config.h"
-#include "funcs.h"
-#include "squid.h"
-
-/* Extra algorithms to work with posterior probabilities.
- */
-
-extern float P7OptimalAccuracy(char *dsq, int L, struct plan7_s *hmm,
- struct p7trace_s **ret_tr);
-
-extern float P7Backward(char *dsq, int L, struct plan7_s *hmm,
- struct dpmatrix_s **ret_mx);
-
-extern void P7EmitterPosterior(int L, struct plan7_s *hmm,
- struct dpmatrix_s *forward,
- struct dpmatrix_s *backward,
- struct dpmatrix_s *mx);
-
-extern float P7FillOptimalAccuracy(int L, int M,
- struct dpmatrix_s *posterior,
- struct dpmatrix_s *mx,
- struct p7trace_s **ret_tr);
-
-extern void P7OptimalAccuracyTrace(int L, int M,
- struct dpmatrix_s *posterior,
- struct dpmatrix_s *mx,
- struct p7trace_s **ret_tr);
-
-#endif
-
diff --git a/algorithm-hmm/src/include/structs.h b/algorithm-hmm/src/include/structs.h
deleted file mode 100644
index 90d0dc2..0000000
--- a/algorithm-hmm/src/include/structs.h
+++ /dev/null
@@ -1,565 +0,0 @@
-/************************************************************
- * HMMER - Biological sequence analysis with profile HMMs
- * Copyright (C) 1992-1999 Washington University School of Medicine
- * All Rights Reserved
- *
- * This source code is distributed under the terms of the
- * GNU General Public License. See the files COPYING and LICENSE
- * for details.
- ************************************************************/
-
-/* structs.h
- *
- * Data structures used in HMMER.
- * Also, a few miscellaneous macros and global variable declarations.
- *
- * RCS $Id: structs.h,v 1.1.1.1 2003/07/20 20:30:07 cspencer Exp $
- */
-
-#ifndef STRUCTSH_INCLUDED
-#define STRUCTSH_INCLUDED
-
-#include "squid.h"
-#include "config.h"
-#include "ssi.h"
-
-/* Miscellaneous math macros used in the package
- */
-#define sreLOG2(x) ((x) > 0 ? log(x) * 1.44269504 : -9999.)
-#define sreEXP2(x) (exp((x) * 0.69314718 ))
-#define SQR(x) ((x) * (x))
-
-/* an idiom for determining a symbol's position in the array
- * by pointer arithmetic.
- * does no error checking, so caller must already be damned sure x is
- * valid in the alphabet!
- */
-#define SYMIDX(x) (strchr(Alphabet, (x)) - Alphabet)
-
-/* The symbol alphabet.
- * Must deal with IUPAC degeneracies. Nondegenerate symbols
- * come first in Alphabet[], followed by degenerate symbols.
- * Nucleic alphabet also must deal with other common symbols
- * like U (in RNA) and X (often misused for N).
- * Example:
- * Nucleic: "ACGTUNRYMKSWHBVDX" size=4 iupac=17
- * Amino: "ACDEFGHIKLMNPQRSTVWYBZX" size=20 iupac=23
- *
- * Parts of the code assume that the last symbol is a
- * symbol for an unknown residue, i.e. 'X'.
- *
- * MAXCODE and MAXABET constants are defined in config.h
- */
-extern char Alphabet[MAXCODE]; /* "ACDEFGHIKLMNPQRSTVWYBZX" for example */
-extern int Alphabet_type; /* hmmNUCLEIC or hmmAMINO */
-extern int Alphabet_size; /* uniq alphabet size: 4 or 20 */
-extern int Alphabet_iupac; /* total size of alphabet + IUPAC degen. */
-extern char Degenerate[MAXCODE][MAXABET];
-extern int DegenCount[MAXCODE];
-#define hmmNOTSETYET 0
-#define hmmNUCLEIC 2 /* compatibility with squid's kRNA */
-#define hmmAMINO 3 /* compatibility with squid's kAmino */
-
-/**********************************************************************
- *
- * Plan7
- * Implementation of the new Plan7 HMM architecture.
- * Fully probabilistic even for hmmsw, hmmls, and hmmfs;
- * No insert->delete or delete->insert transitions;
- * Improved structure layout.
- *
- * The strategy is to infiltrate plan7 code into HMMER in
- * an evolutionary rather than revolutionary manner.
- *
- **********************************************************************/
-
-/* Plan 7 construction strategies.
- */
-enum p7_construction {
- P7_MAP_CONSTRUCTION, /* maximum a posteriori architecture */
- P7_HAND_CONSTRUCTION, /* hand specified architecture */
- P7_FAST_CONSTRUCTION /* fast ad hoc architecture */
-};
-
-/* Plan 7 parameter optimization strategies
- */
-enum p7_param {
- P7_MAP_PARAM, /* standard maximum a posteriori */
- P7_MD_PARAM, /* maximum discrimination */
- P7_MRE_PARAM, /* maximum relative entropy */
- P7_WMAP_PARAM /* ad hoc weighted MAP */
-};
-
-/* Structure: plan7_s
- *
- * Declaration of a Plan 7 profile-HMM.
- */
-struct plan7_s {
- /* Annotation on the model. A name is mandatory.
- * Other fields are optional; whether they are present is
- * flagged in the stateflags bit array.
- *
- * desc is only valid if PLAN7_DESC is set in flags.
- * acc is only valid if PLAN7_ACC is set in flags.
- * rf is only valid if PLAN7_RF is set in flags.
- * cs is only valid if PLAN7_CS is set in flags.
- * ca is only valid if PLAN7_CA is set in flags.
- * map is only valid if PLAN7_MAP is set in flags.
- */
- char *name; /* name of the model +*/
- char *acc; /* accession number of model (Pfam) +*/
- char *desc; /* brief description of model +*/
- char *rf; /* reference line from alignment 0..M +*/
- char *cs; /* consensus structure line 0..M +*/
- char *ca; /* consensus accessibility line 0..M */
- char *comlog; /* command line(s) that built model +*/
- int nseq; /* number of training sequences +*/
- char *ctime; /* creation date +*/
- int *map; /* map of alignment cols onto model 1..M+*/
- int checksum; /* checksum of training sequences +*/
-
- /* The following are annotations added to support work by Michael Asman,
- * CGR Stockholm. They are not stored in model files; they are only
- * used in model construction.
- *
- * #=GC X-PRM (PRT,PRI) annotation is picked up by hmmbuild and interpreted
- * as specifying which mixture Dirichlet component to use. If these flags
- * are non-NULL, the normal mixture Dirichlet code is bypassed, and a
- * single specific Dirichlet is used at each position.
- */
- int *tpri; /* which transition mixture prior to use */
- int *mpri; /* which match mixture prior to use */
- int *ipri; /* which insert mixture prior to use */
-
- /* Pfam-specific score cutoffs.
- *
- * ga1, ga2 are valid if PLAN7_GA is set in flags.
- * tc1, tc2 are valid if PLAN7_TC is set in flags.
- * nc1, nc2 are valid if PLAN7_NC is set in flags.
- */
- float ga1, ga2; /* per-seq/per-domain gathering thresholds (bits) +*/
- float tc1, tc2; /* per-seq/per-domain trusted cutoff (bits) +*/
- float nc1, nc2; /* per-seq/per-domain noise cutoff (bits) +*/
-
- /* The main model in probability form: data-dependent probabilities.
- * This is the core Krogh/Haussler model.
- * Transition probabilities are usually accessed as a
- * two-D array: hmm->t[k][TMM], for instance. They are allocated
- * such that they can also be stepped through in 1D by pointer
- * manipulations, for efficiency in DP algorithms.
- */
- int M; /* length of the model (# nodes) +*/
- float **t; /* transition prob's. t[1..M-1][0..6] +*/
- float **mat; /* match emissions. mat[1..M][0..19] +*/
- float **ins; /* insert emissions. ins[1..M-1][0..19] +*/
- float tbd1; /* B->D1 prob (data dependent) +*/
-
- /* The unique states of Plan 7 in probability form.
- * These are the algorithm-dependent, data-independent probabilities.
- * Some parts of the code may briefly use a trick of copying tbd1
- * into begin[0]; this makes it easy to call FChoose() or FNorm()
- * on the resulting vector. However, in general begin[0] is not
- * a valid number.
- */
- float xt[4][2]; /* N,E,C,J extra states: 2 transitions +*/
- float *begin; /* 1..M B->M state transitions +*/
- float *end; /* 1..M M->E state transitions (!= a dist!) +*/
-
- /* The null model probabilities.
- */
- float null[MAXABET]; /* "random sequence" emission prob's +*/
- float p1; /* null model loop probability +*/
-
- /* The model in log-odds score form.
- * These are created from the probabilities by LogoddsifyHMM().
- * By definition, null[] emission scores are all zero.
- * Note that emission distributions are over 26 upper-case letters,
- * not just the unambiguous protein or DNA alphabet: we
- * precalculate the scores for all IUPAC degenerate symbols we
- * may see. Non-IUPAC symbols simply have a -INFTY score.
- * Note the reversed indexing on msc and isc -- for efficiency reasons.
- *
- * Only valid if PLAN7_HASBITS is set.
- */
- int **tsc; /* transition scores [1.M-1][0.6] -*/
- int **msc; /* match emission scores [0.MAXCODE-1][1.M] -*/
- int **isc; /* ins emission scores [0.MAXCODE-1][1.M-1] -*/
- int xsc[4][2]; /* N,E,C,J transitions -*/
- int *bsc; /* begin transitions [1.M] -*/
- int *esc; /* end transitions [1.M] -*/
-
- /* DNA translation scoring parameters
- * For aligning protein Plan7 models to DNA sequence.
- * Lookup value for a codon is calculated by pos1 * 16 + pos2 * 4 + pos3,
- * where 'pos1' is the digitized value of the first nucleotide position;
- * if any of the positions are ambiguous codes, lookup value 64 is used
- * (which will generally have a score of zero)
- *
- * Only valid if PLAN7_HASDNA is set.
- */
- int **dnam; /* triplet match scores [0.64][1.M] -*/
- int **dnai; /* triplet insert scores [0.64][1.M] -*/
- int dna2; /* -1 frameshift, doublet emission, M or I -*/
- int dna4; /* +1 frameshift, doublet emission, M or I -*/
-
- /* P-value and E-value statistical parameters
- * Only valid if PLAN7_STATS is set.
- */
- float mu; /* EVD mu +*/
- float lambda; /* EVD lambda +*/
-
- int flags; /* bit flags indicating state of HMM, valid data +*/
-};
-
-/* Flags for plan7->flags.
- * Note: Some models have scores but no probabilities (for instance,
- * after reading from an HMM save file). Other models have
- * probabilities but no scores (for instance, during training
- * or building). Since it costs time to convert either way,
- * I use PLAN7_HASBITS and PLAN7_HASPROB flags to defer conversion
- * until absolutely necessary. This means I have to be careful
- * about keeping these flags set properly when I fiddle a model.
- */
-#define PLAN7_HASBITS (1<<0) /* raised if model has log-odds scores */
-#define PLAN7_DESC (1<<1) /* raised if description exists */
-#define PLAN7_RF (1<<2) /* raised if #RF annotation available */
-#define PLAN7_CS (1<<3) /* raised if #CS annotation available */
-#define PLAN7_XRAY (1<<4) /* raised if structural data available */
-#define PLAN7_HASPROB (1<<5) /* raised if model has probabilities */
-#define PLAN7_HASDNA (1<<6) /* raised if protein HMM->DNA seq params set*/
-#define PLAN7_STATS (1<<7) /* raised if EVD parameters are available */
-#define PLAN7_MAP (1<<8) /* raised if alignment map is available */
-#define PLAN7_ACC (1<<9) /* raised if accession number is available */
-#define PLAN7_GA (1<<10) /* raised if gathering thresholds available */
-#define PLAN7_TC (1<<11) /* raised if trusted cutoffs available */
-#define PLAN7_NC (1<<12) /* raised if noise cutoffs available */
-#define PLAN7_CA (1<<13) /* raised if surface accessibility avail. */
-
-/* Indices for special state types, I: used for dynamic programming xmx[][]
- * mnemonic: eXtra Matrix for B state = XMB
- */
-#define XMB 0
-#define XME 1
-#define XMC 2
-#define XMJ 3
-#define XMN 4
-
-/* Indices for special state types, II: used for hmm->xt[] indexing
- * mnemonic: eXtra Transition for N state = XTN
- */
-#define XTN 0
-#define XTE 1
-#define XTC 2
-#define XTJ 3
-
-/* Indices for Plan7 main model state transitions.
- * Used for indexing hmm->t[k][]
- * mnemonic: Transition from Match to Match = TMM
- */
-#define TMM 0
-#define TMI 1
-#define TMD 2
-#define TIM 3
-#define TII 4
-#define TDM 5
-#define TDD 6
-
-/* Indices for extra state transitions
- * Used for indexing hmm->xt[][].
- */
-#define MOVE 0 /* trNB, trEC, trCT, trJB */
-#define LOOP 1 /* trNN, trEJ, trCC, trJJ */
-
-/* Declaration of Plan7 dynamic programming matrix structure.
- */
-struct dpmatrix_s {
- int **xmx; /* special scores [0.1..N][BECJN] */
- int **mmx; /* match scores [0.1..N][0.1..M] */
- int **imx; /* insert scores [0.1..N][0.1..M-1.M] */
- int **dmx; /* delete scores [0.1..N][0.1..M-1.M] */
-};
-
-/* Declaration of Plan7 shadow matrix structure.
- * In general, allowed values are STM, STI, etc.
- * However, E state has M possible sources, from 1..M match states;
- * hence the esrc array.
- */
-struct dpshadow_s {
- char **xtb; /* special state traces [0.1..N][BECJN] */
- char **mtb; /* match state traces [0.1..N][0.1..M] */
- char **itb; /* insert state traces [0.1..N][0.1..M-1.M] */
- char **dtb; /* delete state traces [0.1..N][0.1..M-1.M] */
- int *esrc; /* E trace is special; must store a M state number 1..M */
-};
-
-/* Structure: HMMFILE
- *
- * Purpose: An open HMM file or HMM library. See hmmio.c.
- */
-struct hmmfile_s {
- FILE *f; /* pointer to file opened for reading */
- SSIFILE *ssi; /* pointer to open SSI index, or NULL */
- int (*parser)(struct hmmfile_s *, struct plan7_s **); /* parsing function */
- int is_binary; /* TRUE if format is a binary one */
- int byteswap; /* TRUE if binary and byteswapped */
-
- /* Ewan (GeneWise) needs the input API to know the offset of each
- * HMM on the disk, as it's being read. This might be enough
- * support for him. hmmindex also uses this. Ewan, see
- * HMMFilePositionByIndex() for an example of how to use this
- * opaque offset type in the SSI API - the call you need
- * is SSISetFilePosition().
- */
- int is_seekable; /* TRUE if we use offsets in this HMM file */
- int mode; /* type of offset */
- SSIOFFSET offset; /* Disk offset for beginning of the current HMM */
-};
-typedef struct hmmfile_s HMMFILE;
-
-
-/* Plan 7 model state types
- * used in traceback structure
- */
-#define STBOGUS 0
-#define STM 1
-#define STD 2
-#define STI 3
-#define STS 4
-#define STN 5
-#define STB 6
-#define STE 7
-#define STC 8
-#define STT 9
-#define STJ 10
-
-/* Structure: p7trace_s
- *
- * Traceback structure for alignments of model to sequence.
- * Each array in a trace_s is 0..tlen-1.
- * Element 0 is always to STATE_S. Element tlen-1 is always to STATE_T.
- */
-struct p7trace_s {
- int tlen; /* length of traceback */
- char *statetype; /* state type used for alignment */
- int *nodeidx; /* index of aligned node, 1..M (if M,D,I), or 0 */
- int *pos; /* position in dsq, 1..L, or 0 if none */
-};
-
-/* Structure: p7prior_s
- *
- * Dirichlet priors on HMM parameters.
- */
-struct p7prior_s {
- int strategy; /* PRI_DCHLET, etc. */
-
- int tnum; /* number of transition Dirichlet mixtures */
- float tq[MAXDCHLET]; /* probabilities of tnum components */
- float t[MAXDCHLET][7]; /* transition terms per mix component */
-
- int mnum; /* number of mat emission Dirichlet mixtures */
- float mq[MAXDCHLET]; /* probabilities of mnum components */
- float m[MAXDCHLET][MAXABET]; /* match emission terms per mix component */
-
- int inum; /* number of insert emission Dirichlet mixes */
- float iq[MAXDCHLET]; /* probabilities of inum components */
- float i[MAXDCHLET][MAXABET]; /* insert emission terms */
-};
-#define PRI_DCHLET 0 /* simple or mixture Dirichlets */
-#define PRI_PAM 1 /* PAM prior hack */
-
-
-/**********************************************************************
- * Other structures, not having to do with HMMs.
- **********************************************************************/
-
-/* Structure: histogram_s
- *
- * Keep a score histogram.
- *
- * The main implementation issue here is that the range of
- * scores is unknown, and will go negative. histogram is
- * a 0..max-min array that represents the range min..max.
- * A given score is indexed in histogram array as score-min.
- * The AddToHistogram() function deals with dynamically
- * resizing the histogram array when necessary.
- */
-struct histogram_s {
- int *histogram; /* counts of hits */
- int min; /* elem 0 of histogram == min */
- int max; /* last elem of histogram == max */
- int highscore; /* highest active elem has this score */
- int lowscore; /* lowest active elem has this score */
- int lumpsize; /* when resizing, overalloc by this */
- int total; /* total # of hits counted */
-
- float *expect; /* expected counts of hits */
- int fit_type; /* flag indicating distribution type */
- float param[3]; /* parameters used for fits */
- float chisq; /* chi-squared val for goodness of fit*/
- float chip; /* P value for chisquared */
-};
-#define HISTFIT_NONE 0 /* no fit done yet */
-#define HISTFIT_EVD 1 /* fit type = extreme value dist */
-#define HISTFIT_GAUSSIAN 2 /* fit type = Gaussian */
-#define EVD_MU 0 /* EVD fit parameter mu */
-#define EVD_LAMBDA 1 /* EVD fit parameter lambda */
-#define EVD_WONKA 2 /* EVD fit fudge factor */
-#define GAUSS_MEAN 0 /* Gaussian parameter mean */
-#define GAUSS_SD 1 /* Gaussian parameter std. dev. */
-
-/* Structure: fancyali_s
- *
- * Alignment of a hit to an HMM, for printing.
- */
-struct fancyali_s {
- char *rfline; /* reference coord info */
- char *csline; /* consensus structure info */
- char *model; /* aligned query consensus sequence */
- char *mline; /* "identities", conservation +'s, etc. */
- char *aseq; /* aligned target sequence */
- int len; /* length of strings */
- char *query; /* name of query HMM */
- char *target; /* name of target sequence */
- int sqfrom; /* start position on sequence (1..L) */
- int sqto; /* end position on sequence (1..L) */
-};
-
-/* Structure: hit_s
- *
- * Info about a high-scoring database hit.
- * We keep this info in memory, so we can output a
- * sorted list of high hits at the end.
- *
- * sqfrom and sqto are the coordinates that will be shown
- * in the results, not coords in arrays... therefore, reverse
- * complements have sqfrom > sqto
- */
-struct hit_s {
- double sortkey; /* number to sort by; big is better */
- float score; /* score of the hit */
- double pvalue; /* P-value of the hit */
- float mothersc; /* score of whole sequence */
- double motherp; /* P-value of whole sequence */
- char *name; /* name of the target */
- char *acc; /* accession of the target */
- char *desc; /* description of the target */
- int sqfrom; /* start position in seq (1..N) */
- int sqto; /* end position in seq (1..N) */
- int sqlen; /* length of sequence (N) */
- int hmmfrom; /* start position in HMM (1..M) */
- int hmmto; /* end position in HMM (1..M) */
- int hmmlen; /* length of HMM (M) */
- int domidx; /* index of this domain */
- int ndom; /* total # of domains in this seq */
- struct fancyali_s *ali; /* ptr to optional alignment info */
-};
-
-
-/* Structure: tophit_s
- *
- * Array of high scoring hits, suitable for efficient sorting
- * when we prepare to output results. "hit" list is NULL and
- * unavailable until after we do a sort.
- */
-struct tophit_s {
- struct hit_s **hit; /* array of ptrs to top scoring hits */
- struct hit_s *unsrt; /* unsorted array */
- int alloc; /* current allocation size */
- int num; /* number of hits in list now */
- int lump; /* allocation lumpsize */
-};
-
-/* struct threshold_s
- * Contains score/evalue threshold settings.
- *
- * made first for hmmpfam:
- * Since we're going to loop over all HMMs in a Pfam (or pfam-like)
- * database in main_loop_{serial,pvm}, and we're going to
- * allow autocutoffs using Pfam GA, NC, TC lines, we will need
- * to reset those cutoffs with each HMM in turn. Therefore the
- * main loops need to know whether they're supposed to be
- * doing autocutoff. This amount of info was unwieldy enough
- * to pass through the argument list that I put it
- * in a structure.
- */
-enum threshold_cut { CUT_NONE, CUT_GA, CUT_NC, CUT_TC };
-struct threshold_s {
- float globT; /* T parameter: keep only hits > globT bits */
- double globE; /* E parameter: keep hits < globE E-value */
- float domT; /* T parameter for individual domains */
- double domE; /* E parameter for individual domains */
- /* autosetting of cutoffs using Pfam annot: */
- enum threshold_cut autocut;
- int Z; /* nseq to base E value calculation on */
-};
-
-/**********************************************************
- * PVM parallelization
- **********************************************************/
-#ifdef HMMER_PVM
-
-/* Message tags
- */
-#define HMMPVM_INIT 0 /* an initialization packet to all slaves */
-#define HMMPVM_WORK 1 /* a work packet sent to a slave */
-#define HMMPVM_RESULTS 2 /* a results packet sent back to master */
-#define HMMPVM_TASK_TROUBLE 3 /* a notification of bad things in a slave task */
-#define HMMPVM_HOST_TROUBLE 4 /* a notification of bad things in a PVM host */
-
-/* error codes
- */
-#define HMMPVM_OK 0
-#define HMMPVM_NO_HMMFILE 1
-#define HMMPVM_NO_INDEX 2
-#define HMMPVM_BAD_INIT 3 /* failed to initialize a slave somehow */
-
-#endif
-
-
-/**********************************************************
- * Plan 9: obsolete HMMER1.x code. We still need these structures
- * for reading old HMM files (e.g. backwards compatibility)
- **********************************************************/
-
-/* We define a "basic" state, which covers the basic match, insert, and
- * delete states from the Haussler paper. Numbers are stored as
- * pre-calculated negative logs.
- */
-struct basic_state {
- float t[3]; /* state transitions to +1 M, +0 I, +1 D */
- float p[MAXABET]; /* symbol emission probabilities */
-};
-
-/* A complete hidden Markov model
- */
-struct plan9_s {
- int M; /* length of the model */
- struct basic_state *ins; /* insert states 0..M+1 */
- struct basic_state *mat; /* match 0..M+1; 0 = BEGIN, M+1 = END */
- struct basic_state *del; /* delete 0..M+1 */
-
- float null[MAXABET]; /* the *suggested* null model */
-
- /* Optional annotation on the HMM, taken from alignment
- */
- char *name; /* a name for the HMM */
- char *ref; /* reference coords and annotation */
- char *cs; /* consensus structure annotation */
- float *xray; /* Structural annotation: xray[0..M+1][NINPUTS], indexed manually */
-
- int flags; /* flags for what optional info is in HMM */
-};
-
-/* Flags for optional info in an HMM structure
- */
-#define HMM_REF (1<<0)
-#define HMM_CS (1<<1)
-#define HMM_XRAY (1<<2)
-
-#define MATCH 0
-#define INSERT 1
-#define DELETE 2
-#define BEGIN MATCH
-#define END MATCH
-
-#endif /* STRUCTSH_INCLUDED */
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/psortb.git
More information about the debian-med-commit
mailing list