예제 #1
0
static
void
runCSL(const CSLOptions& opt)
{
    SVLocusSet set;
    set.load(opt.graphFilename.c_str());
    set.finalize();
    set.checkState(true,true);
}
예제 #2
0
static
void
runCSL(const CSLOptions& opt)
{
    log_os << "INFO: loading graph: " << opt.graphFilename << "\n";

    SVLocusSet set;
    set.load(opt.graphFilename.c_str());

    log_os << "INFO: cleaning/finalizing graph: " << opt.graphFilename << "\n";

    set.finalize();

    log_os << "INFO: checking cleaned graph: " << opt.graphFilename << "\n";

    set.checkState(true,true);

    log_os << "INFO: finished checking graph: " << opt.graphFilename << "\n";
}
예제 #3
0
static
void
runSSL(const SSLOptions& opt)
{

    SVLocusSet set;

    set.load(opt.graphFilename.c_str());

    std::ostream& os(std::cout);

    if (opt.isGlobalStats)
    {
        set.dumpStats(os);
    }
    else
    {
        set.dumpLocusStats(os);
    }
}
예제 #4
0
static
void
runDSL(const DSLOptions& opt)
{

    SVLocusSet set;
    set.load(opt.graphFilename.c_str());

    const SVLocusSet& cset(set);

    std::ostream& os(std::cout);

    // add this handy map of chromosome id to chromosome label at the start of all output types:
    os << cset.header << "\n";

    if (! opt.region.empty())
    {
        int32_t tid,beginPos,endPos;
        parse_bam_region(set.header, opt.region, tid, beginPos, endPos); // parse the region

        set.dumpRegion(os,GenomeInterval(tid,beginPos,endPos));
    }
    else if (opt.isLocusIndex)
    {
        const SVLocus& locus(cset.getLocus(opt.locusIndex));
        if (opt.locusFilename.empty())
        {
            os << locus;
        }
        else
        {
            std::ofstream ofs(opt.locusFilename.c_str(), std::ios::binary);
            boost::archive::binary_oarchive oa(ofs);
            oa << locus;
        }
    }
    else
    {
        cset.dump(os);
    }
}