|
@@ -37,6 +37,7 @@ export namespace AssemblySymmetry {
|
|
|
const mmcif = structure.models[0].sourceData.data.db
|
|
|
if (!mmcif.pdbx_struct_assembly.details.isDefined) return false
|
|
|
const id = structure.units[0].conformation.operator.assembly.id
|
|
|
+ if (id === '' || id === 'deposited') return true
|
|
|
const indices = Column.indicesOf(mmcif.pdbx_struct_assembly.id, e => e === id)
|
|
|
if (indices.length !== 1) return false
|
|
|
const details = mmcif.pdbx_struct_assembly.details.value(indices[0])
|
|
@@ -48,7 +49,7 @@ export namespace AssemblySymmetry {
|
|
|
|
|
|
const client = new GraphQLClient(props.serverUrl, ctx.fetch)
|
|
|
const variables: AssemblySymmetryQueryVariables = {
|
|
|
- assembly_id: structure.units[0].conformation.operator.assembly.id,
|
|
|
+ assembly_id: structure.units[0].conformation.operator.assembly.id || 'deposited',
|
|
|
entry_id: structure.units[0].model.entryId
|
|
|
}
|
|
|
const result = await client.request<AssemblySymmetryQuery>(ctx.runtime, query, variables)
|
|
@@ -56,7 +57,8 @@ export namespace AssemblySymmetry {
|
|
|
if (!result.assembly?.rcsb_struct_symmetry) {
|
|
|
throw new Error('missing fields')
|
|
|
}
|
|
|
- return result.assembly.rcsb_struct_symmetry as AssemblySymmetryValue
|
|
|
+ const symmetry = result.assembly.rcsb_struct_symmetry as AssemblySymmetryValue
|
|
|
+ return symmetry.filter(s => s.symbol !== 'C1')
|
|
|
}
|
|
|
}
|
|
|
|