Adds a JSON output format

Former-commit-id: 26f07460772c0f735bf705d473f892878d3e57f0
This commit is contained in:
2023-11-07 11:56:49 +02:00
parent 61c30f9b6a
commit 185b974d13
5 changed files with 254 additions and 5 deletions

View File

@@ -18,6 +18,7 @@ var __input_genbank_format__ = false
var __output_in_fasta__ = false
var __output_in_fastq__ = false
var __output_in_json__ = false
var __output_fastjson_format__ = false
var __output_fastobi_format__ = false
@@ -77,10 +78,13 @@ func OutputModeOptionSet(options *getoptions.GetOpt) {
func OutputOptionSet(options *getoptions.GetOpt) {
options.BoolVar(&__output_in_fasta__, "fasta-output", false,
options.Description("Read data following the ecoPCR output format."))
options.Description("Write sequence in fasta format (default if no quality data available)."))
options.BoolVar(&__output_in_fastq__, "fastq-output", false,
options.Description("Read data following the EMBL flatfile format."))
options.Description("Write sequence in fastq format (default if quality data available)."))
options.BoolVar(&__output_in_json__, "json-output", false,
options.Description("Write sequence in json format."))
options.BoolVar(&__output_fastjson_format__, "output-json-header", false,
options.Description("output FASTA/FASTQ title line annotations follow json format."))
@@ -130,6 +134,8 @@ func CLIOutputFormat() string {
return "fastq"
case __output_in_fasta__:
return "fasta"
case __output_in_json__:
return "json"
default:
return "guessed"
}

View File

@@ -87,6 +87,8 @@ func CLIWriteBioSequences(iterator obiiter.IBioSequence,
newIter, err = obiformats.WriteFastqToFile(iterator, fn, opts...)
case "fasta":
newIter, err = obiformats.WriteFastaToFile(iterator, fn, opts...)
case "json":
newIter, err = obiformats.WriteJSONToFile(iterator, fn, opts...)
default:
newIter, err = obiformats.WriteSequencesToFile(iterator, fn, opts...)
}
@@ -97,6 +99,8 @@ func CLIWriteBioSequences(iterator obiiter.IBioSequence,
newIter, err = obiformats.WriteFastqToStdout(iterator, opts...)
case "fasta":
newIter, err = obiformats.WriteFastaToStdout(iterator, opts...)
case "json":
newIter, err = obiformats.WriteJSONToStdout(iterator, opts...)
default:
newIter, err = obiformats.WriteSequencesToStdout(iterator, opts...)
}