File tree Expand file tree Collapse file tree 4 files changed +24
-9
lines changed
Expand file tree Collapse file tree 4 files changed +24
-9
lines changed Original file line number Diff line number Diff 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+
349357def set_variantfile_prefix (obj ):
350358 # obj = {'variantfile_id', 'chr_prefix'}
351359 with Session () as session :
Original file line number Diff line number Diff 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 )
Original file line number Diff line number Diff line change 1- import drs_operations
21import htsget_operations
32import database
43from config import INDEXING_PATH , INDEXING_SWITCH_FILE
5- from pysam import VariantFile , AlignmentFile
6- import argparse
74import os
85import sys
96from watchdog .observers import Observer
1411from candigv2_logging .logging import initialize , CanDIGLogger
1512from time import sleep
1613from random import randint
17-
14+ import requests
15+ from authx .auth import create_service_token
16+ import json
1817
1918logger = CanDIGLogger (__file__ )
2019
@@ -85,11 +84,14 @@ def index_variants(file_name=None):
8584
8685
8786def 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
9597def write_pos_bucket (obj , object_id , tries = 1 ):
Original file line number Diff line number Diff line change @@ -17,3 +17,4 @@ uvicorn[standard]==0.30.6
1717werkzeug >= 3.1.0 # not directly required, pinned by Snyk to avoid a vulnerability
1818zipp >= 3.19.1 # not directly required, pinned by Snyk to avoid a vulnerability
1919urllib3 >= 2.2.2 # not directly required, pinned by Snyk to avoid a vulnerability
20+ requests == 2.32.4
You can’t perform that action at this time.
0 commit comments