ebi-eva-common-pyutils 0.5.3.dev3__tar.gz → 0.5.3.dev5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/PKG-INFO +1 -1
  2. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/assembly/assembly.py +5 -3
  3. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/metadata_utils.py +33 -1
  4. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils.egg-info/PKG-INFO +1 -1
  5. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/setup.py +1 -1
  6. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/CHANGELOG.md +0 -0
  7. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/LICENSE +0 -0
  8. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/MANIFEST.in +0 -0
  9. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/README.md +0 -0
  10. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/__init__.py +0 -0
  11. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/archive_directory.py +0 -0
  12. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/assembly/__init__.py +0 -0
  13. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/command_utils.py +0 -0
  14. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/common_utils.py +0 -0
  15. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/config.py +0 -0
  16. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/config_utils.py +0 -0
  17. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/contig_alias/__init__.py +0 -0
  18. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/contig_alias/contig_alias.py +0 -0
  19. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/ena_utils.py +0 -0
  20. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/file_utils.py +0 -0
  21. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/logger.py +0 -0
  22. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/mongo_utils.py +0 -0
  23. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/mongodb/__init__.py +0 -0
  24. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/mongodb/mongo_database.py +0 -0
  25. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/ncbi_utils.py +0 -0
  26. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/network_utils.py +0 -0
  27. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/nextflow/__init__.py +0 -0
  28. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/nextflow/nextflow_pipeline.py +0 -0
  29. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/pg_utils.py +0 -0
  30. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/reference/__init__.py +0 -0
  31. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/reference/assembly.py +0 -0
  32. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/reference/sequence.py +0 -0
  33. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/spring_properties.py +0 -0
  34. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/taxonomy/__init__.py +0 -0
  35. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/taxonomy/taxonomy.py +0 -0
  36. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/variation/__init__.py +0 -0
  37. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/variation/assembly_utils.py +0 -0
  38. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils/variation/contig_utils.py +0 -0
  39. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils.egg-info/SOURCES.txt +0 -0
  40. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils.egg-info/dependency_links.txt +0 -0
  41. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils.egg-info/requires.txt +0 -0
  42. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/ebi_eva_common_pyutils.egg-info/top_level.txt +0 -0
  43. {ebi_eva_common_pyutils-0.5.3.dev3 → ebi_eva_common_pyutils-0.5.3.dev5}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ebi_eva_common_pyutils
3
- Version: 0.5.3.dev3
3
+ Version: 0.5.3.dev5
4
4
  Summary: EBI EVA - Common Python Utilities
5
5
  Home-page: https://github.com/EBIVariation/eva-common-pyutils
6
6
  License: Apache
@@ -21,11 +21,13 @@ logging_config.add_stdout_handler()
21
21
  logger = logging_config.get_logger(__name__)
22
22
 
23
23
 
24
- def get_supported_asm_from_ensembl(tax_id: int) -> str:
24
+ def get_supported_asm_from_ensembl(tax_id: int) -> str | None:
25
25
  logger.info(f'Query Ensembl for species name using taxonomy {tax_id}')
26
26
  scientific_name_api_param = get_scientific_name_from_ensembl(tax_id).lower().replace(' ', '_')
27
27
  ENSEMBL_REST_API_URL = "http://rest.ensembl.org/info/assembly/{0}?content-type=application/json".format(
28
28
  scientific_name_api_param)
29
29
  response = json_request(ENSEMBL_REST_API_URL)
30
- assembly_accession = str(response.get('assembly_accession'))
31
- return assembly_accession
30
+ assembly_accession_attribute = 'assembly_accession'
31
+ if assembly_accession_attribute in response:
32
+ return str(response.get('assembly_accession'))
33
+ return None
@@ -11,6 +11,7 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
+ import datetime
14
15
  import re
15
16
  from urllib.parse import urlsplit
16
17
 
@@ -20,10 +21,11 @@ from ebi_eva_common_pyutils.config_utils import get_metadata_creds_for_profile
20
21
  from ebi_eva_common_pyutils.ena_utils import get_scientific_name_and_common_name
21
22
  from ebi_eva_common_pyutils.logger import logging_config
22
23
  from ebi_eva_common_pyutils.ncbi_utils import get_ncbi_assembly_name_from_term
23
- from ebi_eva_common_pyutils.pg_utils import get_result_cursor, get_all_results_for_query
24
+ from ebi_eva_common_pyutils.pg_utils import get_result_cursor, get_all_results_for_query, execute_query
24
25
  from ebi_eva_common_pyutils.taxonomy.taxonomy import get_scientific_name_from_ensembl
25
26
 
26
27
  logger = logging_config.get_logger(__name__)
28
+ SUPPORTED_ASSEMBLY_TRACKER_TABLE = "evapro.supported_assembly_tracker"
27
29
 
28
30
 
29
31
  def get_metadata_connection_handle(profile, settings_xml_file):
@@ -254,3 +256,33 @@ def insert_taxonomy(metadata_connection_handle, taxonomy_id, scientific_name, co
254
256
  'VALUES (%s, %s, %s, %s, %s)',
255
257
  (taxonomy_id, common_name, scientific_name, taxonomy_code, eva_species_name))
256
258
  logger.info('New taxonomy {} added'.format(taxonomy_id))
259
+
260
+
261
+ def add_to_supported_assemblies(metadata_connection_handle, source_of_assembly: str, target_assembly: str,
262
+ taxonomy_id: int):
263
+ today = datetime.date.today().strftime('%Y-%m-%d')
264
+ # First check if the current assembly is already target - if so don't do anything
265
+ current_query = (
266
+ f"SELECT assembly_id FROM evapro.supported_assembly_tracker "
267
+ f"WHERE taxonomy_id={taxonomy_id} AND current=true;"
268
+ )
269
+ results = get_all_results_for_query(metadata_connection_handle, current_query)
270
+ if len(results) > 0 and results[0][0] == target_assembly:
271
+ logger.warning(f'Current assembly for taxonomy {taxonomy_id} is already {target_assembly}!')
272
+ return
273
+
274
+ # Deprecate the last current assembly
275
+ update_query = (
276
+ f"UPDATE evapro.supported_assembly_tracker "
277
+ f"SET current=false, end_date='{today}' "
278
+ f"WHERE taxonomy_id={taxonomy_id} AND current=true;"
279
+ )
280
+ execute_query(metadata_connection_handle, update_query)
281
+
282
+ # Then insert the new assembly
283
+ insert_query = (
284
+ f"INSERT INTO evapro.supported_assembly_tracker "
285
+ f"(taxonomy_id, source, assembly_id, current, start_date) "
286
+ f"VALUES({taxonomy_id}, '{source_of_assembly}', '{target_assembly}', true, '{today}');"
287
+ )
288
+ execute_query(metadata_connection_handle, insert_query)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ebi-eva-common-pyutils
3
- Version: 0.5.3.dev3
3
+ Version: 0.5.3.dev5
4
4
  Summary: EBI EVA - Common Python Utilities
5
5
  Home-page: https://github.com/EBIVariation/eva-common-pyutils
6
6
  License: Apache
@@ -7,7 +7,7 @@ setup(
7
7
  name='ebi_eva_common_pyutils',
8
8
  scripts=[os.path.join(os.path.dirname(__file__), 'ebi_eva_common_pyutils', 'archive_directory.py')],
9
9
  packages=find_packages(),
10
- version='0.5.3.dev3',
10
+ version='0.5.3.dev5',
11
11
  license='Apache',
12
12
  description='EBI EVA - Common Python Utilities',
13
13
  url='https://github.com/EBIVariation/eva-common-pyutils',