@@ -157,7 +157,12 @@ async def save_upload_file_temp(upload_file: UploadFile) -> Path:
157157@app .post (
158158 "/ingest_vcf" ,
159159 summary = "Upload and ingest VCF file" ,
160- description = "Upload a compressed VCF file (.vcf.gz) to register variants and store allele frequency data" ,
160+ description = (
161+ "Upload a compressed VCF file (.vcf.gz) to register variants and store allele frequency data. "
162+ "**Requirements:** File must be gzip-compressed (.vcf.gz), contain required INFO fields "
163+ "(AC, AN, AC_Het, AC_Hom, AC_Hemi), and be under 5GB. "
164+ "Processing is synchronous with a 30-minute timeout."
165+ ),
161166 tags = [EndpointTag .SEARCH ],
162167 response_model = VcfIngestionResponse ,
163168)
@@ -171,8 +176,11 @@ async def ingest_vcf_endpoint(
171176) -> VcfIngestionResponse :
172177 """Upload and ingest a VCF file with allele frequency data.
173178
179+ Requirements: .vcf.gz format, <5GB, INFO fields (AC, AN, AC_Het, AC_Hom, AC_Hemi).
180+ Synchronous processing with 30-minute timeout. Variants batched in groups of 1000.
181+
174182 :param request: FastAPI request object
175- :param file: uploaded VCF file (must be .vcf.gz)
183+ :param file: uploaded VCF file
176184 :param assembly: reference assembly used in VCF
177185 :return: ingestion status response
178186 """
0 commit comments