Pular para o conteúdo principal

Ribozilla CLI to GUI

O Ribozilla oferece essa API para que o desenvolvimento de novas extensões sejam mais simples e práticas para diferentes níveis de usuários.

Classes#

RibozillaExtension#

Inicialização de classe obrigatório para acessar os metódos posteriores, só pode ser instanciado uma vez por extensão.

  • Parâmetros do Construtor
ParamTipoDefaultDescriçãoObrigatório
namestringundefinedNome da extensão/software
versionstringundefinedVersão do software utilizado
  • Exemplo do construtor
import RibozillaExtension, { Categories, ParamsTypes, InputTypes, RequiredTypes } from '../../../packages/ribozilla-clui-api/lib'const extension = new RibozillaExtension('STAR', '2.7.9a')

Métodos da Instância#

command()#

Caso o software possua mais de um comando é possível configurar cada após o método end()

ParamTipoDefaultDescriçãoObrigatório
commandstringundefinedDefine um comando do software
extension.command("STAR")

category()#

ParamTipoDefaultDescriçãoObrigatório
categoryCategoriesundefinedCategoria em que o software se encaixa
extension.category(Categories.GENOME_INDEX)
/* Categories */export enum Categories {  ALIGNMENT='Alignment',  TRIMMING='Trimming',  GENOME_INDEX='Genome Index',  QUALITY_ASSESSMENT='Quality Assessment',  OTHER='Other'}

param()#

ParamTipoDefaultDescriçãoObrigatório
typeParamTypesundefinedÉ uma flag ou argumento
signaturestringundefinedForma da flag na linha de comando, se for argumento pode ser um nome definido pelo usuário
labelstringundefinedRótulo de exibição da flag/argumento na GUI
placesintegerundefinedQuantidade de entradas de cada flag ou argumento
inputs[InputTypes,string[]?][]undefinedTipos de entradas e opções que uma flag/argumento possui
isRequiredRequiredTypesundefinedDefinir de flag/argumento aparecerá como entrada/saída nos nós
separator[string, string][' ', ' ']Separador de comando [0] e opções [1] da sintaxe da linha de comando
descriptionstring"Description"Documentação da flag/commando
lastValuesstring[][]Armazenador de valores no nó, não é utilizado no desenvolvimento da extensão
Nota
  • places = 0 InputTypes devem ser BOOLEAN ou ENUM .
  • places = -1 se as entradas forem 'ilimitadas' ou definidas pelo usuário.
  • places >= 1 deve-se definir o tipo e os valores (opcional).
  • Se InputTypes.ENUM os valores são as opções disponíveis.
  • Se InputTypes.BOOLEAN os valores são um array vazio [].
ext.param(ParamsTypes.FLAG, '--runThreadN', 'Threads', 1, [[InputTypes.NUMBER]])  .param(ParamsTypes.FLAG, '--runMode', 'Task mode', 0, [[InputTypes.ENUM, ['genomeGenerate']]])  .param(ParamsTypes.FLAG, '--genomeDir', 'Genome Index', -1, [[InputTypes.DIR]], RequiredTypes.MAIN_OUT)  .param(ParamsTypes.FLAG, '--genomeFastaFiles', 'Read files', -1, [[InputTypes.FILE]], RequiredTypes.MAIN_IN)  .param(ParamsTypes.FLAG, '--sjdbGTFfile', 'Annotation', 1, [[InputTypes.FILE]], RequiredTypes.MAIN_IN)  .param(ParamsTypes.ARG, '--sjdbOverhang', 'Read Length', 1, [[InputTypes.NUMBER, ['99']]], RequiredTypes.MAIN_OUT)  .end()
export enum ParamsTypes {  FLAG = 'flag',  ARG = 'arg'}
export enum InputTypes {  ENUM='enum',  STRING='string',  BOOLEAN='boolean',  NUMBER='number',  DIR='dir',  FILE='file'}
export enum RequiredTypes {  OPT_PARAM = 'opt/param',  MAIN_IN = 'main/in',  MAIN_OUT = 'main/out',  REQ_IN = 'req/in',  REQ_OUT = 'req/out'}

end()#

  • Uso obrigatório para finalizar o comando
ext.command('DCC')  .category(Categories.OTHER)  .param(ParamsTypes.ARG, '@samplesheet', 'Samplesheet', -1, [[InputTypes.FILE]], RequiredTypes.MAIN_IN)  .param(ParamsTypes.FLAG, '-mt1', 'Mate 1', 1, [[InputTypes.FILE]], RequiredTypes.MAIN_IN)  .param(ParamsTypes.FLAG, '-D', 'Detect circRNA', 0, [[InputTypes.BOOLEAN]])  .param(ParamsTypes.FLAG, '-M', 'Filter Mitochondrial Candidates', 0, [[InputTypes.BOOLEAN]])  .param(ParamsTypes.FLAG, '-R', 'Repeats Annotations', -1, [[InputTypes.FILE]], RequiredTypes.MAIN_IN)  .param(ParamsTypes.FLAG, '-Nr', 'Replicates (min,max)', 2, [    [InputTypes.NUMBER],    [InputTypes.NUMBER]  ])  .end()

generateExtension()#

  • Uso obrigatório para poder buildar o gerador da extensão
ParamTipoDefaultDescriçãoObrigatório
filenamestringundefinedNome do arquivo de saída JSON
outDirstring_dirnameDiretório onde salva o arquivo JSON (Não alterar _dirname)
ext.generateExtension('dcc', __dirname)