pdbe-molstar
Version:
Molstar implementation for PDBe
32 lines (31 loc) • 1.97 kB
TypeScript
import { CustomModelProperty } from 'molstar/lib/mol-model-props/common/custom-model-property';
import { CustomProperty } from 'molstar/lib/mol-model-props/common/custom-property';
import { PropertyWrapper } from 'molstar/lib/mol-model-props/common/wrapper';
import { IndexedCustomProperty, Model } from 'molstar/lib/mol-model/structure';
import { Structure, StructureElement } from 'molstar/lib/mol-model/structure/structure';
import { ParamDefinition as PD } from 'molstar/lib/mol-util/param-definition';
export { DomainAnnotations };
type DomainAnnotations = PropertyWrapper<{
domains: IndexedCustomProperty.Residue<string[]>;
domainNames: string[][];
domainTypes: string[];
} | undefined>;
declare namespace DomainAnnotations {
const DefaultServerUrl = "https://www.ebi.ac.uk/pdbe/api/mappings";
function getEntryUrl(pdbId: string, serverUrl: string): string;
function isApplicable(model?: Model): boolean;
function fromJson(model: Model, data: any): DomainAnnotations;
function fromServer(ctx: CustomProperty.Context, model: Model, props: DomainAnnotationsProps): Promise<CustomProperty.Data<DomainAnnotations>>;
/** Return a list of domainSource:domainName strings for a particular location (e.g. ['CATH:Globin']) */
function getDomains(e: StructureElement.Location): string[];
/** Decide whether a structure location belongs to a domain */
function isInDomain(e: StructureElement.Location, domainSource: string, domainName: string): boolean;
function getDomainTypes(structure?: Structure): string[];
function getDomainNames(structure?: Structure): string[][];
}
export declare const DomainAnnotationsParams: {
serverUrl: PD.Text<string>;
};
export type DomainAnnotationsParams = typeof DomainAnnotationsParams;
export type DomainAnnotationsProps = PD.Values<DomainAnnotationsParams>;
export declare const DomainAnnotationsProvider: CustomModelProperty.Provider<DomainAnnotationsParams, DomainAnnotations>;