Skip to content
Snippets Groups Projects
Commit df6092c7 authored by David Sehnal's avatar David Sehnal
Browse files

refactoring custom props

parent 43932093
No related branches found
No related tags found
No related merge requests found
......@@ -33,7 +33,7 @@ export namespace StructureQualityReport {
id: Column.Schema.int,
...mmCIF_residueId_schema,
pdbx_PDB_model_num: Column.Schema.int,
issue_group_id: Column.Schema.int
issue_type_group_id: Column.Schema.int
},
pdbe_structure_quality_report_issue_types: {
group_id: Column.Schema.int,
......@@ -129,7 +129,7 @@ export namespace StructureQualityReport {
const _structure_quality_report_issues_fields = CifWriter.fields<number, ReportExportContext['models'][0]>()
.index('id')
.many(residueIdFields((i, d) => d.elements[i], { includeModelNum: true }))
.int('group_id', (i, d) => d.groupId[i])
.int('issue_type_group_id', (i, d) => d.groupId[i])
.getFields();
interface ReportExportContext {
......@@ -208,18 +208,16 @@ function createIssueMapFromCif(modelData: Model,
groupData: Table<typeof StructureQualityReport.Schema.pdbe_structure_quality_report_issue_types>): StructureQualityReport.IssueMap | undefined {
const ret = new Map<ResidueIndex, string[]>();
const { label_entity_id, label_asym_id, auth_seq_id, pdbx_PDB_ins_code, issue_group_id, pdbx_PDB_model_num, _rowCount } = residueData;
const { label_entity_id, label_asym_id, auth_seq_id, pdbx_PDB_ins_code, issue_type_group_id, pdbx_PDB_model_num, _rowCount } = residueData;
const groups = parseIssueTypes(groupData);
for (let i = 0; i < _rowCount; i++) {
if (pdbx_PDB_model_num.value(i) !== modelData.modelNum) continue;
const idx = modelData.atomicHierarchy.index.findResidue(label_entity_id.value(i), label_asym_id.value(i), auth_seq_id.value(i), pdbx_PDB_ins_code.value(i));
ret.set(idx, groups.get(issue_group_id.value(i))!);
ret.set(idx, groups.get(issue_type_group_id.value(i))!);
}
console.log(ret);
return IndexedCustomProperty.fromResidueMap(ret);
}
......
......@@ -34,22 +34,28 @@ function wrapFile(fn: string) {
return w;
}
const basePath = path.join(__dirname, '..', '..', '..', '..')
const examplesPath = path.join(basePath, 'examples')
const outPath = path.join(basePath, 'build', 'test')
export const basePath = path.join(__dirname, '..', '..', '..', '..')
export const examplesPath = path.join(basePath, 'examples')
export const outPath = path.join(basePath, 'build', 'test')
if (!fs.existsSync(outPath)) fs.mkdirSync(outPath);
async function run() {
try {
// const testFile = '1crn.cif'
// const testFile = '1grm_updated.cif'
// const testFile = 'C:/Projects/mol-star/molstar-proto/build/test/in/1grm_updated.cif'
// const request = createJob({
// entryId: testFile,
// queryName: 'full',
// queryParams: { },
// });
const testFile = '1grm_updated.cif'
//const testFile = 'C:/Projects/mol-star/molstar-proto/build/test/1grm_updated.cif'
const request = createJob({
entryId: path.join(examplesPath, testFile),
queryName: 'full',
queryParams: { },
// options: { modelNums: [ 2, 3 ] }
queryParams: { }
});
// const request = createJob({
// entryId: path.join(examplesPath, testFile),
// queryName: 'atoms',
......@@ -67,6 +73,7 @@ async function run() {
// });
const encoder = await resolveJob(request);
const writer = wrapFile(path.join(outPath, testFile));
// const writer = wrapFile(path.join(outPath, '1grm_test.cif'));
encoder.writeTo(writer);
writer.end();
} catch (e) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment