JWS-112 Bumping version of ClustalO (src, binaries and windows) to version 1.2.4.
[jabaws.git] / binaries / src / clustalo / src / squid / msa.h
index 98216e5..ef0854d 100644 (file)
@@ -16,7 +16,7 @@
  * 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 */
@@ -130,6 +130,7 @@ typedef struct msa_struct {
   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 */
@@ -171,6 +172,7 @@ typedef struct msa_struct {
   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 */
@@ -214,6 +216,7 @@ typedef struct msafile_struct {
 #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)
@@ -225,7 +228,11 @@ extern MSAFILE *MSAFileOpen(char *filename, int format, char *env);
 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);
@@ -244,6 +251,7 @@ extern void  MSAAppendGC(MSA *msa, char *tag, char *value);
 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);   
@@ -264,14 +272,19 @@ extern float MSAAverageSequenceLength(MSA *msa);
  */
 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
  */
@@ -295,6 +308,7 @@ extern void  WriteSELEXOneBlock(FILE *fp, MSA *msa);
 
 /* 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);