Skip to content

Alignment storage

Marek Szuba requested to merge alignment_storage into master

Created by: premanand17


  • Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion;
  • Review the contributing guidelines for this repository; remember in particular:
    • do not modify code without testing for regression
    • provide simple unit tests to test the changes
    • if you change the schema you must patch the test databases as well, see Updating the schema
    • the PR must not fail unit testing


One or more sentences describing in detail the proposed changes.

Updates to support ProteinFeature data imported from GIFTS.

  • Added script to import data from GIFTS database in to protein_feature table
  • Methods to store cigar_line and align_type to ProteinFeature
  • Methods to handle MD Tag string parsing and deducing alignment_length and compute alignment strings
  • Updated ProteinFeatureAdapter to extend BaseAlignFeatureAdaptor to support alignment related methods
  • Updated ProteinFeature to extend BaseAlignFeature to support alignment related methods
  • Added some utility methods to fetch gifts_import data

Use case

Describe the problem. Please provide an example representing the motivation behind the need for having these changes in place.

Problem: Current API can only handle 'ensembl' alignment_type and cannot handle mdz string alignment_type. Also the ProteinFeature object is not 'alignment aware'. The proposed changes, will support handling of other alignment types and also will enable to represent protein-protein alignment info in ProteinFeature object.


If applicable, describe the advantages the changes will have.

Can import and store gifts data thereby unifying genomic and proteomics data Can store MD Tag alignment string, which is a better representation than CIGAR or CIGARPLUS

Possible Drawbacks

If applicable, describe any possible undesirable consequence of the changes.

If new alignment type has to be added in feature, have to provide methods to handle that alignment string.


Have you added/modified unit tests to test the changes?


If so, do the tests pass/fail?

Pass, of course.

Have you run the entire test suite and no regression was detected?


Merge request reports