1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- import { resolveJob } from './server/query';
- import * as fs from 'fs'
- import * as path from 'path'
- import { StructureCache } from './server/structure-wrapper';
- import { createJob } from './server/jobs';
- function wrapFile(fn: string) {
- const w = {
- open(this: any) {
- if (this.opened) return;
- this.file = fs.openSync(fn, 'w');
- this.opened = true;
- },
- writeBinary(this: any, data: Uint8Array) {
- this.open();
- fs.writeSync(this.file, new Buffer(data));
- return true;
- },
- writeString(this: any, data: string) {
- this.open();
- fs.writeSync(this.file, data);
- return true;
- },
- end(this: any) {
- if (!this.opened || this.ended) return;
- fs.close(this.file, function () { });
- this.ended = true;
- },
- file: 0,
- ended: false,
- opened: false
- };
- return w;
- }
- 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 = '1cbs_updated.cif'
- const request = createJob({
- entryId: path.join(examplesPath, testFile),
- queryName: 'full',
- queryParams: { }
- });
- // const request = createJob({
- // entryId: path.join(examplesPath, testFile),
- // queryName: 'atoms',
- // queryParams: {
- // atom_site: { label_comp_id: 'ALA' }
- // }
- // });
- // const request = createJob({
- // entryId: path.join(examplesPath, testFile),
- // queryName: 'residueInteraction',
- // queryParams: {
- // atom_site: { label_comp_id: 'REA' },
- // radius: 5
- // }
- // });
- 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) {
- console.error(e)
- } finally {
- StructureCache.expireAll();
- }
- }
- run();
|