Mercurial > repos > clustalomega > clustalomega
comparison clustalomega/clustal-omega-0.2.0/src/squid/sqfuncs.h @ 0:ff1768533a07
Migrated tool version 0.2 from old tool shed archive to new tool shed repository
author | clustalomega |
---|---|
date | Tue, 07 Jun 2011 17:04:25 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:ff1768533a07 |
---|---|
1 /***************************************************************** | |
2 * SQUID - a library of functions for biological sequence analysis | |
3 * Copyright (C) 1992-2002 Washington University School of Medicine | |
4 * | |
5 * This source code is freely distributed under the terms of the | |
6 * GNU General Public License. See the files COPYRIGHT and LICENSE | |
7 * for details. | |
8 *****************************************************************/ | |
9 | |
10 #ifndef SQFUNCSH_INCLUDED | |
11 #define SQFUNCSH_INCLUDED | |
12 /* sqfuncs.h | |
13 * | |
14 * Prototypes for squid library functions; | |
15 * also makes a good reference list for what the package contains. | |
16 * | |
17 * Warning: squid is a slowly evolving beast. Some functions are | |
18 * obsolete. Some functions are probably just wrong, dating to | |
19 * a primordial era before I knew anything about what I was doing. | |
20 * Some functions are both obsolete and wrong but still necessary | |
21 * to get legacy code to compile. | |
22 * | |
23 * CVS $Id: sqfuncs.h,v 1.28 2002/10/09 14:26:09 eddy Exp) | |
24 */ | |
25 | |
26 /* | |
27 * from aligneval.c | |
28 */ | |
29 extern float ComparePairAlignments(char *known1, char *known2, char *calc1, char *calc2); | |
30 extern float CompareRefPairAlignments(int *ref, char *known1, char *known2, char *calc1, char *calc2); | |
31 extern float CompareMultAlignments(char **kseqs, char **tseqs, int N); | |
32 extern float CompareRefMultAlignments(int *ref, char **kseqs, char **tseqs, int N); | |
33 extern float PairwiseIdentity(char *s1, char *s2); | |
34 extern float AlignmentIdentityBySampling(char **aseq, int L, int N, int nsample); | |
35 extern char *MajorityRuleConsensus(char **aseq, int nseq, int alen); | |
36 | |
37 /* | |
38 * from alignio.c | |
39 */ | |
40 extern void AllocAlignment(int nseq, int alen, char ***ret_aseq, AINFO *ainfo); | |
41 extern void InitAinfo(AINFO *ainfo); | |
42 extern void FreeAlignment(char **aseqs, AINFO *ainfo); | |
43 extern void SAMizeAlignment(char **aseq, int nseq, int alen); | |
44 extern void SAMizeAlignmentByGapFrac(char **aseq, int nseq, int alen, float maxgap); | |
45 extern int MakeAlignedString(char *aseq, int alen, char *ss, char **ret_s); | |
46 extern int MakeDealignedString(char *aseq, int alen, char *ss, char **ret_s); | |
47 extern int DealignedLength(char *aseq); | |
48 extern int WritePairwiseAlignment(FILE *ofp, char *aseq1, char *name1, int spos1, | |
49 char *aseq2, char *name2, int spos2, | |
50 int **pam, int indent); | |
51 extern int MingapAlignment(char **aseqs, AINFO *ainfo); | |
52 extern int RandomAlignment(char **rseqs, SQINFO *sqinfo, int nseq, float pop, float pex, | |
53 char ***ret_aseqs, AINFO *ainfo); | |
54 extern void AlignmentHomogenousGapsym(char **aseq, int nseq, int alen, char gapsym); | |
55 | |
56 /* from cluster.c | |
57 */ | |
58 extern int Cluster(float **mx, int N, enum clust_strategy mode, struct phylo_s **ret_tree); | |
59 extern struct phylo_s *AllocPhylo(int N); | |
60 extern void FreePhylo(struct phylo_s *tree, int N); | |
61 extern void MakeDiffMx(char **aseqs, int num, float ***ret_dmx); | |
62 extern void MakeIdentityMx(char **aseqs, int num, float ***ret_imx); | |
63 extern void PrintNewHampshireTree(FILE *fp, AINFO *ainfo, struct phylo_s *tree, int N); | |
64 extern void PrintPhylo(FILE *fp, AINFO *ainfo, struct phylo_s *tree, int N); | |
65 | |
66 /* | |
67 * from dayhoff.c | |
68 */ | |
69 extern int ParsePAMFile(FILE *fp, int ***ret_pam, float *ret_scale); | |
70 extern void ScalePAM(int **pam, int scale); | |
71 | |
72 | |
73 /* from file.c | |
74 */ | |
75 extern char *FileDirname(char *filename); | |
76 extern char *FileTail(char *file, int noextension); | |
77 extern char *FileSameDirectory(char *full, char *file); | |
78 extern char *FileConcat(char *dir, char *file); | |
79 extern char *FileAddSuffix(char *filename, char *sfx); | |
80 extern FILE *EnvFileOpen(char *fname, char *env, char **ret_dir); | |
81 extern int FileExists(char *filename); | |
82 | |
83 | |
84 /* from getopt.c | |
85 */ | |
86 extern int Getopt(int argc, char **argv, | |
87 struct opt_s *opt, int nopts, char *usage, | |
88 int *ret_optind, char **ret_optname, char **ret_optarg); | |
89 | |
90 | |
91 /* from hsregex.c | |
92 * Henry Spencer's regex() code | |
93 */ | |
94 extern int Strparse(char *rexp, char *s, int ntok); | |
95 extern void SqdClean(void); | |
96 extern sqd_regexp *sqd_regcomp(const char *re); | |
97 extern int sqd_regexec(sqd_regexp *rp, const char *s); | |
98 extern void sqd_regsub(const sqd_regexp *rp, const char *src, char *dst); | |
99 extern void sqd_regerror(char *message); | |
100 | |
101 /* from interleaved.c | |
102 */ | |
103 extern int IsInterleavedFormat(int format); | |
104 extern int ReadInterleaved(char *seqfile, | |
105 int (*skip_header)(FILE *), | |
106 int (*parse_header)(FILE *, AINFO *), | |
107 int (*is_dataline)(char *, char *), | |
108 char ***ret_aseqs, AINFO *ainfo); | |
109 extern int ReadAlignment(char *seqfile, int format, char ***ret_aseqs, AINFO *ainfo); | |
110 | |
111 | |
112 /* from revcomp.c | |
113 */ | |
114 extern char *revcomp(char *comp, char *seq); | |
115 | |
116 /* | |
117 * from selex.c | |
118 */ | |
119 extern int DealignAseqs(char **aseqs, int num, char ***ret_rseqs); | |
120 extern int IsSELEXFormat(char *filename); | |
121 extern int TruncateNames(char **names, int N); /* OBSOLETE? */ | |
122 | |
123 /* | |
124 * from seqencode.c | |
125 */ | |
126 extern int seqcmp(char *s1, char *s2, int allow); | |
127 extern int seqncmp(char *s1, char *s2, int n, int allow); | |
128 extern int seqencode(char *codeseq,char *str); | |
129 extern int coded_revcomp(char *comp, char *seq); | |
130 extern int seqdecode(char *str, char *codeseq); | |
131 extern int seqndecode(char *str, char *codeseq, int n); | |
132 | |
133 /* | |
134 * from shuffle.c | |
135 */ | |
136 extern int StrShuffle(char *s1, char *s2); | |
137 extern int StrDPShuffle(char *s1, char *s2); | |
138 extern int StrMarkov0(char *s1, char *s2); | |
139 extern int StrMarkov1(char *s1, char *s2); | |
140 extern int StrReverse(char *s1, char *s2); | |
141 extern int StrRegionalShuffle(char *s1, char *s2, int w); | |
142 extern int AlignmentShuffle(char **ali1, char **ali2, int nseq, int alen); | |
143 extern int AlignmentBootstrap(char **ali1, char **ali2, int nseq, int alen); | |
144 extern int QRNAShuffle(char *xs, char *ys, char *x, char *y); | |
145 | |
146 /* | |
147 * from sqerror.c | |
148 */ | |
149 extern void Die(char *format, ...); | |
150 #ifdef CLUSTALO | |
151 extern void Warning(char *format, ...); | |
152 #else | |
153 extern void Warn(char *format, ...); | |
154 #endif | |
155 extern void Panic(char *file, int line); | |
156 | |
157 | |
158 /* | |
159 * from sqio.c | |
160 */ | |
161 extern void FreeSequence(char *seq, SQINFO *sqinfo); | |
162 extern int SetSeqinfoString(SQINFO *sqinfo, char *sptr, int flag); | |
163 extern void SeqinfoCopy(SQINFO *sq1, SQINFO *sq2); | |
164 extern void ToDNA(char *seq); | |
165 extern void ToRNA(char *seq); | |
166 extern void ToIUPAC(char *seq, int is_aseq); | |
167 extern int ReadMultipleRseqs(char *seqfile, int fformat, char ***ret_rseqs, | |
168 SQINFO **ret_sqinfo, int *ret_num); | |
169 extern SQFILE *SeqfileOpen(char *filename, int format, char *env); | |
170 extern SQFILE *SeqfileOpenForIndexing(char *filename, int format, char *env, int ssimode); | |
171 extern int SeqfileFormat(FILE *fp); | |
172 extern void SeqfilePosition(SQFILE *sfp, SSIOFFSET *offset); | |
173 extern void SeqfileRewind(SQFILE *sfp); | |
174 extern void SeqfileClose(SQFILE *sfp); | |
175 | |
176 extern int ReadSeq(SQFILE *fp, int format, char **ret_seq, SQINFO *sqinfo); | |
177 extern int GCGBinaryToSequence(char *seq, int len); | |
178 extern int GCGchecksum(char *seq, int seqlen); | |
179 extern int GCGMultchecksum(char **seqs, int nseq); | |
180 extern void WriteSimpleFASTA(FILE *fp, char *seq, char *name, char *desc); | |
181 extern int WriteSeq(FILE *outf, int outfmt, char *seq, SQINFO *sqinfo); | |
182 extern int Seqtype(char *seq); | |
183 extern int GuessAlignmentSeqtype(char **aseq, int nseq); | |
184 extern int String2SeqfileFormat(char *s); | |
185 extern char *SeqfileFormat2String(int code); | |
186 extern SQINFO *MSAToSqinfo(MSA *msa); | |
187 | |
188 /* from squidcore.c | |
189 */ | |
190 extern void Banner(FILE *fp, char *banner); | |
191 | |
192 | |
193 /* from sre_ctype.c | |
194 */ | |
195 extern int sre_tolower(int c); | |
196 extern int sre_toupper(int c); | |
197 | |
198 /* from sre_math.c | |
199 */ | |
200 extern int Linefit(float *x, float *y, int N, | |
201 float *ret_a, float *ret_b, float *ret_r); | |
202 extern void WeightedLinefit(float *x, float *y, float *var, int N, | |
203 float *ret_m, float *ret_b); | |
204 extern double Gammln(double xx); | |
205 extern float **FMX2Alloc(int rows, int cols); | |
206 extern void FMX2Free(float **mx); | |
207 extern double **DMX2Alloc(int rows, int cols); | |
208 extern void DMX2Free(double **mx); | |
209 extern void FMX2Multiply(float **A, float **B, float **C, int m, int p, int n); | |
210 extern double IncompleteGamma(double a, double x); | |
211 | |
212 /* from sre_string.c | |
213 */ | |
214 #ifdef NOSTR | |
215 extern char *strstr(char *s, char *subs); | |
216 #endif | |
217 extern char *Strdup(char *s); | |
218 extern void StringChop(char *s); | |
219 extern int Strinsert(char *s1, char c, int pos); | |
220 extern int Strdelete(char *s1, int pos); | |
221 extern void s2lower(char *s); | |
222 extern void s2upper(char *s); | |
223 extern void *sre_malloc(char *file, int line, size_t size); | |
224 extern void *sre_realloc(char *file, int line, void *p, size_t size); | |
225 extern void Free2DArray(void **p, int dim1); | |
226 extern void Free3DArray(void ***p, int dim1, int dim2); | |
227 extern char *RandomSequence(char *alphabet, float *p, int n, int len); | |
228 extern char *sre_fgets(char **buf, int *n, FILE *fp); | |
229 extern int sre_strcat(char **dest, int ldest, char *src, int lsrc); | |
230 extern char *sre_strtok(char **s, char *delim, int *len); | |
231 extern char *sre_strdup(char *s, int n); | |
232 extern char *sre_strncat(char *s1, char *s2, int n); | |
233 extern int IsBlankline(char *s); | |
234 | |
235 /* from stack.c | |
236 */ | |
237 extern struct intstack_s *InitIntStack(void); | |
238 extern void PushIntStack(struct intstack_s *stack, int data); | |
239 extern int PopIntStack(struct intstack_s *stack, int *ret_data); | |
240 extern void ReverseIntStack(struct intstack_s *stack); | |
241 extern int FreeIntStack( struct intstack_s *stack ); | |
242 | |
243 /* | |
244 * from translate.c | |
245 */ | |
246 extern char *Translate(char *seq, char **code); | |
247 | |
248 /* | |
249 * from types.c | |
250 */ | |
251 extern int IsInt(char *s); | |
252 extern int IsReal(char *s); | |
253 extern void Byteswap(char *swap, int nbytes); | |
254 #ifndef USE_HOST_BYTESWAP_FUNCTIONS | |
255 extern sqd_uint16 sre_ntoh16(sqd_uint16 netshort); | |
256 extern sqd_uint32 sre_ntoh32(sqd_uint32 netlong); | |
257 extern sqd_uint16 sre_hton16(sqd_uint16 hostshort); | |
258 extern sqd_uint32 sre_hton32(sqd_uint32 hostlong); | |
259 #endif /*!USE_HOST_BYTESWAP_FUNCTIONS*/ | |
260 extern sqd_uint64 sre_ntoh64(sqd_uint64 net_int64); | |
261 extern sqd_uint64 sre_hton64(sqd_uint64 host_int64); | |
262 | |
263 /* | |
264 * from weight.c | |
265 */ | |
266 extern void GSCWeights(char **aseq, int nseq, int alen, float *wgt); | |
267 extern void VoronoiWeights(char **aseq, int nseq, int alen, float *wgt); | |
268 extern void BlosumWeights(char **aseq, int nseq, int alen, float blosumlevel, float *wgt); | |
269 extern void PositionBasedWeights(char **aseq, int nseq, int alen, float *wgt); | |
270 extern void FilterAlignment(MSA *msa, float cutoff, MSA **ret_new); | |
271 extern void SampleAlignment(MSA *msa, int sample, MSA **ret_new); | |
272 extern void SingleLinkCluster(char **aseq, int nseq, int alen, float maxid, | |
273 int **ret_c, int *ret_nc); | |
274 #endif /* SQFUNCSH_INCLUDED */ |