Open a-frantz opened 1 month ago
sorting things in meta sections. This was proposed by @adthrasher and IDK the specifics of what this would look like there's a lot we could do here, all of which would be somewhat "intrusive" IMO
I'm not certain if this is a good idea or not. If we implement it, I think it needs to be configurable. Essentially there would be a list of default keys that are sorted into the specified order and any other keys are just appended to the list. I think this came about while looking at something like the SEAseq meta
below. Things like title
, summary
, and description
likely always belong at the top of a meta
section. Obviously, that can be done manually, but if we're formatting anyway, should that be an enforced thing? The example below also is more complicated and contains objects within the meta
. I'm not sure if we would need to provide a facility to sort within those objects as well.
meta {
title: 'SEAseq Analysis'
summary: 'Single-End Antibody Sequencing (SEAseq) Pipeline'
description: 'A comprehensive automated computational pipeline for all ChIP-Seq/CUT&RUN data analysis.'
version: '2.0.0'
details: {
citation: 'https://doi.org/10.1186/s12859-022-04588-z',
contactEmail: 'modupeore.adetunji@stjude.org',
contactOrg: "St Jude Children's Research Hospital",
contactUrl: "",
upstreamLicenses: "MIT",
upstreamUrl: 'https://github.com/stjude/seaseq',
whatsNew: [
{
version: "2.0",
changes: ["version of case/sample only", "single-end sequencing with input/control sequencing data", "Initial release"]
}
]
}
parameter_group: {
reference_genome: {
title: 'Reference genome',
description: 'Genome specific files. e.g. reference FASTA, GTF, blacklist, motif databases, FASTA index, bowtie index .',
help: 'Input reference genome files as defined. If some genome data are missing then analyses using such data will be skipped.'
},
input_genomic_data: {
title: 'Input FASTQ data',
description: 'Genomic input files for experiment.',
help: 'Input one or more sample data and/or SRA identifiers.'
},
analysis_parameter: {
title: 'Analysis parameter',
description: 'Analysis settings needed for experiment.',
help: 'Analysis settings; such output analysis file name.'
}
}
}
I think we hold off on implementing any meta
sorting until it's requested by users. Agree that this would need to be configurable, and I'd go further to say it should be off by default. This would potentially annoy users. So I don't see it as a very high priority to get implemented. I'd probably wait till a user asks for it to implement it.
Assuming none of these features are added to #133 which hasn't merged at time of writing:
Must haves
input:
items, have a single line representation and a multi-line representation. Currently we take a naive approach to this choice, where if there is only one item we go for a single-line representation, even if that single line gets interrupted into multiple lines. We should detect line splits and adapt accordingly.Maybe we should implement?
Below features are lower priority (if we even want them in the first place). They would potentially also be off by default, and entirely "opt-in".
meta
sections. This was proposed by @adthrasher and IDK the specifics of what this would look likerework how command text is processed
point in theMust have
list#
signs and text are separated by a space##
comments found outside of the preamble