# RCSB_UTILS_TARGETS HISTORY
   7-Nov-2020  - V0.11 Created module
  12-Nov-2020  - V0.12 Add consolidation of DrugBank target FASTA files
  24-Nov-2020  - V0.13 Add ChEMBLTargetProvider() and tests
  28-Nov-2020  - V0.14 Add CARDTargetProvider() and tests
  30-Nov-2020  - V0.15 Add SAbDabTargetProvider() and tests
   1-Dec-2020  - V0.16 Connect to UniProtIdMappingProvider() and add tagged fasta comment output.
   2-Dec-2020  - V0.17 Migrate molecule based ChEMBL methods to rcsb.utils.chemref.ChEMBLProvider()
   6-Dec-2020  - V0.18 Expose an exportFasta() method in each provider and add taxon output file options
  13-Dec-2020  - V0.19 Make Pharos sql restore a shell process.
  14-Dec-2020  - V0.20 Suppress stderr in the export of mysql table data.
  13-May-2021  - V0.21 Additional caching and stashing functions for all providers
  12-Jun-2021  - V0.22 Adding SAbDabTargetFeatureProvider() and CARDTargetFeatureProvider() modules
  13-Jun-2021  - V0.23 Move features to separate paths in CARDTargetFeatureProvider() and SAbDabTargetFeatureProvider()
  13-Jun-2021  - V0.24 Add feature identifiers to the outputs of CARDTargetFeatureProvider() and SAbDabTargetFeatureProvider()
  14-Jun-2021  - V0.25 Standardized version and timestamp in CARDTargetFeatureProvider() and SAbDabTargetFeatureProvider()
  19-Jun-2021  - V0.26 Add cofactor and activity provider modules for ChEMBL, DrugBank, and Pharos and associated tests.
  20-Jun-2021  - V0.27 Move ChEMBL API settings into the ChEMBLTargetActivityProvider and ChEMBLTargetMechanismProvider modules
  20-Jun-2021  - V0.28 Add method getTargetIdList() in ChEMBLTargetActivityProvider module and standardize some method prototypes
  20-Jun-2021  - V0.29 Add multiprocessing class to ChEMBLTargetActivityProvider and standardize cofactor attribute names
  21-Jun-2021  - V0.30 Make ChEMBL activity query more selective and focus error handling more specifically on return issues.
  22-Jun-2021  - V0.31 Add name and mechanism queries in the ChEMBLTargetActivityProvider workflow. Use DrugBankProvider is a
                       data source in DrugBankTargetProvider() rather than FASTA downloads.
  23-Jun-2021  - V0.32 Add preprocessing filter to Pharos SQL dump input and handle missing ChEMBL API results more gracefully
  24-Jun-2021  - V0.33 Get release versions from data source for ChEMBL, DrugBank and Pharos and propagate these in all resource files
  24-Jun-2021  - V0.34 Add getVersion() method in PharosTargetProvider() module
  25-Jun-2021  - V0.35 Add a target_name attributed to Pharos, DrugBank and ChEMBL cofactor data.
  25-Jun-2021  - V0.36 Update method prototype skipExisting -> skip in ChEMBLTargetActivityProvider().
  26-Jun-2021  - V0.37 Serialize DrugBank cofactors in pickle - resolve missing target names -
  26-Jun-2021  - V0.38 Make chemical component and BIRD definitions singular.
  27-Jun-2021  - V0.39 Add diagnostics to capture statistics for ChEMBL and Pharos mapped an unmapped cofactors
  27-Jun-2021  - V0.40 Refactor FASTA comment parsing strategy and make fewer assumptions about comment content
  27-Jun-2021  - V0.41 Add annotation of neighbor interactions to cofactor activity selections
  30-Jun-2021  - V0.42 Add reload() public methods to feature and cofactor provider modules
   1-Jul-2021  - V0.43 Adjustment linting rules to preserve unreferenced internal methods
   2-Jul-2021  - V0.44 Add the remaining subset of the antibody data from SAbDab and add taxonomy filtering for CARD features
   2-Jul-2021  - V0.45 Handle to testing case lacking taxonomy in CARDTargetFeatureProvider()
   7-Jul-2021  - V0.46 Add IMGTTargetProvider() and IMGTTargetFeatureProvider() modules and associated tests
  11-Jul-2021  - V0.47 Add support for "alignedRegions" in sequence alignment result files
  12-Jul-2021  - V0.48 Export aligned regions as lists of dictionaries in JSON
  12-Jul-2021  - V0.49 Adjust diagnostics for long running activity workflow
  12-Jul-2021  - V0.50 Add public reload method for ChEMBLTargetActivityProvider()
  12-Jul-2021  - V0.51 Make return status True in ChEMBLTargetActivityProvider.fetchTargetActivityData if the filtered target list is empty
  13-Jul-2021  - V0.52 Make all getFeatures() return an empty list rather than None, plus other small json export adjustments
  13-Jul-2021  - V0.53 Various unifying API method adjustments in cofactor and features providers
  14-Jul-2021  - V0.54 Adjustments for more descriptive IMGT attribute names
  14-Jul-2021  - V0.55 Standardize provider APIs extend functionality of PharosTargetActivityProvider
  28-Jul-2021  - V0.56 Update constructor API for TaxonomyProvider and update dependencies
   5-Sep-2021  - V0.57 Update SAbDab data importer, fix initialization in ChEMBLTargetActivityProvider.getStatusDetails()
  14-Sep-2021  - V0.58 Add cache test for TaxonomyProvider() add bypass for ChEMBL fetchStatus() test
   8-Oct-2021  - V0.59 Fix changing column heading issue for SAbDabTargetProvider()
   6-Jan-2023  - V0.60 Configuration changes to support tox 4
   9-Feb-2023  - V0.61 Find Highest_Clin_Trial column regardless of month in SAbDabTargetProvider(), Update baseVersion for ChEMBL
  27-Feb-2023  - V0.62 Fix PharosTargetProvider mysql loading issue
   3-Mar-2023  - V0.63 Fix typo and handle missing activityType in PharosTargetCofactorProvider()
  13-Mar-2023  - V0.64 Add CARDTargetAnnotationProvider (to replace CARDTargetFeatureProvider)
  22-Mar-2023  - V0.65 Add timeout to IMGT data file fetch, and update py-rcsb_exdb_assets locators
  24-Mar-2023  - V0.66 In PharosTargetProvider(), download sql file to separate dir
  11-Apr-2023  - V0.67 Fix issue with CARD lineage tree building--handle cases with two parents at same depth; Add treeNodeList building and exporting
  27-Apr-2023  - V0.68 Update CARD treeNodeList building
   2-May-2023  - V0.69 Remove depth field from CARD lineage tree
   5-May-2023  - V0.70 Actually check cache files exist in PharosTargetProvider testCache()
  22-May-2023  - V0.71 Add retries to tox task for MMseqs2 download
  13-Jun-2023  - V0.72 Improve logging
   3-Jul-2023  - V0.73 imgt.org no longer supports http
  18-Jul-2023  - V0.74 Update baseVersion for ChEMBL
  19-Sep-2023  - V0.75 Update testCache and reload methods for target providers;
                       Make CARDTargetOntologyProvider stashable;
                       Add try/except for chembl_webresource_client.new_client imports in ChEMBL providers in case of service downtime
  21-Sep-2023  - V0.76 Additional updates to testCache and reload methods for target providers
   9-Jan-2024  - V0.77 Update CARDTargetAnnotationProvider to ensure same annotations are selected between reruns (using a tie breaker);
                       Bug fix in ChEMBLTargetActivityProvider in updating cache file
   1-Jul-2024  - V0.78 Update SAbDabTargetProvider; Fix pylinting
  22-Jul-2024  - V0.79 Update SAbDabTargetProvider
  20-Aug-2024  - V0.80 Add support for loading and accessing target cofactor data on MongoDB;
                       Add mock-data submodule
  23-Aug-2024  - V0.81 Add context manager for forming mongo connections in TargetCofactorDbProvider
  26-Aug-2024  - V0.82 Revert back to persistent client connections;
                       Update CARDTargetOntologyProvider resource loading behavior
   9-Dec-2024  - V0.83 Update Azure pipelines to use latest macOS, Ubuntu, and python 3.10
   5-Jun-2025  - V0.84 Update CARDTargetProvider and CARDTargetAnnotationProvider to handle/skip cases missing "AMR Gene Family" term
  28-Jul-2025  - V0.85 Update URL to Pharos download data
   3-Sep-2025  - V0.86 Update IMGTTargetProvider and other TargetProviders to fail upon download failure
   4-Sep-2025  - V0.87 Bump version to force new build (previous version built prematurely)
  21-Oct-2025  - V0.88 Adjust chunkSize for cofactor loading;
                       Add fallback url source for Pharos TCRD data;
                       Switch to 'pyproject.toml' file and update test pipelines to python 3.13
   2-Dec-2025  - V0.89 Switch from setuptools to hatch build system
  18-Feb-2026  - V0.90 Add error logging to failed chembl_webresource_client import
  20-Feb-2026  - V0.91 Add fallback for IMGT data
