dib-lab / kProcessor

kProcessor: kmers processing framework.
https://kprocessor.readthedocs.io
BSD 3-Clause "New" or "Revised" License
11 stars 1 forks source link

kProcessor::index() is failing #76

Closed mr-eyes closed 3 years ago

mr-eyes commented 3 years ago

Branch: v2

Indexing is working fine with a small number of sequences. I tried to index the Gencode protein-coding transcripts by genes and it's failing.

Tests ran on Farm with a 100GB RAM limit.

Reproduce:

# Download and extract the human protein-coding transcripts
wget ftp://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_37/gencode.v37.pc_transcripts.fa.gz
gunzip gencode.v37.pc_transcripts.fa.gz

# Generate names file by gene
grep ">" gencode.v37.pc_transcripts.fa | cut -c2- |  awk -F'|' '{print $0"\t"$2}' > gencode.v37.pc_transcripts.fa.names

Indexing test

#include "algorithms.hpp"

int main(int argc, char ** argv){

    int kSize=31;
    int chunkSize = 1000;
    string genes_file = argv[1] // Path of gencode.v37.pc_transcripts.fa
    kDataFrame * genesFrame = new kDataFrameMQF(kSize);
    kmerDecoder * KMERS = kProcessor::initialize_kmerDecoder(genes_file, chunkSize, "kmers", {{"k_size", kSize}});

    cerr << "Indexing started ..." << endl;
    kProcessor::index(genesFrame,{{"k_size", kSize}}, genes_file, chunkSize, genes_file+".names");

    genesFrame->save("large_test");
    cerr << "Indexing done ..." << endl;

    return 0;
}

Error:

/usr/bin/time -v ./build/test_indexing ../diff_expression/data/gencode.v37.pc_transcripts.fa
Indexing started ...

Command terminated by signal 11
        Command being timed: "./build/test_indexing ../diff_expression/data/gencode.v37.pc_transcripts.fa"
        User time (seconds): 212.08
        System time (seconds): 2.08
        Percent of CPU this job got: 99%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 3:34.34
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 1456560
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 17
        Minor (reclaiming a frame) page faults: 814682
        Voluntary context switches: 30
        Involuntary context switches: 21222
        Swaps: 0
        File system inputs: 4392
        File system outputs: 0
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0
mr-eyes commented 3 years ago

Below is the full backtrace of the error. kmerDecoder has no problems (The old and the current new version).

Reproduce with the following data, use chunk_size=1500 human_pc.part_001.fa.split.tar.gz

It seems like the issue is triggered from the following line:

https://github.com/dib-lab/kProcessor/blob/8a40aa3a794519e64fa83d7564f67859b0c959b7/src/algorithms.cpp#L819

(gdb) where full
#0  0x0000559401ce0226 in std::vector<unsigned int, std::allocator<unsigned int> >::size (this=0x80805c4c3c2c8088) at /usr/include/c++/9/bits/stl_vector.h:916
No locals.
#1  0x0000559401ce3c16 in std::vector<unsigned int, std::allocator<unsigned int> >::vector (this=0x7fffba4e3b10, __x=<error reading variable: Cannot access memory at address 0x80805c4c3c2c8090>)
    at /usr/include/c++/9/bits/stl_vector.h:552
No locals.
#2  0x0000559401cd47bd in kProcessor::index (KD=0x55940461a620, 
    names_fileName="/home/mabuelanin/dib-dev/kmerDecoder/human_pc.fa.split/human_pc.part_001.fa.split/human_pc.part_001.part_004.fa.names", frame=0x559404615b10)
    at /home/mabuelanin/dib-dev/kp_examples/indexing/lib/kProcessor/src/algorithms.cpp:1045
        colors = std::vector of length 3, capacity 4 = {0, 0, 73412624}
        itTag = {
          ctrl_ = 0x559412de11c6 "*\200C\200\002\200#\200I\025\f\001\200\062n\200M\200\200\200\200\200_\200\023\200\060JU\200@zx{Ch}\200\t5\200\200h7\b\200\200\200\200\200\200\t\200\200\061D:\200\200\200d\200\200\003a\030\200\200\200\200L", '\200' <repeats 11 times>, "E\200#\031\200\200\200\200\200\200\200_/\200?\200\200\030\200\200u\200\017\200\034\200\004\033\ah\200\006\037;}\200\200\200\035\f\006\200[\200pf\200\200\vQ*\032\006\t\200lZ\200\200LEndq\200S\200\200\066Qcv\200\200\200\200\200\200\200\200\200u\200C\200\200\200y\200( \031\062\200\001\032\200\200\200\200g@^Yw\200\200_\200\200f\200\200\200Fm'/"..., {slot_ = 0x559412de2210}}
        tmpiT = 244
        colorsString = "107;205;244"
        newColor = 410
        currentTag = 511
        itc = {ctrl_ = 0x55940466ed4f "\377", {slot_ = 0x3078695b00ff2414}}
        kmer = @0x7f9d7627acf0: {str = "CTATTATTATATTCATATCTCTACACTGCAA", hash = 1146667402901346210}
        __for_range = std::vector of length 5240, capacity 5270 = {{str = "AGACGGTTACCTGGCACGCTGGCCACATTCT", hash = 2254551858817553998}, {str = "GACGGTTACCTGGCACGCTGGCCACATTCTG", 
            hash = 1996165039621512424}, {str = "ACGGTTACCTGGCACGCTGGCCACATTCTGC", hash = 911838071752904846}, {str = "CGGTTACCTGGCACGCTGGCCACATTCTGCC", hash = 4015967930525012859}, {
            str = "GGTTACCTGGCACGCTGGCCACATTCTGCCT", hash = 4272383346053997102}, {str = "GTTACCTGGCACGCTGGCCACATTCTGCCTC", hash = 2479664610794554676}, {str = "TTACCTGGCACGCTGGCCACATTCTGCCTCA", 
            hash = 636591433892205168}, {str = "TACCTGGCACGCTGGCCACATTCTGCCTCAC", hash = 1631231667496998417}, {str = "ACCTGGCACGCTGGCCACATTCTGCCTCACT", hash = 831152466497021057}, {
            str = "CCTGGCACGCTGGCCACATTCTGCCTCACTC", hash = 1847302335668341920}, {str = "CTGGCACGCTGGCCACATTCTGCCTCACTCT", hash = 3233844935995306034}, {str = "TGGCACGCTGGCCACATTCTGCCTCACTCTT", 
            hash = 1168977335840258883}, {str = "GGCACGCTGGCCACATTCTGCCTCACTCTTA", hash = 3748912846293994032}, {str = "GCACGCTGGCCACATTCTGCCTCACTCTTAT", hash = 3665941082336238627}, {
            str = "CACGCTGGCCACATTCTGCCTCACTCTTATC", hash = 441203803288473399}, {str = "ACGCTGGCCACATTCTGCCTCACTCTTATCA", hash = 257945315550845575}, {str = "CGCTGGCCACATTCTGCCTCACTCTTATCAG", 
            hash = 2891402199531825250}, {str = "GCTGGCCACATTCTGCCTCACTCTTATCAGA", hash = 316530633463993973}, {str = "CTGGCCACATTCTGCCTCACTCTTATCAGAG", hash = 1448641423490193246}, {
            str = "TGGCCACATTCTGCCTCACTCTTATCAGAGT", hash = 4115330216024664760}, {str = "GGCCACATTCTGCCTCACTCTTATCAGAGTC", hash = 2434589352774224959}, {str = "GCCACATTCTGCCTCACTCTTATCAGAGTCT", 
            hash = 942112201614284906}, {str = "CCACATTCTGCCTCACTCTTATCAGAGTCTG", hash = 2958853833341002029}, {str = "CACATTCTGCCTCACTCTTATCAGAGTCTGA", hash = 247507700326570120}, {
            str = "ACATTCTGCCTCACTCTTATCAGAGTCTGAG", hash = 2582019024410939386}, {str = "CATTCTGCCTCACTCTTATCAGAGTCTGAGC", hash = 3650312714249167636}, {str = "ATTCTGCCTCACTCTTATCAGAGTCTGAGCT", 
            hash = 296336788211557578}, {str = "TTCTGCCTCACTCTTATCAGAGTCTGAGCTA", hash = 1315964255860094039}, {str = "TCTGCCTCACTCTTATCAGAGTCTGAGCTAC", hash = 245686812559436375}, {
            str = "CTGCCTCACTCTTATCAGAGTCTGAGCTACT", hash = 3549205002543762473}, {str = "TGCCTCACTCTTATCAGAGTCTGAGCTACTG", hash = 2444285775868316950}, {str = "GCCTCACTCTTATCAGAGTCTGAGCTACTGG", 
            hash = 611076699933310163}, {str = "CCTCACTCTTATCAGAGTCTGAGCTACTGGC", hash = 2808089598425270100}, {str = "CTCACTCTTATCAGAGTCTGAGCTACTGGCA", hash = 707355416505402297}, {
            str = "TCACTCTTATCAGAGTCTGAGCTACTGGCAG", hash = 240511854568802354}, {str = "CACTCTTATCAGAGTCTGAGCTACTGGCAGT", hash = 1678502363967558050}, {str = "ACTCTTATCAGAGTCTGAGCTACTGGCAGTG", 
            hash = 1041595707067937876}, {str = "CTCTTATCAGAGTCTGAGCTACTGGCAGTGC", hash = 3119407113272679071}, {str = "TCTTATCAGAGTCTGAGCTACTGGCAGTGCT", hash = 1543754669554786414}, {
            str = "CTTATCAGAGTCTGAGCTACTGGCAGTGCTT", hash = 561576121085706351}, {str = "TTATCAGAGTCTGAGCTACTGGCAGTGCTTT", hash = 3315694266711686348}, {str = "TATCAGAGTCTGAGCTACTGGCAGTGCTTTC", 
            hash = 828423232329585095}, {str = "ATCAGAGTCTGAGCTACTGGCAGTGCTTTCA", hash = 1287560095959574925}, {str = "TCAGAGTCTGAGCTACTGGCAGTGCTTTCAG", hash = 2089786310162126963}, {
            str = "CAGAGTCTGAGCTACTGGCAGTGCTTTCAGC", hash = 3009753470430141545}, {str = "AGAGTCTGAGCTACTGGCAGTGCTTTCAGCT", hash = 2489298446322669822}, {str = "GAGTCTGAGCTACTGGCAGTGCTTTCAGCTC", 
            hash = 479562323485946792}, {str = "AGTCTGAGCTACTGGCAGTGCTTTCAGCTCT", hash = 674042932385701191}, {str = "GTCTGAGCTACTGGCAGTGCTTTCAGCTCTG", hash = 1322496201497159345}, {
            str = "TCTGAGCTACTGGCAGTGCTTTCAGCTCTGA", hash = 3575072688005183157}, {str = "CTGAGCTACTGGCAGTGCTTTCAGCTCTGAG", hash = 3032390211470423597}, {str = "TGAGCTACTGGCAGTGCTTTCAGCTCTGAGT", 
            hash = 1294155751004892326}, {str = "GAGCTACTGGCAGTGCTTTCAGCTCTGAGTT", hash = 3211535873037916855}, {str = "AGCTACTGGCAGTGCTTTCAGCTCTGAGTTG", hash = 121542489420289114}, {
            str = "GCTACTGGCAGTGCTTTCAGCTCTGAGTTGA", hash = 335917423857352574}, {str = "CTACTGGCAGTGCTTTCAGCTCTGAGTTGAG", hash = 3443688301786490113}, {str = "TACTGGCAGTGCTTTCAGCTCTGAGTTGAGG", 
            hash = 1145676817919776818}, {str = "ACTGGCAGTGCTTTCAGCTCTGAGTTGAGGC", hash = 2005725393344124583}, {str = "CTGGCAGTGCTTTCAGCTCTGAGTTGAGGCA", hash = 587306996403439853}, {
            str = "TGGCAGTGCTTTCAGCTCTGAGTTGAGGCAC", hash = 4390786559099807586}, {str = "GGCAGTGCTTTCAGCTCTGAGTTGAGGCACC", hash = 445248530543031580}, {str = "GCAGTGCTTTCAGCTCTGAGTTGAGGCACCT", 
            hash = 2010519152598947319}, {str = "CAGTGCTTTCAGCTCTGAGTTGAGGCACCTC", hash = 4497223724559814257}, {str = "AGTGCTTTCAGCTCTGAGTTGAGGCACCTCG", hash = 2071722768031345372}, {
            str = "GTGCTTTCAGCTCTGAGTTGAGGCACCTCGA", hash = 1141106766873699820}, {str = "TGCTTTCAGCTCTGAGTTGAGGCACCTCGAA", hash = 3244163357727748346}, {str = "GCTTTCAGCTCTGAGTTGAGGCACCTCGAAC", 
            hash = 1656122848133201861}, {str = "CTTTCAGCTCTGAGTTGAGGCACCTCGAACC", hash = 2228449759377119889}, {str = "TTTCAGCTCTGAGTTGAGGCACCTCGAACCT", hash = 2662986646517476834}, {
            str = "TTCAGCTCTGAGTTGAGGCACCTCGAACCTT", hash = 1987029516908448409}, {str = "TCAGCTCTGAGTTGAGGCACCTCGAACCTTG", hash = 3827662942990249191}, {str = "CAGCTCTGAGTTGAGGCACCTCGAACCTTGT", 
            hash = 3809341794819965732}, {str = "AGCTCTGAGTTGAGGCACCTCGAACCTTGTT", hash = 2363478906874504245}, {str = "GCTCTGAGTTGAGGCACCTCGAACCTTGTTT", hash = 1922293509812585869}, {
            str = "CTCTGAGTTGAGGCACCTCGAACCTTGTTTT", hash = 53401290648749005}, {str = "TCTGAGTTGAGGCACCTCGAACCTTGTTTTT", hash = 3205735485356737045}, {str = "CTGAGTTGAGGCACCTCGAACCTTGTTTTTG", 
            hash = 468888342982612373}, {str = "TGAGTTGAGGCACCTCGAACCTTGTTTTTGT", hash = 947343282128958660}, {str = "GAGTTGAGGCACCTCGAACCTTGTTTTTGTG", hash = 236844614477782314}, {
            str = "AGTTGAGGCACCTCGAACCTTGTTTTTGTGG", hash = 1331535823026163987}, {str = "GTTGAGGCACCTCGAACCTTGTTTTTGTGGT", hash = 2494259516010959779}, {str = "TTGAGGCACCTCGAACCTTGTTTTTGTGGTG", 
            hash = 1062393378741614186}, {str = "TGAGGCACCTCGAACCTTGTTTTTGTGGTGA", hash = 170815810740753088}, {str = "GAGGCACCTCGAACCTTGTTTTTGTGGTGAA", hash = 2869577203141326574}, {
            str = "AGGCACCTCGAACCTTGTTTTTGTGGTGAAG", hash = 3233781874593896978}, {str = "GGCACCTCGAACCTTGTTTTTGTGGTGAAGG", hash = 191422059116575878}, {str = "GCACCTCGAACCTTGTTTTTGTGGTGAAGGA", 
            hash = 3060014008806828422}, {str = "CACCTCGAACCTTGTTTTTGTGGTGAAGGAT", hash = 3053859390691900972}, {str = "ACCTCGAACCTTGTTTTTGTGGTGAAGGATC", hash = 1969474515609339547}, {
--Type <RET> for more, q to quit, c to continue without paging--
            str = "CCTCGAACCTTGTTTTTGTGGTGAAGGATCC", hash = 1569715708791399399}, {str = "CTCGAACCTTGTTTTTGTGGTGAAGGATCCT", hash = 3980077008885818517}, {str = "TCGAACCTTGTTTTTGTGGTGAAGGATCCTA", 
            hash = 3858915067637104041}, {str = "CGAACCTTGTTTTTGTGGTGAAGGATCCTAA", hash = 1749778749645656557}, {str = "GAACCTTGTTTTTGTGGTGAAGGATCCTAAA", hash = 3318370844936342950}, {
            str = "AACCTTGTTTTTGTGGTGAAGGATCCTAAAG", hash = 438733748386020317}, {str = "ACCTTGTTTTTGTGGTGAAGGATCCTAAAGT", hash = 1266695843539912779}, {str = "CCTTGTTTTTGTGGTGAAGGATCCTAAAGTG", 
            hash = 4488483402798802422}, {str = "CTTGTTTTTGTGGTGAAGGATCCTAAAGTGC", hash = 730172355147591281}, {str = "TTGTTTTTGTGGTGAAGGATCCTAAAGTGCT", hash = 2474376210175592629}, {
            str = "TGTTTTTGTGGTGAAGGATCCTAAAGTGCTG", hash = 1505986440969705052}, {str = "GTTTTTGTGGTGAAGGATCCTAAAGTGCTGT", hash = 3342229182468857549}, {str = "TTTTTGTGGTGAAGGATCCTAAAGTGCTGTG", 
            hash = 3489770027088411190}, {str = "TTTTGTGGTGAAGGATCCTAAAGTGCTGTGG", hash = 2728595802550773257}, {str = "TTTGTGGTGAAGGATCCTAAAGTGCTGTGGG", hash = 1790372557164072706}, {
            str = "TTGTGGTGAAGGATCCTAAAGTGCTGTGGGG", hash = 201118124230238389}, {str = "TGTGGTGAAGGATCCTAAAGTGCTGTGGGGA", hash = 2394822784416752305}, {str = "GTGGTGAAGGATCCTAAAGTGCTGTGGGGAG", 
            hash = 2913766816999737430}, {str = "TGGTGAAGGATCCTAAAGTGCTGTGGGGAGT", hash = 1083957273912470088}, {str = "GGTGAAGGATCCTAAAGTGCTGTGGGGAGTG", hash = 3745063112234500599}, {
            str = "GTGAAGGATCCTAAAGTGCTGTGGGGAGTGA", hash = 3861413813787749834}, {str = "TGAAGGATCCTAAAGTGCTGTGGGGAGTGAT", hash = 3885518273234845771}, {str = "GAAGGATCCTAAAGTGCTGTGGGGAGTGATC", 
            hash = 1634305373162946385}, {str = "AAGGATCCTAAAGTGCTGTGGGGAGTGATCA", hash = 1476913983044073012}, {str = "AGGATCCTAAAGTGCTGTGGGGAGTGATCAC", hash = 1500480655010954197}, {
            str = "GGATCCTAAAGTGCTGTGGGGAGTGATCACA", hash = 4006205886304171677}, {str = "GATCCTAAAGTGCTGTGGGGAGTGATCACAT", hash = 1063684948851989967}, {str = "ATCCTAAAGTGCTGTGGGGAGTGATCACATT", 
            hash = 401818696385865246}, {str = "TCCTAAAGTGCTGTGGGGAGTGATCACATTT", hash = 1143511543895623406}, {str = "CCTAAAGTGCTGTGGGGAGTGATCACATTTT", hash = 1330522762486075652}, {
            str = "CTAAAGTGCTGTGGGGAGTGATCACATTTTT", hash = 3929957634986999729}, {str = "TAAAGTGCTGTGGGGAGTGATCACATTTTTC", hash = 2312910985735615464}, {str = "AAAGTGCTGTGGGGAGTGATCACATTTTTCA", 
            hash = 820186674076609}, {str = "AAGTGCTGTGGGGAGTGATCACATTTTTCAC", hash = 3370990190170701557}, {str = "AGTGCTGTGGGGAGTGATCACATTTTTCACA", hash = 1091444764667477315}, {
            str = "GTGCTGTGGGGAGTGATCACATTTTTCACAA", hash = 1144025050478085607}, {str = "TGCTGTGGGGAGTGATCACATTTTTCACAAC", hash = 4193240014992342969}, {str = "GCTGTGGGGAGTGATCACATTTTTCACAACA", 
            hash = 4341555630426971271}, {str = "CTGTGGGGAGTGATCACATTTTTCACAACAT", hash = 1115824875535599130}, {str = "TGTGGGGAGTGATCACATTTTTCACAACATC", hash = 160538575247996201}, {
            str = "GTGGGGAGTGATCACATTTTTCACAACATCC", hash = 2697010907119358398}, {str = "TGGGGAGTGATCACATTTTTCACAACATCCC", hash = 3402997797233763310}, {str = "GGGGAGTGATCACATTTTTCACAACATCCCT", 
            hash = 378793474996132379}, {str = "GGGAGTGATCACATTTTTCACAACATCCCTG", hash = 19230252280190883}, {str = "GGAGTGATCACATTTTTCACAACATCCCTGA", hash = 1649508160331788655}, {
            str = "GAGTGATCACATTTTTCACAACATCCCTGAC", hash = 806478536352191152}, {str = "AGTGATCACATTTTTCACAACATCCCTGACT", hash = 1820404173726756025}, {str = "GTGATCACATTTTTCACAACATCCCTGACTC", 
            hash = 3527810998427043549}, {str = "TGATCACATTTTTCACAACATCCCTGACTCC", hash = 2075155407435972072}, {str = "GATCACATTTTTCACAACATCCCTGACTCCA", hash = 1127999080839452634}, {
            str = "ATCACATTTTTCACAACATCCCTGACTCCAC", hash = 1247740405191436658}, {str = "TCACATTTTTCACAACATCCCTGACTCCACC", hash = 4496025521531630549}, {str = "CACATTTTTCACAACATCCCTGACTCCACCT", 
            hash = 4435943802419625410}, {str = "ACATTTTTCACAACATCCCTGACTCCACCTC", hash = 2871562830076073001}, {str = "CATTTTTCACAACATCCCTGACTCCACCTCT", hash = 2596204754767475617}, {
            str = "ATTTTTCACAACATCCCTGACTCCACCTCTT", hash = 1302134788684360238}, {str = "TTTTTCACAACATCCCTGACTCCACCTCTTC", hash = 4521348037573308258}, {str = "TTTTCACAACATCCCTGACTCCACCTCTTCT", 
            hash = 2780220349519292211}, {str = "TTTCACAACATCCCTGACTCCACCTCTTCTG", hash = 1107921276454453298}, {str = "TTCACAACATCCCTGACTCCACCTCTTCTGC", hash = 3454457882883078983}, {
            str = "TCACAACATCCCTGACTCCACCTCTTCTGCC", hash = 3017349983201059787}, {str = "CACAACATCCCTGACTCCACCTCTTCTGCCA", hash = 2876529903293581824}, {str = "ACAACATCCCTGACTCCACCTCTTCTGCCAC", 
            hash = 2232424657824055260}, {str = "CAACATCCCTGACTCCACCTCTTCTGCCACA", hash = 1945906454116299913}, {str = "AACATCCCTGACTCCACCTCTTCTGCCACAA", hash = 1680107508649525421}, {
            str = "ACATCCCTGACTCCACCTCTTCTGCCACAAA", hash = 2074414744142747167}, {str = "CATCCCTGACTCCACCTCTTCTGCCACAAAC", hash = 658327886323735941}, {str = "ATCCCTGACTCCACCTCTTCTGCCACAAACG", 
            hash = 1544415177791218207}, {str = "TCCCTGACTCCACCTCTTCTGCCACAAACGT", hash = 3253088371227032224}, {str = "CCCTGACTCCACCTCTTCTGCCACAAACGTC", hash = 3064296971755776164}, {
            str = "CCTGACTCCACCTCTTCTGCCACAAACGTCA", hash = 722000307740867477}, {str = "CTGACTCCACCTCTTCTGCCACAAACGTCAG", hash = 3380417266733848752}, {str = "TGACTCCACCTCTTCTGCCACAAACGTCAGC", 
            hash = 1024110441529798690}, {str = "GACTCCACCTCTTCTGCCACAAACGTCAGCA", hash = 863524341638087719}, {str = "ACTCCACCTCTTCTGCCACAAACGTCAGCAT", hash = 3468814548236365514}, {
            str = "CTCCACCTCTTCTGCCACAAACGTCAGCATG", hash = 2508580578508573283}, {str = "TCCACCTCTTCTGCCACAAACGTCAGCATGG", hash = 1199375686733191947}, {str = "CCACCTCTTCTGCCACAAACGTCAGCATGGT", 
            hash = 1405549925218823208}, {str = "CACCTCTTCTGCCACAAACGTCAGCATGGTG", hash = 1381498968553634593}, {str = "ACCTCTTCTGCCACAAACGTCAGCATGGTGG", hash = 3965801941219655628}, {
            str = "CCTCTTCTGCCACAAACGTCAGCATGGTGGT", hash = 2862570124473923200}, {str = "CTCTTCTGCCACAAACGTCAGCATGGTGGTA", hash = 2117806657029414218}, {str = "TCTTCTGCCACAAACGTCAGCATGGTGGTAT", 
            hash = 4237877294863040328}, {str = "CTTCTGCCACAAACGTCAGCATGGTGGTATC", hash = 594732706441401553}, {str = "TTCTGCCACAAACGTCAGCATGGTGGTATCA", hash = 3150617693369099126}, {
            str = "TCTGCCACAAACGTCAGCATGGTGGTATCAG", hash = 224490576667288081}, {str = "CTGCCACAAACGTCAGCATGGTGGTATCAGC", hash = 4029596087638654157}, {str = "TGCCACAAACGTCAGCATGGTGGTATCAGCC", 
            hash = 4532072366792155982}, {str = "GCCACAAACGTCAGCATGGTGGTATCAGCCG", hash = 2046036368442275799}, {str = "CCACAAACGTCAGCATGGTGGTATCAGCCGG", hash = 3359175068922139095}, {
            str = "CACAAACGTCAGCATGGTGGTATCAGCCGGC", hash = 2325649399371222295}, {str = "ACAAACGTCAGCATGGTGGTATCAGCCGGCC", hash = 2195910845236455514}, {str = "CAAACGTCAGCATGGTGGTATCAGCCGGCCA", 
            hash = 3890825450486026077}, {str = "AAACGTCAGCATGGTGGTATCAGCCGGCCAT", hash = 2339612393558708297}, {str = "AACGTCAGCATGGTGGTATCAGCCGGCCATT", hash = 4534107598043968953}, {
            str = "ACGTCAGCATGGTGGTATCAGCCGGCCATTG", hash = 3674804131437745199}, {str = "CGTCAGCATGGTGGTATCAGCCGGCCATTGG", hash = 1258588623067523580}, {str = "GTCAGCATGGTGGTATCAGCCGGCCATTGGT", 
            hash = 4450525736164836098}, {str = "TCAGCATGGTGGTATCAGCCGGCCATTGGTC", hash = 2256129718927353985}, {str = "CAGCATGGTGGTATCAGCCGGCCATTGGTCC", hash = 2069734604864954663}, {
            str = "AGCATGGTGGTATCAGCCGGCCATTGGTCCA", hash = 3363813055924180290}, {str = "GCATGGTGGTATCAGCCGGCCATTGGTCCAG", hash = 3525062285613509595}, {str = "CATGGTGGTATCAGCCGGCCATTGGTCCAGT", 
            hash = 4311457421746396407}, {str = "ATGGTGGTATCAGCCGGCCATTGGTCCAGTG", hash = 4327622163871223678}, {str = "TGGTGGTATCAGCCGGCCATTGGTCCAGTGA", hash = 3239197403685028122}, {
            str = "GGTGGTATCAGCCGGCCATTGGTCCAGTGAG", hash = 3180523157265637820}, {str = "GTGGTATCAGCCGGCCATTGGTCCAGTGAGA", hash = 2524758401872098992}, {str = "TGGTATCAGCCGGCCATTGGTCCAGTGAGAA", 
            hash = 441995249999462078}, {str = "GGTATCAGCCGGCCATTGGTCCAGTGAGAAG", hash = 3584701445611512180}, {str = "GTATCAGCCGGCCATTGGTCCAGTGAGAAGG", hash = 3770292979943305781}, {
            str = "TATCAGCCGGCCATTGGTCCAGTGAGAAGGC", hash = 770742035625922299}...}
        __for_begin = {str = "CTATTATTATATTCATATCTCTACACTGCAA", hash = 1146667402901346210}
        __for_end = {str = "", hash = 0}
        readName = "ENST00000652444.1|ENSG00000273136.7|OTTHUMG00000189374.4|OTTHUMT00000502078.1|NBPF26-210|NBPF26|5270|UTR5:1-192|CDS:193-3753|UTR3:3754-5270|"
        it = {
          ctrl_ = 0x7f9d78093418 "?HX6{\003|\030\065g(54\001\bB\200\200J\200\200\200\004\200r\200NS\017\064D\200\027\003\200\200@\"Fp?&+h\vPLKygaH$\031\200\200\200\200\200\200\t\200@\200h\003sy)\200\200\200\200\030mTk\025d\033u9=H[U\200\200c\\N5zR\035Z\001Cf\037\005\bz\200\067vN\200C\200aV\200_\037\a\030\200\063\200*\200\200F\200\200]q\026r:\030dU QS_'\025\200T\200PTP,\023\200\200n\004", {
            slot_ = 0x7f9d780a3a20}}
        groupName = "ENSG00000273136.7"
        readTag = 107
        seq = {first = "ENST00000652444.1|ENSG00000273136.7|OTTHUMG00000189374.4|OTTHUMT00000502078.1|NBPF26-210|NBPF26|5270|UTR5:1-192|CDS:193-3753|UTR3:3754-5270|", 
          second = std::vector of length 5240, capacity 5270 = {{str = "AGACGGTTACCTGGCACGCTGGCCACATTCT", hash = 2254551858817553998}, {str = "GACGGTTACCTGGCACGCTGGCCACATTCTG", 
--Type <RET> for more, q to quit, c to continue without paging--
              hash = 1996165039621512424}, {str = "ACGGTTACCTGGCACGCTGGCCACATTCTGC", hash = 911838071752904846}, {str = "CGGTTACCTGGCACGCTGGCCACATTCTGCC", hash = 4015967930525012859}, {
              str = "GGTTACCTGGCACGCTGGCCACATTCTGCCT", hash = 4272383346053997102}, {str = "GTTACCTGGCACGCTGGCCACATTCTGCCTC", hash = 2479664610794554676}, {
              str = "TTACCTGGCACGCTGGCCACATTCTGCCTCA", hash = 636591433892205168}, {str = "TACCTGGCACGCTGGCCACATTCTGCCTCAC", hash = 1631231667496998417}, {str = "ACCTGGCACGCTGGCCACATTCTGCCTCACT", 
              hash = 831152466497021057}, {str = "CCTGGCACGCTGGCCACATTCTGCCTCACTC", hash = 1847302335668341920}, {str = "CTGGCACGCTGGCCACATTCTGCCTCACTCT", hash = 3233844935995306034}, {
              str = "TGGCACGCTGGCCACATTCTGCCTCACTCTT", hash = 1168977335840258883}, {str = "GGCACGCTGGCCACATTCTGCCTCACTCTTA", hash = 3748912846293994032}, {
              str = "GCACGCTGGCCACATTCTGCCTCACTCTTAT", hash = 3665941082336238627}, {str = "CACGCTGGCCACATTCTGCCTCACTCTTATC", hash = 441203803288473399}, {str = "ACGCTGGCCACATTCTGCCTCACTCTTATCA", 
              hash = 257945315550845575}, {str = "CGCTGGCCACATTCTGCCTCACTCTTATCAG", hash = 2891402199531825250}, {str = "GCTGGCCACATTCTGCCTCACTCTTATCAGA", hash = 316530633463993973}, {
              str = "CTGGCCACATTCTGCCTCACTCTTATCAGAG", hash = 1448641423490193246}, {str = "TGGCCACATTCTGCCTCACTCTTATCAGAGT", hash = 4115330216024664760}, {
              str = "GGCCACATTCTGCCTCACTCTTATCAGAGTC", hash = 2434589352774224959}, {str = "GCCACATTCTGCCTCACTCTTATCAGAGTCT", hash = 942112201614284906}, {str = "CCACATTCTGCCTCACTCTTATCAGAGTCTG", 
              hash = 2958853833341002029}, {str = "CACATTCTGCCTCACTCTTATCAGAGTCTGA", hash = 247507700326570120}, {str = "ACATTCTGCCTCACTCTTATCAGAGTCTGAG", hash = 2582019024410939386}, {
              str = "CATTCTGCCTCACTCTTATCAGAGTCTGAGC", hash = 3650312714249167636}, {str = "ATTCTGCCTCACTCTTATCAGAGTCTGAGCT", hash = 296336788211557578}, {str = "TTCTGCCTCACTCTTATCAGAGTCTGAGCTA", 
              hash = 1315964255860094039}, {str = "TCTGCCTCACTCTTATCAGAGTCTGAGCTAC", hash = 245686812559436375}, {str = "CTGCCTCACTCTTATCAGAGTCTGAGCTACT", hash = 3549205002543762473}, {
              str = "TGCCTCACTCTTATCAGAGTCTGAGCTACTG", hash = 2444285775868316950}, {str = "GCCTCACTCTTATCAGAGTCTGAGCTACTGG", hash = 611076699933310163}, {str = "CCTCACTCTTATCAGAGTCTGAGCTACTGGC", 
              hash = 2808089598425270100}, {str = "CTCACTCTTATCAGAGTCTGAGCTACTGGCA", hash = 707355416505402297}, {str = "TCACTCTTATCAGAGTCTGAGCTACTGGCAG", hash = 240511854568802354}, {
              str = "CACTCTTATCAGAGTCTGAGCTACTGGCAGT", hash = 1678502363967558050}, {str = "ACTCTTATCAGAGTCTGAGCTACTGGCAGTG", hash = 1041595707067937876}, {
              str = "CTCTTATCAGAGTCTGAGCTACTGGCAGTGC", hash = 3119407113272679071}, {str = "TCTTATCAGAGTCTGAGCTACTGGCAGTGCT", hash = 1543754669554786414}, {
              str = "CTTATCAGAGTCTGAGCTACTGGCAGTGCTT", hash = 561576121085706351}, {str = "TTATCAGAGTCTGAGCTACTGGCAGTGCTTT", hash = 3315694266711686348}, {str = "TATCAGAGTCTGAGCTACTGGCAGTGCTTTC", 
              hash = 828423232329585095}, {str = "ATCAGAGTCTGAGCTACTGGCAGTGCTTTCA", hash = 1287560095959574925}, {str = "TCAGAGTCTGAGCTACTGGCAGTGCTTTCAG", hash = 2089786310162126963}, {
              str = "CAGAGTCTGAGCTACTGGCAGTGCTTTCAGC", hash = 3009753470430141545}, {str = "AGAGTCTGAGCTACTGGCAGTGCTTTCAGCT", hash = 2489298446322669822}, {
              str = "GAGTCTGAGCTACTGGCAGTGCTTTCAGCTC", hash = 479562323485946792}, {str = "AGTCTGAGCTACTGGCAGTGCTTTCAGCTCT", hash = 674042932385701191}, {str = "GTCTGAGCTACTGGCAGTGCTTTCAGCTCTG", 
              hash = 1322496201497159345}, {str = "TCTGAGCTACTGGCAGTGCTTTCAGCTCTGA", hash = 3575072688005183157}, {str = "CTGAGCTACTGGCAGTGCTTTCAGCTCTGAG", hash = 3032390211470423597}, {
              str = "TGAGCTACTGGCAGTGCTTTCAGCTCTGAGT", hash = 1294155751004892326}, {str = "GAGCTACTGGCAGTGCTTTCAGCTCTGAGTT", hash = 3211535873037916855}, {
              str = "AGCTACTGGCAGTGCTTTCAGCTCTGAGTTG", hash = 121542489420289114}, {str = "GCTACTGGCAGTGCTTTCAGCTCTGAGTTGA", hash = 335917423857352574}, {str = "CTACTGGCAGTGCTTTCAGCTCTGAGTTGAG", 
              hash = 3443688301786490113}, {str = "TACTGGCAGTGCTTTCAGCTCTGAGTTGAGG", hash = 1145676817919776818}, {str = "ACTGGCAGTGCTTTCAGCTCTGAGTTGAGGC", hash = 2005725393344124583}, {
              str = "CTGGCAGTGCTTTCAGCTCTGAGTTGAGGCA", hash = 587306996403439853}, {str = "TGGCAGTGCTTTCAGCTCTGAGTTGAGGCAC", hash = 4390786559099807586}, {str = "GGCAGTGCTTTCAGCTCTGAGTTGAGGCACC", 
              hash = 445248530543031580}, {str = "GCAGTGCTTTCAGCTCTGAGTTGAGGCACCT", hash = 2010519152598947319}, {str = "CAGTGCTTTCAGCTCTGAGTTGAGGCACCTC", hash = 4497223724559814257}, {
              str = "AGTGCTTTCAGCTCTGAGTTGAGGCACCTCG", hash = 2071722768031345372}, {str = "GTGCTTTCAGCTCTGAGTTGAGGCACCTCGA", hash = 1141106766873699820}, {
              str = "TGCTTTCAGCTCTGAGTTGAGGCACCTCGAA", hash = 3244163357727748346}, {str = "GCTTTCAGCTCTGAGTTGAGGCACCTCGAAC", hash = 1656122848133201861}, {
              str = "CTTTCAGCTCTGAGTTGAGGCACCTCGAACC", hash = 2228449759377119889}, {str = "TTTCAGCTCTGAGTTGAGGCACCTCGAACCT", hash = 2662986646517476834}, {
              str = "TTCAGCTCTGAGTTGAGGCACCTCGAACCTT", hash = 1987029516908448409}, {str = "TCAGCTCTGAGTTGAGGCACCTCGAACCTTG", hash = 3827662942990249191}, {
              str = "CAGCTCTGAGTTGAGGCACCTCGAACCTTGT", hash = 3809341794819965732}, {str = "AGCTCTGAGTTGAGGCACCTCGAACCTTGTT", hash = 2363478906874504245}, {
              str = "GCTCTGAGTTGAGGCACCTCGAACCTTGTTT", hash = 1922293509812585869}, {str = "CTCTGAGTTGAGGCACCTCGAACCTTGTTTT", hash = 53401290648749005}, {str = "TCTGAGTTGAGGCACCTCGAACCTTGTTTTT", 
              hash = 3205735485356737045}, {str = "CTGAGTTGAGGCACCTCGAACCTTGTTTTTG", hash = 468888342982612373}, {str = "TGAGTTGAGGCACCTCGAACCTTGTTTTTGT", hash = 947343282128958660}, {
              str = "GAGTTGAGGCACCTCGAACCTTGTTTTTGTG", hash = 236844614477782314}, {str = "AGTTGAGGCACCTCGAACCTTGTTTTTGTGG", hash = 1331535823026163987}, {str = "GTTGAGGCACCTCGAACCTTGTTTTTGTGGT", 
              hash = 2494259516010959779}, {str = "TTGAGGCACCTCGAACCTTGTTTTTGTGGTG", hash = 1062393378741614186}, {str = "TGAGGCACCTCGAACCTTGTTTTTGTGGTGA", hash = 170815810740753088}, {
              str = "GAGGCACCTCGAACCTTGTTTTTGTGGTGAA", hash = 2869577203141326574}, {str = "AGGCACCTCGAACCTTGTTTTTGTGGTGAAG", hash = 3233781874593896978}, {
              str = "GGCACCTCGAACCTTGTTTTTGTGGTGAAGG", hash = 191422059116575878}, {str = "GCACCTCGAACCTTGTTTTTGTGGTGAAGGA", hash = 3060014008806828422}, {str = "CACCTCGAACCTTGTTTTTGTGGTGAAGGAT", 
              hash = 3053859390691900972}, {str = "ACCTCGAACCTTGTTTTTGTGGTGAAGGATC", hash = 1969474515609339547}, {str = "CCTCGAACCTTGTTTTTGTGGTGAAGGATCC", hash = 1569715708791399399}, {
              str = "CTCGAACCTTGTTTTTGTGGTGAAGGATCCT", hash = 3980077008885818517}, {str = "TCGAACCTTGTTTTTGTGGTGAAGGATCCTA", hash = 3858915067637104041}, {
              str = "CGAACCTTGTTTTTGTGGTGAAGGATCCTAA", hash = 1749778749645656557}, {str = "GAACCTTGTTTTTGTGGTGAAGGATCCTAAA", hash = 3318370844936342950}, {
              str = "AACCTTGTTTTTGTGGTGAAGGATCCTAAAG", hash = 438733748386020317}, {str = "ACCTTGTTTTTGTGGTGAAGGATCCTAAAGT", hash = 1266695843539912779}, {str = "CCTTGTTTTTGTGGTGAAGGATCCTAAAGTG", 
              hash = 4488483402798802422}, {str = "CTTGTTTTTGTGGTGAAGGATCCTAAAGTGC", hash = 730172355147591281}, {str = "TTGTTTTTGTGGTGAAGGATCCTAAAGTGCT", hash = 2474376210175592629}, {
              str = "TGTTTTTGTGGTGAAGGATCCTAAAGTGCTG", hash = 1505986440969705052}, {str = "GTTTTTGTGGTGAAGGATCCTAAAGTGCTGT", hash = 3342229182468857549}, {
              str = "TTTTTGTGGTGAAGGATCCTAAAGTGCTGTG", hash = 3489770027088411190}, {str = "TTTTGTGGTGAAGGATCCTAAAGTGCTGTGG", hash = 2728595802550773257}, {
              str = "TTTGTGGTGAAGGATCCTAAAGTGCTGTGGG", hash = 1790372557164072706}, {str = "TTGTGGTGAAGGATCCTAAAGTGCTGTGGGG", hash = 201118124230238389}, {str = "TGTGGTGAAGGATCCTAAAGTGCTGTGGGGA", 
              hash = 2394822784416752305}, {str = "GTGGTGAAGGATCCTAAAGTGCTGTGGGGAG", hash = 2913766816999737430}, {str = "TGGTGAAGGATCCTAAAGTGCTGTGGGGAGT", hash = 1083957273912470088}, {
              str = "GGTGAAGGATCCTAAAGTGCTGTGGGGAGTG", hash = 3745063112234500599}, {str = "GTGAAGGATCCTAAAGTGCTGTGGGGAGTGA", hash = 3861413813787749834}, {
              str = "TGAAGGATCCTAAAGTGCTGTGGGGAGTGAT", hash = 3885518273234845771}, {str = "GAAGGATCCTAAAGTGCTGTGGGGAGTGATC", hash = 1634305373162946385}, {
              str = "AAGGATCCTAAAGTGCTGTGGGGAGTGATCA", hash = 1476913983044073012}, {str = "AGGATCCTAAAGTGCTGTGGGGAGTGATCAC", hash = 1500480655010954197}, {
              str = "GGATCCTAAAGTGCTGTGGGGAGTGATCACA", hash = 4006205886304171677}, {str = "GATCCTAAAGTGCTGTGGGGAGTGATCACAT", hash = 1063684948851989967}, {
              str = "ATCCTAAAGTGCTGTGGGGAGTGATCACATT", hash = 401818696385865246}, {str = "TCCTAAAGTGCTGTGGGGAGTGATCACATTT", hash = 1143511543895623406}, {str = "CCTAAAGTGCTGTGGGGAGTGATCACATTTT", 
              hash = 1330522762486075652}, {str = "CTAAAGTGCTGTGGGGAGTGATCACATTTTT", hash = 3929957634986999729}, {str = "TAAAGTGCTGTGGGGAGTGATCACATTTTTC", hash = 2312910985735615464}, {
              str = "AAAGTGCTGTGGGGAGTGATCACATTTTTCA", hash = 820186674076609}, {str = "AAGTGCTGTGGGGAGTGATCACATTTTTCAC", hash = 3370990190170701557}, {str = "AGTGCTGTGGGGAGTGATCACATTTTTCACA", 
              hash = 1091444764667477315}, {str = "GTGCTGTGGGGAGTGATCACATTTTTCACAA", hash = 1144025050478085607}, {str = "TGCTGTGGGGAGTGATCACATTTTTCACAAC", hash = 4193240014992342969}, {
              str = "GCTGTGGGGAGTGATCACATTTTTCACAACA", hash = 4341555630426971271}, {str = "CTGTGGGGAGTGATCACATTTTTCACAACAT", hash = 1115824875535599130}, {
              str = "TGTGGGGAGTGATCACATTTTTCACAACATC", hash = 160538575247996201}, {str = "GTGGGGAGTGATCACATTTTTCACAACATCC", hash = 2697010907119358398}, {str = "TGGGGAGTGATCACATTTTTCACAACATCCC", 
--Type <RET> for more, q to quit, c to continue without paging--
              hash = 3402997797233763310}, {str = "GGGGAGTGATCACATTTTTCACAACATCCCT", hash = 378793474996132379}, {str = "GGGAGTGATCACATTTTTCACAACATCCCTG", hash = 19230252280190883}, {
              str = "GGAGTGATCACATTTTTCACAACATCCCTGA", hash = 1649508160331788655}, {str = "GAGTGATCACATTTTTCACAACATCCCTGAC", hash = 806478536352191152}, {str = "AGTGATCACATTTTTCACAACATCCCTGACT", 
              hash = 1820404173726756025}, {str = "GTGATCACATTTTTCACAACATCCCTGACTC", hash = 3527810998427043549}, {str = "TGATCACATTTTTCACAACATCCCTGACTCC", hash = 2075155407435972072}, {
              str = "GATCACATTTTTCACAACATCCCTGACTCCA", hash = 1127999080839452634}, {str = "ATCACATTTTTCACAACATCCCTGACTCCAC", hash = 1247740405191436658}, {
              str = "TCACATTTTTCACAACATCCCTGACTCCACC", hash = 4496025521531630549}, {str = "CACATTTTTCACAACATCCCTGACTCCACCT", hash = 4435943802419625410}, {
              str = "ACATTTTTCACAACATCCCTGACTCCACCTC", hash = 2871562830076073001}, {str = "CATTTTTCACAACATCCCTGACTCCACCTCT", hash = 2596204754767475617}, {
              str = "ATTTTTCACAACATCCCTGACTCCACCTCTT", hash = 1302134788684360238}, {str = "TTTTTCACAACATCCCTGACTCCACCTCTTC", hash = 4521348037573308258}, {
              str = "TTTTCACAACATCCCTGACTCCACCTCTTCT", hash = 2780220349519292211}, {str = "TTTCACAACATCCCTGACTCCACCTCTTCTG", hash = 1107921276454453298}, {
              str = "TTCACAACATCCCTGACTCCACCTCTTCTGC", hash = 3454457882883078983}, {str = "TCACAACATCCCTGACTCCACCTCTTCTGCC", hash = 3017349983201059787}, {
              str = "CACAACATCCCTGACTCCACCTCTTCTGCCA", hash = 2876529903293581824}, {str = "ACAACATCCCTGACTCCACCTCTTCTGCCAC", hash = 2232424657824055260}, {
              str = "CAACATCCCTGACTCCACCTCTTCTGCCACA", hash = 1945906454116299913}, {str = "AACATCCCTGACTCCACCTCTTCTGCCACAA", hash = 1680107508649525421}, {
              str = "ACATCCCTGACTCCACCTCTTCTGCCACAAA", hash = 2074414744142747167}, {str = "CATCCCTGACTCCACCTCTTCTGCCACAAAC", hash = 658327886323735941}, {str = "ATCCCTGACTCCACCTCTTCTGCCACAAACG", 
              hash = 1544415177791218207}, {str = "TCCCTGACTCCACCTCTTCTGCCACAAACGT", hash = 3253088371227032224}, {str = "CCCTGACTCCACCTCTTCTGCCACAAACGTC", hash = 3064296971755776164}, {
              str = "CCTGACTCCACCTCTTCTGCCACAAACGTCA", hash = 722000307740867477}, {str = "CTGACTCCACCTCTTCTGCCACAAACGTCAG", hash = 3380417266733848752}, {str = "TGACTCCACCTCTTCTGCCACAAACGTCAGC", 
              hash = 1024110441529798690}, {str = "GACTCCACCTCTTCTGCCACAAACGTCAGCA", hash = 863524341638087719}, {str = "ACTCCACCTCTTCTGCCACAAACGTCAGCAT", hash = 3468814548236365514}, {
              str = "CTCCACCTCTTCTGCCACAAACGTCAGCATG", hash = 2508580578508573283}, {str = "TCCACCTCTTCTGCCACAAACGTCAGCATGG", hash = 1199375686733191947}, {
              str = "CCACCTCTTCTGCCACAAACGTCAGCATGGT", hash = 1405549925218823208}, {str = "CACCTCTTCTGCCACAAACGTCAGCATGGTG", hash = 1381498968553634593}, {
              str = "ACCTCTTCTGCCACAAACGTCAGCATGGTGG", hash = 3965801941219655628}, {str = "CCTCTTCTGCCACAAACGTCAGCATGGTGGT", hash = 2862570124473923200}, {
              str = "CTCTTCTGCCACAAACGTCAGCATGGTGGTA", hash = 2117806657029414218}, {str = "TCTTCTGCCACAAACGTCAGCATGGTGGTAT", hash = 4237877294863040328}, {
              str = "CTTCTGCCACAAACGTCAGCATGGTGGTATC", hash = 594732706441401553}, {str = "TTCTGCCACAAACGTCAGCATGGTGGTATCA", hash = 3150617693369099126}, {str = "TCTGCCACAAACGTCAGCATGGTGGTATCAG", 
              hash = 224490576667288081}, {str = "CTGCCACAAACGTCAGCATGGTGGTATCAGC", hash = 4029596087638654157}, {str = "TGCCACAAACGTCAGCATGGTGGTATCAGCC", hash = 4532072366792155982}, {
              str = "GCCACAAACGTCAGCATGGTGGTATCAGCCG", hash = 2046036368442275799}, {str = "CCACAAACGTCAGCATGGTGGTATCAGCCGG", hash = 3359175068922139095}, {
              str = "CACAAACGTCAGCATGGTGGTATCAGCCGGC", hash = 2325649399371222295}, {str = "ACAAACGTCAGCATGGTGGTATCAGCCGGCC", hash = 2195910845236455514}, {
              str = "CAAACGTCAGCATGGTGGTATCAGCCGGCCA", hash = 3890825450486026077}, {str = "AAACGTCAGCATGGTGGTATCAGCCGGCCAT", hash = 2339612393558708297}, {
              str = "AACGTCAGCATGGTGGTATCAGCCGGCCATT", hash = 4534107598043968953}, {str = "ACGTCAGCATGGTGGTATCAGCCGGCCATTG", hash = 3674804131437745199}, {
              str = "CGTCAGCATGGTGGTATCAGCCGGCCATTGG", hash = 1258588623067523580}, {str = "GTCAGCATGGTGGTATCAGCCGGCCATTGGT", hash = 4450525736164836098}, {
              str = "TCAGCATGGTGGTATCAGCCGGCCATTGGTC", hash = 2256129718927353985}, {str = "CAGCATGGTGGTATCAGCCGGCCATTGGTCC", hash = 2069734604864954663}, {
              str = "AGCATGGTGGTATCAGCCGGCCATTGGTCCA", hash = 3363813055924180290}, {str = "GCATGGTGGTATCAGCCGGCCATTGGTCCAG", hash = 3525062285613509595}, {
              str = "CATGGTGGTATCAGCCGGCCATTGGTCCAGT", hash = 4311457421746396407}, {str = "ATGGTGGTATCAGCCGGCCATTGGTCCAGTG", hash = 4327622163871223678}, {
              str = "TGGTGGTATCAGCCGGCCATTGGTCCAGTGA", hash = 3239197403685028122}, {str = "GGTGGTATCAGCCGGCCATTGGTCCAGTGAG", hash = 3180523157265637820}, {
              str = "GTGGTATCAGCCGGCCATTGGTCCAGTGAGA", hash = 2524758401872098992}, {str = "TGGTATCAGCCGGCCATTGGTCCAGTGAGAA", hash = 441995249999462078}, {str = "GGTATCAGCCGGCCATTGGTCCAGTGAGAAG", 
              hash = 3584701445611512180}, {str = "GTATCAGCCGGCCATTGGTCCAGTGAGAAGG", hash = 3770292979943305781}, {str = "TATCAGCCGGCCATTGGTCCAGTGAGAAGGC", hash = 770742035625922299}...}}
        __for_range = @0x55940461a630: {<phmap::priv::raw_hash_map<phmap::priv::FlatHashMapPolicy<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<kmer_row, std::allocator<kmer_row> > >, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<kmer_row, std::allocator<kmer_row> > > > >> = {<phmap::priv::raw_hash_set<phmap::priv::FlatHashMapPolicy<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<kmer_row, std::allocator<kmer_row> > >, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<kmer_row, std::allocator<kmer_row> > > > >> = {
              ctrl_ = 0x55940d93ce20 "\030H\200\020-JsPe\006\b.-Y\f \027co\023\033\027\002Ph%oo\200\200\200\200*.\200M\017k\200\200\200\200\a\200T\200c\200L\tvBk\023y0V4\b\200\200Ab\200iF\200\200c\200J\200\200\200\200\001N}\200T\032\067\027d m[_\020W\031:nNs\200vH\037Q-2t\023@`YF\200\200G=", slots_ = 0x55940d93d630, size_ = 1500, capacity_ = 2047, infoz_ = {<No data fields>}, 
              settings_ = {<phmap::priv::internal_compressed_tuple::CompressedTupleImpl<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<kmer_row, std::allocator<kmer_row> > > > >, phmap::integer_sequence<unsigned long, 0, 1, 2, 3> >> = {<phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<kmer_row, std::allocator<kmer_row> > > > >, 0, false>> = {
                    value = 292}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<kmer_row, std::allocator<kmer_row> > > > >, 1, true>> = {<phmap::priv::StringHashT<char>> = {<No data fields>}, <No data fields>}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<kmer_row, std::allocator<kmer_row> > > > >, 2, true>> = {<phmap::priv::StringHashEqT<char>::Eq> = {<No data fields>}, <No data fields>}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<kmer_row, std::allocator<kmer_row> > > > >, 3, true>> = {<std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<kmer_row, std::allocator<kmer_row> > > >> = {<__gnu_cxx::new_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<kmer_row, std::allocator<kmer_row> > > >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}}, <No data fields>}, <No data fields>}
        __for_begin = {
          ctrl_ = 0x55940d93d228 "?HX6{\003|\030\065g(54\001\bB\200\200J\200\200\200\004\200r\200NS\017\064D\200\027\003\200\200@\"Fp?&+h\vPLKygaH$\031\200\200\200\200\200\200\t\200@\200h\003sy)\200\200\200\200\030mTk\025d\033u9=H[U\200\200c\\N5zR\035Z\001Cf\037\005\bz\200\067vN\200C\200aV\200_\037\a\030\200\063\200*\200\200F\200\200]q\026r:\030dU QS_'\025\200T\200PTP,\023\200\200n\004", {
            slot_ = 0x55940d94b7f0}}
--Type <RET> for more, q to quit, c to continue without paging--
        __for_end = {ctrl_ = 0x55940d93d61f "\377\030H\200\020-JsPe\006\b.-Y\f \260o-\a\224U", {slot_ = 0x55940d93d630}}
        KD_ERROR_CHUNK = <incomplete type>
        convertMap = {<phmap::priv::raw_hash_map<phmap::priv::FlatHashMapPolicy<unsigned long, unsigned long>, phmap::Hash<unsigned long>, phmap::EqualTo<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >> = {<phmap::priv::raw_hash_set<phmap::priv::FlatHashMapPolicy<unsigned long, unsigned long>, phmap::Hash<unsigned long>, phmap::EqualTo<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >> = {ctrl_ = 0x55940466ecd0 "", slots_ = 0x55940466ed60, size_ = 83, capacity_ = 127, infoz_ = {<No data fields>}, 
              settings_ = {<phmap::priv::internal_compressed_tuple::CompressedTupleImpl<phmap::priv::CompressedTuple<unsigned long, phmap::Hash<unsigned long>, phmap::EqualTo<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >, phmap::integer_sequence<unsigned long, 0, 1, 2, 3> >> = {<phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::Hash<unsigned long>, phmap::EqualTo<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >, 0, false>> = {
                    value = 29}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::Hash<unsigned long>, phmap::EqualTo<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >, 1, true>> = {<phmap::Hash<unsigned long>> = {<phmap::phmap_unary_function<unsigned long, unsigned long>> = {<No data fields>}, <No data fields>}, <No data fields>}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::Hash<unsigned long>, phmap::EqualTo<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >, 2, true>> = {<phmap::EqualTo<unsigned long>> = {<No data fields>}, <No data fields>}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::Hash<unsigned long>, phmap::EqualTo<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >, 3, true>> = {<std::allocator<std::pair<unsigned long const, unsigned long> >> = {<__gnu_cxx::new_allocator<std::pair<unsigned long const, unsigned long> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}}, <No data fields>}, <No data fields>}
        namesMap = {<phmap::priv::raw_hash_map<phmap::priv::FlatHashMapPolicy<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >> = {<phmap::priv::raw_hash_set<phmap::priv::FlatHashMapPolicy<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >> = {
              ctrl_ = 0x7f9d78093010 "\030H\200\020-JsPe\006\b.-Y\f \027co\023\033\027\002Ph%oo\200\200\200\200*.\200M\017k\200\200\200\200\a\200T\200c\200L\tvBk\023y0V4\b\200\200Ab\200iF\200\200c\200J\200\200\200\200\001N}\200T\032\067\027d m[_\020W\031:nNs\200vH\037Q-2t\023@`YF\200\200G=", slots_ = 0x7f9d78093820, size_ = 1500, capacity_ = 2047, infoz_ = {<No data fields>}, 
              settings_ = {<phmap::priv::internal_compressed_tuple::CompressedTupleImpl<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, phmap::integer_sequence<unsigned long, 0, 1, 2, 3> >> = {<phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, 0, false>> = {
                    value = 292}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, 1, true>> = {<phmap::priv::StringHashT<char>> = {<No data fields>}, <No data fields>}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, 2, true>> = {<phmap::priv::StringHashEqT<char>::Eq> = {<No data fields>}, <No data fields>}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, 3, true>> = {<std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >> = {<__gnu_cxx::new_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}}, <No data fields>}, <No data fields>}
        tagsMap = {<phmap::priv::raw_hash_map<phmap::priv::FlatHashMapPolicy<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >> = {<phmap::priv::raw_hash_set<phmap::priv::FlatHashMapPolicy<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >> = {
              ctrl_ = 0x559412de1190 "JT\\k\033U\200\200vz\200X\200\200\200_\036=\200\200\200\200\200\200\200\200\200F`\\\200\200\200\060\021@|1\200!1\200n'\200\200\200q\020\071\200\200\200**\200C\200\002\200#\200I\025\f\001\200\062n\200M\200\200\200\200\200_\200\023\200\060JU\200@zx{Ch}\200\t5\200\200h7\b\200\200\200\200\200\200\t\200\200\061D:\200\200\200d\200\200\003a\030\200\200\200\200L", '\200' <repeats 11 times>, "E\200#\031\200\200\200\200\200\200\200_/\200?\200\200\030\200\200u\200\017\200\034\200\004\033\ah\200\006\037;}\200\200\200\035\f\006\200[\200pf\200\200\vQ*\032\006\t\200lZ\200\200LEndq"..., slots_ = 0x559412de19a0, size_ = 957, capacity_ = 2047, infoz_ = {<No data fields>}, 
              settings_ = {<phmap::priv::internal_compressed_tuple::CompressedTupleImpl<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >, phmap::integer_sequence<unsigned long, 0, 1, 2, 3> >> = {<phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >, 0, false>> = {
                    value = 835}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >, 1, true>> = {<phmap::priv::StringHashT<char>> = {<No data fields>}, <No data fields>}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >, 2, true>> = {<phmap::priv::StringHashEqT<char>::Eq> = {<No data fields>}, <No data fields>}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >, 3, true>> = {<std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_t--Type <RET> for more, q to quit, c to continue without paging--
raits<char>, std::allocator<char> > const, unsigned long> >> = {<__gnu_cxx::new_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}}, <No data fields>}, <No data fields>}
        groupNameMap = {<phmap::priv::raw_hash_map<phmap::priv::FlatHashMapPolicy<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >> = {<phmap::priv::raw_hash_set<phmap::priv::FlatHashMapPolicy<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >> = {
              ctrl_ = 0x559404650660 "\005+\200\200\200X\027\200\200E\200\200\tHz\200c\200\062\062xbHrM(\034;[(o8\001!`<LA\002Sve\200\037\200\200\017\200|\200:\200\037\001c\200,%nY\200$=\035dKd\200\200\200\200\033qR\023\200[\200\200yZ\bC\200Z\200\200\200e@ZB#T2\n<\001\200\061M\200\200\063-\tt\200\035:H\200\rt~1_\200w\200P1'\200V\200_j \036\023(\034ei#\025\vOXV9\fEnQ4\016v,\fp\b\f\200=+\200s\200\200\200\200\200\021\016\200\200\200\200\200\200\003-\200\200p\200\200\200\"\200R\t\200+X\rFJ:O\t4Fly{\002\a"..., slots_ = 0x559404650870, size_ = 365, capacity_ = 511, 
              infoz_ = {<No data fields>}, 
              settings_ = {<phmap::priv::internal_compressed_tuple::CompressedTupleImpl<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >, phmap::integer_sequence<unsigned long, 0, 1, 2, 3> >> = {<phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >, 0, false>> = {
                    value = 83}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >, 1, true>> = {<phmap::priv::StringHashT<char>> = {<No data fields>}, <No data fields>}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >, 2, true>> = {<phmap::priv::StringHashEqT<char>::Eq> = {<No data fields>}, <No data fields>}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >, 3, true>> = {<std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> >> = {<__gnu_cxx::new_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}}, <No data fields>}, <No data fields>}
        legend = 0x559404615fc0
        colorsCount = {<phmap::priv::raw_hash_map<phmap::priv::FlatHashMapPolicy<unsigned long, unsigned long>, phmap::Hash<unsigned long>, phmap::EqualTo<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >> = {<phmap::priv::raw_hash_set<phmap::priv::FlatHashMapPolicy<unsigned long, unsigned long>, phmap::Hash<unsigned long>, phmap::EqualTo<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >> = {ctrl_ = 0x55940466a8c0 "", slots_ = 0x55940466acd0, size_ = 710, capacity_ = 1023, infoz_ = {<No data fields>}, 
              settings_ = {<phmap::priv::internal_compressed_tuple::CompressedTupleImpl<phmap::priv::CompressedTuple<unsigned long, phmap::Hash<unsigned long>, phmap::EqualTo<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >, phmap::integer_sequence<unsigned long, 0, 1, 2, 3> >> = {<phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::Hash<unsigned long>, phmap::EqualTo<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >, 0, false>> = {
                    value = 186}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::Hash<unsigned long>, phmap::EqualTo<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >, 1, true>> = {<phmap::Hash<unsigned long>> = {<phmap::phmap_unary_function<unsigned long, unsigned long>> = {<No data fields>}, <No data fields>}, <No data fields>}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::Hash<unsigned long>, phmap::EqualTo<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >, 2, true>> = {<phmap::EqualTo<unsigned long>> = {<No data fields>}, <No data fields>}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::Hash<unsigned long>, phmap::EqualTo<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >, 3, true>> = {<std::allocator<std::pair<unsigned long const, unsigned long> >> = {<__gnu_cxx::new_allocator<std::pair<unsigned long const, unsigned long> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}}, <No data fields>}, <No data fields>}
        readID = 734
        groupID = 710
        namesFile = <incomplete type>
        seqName = "ENST00000359205.9|ENSG00000163374.20|OTTHUMG00000035437.8|OTTHUMT00000086021.2|YY1AP1-206|YY1AP1|2690|UTR5:1-259|CDS:260-2479|UTR3:2480-2690|"
        groupName = "ENSG00000163374.20"
        line = ""
        freeColors = std::priority_queue wrapping: std::vector of length 3, capacity 16 = {511, 692, 590}
        groupCounter = {<phmap::priv::raw_hash_map<phmap::priv::FlatHashMapPolicy<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >> = {<phmap::priv::raw_hash_set<phmap::priv::FlatHashMapPolicy<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >> = {
              ctrl_ = 0x55940464b470 "\005+\200\200\200X\027\200\200E\200\200\tHz\200c\200\062\062xbHrM(\034;[(o8\001!`<LA\002Sve\200\037\200\200\017\200|\200:\200\037\001c\200,%nY\200$=\035dKd\200\200\200\200\033qR\023\200[\200\200yZ\bC\200Z\200\200\200e@ZB#T2\n<\001\200\061M\200\200\063-\tt\200\035:H\200\rt~1_\200w\200P1'\200V\200_j \036\023(\034ei#\025\vOXV9\fEnQ4\016v,\fp\b\f\200=+\200s\200\200\200\200\200\021\016\200\200\200\200\200\200\003-\200\200p\200\200\200\"\200R\t\200+X\rFJ:O\t4Fly{\002\a"..., slots_ = 0x55940464b680, size_ = 365, capacity_ = 511, 
              infoz_ = {<No data fields>}, 
              settings_ = {<phmap::priv::internal_compressed_tuple::CompressedTupleImpl<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >, phmap::integer_sequence<unsigned long, 0, 1, 2, 3> >> = {<phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >, 0, false>> = {
                    value = 83}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, s--Type <RET> for more, q to quit, c to continue without paging--
td::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >, 1, true>> = {<phmap::priv::StringHashT<char>> = {<No data fields>}, <No data fields>}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >, 2, true>> = {<phmap::priv::StringHashEqT<char>::Eq> = {<No data fields>}, <No data fields>}, <phmap::priv::internal_compressed_tuple::Storage<phmap::priv::CompressedTuple<unsigned long, phmap::priv::StringHashT<char>, phmap::priv::StringHashEqT<char>::Eq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >, 3, true>> = {<std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> >> = {<__gnu_cxx::new_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}}, <No data fields>}, <No data fields>}
        frames = std::vector of length 0, capacity 0
        kmer = ""
        chunk_id = 1
        col = 0x0
#3  0x0000559401cd5c1a in kProcessor::index (frame=0x559404615b10, parse_params=std::map with 2 elements = {...}, 
    filename="/home/mabuelanin/dib-dev/kmerDecoder/human_pc.fa.split/human_pc.part_001.fa.split/human_pc.part_001.part_004.fa", chunk_size=1500, 
    names_fileName="/home/mabuelanin/dib-dev/kmerDecoder/human_pc.fa.split/human_pc.part_001.fa.split/human_pc.part_001.part_004.fa.names")
    at /home/mabuelanin/dib-dev/kp_examples/indexing/lib/kProcessor/src/algorithms.cpp:1157
        mode = "kmers"
        check_mode = false
        KD = 0x55940461a620
#4  0x0000559401cc963b in main (argc=<optimized out>, argv=<optimized out>) at /usr/include/c++/9/ext/new_allocator.h:80
        kSize = 31
        path = "/home/mabuelanin/dib-dev/kmerDecoder/human_pc.fa.split/human_pc.part_001.fa.split/"
        genes_file = "/home/mabuelanin/dib-dev/kmerDecoder/human_pc.fa.split/human_pc.part_001.fa.split/human_pc.part_001.part_004.fa"
        genesFrame = 0x559404615b10
        KMERS = <optimized out>
mr-eyes commented 3 years ago

It's also failing on the development & master branches.

mr-eyes commented 3 years ago

Proposed fix https://github.com/dib-lab/kProcessor/commit/9f40e14431ad44f8914a3df2d368d4542386cc09

mr-eyes commented 3 years ago

This bug is related to the parsing of Fasta headers. Here are the same test (FASTA & NAMES) files with altered headers and it's working. focus.tar.gz

Still debugging for a reason.

mr-eyes commented 3 years ago

Just to keep tracking of this mysterious demonized ghosty bug...

Indexing with

  1. Failed indexing: failed_original.tar.gz
  2. Passed indexing by shortening the headers to contain only transcript ID: passed_changed_headers.tar.gz
  3. Passed indexing by keeping the original headers and only two kmers of each sequence: passed_originalHeaders_twoKmers.tar.gz
mr-eyes commented 3 years ago

After HOURS of debugging with @drtamermansour , this bug happened because the free colors are not removed from the tagsMap, only from the legend. Which leads us to the point that the colors' freeing code is not working properly. The fix will increase the performance and reduce the memory.