BfxPM is a professional-grade CLI ecosystem designed for the high-throughput, data-heavy workflows of modern computational biology. It transforms messy research directories into standardized, FAIR-compliant project structures, while providing an Agentic AI layer to assist with complex bioinformatic tasks.
- FAIR Compliance: Instantly scaffold projects with
CONTRIBUTING.md,CITATION.cff,LICENSE, and standard GitHub Action workflows. - MkDocs Ready: One-command generation of a complete documentation suite (
docs/,mkdocs.yml). - Scientific Attribution: Auto-populates metadata with your ORCID ID and project specifics.
bfxpm organize: A specialized detection engine that routes sequences, alignments, and reports (PDF/HTML) into dedicated subfolders (results/reportsvsresults/figures).- Outside-In Vacuum: Run organization from a parent folder to "vacuum" messy files into your project structure.
bfxpm map --rollback: Take immutable snapshots of your project state and revert instantly.
bfxpm env: Standardized environment management for common bioinformatic stacks.bfxpm pipeline: Scaffold analysis pipelines specifically for Nextflow and Snakemake.bfxpm fetch: Intelligent data retrieval and routing from external biological repositories.bfxpm tree: A high-performance scientific tree viewer with pager support and hidden file toggles.
bfxpm checksum: Full manifest management to detect bit-rot in massive datasets.bfxpm flow: Record interactive terminal sessions into reproducible shell scripts.bfxpm deposit: One-command preparation for deposition to Zenodo, FigShare, and Dryad.
BfxPM now features a built-in BioAssistant powered by SmolAgents and the Gemini 1.5 Pro/Flash SDK.
bfxpm ai chat: Interactive, project-aware assistant that understands your directory structure and data types.- Transparent Reasoning: Real-time "Internal Thoughts" display shows the agent's logic before it acts.
- Safety Interceptor: Automatically intercepts destructive commands (like
rm), creates timestamped backups in.bfxpm/backups/, and requires manual confirmation. - Local & Cloud Flexibility: Configure via
bfxpm ai setupto use either local (Ollama) or cloud models.
- Python 3.13+ (Recommended)
- Conda (Optional, for
bfxpm envfeatures)
pip install bfxpmconda install jd2112::bfxpm1. Initialize a "Gold Standard" project:
bfxpm init2. Interact with your BioAssistant:
bfxpm ai setup # Configure your API keys
bfxpm ai chat # "How should I structure my differential expression analysis?"3. Clean up the "Mess":
bfxpm organize # Automatically routes files and asks about unknown folders4. Visualize & Document:
bfxpm tree --all # View all files including hidden .git/
bfxpm report # Generate a comprehensive project status report
bfxpm exit # Safely exit the BfxPM sessionBfxPM follows a modular, production-grade architecture:
src/bfxpm/agents/: AI agent logic and safety interceptors.src/bfxpm/commands/: Individual CLI command modules.scripts/publish.py: One-touch interactive publishing to PyPI and Anaconda.
To set up for contributions:
git clone https://github.com/jyoda68/bfxpm.git
cd bfxpm
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"Licensed under the MIT License. See LICENSE for details. Developed and maintained by Jyotirmoy Das.
- Python 3.13 Upgrade: Migrated to Python 3.13 to leverage the latest performance improvements and resolver features.
- SDK Transition: Switched to the
google-genaiunified SDK for more robust Gemini integrations. - Safety First: Destructive command interception is now a core part of the codebase to prevent accidental data loss in large-scale bioinformatic projects.
Developed with β€οΈ for Bioinformaticians by a Bioinformatician
