Slice Tools
  • Home
  • SourceForge Page


  • libSlice
  • Home
  • Modules
  • Files
  • Examples
  • Additional Information


  • SourceForge.net Logo
     

    Slice.h File Reference


    Detailed Description

    Defines interface for libSlice.

    Library of functions for determining quality values and classes on slices. Include this file to use all publically available methods and data structures.

    Definition in file Slice.h.

    Go to the source code of this file.

    Data Structures

    struct  libSlice_BaseDistribution
     Holds a table of the distribution of bases. More...

    struct  libSlice_Consensus
     Holds the quality value of the onsensus and each of the 5 components. More...

    struct  libSlice_Slice
     Structure for specifing slice information. More...


    Slice Consensus Calculations

    Functions for calculating the consensus and qv of a single slice

    void libSlice_setRecallEmpty (int recallEmpty)
     Toggles if empty slices should be recalled as gap.

    int libSlice_getConsensusParam (const libSlice_Slice *s, libSlice_Consensus *result, const libSlice_BaseDistribution *dist, int highQualityThreshold, int doAmbiguity)
     Calculates the consensus quality value for a single slice.

    int libSlice_updateAmbiguityConic (const libSlice_Slice *s, libSlice_Consensus *consensus, int highQuality)
     Updates the ambiguity flags using the conic model and scoring matrix.

    int libSlice_updateAmbiguity (const libSlice_Slice *s, libSlice_Consensus *consensus, int highQualityThreshold)
     Updates the ambiguity flags to include all high quality reads.

    int libSlice_getConsensus (const libSlice_Slice *s, libSlice_Consensus *results, const libSlice_BaseDistribution *dist, int highQualityThreshold)
     Calculates the consensus of a slice with NO ambiguity codes.

    int libSlice_getConsensusWithAmbiguity (const libSlice_Slice *s, libSlice_Consensus *results, const libSlice_BaseDistribution *dist, int highQualityThreshold)
     Calculates the consensus of a slice with ambiguity codes.


    SliceRange Consensus Calculations

    Functions for calculating the consensus and qv of a range of slices

    int libSlice_getConsensusRangeParam (const libSlice_Slice s[], libSlice_Consensus results[], int len, const libSlice_BaseDistribution *dist, int highQualityThreshold, int doAmbiguity)
     Calculates the Consensus Quality Values for a range of slices.

    int libSlice_getConsensusRange (const libSlice_Slice s[], libSlice_Consensus results[], int len, const libSlice_BaseDistribution *dist, int highQualityThreshold)
     Calculates the consensus of an array of slice with no ambiguity codes.

    int libSlice_getConsensusRangeWithAmbiguity (const libSlice_Slice s[], libSlice_Consensus results[], int len, const libSlice_BaseDistribution *dist, int highQualityThreshold)
     Calculates the consensus of an array of slice with ambiguity codes.


    Quality Class Calculations

    Functions for calculating the quality class of slices

    char libSlice_getConsQC (const libSlice_Slice *s, int highQualityThreshold)
     Calculates the quality class for a single slice.

    char * libSlice_getConsQCRange (const libSlice_Slice s[], int len, int highQualityThreshold)
     Calculates the quality classes for a range of slices.


    Ambiguity Code Calculations

    Functions for calculating ambiguity Codes

    char libSlice_getAmbiguityCode (long double cpA, long double cpC, long double cpG, long double cpT, long double cpGap, int highQualityThreshold, int baseCount)
     Return IUPAC Ambiguity Code in one operation.

    char libSlice_calculateAmbiguityFlags (long double cpA, long double cpC, long double cpG, long double cpT, long double cpGap, int highQualityThreshold, int baseCount)
     Calculates ambiguity flags from Churchill and Waterman procedure.

    char libSlice_convertAmbiguityFlags (char ambiguityFlags)
     Calculates extended ambiguity code bases from ambiguity flags.


    Utility Functions

    Other useful functions

    char libSlice_getCompliment (char base)
     Get the compliment to a base or ambiguity code.

    const char * libSlice_getVersion ()
     Gets a string representing the version of the library.

    void * libSlice_newmem (int number, int size)
     Error Checking malloc.


    Defines

    #define HIGH_QUALITY_THRESHOLD   30
     What is considered high quality by ABI.

    #define MIN_QUALITY_VALUE   1
     Minimum allowed quality value (gap or otherwise).

    #define GAP_QUALITY_VALUE_EMPTY_SLICE   1
     Quality value to assign to gap in an empty slice.

    #define MAX_QUALITY_VALUE   4000
     Quality Value to return when floating point underflows occur.

    #define AMBIGUITY_FLAGBIT_A   0x1
     Bit flag for 'A' in ambiguity code.

    #define AMBIGUITY_FLAGBIT_C   0x2
     Bit flag for 'C' in ambiguity code.

    #define AMBIGUITY_FLAGBIT_G   0x4
     Bit flag for 'G' in ambiguity code.

    #define AMBIGUITY_FLAGBIT_T   0x8
     Bit flag for 'T' in ambiguity code.

    #define AMBIGUITY_FLAGBIT_GAP   0x10
     Bit flag for '-' in ambiguity code.