diff BEDTools-Version-2.14.3/src/utils/bedGraphFile/bedGraphFile.h @ 1:bec36315bd12 default tip

Deleted selected files
author aaronquinlan
date Sat, 19 Nov 2011 14:17:03 -0500
parents dfcd8b6c1bda
children
line wrap: on
line diff
--- a/BEDTools-Version-2.14.3/src/utils/bedGraphFile/bedGraphFile.h	Thu Nov 03 10:25:04 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,199 +0,0 @@
-/*****************************************************************************
-  bedGraphFile.cpp
-
-  (c) 2010 - Assaf Gordon
-  Hall Laboratory
-  Department of Biochemistry and Molecular Genetics
-  University of Virginia
-  aaronquinlan@gmail.com
-
-  Licenced under the GNU General Public License 2.0 license.
-******************************************************************************/
-#ifndef BEDGRAPHFILE_H
-#define BEDGRAPHFILE_H
-
-#include "gzstream.h"
-#include "lineFileUtilities.h"
-#include "fileType.h"
-#include <vector>
-#include <map>
-#include <set>
-#include <string>
-#include <iostream>
-#include <fstream>
-#include <sstream>
-#include <cstring>
-#include <algorithm>
-#include <limits.h>
-#include <stdint.h>
-#include <cstdio>
-
-using namespace std;
-
-//*************************************************
-// Data type tydedef
-//*************************************************
-#ifndef CHRPOS
-typedef uint32_t CHRPOS;
-#endif
-
-#ifndef DEPTH
-typedef uint32_t DEPTH;
-#endif
-
-/*
-   Structure for regular BedGraph records
- */
-template <typename T>
-class BEDGRAPH
-{
-public:
-    std::string chrom;
-    CHRPOS start;
-    CHRPOS end;
-    T depth;
-
-public:
-    typedef T DEPTH_TYPE;
-    // constructors
-
-    // Null
-    BEDGRAPH() :
-        start(0),
-        end(0),
-        depth(T())
-    {}
-
-    // BEDGraph
-    BEDGRAPH(string _chrom, CHRPOS _start, CHRPOS _end, T _depth) :
-        chrom(_chrom),
-        start(_start),
-        end(_end),
-        depth(_depth)
-    {}
-}; // BEDGraph
-
-typedef BEDGRAPH<int32_t> BEDGRAPH_INT;
-typedef BEDGRAPH<std::string> BEDGRAPH_STR;
-typedef BEDGRAPH<double> BEDGRAPH_FLOAT;
-
-template <typename T>
-std::ostream& operator<< (std::ostream& strm, const BEDGRAPH<T>& bg)
-{
-    strm << bg.chrom << "\t"
-        << bg.start << "\t"
-        << bg.end << "\t"
-        << bg.depth;
-    return strm;
-}
-
-// enum to flag the state of a given line in a BEDGraph file.
-enum BedGraphLineStatus
-{
-    BEDGRAPH_INVALID = -1,
-    BEDGRAPH_HEADER  = 0,
-    BEDGRAPH_BLANK   = 1,
-    BEDGRAPH_VALID   = 2
-};
-
-
-//************************************************
-// BedGraphFile Class methods and elements
-//************************************************
-class BedGraphFile {
-
-public:
-
-    // Constructor
-    BedGraphFile(string &);
-
-    // Destructor
-    ~BedGraphFile(void);
-
-    // Open a BEDGraph file for reading (creates an istream pointer)
-    void Open(void);
-
-    // Close an opened BED file.
-    void Close(void);
-
-    // Get the next BED entry in an opened BED file.
-    template <typename T>
-    BedGraphLineStatus GetNextBedGraph (BEDGRAPH<T> &bedgraph, int &lineNum)
-    {
-        // make sure there are still lines to process.
-        // if so, tokenize, validate and return the BED entry.
-        if (_bedGraphStream->good()) {
-            string bedGraphLine;
-            vector<string> bedGraphFields;
-
-            // parse the bedStream pointer
-            getline(*_bedGraphStream, bedGraphLine);
-            if (_bedGraphStream->eof())
-                return BEDGRAPH_INVALID;
-            if (_bedGraphStream->bad()) {
-                cerr << "Error while reading file '" << bedGraphFile << "' : "
-                    << strerror(errno) << endl;
-                exit(1);
-            }
-            lineNum++;
-
-            // split into a string vector.
-            Tokenize(bedGraphLine,bedGraphFields);
-
-            // load the BED struct as long as it's a valid BED entry.
-            return parseLine(bedgraph, bedGraphFields, lineNum);
-        }
-
-        // default if file is closed or EOF
-        return BEDGRAPH_INVALID;
-    }
-
-    // the bedfile with which this instance is associated
-    string bedGraphFile;
-
-private:
-    // data
-    istream *_bedGraphStream;
-
-    template <typename T>
-    BedGraphLineStatus parseLine (BEDGRAPH<T> &bg, const vector<string> &lineVector, int &lineNum)
-    {
-        if (lineVector.size() == 0)
-            return BEDGRAPH_BLANK;
-
-        if (lineVector[0].find("track")   != string::npos ||
-            lineVector[0].find("browser") != string::npos ||
-            lineVector[0].find("#") != string::npos)
-            return BEDGRAPH_HEADER;
-
-        if (lineVector.size() != 4)
-            return BEDGRAPH_INVALID;
-
-        bg.chrom = lineVector[0];
-
-        stringstream str_start(lineVector[1]);
-        if (! (str_start >> bg.start) ) {
-            cerr << "Input error, failed to extract start value from '" << lineVector[1]
-                << "' (column 2) in " << bedGraphFile << " line " << lineNum << endl;
-            exit(1);
-        }
-
-        stringstream str_end(lineVector[2]);
-        if (! (str_end >> bg.end) ) {
-            cerr << "Input error, failed to extract end value from '" << lineVector[2]
-                << "' (column 3) in " << bedGraphFile << " line " << lineNum << endl;
-            exit(1);
-        }
-
-        stringstream str_depth(lineVector[3]);
-        if (! (str_depth >> bg.depth) ) {
-            cerr << "Input error, failed to extract depth value from '" << lineVector[3]
-                << "' (column 4) in " << bedGraphFile << " line " << lineNum << endl;
-            exit(1);
-        }
-
-        return BEDGRAPH_VALID;
-    }
-};
-
-#endif /* BEDFILE_H */