This reference covers file formats used in genomics, transcriptomics, sequence analysis, and related bioinformatics applications.
Description: Text-based format for nucleotide or protein sequences Typical Data: DNA, RNA, or protein sequences with headers Use Cases: Sequence storage, BLAST searches, alignments Python Libraries:
Biopython: SeqIO.parse('file.fasta', 'fasta')pyfaidx: Fast indexed FASTA accessscreed: Fast sequence parsing
EDA Approach:Description: Sequence data with base quality scores Typical Data: Raw sequencing reads with Phred quality scores Use Cases: NGS data, quality control, read mapping Python Libraries:
Biopython: SeqIO.parse('file.fastq', 'fastq')pysam: Fast FASTQ/BAM operationsHTSeq: Sequencing data analysis
EDA Approach:Description: Tab-delimited text format for alignments Typical Data: Aligned sequencing reads with mapping quality Use Cases: Read alignment storage, variant calling Python Libraries:
pysam: pysam.AlignmentFile('file.sam', 'r')HTSeq: HTSeq.SAM_Reader('file.sam')
EDA Approach:Description: Compressed binary version of SAM Typical Data: Aligned reads in compressed format Use Cases: Efficient storage and processing of alignments Python Libraries:
pysam: Full BAM support with indexingbamnostic: Pure Python BAM reader
EDA Approach:Description: Highly compressed alignment format Typical Data: Reference-compressed aligned reads Use Cases: Long-term storage, space-efficient archives Python Libraries:
pysam: CRAM support (requires reference)Description: Tab-delimited format for genomic features Typical Data: Genomic intervals (chr, start, end) with annotations Use Cases: Peak calling, variant annotation, genome browsing Python Libraries:
pybedtools: pybedtools.BedTool('file.bed')pyranges: pyranges.read_bed('file.bed')pandas: Simple BED reading
EDA Approach:Description: BED format with per-base signal values Typical Data: Continuous-valued genomic data (coverage, signals) Use Cases: Coverage tracks, ChIP-seq signals, methylation Python Libraries:
pyBigWig: Can convert to bigWigpybedtools: BedGraph operations
EDA Approach:Description: Indexed binary format for genome-wide signal data Typical Data: Continuous genomic signals (compressed and indexed) Use Cases: Efficient genome browser tracks, large-scale data Python Libraries:
pyBigWig: pyBigWig.open('file.bw')pybbi: BigWig/BigBed interface
EDA Approach:Description: Indexed binary BED format Typical Data: Genomic features (compressed and indexed) Use Cases: Large feature sets, genome browsers Python Libraries:
pybbi: BigBed readingpybigtools: Modern BigBed interface
EDA Approach:Description: Tab-delimited format for genomic annotations Typical Data: Gene models, transcripts, exons, regulatory elements Use Cases: Genome annotation, gene prediction Python Libraries:
BCBio.GFF: Biopython GFF modulegffutils: gffutils.create_db('file.gff3')pyranges: GFF support
EDA Approach:Description: GFF2-based format for gene annotations Typical Data: Gene and transcript annotations Use Cases: RNA-seq analysis, gene quantification Python Libraries:
pyranges: pyranges.read_gtf('file.gtf')gffutils: GTF database creationHTSeq: GTF reading for counts
EDA Approach:Description: Text format for genetic variants Typical Data: SNPs, indels, structural variants with annotations Use Cases: Variant calling, population genetics, GWAS Python Libraries:
pysam: pysam.VariantFile('file.vcf')cyvcf2: Fast VCF parsingPyVCF: Older but comprehensive
EDA Approach:Description: Compressed binary variant format Typical Data: Same as VCF but binary Use Cases: Efficient variant storage and processing Python Libraries:
pysam: Full BCF supportcyvcf2: Optimized BCF reading
EDA Approach:Description: VCF with reference confidence blocks Typical Data: All positions (variant and non-variant) Use Cases: Joint genotyping workflows, GATK Python Libraries:
pysam: GVCF supportDescription: Tab-delimited gene expression counts Typical Data: Gene IDs with read counts per sample Use Cases: RNA-seq quantification, differential expression Python Libraries:
pandas: pd.read_csv('file.counts', sep='\t')scanpy (for single-cell): sc.read_csv()
EDA Approach:Description: Normalized gene expression values Typical Data: TPM (transcripts per million) or FPKM values Use Cases: Cross-sample comparison, visualization Python Libraries:
pandas: Standard CSV readinganndata: For integrated analysis
EDA Approach:Description: Sparse matrix format (common in single-cell) Typical Data: Sparse count matrices (cells × genes) Use Cases: Single-cell RNA-seq, large sparse matrices Python Libraries:
scipy.io: scipy.io.mmread('file.mtx')scanpy: sc.read_mtx('file.mtx')
EDA Approach:Description: HDF5-based annotated data matrix Typical Data: Expression matrix with metadata (cells, genes) Use Cases: Single-cell RNA-seq analysis with Scanpy Python Libraries:
scanpy: sc.read_h5ad('file.h5ad')anndata: Direct AnnData manipulation
EDA Approach:Description: HDF5-based format for omics data Typical Data: Expression matrices with metadata Use Cases: Single-cell data, RNA velocity analysis Python Libraries:
loompy: loompy.connect('file.loom')scanpy: Can import loom files
EDA Approach:Description: R object storage (often Seurat objects) Typical Data: R analysis results, especially single-cell Use Cases: R-Python data exchange Python Libraries:
pyreadr: pyreadr.read_r('file.rds')rpy2: For full R integrationDescription: Text format for multiple sequence alignments Typical Data: Genome-wide or local multiple alignments Use Cases: Comparative genomics, conservation analysis Python Libraries:
Biopython: AlignIO.parse('file.maf', 'maf')bx-python: MAF-specific tools
EDA Approach:Description: Pairwise alignment format (UCSC) Typical Data: Pairwise genomic alignments Use Cases: Genome comparison, synteny analysis Python Libraries:
bx-python: AXT support
EDA Approach:Description: Genome coordinate mapping chains Typical Data: Coordinate transformations between genome builds Use Cases: Liftover, coordinate conversion Python Libraries:
pyliftover: Chain file usageDescription: BLAT/BLAST alignment format Typical Data: Alignment results from BLAT Use Cases: Transcript mapping, similarity searches Python Libraries:
pybedtools: Can handle PSL
EDA Approach:Description: Assembly structure description Typical Data: Scaffold composition, gap information Use Cases: Genome assembly representation Python Libraries:
Description: Assembled sequences (usually FASTA) Typical Data: Assembled genomic sequences Use Cases: Genome assembly output Python Libraries:
Description: UCSC compact genome format Typical Data: Reference genomes (highly compressed) Use Cases: Efficient genome storage and access Python Libraries:
py2bit: py2bit.open('file.2bit')twobitreader: Alternative reader
EDA Approach:Description: Simple format with chromosome lengths Typical Data: Tab-delimited chromosome names and sizes Use Cases: Genome browsers, coordinate validation Python Libraries:
Description: Parenthetical tree representation Typical Data: Phylogenetic trees with branch lengths Use Cases: Evolutionary analysis, tree visualization Python Libraries:
Biopython: Phylo.read('file.nwk', 'newick')ete3: ete3.Tree('file.nwk')dendropy: Phylogenetic computing
EDA Approach:Description: Rich format for phylogenetic data Typical Data: Alignments, trees, character matrices Use Cases: Phylogenetic software interchange Python Libraries:
Biopython: Nexus supportdendropy: Comprehensive Nexus handling
EDA Approach:Description: Sequence alignment format (strict/relaxed) Typical Data: Multiple sequence alignments Use Cases: Phylogenetic analysis input Python Libraries:
Biopython: AlignIO.read('file.phy', 'phylip')dendropy: PHYLIP support
EDA Approach:Description: Output from PAML phylogenetic software Typical Data: Evolutionary model results, dN/dS ratios Use Cases: Molecular evolution analysis Python Libraries:
Biopython: Basic PAML parsing
EDA Approach:Description: Rich sequence annotation format Typical Data: Sequences with extensive annotations Use Cases: Sequence databases, genome records Python Libraries:
Biopython: SeqIO.read('file.embl', 'embl')
EDA Approach:Description: NCBI's sequence annotation format Typical Data: Annotated sequences with features Use Cases: Sequence databases, annotation transfer Python Libraries:
Biopython: SeqIO.parse('file.gb', 'genbank')
EDA Approach:Description: 454/Roche sequencing data format Typical Data: Raw pyrosequencing flowgrams Use Cases: Legacy 454 sequencing data Python Libraries:
Biopython: SeqIO.parse('file.sff', 'sff')Description: HDF5 for genomics (10X, Hi-C, etc.) Typical Data: High-throughput genomics data Use Cases: 10X Genomics, spatial transcriptomics Python Libraries:
h5py: Low-level accessscanpy: For 10X datacooler: For Hi-C data
EDA Approach:Description: HDF5-based Hi-C contact matrices Typical Data: Chromatin interaction matrices Use Cases: 3D genome analysis, Hi-C data Python Libraries:
cooler: cooler.Cooler('file.cool')hicstraw: For .hic format
EDA Approach:Description: Juicer binary Hi-C format Typical Data: Multi-resolution Hi-C matrices Use Cases: Hi-C analysis with Juicer tools Python Libraries:
hicstraw: hicstraw.HiCFile('file.hic')straw: C++ library with Python bindings
EDA Approach:Description: BigWig files for epigenomics Typical Data: Coverage or enrichment signals Use Cases: ChIP-seq, ATAC-seq, DNase-seq Python Libraries:
pyBigWig: Standard bigWig access
EDA Approach:Description: BED-based formats for peaks Typical Data: Peak calls with scores and p-values Use Cases: ChIP-seq peak calling output Python Libraries:
pybedtools: BED-compatibleDescription: Dense continuous genomic data Typical Data: Coverage or signal tracks Use Cases: Genome browser visualization Python Libraries:
pyBigWig: Can convert to bigWigDescription: Binary chromatogram format Typical Data: Sanger sequencing traces Use Cases: Capillary sequencing validation Python Libraries:
Biopython: SeqIO.read('file.ab1', 'abi')tracy tools: For quality assessment
EDA Approach:Description: Sanger sequencing chromatogram Typical Data: Base calls and confidence values Use Cases: Sequencing trace analysis Python Libraries:
Biopython: SCF format support
EDA Approach:Description: Index files for various formats Typical Data: Fast random access indices Use Cases: Efficient data access (BAM, VCF, etc.) Python Libraries:
pysam: Auto-handles BAI, CSI indices
EDA Approach: