Skip to content

Commit 4830009

Browse files
committed
call drs as http calls
1 parent f466341 commit 4830009

File tree

4 files changed

+24
-9
lines changed

4 files changed

+24
-9
lines changed

htsget_server/database.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,6 @@ def create_variantfile(obj, tries=1):
330330
new_variantfile.id = obj['id']
331331
new_variantfile.reference_genome = obj['reference_genome']
332332
response, status_code = drs_operations.get_object(obj['id'])
333-
#new_drs = session.query(drs_database.DrsObject).filter_by(id=obj['id']).one_or_none()
334333
if status_code == 200:
335334
new_variantfile.drs_object_id = obj['id']
336335
else:
@@ -346,6 +345,15 @@ def create_variantfile(obj, tries=1):
346345
return None
347346

348347

348+
def mark_variantfile_as_not_indexed(variantfile_id):
349+
with Session() as session:
350+
new_variantfile = session.query(VariantFile).filter_by(id=variantfile_id).one_or_none()
351+
if new_variantfile is not None:
352+
new_variantfile.indexed = 0
353+
session.add(new_variantfile)
354+
session.commit()
355+
356+
349357
def set_variantfile_prefix(obj):
350358
# obj = {'variantfile_id', 'chr_prefix'}
351359
with Session() as session:

htsget_server/drs_database.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,12 @@ def __repr__(self):
8080
result['access_methods'] = json.loads(self.access_methods.__repr__())
8181
if self.program is not None:
8282
result['program'] = self.program_id
83-
if self.metadata is not None:
83+
if self.meta_data is not None:
8484
result['metadata'] = self.meta_data
85+
if 'indexed' in result['metadata']:
86+
result['indexed'] = result['metadata']['indexed']
87+
if 'reference' in result['metadata']:
88+
result['reference_genome'] = result['metadata']['reference']
8589
else:
8690
result['metadata'] = {}
8791
return json.dumps(result)

htsget_server/indexing.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
1-
import drs_operations
21
import htsget_operations
32
import database
43
from config import INDEXING_PATH, INDEXING_SWITCH_FILE
5-
from pysam import VariantFile, AlignmentFile
6-
import argparse
74
import os
85
import sys
96
from watchdog.observers import Observer
@@ -14,7 +11,9 @@
1411
from candigv2_logging.logging import initialize, CanDIGLogger
1512
from time import sleep
1613
from random import randint
17-
14+
import requests
15+
from authx.auth import create_service_token
16+
import json
1817

1918
logger = CanDIGLogger(__file__)
2019

@@ -85,11 +84,14 @@ def index_variants(file_name=None):
8584

8685

8786
def mark_as_indexed(drs_obj_id):
88-
response, status_code = drs_operations.get_object(drs_obj_id)
89-
if status_code == 200:
87+
headers = {
88+
"X-Service-Token": create_service_token()
89+
}
90+
response = requests.get(url=f"{os.getenv("DRS_URL")}/ga4gh/drs/v1/objects/{drs_obj_id}", headers=headers)
91+
if response.status_code == 200:
9092
obj = response.json()
9193
obj["metadata"]["indexed"] = 1
92-
drs_operations.post_object(obj)
94+
response = requests.post(url=f"{os.getenv("DRS_URL")}/ga4gh/drs/v1/objects", headers=headers, json=obj)
9395

9496

9597
def write_pos_bucket(obj, object_id, tries=1):

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,4 @@ uvicorn[standard]==0.30.6
1717
werkzeug>=3.1.0 # not directly required, pinned by Snyk to avoid a vulnerability
1818
zipp>=3.19.1 # not directly required, pinned by Snyk to avoid a vulnerability
1919
urllib3>=2.2.2 # not directly required, pinned by Snyk to avoid a vulnerability
20+
requests==2.32.4

0 commit comments

Comments
 (0)