SkillAgentSearch skills...

BioSampleManager

No description available

Install / Use

/learn @DeadpanZiao/BioSampleManager
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

LogoBioSampleManager

Fetch, process and manage metadata and data samples for following databases:

<img src="README/singlecelldb.png" alt="singlecelldb" style="zoom: 50%;" />

Installation

pip install -r requirements.txt

Usage

Fetchers -- Fetch meta data

# Fetch from Single Cell Portal
python cli.py fetch --database scp --output scp_data.json

# Fetch from Human Cell Atlas
python cli.py fetch --database hca --output hca_data.json

# Fetch from CellxGene
python cli.py fetch --database cxg --output cxg_data.json

Processors -- Alignment

python cli.py process \
    --source scp \
    --input scp_data.json \
    --output-dir output/processed \
    --database processed_data.db \
    --schema DBS/json_schema.xlsx \
    --api-url your-api-url \
    --api-key your-api-key \
    --model gpt-4o 

# Advanced usage with custom parameters
python cli.py process \
    --source hca \
    --input data/hca_metadata.json \
    --output-dir output/hca_processed \
    --database projects.db \
    --schema custom_schema.json \
    --api-url "https://custom-api.example.com/v1/" \
    --api-key "your-api-key" \
    --model "custom-model" \
    --batch-size 10 \
    --workers 8 \
    --log-file logs/processing.log

Downloaders -- Download samples

python cli.py download \
    --type scp \
    --database path/to/database.db \
    --table your_table \
    --save-dir test_downloader \
    --workers 1 \
    --timeout 7200 \
    --cookie path/to/cookie.json

Vanna -- Text to SQL

python cli.py retrieve \
	--query "What's the title corresponding to GSE204684? The column geo_ids may contain more than one ID." \
	--api-key "your_api_key" \
	--model "gpt-4o" \
	--db-path "path/to/your/xx.db" \
	--table "Sample"

MCP Intergration

MCP server

To start a local mcp server, run:

python -m mcp_server.py
[07/11/25 16:42:56] INFO     Starting MCP server                 server.py:1429
                             'BioSampleManager Server 🧬' with                 
                             transport 'http' on                               
                             http://127.0.0.1:8000/mcp 

MCP client

Here we use openai-agents as an example. See examples/mcp_demo/ for detail.

# linux or mac-os
export OPENAI_API_KEY='your api key'
# windows
$env:OPENAI_API_KEY='your api key'

python -m examples/mcp_demo/openai_agents.py

We get the following output:

I have several tools within the MCP functionalities. Here they are:

1. **init_controller**: Initialize the sample controller with a given database path.

2. **init_extractor**: Initialize the metadata extractor using specified details like API key and URL.

3. **init_vanna**: Initialize the Vanna wrapper with configurations like API key and model.

4. **download_data**: Download data from a specified source and save it in a designated directory.

5. **fetch_data**: Fetch data from a specified database and save it to an output path.

6. **process_metadata_batch**: Process metadata in batches with provided input paths and output directories.

7. **query_with_vanna**: Query the database using Vanna AI with a specific question and table. 

Do you need details or help using any of these tools?

Evaluation

pass

View on GitHub
GitHub Stars4
CategoryDevelopment
Updated9mo ago
Forks2

Languages

Python

Security Score

57/100

Audited on Jul 11, 2025

No findings