BfxPM: Bioinformatician’s Project Manager for reproducible workflows.
Project description
BfxPM: Bioinformatics Project Manager
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.
🤖 New: Agentic AI Integration
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.
🚀 Key Features
📂 Professional Scaffolding
- 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.
🔄 Intelligent Organization & Mapping
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.
🧬 Bioinformatics Toolset
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.
🛡️ Data Integrity & Publication
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.
🛠️ Installation
Prerequisites
- Python 3.13+ (Recommended)
- Conda (Optional, for
bfxpm envfeatures)
via Pip
pip install bfxpm-bio
via Conda
conda install -c bioconda bfxpm
📖 Quick Start
1. Initialize a "Gold Standard" project:
bfxpm init
2. 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 folders
4. 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 session
🏢 Architecture & Development
Project Structure
BfxPM 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.
Developer Environment
To set up for contributions:
git clone https://github.com/jyoda68/bioinformatics_project_manager.git
cd bioinformatics_project_manager
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
📄 License & Attribution
Licensed under the MIT License. See LICENSE for details. Developed and maintained by Jyotirmoy Das.
Developer's Notes
- 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bfxpm-1.0.0.tar.gz.
File metadata
- Download URL: bfxpm-1.0.0.tar.gz
- Upload date:
- Size: 91.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65fca16bad29170fbec17718f261bed91098d7a987238cb10a89d06eeb3a4a48
|
|
| MD5 |
14abeae24c0ba906d4fceb0968aba700
|
|
| BLAKE2b-256 |
499aafc6e9d035bf35ebe6875cce199eca97120cee39c95ceed89492087cc9cf
|
File details
Details for the file bfxpm-1.0.0-py3-none-any.whl.
File metadata
- Download URL: bfxpm-1.0.0-py3-none-any.whl
- Upload date:
- Size: 111.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96f70dafce7afd9ceb8225e4a4dc3a663911471ebaa1ec81c11c3ee1eeca89f1
|
|
| MD5 |
3d02c6b716b24742381ffdc30c9b7fce
|
|
| BLAKE2b-256 |
8aca751686df46923cd317d80552ed1aefb91c8f502f91e946c05d4ef0474e74
|