Skip to content

Commit ee94553

Browse files
committed
preliminary contigs + contig output saves
1 parent 50d56ea commit ee94553

File tree

5 files changed

+18
-16
lines changed

5 files changed

+18
-16
lines changed

assembler/src/projects/spades/contig_output_stage.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
namespace debruijn_graph {
1212

1313
void ContigOutput::run(conj_graph_pack &gp, const char*) {
14-
auto output_dir = cfg::get().output_dir;
14+
auto output_dir = cfg::get().output_dir + contig_name_prefix_;
1515

1616
OutputContigs(gp.g, output_dir + "before_rr", false);
1717
OutputContigsToFASTG(gp.g, output_dir + "assembly_graph", gp.components);
@@ -45,7 +45,7 @@ void ContigOutput::run(conj_graph_pack &gp, const char*) {
4545

4646
writer.OutputPaths(gp.contig_paths, output_dir + cfg::get().co.scaffolds_name);
4747

48-
OutputContigsToGFA(gp.g, gp.contig_paths, cfg::get().output_dir + "assembly_graph");
48+
OutputContigsToGFA(gp.g, gp.contig_paths, output_dir + "assembly_graph");
4949
} else {
5050
OutputContigs(gp.g, output_dir + "simplified_contigs", cfg::get().use_unipaths);
5151
OutputContigs(gp.g, output_dir + cfg::get().co.contigs_name, false);

assembler/src/projects/spades/contig_output_stage.hpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@ namespace debruijn_graph {
1515
class ContigOutput : public spades::AssemblyStage {
1616
private:
1717
bool output_paths_;
18-
public:
19-
ContigOutput(bool output_paths = true)
20-
: AssemblyStage("Contig Output", "contig_output"), output_paths_(output_paths) { }
21-
22-
void load(conj_graph_pack &, const std::string &, const char *) { }
18+
string contig_name_prefix_;
2319

24-
void save(const conj_graph_pack &, const std::string &, const char *) const { }
20+
public:
21+
ContigOutput(bool output_paths = true, bool preliminary = false, const string& contig_name_prefix = "")
22+
: AssemblyStage("Contig Output", preliminary ? "preliminary_contig_output" : "contig_output"),
23+
output_paths_(output_paths), contig_name_prefix_(contig_name_prefix) { }
2524

2625
void run(conj_graph_pack &gp, const char *);
26+
2727
};
2828

2929
}

assembler/src/projects/spades/launch.hpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -96,12 +96,13 @@ void assemble_genome() {
9696
SPAdes.add(new debruijn_graph::MismatchCorrection());
9797
if (cfg::get().rr_enable) {
9898
if (two_step_rr) {
99+
string prelim_prefix = "preliminary_";
99100
if (cfg::get().use_intermediate_contigs)
100101
SPAdes.add(new debruijn_graph::PairInfoCount(true))
101102
.add(new debruijn_graph::DistanceEstimation(true))
102103
.add(new debruijn_graph::RepeatResolution(true))
103-
.add(new debruijn_graph::ContigOutput())
104-
.add(new debruijn_graph::SecondPhaseSetup());
104+
.add(new debruijn_graph::ContigOutput(true, true, prelim_prefix))
105+
.add(new debruijn_graph::SecondPhaseSetup(prelim_prefix));
105106

106107
SPAdes.add(new debruijn_graph::Simplification());
107108
}
@@ -119,12 +120,10 @@ void assemble_genome() {
119120

120121
//No graph modification allowed after HybridLibrariesAligning stage!
121122

122-
SPAdes.add(new debruijn_graph::ContigOutput(false))
123+
SPAdes.add(new debruijn_graph::ContigOutput(false, false, "pre_pe_"))
123124
.add(new debruijn_graph::PairInfoCount())
124125
.add(new debruijn_graph::DistanceEstimation())
125126
.add(new debruijn_graph::RepeatResolution());
126-
} else {
127-
SPAdes.add(new debruijn_graph::ContigOutput(false));
128127
}
129128

130129
SPAdes.add(new debruijn_graph::ContigOutput());

assembler/src/projects/spades/second_phase_setup.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ void SecondPhaseSetup::run(conj_graph_pack &gp, const char*) {
2121
gp.ClearRRIndices();
2222
gp.ClearPaths();
2323

24-
std::string old_pe_contigs_filename = cfg::get().output_dir + "final_contigs.fasta";
24+
std::string old_pe_contigs_filename = cfg::get().output_dir + contig_name_prefix_ + "final_contigs.fasta";
2525
std::string new_pe_contigs_filename = cfg::get().output_dir + "first_pe_contigs.fasta";
2626

2727
VERIFY(path::check_existence(old_pe_contigs_filename));

assembler/src/projects/spades/second_phase_setup.hpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,12 @@ namespace debruijn_graph {
1212

1313
//todo rename
1414
class SecondPhaseSetup : public spades::AssemblyStage {
15+
private:
16+
string contig_name_prefix_;
17+
1518
public:
16-
SecondPhaseSetup()
17-
: AssemblyStage("Second Phase Setup", "second_phase_setup") { }
19+
SecondPhaseSetup(const string& contig_name_prefix = "")
20+
: AssemblyStage("Second Phase Setup", "second_phase_setup"),contig_name_prefix_(contig_name_prefix) { }
1821

1922
void run(conj_graph_pack &gp, const char *);
2023
};

0 commit comments

Comments
 (0)