Skip to content

Commit 6d3d6bd

Browse files
version update
Signed-off-by: AdityaPandeyCN <[email protected]>
1 parent 473f39b commit 6d3d6bd

File tree

7 files changed

+50
-61
lines changed

7 files changed

+50
-61
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616

1717
- name: Install ROOT
1818
run: |
19-
ROOT_URL="https://root.cern/download/root_v6.34.06.Linux-ubuntu24.04-x86_64-gcc13.3.tar.gz"
19+
ROOT_URL="https://root.cern/download/root_v6.36.00.Linux-ubuntu24.04-x86_64-gcc13.3.tar.gz"
2020
wget -O root.tar.gz $ROOT_URL
2121
tar -xzf root.tar.gz -C /opt/
2222
echo "/opt/root/bin" >> $GITHUB_PATH

benchmark/chromosome_split_benchmark.cxx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -117,16 +117,16 @@ static void BM_ChromosomeSplitThreads(benchmark::State &state)
117117
BENCHMARK(BM_SamtoolsSplit)->Arg(100000)->Arg(500000)->Arg(1000000)->Unit(benchmark::kMillisecond);
118118
// Benchmarks with different thread counts
119119
BENCHMARK(BM_ChromosomeSplitThreads)
120-
->Args({100000, 2})
121-
->Args({100000, 4})
122-
->Args({100000, 8})
123-
->Args({500000, 2})
124-
->Args({500000, 4})
125-
->Args({500000, 8})
126-
->Args({1000000, 2})
127-
->Args({1000000, 4})
128-
->Args({1000000, 8})
129-
->Unit(benchmark::kMillisecond);
120+
->Args({100000, 2})
121+
->Args({100000, 4})
122+
->Args({100000, 8})
123+
->Args({500000, 2})
124+
->Args({500000, 4})
125+
->Args({500000, 8})
126+
->Args({1000000, 2})
127+
->Args({1000000, 4})
128+
->Args({1000000, 8})
129+
->Unit(benchmark::kMillisecond);
130130

131131
BENCHMARK_MAIN();
132132

inc/ramcore/SamToNTuple.h

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,8 @@ void samtoramntuple(const char *datafile,
1010
int compression_algorithm,
1111
uint32_t quality_policy);
1212

13-
void samtoramntuple_split_by_chromosome(const char *datafile,
14-
const char *output_prefix,
15-
int compression_algorithm,
16-
uint32_t quality_policy,
17-
int num_threads = 4);
13+
void samtoramntuple_split_by_chromosome(const char *datafile, const char *output_prefix, int compression_algorithm,
14+
uint32_t quality_policy, int num_threads = 4);
1815

1916
#endif
2017

inc/rntuple/RAMNTupleRecord.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,4 +280,3 @@ class RAMNTupleConverter {
280280
};
281281

282282
#endif
283-

src/ramcore/SamToNTuple.cxx

Lines changed: 36 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,12 @@ void samtoramntuple(const char *datafile,
3737
RAMNTupleRecord::InitializeRefs();
3838

3939
auto model = RAMNTupleRecord::MakeModel();
40-
40+
4141
ROOT::RNTupleWriteOptions writeOptions;
4242
writeOptions.SetCompression(compression_algorithm);
4343
writeOptions.SetMaxUnzippedPageSize(64000);
44-
45-
auto writer = ROOT::RNTupleWriter::Append(
46-
std::move(model), "RAM", *rootFile, writeOptions);
44+
45+
auto writer = ROOT::RNTupleWriter::Append(std::move(model), "RAM", *rootFile, writeOptions);
4746
auto defaultEntry = writer->GetModel().CreateEntry();
4847
auto recordPtr = defaultEntry->GetPtr<RAMNTupleRecord>("record");
4948

@@ -66,35 +65,34 @@ void samtoramntuple(const char *datafile,
6665
}
6766
}
6867
};
69-
70-
auto record_callback = [&](const ramcore::SamRecord& sam_record, size_t record_num) {
71-
recordPtr->SetBit(quality_policy);
72-
73-
recordPtr->SetQNAME(sam_record.qname.c_str());
74-
recordPtr->SetFLAG(sam_record.flag);
75-
recordPtr->SetREFID(sam_record.rname.c_str());
76-
recordPtr->SetPOS(sam_record.pos);
77-
recordPtr->SetMAPQ(sam_record.mapq);
78-
recordPtr->SetCIGAR(sam_record.cigar.c_str());
79-
recordPtr->SetREFNEXT(sam_record.rnext.c_str());
80-
recordPtr->SetPNEXT(sam_record.pnext);
81-
recordPtr->SetTLEN(sam_record.tlen);
82-
recordPtr->SetSEQ(sam_record.seq.c_str());
83-
recordPtr->SetQUAL(sam_record.qual.c_str());
84-
85-
recordPtr->ResetNOPT();
86-
for (const auto& opt : sam_record.optional_fields) {
87-
recordPtr->SetOPT(opt.c_str());
88-
}
89-
90-
writer->Fill(*defaultEntry);
91-
92-
if (index && record_num % 1000 == 0) {
93-
RAMNTupleRecord::GetIndex()->AddItem(recordPtr->GetREFID(),
94-
recordPtr->GetPOS() - 1, record_num);
95-
}
68+
69+
auto record_callback = [&](const ramcore::SamRecord &sam_record, size_t record_num) {
70+
recordPtr->SetBit(quality_policy);
71+
72+
recordPtr->SetQNAME(sam_record.qname.c_str());
73+
recordPtr->SetFLAG(sam_record.flag);
74+
recordPtr->SetREFID(sam_record.rname.c_str());
75+
recordPtr->SetPOS(sam_record.pos);
76+
recordPtr->SetMAPQ(sam_record.mapq);
77+
recordPtr->SetCIGAR(sam_record.cigar.c_str());
78+
recordPtr->SetREFNEXT(sam_record.rnext.c_str());
79+
recordPtr->SetPNEXT(sam_record.pnext);
80+
recordPtr->SetTLEN(sam_record.tlen);
81+
recordPtr->SetSEQ(sam_record.seq.c_str());
82+
recordPtr->SetQUAL(sam_record.qual.c_str());
83+
84+
recordPtr->ResetNOPT();
85+
for (const auto &opt : sam_record.optional_fields) {
86+
recordPtr->SetOPT(opt.c_str());
87+
}
88+
89+
writer->Fill(*defaultEntry);
90+
91+
if (index && record_num % 1000 == 0) {
92+
RAMNTupleRecord::GetIndex()->AddItem(recordPtr->GetREFID(), recordPtr->GetPOS() - 1, record_num);
93+
}
9694
};
97-
95+
9896
if (!parser.ParseFile(datafile, header_callback, record_callback)) {
9997
printf("Failed to parse SAM file %s\n", datafile);
10098
return;
@@ -127,11 +125,8 @@ void samtoramntuple(const char *datafile,
127125
stopwatch.Print();
128126
}
129127

130-
void samtoramntuple_split_by_chromosome(const char *datafile,
131-
const char *output_prefix,
132-
int compression_algorithm,
133-
uint32_t quality_policy,
134-
int num_threads)
128+
void samtoramntuple_split_by_chromosome(const char *datafile, const char *output_prefix, int compression_algorithm,
129+
uint32_t quality_policy, int num_threads)
135130
{
136131
ROOT::EnableThreadSafety();
137132
RAMNTupleRecord::InitializeRefs();
@@ -175,7 +170,7 @@ void samtoramntuple_split_by_chromosome(const char *datafile,
175170
for (const auto& [chr, records] : chromosome_records) {
176171
chr_names.push_back(chr);
177172
}
178-
173+
179174
auto write_chromosome = [&](const std::string& chr) {
180175
const auto& records = chromosome_records[chr];
181176

@@ -187,9 +182,8 @@ void samtoramntuple_split_by_chromosome(const char *datafile,
187182
ROOT::RNTupleWriteOptions writeOptions;
188183
writeOptions.SetCompression(compression_algorithm);
189184
writeOptions.SetMaxUnzippedPageSize(128000);
190-
191-
auto writer = ROOT::RNTupleWriter::Append(
192-
std::move(model), "RAM", *file, writeOptions);
185+
186+
auto writer = ROOT::RNTupleWriter::Append(std::move(model), "RAM", *file, writeOptions);
193187
auto entry = writer->GetModel().CreateEntry();
194188
auto recordPtr = entry->GetPtr<RAMNTupleRecord>("record").get();
195189

@@ -225,7 +219,7 @@ void samtoramntuple_split_by_chromosome(const char *datafile,
225219

226220
RAMNTupleRecord::WriteAllRefs(*file);
227221
h.Write();
228-
222+
229223
file->Close();
230224
file.reset();
231225
};

test/chromosome_split_test.cxx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,4 +98,3 @@ TEST_F(ChromosomeSplitTest, MetadataPresent)
9898

9999
EXPECT_GT(filesChecked, 0);
100100
}
101-

tools/samtoramntuple.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ int main(int argc, char* argv[]) {
4949

5050
try {
5151
if (do_split) {
52-
samtoramntuple_split_by_chromosome(input, output, 505, quality_mode, 4);
52+
samtoramntuple_split_by_chromosome(input, output, 505, quality_mode, 4);
5353
} else {
5454
std::string ramfile = std::string(output);
5555
if (ramfile.find(".root") == std::string::npos && ramfile.find(".ram") == std::string::npos) {

0 commit comments

Comments
 (0)