* Header file for SQUID's multiple sequence alignment
* manipulation code.
*
- * RCS $Id: msa.h 217 2011-03-19 10:27:10Z andreas $ (Original squid RCS Id: msa.h,v 1.12 2002/10/12 04:40:35 eddy Exp)
+ * RCS $Id: msa.h 297 2014-10-31 13:02:37Z fabian $ (Original squid RCS Id: msa.h,v 1.12 2002/10/12 04:40:35 eddy Exp)
*/
#include <stdio.h> /* FILE support */
char **sqacc; /* accession numbers for individual sequences */
char **sqdesc; /* description lines for individual sequences */
char **ss; /* per-seq secondary structure annotation, or NULL */
+ char **co; /* per-seq confidence of secondary structure annotation, or NULL, -> r296, FS */
char **sa; /* per-seq surface accessibility annotation, or NULL */
float cutoff[MSA_MAXCUTOFFS]; /* NC, TC, GA cutoffs propagated to Pfam/Rfam */
int cutoff_is_set[MSA_MAXCUTOFFS];/* TRUE if a cutoff is set; else FALSE */
int *sqlen; /* individual sequence lengths during parsing */
int *sslen; /* individual ss lengths during parsing */
int *salen; /* individual sa lengths during parsing */
+ int *colen; /* individual co lengths during parsing */
int lastidx; /* last index we saw; use for guessing next */
} MSA;
#define MSA_SET_WGT (1 << 0) /* track whether wgts were set, or left at default 1.0 */
#define MSAFILE_EPS 107 /* Encapsulated PostScript (output only) */
#ifdef CLUSTALO
#define MSAFILE_VIENNA 108 /* Vienna: concatenated fasta */
+#define MSAFILE_DUBLIN 109 /* Dublin: modified Stockholm format */
#endif
#define IsAlignmentFormat(fmt) ((fmt) > 100)
extern MSA *MSAFileRead(MSAFILE *afp);
extern void MSAFileClose(MSAFILE *afp);
extern void MSAFree(MSA *msa);
+#ifdef CLUSTALO
+extern void MSAFileWrite(FILE *fp, MSA *msa, int outfmt, int do_oneline, int iWrap, int bResno, int iSeqtype);
+#else
extern void MSAFileWrite(FILE *fp, MSA *msa, int outfmt, int do_oneline);
+#endif
extern int MSAFileRewind(MSAFILE *afp);
extern int MSAFilePositionByKey(MSAFILE *afp, char *key);
extern char *MSAGetGC(MSA *msa, char *tag);
extern void MSAAppendGR(MSA *msa, char *tag, int seqidx, char *value);
extern void MSAVerifyParse(MSA *msa);
+extern void MSAVerifyParseDub(MSA *msa);
extern int MSAGetSeqidx(MSA *msa, char *name, int guess);
extern MSA *MSAFromAINFO(char **aseq, AINFO *ainfo);
*/
extern MSA *ReadA2M(MSAFILE *afp);
#ifdef CLUSTALO
-extern void WriteA2M(FILE *fp, MSA *msa, int vienna);
+/*extern void WriteA2M(FILE *fp, MSA *msa, int vienna);*/
+extern void WriteA2M(FILE *fp, MSA *msa, int iWrap);
#else
extern void WriteA2M(FILE *fp, MSA *msa);
#endif
/* from clustal.c
*/
extern MSA *ReadClustal(MSAFILE *afp);
+#ifdef CLUSTALO
+extern void WriteClustal(FILE *fp, MSA *msa, int iWrap, int bResno, int iSeqType);
+#else
extern void WriteClustal(FILE *fp, MSA *msa);
+#endif
/* from eps.c
*/
/* from stockholm.c
*/
+extern MSA *ReadDublin(MSAFILE *afp);
extern MSA *ReadStockholm(MSAFILE *afp);
extern void WriteStockholm(FILE *fp, MSA *msa);
extern void WriteStockholmOneBlock(FILE *fp, MSA *msa);