| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Parse GTF and GFF3 files — extract arbitrary fields, deduplicate, and convert to BED format. Pure Python, no external dependencies.
pip install -e .gtf-parser features genes.gtfgtf-parser attributes genes.gtf
gtf-parser attributes genes.gtf -t gene # restrict to "gene" featuresExtract any combination of main columns (seqname, source, feature, start, end, score, strand, frame) and annotation attribute keys. Output is deduplicated by default.
# Extract gene_id and gene_name for all "gene" features
gtf-parser extract genes.gtf -t gene -f gene_id gene_name
# Extract from all feature types, include coordinates
gtf-parser extract genes.gtf -f seqname start end gene_id transcript_id
# Write to a file instead of stdout
gtf-parser extract genes.gtf -t exon -f gene_id transcript_id exon_number -o exons.tsv
# Keep duplicates
gtf-parser extract genes.gtf -t exon -f gene_id --no-dedupConvert features of a given type to BED6 format. The name column is built from a configurable combination of attribute keys / columns.
# BED with name = gene_id|gene_name
gtf-parser bed genes.gtf gene -i gene_id gene_name
# Custom separator
gtf-parser bed genes.gtf exon -i gene_id transcript_id exon_number --id-separator ":"
# Write to file
gtf-parser bed genes.gtf transcript -i transcript_id -o transcripts.bedThe format is auto-detected from the first data line.
from gtf_parser.parser import parse
for record in parse("genes.gtf", feature_types={"gene"}):
print(record.seqname, record.get("gene_id"), record.get("gene_name"))from gtf_parser.extract import extract
extract("genes.gtf", fields=["gene_id", "gene_name"], feature_types={"gene"})from gtf_parser.bed import to_bed
to_bed("genes.gtf", feature_type="gene", id_fields=["gene_id", "gene_name"])With help from Claude Opus 4.6.
| Back | FazBrowse Home | New Git URL |