--- /dev/null
+/* Bonnie Berger, David Wilson and Theodore Tonchev 1992 */
+/* C Header File: modified Ethan Wolf 1995 */
+
+/* Defines function names called by sc2seq.c. */
+
+#ifndef __ScFreq_h__
+#define __ScFreq_h__ 1
+
+#include "scconst.h"
+#include "sc.h"
+#include "interface.h"
+
+
+/* For Coil_Interface. */
+void PairCoilData (FILE *fgin, FILE **fpin,
+ int ProlineFree, int table_to_remove_from,
+ char *input_filename, int mode,
+ long pfreqp[MAX_TABLE_NUMBER][AANUM][AANUM][POSNUM][POSNUM]);
+void switch_tables(int table);
+void recalc_prob(Sequence sequence, int input_table, int mode, long pfreqp[MAX_TABLE_NUMBER][AANUM][AANUM][POSNUM][POSNUM]);
+void average_many_pprob(int current_table);
+
+
+
+
+void preprocessor_score(char lib[MAXFUNCTNUM],
+ char multi_lib[MAX_TABLE_NUMBER][MAXFUNCTNUM],
+ double *m, double *b,
+ double *m_single, double *b_single, int mode,
+ int Preprocessor_Method, int Offset_to_Use,
+ double preprocessor_like[MAX_TABLE_NUMBER][MAXSEQLEN][POSNUM+1],
+ Sequence sequence,
+ char all_preproc_offsets[MAX_NUM_SCORE_DIM][MAXSEQLEN],
+ double bound);
+
+double *ScoreSeq (char lib[MAXFUNCTNUM],
+ char multi_lib[MAX_TABLE_NUMBER][MAXFUNCTNUM],
+ double *m_paircoil, double *b_paircoil,
+ double *m_single, double *b_single,
+ int mode, int Table, int Method,
+ int Preprocessor_Method, int Offset_to_Use,
+ double *maxscore,
+ int rescore_seq, int rescore_preproc, double bound);
+
+void DimerTrimerScore (int mode, Sequence sequence,
+ double PairCoilLike[MAXSEQLEN][POSNUM+1],
+ double *maxscore,
+ int pairs, int coils,
+ double m, double b, int offset_to_use,
+ double scores[MAXSEQLEN][POSNUM+1],int like2or3,
+ int CoilDiffMethod, int start_coil_at_reg_shift);
+
+void PairCoilScore (int mode, Sequence sequence, char lib[MAXFUNCTNUM],
+ double m, double b,
+ double *maxscore, int table, char offsets[MAXSEQLEN],
+ double like[MAXSEQLEN][POSNUM+1], int offset_to_use,
+ int raw_score);
+void PairCoilDiffer (int mode, Sequence sequence, char lib[MAXFUNCTNUM],
+ double *maxscore, char offsets[MAXSEQLEN],
+ double like[MAXSEQLEN][POSNUM+1], int offset_to_use,
+ int table,double scores[MAXSEQLEN][POSNUM+1],
+ int Avg_Coil_Score,
+ int CoilDiffMethod, int start_coil_at_reg_shift);
+void SingleCoilScore(int mode, Sequence sequence, double m, double b,
+ double *maxscore, int table,
+ double scores[MAXSEQLEN][POSNUM+1],int offset_to_use,
+ int raw_score);
+void NEWCOILSScore(int mode, Sequence sequence, double *maxscore,
+ double scores[MAXSEQLEN][POSNUM+1], int offset_to_use);
+
+void ActualCoils (Sequence sequence,double scores[MAXSEQLEN][POSNUM+1],
+ int offset_to_use, int preprocessor);
+ /** Do "all offsets method" differently for a preprocessor **/
+/***************************/
+
+
+/* Proceduere in get_defaults.c. */
+void get_defaults(char *command_line_config,
+ char *input_location, int *mode, double *bound,
+ FILE **fgin, FILE **fpin,
+ FILE **ftotal_like, FILE **fout,
+ FILE **flog,
+ FILE **fout_coils,
+ int *by_coil_or_seq,
+ char likelihoods[MAX_TABLE_NUMBER][MAXLINE],
+ char *pir_name, char *lib,
+ char multi_lib[MAX_TABLE_NUMBER][MAXFUNCTNUM],
+ int *functnum,
+ int combine_dist[MAX_TABLE_NUMBER],
+ char *print, int *main_method,
+ int *main_preprocessor_method, int *main_table,
+ int *offset_to_use,
+ int *avg_max,
+ int *Coil_Score,
+ int *ps_res_per_line,
+ char class_sc_filenames[2][MAX_CLASS_NUMBER][MAXLINE],
+ char gaussian_parameters[2][MAXLINE],
+ int num_dist[MAX_TABLE_NUMBER],
+ double init_class_prob[MAX_CLASS_NUMBER],
+ int *table_to_remove_from,
+ char *command_line,
+ int window_length[MAX_TABLE_NUMBER],
+ double scale0s[MAX_TABLE_NUMBER],
+ double scale0p[MAX_TABLE_NUMBER]);
+
+/* Procedure Prototypes */
+void init();
+
+void done();
+
+long calcseq(FILE* fgin, FILE* fpin, FILE* ftest, FILE* fout, FILE* flog,
+ FILE* regionfile, int ver_mode, double bound, double upper_bound,
+ char *lib);
+
+
+/* These functions are def'd in scpos.c for reading sequences in the pos */
+/* format (listing coiled region and registers) and for removing and */
+/* adding these sequences from the positive table when necessary. */
+void add_seq2(long pfreqs[AANUM][POSNUM],
+ long ptotals[POSNUM],
+ long pfreqp[AANUM][AANUM][POSNUM][POSNUM],
+ long ptotalp[POSNUM][POSNUM],
+ char reg[MAXSEQLEN],
+ char seq[MAXSEQLEN], int seqlen, int bias);
+
+int getpos (FILE *fl, Sequence *sequence);
+
+/*****************************************************************************/
+
+/* These functions are def'd in output.c for various forms of result output. */
+
+void log_output_ver(int prog, double score, double stockscore,
+ double scoresc2seq, int cnt, char *title,
+ char *code, FILE *flog);
+
+void log_output_prn(int mode, double score, double scs[MAXSEQLEN][POSNUM],
+ char offsets[MAXSEQLEN], int seqlen, int cnt,
+ Sequence sequence, double bound,
+ double upper_bound, FILE *flog);
+
+void txt_output(Sequence sequence, int mode,
+ FILE *fout, double scs[MAXSEQLEN][POSNUM],
+ double like[MAXSEQLEN][POSNUM +1],
+ char offsets[MAXSEQLEN], double bound);
+
+void print_coil(int mode, int seqlen, char reg[MAXSEQLEN],
+ double scs[MAXSEQLEN][POSNUM], double bound,
+ double upper_bound, char offsets[MAXSEQLEN],
+ char seq[MAXSEQLEN], FILE *flog);
+/****************************************************************************/
+
+void usage(char *prog_command);
+
+int getpos (FILE *fl, Sequence *sequence);
+
+void dumpvals (FILE *out, char seq[], char reg[], char offsets[], int seqlen,
+ double scs[MAXSEQLEN][POSNUM], double bound);
+
+
+#endif /* __ScFreq_h__ */
+
+/* End of Code */
+
+
+
+