Skip to content
Snippets Groups Projects
Select Git revision
  • cc64cb8c9221eb30efd7efc9e53859776b472c2f
  • master default protected
  • devel
  • hruska-feature-clients-api
  • malostik-#5066-deduplicate-idea-ids
  • warden-postgresql-port
  • hruska-feature-#6799-filter-keys
  • hruska-feature-5066-duplicateIdeaID
  • warden-client-3.0-beta3
  • warden-server-3.0-beta3
  • warden-client-2.2-final
  • warden-server-2.2-final
  • warden-client-3.0-beta2
  • warden-server-3.0-beta2
  • warden-client-2.2
  • warden-server-2.2-patch3
  • warden-client-3.0-beta1
  • warden-server-3.0-beta1
  • warden-server-2.2-patch1
  • warden-client-3.0-beta0
  • warden-server-3.0-beta0
  • warden-server-2.2
  • warden-server-2.1-patch1
  • warden-client-2.1
  • warden-server-2.1
  • warden-server-2.1-beta6
  • warden-server-2.1-beta5
  • warden-server-2.1-beta4
28 results

UPDATE

Blame
  • config.ts 3.32 KiB
    /**
     * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
     *
     * @author David Sehnal <david.sehnal@gmail.com>
     */
    
    import { ModelPropertyProviderConfig } from './property-provider';
    
    const config = {
        /**
         * Determine if and how long to cache entries after a request.
         */
        cacheParams: {
            useCache: true,
            maxApproximateSizeInBytes: 2 * 1014 * 1024 * 1024, // 2 GB
            entryTimeoutInMs: 10 * 60 * 1000 // 10 minutes
        },
    
        /**
         * Node (V8) sometimes exhibits GC related issues  that significantly slow down the execution
         * (https://github.com/nodejs/node/issues/8670).
         *
         * Therefore an option is provided that automatically shuts down the server.
         * For this to work, the server must be run using a deamon (i.e. forever.js on Linux
         * or IISnode on Windows) so that the server is automatically restarted when the shutdown happens.
         */
        shutdownParams: {
            // 0 for off, server will shut down after this amount of minutes.
            timeoutMinutes: 24 * 60 /* a day */,
    
            // modifies the shutdown timer by +/- timeoutVarianceMinutes (to avoid multiple instances shutting at the same time)
            timeoutVarianceMinutes: 60
        },
    
        defaultPort: 1337,
    
        /**
         * Specify the prefix of the API, i.e.
         * <host>/<apiPrefix>/<API queries>
         */
        appPrefix: '/ModelServer',
    
        /**
         * The maximum time the server dedicates to executing a query.
         * Does not include the time it takes to read and export the data.
         */
        maxQueryTimeInMs: 5 * 1000,
    
        /** Maximum number of requests before "server busy" */
        maxQueueLength: 30,
    
        /**
         * Provide a property config or a path a JSON file with the config.
         */
        customProperties: <ModelPropertyProviderConfig | string>{
            sources: [
                'pdbe',
                'rcsb',
                'wwpdb'
            ],
            params: {
                PDBe: {
                    UseFileSource: false,
                    API: {
                        residuewise_outlier_summary: 'https://www.ebi.ac.uk/pdbe/api/validation/residuewise_outlier_summary/entry',
                        preferred_assembly: 'https://www.ebi.ac.uk/pdbe/api/pdb/entry/summary',
                        struct_ref_domain: 'https://www.ebi.ac.uk/pdbe/api/mappings/sequence_domains'
                    },
                    File: {
                        residuewise_outlier_summary: 'e:/test/mol-star/model/props/'
                    }
                },
                RCSB: {
                    API: {
                        assembly_symmetry: 'https://rest-staging.rcsb.org/graphql'
                    }
                },
                wwPDB: {
                    chemCompBondTablePath: ''
                }
            }
        },
    
        /**
         * Maps a request identifier to a filename.
         *
         * @param source
         *   Source of the data.
         * @param id
         *   Id provided in the request.
         */
        mapFile(source: string, id: string) {
            switch (source.toLowerCase()) {
                // case 'pdb': return `e:/test/quick/${id}_updated.cif`;
                case 'pdb': return `e:/test/mol-star/model/out/${id}_updated.bcif`;
                case 'pdb-bcif': return `c:/test/mol-star/model/out/${id}_updated.bcif`;
                case 'pdb-cif': return `c:/test/mol-star/model/out/${id}_updated.cif`;
                default: return void 0;
            }
        }
    };
    
    export default config;