Skip to content

Latest commit

 

History

History
762 lines (464 loc) · 27 KB

CHANGELOG.md

File metadata and controls

762 lines (464 loc) · 27 KB

What's Changed

Full Changelog: https://github.com/nmdp-bioinformatics/py-ard/compare/1.5.1...1.5.3

Changes

1.5.1 - 2024-09-11

What's Changed

Full Changelog: https://github.com/nmdp-bioinformatics/py-ard/compare/1.5.0...1.5.1

Changes

  • Able to run in Python 3.12
  • Upgraded Pandas to 2.2.2
  • Python 3.8 is deprecated. Use py-ard==1.2.1 for Python 3.8.

What's Changed

Changes

What's Changed

Full Changelog: https://github.com/nmdp-bioinformatics/py-ard/compare/1.2.0...1.2.1

Changes

When in ping mode, alleles that do not have a G group, their corresponding P group is used. This will be the default behavior unless a "ping": False is supplied to pyard.init() call.

What's Changed

Full Changelog: https://github.com/nmdp-bioinformatics/py-ard/compare/1.1.3...1.2.0

Changes

To correctly reduce to the exon version, it first expands to W and then reduce to exon level producing all possibilities at exon level.

Fixes #320

What's Changed

Full Changelog: https://github.com/nmdp-bioinformatics/py-ard/compare/1.1.2...1.1.3

Changes

Feature:

  • ARD reduction (lgx) is the default for ard.redux()

Bug Fixes:

  • When looking up MAC codes for allele list, look up with smart sort
  • Batch processing failed for zip and no compression

Changes

Serolgy Updates

Note: This release changes and updates Serology related data. Please rebuild the cache database if there's a missing Serology error.

pyard-import --re-install
  • Support Associated Antigens in addition to broad/splits #303
  • Fix Serology reduction for 2 field alleles
  • All recognized serology to be valid, not only the ones that have corresponding DNA Alleles #306
  • Fix batch processing for DRBX column
  • Map Serology to the correct XX version

Changes

  • CWD reduction issues for XX alleles
  • Allow S reduction mode for REST endpoint

See #301 For details.

Changes

1.0.10 - 2024-01-19

What's Changed

Full Changelog: https://github.com/nmdp-bioinformatics/py-ard/compare/1.0.9...1.0.10

Changes

  • Updated CWD2 Reference Data from igdawg
  • cwd_redux() can handle CWD2 allele that are Nulls

Changes

  • #286 similar endpoint return all alleles/MAC with given prefixes
  • #287 Allele validation in non-strict mode

Changes

Features:

  • Find similar Alleles options with pyard command #264

Bug Fixes:

  • V2 formats that are not valid #283
  • MICA, MICB, HFE alleles that show up as V2 formats #280

Changes

  • Use allele specific antigen code rules when validating MACs that cross antigen group similar to MAC Service
  • Returns the original InvalidAlleleError instead of wrapping it in InvalidTypingError when an allele is not valid.

Changes

Supports non-strict mode makes valid alleles by adding expression characters to invalid alleles.

Use non strict mode in config to reduce alleles that may be valid with expression characters.

>>> my_configs = {'strict': False, 'verbose_log': True}
>>> import pyard
>>> ard = pyard.init(config=my_configs, load_mac=False)

>>> ard.redux('A*24:329', 'lgx')
A*24:329 is not valid. Using A*24:329Q
'A*24:329Q'

>>> ard.redux('DQB1*03:276', 'lgx')
DQB1*03:276 is not valid. Using DQB1*03:276N
'DQB1*03:01'

Add non-strict and verbose modes to pyard CLI.

❯ pyard --gl "DQB1*03:276" -r lgx
Typing Error: DQB1*03:276 is not valid GL String.
 DQB1*03:276 is not a valid Allele

❯ pyard --non-strict --gl "DQB1*03:276" -r lgx
DQB1*03:01

❯ pyard --non-strict --verbose --gl "DQB1*03:276" -r lgx
DQB1*03:276 is not valid. Using DQB1*03:276N
DQB1*03:01

Changes

Fixed the OSError when running without a login user.

Changes

  • Alert permission Errors when data_dir is not writable
  • Add --lookup-mac and --expand-mac to pyard command

Changes

Fixes issue with using py-ard without MAC

  • When using py-ard with load_mac=False, check if the allele looks like a MAC

Changes

Fixed bugs and added some niceties

#237 Additional functionalities for pyard CLI command enhancement #235 Invalid allele in CWD2 mapping bug #234 Success with lgx when given Invalid format bug #233 validate endpoint can be a GET request enhancement #230 Redux with a "P" option does not return P-groups for two-field or three-field alleles bug

Changes

Final Release 1.0.0 - 2023-05-04

Release YAY!! 🎉

Changes

Set to pandas==1.5.3

Changes

  • blend endpoint added to the service
  • removed lg tables and dictionaries.
  • remove p_group table
  • store IMGT db version
  • Fix XX errors for broad/splits
  • Fix loading of IMGT DB version 3130

Changes

See PR #183 to fix #161

Changes

PING mode

  • When ping=True alleles in P-groups are included in addition to the alleles in G-groups in the corresponding lg/lgx groups.

DR Blending

  • Support DRBX Blending from DRB1

Changes

py-ard REST Service

  • REST service with /redux, /validate, /mac endpoints
  • Run in a Docker container

Changes

See #165

Changes

Implement shortnulls behavior with new config variable set to True by default.

This will address things like DRB4*01:03N and DRB5*01:08N both in terms of accepting them as valid and also by expanding them as appropriate to the list of longer alleles that have the same expression character.

DRB5*01:08N is acceptable by WHO rules since all suballeles have N. DRB4*01:03N is acceptable by WMDA (but not WHO) rules but this needs to be handled for things like HF analysis by expansion to something valid (vs rejection) to avoid bias

When there are multiple expression characters in the same group defined by a shortname create multiple shortnulls for the same WHO group. e.g.

{'N', 'L'}  A*02:01
{'L', 'Q'}  A*02:01:01
{'L', 'Q'}  A*24:02
{'L', 'Q'}  A*24:02:01
{'L', 'Q'}  A*31:01
{'N', 'Q'}  A*31:01:02
{'N', 'Q'}  B*15:01
{'N', 'Q'}  B*15:01:01
{'N', 'Q'}  B*44:02

See #154 and #155

Changes

Implements shortnulls behavior with new config variable set to True by default.

This will address things like DRB4*01:03N and DRB5*01:08N both in terms of accepting them as valid and also by expanding them as appropriate to the list of longer alleles that have the same expression character.

DRB5*01:08N is acceptable by WHO rules since all suballeles have N. DRB4*01:03N is acceptable by WMDA (but not WHO) rules but this needs to be handled for things like HF analysis by expansion to something valid (vs rejection) to avoid bias

Changes

Show summary table for failed alleles.

Summary
-------
35 alleles failed to reduce.
| Column  Name    |      Allele      |      Did you mean ?
| --------------- | ---------------- | -------------------------
| r_A_TYPE1       | A*24:09          | A*24:09N
| r_A_TYPE1       | A*33:157         | A*33:157N
| r_A_TYPE1       | A*26:25          | A*26:25N
| r_A_TYPE1       | A*23:19          | A*23:19N
| r_A_TYPE1       | A*24:02:01:02    | A*24:02:01:02L

Changes

Fix regression error for MAC reduction #152

Changes

Batch csv pyard-reduce-csv takes in reduce_2field option to reduce 2 fields alleles like B*15:220, DPB1*104:01 and A*02:642

Changes

Version 0.7.0 has stricter data validation. It will not silently fail by returning an empty '' string. It'll return of the Invalid exceptions in pyard.exceptions when calling redux_gl method with invalid GL String.

See CHANGELOG.md for full changelog.

Changes

Fixes a breaking change where all allele lists in IMGTHLA repo have been moved to /allelelist/ subdirectory.

Changes

Batch Reduce Fixes:

  • Fix Instantiation of pyard.ARD object.
  • Fix serology check
  • Fix issue with P groups
  • A new flag convert_v2_to_v3 to convert v2 to v3 but not reduce.

Changes

pyard-status command to check the status of all tables in the databases. This will help to see if there are missing tables and also to compare number of data between versions.

-------------------------------------------
IMGT DB Version: 3290
-------------------------------------------
|Table Name          |Rows                |
|-----------------------------------------|
|dup_g               |                  17|
|dup_lg              |                   0|
|dup_lgx             |                   0|
|g_group             |                2786|
|lg_group            |                2786|
|lgx_group           |                2786|
MISSING: exon_group table
MISSING: p_group table
|alleles             |               18451|
|xx_codes            |                 946|
MISSING: who_alleles table
MISSING: who_group table
-------------------------------------------

Changes

  • Handle cases when there is no typing and when redux fails.
  • added exon resolution group
  • added W resolution group
  • Fix validation issues with empty alleles, NNNNs, and non-allelic values.
  • pyard-import can refresh MACs and rebuild databases

Changes

handle cases with no input and redux fails

Changes

Use pyard-reduce-csv command to reduce a CSV file based on a JSON config file.
Use db_version 3440 in unit test to match behave tests
Re-run the tests again so local db is used.

Changes

  • Map DRB3, DRB4 and DRB5 typings to DRBX. #82
  • Change C to Cw for serology; #84
  • Return '' for invalid MACs #84

Changes

0.6.3 release - 2021-06-09

addresses one-to-many relationship from 2d to lg/lgx

Changes

Fixes serology mappings for broad to include alleles in the split.

Changes

  • Heuristically predict V3 from V2 when not in exceptional case list
  • Make is_XX a public method on the ARD object
  • Update README and fix bug in pyard-import for importing into Latest

Changes

adds nomenclature versioning, cmdline options, GL string examples

Changes

Fix serology mapping and mac expansions

Changes

Update pandas 1.1.4

  • Pandas 1.1.2 doesn't work with Python 3.9. Upgrade Pandas to 1.1.4 which works with Python 3.8 and 3.9

Changes

Uses WMDA rel_dna_ser.txt for the corresponding version of IMGT database to produce serology mapping

Changes

Use sqlite3 database for data

Offload MAC codes from memory to sqlite3 database (natively supported by Python) to reduce memory footprint. All MAC lookups happen through the db. The alleles and G group expansions are still held in memory.

In addition, all generated data is saved as tables in the same database. This leads to one file for storing all reference data in a standard format.

This led to drastic reduction in memory usage and startup time.

Version First Time Prebuilt Data
0.1.0 10.5 sec 4.92 sec
0.2.0 814 msec 598 msec
0.3.0 24.1 msec 24.7 msec

Heap memory used by ARD reference data after ard = pyard.ARD(3290)

Version Memory (MB)
0.1.0 2977.86 MB
0.2.0 420.76 MB
0.3.0 3.74 MB

Changes

This release rearranges how memory is used especially MAC codes and a lot of cleanup.

Changes

Rename download_mac flag

  • Rename download_mac ARD flag to load_mac_file as it properly describes what it does.
  • Remove dead code
  • Reformat code and fix some comments
  • Version bumped to 0.1.0
  • Updated pandas to 1.1.2

Changes

fixes test and also a bug in 4th field sorting

Changes

This release fixes the behavior of lg and lgx to always reduce to 2-field. It also allows P and G alleles as input

Changes

Fixes G-codes expansion when smart sorting.

Changes

You can specify path when creating ARD object.

ard = ARD('3290', data_dir='/tmp/py-ard')

Changes

version 0.0.16 - 2020-07-09

update MAC location and version to 0.0.16

Changes

Changes

yes

Changes

0.0.14 - 2020-04-14

  • Support for Python 3.7
  • Broad XX enhancement
  • p Performance improvements

Changes