1. create locus backbone based on exon6 f primer and exon7 rev primer (backbone should cover the longest indel point)
2. upload locus backbone sequence via gemsui Genotyping -> typing rules -> Upload & Build HLA rules and related data -> Backbone sequences (FASTA)
	*fasta >ABO
	* by now core.backbone_sequence and genotype.locus table was populated
3. insert rule_set 
	 INSERT INTO genotype.rule_set (rule_set_id,locus_id,version,active) values ('9c266a88c87d10048d06001d0905dcdc', 'a6c54a4ae81c47a2af3bff418bc3d4de', '1.0.1', true); 
	 *need change rule_set_id, locus_id accordingly

4. parse alignment file with code aboTyping.WorkOnAlignment, it will generate seqence file, exon file, match file and rulesetsnpfile, need copy the output for hap amb and disamb to make files, 
	*trim hap amb names shorter to fit database
	*move deletion to the first accurace of poly to fit cross_match algorithms (1722->1715 shift -> all between 1715-1722, 1721->1716)

5. use code aboTyping.generateRuleSet to do all the insertion
	* the type with all * are excluded from loading in case they match everywhere

6. upload amplicon to GeMS
	insert into pcr.amplicon (amplicon_id, name, fwd_primer_id, rev_primer_id, sequence, masked_sequence, min_score, origin)
	values
	('252b77d0c89010048e60001d0905dcdc', 'ABO-Ex6-ABO-Ex7', '241d4b09532c4d06bc3be2d811244100', '3e7c9c3ddc344efbac227a557d408b94', 'AGAAGCTGAGTGGAGTTTCCAGGTGGGGGCGGCCGTGTGCCAGAGGCGCATGTGGGTGGCACCCTGCCAGCTCCATGTGACCGCACGCCTCTCTCCATGTGCAGTAGGAAGGATGTCCTCGTGGTGACCCCTTGGCTGGCTCCCATTGTCTGGGAGGGCACATTCAACATCGACATCCTCAACGAGCAGTTCAGGCTCCAGAACACCACCATTGGGTTAACTGTGTTTGCCATCAAGAAGTAAGTCAGTGAGGTGGCCGAGGGTAGAGACCCAGGCAGTGGCGAGTGACTGTGGACATTGAGGTCTCTCCTTGTGTTCAAGACAGAGTGGGGTGGCGGCCAGCCTTGTCCTCCCAGAGGGTAGATGGGAAAGGTCATTCATGCAGCATCTTACTGAGCTCATGTGGGCTCGTGGGCTCGTGGGCTCGCCAGGTCGGTAAAACCCAGCTCCTTCTCCAGAGGCTGCGTCTCACCCAGGGATGGTGGCTTCTGCTGCCCCCTCCTCTCTGTAACTGTGGCCGGCCGTCATGCTGAGCCACCCCCTCAATACAAGGCTCCAGATGTTTCCTGCTCACTGACCAGAGATAGCAGGAGGGGGACACCTGTTTGCTGTCCTTGGACCCTAGAAAGAGGATGCTGGCAGAGCCGTGGTCACTTCTCTGTCAGATGTAGGTGGGGCAGGCAAAGCAGTTGGCCCCAGACACCAAAGGAAGTGGCTGACCCACAAGGCCCTGGGACTCTGGGCCAGGCCAGAGAGGGAGCTAGCCAGGCAACCGCAGACACATACTTGACTTCTCGGCAGCTGTGGGCAGCTGGGCCAGCGACAGTGGCGGAGGCCAGGAATGACTTACTCTTAGGAATAGGTGCAGTTCAAGCCTGGAGGGAGGAAGCTCTAGGGTGCAGAGGCGGGTGTGTGGAGGCCTCGCGTGCAGCTTATAATGAGGGAGCACGTGGCCGGCCTGGCCATAAGAGGGGCAGCTGCGTGGGGAGGCGTGGCTCAGGCCAGGCTGAGGGGGAGTGAGCGGACGCCAGCCTGCGGCCTGCTACCAGCCTCCAGCCACCTGCCCTCAGCCCTCCTTAGTAAGAGGGGGTGCTGGTGGTCCCCCATCGCTGGGAAGAGGATGAAGTGAATCGCAGCCCGAGGACTCGCTCAGGACAGGGCAGGAGAACGTGGTGCATCTGCTGCTCTAAGCCTTCCAATGGCCGCTGGCGGGCGGGTGCAGGACGGGCCTCCTGCAGCCCAGGGGTGCACGGCCGGCGGCTCCCCCAGCCCCCGTCCGCCTGCCTTGCAGATACGTGGCTTTCCTGAAGCTGTTCCTGGAGACGGCGGAGAAGCACTTCATGGTGGGCCACCGTGTCCACTACTATGTCTTCACCGACCAGCCGGCCGCGGTGCCCCGCGTGACGCTGGGGACCGGTCGGCAGCTGTCAGTGCTGGAGGTGCGCGCCTACAAGCGCTGGCAGGACGTGTCCATGCGCCGCATGGAGATGATCAGTGACTTCTGCGAGCGGCGCTTCCTCAGCGAGGTGGATTACCTGGTGTGCGTGGACGTGGACATGGAGTTCCGCGACCACGTGGGCGTGGAGATCCTGACTCCGCTGTTCGGCACCCTGCACCCCGGCTTCTACGGAAGCAGCCGGGAGGCCTTCACCTACGAGCGCCGGCCCCAGTCCCAGGCCTACATCCCCAAGGACGAGGGCGATTTCTACTACCTGGGGGGGGTTCTTCGGGGGGTCGGTGCAAGAGGTGCAGCGGCTCACCAGGGCCTGCCACCAGGCCATGATGGTCGACCAGGCCAACGGCATCGAGGCCGTGTGGCACGACGAGAGCCACCTGAACAAGTACCTGCTGCGCCACAAACCCACCAAGGTGCTCTCCCCCGAGTACTTGTGGGACCAGCAGCTGCTGGGCTGGCCCGCCGTCCTGAGGAAGCTGAGGTTCACTGCGGTGCCCAAGAACCACCAGGCGGTCCGGAACCCGTGAGCGGCTGCCAGGGGCTCTGGGAGGGCTGCCGGCAGCCCCGTCCCCCTCCCGCCCTTGGTTTTAGCAGAACGGGTAAACTCTGTTTCCTTTGTCCGTCCTGTTGTG', 'AGAAGCTGAGTGGAGTTTCCAGGTGGGGGCGGCCGTGTGCCAGAGGCGCATGTGGGTGGCACCCTGCCAGCTCCATGTGACCGCACGCCTCTCTCCATGTGCAGTAGGAAGGATGTCCTCGTGGTGACCCCTTGGCTGGCTCCCATTGTCTGGGAGGGCACATTCAACATCGACATCCTCAACGAGCAGTTCAGGCTCCAGAACACCACCATTGGGTTAACTGTGTTTGCCATCAAGAAGTAAGTCAGTGAGGTGGCCGAGGGTAGAGACCCAGGCAGTGGCGAGTGACTGTGGACATTGAGGTCTCTCCTTGTGTTCAAGACAGAGTGGGGTGGCGGCCAGCCTTGTCCTCCCAGAGGGTAGATGGGAAAGGTCATTCATGCAGCATCTTACTGAGCTCATGTGGGCTCGTGGGCTCGTGGGCTCGCCAGGTCGGTAAAACCCAGCTCCTTCTCCAGAGGCTGCGTCTCACCCAGGGATGGTGGCTTCTGCTGCCCCCTCCTCTCTGTAACTGTGGCCGGCCGTCATGCTGAGCCACCCCCTCAATACAAGGCTCCAGATGTTTCCTGCTCACTGACCAGAGATAGCAGGAGGGGGACACCTGTTTGCTGTCCTTGGACCCTAGAAAGAGGATGCTGGCAGAGCCGTGGTCACTTCTCTGTCAGATGTAGGTGGGGCAGGCAAAGCAGTTGGCCCCAGACACCAAAGGAAGTGGCTGACCCACAAGGCCCTGGGACTCTGGGCCAGGCCAGAGAGGGAGCTAGCCAGGCAACCGCAGACACATACTTGACTTCTCGGCAGCTGTGGGCAGCTGGGCCAGCGACAGTGGCGGAGGCCAGGAATGACTTACTCTTAGGAATAGGTGCAGTTCAAGCCTGGAGGGAGGAAGCTCTAGGGTGCAGAGGCGGGTGTGTGGAGGCCTCGCGTGCAGCTTATAATGAGGGAGCACGTGGCCGGCCTGGCCATAAGAGGGGCAGCTGCGTGGGGAGGCGTGGCTCAGGCCAGGCTGAGGGGGAGTGAGCGGACGCCAGCCTGCGGCCTGCTACCAGCCTCCAGCCACCTGCCCTCAGCCCTCCTTAGTAAGAGGGGGTGCTGGTGGTCCCCCATCGCTGGGAAGAGGATGAAGTGAATCGCAGCCCGAGGACTCGCTCAGGACAGGGCAGGAGAACGTGGTGCATCTGCTGCTCTAAGCCTTCCAATGGCCGCTGGCGGGCGGGTGCAGGACGGGCCTCCTGCAGCCCAGGGGTGCACGGCCGGCGGCTCCCCCAGCCCCCGTCCGCCTGCCTTGCAGATACGTGGCTTTCCTGAAGCTGTTCCTGGAGACGGCGGAGAAGCACTTCATGGTGGGCCACCGTGTCCACTACTATGTCTTCACCGACCAGCCGGCCGCGGTGCCCCGCGTGACGCTGGGGACCGGTCGGCAGCTGTCAGTGCTGGAGGTGCGCGCCTACAAGCGCTGGCAGGACGTGTCCATGCGCCGCATGGAGATGATCAGTGACTTCTGCGAGCGGCGCTTCCTCAGCGAGGTGGATTACCTGGTGTGCGTGGACGTGGACATGGAGTTCCGCGACCACGTGGGCGTGGAGATCCTGACTCCGCTGTTCGGCACCCTGCACCCCGGCTTCTACGGAAGCAGCCGGGAGGCCTTCACCTACGAGCGCCGGCCCCAGTCCCAGGCCTACATCCCCAAGGACGAGGGCGATTTCTACTACCTGGGGGGGGTTCTTCGGGGGGTCGGTGCAAGAGGTGCAGCGGCTCACCAGGGCCTGCCACCAGGCCATGATGGTCGACCAGGCCAACGGCATCGAGGCCGTGTGGCACGACGAGAGCCACCTGAACAAGTACCTGCTGCGCCACAAACCCACCAAGGTGCTCTCCCCCGAGTACTTGTGGGACCAGCAGCTGCTGGGCTGGCCCGCCGTCCTGAGGAAGCTGAGGTTCACTGCGGTGCCCAAGAACCACCAGGCGGTCCGGAACCCGTGAGCGGCTGCCAGGGGCTCTGGGAGGGCTGCCGGCAGCCCCGTCCCCCTCCCGCCCTTGGTTTTAGCAGAACGGGTAAACTCTGTTTCCTTTGTCCGTCCTGTTGTG', 20, 'local')
7. create panel, template
--------------
1. when genotype, have to interpret all indel pos and poly pos, edit snp caller call, bc for forward and reverse will be diff for poly, indel need be call explicitly like A/- 


________________________________________________________
1. create locus backbone based on exon2 to exon5 cDNA, includ some intron at the end of exon3/exon 4 for deletion detection purpose
2. upload locus backbone sequence via gemsui Genotyping -> typing rules -> Upload & Build HLA rules and related data -> Backbone sequences (FASTA)
	*fasta >MICA
	* by now core.backbone_sequence and genotype.locus table was populated
3. insert rule_set 
	 INSERT INTO genotype.rule_set (rule_set_id,locus_id,version,active) values ('a34cb550d38c100488cd001d0905dcdc', '499024dc68be46079575da3638976d5f', '2.27.2', true); 
	 *need change rule_set_id, locus_id accordingly

4. parse alignment file with code aboTyping.WorkOnMicaAlignment, it will generate seqence file, exon file, match file and rulesetsnpfile, need copy the output for hap amb and disamb to make files, 
	*trim hap amb names shorter to fit database
	*move deletion to the first accurace of poly to fit cross_match algorithms at exon 5
	*add all micros region to rule set snp even no variation

5. use code aboTyping.generateRuleSet to do all the insertion
	* the type with all * are excluded from loading in case they match everywhere

6. upload amplicon to GeMS
	insert into pcr.amplicon (amplicon_id, name, fwd_primer_id, rev_primer_id, sequence, masked_sequence, min_score, origin)
	values
	('252b77d0c89010048e60001d0905dcdc', 'ABO-Ex6-ABO-Ex7', '241d4b09532c4d06bc3be2d811244100', '3e7c9c3ddc344efbac227a557d408b94', 'AGAAGCTGAGTGGAGTTTCCAGGTGGGGGCGGCCGTGTGCCAGAGGCGCATGTGGGTGGCACCCTGCCAGCTCCATGTGACCGCACGCCTCTCTCCATGTGCAGTAGGAAGGATGTCCTCGTGGTGACCCCTTGGCTGGCTCCCATTGTCTGGGAGGGCACATTCAACATCGACATCCTCAACGAGCAGTTCAGGCTCCAGAACACCACCATTGGGTTAACTGTGTTTGCCATCAAGAAGTAAGTCAGTGAGGTGGCCGAGGGTAGAGACCCAGGCAGTGGCGAGTGACTGTGGACATTGAGGTCTCTCCTTGTGTTCAAGACAGAGTGGGGTGGCGGCCAGCCTTGTCCTCCCAGAGGGTAGATGGGAAAGGTCATTCATGCAGCATCTTACTGAGCTCATGTGGGCTCGTGGGCTCGTGGGCTCGCCAGGTCGGTAAAACCCAGCTCCTTCTCCAGAGGCTGCGTCTCACCCAGGGATGGTGGCTTCTGCTGCCCCCTCCTCTCTGTAACTGTGGCCGGCCGTCATGCTGAGCCACCCCCTCAATACAAGGCTCCAGATGTTTCCTGCTCACTGACCAGAGATAGCAGGAGGGGGACACCTGTTTGCTGTCCTTGGACCCTAGAAAGAGGATGCTGGCAGAGCCGTGGTCACTTCTCTGTCAGATGTAGGTGGGGCAGGCAAAGCAGTTGGCCCCAGACACCAAAGGAAGTGGCTGACCCACAAGGCCCTGGGACTCTGGGCCAGGCCAGAGAGGGAGCTAGCCAGGCAACCGCAGACACATACTTGACTTCTCGGCAGCTGTGGGCAGCTGGGCCAGCGACAGTGGCGGAGGCCAGGAATGACTTACTCTTAGGAATAGGTGCAGTTCAAGCCTGGAGGGAGGAAGCTCTAGGGTGCAGAGGCGGGTGTGTGGAGGCCTCGCGTGCAGCTTATAATGAGGGAGCACGTGGCCGGCCTGGCCATAAGAGGGGCAGCTGCGTGGGGAGGCGTGGCTCAGGCCAGGCTGAGGGGGAGTGAGCGGACGCCAGCCTGCGGCCTGCTACCAGCCTCCAGCCACCTGCCCTCAGCCCTCCTTAGTAAGAGGGGGTGCTGGTGGTCCCCCATCGCTGGGAAGAGGATGAAGTGAATCGCAGCCCGAGGACTCGCTCAGGACAGGGCAGGAGAACGTGGTGCATCTGCTGCTCTAAGCCTTCCAATGGCCGCTGGCGGGCGGGTGCAGGACGGGCCTCCTGCAGCCCAGGGGTGCACGGCCGGCGGCTCCCCCAGCCCCCGTCCGCCTGCCTTGCAGATACGTGGCTTTCCTGAAGCTGTTCCTGGAGACGGCGGAGAAGCACTTCATGGTGGGCCACCGTGTCCACTACTATGTCTTCACCGACCAGCCGGCCGCGGTGCCCCGCGTGACGCTGGGGACCGGTCGGCAGCTGTCAGTGCTGGAGGTGCGCGCCTACAAGCGCTGGCAGGACGTGTCCATGCGCCGCATGGAGATGATCAGTGACTTCTGCGAGCGGCGCTTCCTCAGCGAGGTGGATTACCTGGTGTGCGTGGACGTGGACATGGAGTTCCGCGACCACGTGGGCGTGGAGATCCTGACTCCGCTGTTCGGCACCCTGCACCCCGGCTTCTACGGAAGCAGCCGGGAGGCCTTCACCTACGAGCGCCGGCCCCAGTCCCAGGCCTACATCCCCAAGGACGAGGGCGATTTCTACTACCTGGGGGGGGTTCTTCGGGGGGTCGGTGCAAGAGGTGCAGCGGCTCACCAGGGCCTGCCACCAGGCCATGATGGTCGACCAGGCCAACGGCATCGAGGCCGTGTGGCACGACGAGAGCCACCTGAACAAGTACCTGCTGCGCCACAAACCCACCAAGGTGCTCTCCCCCGAGTACTTGTGGGACCAGCAGCTGCTGGGCTGGCCCGCCGTCCTGAGGAAGCTGAGGTTCACTGCGGTGCCCAAGAACCACCAGGCGGTCCGGAACCCGTGAGCGGCTGCCAGGGGCTCTGGGAGGGCTGCCGGCAGCCCCGTCCCCCTCCCGCCCTTGGTTTTAGCAGAACGGGTAAACTCTGTTTCCTTTGTCCGTCCTGTTGTG', 'AGAAGCTGAGTGGAGTTTCCAGGTGGGGGCGGCCGTGTGCCAGAGGCGCATGTGGGTGGCACCCTGCCAGCTCCATGTGACCGCACGCCTCTCTCCATGTGCAGTAGGAAGGATGTCCTCGTGGTGACCCCTTGGCTGGCTCCCATTGTCTGGGAGGGCACATTCAACATCGACATCCTCAACGAGCAGTTCAGGCTCCAGAACACCACCATTGGGTTAACTGTGTTTGCCATCAAGAAGTAAGTCAGTGAGGTGGCCGAGGGTAGAGACCCAGGCAGTGGCGAGTGACTGTGGACATTGAGGTCTCTCCTTGTGTTCAAGACAGAGTGGGGTGGCGGCCAGCCTTGTCCTCCCAGAGGGTAGATGGGAAAGGTCATTCATGCAGCATCTTACTGAGCTCATGTGGGCTCGTGGGCTCGTGGGCTCGCCAGGTCGGTAAAACCCAGCTCCTTCTCCAGAGGCTGCGTCTCACCCAGGGATGGTGGCTTCTGCTGCCCCCTCCTCTCTGTAACTGTGGCCGGCCGTCATGCTGAGCCACCCCCTCAATACAAGGCTCCAGATGTTTCCTGCTCACTGACCAGAGATAGCAGGAGGGGGACACCTGTTTGCTGTCCTTGGACCCTAGAAAGAGGATGCTGGCAGAGCCGTGGTCACTTCTCTGTCAGATGTAGGTGGGGCAGGCAAAGCAGTTGGCCCCAGACACCAAAGGAAGTGGCTGACCCACAAGGCCCTGGGACTCTGGGCCAGGCCAGAGAGGGAGCTAGCCAGGCAACCGCAGACACATACTTGACTTCTCGGCAGCTGTGGGCAGCTGGGCCAGCGACAGTGGCGGAGGCCAGGAATGACTTACTCTTAGGAATAGGTGCAGTTCAAGCCTGGAGGGAGGAAGCTCTAGGGTGCAGAGGCGGGTGTGTGGAGGCCTCGCGTGCAGCTTATAATGAGGGAGCACGTGGCCGGCCTGGCCATAAGAGGGGCAGCTGCGTGGGGAGGCGTGGCTCAGGCCAGGCTGAGGGGGAGTGAGCGGACGCCAGCCTGCGGCCTGCTACCAGCCTCCAGCCACCTGCCCTCAGCCCTCCTTAGTAAGAGGGGGTGCTGGTGGTCCCCCATCGCTGGGAAGAGGATGAAGTGAATCGCAGCCCGAGGACTCGCTCAGGACAGGGCAGGAGAACGTGGTGCATCTGCTGCTCTAAGCCTTCCAATGGCCGCTGGCGGGCGGGTGCAGGACGGGCCTCCTGCAGCCCAGGGGTGCACGGCCGGCGGCTCCCCCAGCCCCCGTCCGCCTGCCTTGCAGATACGTGGCTTTCCTGAAGCTGTTCCTGGAGACGGCGGAGAAGCACTTCATGGTGGGCCACCGTGTCCACTACTATGTCTTCACCGACCAGCCGGCCGCGGTGCCCCGCGTGACGCTGGGGACCGGTCGGCAGCTGTCAGTGCTGGAGGTGCGCGCCTACAAGCGCTGGCAGGACGTGTCCATGCGCCGCATGGAGATGATCAGTGACTTCTGCGAGCGGCGCTTCCTCAGCGAGGTGGATTACCTGGTGTGCGTGGACGTGGACATGGAGTTCCGCGACCACGTGGGCGTGGAGATCCTGACTCCGCTGTTCGGCACCCTGCACCCCGGCTTCTACGGAAGCAGCCGGGAGGCCTTCACCTACGAGCGCCGGCCCCAGTCCCAGGCCTACATCCCCAAGGACGAGGGCGATTTCTACTACCTGGGGGGGGTTCTTCGGGGGGTCGGTGCAAGAGGTGCAGCGGCTCACCAGGGCCTGCCACCAGGCCATGATGGTCGACCAGGCCAACGGCATCGAGGCCGTGTGGCACGACGAGAGCCACCTGAACAAGTACCTGCTGCGCCACAAACCCACCAAGGTGCTCTCCCCCGAGTACTTGTGGGACCAGCAGCTGCTGGGCTGGCCCGCCGTCCTGAGGAAGCTGAGGTTCACTGCGGTGCCCAAGAACCACCAGGCGGTCCGGAACCCGTGAGCGGCTGCCAGGGGCTCTGGGAGGGCTGCCGGCAGCCCCGTCCCCCTCCCGCCCTTGGTTTTAGCAGAACGGGTAAACTCTGTTTCCTTTGTCCGTCCTGTTGTG', 20, 'local')
7. create panel, template