Add option for csv input format

This commit is contained in:
Eric Coissac
2025-03-08 07:21:24 +01:00
parent fbe7d15dc3
commit 706b44c37f
3 changed files with 15 additions and 1 deletions

View File

@ -8,7 +8,7 @@ import (
// corresponds to the last commit, and not the one when the file will be
// commited
var _Commit = "b5cf586"
var _Commit = "fbe7d15"
var _Version = "Release 4.4.0"
// Version returns the version of the obitools package.

View File

@ -23,6 +23,7 @@ var __input_embl_format__ = false
var __input_genbank_format__ = false
var __input_fastq_format__ = false
var __input_fasta_format__ = false
var __input_csv_format__ = false
var __output_in_fasta__ = false
var __output_in_fastq__ = false
@ -65,6 +66,9 @@ func InputOptionSet(options *getoptions.GetOpt) {
options.BoolVar(&__input_fasta_format__, "fasta", __input_fasta_format__,
options.Description("Read data following the fasta format."))
options.BoolVar(&__input_csv_format__, "csv", __input_csv_format__,
options.Description("Read data following the CSV format."))
options.BoolVar(&__no_ordered_input__, "no-order", __no_ordered_input__,
options.Description("When several input files are provided, "+
"indicates that there is no order among them."))
@ -139,6 +143,8 @@ func CLIInputFormat() string {
return "embl"
case __input_genbank_format__:
return "genbank"
case __input_csv_format__:
return "csv"
default:
return "guessed"
}

View File

@ -126,6 +126,12 @@ func CLIReadBioSequences(filenames ...string) (obiiter.IBioSequence, error) {
iterator, err = obiformats.ReadEMBL(os.Stdin, opts...)
case "genbank":
iterator, err = obiformats.ReadGenbank(os.Stdin, opts...)
case "fasta":
iterator, err = obiformats.ReadFasta(os.Stdin, opts...)
case "fastq":
iterator, err = obiformats.ReadFastq(os.Stdin, opts...)
case "csv":
iterator, err = obiformats.ReadCSV(os.Stdin, opts...)
default:
iterator = obiformats.ReadFastSeqFromStdin(opts...)
}
@ -146,6 +152,8 @@ func CLIReadBioSequences(filenames ...string) (obiiter.IBioSequence, error) {
reader = obiformats.ReadFastqFromFile
case "fasta":
reader = obiformats.ReadFastaFromFile
case "csv":
reader = obiformats.ReadCSVFromFile
case "ecopcr":
reader = obiformats.ReadEcoPCRFromFile
case "embl":