@jbrowse/core
Version:
JBrowse 2 core libraries used by plugins
52 lines (51 loc) • 1.89 kB
JavaScript
import { ConfigurationSchema } from "../configuration/index.js";
function assemblyConfigSchema(pluginManager) {
return ConfigurationSchema('BaseAssembly', {
aliases: {
type: 'stringArray',
defaultValue: [],
description: 'Other possible names for the assembly',
},
sequence: pluginManager.getTrackType('ReferenceSequenceTrack')
.configSchema,
refNameColors: {
type: 'stringArray',
defaultValue: [],
description: 'Define custom colors for each reference sequence. Will cycle through this list if there are not enough colors for every sequence.',
},
refNameAliases: ConfigurationSchema('RefNameAliases', {
adapter: pluginManager.pluggableConfigSchemaType('adapter'),
}, {
preProcessSnapshot: snap => {
return !snap.adapter
? {
adapter: {
type: 'RefNameAliasAdapter',
},
}
: snap;
},
}),
cytobands: ConfigurationSchema('Cytoband', {
adapter: pluginManager.pluggableConfigSchemaType('adapter'),
}, {
preProcessSnapshot: snap => {
return !snap.adapter
? {
adapter: {
type: 'CytobandAdapter',
},
}
: snap;
},
}),
displayName: {
type: 'string',
defaultValue: '',
description: 'A human readable display name for the assembly e.g. "Homo sapiens (hg38)" while the assembly name may just be "hg38"',
},
}, {
explicitIdentifier: 'name',
});
}
export default assemblyConfigSchema;