Bed2Fa::Bed2Fa(bool useName, const string &dbFile, const string &bedFile, const string &fastaOutFile, bool useFasta, bool useStrand) { _useName = useName; _dbFile = dbFile; _bedFile = bedFile; _fastaOutFile = fastaOutFile; _useFasta = useFasta; _useStrand = useStrand; _bed = new BedFile(_bedFile); // Figure out what the output file should be. if (fastaOutFile == "stdout") { _faOut = &cout; } else { // Make sure we can open the file. ofstream fa(fastaOutFile.c_str(), ios::out); if ( !fa ) { cerr << "Error: The requested fasta output file (" << fastaOutFile << ") could not be opened. Exiting!" << endl; exit (1); } else { fa.close(); _faOut = new ofstream(fastaOutFile.c_str(), ios::out); } } // Extract the requested intervals from the FASTA input file. ExtractDNA(); }
Bed2Fa::Bed2Fa(bool useName, const string &dbFile, const string &bedFile, const string &fastaOutFile, bool useFasta, bool useStrand, bool useBlocks, bool useFullHeader, bool useBedOut) : _useName(useName), _dbFile(dbFile), _bedFile(bedFile), _fastaOutFile(fastaOutFile), _useFasta(useFasta), _useBedOut(useBedOut), _useStrand(useStrand), _useBlocks(useBlocks), _useFullHeader(useFullHeader) { _bed = new BedFile(_bedFile); // Figure out what the output file should be. if (fastaOutFile == "stdout" || fastaOutFile == "-") { _faOut = &cout; } else { // Make sure we can open the file. ofstream fa(fastaOutFile.c_str(), ios::out); if ( !fa ) { cerr << "Error: The requested fasta output file (" << fastaOutFile << ") could not be opened. Exiting!" << endl; exit (1); } else { fa.close(); _faOut = new ofstream(fastaOutFile.c_str(), ios::out); } } // Extract the requested intervals from the FASTA input file. ExtractDNA(); }