0.0.11 • Published 10 months ago
@lipme/ts-biofiledetector v0.0.11
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 :
- OrthoFinder
- InterProScan
- Nicknames
- Xref (a simple minimalist query/target table with additionnal columns)
- PAF
- Differential Gene Expression Table
- 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', 'of', 'attributes'],
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|xref|paf|dge",
category: "table|alignment",
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 sebastien.carrere@inrae.fr