- Bump actions/download-artifact from 2 to 4 in /.github/workflows (recommended by security advisory)
- Update version of other actions
- Broken upload to Codecov step in Tests & Coverage GitHub action
- Unfreeze PyMongo dependency
- Use MongoDB version 7 in docker-compose.yml
- Execute tests using MongoDB 7
- Option to display the description of the connected nodes on the index page
Build and publish to Docker Hub stage
README page badge- Parsing of
phenotype.hpoa
file
- Updated resource files
- Abort server startup if phenotypes terms are not correctly parse from resource files
- Parsing and downloading of the HPO definitions in the new format (
phenotype.hpoa
) - Replaced deprecated version of Ubuntu in GitHub actions
- Refactor to avoid code smells reported by SonarCloud
- Broken link to HPO definitions (
phenotype_annotation.tab
) - Security hotspots flagged by SonarCloud
- Decreased vulnerability by removing some server log messages
- Problems flagged as bugs by SonarCloud
- Server startup debug message showing correct number of parsed diseases
- Documentation on how to update phenotype resource files
- Download automatically phenotype resources when a non-demo app starts
- GitHub action to auto-deploy documentation when a new release is created
- Ports used to serve the app in docker-compose howto
- Removed support for asynchronous requests to the server
- Moved documentation to mkdocs pages (https://clinical-genomics.github.io/patientMatcher)
- Created codecov config file in app's root folder
- Updated deprecated codecov action from v1. to v.2
- Upgraded the version of Black lib to latest (22.3.0) in GitHub action
- Link to the GitHub repo on the top-left corner of index page
- Remove HTTP-related security issues
- Updated resource files (HPO and OMIM definitions)
- Citation file, pointing to newly published paper
- Name of database in crash report email, to understand if crashed app is stage or prod app
- Citation button on index page
- Double helix favicon to index page
- Colors and icons of landing page
- Admin error log email handling and relative test
- Double helix favicon to index page
- Set MAIL_SUPPRESS_SEND to False and MAIL_DEBUG to True whenever app config has a MAIL_SERVER param
- Parsing of numerical and boolean env vars when creating the app
- Speed-up CI tests by caching installation of libs and splitting tests into randomized groups using pytest-test-groups
- Mock Ensembl services (gene conversions and liftover) used all tests
- Mock the download of files containing phenotype resources in tests
- Index (landing page) reachable at endpoint
/
- Include software version in matching emails body
- Restore saving of all matching attempts into database, also those with no results
- Parsing of admins emails list when provided using env vars
- Heartbeat endpoint to return True or False if the app is prod or staging app
- Refactor command line params and options to be compliant with the GNU coding standards
- GitHub action to push staging branches from pull requests to Docker Hub
- Created another Dockerfile to run the app via Gunicorn
- Modified GitHub actions to push Dockerfile-server image (stage) to Docker Hub when a pull request is opened or modified
- Docker base image to run the app via Docker and Gunicorn in a prod environment
- Created another Dockerfile to run the app via Gunicorn
- Extended config file functionality to collect all required params from environment variables
- Modified README to describe the two distinct Dockerfiles
- Modified the docker-compose to provide an example on how to use the two Dockerfiles
- Modified GitHub actions to push both Dockerfile and Dockerfile-server images (prod) to Docker Hub when a new release is created
- Improved initial debug messages reporting database connection info
- Freeze PyMongo lib to version<4.0 to keep supporting previous MongoDB versions
- Deprecated werkzeug.contrib preventing running the docker app in prod environment
- Removed unused imports
- Vulture GitHub action to flag unused code with 90% confidence
- Scan only changed files with Vulture action
- Fix some deprecated code causing warnings during automatic tests
- Do not duplicate
mailto
schema when contact href is an email with correct schema
- Improve views code by reusing a controllers function when request auth fails
- Bulk replace patients' contact info using the command line
- Documentation on how to update patients' contact info using the command line
- Contact href string validation (schemas: http, https, mailto) when saving or updating patients
- Increase MongoDB connection serverSelectionTimeoutMS to 30K (default value according to MongoDB documentation)
- Params passed from the command line to the custom FlaskGroup
- Software purpose and short description of developers and Stockholm MME node in README
- Improve docker-compose file with 2 demo connected nodes
- Replaced vepo/mongo with the official MongoDB image mongo:4.4.9 in docker-compose files
- Created a mongo-init script for database authentication in docker-compose
docker-compose_auth_server_with_2_nodes.yml
development file - Modified docker-compose file to connect to database without authentication
- Modified the
pytest_codecov
GitHub action file to connect to database matrix (MongoDB 3.2, 4.4, 5.0) without authentication - Some cli commands don't instantiate a complete app object
- Fixed the code to connect to a MongoDB replica set
- Removed unused
--ensembl_genes
parameter fromadd demodata
command in all docker-compose file
- Save Ensembl ids for demo patient data genes automatically
- Mock the Ensembl REST API converting gene symbols to Ensembl IDs in tests
- Changed the tests for the gene conversion Ensembl APIs to use mocks APIs
- Do not download resources when testing the update resources command
- Use the requests lib instead of urllib.request to interrogate the Ensembl APIs
- Split cli tests into 4 dedicated files (test_add, test_remove, test_update, test_commands)
- Syntax in the disclaimer
- Validate the Ensembl gene ID against the Ensembl API when multiple IDs are returned by converting a HGNC symbol.
- .cff citation file and doi badge on readme page
- GitHub action to publish repo to PyPI when a new release is created
- Fixed in README file the server port used by the web server container launched from docker-compose
- Provide a content type description for long_description in setup file
- A demo docker-compose file with a MME server connected to 2 other nodes under
/containers
- Assign 2 different ids to the demo connected nodes in docker-compose
- Email logging of errors howto in readme
- Inclusive-language check using woke github action
- Removed coveralls badge and added codecov badge
- Required downloading of hp.obo.txt and phenotype_annotation.tab.txt to run a non-test app
- Integrate HPO parsing and handling into the software (decouple from Patient-similarity for HPO)
- Integrate OMIM parsing and handling into the software (decouple from Patient-similarity for OMIM)
- Use app port 9020 instead of 5000 in docker-compose
- Use MongoDB port 27013 instead of 27017 in docker-compose
- Subnet address used in bridge of docker-compose file
- Integrate HPOIC (HPO info content) creation in HPO extensions (decouple from Patient-similarity for HPOIC)
- All collections are removed and recreated on
add demodata
rerun - Demo client with token
DEMO
is created whenadd demodata
command is run - Remove patient-similarity dependency and replace needed functions with internal code
- downloading phenotype_annotation.tab file from Monarch Initiative
- document keys when a demo client is created with the command
pmatcher add demodata
- Notify admins via email when app crashes
- Use codecov instead of coveralls in github actions
- Send notification emails using TLS instead of SSL
- Liftover crashing when no end coordinate is not provided
- Code for performing coordinate liftover using Ensembl REST API
- Variant liftover when comparing genotype features
- Using coloredlogs for app logs
- removed unused docker folder
- Install requirements in setup
- Improved Dockerfile and docker-compose files
- Connection string to database when creating the app
- Pulling Docker images in docker-compose from clinicalgenomics Docker Hub
- Switched from Travis CI to github actions
- Display error message and raise exception when Ensembl Rest API is needed but offline
- New Dockerfile and instructions to run on docker
- Github action to build and push Docker image when a new software release is created
- Try to match patients based on gene symbol (gene._geneName) if gene.id doesn't match
- Do not crash trying to convert genes when Ensembl REST API isn't available
- Codeowners document
- Avoid pymongo-related deprecated code
- Unblock pytest and mongomock dependencies
- Open up metrics endpoint for any request (no token needed)
- Update HPO file name to reflect resource on compbio.charite.de/jenkins
- Ensembl gene IDs to describe gene IDs
- Allow matching when external patients have entrez gene IDs or HGNC symbols
- Display contact email in notification emails
- Save to database only matches with results or error messages
- Allow gene search using ensembl gene IDs
- Handle better external matching errors
- Fix a bug introduced in version 1.2.0 (missing patient id in results)
- Remove Host from external request headers for compatibility issues
- Introduced SCORE_THRESHOLD parameter as a minimum patient score threshold for returned results
- Command line returns app version
- Fixed bug in phenotype matching when no OMIM or no HPO terms are available
- patient-similarity against all patients in database if query patient has HPO term
- patient-similarity integration for phenotype scoring