Skip to content

Splitter part 2#1568

Open
Itolstoganov wants to merge 17 commits into
mainfrom
splitter
Open

Splitter part 2#1568
Itolstoganov wants to merge 17 commits into
mainfrom
splitter

Conversation

@Itolstoganov
Copy link
Copy Markdown
Contributor

  • Adds helper classes in path extend for barcode index-based scaffold graph construction
  • Adds splitter tool for repeat resolution of third-party GFA
  • Moves mate-pair unrelated functionality from scaffolder2015 to auxiliary_graphs
  • Moves IdStorage from GraphCore to enable conjugate GFA links


auto vertex_colorer = std::make_shared<ScaffoldVertexSetColorer>(main_edge_set);
using namespace scaffolder;
std::set<scaffold_graph::ScaffoldVertex> scaff_vertex_set;
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can probably be auto scaff_vertex_set = main_edge_set :)

void BaseScaffoldGraphConstructor::ConstructFromSet(const EdgeSet &edge_set,
ConnectionConditions &connection_conditions,
bool use_terminal_vertices_only) {
graph_->AddVertices(edge_set);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what's the problem with AddVertices?

#pragma omp critical
{
if (check_predicate) {
graph_->AddEdge(edge);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it ok that edges could be added in arbitrary non-deterministic order?

ScaffoldGraph::ScaffoldEdge edge = scaffold_edges[i];
double score = score_function->GetScore(edge);
#pragma omp critical
{
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

{
TRACE("Success");
ScaffoldGraph::ScaffoldEdge new_edge(first, *it, 0, score, 0);
graph_->AddEdgeSimple(new_edge);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

if (!is_tellseq) {
barcode_index_builder.ConstructBarcodeIndex(io::paired_easy_readers(lib, false, 0), barcode_index, lib, is_tellseq);
}
if (is_tellseq) {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the conditions could probably be combined with previous condition:)

Comment thread src/projects/splitter/main.cpp Outdated
gfa::GFAReader ReadGraph(const gcfg &cfg,
debruijn_graph::Graph &graph,
io::IdMapper<std::string> *id_mapper) {
gfa::GFAReader gfa(cfg.graph);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reformat?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants