tcga-downloader/examples/batch_query.py
yunpeng.zhang a01a59b371
Some checks failed
CI / Lint (push) Failing after 9m32s
CI / Test (3.11) (push) Successful in 6m41s
CI / Test (3.12) (push) Successful in 4m21s
feat: add interactive cli
2026-02-09 13:13:39 +08:00

49 lines
1.1 KiB
Python
Executable File

#!/usr/bin/env python3
"""
Example: Query multiple TCGA projects at once.
"""
from pathlib import Path
from tcga_downloader.manifest import (
ManifestRecord,
format_manifest_stats,
get_manifest_stats,
write_manifest,
)
from tcga_downloader.query import query_multiple_projects
def main():
projects = ["TCGA-BRCA", "TCGA-LUAD", "TCGA-COAD"]
data_type = "Gene Expression"
manifest_path = Path("multi_project_manifest.tsv")
print(f"Querying {len(projects)} projects: {', '.join(projects)}...")
print(f"Data type: {data_type}")
hits = query_multiple_projects(projects, data_type)
records = [
ManifestRecord(
file_id=h["file_id"],
file_name=h["file_name"],
data_type=h["data_type"],
data_format=h["data_format"],
size=int(h["file_size"]),
md5=h["md5sum"],
)
for h in hits
]
write_manifest(records, manifest_path, fmt="tsv")
stats = get_manifest_stats(records)
print("\nManifest Statistics:")
print(format_manifest_stats(stats))
if __name__ == "__main__":
main()