diff srf2fastq/io_lib-1.12.2/io_lib/translate.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/translate.h	Tue Jun 07 17:48:05 2011 -0400
@@ -0,0 +1,135 @@
+/*
+ * 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 _TRANSLATE_H_
+#define _TRANSLATE_H_
+
+#include "io_lib/scf.h"
+#include "io_lib/Read.h"
+#include "io_lib/expFileIO.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * Translates an Scf structure into a Read structure.
+ * The Scf structure is left unchanged.
+ *
+ * Returns:
+ *    A pointer to an allocated Read structure upon success.
+ *    NULLRead upon failure.
+ */
+Read *scf2read(Scf *scf);
+
+/*
+ * Translates a Read structure into a Scf structure.
+ * The Read structure is left unchanged.
+ *
+ * Returns:
+ *    A pointer to an allocated Scf structure upon success.
+ *    NULL upon failure.
+ */
+Scf *read2scf(Read *read);
+
+/*
+ * Translates a Read structure and an Experiment file.
+ * The Read structure is left unchanged.
+ *
+ * Returns:
+ *    A pointer to an allocated Exp_info structure upon success.
+ *    NULL upon failure (FIXME: need to free memory here)
+ */
+Exp_info *read2exp(Read *read, char *EN);
+
+/*
+ * Controls the use of the SQ and ON lines when loading an experiment file.
+ * The default (value&1 == 1) is to load these into the Read structure.
+ * With value&1 == 0 we load the sequence directly from the trace file
+ * (LT line).
+ * value&2 controls whether to use the SL/SR fields when setting the cutoff.
+ * value&2 == 0 implies to do so, and value&2 == 2 implies to not.
+ *
+ * Returns:
+ *    The old value.
+ */
+int read_experiment_redirect(int value);
+
+/*
+ * Takes an original read structure and a set of edit change arrays and
+ * produces a new base position array incorporating all the edits. For
+ * insertions, interpolation is used to derive a suitable sample position.
+ *
+ * INPUTS:
+ *
+ * Read   *r       = The original unedited read structure
+ * int     Comp    = 0=Normal sequence, 1=Complemented sequence
+ * int     Ned     = Length of edited arrays to follow
+ * char   *edBases = Sequence of base characters incorporating ins/del edits
+ * uint_2 *edPos   = Corresponding original base numbers, 0 indicates an
+ *		     insertion. Base numbers start at 1.
+ *
+ * OUTPUTS:
+ *
+ * This array is assumed to be empty with an allocated length of Ned elements.
+ *
+ * uint_2* basePos = Base positions in samples
+ */
+
+void read_update_base_positions( Read *r, int Comp, int Ned, char *edBases,
+				 int_2 *edPos, uint_2 *basePos );
+
+/*
+ * Takes a set of edit change arrays and produces a new set of confidence
+ * arrays incorporating all the edits.
+ *
+ * INPUTS:
+ *
+ * int    Ned     = Length of edited arrays to follow
+ * char*  edBases = Sequence of base characters incorporating ins/del edits
+ * int1*  edConf  = Corresponding confidence values, 100 for insertions
+ *
+ *
+ * OUTPUTS:
+ *
+ * These output arrays are assumed to be empty with an allocated length
+ * of Ned elements each. The names and types are identical to the same
+ * elements in the Read structure.
+ *
+ * char*  prob_A  = Base confidence A
+ * char*  prob_C  = Base confidence C
+ * char*  prob_G  = Base confidence G
+ * char*  prob_T  = Base confidence T
+ *
+ */
+
+void read_update_confidence_values( int Ned, char* edBases, int1* edConf,
+                                    char* prob_A, char* prob_C, char* prob_G, char* prob_T );
+
+
+/*
+ * Translates an experiment file to a Read structure.
+ * The Exp_Info structure is left unchanged.
+ *
+ * Returns:
+ *    A pointer to an allocated Read structure upon success.
+ *    NULLRead upon failure.
+ */
+Read *exp2read(Exp_info *e, char *fn);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif