BfxPM: Bioinformatician's 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.
🚀 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.
🤖 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.
🛠️ Installation
Prerequisites
- Python 3.13+ (Recommended)
- Conda (Optional, for
bfxpm envfeatures)
via Pip
pip install bfxpm
via Conda
conda install jd2112::bfxpm
📖 Quick Start
Starting BfxPM Start using
bfxpmorbfxpm --helpto see all the available commands.
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/bfxpm.git
cd bfxpm
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
Metadata
Release files for bfxpm 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bfxpm-1.0.1.tar.gz | 91.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bfxpm-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 203.3 kB
Release files / bfxpm-1.0.1.tar.gz
| Download URL | bfxpm-1.0.1.tar.gz |
|---|---|
| Size | 91.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
caf6dc6c89400d806b7ebb95e972a2198b734eff256cecc5d639e0b00b34f4bf
|
|
BLAKE2b-256 checksum How to use checksums |
469b320bae8330f36cafdbe0e4abc534c23c6719a7e9ec540bb5cbb29a6f12c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / bfxpm-1.0.1-py3-none-any.whl
| Download URL | bfxpm-1.0.1-py3-none-any.whl |
|---|---|
| Size | 111.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
039bda696f73c3dc0f52ee0dfbfb3f5d1a78e840b8e59b14c67243d054dd9a8b
|
|
BLAKE2b-256 checksum How to use checksums |
65bbe272680490a2769ca1a245bcd99a76bc9c7c083a854c36a61ab744b10680
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|