Repository navigation
FAQ
Short answers first. Follow the linked concept pages when the reason affects a pipeline decision.
No. Run z-fasta index <file> first. Automatic index creation is outside the current command contract.
I recommend .zfi for z-fasta. Use .fai when another tool requires the standard text format and the FASTA has fixed line geometry. See Index formats.
A present .zfi is authoritative. If it is stale or corrupt, z-fasta does not fall back to .fai.
Positional GET is 1-based inclusive. BED is 0-based half-open. Output FASTA headers are 1-based inclusive.
GET clamps the extracted bytes but preserves the requested end in the header for samtools-faidx compatibility.
Yes. Only a valid decimal range after the rightmost colon is treated as coordinates. Use --names when a literal identifier itself ends in range syntax.
No. Index lookup and GET output use the identifier before the first space or tab.
Indexing keeps every non-empty record, duplicates included, and stats counts them all. GET returns the first exact match. Validate reports duplicates as errors.
Validate warns. Index skips them. Stats and GET therefore operate on a population that excludes empty records.
Yes through default .zfi side tables. .fai emission rejects it.
Yes when no blocking finding prevents repair. Every record is rewrapped at --width symbols per line (default 60).
No. It keeps every symbol in order and drops only what is not a symbol: spaces and tabs in sequence lines, blank lines, CR line ends, and a leading BOM. It does not replace invalid characters or invent bases. Use a strict post-fix validation as the gate.
No. It requires -o and refuses a destination that resolves to the input.
No. FASTQ is coming as a separate project, z-fastq, built around the same priorities: speed, low memory use, and portability.
No. Current input is uncompressed FASTA only. I have not invested the time required to optimize deflate or write a separate decompressor for this project.
No. I would like to support Windows properly, but keeping native builds reliable currently takes more time than I can justify. For now, use the Linux release through Windows Subsystem for Linux. I am sorry for the extra step.
No. GET uses the BED chromosome, start, end, and optional strand. It does not concatenate BED12 blocks.
The requested sample classified as protein. Complement-based transforms are nucleotide-only. Reverse-only is still available.
Case-insensitive IUPAC nucleotide symbols must be strictly more than 90 percent of counted symbols. Stats uses the full indexed population, validate samples the first 100000 symbols unless --type names the alphabet, and GET samples up to 256 requested bases per record for complement eligibility.
Yes, use --names - or --bed -.
No. GET can write earlier valid records before a later names or BED request fails. Index .fai emission uses a spool and does not replay a partial scan.
Stderr after successful stdout output. It is suppressed on failure.
Include version, platform, command, status, stdout, stderr, sidecar names, and a minimized non-sensitive fixture. Never attach private biological data to a public report.
z-fasta v0.4.0 | Home | Quick start | Cheat sheet | Troubleshooting | Releases | MIT License
z-fasta Wiki
Start
Use z-fasta
Understand behavior
- Index formats
- Coordinates and names
- Limits and supported formats
- Performance and correctness
- Tool comparison
Solve a problem
Contribute