diff srf2fastq/io_lib-1.12.2/io_lib/seqIOABI.h @ 0:d901c9f41a6a default tip

Migrated tool version 1.0.1 from old tool shed archive to new tool shed repository
author dawe
date Tue, 07 Jun 2011 17:48:05 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/srf2fastq/io_lib-1.12.2/io_lib/seqIOABI.h	Tue Jun 07 17:48:05 2011 -0400
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) Medical Research Council 1994. All rights reserved.
+ *
+ * Permission to use, copy, modify and distribute this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * this copyright and notice appears in all copies.
+ *
+ * This file was written by James Bonfield, Simon Dear, Rodger Staden,
+ * as part of the Staden Package at the MRC Laboratory of Molecular
+ * Biology, Hills Road, Cambridge, CB2 2QH, United Kingdom.
+ *
+ * MRC disclaims all warranties with regard to this software.
+ */
+
+#ifndef _seqIOABI_h_
+#define _seqIOABI_h_
+
+#include <sys/types.h> /* off_t */
+#include "io_lib/os.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * The ABI magic number - "ABIF"
+ */
+#define ABI_MAGIC	((int_4) ((((('A'<<8)+'B')<<8)+'I')<<8)+'F')
+
+/*
+ * The index is located towards the end of the ABI trace file.
+ * It's location is given by a longword at a fixed place.
+ */
+#define IndexPO ((off_t)26)
+
+#define IndexEntryLength 28
+
+/*
+ * Here are some labels we will be looking for, four chars packed
+ * into an int_4
+ */
+#define LABEL(a) ((int_4) ((((((a)[0]<<8)+(a)[1])<<8)+(a)[2])<<8)+(a)[3])
+#define DataEntryLabel    LABEL("DATA")
+#define BaseEntryLabel    LABEL("PBAS")
+#define BasePosEntryLabel LABEL("PLOC")
+#define SpacingEntryLabel LABEL("SPAC")
+#define SignalEntryLabel  LABEL("S/N%")
+#define FWO_Label         LABEL("FWO_")
+#define MCHNLabel         LABEL("MCHN")
+#define PDMFLabel         LABEL("PDMF")
+#define SMPLLabel         LABEL("SMPL")
+#define PPOSLabel         LABEL("PPOS")
+#define CMNTLabel         LABEL("CMNT")
+#define GelNameLabel      LABEL("GELN")
+#define LANELabel         LABEL("LANE")
+#define RUNDLabel         LABEL("RUND")
+#define RUNTLabel         LABEL("RUNT")
+#define MTXFLabel         LABEL("MTXF")
+#define SPACLabel         LABEL("SPAC")
+#define SVERLabel         LABEL("SVER")
+#define MODLLabel         LABEL("MODL")
+#define BaseConfLabel	  LABEL("PCON")
+
+
+/*
+ * From the ABI results file connected to `fp' whose index starts
+ * at byte offset `indexO', return in `val' the `lw'th long word
+ * from the `count'th entry labelled `label'.
+ * The result is 0 for failure, or index offset for success.
+ */
+int getABIIndexEntryLW(FILE *fp, off_t indexO,
+		       uint_4 label, uint_4 count, int lw,
+		       uint_4 *val);
+
+/*
+ * From the ABI results file connected to `fp' whose index starts
+ * at byte offset `indexO', return in `val' the `sw'th short word
+ * from the `count'th entry labelled `label'.
+ * The result is 0 for failure, or index offset for success.
+ */
+int getABIIndexEntrySW(FILE *fp, off_t indexO,
+		       uint_4 label, uint_4 count, int sw,
+		       uint_2 *val);
+
+/*
+ * Gets the offset of the ABI index.
+ * Returns -1 for failure, 0 for success.
+ */
+int getABIIndexOffset(FILE *fp, uint_4 *indexO);
+
+/*
+ * Get an "ABI String". These strings are either pointed to by the index
+ * offset, or held in the offset itself when the string is <= 4 characters.
+ * The first byte of the string determines its length.
+ * 'string' is a buffer 256 characters long.
+ *
+ * Returns -1 for failure, string length for success.
+ */
+int getABIString(FILE *fp, off_t indexO, uint_4 label, uint_4 count,
+		 char *string);
+
+/*
+ * Get an "ABI Int_1". This is raw 1-byte integer data pointed to by the
+ * offset, or held in the offset itself when the data is <= 4 characters.
+ *
+ * If indexO is 0 then we do not search for (or indeed use) label and count,
+ * but simply assume that we are already at the correct offset and read from
+ * here. (NB: This negates the length <= 4 check.)
+ *
+ * Returns -1 for failure, length desired for success (it'll only fill out
+ * up to max_data_len elements, but it gives an indication of whether there
+ * was more to come).
+ */
+int getABIint1(FILE *fp, off_t indexO, uint_4 label, uint_4 count,
+	       uint_1 *data, int max_data_len);
+
+/*
+ * Get an "ABI Int_2". This is raw 2-byte integer data pointed to by the
+ * offset, or held in the offset itself when the data is <= 4 characters.
+ *
+ * Returns -1 for failure, length desired for success (it'll only fill out
+ * up to max_data_len elements, but it gives an indication of whether there
+ * was more to come).
+ */
+int getABIint2(FILE *fp, off_t indexO, uint_4 label, uint_4 count,
+	       uint_2 *data, int max_data_len);
+
+/*
+ * Get an "ABI Int_4". This is raw 4-byte integer data pointed to by the
+ * offset, or held in the offset itself when the data is <= 4 characters.
+ *
+ * Returns -1 for failure, length desired for success (it'll only fill out
+ * up to max_data_len elements, but it gives an indication of whether there
+ * was more to come).
+ */
+int getABIint4(FILE *fp, off_t indexO, uint_4 label, uint_4 count,
+	       uint_4 *data, int max_data_len);
+
+int dump_labels(FILE *fp, off_t indexO);
+
+/*
+ * Change the DATA counts for fetching traces
+ */
+void abi_set_data_counts(int f, int w, int o, int _);
+
+/*
+ * Put the DATA counts back to their defaults.
+ */
+void abi_reset_data_counts(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _seqIOABI_h_ */