int main(int argc, char const ** argv) { //parse our options ModifyStringOptions options; seqan::ArgumentParser::ParseResult res = parseCommandLine(options, argc, argv); // If parsing was not successful then exit with code 1 if there were errors. // Otherwise, exit with code 0 (e.g. help was printed). if (res != seqan::ArgumentParser::PARSE_OK) return res == seqan::ArgumentParser::PARSE_ERROR; SeqFileIn seqFileIn; if (!open(seqFileIn, toCString(options.inputFileName))) { std::cerr << "ERROR: Could not open the file.\n"; return 1; } CharString id; Dna5String seq; CharString qual; SeqFileOut seqFileOut; if (!open(seqFileOut, toCString(options.outputFileName))) { std::cerr << "ERROR: Could not open the file.\n"; return 1; } while(!atEnd(seqFileIn)) { try { readRecord(id, seq, qual, seqFileIn); } catch (Exception const & e) { std::cout << "ERROR: " << e.what() << std::endl; return 1; } if(length(seq) >= options.length) { String<Dna> dnaSeq; resize(dnaSeq, options.length, Exact()); assign(dnaSeq, seq, Limit()); CharString dnaQual; resize(dnaQual, options.length, Exact()); assign(dnaQual, qual, Limit()); writeRecord(seqFileOut, id, dnaSeq, dnaQual); } } return 0; }
PetscErrorCode Solution(TS ts,PetscReal t,Vec X,void *ctx) { UserParams *user = (UserParams*)ctx; PetscReal u,v; PetscScalar *x; PetscErrorCode ierr; PetscFunctionBegin; Exact(t,user->Omega,user->Xi,user->u0,user->v0,&u,&v); ierr = VecGetArray(X,&x);CHKERRQ(ierr); x[0] = (PetscScalar)u; ierr = VecRestoreArray(X,&x);CHKERRQ(ierr); PetscFunctionReturn(0); }