1.5.3 - Single lgx
reductions and /ard
endpoint - 2024-10-30
- Only single
lgx
reductions by @pbashyal-nmdp in #334 /ard/{allele}
endpoint forlgx
reduction by @pbashyal-nmdp in #335
Full Changelog: https://github.com/nmdp-bioinformatics/py-ard/compare/1.5.1...1.5.3
1.5.1 - 2024-09-11
- pyard-service Docker changes by @pbashyal-nmdp in #329
- Homozygosify GL String, Suppress loci by @pbashyal-nmdp in #332
Full Changelog: https://github.com/nmdp-bioinformatics/py-ard/compare/1.5.0...1.5.1
Support for Python 3.12 (1.5.0) - 2024-06-11
- 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.
- Support for Python 3.12 by @pbashyal-nmdp in #328
Fix for ping mode (1.2.1) - 2024-05-31
- Ping reductions for duplicates by @pbashyal-nmdp in #326
Full Changelog: https://github.com/nmdp-bioinformatics/py-ard/compare/1.2.0...1.2.1
ping
mode is default (1.2.0) - 2024-05-29
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.
- Make
ping
mode default by @pbashyal-nmdp in #323
Full Changelog: https://github.com/nmdp-bioinformatics/py-ard/compare/1.1.3...1.2.0
Fix exon
redux for 2 field alleles (1.1.3) - 2024-05-07
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
- Bump gunicorn from 20.1.0 to 22.0.0 by @dependabot in #319
- Fix
exon
reductions for 2 field alleles by @pbashyal-nmdp in #322
Full Changelog: https://github.com/nmdp-bioinformatics/py-ard/compare/1.1.2...1.1.3
ARD default redux + Bug Fixes (1.1.2) - 2024-03-22
Feature:
- ARD reduction (
lgx
) is the default forard.redux()
Bug Fixes:
- When looking up MAC codes for allele list, look up with smart sort
- Batch processing failed for zip and no compression
Serology Updates (1.1.1) - 2024-03-05
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
Fix CWD and Serology reduction issues (1.0.11) - 2024-02-02
- CWD reduction issues for XX alleles
- Allow S reduction mode for REST endpoint
See #301 For details.
1.0.10 - 2024-01-19
- Fix serology sort by @pbashyal-nmdp in #297
Full Changelog: https://github.com/nmdp-bioinformatics/py-ard/compare/1.0.9...1.0.10
1.0.9 Updated CWD2 Reference Data - 2023-12-15
- Updated CWD2 Reference Data from igdawg
cwd_redux()
can handle CWD2 allele that are Nulls
1.0.8 - /similar
endpoint and validation fix - 2023-12-05
- #286
similar
endpoint return all alleles/MAC with given prefixes - #287 Allele validation in non-strict mode
Find Similar Alleles (1.0.7) - 2023-11-09
Features:
- Find similar Alleles options with
pyard
command #264
Bug Fixes:
1.0.6 Validation of allele specific MAC codes - 2023-10-30
- 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 inInvalidTypingError
when an allele is not valid.
1.0.5 Non strict mode - 2023-10-04
Supports non-strict mode makes valid alleles by adding expression characters to invalid alleles.
>>> 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'
❯ 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
Fixes when used without login user (1.0.4) - 2023-09-19
Fixed the OSError when running without a login user.
1.0.3 – Permission Errors and pyard updates - 2023-08-17
- Alert permission Errors when
data_dir
is not writable - Add
--lookup-mac
and--expand-mac
topyard
command
Fixes issue with using py-ard without MAC (1.0.2) - 2023-08-03
Fixes issue with using py-ard without MAC
- When using py-ard with
load_mac=False
, check if the allele looks like a MAC
1.0.1 → Bug Fixes for 1.0.0 Release - 2023-06-23
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
Final Release 1.0.0 - 2023-05-04
Release YAY!! 🎉
Fix Pandas dependencies Latest (0.9.2) - 2023-03-23
Set to pandas==1.5.3
Bug fixes, blend endpoint (0.9.1) - 2023-02-09
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
Shortnulls for exon mode fixed (0.8.2) - 2022-11-18
Ping! Mode and DR Blending (0.8.1) - 2022-10-03
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
py-ard
REST Service (0.8.0) - 2022-06-10
py-ard
REST Service
- REST service with
/redux
,/validate
,/mac
endpoints - Run in a Docker container
BugFix for HLA Prefix (0.7.7) - 2022-05-19
See #165
Reduce to Shortnulls (0.7.6) - 2022-03-29
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
Support shortnull (0.7.5) - 2022-03-26
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
Summary Table for Batch (0.7.4) - 2022-03-23
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
Fix batch regression error (0.7.3) - 2022-03-21
Fix regression error for MAC reduction #152
Add reduce_2field reduce option (0.7.1.1) - 2022-02-23
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
Stricter Data Validation (0.7.2) - 2022-02-14
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.
Fix for IMGT URL Change (0.6.11) - 2022-01-24
Fixes a breaking change where all allele lists in IMGTHLA repo have been moved to /allelelist/
subdirectory.
Bug fixes for Batch Processing (0.6.10) - 2021-12-13
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.
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
-------------------------------------------
Supports WHO and exon Reduction Types (0.6.8) - 2021-09-24
- 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
handle invalid/blank input (0.6.6) - 2021-07-29
handle cases with no input and redux fails
updates to pyard-reduce-csv and unit tests (0.6.5) - 2021-06-17
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.
DRBX Mapping and Cw Serology (0.6.4) - 2021-06-16
- Map DRB3, DRB4 and DRB5 typings to DRBX. #82
- Change C to Cw for serology; #84
- Return '' for invalid MACs #84
0.6.3 release - 2021-06-09
addresses one-to-many relationship from 2d to lg/lgx
Fixes serology mappings for broad to include alleles in the split.
V2 to V3 Mapping (0.6.1) - 2021-02-04
- 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
Nomenclature versioning (0.6.0) - 2020-12-08
adds nomenclature versioning, cmdline options, GL string examples
fix mac expansion (0.5.1) - 2020-11-30
Fix serology mapping and mac expansions
Upgrade Pandas to 1.1.4 (0.4.1) - 2020-11-03
Update pandas 1.1.4
- Pandas
1.1.2
doesn't work with Python 3.9. Upgrade Pandas to1.1.4
which works with Python 3.8 and 3.9
Uses WMDA rel_dna_ser.txt
for the corresponding version of IMGT database to produce serology mapping
Use sqlite3 database for reference data (0.3.0) - 2020-10-15
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 |
rearrange data in memory (0.2.0) - 2020-10-14
This release rearranges how memory is used especially MAC codes and a lot of cleanup.
load_mac_file flag to load MAC file (0.1.0) - 2020-10-01
Rename download_mac flag
- Rename
download_mac
ARD flag toload_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
to1.1.2
fix tests and sorting (0.0.21) - 2020-09-09
fixes test and also a bug in 4th field sorting
This release fixes the behavior of lg and lgx to always reduce to 2-field. It also allows P and G alleles as input
Fixes G-codes expansion (0.0.18) - 2020-07-29
Fixes G-codes expansion when smart sorting.
Specify path for temporary files (0.0.17) - 2020-07-22
You can specify path when creating ARD object.
ard = ARD('3290', data_dir='/tmp/py-ard')
version 0.0.16 - 2020-07-09
update MAC location and version to 0.0.16
update to MAC location (0.0.15.0) - 2020-05-28
update to MAC location (0.0.15) - 2020-05-28
yes
0.0.14 - 2020-04-14
- Support for Python 3.7
- Broad XX enhancement
- p Performance improvements