{"openapi":"3.1.0","info":{"title":"EBV Genome Atlas API","description":"EBV 全基因组数据库 REST API：查询基因、变异位点、疾病三轴配方、位点频率、SHAP 明细与下载。数据：1,202 例 EBV 全基因组、8,306 分型位点、211 三轴机制位点。","version":"0.1.0"},"paths":{"/api/cross_disease":{"get":{"tags":["features-v2"],"summary":"Cross Disease","operationId":"cross_disease_api_cross_disease_get","parameters":[{"name":"d1","in":"query","required":true,"schema":{"type":"string","title":"D1"}},{"name":"d2","in":"query","required":true,"schema":{"type":"string","title":"D2"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/cross_gene":{"get":{"tags":["features-v2"],"summary":"Cross Gene","operationId":"cross_gene_api_cross_gene_get","parameters":[{"name":"g1","in":"query","required":true,"schema":{"type":"string","title":"G1"}},{"name":"g2","in":"query","required":true,"schema":{"type":"string","title":"G2"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/encyclopedia/axes":{"get":{"tags":["features-v2"],"summary":"Encyclopedia Axes","operationId":"encyclopedia_axes_api_encyclopedia_axes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/encyclopedia/axis/{axis}":{"get":{"tags":["features-v2"],"summary":"Encyclopedia Axis","operationId":"encyclopedia_axis_api_encyclopedia_axis__axis__get","parameters":[{"name":"axis","in":"path","required":true,"schema":{"type":"string","title":"Axis"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/encyclopedia/disease/{name}":{"get":{"tags":["features-v2"],"summary":"Encyclopedia Disease","operationId":"encyclopedia_disease_api_encyclopedia_disease__name__get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/gene/{name}/dashboard":{"get":{"tags":["features-v2"],"summary":"Gene Dashboard","operationId":"gene_dashboard_api_gene__name__dashboard_get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api":{"get":{"summary":"Root","operationId":"root_api_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/register":{"post":{"summary":"Register","operationId":"register_api_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterReq"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/message":{"post":{"summary":"Post Message","operationId":"post_message_api_message_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageReq"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/submit":{"post":{"summary":"Submit Data","operationId":"submit_data_api_submit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitReq"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/login":{"post":{"summary":"Login","operationId":"login_api_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginReq"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/me":{"get":{"summary":"Me","operationId":"me_api_me_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"authorization","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/users":{"get":{"summary":"Admin Users","operationId":"admin_users_api_admin_users_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/approve/{user_id}":{"post":{"summary":"Admin Approve","operationId":"admin_approve_api_admin_approve__user_id__post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}},{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/submissions":{"get":{"summary":"Admin Submissions","operationId":"admin_submissions_api_admin_submissions_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/submission/{sid}/{action}":{"post":{"summary":"Admin Submission Action","operationId":"admin_submission_action_api_admin_submission__sid___action__post","parameters":[{"name":"sid","in":"path","required":true,"schema":{"type":"integer","title":"Sid"}},{"name":"action","in":"path","required":true,"schema":{"type":"string","title":"Action"}},{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/reject/{user_id}":{"post":{"summary":"Admin Reject","operationId":"admin_reject_api_admin_reject__user_id__post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}},{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/gene/{name}":{"get":{"summary":"Get Gene","operationId":"get_gene_api_gene__name__get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/variant":{"get":{"summary":"Get Variant","operationId":"get_variant_api_variant_get","parameters":[{"name":"gene","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gene"}},{"name":"axis","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Axis"}},{"name":"impact","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Impact"}},{"name":"functional_class","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Functional Class"}},{"name":"selection","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Selection"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":5000,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/variant/{position}":{"get":{"summary":"Variant Detail","operationId":"variant_detail_api_variant__position__get","parameters":[{"name":"position","in":"path","required":true,"schema":{"type":"integer","title":"Position"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/gene/{name}/variants":{"get":{"summary":"Gene Variants","operationId":"gene_variants_api_gene__name__variants_get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/disease":{"get":{"summary":"Get Disease","operationId":"get_disease_api_disease_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/freq":{"get":{"summary":"Get Freq","operationId":"get_freq_api_freq_get","parameters":[{"name":"variant_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Variant Id"}},{"name":"position","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/shap":{"get":{"summary":"Get Shap","operationId":"get_shap_api_shap_get","parameters":[{"name":"disease","in":"query","required":true,"schema":{"type":"string","title":"Disease"}},{"name":"top_n","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":20,"title":"Top N"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/download/{table}":{"get":{"summary":"Download","operationId":"download_api_download__table__get","parameters":[{"name":"table","in":"path","required":true,"schema":{"type":"string","title":"Table"}},{"name":"fmt","in":"query","required":false,"schema":{"type":"string","pattern":"^(csv|tsv)$","default":"csv","title":"Fmt"}},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"authorization","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/download_all":{"get":{"summary":"Download All","operationId":"download_all_api_download_all_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"authorization","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/axis_radar":{"get":{"summary":"Axis Radar","operationId":"axis_radar_api_axis_radar_get","parameters":[{"name":"disease","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Disease"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/heatmap":{"get":{"summary":"Heatmap","operationId":"heatmap_api_heatmap_get","parameters":[{"name":"n","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":5,"default":30,"title":"N"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/statistics":{"get":{"summary":"Statistics","operationId":"statistics_api_statistics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/genome":{"get":{"summary":"Genome","operationId":"genome_api_genome_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/tree":{"get":{"summary":"Tree","operationId":"tree_api_tree_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/visits":{"get":{"summary":"Visits","operationId":"visits_api_visits_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/dnds":{"get":{"summary":"Get Dnds","operationId":"get_dnds_api_dnds_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/samples":{"get":{"summary":"Get Samples","operationId":"get_samples_api_samples_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Page Size"}},{"name":"disease","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Disease"}},{"name":"region","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/latest_sra":{"get":{"summary":"Latest Sra","operationId":"latest_sra_api_latest_sra_get","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Force"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/monitoring":{"get":{"summary":"Monitoring","operationId":"monitoring_api_monitoring_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/knowledge":{"get":{"summary":"Knowledge","operationId":"knowledge_api_knowledge_get","parameters":[{"name":"axis","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Axis"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/knowledge_graph":{"get":{"summary":"Knowledge Graph","operationId":"knowledge_graph_api_knowledge_graph_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/predict":{"post":{"summary":"Predict","operationId":"predict_api_predict_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictReq"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LoginReq":{"properties":{"username":{"type":"string","title":"Username"},"password":{"type":"string","title":"Password"}},"type":"object","required":["username","password"],"title":"LoginReq"},"MessageReq":{"properties":{"name":{"type":"string","title":"Name","default":""},"email":{"type":"string","title":"Email","default":""},"content":{"type":"string","title":"Content"}},"type":"object","required":["content"],"title":"MessageReq"},"PredictReq":{"properties":{"positions":{"type":"string","title":"Positions"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},"type":"object","required":["positions"],"title":"PredictReq"},"RegisterReq":{"properties":{"username":{"type":"string","title":"Username"},"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["username","email","password"],"title":"RegisterReq"},"SubmitReq":{"properties":{"run":{"type":"string","title":"Run","default":""},"biosample":{"type":"string","title":"Biosample","default":""},"disease":{"type":"string","title":"Disease","default":""},"region":{"type":"string","title":"Region","default":""},"email":{"type":"string","title":"Email","default":""},"note":{"type":"string","title":"Note","default":""}},"type":"object","title":"SubmitReq"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}