@@ -339,14 +339,17 @@ void parseFasta(
339
339
seq3Di.pop_back ();
340
340
lengths.push_back (seqAA.length ());
341
341
342
- std::vector<Instruction2> cigar_aa = contract (entry.sequence .s );
342
+ std::vector<Instruction2> base = contract (entry.sequence .s );
343
+ std::vector<Instruction2> cigar_aa;
343
344
std::vector<Instruction2> cigar_ss;
344
345
int index = 0 ;
345
- for (Instruction2 ins : cigar_aa ) {
346
+ for (Instruction2 ins : base ) {
346
347
if (ins.isSeq ()) {
348
+ cigar_aa.emplace_back (seqAA[index]);
347
349
cigar_ss.emplace_back (seq3Di[index]);
348
350
index++;
349
351
} else {
352
+ cigar_aa.emplace_back (static_cast <int >(ins.bits .count ));
350
353
cigar_ss.emplace_back (static_cast <int >(ins.bits .count ));
351
354
}
352
355
}
@@ -417,6 +420,8 @@ int msa2lddt(int argc, const char **argv, const Command& command) {
417
420
418
421
std::tie (perColumnScore, perColumnCount, lddtScore) = calculate_lddt (cigars_aa, subset, indices, lengths, &seqDbrCA, par.pairThreshold );
419
422
423
+ // TODO common core = columns w/ no gaps, no distances >4 angstrom to reference (structure w/ longest non-gap alignment)
424
+
420
425
std::cout << " Average MSA LDDT: " << lddtScore << std::endl;
421
426
422
427
// Write clustal format MSA HTML
@@ -425,7 +430,8 @@ int msa2lddt(int argc, const char **argv, const Command& command) {
425
430
std::string lddtHtmlIdx = par.lddtHtml + " .index" ;
426
431
DBWriter resultWriter (par.lddtHtml .c_str (), lddtHtmlIdx.c_str (), static_cast <unsigned int >(par.threads ), par.compressed , Parameters::DBTYPE_OMIT_FILE);
427
432
resultWriter.open ();
428
- /*
433
+
434
+ /*
429
435
// Read in template and write to .html
430
436
size_t dstSize = ZSTD_findDecompressedSize(msa_html_zst, msa_html_zst_len);
431
437
char* dst = (char*)malloc(sizeof(char) * dstSize);
0 commit comments