@lipme/ts-biofiledetector
v0.0.18
Published
A set of function to detect bioinformatics file types (bam, gff3, bed, vcf, tsv, bigwig)
Readme
TS-BIOFILEDETECTOR
Overview
A set of function to predict file formats
Formats included:
- Fasta (proteic/nucleic)
- GFF3 (annotation/alignment)
- BED
- VCF
- TSV, with specific typing of :
- BAM
- BigWig
Installation
npm i @lipme/ts-biofiledetectorUsage
import { getFileFormat } from "@lipme/ts-biofiledetector";Output
- Fasta
{
format: "fasta",
valid: true|false,
metadata: {
type: "dna|protein",
category: "sequence",
seqids: ['list','of','seqids']
error?: { 'errorType' : ['list', 'of', 'erroneous', 'lines']}
}
}- GFF3
{
format: "gff3",
valid: true|false,
metadata: {
type: "annotation|alignment",
category: "annotation|alignment",
seqids: ['list','of','seqids'],
features: ['list', 'of', 'features'],
attributes: {'list' : 'cardinality', 'of' : 'cardinality', 'attributes' : 'cardinality'},
error?: { 'errorType' : ['list', 'of', 'erroneous', 'lines']}
}
}- BED
{
format: "bed",
valid: true|false,
metadata: {
type: "bed3|bed4|bed6|bed9|bed12",
category: "annotation",
seqids: ['list','of','seqids'],
columns: "numberOfColumns",
withBrowser: true|false, //browser line found
withTrack: true|false, //track line found
error?: { 'errorType' : ['list', 'of', 'erroneous', 'lines']}
}
}- VCF
{
format: "vcf",
valid: true|false,
metadata: {
type: "VCFversion",
category: "polymorphism",
seqids: ['list','of','seqids'],
samples: ['list','of','samples'],
fields: {'INFO', 'and', 'FORMAT', 'metadata'}
error?: { 'errorType' : ['list', 'of', 'erroneous', 'lines']}
}
}- TSV
{
format: "tsv",
valid: true|false,
metadata: {
type: "tsvX|orthofinder|interproscan|nicknames",
category: "table",
columns: "numberOfColumns",
lines: "numberOfLines",
explicitHeader: true|false, //true if first line stars with '#'
header:: ['list','of','field','names'],
error?: { 'errorType' : ['list', 'of', 'erroneous', 'lines']}
}
}- BAM
{
format: "bam",
valid: true,
metadata: {
type: "alignment",
category: "alignment",
seqids: ['list', 'of', 'seqids'], // @SQ lines
programs: ['list', 'of', 'programs'] //@PG lines
}
}- BigWig
{
format: "bigwig",
valid: true,
metadata: {
type: "quantitative",
category: "quantitative",
seqids: ['list', 'of', 'seqids'], // @SQ lines
version: 'bigwigVersion'
}
}License
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
Contact
For questions or feedback, please open an issue or contact us at [email protected]
